Académique Documents
Professionnel Documents
Culture Documents
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
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
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.
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
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
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
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
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,3
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
Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Les quatre tapes de A.E.S. e
Master Pro Ingnierie Mathmatique Cryptographie e e A.E.S. (Advanced Encryption Standard) Rsultats de cryptanalyse contre A.E.S. e