• Aucun résultat trouvé

Exploiter le degr´ e alg´ ebrique de la partie non-lin´ eaire

Dans le document The DART-Europe E-theses Portal (Page 74-78)

Distingueurs ` a somme nulle

3.4 Exploiter le degr´ e alg´ ebrique de la partie non-lin´ eaire

`a appliquer l’attaque XHASH de fa¸con r´ecursive, comme d´ecrit par l’algorithme 3.

Algorithme 3: M´ethode g´en´erique pour la recherche des partitions en sommes nulles R´esultat: Une partition deFn2 en 2nk sommes nulles de taille 2k

Y ←Fn2

appeler partition(Y,1) ; Fonctionpartition (X, i);

sii < n−k alors

Trouver dans X une somme nulleS de taille 2ni avec l’algorithme XHASH;

Utiliser cette somme nulle pour partitionner Fn2, en translatantS, en 2i sommes nullesX1,. . . , X2i de taille 2ni;

pour j de 1 `a 2i faire

appeler partition(Xj, i−1) ;

Avec cet algorithme, puisqueP est une permutation, nous avons besoin d’´evaluerP en tous les points, sauf aux 2k derniers environ. `A part ces ´evaluations, la complexit´e de l’algorithme peut ˆetre approch´ee par ((2n)3(2nk−1)). En effet, la complexit´e de trouver une somme nulle de taille K avec l’algorithme XHASH est de l’ordre de (2n)3K, o`u (2n)3 est la complexit´e de r´esoudre le syst`eme lin´eaire (en utilisant par exemple le pivot de Gauss). En cons´equence, si on suppose que nous pouvons stocker les ´evaluations de P d´ej`a effectu´ees et de les r´eutiliser, la complexit´e `a part les ´evaluations ne d´epend que du nombre de r´esolutions des syst`emes lin´eaires. Ce nombre est au d´ebut 1 (pour trouver une partition de l’espace total en deux sommes nulles) et double `a chaque ´etape. Par cons´equence la complexit´e de cette ´etape peut ˆetre approch´ee par :

(2n)3(1 + 22+. . .2nk1) = (2n)3

nXk1

i=0

2i = (2n)3(2nk−1).

La complexit´e totale est alors de l’ordre de

2n−2k+ (2n)3(2nk−1).

Nous voyons que pour trouver des partitions en sommes nulles pour une permutation al´eatoire avec une m´ethode g´en´erique, nous avons besoin d’´evaluer la permutation en presque tous les points, puisque la technique de recherche n’est pas d´eterministe. Cela fait une ´enorme diff´erence par rapport aux partitions en sommes nulles qui proviennent d’une propri´et´e struc-turelle de la permutation, comme par exemple les sommes nulles pour l’AES que nous avons vues `a la section 3.1. Par ailleurs, les partitions provenant des propri´et´es structurelles peu-vent ˆetre utilis´ees pour prouver qu’une permutation ne satisfait pas la propri´et´e d´esir´ee. Pour cela, seulement quelques ´evaluations de la permutation sur un petit nombre d’ensemblesXi peuvent ˆetre demand´ees.

Par la suite, nous allons voir comment construire des partitions en sommes nulles en exploitant des propri´et´es structurelles d’une permutationP. Pour cela, nous allons montrer comment exploiter `a la fois des faiblesses venant de la partie non-lin´eaire de la primitive et des faiblesses de la partie lin´eaire.

3.4 Exploiter le degr´ e alg´ ebrique de la partie non-lin´ eaire

Nous avons vu que plusieurs primitives sym´etriques pr´esentent une structure it´erative.

Dans cette partie nous allons chercher des partitions en sommes nulles pour des permutations

it´er´ees de la forme

P =Rr◦ · · · ◦R1,

o`u R1. . . , Rr sont des permutations simples sur Fn2, appel´ees permutations de tour. De fa¸con g´en´erale, les Ri sont d´eriv´ees d’une permutation param´etr´ee unique, en choisissant r param`etres diff´erents.

Nous allons d’abord montrer comment construire des partitions en sommes nulles en exploitant le degr´e alg´ebrique de la permutation de tour et celui de son inverse. C’´etait ce type de propri´et´es que Aumasson et Meier ont utilis´e pour construire des structures `a somme nulle pour les fonctions Keccak,Luffa et Hamsi [AM09].

3.4.1 Des partitions en sommes nulles `a partir des diff´erentielles d’ordre sup´erieur

Comme pr´ec´edemment mentionn´e, siF est une permutation, tout sous-espace affineV de Fn2 de dimension (degF+ 1) conduit `a une partition en sommes nulles. Ce r´esultat provient des propri´et´es des diff´erentielles d’ordre sup´erieur car

DVF(x) =X

vV

F(x+v) = 0, pour toutx∈Fn2.

Dans le cas des sommes nulles pour l’AES, Knudsen et Rijmen [KR07] ont exploit´e la con-naissance de la cl´e, due au mod`ele `a la cl´e connue, pour partir d’un ´etat interm´ediaire. Grˆace

`

a l’absence de cl´e pour les fonctions de hachage, cette m´ethode a ´egalement ´et´e utilis´ee par Aumasson et Meier [AM09] pour trouver des partitions en sommes nulles sur trois candidats au concours SHA-3. La seule information dont nous avons besoin pour utiliser cette premi`ere approche est une borne sup´erieure sur le degr´e de la transformation de tour et de son inverse.

Soit P =Rr◦ · · · ◦R1 ett un entier 1≤t≤r. Nous d´efinissons les fonctions Frt etGt, impliqu´ees dans la d´ecomposition de P :

– Frt: fonction qui consiste en les (r−t) derni`eres transformations de tour, c’est-`a-dire Frt=Rr◦ · · · ◦Rt+1

– Gt : fonction inverse des t premi`eres transformations de tour, c’est-`a-dire Gt =R11

· · · ◦Rt1.

La technique introduite dans [AM09] est alors d´ecrite dans la proposition3.2et peut ˆetre visualis´ee avec la figure3.2.

P

G

t

F

rt

V + a

X

a

P (X

a

)

Figure3.2 – M´ethode pour construire une partition en sommes nulles pour une permutation P, compos´ee der tours

3.4. EXPLOITER LE DEGR ´E ALG ´EBRIQUE DE LA PARTIE NON-LIN ´EAIRE 59 Proposition 3.2. Soient d1 etd2 deux entiers tels que deg(Frt)≤d1 etdeg(Gt)≤d2. Soit V un sous-espace de Fn2 de dimension d+ 1, o`ud= max(d1, d2) et soitW un suppl´ementaire de V, c’est-`a-dire V ⊕W =Fn2. Alors, les ensembles

Xa={Gt(a+z), z∈V}, a∈W

forment une partition en sommes nulles de Fn2 de taille 2d+1, pour la permutation P.

D´emonstration. Soitaun ´el´ement quelconque dansW. Nous montrons d’abord que la somme de tous les ´etats x∈Xa est nulle :

X

xXa

x=X

zV

Gt(a+z) =DVGt(a).

Cette somme correspond `a la valeur d’une d´eriv´ee d’ordre (d+ 1) de la fonction Gt dont le degr´e est d2 ≤ d. En cons´equence, cette somme est nulle. Les images de ces ´etats par P correspondent aux images des ´etats interm´ediaireszpar Frt. De la mˆeme fa¸con,

X

xXa

P(x) =X

zV

Frt(a+z) =DVFrt(a),

qui est la valeur d’une d´eriv´ee d’ordre (d+ 1) d’une fonction de degr´e plus petit qued. Ainsi, cette somme vaut ´egalement z´ero, impliquant que chaque Xa est une somme nulle. Comme tous les ensembles Xa sont des images par la permutation Gt des ensembles disjoints, alors lesXa sont ´egalement disjoints et forment donc une partition deFn2.

Pour pouvoir cr´eer des partitions en sommes nulles de cette fa¸con, nous devons ˆetre capable d’estimer le degr´e de la permutation apr`es un certain nombre de tours et de pouvoir faire la mˆeme chose avec la transformation inverse. Si le nombre de tours r est fix´e, nous souhaitons construire pour les r tours de la permutation une partition dont la taille est la plus petite possible. Pour cela, nous devons bien choisir l’instant t `a partir duquel nous allons calculer en avant et en arri`ere. En choisissant t comme ´etant la valeur de l’indice i, 1 ≤i ≤ t pour laquelle la quantit´e

max(deg(Gi),deg(Fri)), (3.3)

soit la plus petite possible. De cette fa¸con nous somme sˆures de cr´eer une partition de Fn2 dont les sommes nulles pourP sont de la plus petite taille possible. Il suffit juste de choisir un sous-espace V de dimension (d+ 1) engendr´e par (d+ 1) ´el´ements de la base canonique, o`ud= max(deg(Gt),deg(Frt)). C’est la m´ethode qui a ´et´e utilis´ee dans [AM09].

3.4.2 Trouver une borne sup´erieure pour le degr´e

La description de la m´ethode pr´ec´edente laisse apparaˆıtre clairement l’importance d’une estimation correcte du degr´e d’une permutation it´er´ee. Les bonnes estimations conduisent

`a l’am´elioration de la complexit´e des distingueurs bas´es sur les structures `a somme nulle.

Dans [AM09], les auteurs ont utilis´e une borne sup´erieure pour le degr´e, que nous appellerons d´esormaisborne triviale. Cette borne est d´ecrite par la Proposition3.3.

Proposition 3.3. SoitF une fonction deFn2 dansFn2 etGune fonction de Fn2 dansFm2 . Le degr´e de leur composition,G◦F, est major´e par :

deg(G◦F)≤deg(G) deg(F).

Quand le nombre de tours est petit, cette borne pr´esente une estimation assez correcte du degr´e. Au contraire, pour un nombre de tours ´elev´e, les r´esultats de la borne triviale s’´eloignent consid´erablement de la situation r´eelle.

Dans certains cas, de meilleurs bornes existent. La recherche de bornes sup´erieures pour les fonctions it´er´ees est l’objet d’une grande partie de cette th`ese. Ces r´esultats seront analys´es plus tard. Dans ce chapitre, nous nous contentons de pr´esenter un r´esultat ancien de Anne Canteaut et Marion Videau [CV02], que nous avons utilis´e dans [BC11b] pour estimer le degr´e de la fonction Keccak. Ce r´esultat est bas´e sur l’analyse de certaines des propri´et´es spectrales des permutations, afin d’´etablir une meilleure borne. Plus pr´ecis´ement, il a ´et´e montr´e dans [CV02] que la borne triviale peut ˆetre am´elior´ee dans le cas o`u les valeurs du spectre de Walsh deF sont divisibles par une grande puissance de 2.

Th´eor`eme 3.2 ([CV02]). Soit F une fonction de Fn2 dans Fn2 telle que toutes les valeurs dans son spectre de Walsh sont divisibles par 2, pour un entier ℓ. Alors, pour une fonction Gde Fn2 dans Fn2 nous avons

deg(G◦F)≤n−ℓ+ deg(G).

Par la suite, nous allons nous concentrer sur une construction tr`es commune dans le cas des primitives sym´etriques. Nous avons vu que la partie non-lin´eaire d’un tr`es grand nombre de chiffrements par blocs et de fonctions de hachage, que nous noterons parχ, est constitu´ee de n/n0 applications parall`eles d’une petite permutation (boˆıte-S)χ0 de Fn20. Nous appellerons mot, une sous-partie de l’´etat sur laquelle s’applique χ0. Par exemple, dans le cas de l’AES, un mot est un octet et l’´etat entier de l’AES est divis´e en 16 mots. De fa¸con g´en´erale, chaque vecteur den bits peut ˆetre vu comme une collection de nr =n/n0 mots, o`u chaque mot est un ´el´ement deFn20.

Examinons maintenant le spectre de Walsh de la permutation de tourR. Puisque le spectre de Walsh est invariant par composition avec une transformation lin´eaire, pour chaqueα∈Fn2 il existe unβ tel que Par cons´equent, si tous les ´el´ements dans le spectre de Walsh deχ0 sont divisibles par 20, nous pouvons d´eduire que le spectre de Walsh de la transformation de tour est divisible par 2nr0.

Au cours de cette th`ese, nous avons trouv´e de nouveaux r´esultats g´en´eriques et de nouvelles bornes sur le degr´e alg´ebrique. Ces r´esultats seront toutefois analys´es dans les chapitres qui suivent, tandis qu’ici nous allons nous concentrer sur les m´ethodes li´ees aux structures `a somme nulle.

Dans le document The DART-Europe E-theses Portal (Page 74-78)