Quelques propriétés de Rijndael Marine Minier Laboratoire CITI INSA de Lyon séminaire Verimag - 24 mars 29 1
Plan de la présentation Description de l AES et de ses frères Propriété intégrale de l AES Propriétés intégrales des Rijndaels Distingueurs déduits A clés inconnus A clés connus LANE Conclusion séminaire Verimag - 24 mars 29 2
L AES et ses frères séminaire Verimag - 24 mars 29 3
L AES et Rijndael (1/3) Rijndael, créé par V. Rijmen et J. Daemen, choisi comme AES en octobre 2. Algorithme de chiffrement par blocs utilisant une structure parallèle. K K 1 Texte clair (128, 192, 256 bits) Matrice d octets 4x4, 4x6, 4x8 initial Key addition Byte Sub Shift Row Mix Column Key Addition tour 1 Taille des blocs : 128, 192 ou 256 bits. Longueurs des clés : 128, 192, ou 256 bits. Le nombre de tours varie entre 1 et 14 selon la taille des blocs et la longueur des clés. K 9 Byte Sub Shift Row Mix Column Key Addition tour 9, 11 ou 13 Dernier Byte Sub Shift Row tour K Key Addition 1 Texte chiffré (128, 192, 256 bits) Matrice d octets 4x4, 4x6, 4x8 séminaire Verimag - 24 mars 29 4
L AES (2/3) : : La Fonction Étage 1/2 Byte Substitution Shift Row a a 1 a 2 a 3 a 1 a 11 a 12 a 13 a 2 a 21 a 22 a 23 a 3 a 31 a 32 a 33 (8x8 S-box S) a a 1 a 2 a 3 a 1 a 11 a 12 a 13 a 2 a 21 a 22 a 23 a 3 a 31 a 32 a 33 1 2 3 S(a ) S(a 1 ) S(a 1 ) S(a ) S(a 13 ) S(a 12 ) S(a 11 ) S(a 1 ) S(a 23 ) S(a 22 ) S(a 21 ) S(a 2 ) S(a 33 ) S(a 32 ) S(a 31 ) S(a 3 ) a a 1 a 2 a 3 a 11 a 12 a 13 a 1 a 22 a 23 a 2 a 21 a 32 a 3 a 33 a 31 séminaire Verimag - 24 mars 29 5
L AES (3/3) : : La Fonction Étage 2/2 Mix Column Key Addition a a 1 a 2 a 3 a 1 a 11 a 12 a 13 a a 1 a 2 a 3 a 2 a 21 a 22 a 23 a 1 a 11 a 12 a 13 a 3 a 31 a 32 a 33 a 2 a 21 a 22 a 23 a 3 a 31 a 32 a 33 K i (128 bits) b b 1 b 2 b 3 b b 1 b 2 b 3 b 1 b 11 b 12 b 13 b 1 b 2 b 11 b 21 b 12 b 22 b 13 b 23 b 2 b 21 b 22 b 23 b 3 b 31 b 32 b 33 b 3 b 31 b 32 b 33 séminaire Verimag - 24 mars 29 6
Rijndael : les différences Change : Le nb de tours Les ShiftRows AES (4 col.) Rijndael-16 (5 col.) Rijndael-192 (6 col.) Rijndael-224 (7 col.) Rijndael-256 (8 col.) séminaire Verimag - 24 mars 29 7
Principe Général de la Cryptanalyse X [n bits] Étages initiaux Étages intermédiaires f f f f.. K X x = Ψ(X,K X ) x [ n bits] R(x,y ) Distingueur A : recherche d une relation R(x,y ) sur les étages intermédiaires qui ait une probabilité p de se produire aussi éloignée que possible de la probabilité uniforme p* : Étages finaux K r. f y [ n bits] Y K Y y = Φ(Y,K Y ) Pr[A]=Adv(A)= p-p* Test de clés sur (K X, K Y ) séminaire Verimag - 24 mars 29 8
Propriétés intégrales séminaire Verimag - 24 mars 29 9
Propriétés intégrales de l AES (1/2) octet y = 255 autres octets = constants z Y y S(y) Z R z 1 z 2 z 3 S(z ) S(z 1 ) S(z 2 ) S(z 3 ) S s séminaire Verimag - 24 mars 29 1
Propriétés intégrales de l AES (2/2) Pour chaque valeurs des 9 octets des sousclés : Tester : 2 32 textes clairs 3 tours Comme avant 4 octets de clé Y Trois étages S( y ) Les bonnes clés passent le test. Attention aux fausses alarmes. Dernier étage sans MixColumn 4 octets de clé 2 32 textes chiffrés séminaire Verimag - 24 mars 29 11
Complexité des attaques intégrales Avec l amélioration de Ferguson : Pour 6 tours : Nb clairs = 6*2 32, Complexité = 2 46 Pour 7 tours : Nb clairs = 2 128 2 119, Complexité = 2 12 séminaire Verimag - 24 mars 29 12
Pour Rijndael Le même genre de propriétés Mais en raison de la diffusion plus lente, plus d étages + meilleures extensions séminaire Verimag - 24 mars 29 13
Rijndael-256 : 1 ère remarque y Rappel : SR : 1, 2, 4 z z1 Nb tours : 14 (min) z2 z3 z z3 z2 z1 SubBytes ShiftRows z2 z1 a a 1 a 2 a 3 b b 1 b 2 b 3 MixColumns AddKey séminaire Verimag - 24 mars 29 14
Rijndael 256 Propriété Intégrale Distingueur sur 4 étages : Saturation de 3 octets => Complexité : 2 24 chiffrements y n p z z1 z2 z3 First round Second round Third round Fourth round séminaire Verimag - 24 mars 29 15
Rijndael 224 y p Propriété Intégrale z z1 z2 z3 First round Second round Distingueur sur 4 étages : Saturation de 2 octets => Complexité : 2 16 chiffrements Third round Fourth round séminaire Verimag - 24 mars 29 16
Rijndael 192 Propriété Intégrale (1) y z z1 z2 z3 p Distingueur sur 4 étages : Saturation de 2 octets => Complexité : 2 16 chiffrements = 2 = 2 = 1 = 1 séminaire Verimag - 24 mars 29 17
Rijndael 192 Propriété y p n Intégrale (2) z z1 z2 z3 Distingueur sur 4 étages : Saturation de 2 octets => Complexité : 2 16 chiffrements = 1 = 1 = 2 = 2 séminaire Verimag - 24 mars 29 18
Rijndael 16 Propriété y p n Intégrale z z1 z2 z3 Distingueur sur 4 étages : Saturation de 2 octets => Complexité : 2 16 chiffrements = 2 = 2 = 1 = 1 séminaire Verimag - 24 mars 29 19
Distingueurs à clés inconnues séminaire Verimag - 24 mars 29 2
Extension de 2 tours à la fin [Ferguson et al. -] : sommes partielles s directement déduit des c i,j À chaque chiffré c, on associe la somme partielle : Utiliser Pour déterminer k k séquentiellement => partage du calcul global en 4 étapes séminaire Verimag - 24 mars 29 21
Extension au début : 2 méthodes [Ferguson et al. - ] : un tour au début => Attaque sur 5 tours avec 2 32 plaintexts séminaire Verimag - 24 mars 29 22
The herd technique Un tour de plus au début : Naïvement 2 128 plaintexts (marche, cf Nakhara et al.) Octet particulier x fixé => a herd : ensemble de 2 12 chiffrés de 2 88 structures Test sur un herd. X dépend de (p 4,,p 7 ) et de 4 octets de 4 K 1. En utilisant 2 64 compteurs m y 2. 2 32 compteurs n z 3. Filtrer les infos sur le key guess séminaire Verimag - 24 mars 29 23
Combiner tout cela Attaque sur 2+4+2=8 étages 1. Incrémenter les 64 bits (c,,c 3,p 4,, p 7 ) 2. Devinez les 4 octets de K, calculer x, séparer les compteurs en herds. 3. Choisir un single herd, mettre à jour n z en ajoutant (c,,c 3 ) pour chaque y correct 4. Devinez les 5 octets de K 7 et de K 6 des deux derniers tours pour déchiffrer chaque z en un seul octet. Sommer cet octet sur les 2 32 valeurs de z et regarder pour les. 5. Répéter le dernier point pour chaque valeur des octets de K. => les 4 octets (p 4,, p 7 ) et les 4 octets de K fournissent 4 octets => 2 24 herds plus petits,réduit la recherche exhaustive à 2 128-2 119 plaintexts. séminaire Verimag - 24 mars 29 24
Complexité et attaques sur 9 étages Coût total : 2 128-2 119 plaintexts 2 12 chiffrements => ajout d un étage en plus par recherche exhaustive complète de la clé K 9 séminaire Verimag - 24 mars 29 25
Résumé des attaques séminaire Verimag - 24 mars 29 26
Distingueurs à clés connues séminaire Verimag - 24 mars 29 27
[Knudsen Rijmen 7] Notion de distingueur à clés connues Principe, création d un distingueur partant du milieu du chiffrement Puis détermination d une propriété particulière liant les clairs et les chiffrés Comparaison avec la complexité nécessaire pour trouver la même propriété pour une permutation aléatoire Intérêt : cas des chiffrements par blocs utilisés comme fonction de hashage => distingueur séminaire Verimag - 24 mars 29 28
Modèle théorique [Africacrypt 9] Avantage des distingueurs [Vaudenay 97]: Adv E (A) Deux cas en plus : non-adaptatif, adaptatif séminaire Verimag - 24 mars 29 29
Cas d un distingueur SPRP adaptatif séminaire Verimag - 24 mars 29 3
Cas d un distingueur à clés connues séminaire Verimag - 24 mars 29 31
Etude de cas : l AES [Knu-Rij 7] Sens descendant Sens Montant = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = séminaire Verimag - 24 mars 29 32
KK distinguisher pour l AES KK distinguisher sur 7 étages 3 dans un sens, 4 dans l autre = = = = = = = = 3 4 = = = = = = = = = = = = = = = = tours tours = = = = = = = = Nécessitant 2 56 middletexts et 2 56 chiffrements Pour une permutation aléatoire => k-sum problem, complexité : 2 58 operations => KK distinguisher pour l AES séminaire Verimag - 24 mars 29 33
KK distinguisher pour Rijndael Mêmes types de propriétés dans le sens montant Résumé des KK distinguishers pour Rijndael [Africacrypt 29] : séminaire Verimag - 24 mars 29 34
Encore une idée séminaire Verimag - 24 mars 29 35
LANE : fonction de hashage soumise à SHA 3 H i = h h 1 = 256 bits M i = m m 1 m 2 m 3 = 512 bits P i = 6 tours AES modifié Q i = 3 tours AES modifié séminaire Verimag - 24 mars 29 36
Ce qui rentre dans les P i séminaire Verimag - 24 mars 29 37
Les P i et les Q i (LANE 256) Les mêmes opérations que l AES en 256 bits SubBytes, ShiftRows, MixColumns, KeyAdd (with constants) En plus : AddConstants et SwapColumns séminaire Verimag - 24 mars 29 38
séminaire Verimag - 24 mars 29 39 Propriétés intégrales de LANE-256 3 tours + extension au début : y p n y p n
séminaire Verimag - 24 mars 29 4 Propriété intégrale de LANE-256 sens indirect Propriété intégrale sur 3 tours + extension au début : n y p
On combine les deux Distingueur en 2 112 de la moitié de LANE 3 tours 4 tours : vue comme 2^16 ensemble de 2^96 valeurs qui nous arrange. 5 tours : 5 tours Vue comme 2^48 ensemble de 2^64 valeurs qui nous arrange. séminaire Verimag - 24 mars 29 41
Pourquoi la moitié? Si h =h 1 =m 2 =m 3 = cte : W = m + m1 m W1 = m m1 W2 = m + m1 m W3 = W4 = m m1 W5 = Alors : Sur 2 112 messages, un certain nombre de somme Somme = Somme = Somme = Somme = Somme = Somme = valent Somme = séminaire Verimag - 24 mars 29 42
Conclusion Les propriétés intégrales sur Rijndael n avait pas été bien étudiées Distingueurs à clés inconnues Distingueurs à clés connues Dernier modèle prometteur et important pour la compétition SHA-3 (cf : LANE) séminaire Verimag - 24 mars 29 43