Vous êtes sur la page 1sur 15

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S.

(Advanced Encryption Standard)

CHAPITRE 4. A.E.S.
(Advanced Encryption Standard)

http://math.univ-lyon1.fr/~roblot/masterpro.html

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Prsentation e

Histoire. En 1997, le NIST annonce la cration dun nouveau protocole e de cryptographie ` cl secr`te nomm A.E.S. et lance un appel dore. a e e e En 1998, quinze protocoles candidats sont retenus et soumis aux critiques de la communaut cryptographique. En octobre 2000, le NIST annonce e le choix du protocole Rijndael cr par J. Daemen et V. Rijmen. Ce ee protocole remplace D.E.S. comme standard du NIST (norme FIPS 197). Bloc. Codage par blocs de 128 bits. Cl. Cl de 128 (10 rondes), 192 (12 rondes) ou 256 bits (14 rondes). e e Spcicits. Grande rsistance ` toutes les attaques connues ; tr`s e e e a e grande rapidit pour le cryptage et le dcryptage ; utilise des mthodes e e e de substitution-permutation et non les diagrammes de Feistel (ou gnralisations) ; poss`de une vritable structure mathmatique. e e e e e

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Droulement dune ronde e

Les quatre tapes dune ronde e


A.E.S. op`re sur des matrices 4 4 dont les entres sont des mots de 8 e e bits. On dcoupe le message clair en 16 blocs de 8 bits et on remplit en e allant de haut en bas et de gauche ` droite. a SubBytes : chaque entre est remplac par un autre mot de 8 bits e e donn par un tableau de correspondance ; e ShiftRows : Les entres sont dcales suivant un dcalage circulaire ` e e e e a gauche dun nombre de cases dpendant de la ligne ; e MixColumns : Chaque colonne est remplace par une nouvelle colonne e obtenue en transformant la colonne en un polynme et en multipliant par o un polynme x ; o e AddRoundKey : Chaque entre est remplace par le ou exclusif entre e e cette entre et lentre correspondante dans une matrice 4 4 construit ` e e a partir de la cl. e

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Extensions de F2

Extensions de F2
Le corps F2 . Lensemble F2 = {0, 1} des entiers modulo 2 est un corps (la multiplication correspond ` et laddition ` ). a a Polynmes irrductibles. Un polynme P (X) F2 [X] et de degr 1 o e o e est irrductible sil nexiste pas deux polynmes P1 (X), P2 (X) F2 [X], e o de degr 1, et tels que P (X) = P1 (X)P2 (X). e Pour tout d 1, il existe des polynmes irrductibles de degr d. o e e Anneaux quotients. Pour P (X) F2 [X] de degr d 1, le quotient e F2 [X]/(P (X)) est lensemble des polynmes de degr < d avec o e laddition usuelle et pour la multiplication, on fait la multiplication usuelle et on prend le reste modulo P . Les extensions de F2 . Pour P (X) F2 [X] de degr d 1 et e irrductible, lensemble F2 [X]/(P (X)) est un corps, not F2d . Sa e e structure ne dpend pas du choix du polynme P , mais juste du degr d. e o e

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Extensions de F2

Exercice sur les extensions de F2


1

Trouver un polynme P1 (X) F2 [X] de degr 3 et irrductible. o e e Construire la table daddition du corps F2 [X]/P1 (X). Construire la table de multiplication du corps F2 [X]/P1 (X). Trouver un autre polynme P2 (X) F2 [X] de degr 3 et o e irrductible. e Construire la table daddition du corps F2 [X]/P2 (X). Construire la table de multiplication du corps F2 [X]/P2 (X). Montrer que lapplication X mod P1 X 2 + 1 mod P2 est un isomorphisme entre les deux corps.

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Le corps A.E.S.

Le corps A.E.S.
Reprsentation. Mots de 8 bits correspondent ` des mots de deux e a chires hexadcimaux et ` des polynmes de F2 de degr 7. e a o e Exemple. On identie {9A} = = 1001 1010 1 X7 + 0 X6 + 0 X5 + 1 X4 + 1 X3 + 0 X2 + 1 X + 0

Corps A.E.S.. On travaille dans le quotient F2 [X]/R(X) o` R(X) est u le polynme de Rinjdael (irrductible sur F2 ) o e R(X) = X 8 + X 4 + X 3 + X + 1 Exemple. {2A} + {37} {2A} {37} = (X 5 + X 3 + X) + (X 5 + X 4 + X 2 + X + 1) = X 4 + X 3 + X 2 + 1 = {1D} = X 6 + X 5 + X 4 + X 2 + X + 1 = {77}

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Le corps A.E.S.

Exercice sur le corps A.E.S.

Montrer que laddition correspond au ou exclusif sur les mots binaires. Calculer la transformation sur un mot de 8 bits correspondant ` la a multiplication par {00}, {01}, {02}. En dduire une mthode ecace pour multiplier deux lments du e e ee corps A.E.S. Calculer {2A} {37} par cet algorithme. Calculer {48} {3F } par cet algorithme.

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Les quatre tapes de A.E.S. e

Ltape SubBytes e
Description. La S-bo de A.E.S. est une permutation sur lensemble te des mots de 8 bits. Elle est construite en utilisant une fonction algbrique e sur les lments du corps A.E.S. ee Construction. La transformation est donne pour {x} dans le corps e A.E.S. par {00} {63}, et pour {x} non nul par {x} A({x}1 ) + {63} o` A lapplication linaire dnie par A({x}) = {y} avec u e e yi = xi xi+4 mod8 xi+5 mod8 xi+6 mod8 xi+7 mod8
(bits lus de droite ` gauche) a

Exercice. Calculer limage de {02} par la S-bo te. Remarque. Cest la seule tape non-linaire du protocole A.E.S. e e

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Les quatre tapes de A.E.S. e

Ltape SubBytes (suite) e


Notation. La permutation de SubBytes est donne par la S-bo e te ci-dessous.
0 0123456789ABCDEF63 CA B7 04 09 53 D0 51 CD 60 E0 E7 BA 70 E1 8C -1 7C 82 FD C7 83 D1 EF A3 0C 81 32 C8 78 3E F8 A1 -2 77 C9 93 23 2C 00 AA 40 13 4F 3A 37 25 B5 98 89 -3 7B 7D 26 C3 1A ED FB 8F EC DC 0A 6D 2E 66 11 0D -4 F2 FA 36 18 1B 20 43 92 5F 22 49 8D 1C 48 69 BF -5 6B 59 3F 96 6E FC 4D 9D 97 2A 06 D5 A6 03 D9 E6 -6 6F 47 F7 05 5A B1 33 38 44 90 24 4E B4 F6 8E 42 -7 C5 F0 CC 9A A0 5B 85 F5 17 88 5C A9 C6 0E 94 68 -8 30 AD 34 07 52 6A 45 BC C4 46 C2 6C E8 61 9B 41 -9 01 D4 A5 12 3B CB F9 B6 A7 EE D3 56 DD 35 1E 99 -A 67 A2 E5 80 D6 BE 02 DA 7E B8 AC F4 74 57 87 2D -B 2B AF F1 E2 B3 39 7F 21 3D 14 62 EA 1F B9 E9 0F -C FE 9C 71 EB 29 4A 50 10 64 DE 91 65 4B 86 CE B0 -D D7 A4 D8 27 E3 4C 3C FF 5D 5E 95 7A BD C1 55 54 -E AB 72 31 B2 2F 58 9F F3 19 0B E4 AE 8B 1D 28 BB -F 76 C0 15 75 84 CF A8 D2 73 DB 79 08 8A 9E DF 16

Exemple. {A8} est transform en {C2} e

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Les quatre tapes de A.E.S. e

Ltape ShiftRows e
Transformation. La premi`re ligne est reste inchange, la deuxi`me ligne e e e est dcal dune case vers la gauche, la troisi`me de deux cases vers la e e e gauche et la quatri`me de trois cases vers la gauche e a0,0 a1,0 a2,0 a3,0 a0,1 a1,1 a2,1 a3,1 a0,2 a1,2 a2,2 a3,2 a0,0 a1,1 a1,3 a2,3 a2,2 a3,3 a3,3 a0,3 a0,1 a1,2 a2,3 a3,0 a0,2 a1,3 a2,0 a3,1 a0,3

a1,0 a2,1 a3,2

Exercice. Montrer que 2A 64 D5 CA E4 4C AA ED 1F 35 5A 37 94 4E F0 84 devient 2A 4C 5A 84 E4 35 F0 CA 1F 4E D5 ED 94 64 AA 37

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Les quatre tapes de A.E.S. e

Ltape MixColumns e
Identication. Une colonne est identie avec un polynme de degr e o e 3 ` coecients dans le corps AES. (Pour simplier, on crit nos a e colonnes en lignes !) Transformation.
t

(a0 a1 a2 a3 ) {a0 } + {a1 }T + {a2 }T 2 + {a3 }T 3

On multiplie par {03}T 3 + {01}T 2 + {01}T + {02} et on rduit modulo e {01}T 4 + {01} : ({a3 }T 3 + {a2 }T 2 + {a1 }T + {a0 })({03}T 3 + {01}T 2 + {01}T + {02}) = Q(X) {01}T 4 + {01} + {a3 }T 3 + {a2 }T 2 + {a1 }T + {a0 } Puis on retransforme en colonne : {a0 } + {a1 }T + {a2 }T 2 + {a3 }T 3 t (a0 a1 a2 a3 )

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Les quatre tapes de A.E.S. e

Exercice sur ltape MixColumns e

Montrer que ltape MixColumns revient ` multiplier la colonne par la e a matrice suivante ` coecients dans le corps A.E.S. a

{01} {01} {02} {03} {01} {01} {01} {02} {03} {03} {01} {01} {02} {02} {03} {01}

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Les quatre tapes de A.E.S. e

Ltape AddRoundKey e
Construction des sous-cls. ` chaque ronde, une matrice 4 4 ` e a a coecients dans le corps A.E.S. est construite et est ajoute ` la matrice. e a

a0,0

a0,1 a1,1 a2,1 a3,1

a0,2 a1,2 a2,2 a3,2

a0,3

a1,0 a2,0 a3,0

a1,3 a2,3 a3,3

k0,0 k1,0 k2,0 k3,0

k0,1 k1,1 k2,1 k3,1

k0,2 k1,2 k2,2 k3,2

k0,3

k1,3 k2,3 k3,3 b0,1 b1,1 b2,1 b3,1 b0,2 b1,2 b2,2 b3,2 b0,3

b0,0 b 1,0 b2,0 b3,0

b1,3 b2,3 b3,3

Remarque. Cest la seule partie du protocole qui utilise la cl. e

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Les quatre tapes de A.E.S. e

Construction des sous-cls e


Transformations. On travaille sur des vecteurs de 4 mots de 8 bits. On utilise la S-bo de SubBytes, fonction SubWord ; la fonction RotWord te qui transforme (a0 , a1 , a2 , a3 ) en (a1 , a2 , a3 , a0 ) (utilise par ShiftRows) e et les constantes Rcsti = (X i1 , 0, 0, 0) Exercice. Calculer Rcsti pour i = 1, 2, 3, . . . , 10. Expansion. On prend une matrice de 4 lignes et de colonnes gal au e nombre de sous-cls ` engendrer. On met la cl dans les colonnes Ci e a e pour i = 1, . . . , Nk colonnes avec Nk = 4, 6 ou 8 (pour une cl de 128, e 196 ou 256 bits). Puis, pour i > Nk , on fait Ci = Di CiNk avec Di = Ci1 si Nk ne divise pas i 1, et si Nk divise i 1 Di = SubWord(RotWord(Ci1 )) Rcst(i1)/Nk Exercice. Pour Nk = 4, calculer lexpression des colonnes Ci , i = 5, ..., 12, en fonction des colonnes C1 , C2 , C3 , C4 et des Rcsti .

Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Rsultats de cryptanalyse contre A.E.S. e

Rsultats de cryptanalyse contre A.E.S. e


Depuis juin 2003, le gouvernement amricain a annonc que A.E.S. e e peut tre utilis pour crypter les informations classies : e e e La conception et la rsistance des cls A.E.S. de direntes tailles (128, e e e 192 ou 256 bits) sont susantes pour protger les informations classes e e au niveau SECRET. Les informations classes au niveau TOP SECRET e doivent utiliser des cls de longueur 192 ou 256 bits. e Recherche exhaustive. On essaie toutes les cls possibles. Pour les plus e courtes, il faut en tester 2128 , soit environ 700 000 000 000 fois lge de a lunivers pour un test de 1 000 000 000 cls par seconde. Pour les plus e longues, il faut en tester 2256 , soit environ 2 1050 fois lge de lunivers a pour un test de 1 000 000 000 cls par seconde. e Autres attaques. Toutes les attaques ecaces contre A.E.S. sont des attaques contre de mauvaises implmentations logicielles ou matrielles. e e Il existe des attaques par relations quadratiques, mais qui sont infructueuses ` lheure actuelle. a

Vous aimerez peut-être aussi