Kryptering Intro
Symmetrisk vs Asymmetrisk (del 1)
April 21, 2015Symmetrisk kryptering er enklere og mer effektivt enn sin asymmetriske slektning! Men, symmetrisk kryptering har ett stort problem. Hvordan bli enig om den hemmelige nøkkelen som skal brukes, om en ikke har møttes før? Nøkkelen kan jo ikke bare sendes ukryptert over nettet...
Symmetrisk kryptering egner seg bare der en allerede har en etablert kommunikasjon mellom partene. En nøkkel bør heller ikke brukes for lenge, fordi den etterhvert kan knekkes dersom en tredjepart har samlet nok kryptert trafikk.
Asymmetrisk kryptering er matematisk mye tyngre enn symmetrisk kryptering, og brukes derfor sjelden til å sende lange meldinger. Den brukes typisk til å sende over en hemmelig nøkkel, som så kan brukes videre til symmetrisk kryptert kommunikasjon. Den brukes også til å autentisere en motpart, dvs bekrefte identiteten til motparten.
I symmetrisk kryptering må en enkelt sagt kun ha riktig nøkkel for å lese innholdet som er beskyttet. Enten er det beskyttede innholdet en bestemt blokk med data - eller så kan det være en ubestemt strøm av data. De vanligste metodene for symmetrisk kryptering er AES, DES, IDEA, Blowfish, RC4, RC5 og RC6. AES brukes for eksempel til å sikre Wifi-nettverket ditt. Nettbanker bruker òg AES-kryptering etter at du er logget inn, for å beskytte den gjeldende sesjonen / innloggingen. AES er den desidert mest brukte symmetriske krypteringen.
Asymetrisk kryptering er mer innfløkt. Her kjenner ikke motpartene hverandre, og de har ingen felles nøkler. Ennå. De mest anvendte asymmetriske krypteringsmetodene er Diffie-Hellman (DH), Digital Signature Algorithm (DSA) og RSA.
Poenget med asymmetrisk kryptering er å sende over informasjon som ikke avslører din private hemmelige nøkkel, men gir muligheten til å opprette en felles hemmelig nøkkel. Hver part sitter først på en hemmelig nøkkel (private key) som aldri deles med noen. I tillegg oppretter begge parter en offentlig nøkkel (public key) som er matematisk relatert til den private hemmelige nøkkelen. Dermed har begge hvert sitt nøkkelpar. Begge kan trygt sende over til hverandre sine offentlige nøkler i klartekst, fordi de avslører ikke noe som kan misbrukes av utenforstående. De offentlige nøklene kan i praksis deles med hvem som helst uten at det skader sikkerheten!
Asymmetrisk kryptering kan enkelt illustreres slik:
I dette eksempelet er den hemmelige fargen, som hver part i full hemmelighet velger selv, analog til en hemmelige nøkkel. Fellesfargen som blandes med den hemmelige fargen, er analog til den felles algoritmen som brukes i krypteringen. Algoritmen har egenskapen at det er lett å "blande fargene, men svært vanskelig å skille dem igjen". I praksis en enveisalgoritme!
Miksen av farger, som partene deretter sender til hverandre, er analog til deres offentlige nøkler. Etter at begge partene så blander inn sin egen hemmelige farge, i den andres fargemiks, kommer begge frem til den samme fellesfargen som bare de to kjenner. Enkelt og genialt?
Bonus
Her er en god og enkel forklaring på hvordan dette foregår med matematikk:
https://www.youtube.com/watch?v=YEBfamv-_do