AES Advanced Encryption Standart Arnau Erola Caellas AES

  • Slides: 22
Download presentation
AES Advanced Encryption Standart Arnau Erola Cañellas

AES Advanced Encryption Standart Arnau Erola Cañellas

AES • 1997 - El DES és craquejat. • Set. 1997 - National Institute

AES • 1997 - El DES és craquejat. • Set. 1997 - National Institute of Standards and Technology (NIST) fa una crida per trobar propostes per un nou stàndard de xifratge. Aquest seria anomenat AES (Advanced Encryption Standart).

AES • Característiques que hauria de complir: – – – Algorisme simètric ( mateixa

AES • Característiques que hauria de complir: – – – Algorisme simètric ( mateixa clau per xifrar que per desxifrar). Algorisme de xifratge de bloc de 128 bits. Suportar mides de clau de 128, 192 i 256 bits com a mínim. Suportar els estandars CBF, CBC i OFB. L’algorisme hauria de ser lliure a tot el mon i protegir les dades els pròxims 20 -30 anys. – Utilitzable en entorns governamentals i comercials. – Fàcil implementació en sofware i hardware, fins i tot en entorns restringits com Smart-Cards. – Oferir bones defenses contra diferents técniques d’atac.

AES Va haver-hi nombroses propostes i varies fases de sel·lecció, però finalment a l’agost

AES Va haver-hi nombroses propostes i varies fases de sel·lecció, però finalment a l’agost del 1999 el NIST va sel·leccionar els 5 finalistes. Aquests eren: – – – MARS RC 6 Rinjdael Serpent Twofish Van ser analitzats exhaustivament en ANSI C i JAVA en velocitat de xifratge i desxifratge, resistència a varis atacs…

AES • Resultats obtinguts als anàlisis:

AES • Resultats obtinguts als anàlisis:

AES • Octubre 2000 - NIST anuncia el guanyador: Rijndael seria l’algoritme d’AES. –

AES • Octubre 2000 - NIST anuncia el guanyador: Rijndael seria l’algoritme d’AES. – Motius: combinació de la seguretat, rendiment, eficiència, facilitat d’implementació i flexibilitat. • Maig 2002 - FIPS anunacia l’AES sota el codi FIPS-197.

AES • Encara que es coneixi l’AES com a Rijndael no són exàctament iguals.

AES • Encara que es coneixi l’AES com a Rijndael no són exàctament iguals. Rijndael permet un major rang de tamany de bloc i clau; AES te un tamany de bloc fixe de 128 bitsi tamanys de clau de 128, 192 o 256 bits, mentres que Rijndael pot ser especificat per una clau que sigui multiple de 32 bits, amb un mínim de 128 bits y un màxim de 256 bits. • Rijndael va ser un refinament d’un dissey anterior de Daemen y Rijmen, Square; Square va ser un desenvolupament de Shark.

Funcionament d’AES segueix el següent esquema: Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)]) begin byte

Funcionament d’AES segueix el següent esquema: Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)]) begin byte state[4, Nb] state = in Add. Round. Key(state, w[0, Nb-1]) for round = 1 step 1 to Nr– 1 Sub. Bytes(state) Shift. Rows(state) Mix. Columns(state) Add. Round. Key(state, w[round*Nb, (round+1)*Nb-1]) end for Sub. Bytes(state) Shift. Rows(state) Add. Round. Key(state, w[Nr*Nb, (Nr+1)*Nb-1]) out = state end Són n-1 iteracions perquè l’última no fa la funció Mix. Colums.

Funcionament d’AES • El nombre d’iteracions variarà segons la llargada de la clau:

Funcionament d’AES • El nombre d’iteracions variarà segons la llargada de la clau:

Funcionament d’AES usa matrius de bytes per treballar, de la forma: a 0 a

Funcionament d’AES usa matrius de bytes per treballar, de la forma: a 0 a 4 a 8 a 12 a 1 a 5 a 9 a 13 a 2 a 6 a 10 a 14 a 3 a 7 a 11 a 15 ona 0=(input 0, input 1, …, input 7); … an=(input(n*8), input((n+1)*8), …, input(127)); Els input’s són cada bit del bloc a xifrar. AES considera cada byte com un polinomi de grau 8 (0101)=x 7+x 5+x 3+x 1. Definirem les operacions Suma i producte com: SUMA b+c=(b 7+c 7, b 6+c 6, b 5+c 5, b 4+c 4, b 3+c 3, b 2+c 2, b 1+c 1, b 0+c 0) PRODUCTE b*c=(b 7 x 7 + b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x + b 0) · · (b 7 x 7 + b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x + b 0) mod (x 8+x 4++ x 3 + x + 1).

Funcionament d’AES Add. Round. Key Consisteix en realitxar una xor de cada posició de

Funcionament d’AES Add. Round. Key Consisteix en realitxar una xor de cada posició de les matrius que formen la clau i el bloc:

Funcionament d’AES Sub. Bytes Aplica una substitució no lineal dels bytes de la matriu

Funcionament d’AES Sub. Bytes Aplica una substitució no lineal dels bytes de la matriu d’estat segons la transformació S.

Funcionament d’AES S es compon de dues transformacions per cada byte: X= byte 1)

Funcionament d’AES S es compon de dues transformacions per cada byte: X= byte 1) Calculem x-1 tal que: x·x-1= 1 mod (x 8+x 4+x 3+x+1) 2) Al polinomi x-1 obtingut se li aplica la següent transformació afí:

Funcionament d’AES Shift. Row Desplaça les files de la matriu d’estat de manera que

Funcionament d’AES Shift. Row Desplaça les files de la matriu d’estat de manera que la fila zero es deixa igual, la fila 1 es desplaça 1 posició cap a la dreta, la fila 2 dues posicions i la fila 3 tres posicions.

Funcionament d’AES Mix. Columns Aquesta funció considera les columnes de la matriu d’estat com

Funcionament d’AES Mix. Columns Aquesta funció considera les columnes de la matriu d’estat com polinomis de grau 3. Cada columna es multiplica pel polinomi c(x) = ‘ 03’x 3 + + ‘ 01’x 2 + ‘ 01’x + ‘ 02’ i el resultat es redueix mòdul x 4 + 1. El polinomi c(x) és coprimer amb x 4 + 1 i, per tant, invertible.

Funcionament d’AES

Funcionament d’AES

Funcionament d’AES Generació de Subclaus AES treballa amb diferents subclaus en cara iteració. Aquestes

Funcionament d’AES Generació de Subclaus AES treballa amb diferents subclaus en cara iteració. Aquestes subclaus s’obtenen per l’aplicació d’una funció d’ampliació a la clau de xifratge inicial. Tenim 2 fases: • Inicialització, en què la clau de xifratge es copia íntegrament a les primeres posicions de la clau ampliada; és a dir: Wi = Ki per a i = 0, . . . , Nk 1. • Ampliació – Si Nk=<6. S’agafa l’última paraula calculada i s’amplia. temp = Wi-1 si i = 0 (mod Nk) aleshores temp = Sub. Word(Rot. Word(temp)) + Rcon[i] fisi Wi = Wi–Nk ! temp

Funcionament d’AES – Si Nk>6. S’agafa l’última paraula calculada i s’amplia. temp = Wi-1

Funcionament d’AES – Si Nk>6. S’agafa l’última paraula calculada i s’amplia. temp = Wi-1 si i = 0 (mod Nk) aleshores temp = Sub. Word(Rot. Word(temp)) + Rcon[i] sino si i = 4 (mod N 4) aleshores temp = Sub. Word(temp) fisi Wi = Wi-Nk ! Temp La fase d’ampliació fa servir dues subfuncions, la Sub. Word i la Rot. Word. La funció Sub. Word és la mateixa funció que Byte. Sub. La funció Rot. Word simplement fa una permutació cíclica a la paraula de 4 bytes, és a dir, si té una entrada [a 0, a 1, a 2, a 3], la sortida serà: [a 1, a 2, a 3, a 0]. D’altra banda, també es fa servir la constant Rcon[i], que val Rcon[i] = [xi-1, ‘ 00’, ‘ 00’].

Funcionament d’AES Exemple k=0123456789012345 (hex) w[0] = 01 23 45 67 w[1] = 89

Funcionament d’AES Exemple k=0123456789012345 (hex) w[0] = 01 23 45 67 w[1] = 89 01 23 45 w[2] = 01 23 45 67 w[3] = 89 01 23 45 2 a clau: w[4] = w[0]+Sub. Word(Rot. Word(w[3]))+Rcon[1]= 7 c 05 2 b c 0 Rot. Word()= 01 23 45 89 Sub. Word()= 7 c 26 6 e a 7 Rcon()= 7 d 26 6 e a 7 w[5] = w[1]+w[4]= f 5 04 08 85 w[6] = w[2]+w[5]= f 4 27 4 d e 2 w[7] = w[3]+w[6]= 7 d 26 6 e a 7

Funcionament d’AES Desxifratge • Totes les funcions que s’utilitzen en el procés de xifratge

Funcionament d’AES Desxifratge • Totes les funcions que s’utilitzen en el procés de xifratge (Byte. Sub, Shift. Row, Mix. Column i Add. Round. Key) són invertibles i, per tant, se’n pot definir la corresponent funció inversa. • Si les funcions definides en el xifratge s’apliquen en l’ordre oposat al que s’executen en el procés de xifratge, obtenim el procés de desxifratge del criptosistema.

AES Seguretat Fins ara no s’ha trobat cap atac amb èxit contra l’AES. L’Agència

AES Seguretat Fins ara no s’ha trobat cap atac amb èxit contra l’AES. L’Agència de Seguretat Nacional dels EEUU (NSA) va revisar l’AES i va declarar que era prou segur per fer-lo servir per a la informació no classificada del govern dels EEUU. Juny 2003 - els gobern dels EEUU afirma que l’AES podria ser usat per a informació classificada (TOP SECRET). Tot i això encara es parla de possibles debilitats de l’algoritme de Rijndael degut a la seva estructura matemàtica molt ordenada. Els atacks més destacats: http: //www. iaik. tu-graz. ac. at/research/krypto/AES/#security Related Key – l’atacant pot observar l’operació del xifrador sota diverses claus desconegudes, però que guarden una relació matemàtica entre elles.

AES • Pàgines on es pot usar AES interactivament: – http: //www. cs. eku.

AES • Pàgines on es pot usar AES interactivament: – http: //www. cs. eku. edu/faculty/styer/460/Encry pt/JS-AES. html (esquema complet) – http: //www. movabletype. co. uk/scripts/AES. html – http: //wwwcse. ucsd. edu/~fritz/rijndael_test. html