– Vi behöver ha både symmetriska och asymmetriska krypton, de kompletterar varandra. Att kryptera med asymmetriska krypton är tusentals gånger långsammare än med symmetriska krypton. Därför används asymmetriska krypton främst för att signera, verifiera och utbyta de symmetriska nycklarna. När det är gjort går man över till symmetrisk kryptering.
Symmetrisk kryptering bygger nämligen på att båda parter har tillgång till samma hemliga nyckel, som används både för att kryptera och dekryptera.
– När asymmetriska krypton kom på 1970-talet var ett av problemen de löste just hur vi ska utbyta den här delade hemligheten på ett säkert sätt, säger Joachim Strömbergson.
Vid asymmetrisk kryptering används två olika nycklar: en publik nyckel som är allmänt tillgänglig och en privat nyckel som är hemlig.
Aes – det vanligaste symmetriska kryptot
Advanced encryption standard, aes, bygger på kryptoalgoritmen Rijndael och standardiserades år 2001. De krypteringsnycklar som används har vanligen längderna 128 eller 256 bitar.
– Aes är helt dominerande bland de symmetriska kryptona och en riktig framgångssaga. Det används i allt från servrar till mobiler.
Och aes är lika poppis för såväl data i rörelse som data i vila.
– Framgången för aes innebär att vi har bundit upp oss vid det. Om det skulle dyka upp svagheter som gör att aes faller har vi egentligen ingenting annat att byta till.
Aes är ett så kallat blockkrypto, vilket betyder att data bearbetas i block och att kryptot är en ren funktion.
– Det innebär att om jag skickar in ett block med nollor och sedan skickar in samma sak en gång till, så får jag ut samma sak båda gångerna. Det är inte bra, mönstren kommer att synas. När man krypterar vill man att det ska se ut som brus.
Innan man använder ett blockkrypto måste man därför lägga in det i en så kallad kryptomod, som skapar brus genom att se till att det blir olika utdata även om indata är desamma.
– Tyvärr har de här kryptomoderna utsatts för en hel del attacker på senare tid, säger Joachim Strömbergson.
3des – symmetriskt krypto på väg ut
Det symmetriska blockkryptot 3des är en version av kryptoalgoritmen data encryption standard, des. 3des krypterar data tre gånger med des med olika nycklar, och är därför säkrare än des.
– Men 3des är inte lika säker som aes, och mycket långsammare. Det här är en gammal standard som är på väg ut.
Rc4 – osäkert symmetriskt strömkrypto
Rc4 – som anses stå för Rons code 4 eller Rivest cipher 4 – är ett populärt så kallat symmetriskt strömkrypto, vilket innebär att det utifrån en nyckel genererar en sekvens av värden som ser ut att vara slumpmässig.
– Utdatat ser alltså ut som brus, och det innebär att man inte behöver lägga in strömkrypton i någon kryptomod, så som man behöver göra med blockkrypton.
Rc4 har använts flitigt för att skydda kommunikation i trådlösa nätverk och på internet, enligt Joachim Strömbergson.
– De attacker som har skett mot blockkrypton har lett till att vissa valt rc4 i stället. Problemet är att rc4 har mycket svagheter i sig, så nu vill man bort från rc4. Som tur är ser det ut att komma nya krypton inom kort som kan ersätta rc4.
Rsa – långsamt asymmetriskt krypto
Rsa – vars namn är bildat av upphovsmännens begynnelsebokstäver – blev den första allmänt kända algoritmen för asymmetrisk kryptering när den beskrevs 1977.
– Rsa dominerar fortfarande på den asymmetriska sidan, men det är en tydlig trend nu att många går över till ecc i stället. Men en fördel med rsa är att det är lättare att veta att det inte finns bakdörrar.
Nackdelen med rsa är att säkerheten skalar väldigt långsamt i förhållande till nyckellängden, enligt Joachim Strömbergson.
– Nycklar med 1 024 bitar fasas ut, och nu använder man nycklar med 2 048 bitar. Men vi borde ha nycklar med 3 000–4 000 bitar eller ännu längre för bra säkerhet, och då går det väldigt långsamt och segt att använda dem. Rsa har nått vägs ände nu.
För data i vila är snabbhet dock inte lika viktigt som när det gäller data i rörelse, och därför är det möjligt att rsa kommer att leva kvar inom lagring, enligt Joachim Strömbergson.
– Orsaken till att nycklarna behöver bli allt längre är framför allt att vi har fått snabbare datorer och blivit bättre på att göra parallella beräkningar. Man har även hittat nya sätt att attackera rsa.
Ecc – snabbt asymmetriskt krypto
Elliptic curve cryptography, ecc, är en asymmetrisk kryptoteknik baserad på den algebraiska strukturen av elliptiska kurvor.
– Man definierar en speciell kurva med ett antal parametrar och skapar sitt nyckeltal utifrån det. Det finns en uppsjö av standardiserade kurvor att välja mellan, och om du har en ecc-implementation kan du byta ut en kurva mot en annan.
Teorin bakom ecc presenterades 1985, och i mitten på 00-talet började ecc-algoritmer användas brett.
– Framför allt inom mobiltelefoni, sakernas internet och bilindustrin går man allt mer mot ecc. Den stora fördelen med ecc är att nycklarna är korta. Nackdelen är att det är mycket svårt att veta vilka kurvor som är att lita på.
Vissa kurvor kan visa sig enkla att knäcka, och andra kurvor förmodas NSA och andra myndigheter ha huvudnycklar till, enligt Joachim Strömbergson.
Gcm – kryptomod för verifiering
Galois/counter mode, gcm, är en kryptomod som används tillsammans med aes och andra blockkrypton för att garantera konfidentialitet, autenticitet och integritet. Den är den mest använda kryptomoden i algoritmfamiljen authenticated encryption with associated data, aead, enligt Joachim Strömbergson.
– Asymmetriska krypton används för att verifiera autenticitet och integritet i början av en session, och sedan används bara symmetriska krypton, eftersom det skulle bli alldeles för långsamt annars. Men med hjälp av aead-algoritmer kan man verifiera varje enskilt block i datatrafiken.
Problemet är dock att gcm är tung att implementera, och att de flesta andra aead-algoritmer ger en undermålig kombination av kryptering, autentisering och integritetsskydd, enligt Joachim Strömbergson.