• Aucun résultat trouvé

Structures ` a somme nulle et leurs propri´ et´ es

Dans le document The DART-Europe E-theses Portal (Page 70-73)

Distingueurs ` a somme nulle

3.2 Structures ` a somme nulle et leurs propri´ et´ es

3.2 Structures ` a somme nulle et leurs propri´ et´ es

Au cours de cette th`ese, nous avons ´etudi´e et formalis´e la notion de distingueur `a somme nulle. Ce travail a ´et´e pr´esent´e `a la conf´erence SAC 2010 [BC11b], avec Anne Canteaut. Nous avons ´egalement montr´e plusieurs applications de ces distingueurs [BC10,BC11b,BCD11].

D´efinition 3.1. Soit F une fonction de Fn2 dans Fm2 . Une somme nulle de taille k pour F est un sous-ensemble {x1,. . . , xk} ⊂Fn2 d’´el´ements dont la somme est nulle et dont la somme des images correspondantes par F est ´egalement nulle :

Xk

i=1

xi = Xk

i=1

F(xi) = 0.

3.2.1 Taille minimale d’une somme nulle

La premi`ere question que nous pouvons nous poser est, quelle est la plus petite taille des sommes nulles existant pour une fonction vectorielle F? Pour r´epondre `a ceci, nous avons eu recours `a la th´eorie des codes correcteurs d’erreurs. Plus pr´ecis´ement, nous avons montr´e qu’il est possible d’associer les sommes nulles aux codes correcteurs d’erreurs ainsi qu’aux fonctions APN. Grˆace `a ces relations, nous avons pu montrer que chaque fonction vectorielle poss`ede au moins une somme nulle de taille au moins 5. De plus, si la fonction F est APN, alors des sommes nulles de taille strictement inf´erieure `a 5 ne peuvent pas exister pour F.

Tout cela est r´esum´e dans la proposition3.2.

Pour pr´esenter ces r´esultats, nous allons utiliser la notation courante de la th´eorie alg´ebrique des codes (cf. [MS78]). Un code lin´eaire binaire C de longueurnet de dimension k, not´e par [n, k], est un sous-espace de Fn2 de dimension k. Un tel code peut ˆetre repr´esent´e par une matrice binaire G, de taille k×n, appel´eematrice g´en´eratrice de C :

C={xG, x∈Fk2}.

Tout code [n, k]-lin´eaire, C, peut ˆetre associ´e `a son code dual, not´e par C et ayant comme param`etres [n, n−k]. Le code dualC est d´efini de la fa¸con suivante :

C={x∈Fn2 : x·c= 0, pour tout c∈ C}={y ∈Fn2 :Gy= 0}.

Il est possible d’associer `a chaque fonction vectorielleF deFn2 dansFm2 un code lin´eaireCF. Pour cela, nous notons par (xi, 0 ≤ i < 2n) l’ensemble de tous les ´el´ements de Fn2. Nous associonsF au code lin´eaire CF de longueur 2n et de dimensionn+m, d´efini par la matrice g´en´eratrice suivante :

GF =

x0 x1 x2 x3 · · · x2n1 F(x0) F(x1) F(x2) F(x3) · · · F(x2n1)

, o`u chaque entr´ee de la matrice est vue comme un vecteur colonne binaire.

Proposition 3.1. Soit F une fonction de Fn2 dans Fm2 . L’ensemble {xi1, . . . , xik} ⊂ Fn2 est une somme nulle pour F si et seulement si le vecteur de poids de Hamming k de support {i1, . . . , ik} appartient au code dual CF.En particulier, si m=n, nous d´eduisons que :

– il existe au moins une somme nulle de taille 5 pourF

– aucune somme nulle de taille inf´erieure ou ´egale `a 4 n’existe pourF si et seulement si F est une fonction APN.

D´emonstration. Par d´efinition du code dual, un vecteur binaire (c0,. . . , c2n1) appartient `a CF si et seulement si

2Xn1

i=0

cixi= 0 et

2Xn1

i=0

ciF(xi) = 0.

Ceci est ´equivalent `a dire que le support dec, c’est-`a-dire l’ensemble {i:ci = 1}, d´efinit une somme nulle pour F. La taille de cette somme nulle correspond au poids de Hamming du mot du code. Si m = n, le code CF est un code lin´eaire de longueur 2n et de dimension 2n−2n. Il est connu que la distance minimale d’un code lin´eaire ayant ces param`etres ne peut pas d´epasser 5 [DZ84,BT93]. La correspondance entre la propri´et´e APN et le fait queCF ait une distance minimale 5, a ´et´e ´etablie dans [CCZ98]. Par ailleurs, comme la taille minimale possible pour une somme nulle est 3, F a des sommes nulles de taille 3 ou 4 si et seulement si F n’est pas une fonction APN.

3.2.2 Algorithmes g´en´eriques

Il est facile de voir que siF est une fonction deFn2 dansFm2 choisie al´eatoirement, alors un ensemble d’´el´ements de Fn2 de taillek est une somme nulle pourF avec probabilit´e 2(n+m). Il existe des algorithmes g´en´eriques qui trouvent des sommes nulles pour une fonction F.

La plus connue des m´ethodes est l’algorithme de David Wagner pour le probl`eme des anniversaires g´en´eralis´e [Wag02]. Dans l’article d’origine, ce probl`eme est aussi mentionn´e comme leprobl`eme de k-sommeset est formul´e de la mani`ere suivante.

D´efinition 3.2. Etant donn´ees´ klistesL1, . . . , Lkd’´el´ements uniform´ement et ind´ependamment distribu´es dans {0,1}n, trouver x1 ∈L1, . . . , xk∈Lk tels que

x1⊕ · · · ⊕xk= 0.

L’algorithme que Wagner propose est assez efficace pour des tailles qui sont des puissances de 2. Si k= 2κ, alors l’algorithme trouve une somme nulle avec complexit´e

O

2n+mκ+1 .

Cette complexit´e correspond aux 2n+mκ+1 ´evaluations de la fonction F afin de construire les 2κ listes initiales de taille 2n+mκ+1.

Si la taille de la somme nulle,k, est sup´erieure `an+m, l’algorithme de Wagner peut ˆetre am´elior´e par l’attaque XHASH, due `a Mihir Bellare et Daniele Micciancio [BM97], comme cela a ´et´e remarqu´e dans [AKK+10,BDPV10]. La complexit´e de cet algorithme est de l’ordre k ´evaluations de F. L’algorithme de Wagner a donc le mˆeme comportement seulement pour k≥2n+m.

Un algorithme g´en´erique, inspir´e par l’attaque XHASH, a ´et´e d´ecrit par Bertoni et al.

dans [BDPV10]. Il s’agit de l’algorithme 2. Soit F une fonction de Fn2 dansFm2 . Notons par Xi =

xi F(xi)

,

3.2. STRUCTURES `A SOMME NULLE ET LEURS PROPRI ´ET ´ES 55 le vecteur colonne comportant n+m lignes, compos´e des coordonn´ees de xi suivi par les coordonn´ees deF(xi). L’algorithme se d´eroule de la mani`ere suivante.

Algorithme 2: M´ethode g´en´erique pour la recherche des sommes nulles R´esultat: Un ensembleZ ={z1,. . . , zk} ⊂Fn2 tel quePk

Choisir al´eatoirement tvaleursyi ∈Fn2; pour ide 1 `a t faire

R´esoudre le syst`eme lin´eaire den+m´equations en les n+m+εvariables binaires ai ((Xi⊕Yi) sont vus comme des coefficients constants) :

Xt

L’ensembleZ forme une somme nulle. En effet, en ajoutant les ´equations (3.1) et (3.2) on obtient :

La valeur deεest li´ee `a la probabilit´e que le syst`eme (3.2) ait une solution. Plus la valeur deεest grande, plus la probabilit´e augmente.

La complexit´e de l’algorithme correspond principalement aux k+n+m+ε´evaluations de F, puis `a la r´esolution du syst`eme lin´eaire qui peut ˆetre faite en O((n+m)3).

Algorithme de d´ecodage par ensembles d’informations Des algorithmes g´en´eriques bas´es sur les codes correcteurs d’erreurs peuvent ´egalement ˆetre utilis´es pour r´esoudre ce probl`eme. En particulier, l’algorithme de d´ecodage par ensembles d’informations et ses vari-antes [CC98] ainsi que les techniques propos´ees r´ecemment [MMT11, BJMM12] peuvent am´eliorer la complexit´e des algorithmes pr´ec´edents pour des sommes nulles de petite taille [FS09]. En revanche, toutes ces m´ethodes prennent en entr´ee une matrice g´en´eratrice et n´ecessitent donc une ´evaluation compl`ete de la fonction F.

Relation avec les codes de Reed-Muller

Les structures `a somme nulle sont ´egalement li´ees aux codes correcteurs de Reed-Muller.

Le code de Reed MullerR(n, r), 0≤r≤n, est un code lin´eaire de longueur 2net d’ordrer. Un tel code peut ˆetre d´ecrit `a l’aide des fonctions bool´eennes. Plus pr´ecis´ement, le code R(n, r) correspond `a l’ensemble des fonctions bool´eennes en n variables dont le degr´e alg´ebrique est au plus r. Ainsi, le code CF associ´e `a une fonction F `a n variables d’entr´ee est inclus dans le code de Reed-Muller R(n, r). Or, le code dual de R(n, r) est le code R(n, n−r−1). On en d´eduit donc que R(n, n−degF −1) est inclus dans CF, ce qui implique que les mots de R(n, n−degF−1) d´efinissent des sommes nulles pourF.

Le th´eor`eme suivant donne les mots de poids minimal des codes de Reed-Muller.

Th´eor`eme 3.1. ([MS78], Chapitre13) Les mots deR(n, r)de poids minimal sont exactement les sous-espaces affines de codimension r.

Ainsi, les sous-espaces affines de dimension (degF+1), qui sont les mots de poids minimal deR(n, n−degF−1) sont des sommes nulles deF. Autrement dit, siV un sous-espace affine de dimension deg(F) + 1, nous avons que :

X

vV

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

Ceci correspond ´egalement au r´esultat de la proposition2.6.

Dans le document The DART-Europe E-theses Portal (Page 70-73)