Exploiter la structure de la partie lin´ eaire

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

Distingueurs ` a somme nulle

3.5 Exploiter la structure de la partie lin´ eaire

3.5 Exploiter la structure de la partie lin´ eaire

Hormis le degr´e de la transformation de tour, un deuxi`eme ´el´ement peut ˆetre exploit´e afin de construire des partitions en sommes nulles. En particulier, le fait que χ soit constitu´ee de plusieurs applications parall`eles d’une fonction plus petite peut ˆetre utilis´e pour ´etendre les partitions en sommes nulles d´ecrites auparavant, `a un tour suppl´ementaire. De plus, on peut exploiter le fait qu’un petit nombre d’it´erations de la permutation de tourR n’est pas suffisant pour fournir une diffusion compl`ete.

Nous notons parBi, 0≤i < nr les sous-espaces de dimensionn0 correspondant aux mots de l’´etat :

Bi=hen0i,. . . , en0i+n01i,

o`ue0, . . . , en1 d´esignent les ´el´ements de la base canonique deFn2. Nous supposons que les bits de l’´etat sont ´enum´er´es de fa¸con que lesn0 bits d’un mot correspondent `an0 bits cons´ecutifs.

3.5.1 Propri´et´e pour un tour

Nous allons maintenant montrer comment ´etendre une partition en sommes nulles de r tours, `ar+ 1 tours. Pour cela, nous devons choisir le sous-espace V d’une fa¸con particuli`ere.

Les partitions en sommes nulles d´ecrites `a la proposition 3.2 sont obtenues `a partir d’un ensemble d’´etats interm´ediaires apr`esttours. Cet ensemble est un translat´e d’un sous-espace V de dimension (d+ 1), obtenu pour un choix de V quelconque. Toutefois, nous allons nous concentrer sur des sous-espacesV ayant une description particuli`ere.

Plus pr´ecis´ement, nous allons consid´erer des sous-espacesV qui correspondent `a une col-lection de⌈(d+ 1)/n0⌉ mots :

V =M

i∈I

Bi,

o`uI est un sous-ensemble I ⊂ {0, . . . , nr−1} de taille⌈(d+ 1)/n0⌉. Comme χs’applique de fa¸con ind´ependante sur chaque mot, les variables des mots diff´erents ne seront pas m´elang´ees entre elles apr`es l’application deχ. Ceci implique qu’il existe unbtel queχ(a+V) =b+V. Dans toute cette partie, nous supposons que les permutations que nous examinons suivent le principe de construction annonc´e par Shannon, c’est-`a-dire que la permutation de tour est compos´ee d’une partie non-lin´eaire,χ, et de deux parties affinesA1,A2, de fa¸con `a ce que

Rt=A2◦χ◦A1.

Selon la construction, la partieA1ou la partieA2peuvent simplement ˆetre la fonction identit´e.

La proposition3.4d´ecrit une m´ethode g´en´erale pour trouver des partitions en sommes nulles de taille 2d+1 pour une permutation P compos´ee der tours.

Proposition 3.4. Soient d1 et d2 deux entiers tels que deg(Frt1) ≤ d1 et deg(Gt) ≤d2. Nous d´ecomposons la transformation de tour du tour(t+ 1)comme ceci :Rt+1 =A2◦χ◦A1, o`u A1, A2 sont des transformations affines. Soit I un sous-ensemble de {0, . . . , nr−1} de taille ⌈(d+ 1)/n0⌉,

V =M

i∈I

Bi, et W un suppl´ementaire de V. Alors, les ensembles

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

forment une partition en sommes nulles deFn2 de taille 2k, o`uk=n0d+1n0 ⌉, pour la permu-tation P compos´ee der tours.

D´emonstration. Pour un a∈W, la somme de tous les ´etats dansXa est donn´ee par X

xXa

x=X

zV

Gt◦A11(a+z) =DV(Gt◦A11)(a).

Comme deg(Gt◦A11) = deg(Gt)≤d, cette somme vaut z´ero. En utilisant l’´egalit´eχ(a+V) = b+V, nous obtenons que la somme des sorties correspondantes satisfait

X

xXa

P(x) = X

zV

Frt1◦A2◦χ(a+z) =X

zV

Frt1◦A2(b+z)

= DV(Frt1◦A2)(b) = 0, puisque deg(Frt1◦A2) = deg(Frt1)≤d.

Nous pouvons mieux nous rendre compte de cette m´ethode, grˆace `a la figure3.3.

G

t

◦ A

11

χ F

rt1

◦ A

2

V + a V + b

Figure3.3 – M´ethode pour ´etendre une partition en sommes nulles `a un tour suppl´ementaire

3.5.2 Propri´et´e pour plusieurs tours

Nous allons maintenant pr´esenter une m´ethode pour ´etendre les partitions en sommes nulles d´ej`a connues `a plusieurs tours. Pour cela nous allons exploiter des propri´et´es qui provi-ennent `a la fois de la structure particuli`ere de la transformation de tour et de la partie lin´eaire.

Pour simplifier la description, nous n’allons pr´esenter en d´etail que la m´ethode pour deux tours suppl´ementaires. La g´en´eralisation sur plusieurs tours est imm´ediate (Th´eor`eme 3.4).

Supposons que nous connaissions une partition pourt tours d’une permutation. Nous allons alors ´etendre cette partition aux tours (t+ 1) et (t+ 2) que nous d´ecomposerons comme suit :

Rt+2◦Rt+1 =A2◦χ◦A◦χ◦A1, o`uA1,A2 et Asont de degr´e 1.

Th´eor`eme 3.3. Soient d1 et d2 deux entiers tels que deg(Frt2) ≤ d1 et deg(Gt) ≤ d2. Notons par L la partie lin´eaire de la permutation affine A. Soit V un sous-espace de Fn2 de dimensionk, qui satisfait les deux conditions suivantes :

(i) il existe un sous-ensemble I ⊂ {0, . . . , nr−1} tel que Bb :=M

i∈I

Bi⊂V et|I| ≥

d2+ 1 n0

.

3.5. EXPLOITER LA STRUCTURE DE LA PARTIE LIN ´EAIRE 63

SoitW un espace suppl´ementaire de V. Alors, les ensembles

Xa={Gt◦A11◦χ1(a+z), z∈V}, a∈W,

forment une partition en sommes nulles deFn2 de taille 2k pour la permutation P constitu´ee der tours.

D´emonstration. D’apr`es la d´efinition des ensembles Xa, nous choisissons les ´etats inter-m´ediaireszdans un translat´e deV apr`es la partie non-lin´eaire du tourRr+1. De la deuxi`eme relation nous d´eduisons queA(V) peut ˆetre vu comme une union de translat´es de Bf :

A(V) = [

b∈E

(b+Bf),

o`u E est un sous-ensemble de Fn2. De plus, la mˆeme propri´et´e est valable pour l’image par Ade n’importe quel translat´e deV. Comme χ s’applique aux mots s´epar´ement, les variables des diff´erents mots ne sont pas m´elang´ees entre elles. En cons´equence,

χ(A(V)) = [

b∈E

(b+Bf),

o`u E est un autre sous-ensemble de Fn2. Par d´efinition, les images par P des ´el´ements dans Xa correspondent aux images de a+z, z ∈ V, par Frt2◦A2◦χ◦A. Il s’ensuit que leur χ1 ne m´elange pas les mots entre eux, nous d´eduisons que

χ1(a+V) = [

Cette d´eriv´ee s’annule ´egalement, puisque

La figure3.4 nous permet de mieux comprendre cette m´ethode.

χ1 A χ

Gt◦A11 Frt◦A2

S(b+Bb) Bb⊂V S

(b+Bf) S

(b+Bf)

Figure 3.4 – M´ethode pour ´etendre une partition en sommes nulles `a deux tours suppl´ementaires

Cependant, le th´eor`eme ci-dessus est souvent difficile `a utiliser dans la pratique puisque les sous-espacesV etL(V) peuvent ˆetre de tr`es grande taille. Pour cette raison, nous utiliserons le corollaire suivant pour les applications qui suivront.

Corollaire 3.1. Soient d1 et d2 deux entiers tels que deg(Frt2) ≤ d1 et deg(Gt) ≤ d2. Notons par L la partie lin´eaire de la permutation affine A. Soit W un sous-espace de Fn2 de dimension k, qui satisfait les deux conditions suivantes :

(i) il existe un sous-ensemble I ⊂ {0, . . . , nr−1} tel que

o`u LT est la fonction lin´eaire dont la matrice est la transpos´ee de la matrice qui d´efinit L.

Soit V un sous-espace tel que V =W. Alors, les ensembles

Xa={Gt◦A11◦χ1(a+z), z∈V}, a∈W,

forment une partition en sommes nulles deFn2 de taille2nk pour la permutationP constitu´ee der tours.

D´emonstration. Les propri´et´es (i) et (ii) exig´ees pour W impliquent qu’il existe deux sous-espacesBb etBf tels que :

3.5. EXPLOITER LA STRUCTURE DE LA PARTIE LIN ´EAIRE 65 Remarque 3.1. Il existe une condition n´ecessaire simple pour l’existence des sous-espacesW de la forme d´ecrite par le th´eor`eme 3.3. Nous d´efinissons ici le poids d’unx∈Fn2 par rapport

`

a sa d´ecomposition en mots de l’´etat. Plus pr´ecis´ement, la quantit´e Hw(x) correspondra au nombre de mots sur lesquelsx ne s’annule pas. Dans ce cas, le sous-espaceW d´efini dans le corollaire pr´ec`edent satisfait :

Si dimW = 1, cette condition est ´egalement suffisante. `A partir de la propri´et´e (3.5), nous pouvons d´eduire une condition n´ecessaire, qu’une transformation de tour doit satisfaire, afin d’ˆetre immunis´ee contre ce type d’attaque. Cette condition consiste `a choisir la partie lin´eaire Lde la transformation de tour, de fa¸con que

minx6=0(Hw(x) +Hw(LT(x)))>2nr

Nous allons maintenant g´en´eraliser le th´eor`eme 3.3 `a plusieurs tours. Plus pr´ecis´ement, nous allons fournir des conditions qui doivent ˆetre satisfaites afin de pouvoir ´etendre `a plus de 3 tours une partition en sommes nulles d´ej`a connue.

Th´eor`eme 3.4. Soient d1 et d2 deux entiers tels que deg(Frt2) ≤ d1 et deg(Gt) ≤ d2. Notons par L la partie lin´eaire de la permutation affine A. Soit V un sous-espace de Fn2 de dimension k, qui satisfait les conditions suivantes, pour deux entiers sb et sf non-nuls : (i) il existe un sous-ensemble I1⊂ {0, . . . , nr−1} tel que

Soit V le sous-espace compl´ementaire de W. Alors, les ensembles

Xa={(Gt◦A11◦(χ1◦A1)sb1◦χ1)(a+z), z∈V}, a∈W

forment une partition en sommes nulles de Fn2 de taille2k pour la permutation P, constitu´ee de (r+sb+sf −2) tours.

D´emonstration. D’apr`es la d´efinition des ensembles Xa nous choisissons des ´etats inter-m´ediaires apr`es la partie non-lin´eaire du tourt+sb. De la deuxi`eme relation nous d´eduisons queA(V) peut ˆetre vu comme une union de translat´es de Bf1 :

A(V) = [

b∈E1

(b+Bf1),

pour un sous-ensembleE1 deFn2. Commeχs’applique aux mots s´epar´ement, les variables des diff´erents mots ne sont pas m´elang´ees entre elles. En cons´equence,

χ(A(V)) = [

b∈E1

(b+Bf1),

o`uE1 est un autre sous-ensemble deFn2. De la mˆeme fa¸con, d’apr`es la condition (iii), il existe pour chaque 1≤s < sf des sous-ensemblesEs+1,Es+1 ⊂Fn2 tels que

Par d´efinition, les images par P des ´el´ements dans Xa correspondent aux images de a+z, z∈V, parFrt2◦A2◦(χ◦A)sf. Il s’ensuit que leur somme est donn´ee par ne m´elange pas les mots entre eux, nous avons que

χ1(V) = [

c∈Z1

(c+Bb1),

3.6. APPLICATION `A LA PERMUTATION INTERNE DE KECCAK 67

Alors, la somme des ´etats d’entr´ee correspondant `a x∈Xa est donn´ee par X

Il est int´eressant de constater qu’il n’existe aucune exigence pour la taille des ensembles interm´ediaires I2, . . . ,Isb1 et J2, . . . ,Jfb1, `a part ´evidemment que la taille des ensembles Ii doit ˆetre inf´erieure `a la taille deIsb et celle des ensemblesJi doit ˆetre inf´erieure `a la taille de Jsf.

Nous allons ensuite montrer des applications de ces th´eor`emes `a deux candidats du con-cours SHA-3, `a savoirKeccaket Hamsi.

3.6 Application ` a la permutation interne de Keccak

Keccak est une famille de fonctions de hachage con¸cue par Guido Bertoni, Joan Dae-men, Micha¨el Peeters et Gilles Van Assche [BDPV09]. Ses instances sont des fonctions de type ´eponge, bas´ees sur une permutation interne, appel´eeKeccak-f. Chaque instance de la famille est caract´eris´ee par la taille de la permutation, b. Il existe 7 permutations Keccak-f diff´erentes, not´ees Keccak-f[b], avec b ∈ {25,50,100, 200,400,800,1600}. La fonction Keccak-f[1600] a ´et´e soumise au concours SHA-3 et a ´et´e recemment s´electionn´ee par le

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