• Aucun résultat trouvé

FONCTIONS BOOL ´ EENNES 31 Dans cet exemple, le support de f correspond `a

Dans le document The DART-Europe E-theses Portal (Page 48-53)

Propri´ et´ es alg´ ebriques des cryptosyst` emes sym´ etriques

2.1. FONCTIONS BOOL ´ EENNES 31 Dans cet exemple, le support de f correspond `a

supp(f) ={(0,0,0),(0,1,0),(0,0,1),(1,0,1),(0,1,1)}.

Par cons´equent, selon la d´efinition 2.3, le poids de Hamming def, wt(f) est ´egal `a 5.

La description d’une fonction bool´eenne par sa table de v´erit´e est peu utilis´ee dans la pra-tique. Nous pouvons employer `a la place une autre repr´esentation, beaucoup plus compacte.

Il peut ˆetre d´emontr´e `a l’aide de l’interpolation de Lagrange que chaque fonction bool´eenne peut s’´ecrire de fa¸con unique sous la forme d’un polynˆome multivari´e `a coefficients dans F2. Cette repr´esentation est appel´eeforme alg´ebrique normale ou ANF (pour “algebraic normal form” en anglais).

D´efinition 2.5. Soit f une fonction bool´eenne `a n variables. La forme alg´ebrique normale (ANF) def est l’unique polynˆome deF2[x0, . . . , xn1]/(x20−x0, . . . , x2n1−xn1)repr´esentant f :

f(x) = M

u∈Fn2

cf(u)xu, avec xu=xu00xu11· · ·xunn−11 , o`u cf(u) = L

vuf(v) ∈ F2. Si v = (v0, v1, . . . , vn1) et u = (u0, u1, . . . , un1), v u si et seulement si vi ≤ui pour chaque i∈ {0,1, . . . , n−1}.

A partir de la forme alg´ebrique normale d’une fonction bool´eenne, nous pouvons d´efinir` son degr´e alg´ebrique.

D´efinition 2.6. Le degr´e alg´ebriqued’une fonction bool´eenne f correspond au poids maxi-mum du vecteur u tel que le coefficient cf(u) de l’ANF def est non-nul :

deg(f) = max

u∈Fn2

{wt(u) :cf(u)6= 0}.

Exemple 2.2. La forme alg´ebrique normale de la fonction bool´eenne f de l’exemple2.1est : f(x0, x1, x2) =x0x1x2+x0x2+x0+ 1.

Son degr´e alg´ebrique deg(f) est ´egal `a 3.

Pour les applications cryptographiques, afin qu’un cryptosyst`eme r´esiste bien aux attaques ditesalg´ebriques, les fonctions bool´eennes utilis´ees doivent poss´eder un degr´e ´elev´e.

Une fonction vectorielleF deFn2 dansFm2 peut ˆetre d´ecrite en moyen de sesmcoordonn´ees, f0, f1, . . . , fm1 :

∀x∈Fn2, F(x) = (f0(x), f1(x), . . . , fm1(x)).

D´efinition 2.7. Soit F = (f0, . . . , fm1) une fonction vectorielle de Fn2 dans Fm2 . Nous appellerons composantesdeF, les2m−1combinaisons lin´eaires non-triviales de ses fonctions coordonn´ees :

∀λ= (λ0, . . . , λm1)∈Fm2 \ {0}: λ·F(x) =λ0f0(x)⊕ · · · ⊕λm1fm1(x).

Une composante λ·F, λ6= 0 sera ´egalement not´ee par Fλ.

Le degr´e alg´ebrique pour une fonction vectorielle sera d´efini `a l’aide de ses fonctions coordonn´ees.

D´efinition 2.8. SoitF = (f0, f1,. . . , fm1)une fonction vectorielle deFn2 dansFm2 . Le degr´e alg´ebrique deF, deg(F), est d´efini de la mani`ere suivante :

deg(F) = max

i=0,...,m1deg(fi).

Exemple 2.3. Soit F la fonction vectorielle de F32 dans F22, avec

F(x0, x1, x2) = (x0x1x2+x0x2+x0+ 1, x0x1+x1x2).

Selon la d´efinition2.8, deg(F) = 3.

Grˆace `a l’isomorphisme entre l’espace vectorielFn2 et le corps fini `a 2n´el´ementsF2n, une fonction vectorielle F de Fn2 dansFn2 peut ˆetre vue comme un polynˆome univari´e surF2n. En particulier, il peut ˆetre d´emontr´e ([LN83, chapitre 7] par exemple) que pour une telle fonction F il existe une unique repr´esentation univari´ee de degr´e au plus 2n−1,

F(x) =

2Xn1

i=0

bixi, bi∈F2n. (2.1)

La d´efinition du degr´e alg´ebrique deF avec cette repr´esentation est la suivante.

D´efinition 2.9. Soit F une fonction vectorielle, repr´esent´ee sous la forme (2.1). Le degr´e alg´ebrique deF est donn´e par

deg(F) = max{wt(i) : 0≤i <2n et bi6= 0}.

Comme pour les fonctions bool´eennes, la notion d’´equilibre joue ´egalement un rˆole tr`es important pour les applications cryptographiques.

D´efinition 2.10. Une fonction vectorielle de Fn2 dans Fm2 est dite ´equilibr´ee si elle prend toutes les valeurs dansFm2 exactement2nm fois.

Si n=m, une fonction vectorielle ´equilibr´ee est une permutation.

Proposition 2.1 ([LN83,CP05]). Une fonction vectorielle F de Fn2 dans Fm2 est ´equilibr´ee si et seulement si toutes ses composantesλ·F,∀λ∈Fm2 \ {0} sont des fonctions bool´eennes

´equilibr´ees.

2.1.1 Spectre de Walsh et non-lin´earit´e d’une fonction bool´eenne

Dans de nombreuses situations, nous avons besoin d’exploiter la corr´elation d’une fonction bool´eennef avec une fonction lin´eaire. Pour cela il semble naturel de mesurer le biais de la fonctionf+ϕ, o`u ϕrepr´esente une fonction lin´eaire. Afin d’effectuer ceci, nous introduisons la quantit´e suivante

F(f) = X

x∈Fn2

(−1)f(x)= 2n−2wt(f), (2.2)

2.1. FONCTIONS BOOL ´EENNES 33 appel´ee souventpoids d’une fonction`a cause de sa d´ependance au poids v´eritable, wt(f), de la fonction.

D’apr`es cette d´efinition, nous pouvons voir qu’une fonction bool´eenne f est ´equilibr´ee si et seulement siF(f) = 0, donc la quantit´e (2.2), mesure lebiaisou led´es´equilibre def.

Par la suite, on utilisera souvent la notation suivante pour repr´esenter les fonctions bool´eennes lin´eaires.

Notation 2.1. Pour tout a ∈ Fn2 nous noterons par ϕa la fonction lin´eaire `a n variables x7→a·x. La fonction ϕ0 correspond `a la fonction nulle.

La quantit´e (2.2) est maintenant utilis´ee pour d´efinir ce qu’on appellera lespectre de Walsh d’une fonction bool´eenne. Cette nouvelle notion mesurera la corr´elation entre la fonctionf et toutes les fonctions lin´eaires et pourra ˆetre utilis´ee pour mesurer la distance d’une fonction bool´eenne `a l’ensemble des fonctions affines.

D´efinition 2.11. Soit f une fonction bool´eenne `a nvariables. Le coefficient de Walsh def au pointa∈Fn2 correspond `a la quantit´e

F(f +ϕa) = X

x∈Fn2

(−1)f(x)+a·x. On appelle spectre de Walsh de la fonction f l’ensemble

fW ={F(f+ϕa), a∈Fn2}.

Nous d´efinissons, pour une fonction bool´eennef, sa corr´elation maximale avec l’ensemble des fonctions affines, c’est-`a-dire des fonctions dont le degr´e est inf´erieur ou ´egal `a 1 :

L(f) = max

aFn2 |F(f+ϕa)|.

Cette quantit´e, appel´ee souvent lin´earit´e de f, est utilis´ee entre autres pour d´efinir la non-lin´earit´ed’une fonction.

D´efinition 2.12. Soit f une fonction bool´eenne `a n variables. La non-lin´earit´e def, not´ee N L(f), est d´efinie par

N L(f) = 2n1−1 2L(f).

La non-lin´earit´e d’une fonction bool´eenne mesure sa distance `a l’ensemble des fonctions affines.

Les fonctions poss´edant la plus haute non-lin´earit´e possible n’existent que pourn pair et sont appel´ees fonctions courbes.

D´efinition 2.13. Soitf une fonction bool´eenne `a n variables. Alors, L(f)≥2n2.

Les fonctions atteignant cette borne inf´erieure sont dites fonctions courbes(“bent” en anglais).

Elles n’existent que pour npair.

Les fonctions courbes malgr´e l’avantage d’avoir une non-lin´earit´e maximale pr´esentent

´egalement un grand d´esavantage pour les applications cryptographiques car ce sont des fonc-tions non-´equilibr´ees.

La notion du spectre de Walsh est ´egalement d´efinie dans le cas d’une fonction vectorielle.

D´efinition 2.14. Soit F une fonction vectorielle deFn2 dans Fm2 . Le spectre de Walsh de F correspond `a l’ensemble des spectres de Walsh de ses composantes,ϕb◦F+ϕa :

FW =

Nous d´emontrons ici que le spectre de Walsh d’une permutation, est ´egal au spectre de Walsh de la permutation inverse.

Proposition 2.2. SoitF une permutation deFn2 et notons par F1 la permutation inverse.

Alors,

FW = (F1)W.

D´emonstration. Nous allons d´emontrer la premi`ere inclusion. Soit b ∈ Fn2 \ {0} et a ∈ Fn2. CommeF est une permutation, nous avons que :

F(ϕb◦F +ϕa) = X

Nous d´efinissons de fa¸con analogue que pour les fonctions bool´eennes, la lin´earit´eL(F) et la non-lin´earit´eN L(F) d’une fonction vectorielle F.

D´efinition 2.15. SoitF une fonction vectorielle deFn2 dansFm2 . Nous appelons par lin´earit´e de F la quantit´e suivante :

L(F) = max

b∈Fm2 \{0},a∈Fn2

|F(ϕb◦F +ϕa)|. La non-lin´earit´e de F est d´efinie par :

N L(F) = 2n1−1 2L(F).

Nous pouvons d´efinir de fa¸con ´equivalente la non-lin´earit´e d’une fonction vectorielleF de Fn2 dansFm2 en fonction de ses composantesFλ. La non-lin´earit´e deF est alors d´efinie comme la non-lin´earit´e minimale de celles-ci.

Les fonctions poss´edant une haute non-lin´earit´e pr´esentent une bonne r´esistance contre les attaques lin´eaires. En composant une fonction vectorielle avec une transformation affine, la non-lin´earit´e reste invariante. Pour cette raison, il est important pour la construction d’une primitive sym´etrique de choisir une fonction de substitution avec une non-lin´earit´e ´elev´ee.

2.1. FONCTIONS BOOL ´EENNES 35 D´efinition 2.16. SoitF une fonction vectorielle de Fn2 dansFm2 . Alors,

L(F)≥2n2.

Les fonctions pour lesquelles cette borne est atteinte, sont dites fonctions courbes.

Il est connu que des fonctions courbes n’existent pas pour m > n/2, en particulier pour m =n. Pour cette raison, une notion plus faible est utilis´ee pour caract´eriser des fonctions de Fn2 dansFn2 qui atteignent la plus haute non-lin´earit´e possible.

D´efinition 2.17. Pour toute fonctionF deFn2 dans Fn2, L(F)≥2n+12 .

Les fonctions qui atteignent cette borne minimale, sont dites presque courbes (“almost bent” en anglais). Elles n’existent que pourn impair.

2.1.2 Restriction d’une fonction bool´eenne et fonctions bool´eennes nor-males

Une derni`ere notion que nous allons introduire dans ce chapitre est la restriction d’une fonction bool´eenne `a un sous-espace. Ce concept est central pour d´efinir les fonctions k-normales que nous allons voir par la suite.

D´efinition 2.18. Soitf une fonction bool´eenne `a nvariables, V un sous-espace vectoriel de Fn2 eta∈Fn2. On appelle restriction def `a un translat´ea+V de V, la fonction

f|a+V :V → F2 x 7→ f(a+x).

Nous pouvons voir la restriction def comme une fonction `a dimV variables. Si parW on note un sous-espace suppl´ementaire deV, alors l’ensemble des restrictions{f(a+V), a∈W} forme la d´ecomposition def relativement `aV.

Il existe une relation g´en´erale entre le biais de la restriction d’une fonction et son spectre de Walsh. Plus pr´ecis´ement, la proposition suivante associe le coefficient de Walsh de la restriction d’une fonction, aux coefficients de Walsh de celle-ci.

Proposition 2.3 ([CC03]). Soit f une fonction bool´eenne `a n variables, V un sous-espace de Fn2 de dimension k eta∈W, o`u W un sous-espace suppl´ementaire de V. Alors,

X

vV

(−1)a·vF(f+ϕv) = 2nkF(f|a+V), o`uV est le sous-espace dual de V relativement au produit scalaire :

V={x∈Fn2 | ∀y∈V, x·y= 0}.

Trouver des fonctions bool´eennes qui sont ´equilibr´ees et qui poss`edent une non-lin´earit´e maximale est un probl`eme tr`es important en cryptographie, puisque ces fonctions sont des candidats parfaits pour les applications cryptographiques. Comme nous l’avons d´ej`a vu, des fonctions atteignant une non-lin´earit´e maximale existent et s’appellent fonctions courbes.

Malheureusement, ces fonctions ne sont pas ´equilibr´ees, par cons´equence elles sont rarement utilis´ees dans la construction des primitives sym´etriques. N´eanmoins, il a ´et´e prouv´e qu’une fonction courbe `an variables qui est constante sur un sous-espace affine deFn2 de dimension n/2 est ´equilibr´ee sur tous les autres sous-espaces affines deFn2. Ainsi, Hans Dobbertin [Dob95]

qui cherchait `a construire des fonctions ´equilibr´ees hautement non-lin´eaires `a partir de fonc-tions courbes, a commenc´e par ´etudier des foncfonc-tions courbes avec un nombre pair de variables qui sont constantes sur un sous-espace de dimensionn/2. Il a ensuite ´etudi´e des fonctions qui

`a la place d’ˆetre constantes, sont ´equilibr´ees sur ces mˆemes sous-espaces. Il a nomm´e les fonc-tions courbes de d´epart normales. Plus tard, ces fonctions ont ´et´e g´en´eralis´ees pour inclure des fonctions avec un nombre impair de variables.

D´efinition 2.19. Une fonction bool´eenne f `a n variables est dite normale, si elle est con-stante sur un sous-espace affine U de Fn2 de dimension ⌈n2⌉. Dans ce cas on dit que f est normale par rapport `a U.

Pascale Charpin a ´etendu la notion de la normalit´e [Cha04] pour inclure les fonctions qui sont affines sur un sous-espace affine de dimension⌈n2⌉.

D´efinition 2.20. Une fonction bool´eenne f `a nvariables est dite faiblement normalesi elle est affine sur un sous-espace affineU de Fn2 de dimension⌈n2⌉.

Un probl`eme int´eressant dans le contexte de lanormalit´eest de d´eterminer la plus grande dimension possible d’un sous-espace affineU de fa¸con qu’une fonctionf soit constante surU. D´efinition 2.21. Une fonction bool´eenne f `a n variables est appel´ee k-normale, k ≤ n, s’il existe un sous-espace affine de dimension k sur lequel f est constante. Elle est appel´ee k-faiblement normale si elle est affine sur un sous-espace affine de dimensionk.

La notion de la faible normalit´e conduit `a une borne sup´erieure sur la non-lin´earit´e de la fonction.

Proposition 2.4 (Corollaire V.3, [CCCF01]). Soit f une fonction bool´eenne qui est k-faiblement normale. Alors,

L(f)≥2k.

Dans le document The DART-Europe E-theses Portal (Page 48-53)