Advanced Encryption Standard

Från Wikipedia
Hoppa till: navigering, sök
Tekniska data
Källa: FIPS-197[1]
Namn AES
Kryptotyp Substitution-permutation
Blockstorlek 128 bit
Nyckellängder 128, 192, 256 bit

Advanced Encryption Standard (AES) är en standardiserad krypteringsalgoritm fastslagen av NIST den 26 november 2001. Standarden bygger på krypteringsalgoritmen Rijndael framtagen av belgarna dr Joan Daemen och dr Vincent Rijmen. Namnet Rijndael är en sammanslagning av deras namn.

AES är ett symmetriskt blockkrypto konstruerad för att kunna använda krypteringsnycklar med längderna 128, 192 och 256 bit där varje variant benämns AES-128, AES-192, respektive AES-256.[1]

AES är inte ett Feistelkrypto utan ett substitutions-permutationskrypto och bygger därmed på förvanskning av texten genom en serie av omväxlande substitutioner och permutationer, där varje substitution-permutation är en iteration eller runda (engelska round). Antalet rundor varierar beroende på nyckellängden: AES-128 har 10 rundor, AES-192 har 12 rundor och AES-256 har 14 rundor. En runda består av fyra steg: byte substitution, radskiftning, kolumnblandning och nyckeladdition. Undantaget är sista rundan där man hoppar över kolumnblandningen; innan man över huvud taget börjar med rundorna måste man emellertid genomföra en nyckelexpansion.

AES är vinnaren av en internationellt utlyst tävling för att få fram en modern kryptoalgoritm. Till följd av tävlingsreglerna är algoritmerna väl genomlysta och dokumenterade, dessutom befriade från patent eller andra immaterialrättsliga begränsningar. Utöver att vara baserad på en bra krypteringsalgortitm är Advanced Encryption Standard dessutom förhållandevis enkel att implementera i mjuk- eller hårdvara. Detta var också ett av kriterierna för att få delta i tävlingen.

AES är inte till fullo symmetriskt, i så måtto att kryptering respektive dekryptering utförs på för all del liknande, men inte exakt samma vis. Ovan nämnda kolumnblandning (matrismultiplikation) är dessutom mer beräkningsintensiv vid krypteringen än vid dekrypteringen; följaktligen behöver också AES något mer processorkraft vid kryptering av data, än vid dekrypteringen av dessa data. Det finns emellertid inget som hindrar att man växlar algoritmerna, och använder dekrypteringsalgoritmen för kryptering, och krypteringsalgoritmen för dekryptering.

Källor[redigera | redigera wikitext]

  1. ^ [a b] ”Advanced Encryption Standard” (PDF). Federal Information Processing Standards Publications. National Institute of Standards and Technology. 2001. http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf. Läst 2008-04-15.