Borne sur le degr´ e des permutations it´ er´ ees
4.5. APPLICATION ` A LA PERMUTATION INTERNE DE GRØSTL 97
# Toursr Borne triviale Borne (4.1)
1 7 7
2 49 28
3 − 113
4 − 125
Table 4.7 – Bornes sup´erieures pour le degr´e alg´ebrique de plusieurs tours de l’AES Pour chaque variante, la fonction de compression est it´er´ee comme suit. Le message est d’abord rembourr´e et divis´e enk blocs de ℓ bits, m1,. . . , mk. La valeur deℓ est ´egale `a 512 pour les variantes retournant jusqu’`a 256 bits et vaut 1024 pour les autres versions. Ensuite,
´etant donn´ee une valeur initiale IV = h0, chaque bloc de message est trait´e par la fonction de compressionh :
h:Fℓ2×Fℓ2 → Fℓ2 (hi−1, mi) 7→ hi
Une transformation finale Ω est finalement appliqu´ee `a hk. La fonction de compression h est construite `a partir de deux grandes permutations P etQ. Elle est donn´ee par
h(hi−1, mi) =P(hi−1⊕mi)⊕Q(mi)⊕hi−1, et peut ˆetre visualis´ee `a la figure4.6.
P Q
hi−1 mi
hi
Figure4.6 – La fonction de compression de Grøstl
Les fonctions P et Q sont des permutations it´er´ees bas´ees sur l’AES. Elles op`erent sur un ´etat de 512 bits pour les candidats retournant des empreintes de taille au plus 256 bits et sur un ´etat de 1024 bits pour les candidats restant. Ces deux ´etats sont repr´esent´es par une matrice d’octets 8×c avec c = 8 ou 16. `A chaque tour R, quatre transformations inspir´ees de l’AES, sont appliqu´es `a l’´etat comme suit :
R=MixBytes◦ShiftBytes◦SubBytes◦AddRoundConstant.
La transformationAddRoundConstantajoute une constante d´ependant du tour, `a chaque octet de l’´etat. Ces constantes sont diff´erentes pour les permutations P etQ.
La transformation SubBytesconsiste en l’application en parall`ele de la boˆıte-S de l’AES
`
a chaque octet de l’´etat.
La transformation ShiftRows effectue une rotation vers la gauche sur chaque ligne de l’´etat. Cette transformation est diff´erente pour P etQ.
La transformation MixBytes est une transformation lin´eaire qui s’applique en parall`ele sur les colonnes de l’´etat.
Le nombre de tours est sp´ecifi´e `a 10 pour Grøstl-256 et `a 14 pour Grøstl-512.
4.5.1 Borne sur le degr´e de la permutation P de Grøstl-256
Nous pr´esentons ici encore une application de la borne (4.1), cette fois `a la permutationP (´egalement `aQ) de Grøstl. Nous allons voir que grˆace `a cette borne nous pouvons efficacement majorer le degr´e de la permutationP jusqu’`a 6 tours, tandis que avec la borne triviale, cela n’´etait possible que jusqu’`a 3 tours.
Puisque la transformation non-lin´eaire de Grøstl utilise la boˆıte-S de l’AES, un tourR de la permutation est de degr´e 7. En appliquant le th´eor`eme 4.1 nous avons
deg(F◦R)≤512−512−deg(F) 7 et
deg(F ◦R−1)≤512−512−deg(F)
7 .
En combinant ces r´esultats avec la borne triviale et en les appliquant de fa¸con r´ecursive, nous obtenons les bornes d´ecrites `a la table 4.8 pour le degr´e de deg(Rr). Les r´esultats en gras sont les bornes obtenues avec le th´eor`eme4.1.
# Toursr Borne sur deg(Rr)
1 7
2 49
3 343
4 487
5 508
6 511
Table 4.8 – Bornes sup´erieures sur le degr´e alg´ebrique de plusieurs tours deP et Q Certainement au cas de l’AES, nous voyons que nous ne trouvons pas de r´esultats meilleurs pour 2 tours de la permutation, que ceux donn´es par la borne triviale. Ceci est dˆu au fait que l’´etat de Grøstl est deux fois plus large, et par cons´equent, les entr´ees de chaque boˆıte-S du deuxi`eme tour peuvent provenir de 8 boˆıtes diff´erentes du premier tour.
En application de ces r´esultats, nous pouvons construire des partitions en sommes nulles pour les permutations P et Q de Grøstl-256. Comme les seules diff´erences entre P et Q sont dans l’addition des constantes et les d´ecalages par la fonction ShiftBytes, la mˆeme
4.5. APPLICATION `A LA PERMUTATION INTERNE DE GRØSTL 99 technique peut ˆetre utilis´ee pour les deux permutations. Choisissons un sous-espace V de F5122 de dimension 509 apr`es 5 tours de la permutation. Alors, les ensembles
Xa={(R−5(a+z), z∈V}, a∈F5122 ,
forment une partition en sommes nulles de taille 2509 pour les permutations de Grøstl-256.
Chapitre 5
Influence du degr´ e alg´ ebrique de F − 1 sur le degr´ e de G ◦ F
Sommaire
5.1 Une premi`ere borne impliquant le degr´e de la permutation inverse102 5.2 R´esultat principal . . . . 102 5.3 Quelques corollaires . . . . 104 5.4 G´en´eralisation aux fonctions ´equilibr´ees non-injectives . . . . 106 5.5 Applications `a certaines primitives sym´etriques . . . . 110 5.5.1 Attaque contre une variante du chiffrement par blocsKN . . . 110 5.5.2 Application `a Rijndael-256 . . . 114 5.5.3 Application `a la fonction de hachage ECHO . . . 114 5.5.4 Application `a la fonction de hachage JH . . . 116
Dans le chapitre pr´ec´edent nous avons ´etudi´e le degr´e des permutations it´er´ees dont la partie non-lin´eaire de la fonction de tour ´etait constitu´ee de plusieurs fonctions plus petites
´equilibr´ees. Ici, nous continuons d’´etudier l’´evolution du degr´e des constructions it´er´ees, mais dans un contexte plus g´en´eral. Notre r´esultat principal montre que le degr´e alg´ebrique apr`es plusieurs it´erations d´epend de l’inverse de la permutation qui est it´er´ee. Ce r´esultat peut ex-pliquer des comportements remarqu´es auparavant sur certaines fonctions dont nous ignorions les causes. Plus int´eressant encore, nous allons voir que le degr´e de la fonction inverse influence le degr´e de la fonction it´er´ee, mˆeme dans des situations o`u la fonction inverse n’est jamais utilis´ee dans la pratique. C’est le cas par exemple des chiffrements de Feistel ou des fonctions de hachage. Mˆeme si le degr´e de la fonction de tour est ´elev´e, si le degr´e de la fonction inverse est bas, alors le degr´e du chiffrement ou de la fonction de hachage sera moins ´elev´e que pr´evu.
La totalit´e des r´esultats de ce chapitre sont les fruits d’un travail commun avec Anne Canteaut. Ce travail a ´et´e accept´e pour publication dans le journal IEEE Transactions on Information Theory [BC12b].
101