• Aucun résultat trouvé

Equivalence monomiale de registres filtr´es

`

A partir de maintenant, nous nous int´eressons `a un unique LFSR filtr´e, et nous d´ecrivons une ´equivalence non-lin´eaire entre plusieurs registres filtr´es. Cette ´equivalence que nous appellerons ´equivalence monomiale a ´et´e introduite par Sondre Rønjom et Carlos Cid `a Fast Software Encryption en 2010 [RC10]. Comme nous venons de le rappeler, les registres filtr´es sont vuln´erables `a plusieurs types d’attaques et, pour s’en pr´emunir, la fonction bool´eenne doit avoir une haute immunit´e alg´ebrique et une haute non-lin´earit´e. Dans cette partie, nous expliquons en quoi l’´equivalence non-lin´eaire affecte ´egalement la s´ecurit´e des registres filtr´es.

D´efinition 4.7 (´Equivalence). On dira qu’un g´en´erateur pseudo-al´eatoire E0

est ´equivalent `a un autre syst`eme E si E0 peut produire la mˆeme suite que le syst`emeE et r´eciproquement, et qu’il existe une bijection entre les ´etats initiaux produisant les mˆemes suites.

On consid`ere un LFSR de taille n, de polynˆome de caract´eristique primitif P (pour assurer la p´eriode maximale), filtr´e par une fonction bool´eenne f que l’on

regarde comme une fonction `a n variables6. On note (ut)t≥0 la suite engendr´ee

6. mˆeme si en pratique, celle-ci prend un bien plus petit nombre de variables que la taille du registre, ce qui signifie que la sortie de la fonction ne d´epend pas de toutes ses variables d’entr´ee, i.e. la fonction a des structures lin´eaires.

par ce LFSR. La suite sortante s est donc d´efinie par st= f (ut, ut+1, . . . , ut+n−1).

On note X0 l’´etat initial du LFSR. Ainsi, ce g´en´erateur filtr´e est d´efini par la donn´ee de P ∈ F2[X] et de f ∈ Bn. Le couple (P, f ) est appel´e la repr´esentation multivari´eedu LFSR filtr´e.

4.4.1 Repr´esentation univari´ee

Comme nous l’avons expliqu´e `a la section pr´ec´edente, nous pouvons identifier l’´etat interne d’un LFSR de taille n `a un ´el´ement du corps F2n au sens de la proposition 4.4. De la mˆeme mani`ere, la fonction de filtrage est vue comme une fonction de F2n dans F2 (c’est-`a-dire vue sous sa repr´esentation univari´ee). Avec ces notations, on consid`ere l’isomorphisme φ de Fn

2 dans le corps fini F2n, d´efini par la base appropri´ee {β0, . . . , βn−1}. Alors, l’´etat interne `a l’instant t du LFSR (Xt∈ F2n) initialis´e par X0= Φ(u0, . . . , un−1) correspond exactement `a

Xt= αtX0

o`u α est une racine (primitive) du polynˆome caract´eristique du LFSR. Dans ces conditions, la valeur de la suite chiffrante `a l’instant t est donn´ee par la relation

st= f ◦ Φ−1(X0αt) .

Ainsi, tout registre filtr´e admet une repr´esentation ´equivalente d´efinie par une racine α ∈ F2n du polynˆome caract´eristique du LFSR, et une fonction F de F2n

dans F2, F = f ◦ Φ−1.

Notation 4.8. On notera les fonctions bool´eennes en majuscule lorsqu’elles sont vues sous forme polynomiale univari´ee et minuscule lorsqu’elles sont vues sous forme alg´ebrique normale (multivari´ee).

De cette repr´esentation univari´ee d´efinie par le couple (α, F ), il est possible de retrouver la repr´esentation multivari´ee (P, f ) : comme P est irr´eductible, ce dernier correspond au polynˆome minimal de α et f est ´egal `a F ◦ Φ o`u Φ est l’isomorphisme de Fn

2 dans F2n associ´e `a la base duale de {1, α, α2, . . . , αn−1}. En revanche, pour une repr´esentation (P, f ) il existe plusieurs valeurs de α possibles : toutes les racines conjugu´ees de P , i.e. α, α2, . . . , α2n−1

. Il y a donc n fonctions de filtrage F possibles en repr´esentation univari´ee associ´ees `a chaque choix de racine de P . Cependant, tous ces choix sont lin´eairement ´equivalents puisqu’ils diff`erent seulement par la composition avec l’application de Frobenius. Or, la composition de F par une application lin´eaire ne change pas les propri´et´es cryptographiques classiquement consid´er´es, notamment l’immunit´e alg´ebrique et la non-lin´earit´e.

La repr´esentation de F sous sa forme univari´ee, c’est-`a-dire sous la forme d’un polynˆome `a coefficients dans F2n peut ˆetre calcul´ee `a l’aide d’une transform´ee de Fourier discr`ete [MS77, Bla83, GG04].

Proposition 4.9 (Transform´ee de Fourier discr`ete d’une fonction). Soit F une fonction de F2ndans F2n. Alors, il existe un unique polynˆome dans F2n[X]/(X2n

+ X) tel que F (X) = 2n−1 X i=0 AiXi . De plus,A2n−1=P

x∈F2nF (x) et les coefficients Ai,0 ≤ i ≤ 2n− 2 sont donn´es par la transform´ee de Fourier discr`ete des valeurs deF prises sur les (2n− 1) ´

el´ements non-nuls de Fn2 : Ai=

2n−2

X

k=0

F (γk−ki,0 ≤ i ≤ 2n− 2 o`u γ est un ´el´ement primitif de F2n.

De mani`ere ´evidente, la valeur de F (0) n’impacte en rien les propri´et´es cryptographiques : cette valeur apparaˆıt seulement lorsque l’´etat interne du registre s’annule, ce qui est ´evidemment `a ´eviter, puisque la suite engendr´ee serait constante.

Cette repr´esentation univari´ee des fonctions vectorielles (de F2n dans F2n) peut aussi ˆetre vue comme un polynˆome interpolateur.

Dans le cas de notre ´etude, la fonction de filtrage est une fonction bool´eenne, c’est-`a-dire que la fonction est `a valeurs dans F2, ce qui implique les relations A2i= A2i pour tout 0 ≤ i ≤ 2n− 2. En d’autres termes, cela signifie que l’on peut regrouper les coefficients en fonction des classes cyclotomiques modulo (2n− 1), afin de retrouver la repr´esentation trace des fonctions bool´eennes (d´efinition 2.12 du chapitre 2) :

F (X) =X

i∈Γ

Trni(AiXi) ,

o`u Γ est l’ensemble de tous les repr´esentants des classes cyclotomiques modulo (2n− 1) et ni correspond `a la taille de la classe cyclotomique de i et Ai∈ F2ni.

4.4.2 Equivalence monomiale´

En utilisant la repr´esentation univari´ee, il est facile de remarquer que pour tout λ ∈ F2n non nul, la suite engendr´ee par le registre filtr´e de polynˆome caract´eristique P et de fonction de filtrage F , initialis´e avec X0 ∈ F2n est exactement la mˆeme que la suite obtenue par le mˆeme LFSR, mais filtr´e par la fonction bool´eenne G(x) = F (λx) pour tout x ∈ F2n et initialis´e par l’´etat initial Y0= λ−1X0. Cependant, cette ´equivalence entre ces registres est une ´equivalence lin´eaire. Ainsi, son int´erˆet cryptographique est limit´e, puisque toutes les fonctions de la forme F (λx) poss`edent les mˆemes propri´et´es cryptographiques classiques que la fonction initiale F .

Cependant, Rønjom et Cid [RC10] ont exhib´e une autre ´equivalence, non-lin´eaire, entre les registres filtr´es. L’id´ee de cette ´equivalence est de modifier la

racine primitive (i.e. le polynˆome caract´eristique du LFSR) utilis´ee pour la mise `

a jour de l’´etat interne.

´

Equivalence non-lin´eaire. Soit α et β deux ´el´ements primitifs du corps fini F2n. Comme ce sont tous deux des ´el´ements primitifs, cela signifie qu’il existe un entier k, premier avec (2n− 1), tel que β = αk. On note Pαet Pβ les polynˆomes minimaux respectifs de α et β. Alors, il est clair que pour tout t ≥ 0, l’´etat interne Xtdu LFSR de polynˆome caract´eristique Pα initialis´e par un ´el´ement arbitraire non nul X0 et l’´etat interne Ytdu LFSR de polynˆome caract´eristique Pβ intialis´e par l’´etat interne Y0= Xk

0 v´erifient la relation Yt= Y0βt= X0kαkt= (X0αt)k= Xtk∀t ≥ 0 .

Finalement, en notant F la fonction de filtrage du LFSR de polynˆome caract´eristique Pα, la suite s produite par ce g´en´erateur filtr´e est donn´ee par la relation

st= F (X0αt) ∀t ≥ 0 .

Soit G la fonction bool´eenne `a n variables d´efinie par la relation G(X) = F (Xr), o`u r est d´efini comme l’inverse de k modulo (2n −1), i.e. kr ≡ 1 mod (2n− 1). Alors la suite sortante s0 du LFSR de polynˆome caract´eristique Pβ, filtr´e par la fonction G et initialis´e par l’´el´ement Y0= Xk

0 satisfait s0t= G(Xtk) = F ((Xtk)r) = F (Xt) = st∀t ≥ 0 .

Le g´en´erateur filtr´e d´efini par (α, F ) est donc ´equivalent (au sens de la d´efinition 4.7) au g´en´erateur d´efini par (β = αk, F (Xr)) o`u r est l’inverse de k modulo (2n−1). Cette ´equivalence entre g´en´erateurs filtr´es est appel´ee ´equivalence monomiale.

Sans faire d’hypoth`ese particuli`ere sur la fonction de filtrage, cette ´equivalence monomiale donne

φ(2n− 1) n

diff´erents g´en´erateurs filtr´es ´equivalents, o`u φ est l’indicatrice d’Euler.

Il est `a noter que seulement les permutations induisent une ´equivalence, i.e. k doit ˆetre premier avec (2n− 1).

Nous avons vu que les racines conjugu´ees impliquent une ´equivalence lin´eaire, ce qui permet de regrouper les g´en´erateurs ´equivalents en groupes de n g´en´erateurs, correspondant aux classes cyclotomiques de k. Comme pgcd(k, 2n−1) = 1, la taille des classes cyclotomiques est n´ecessairement n. Certains cas d´eg´en´er´es de fonctions bool´eennes donnent moins de g´en´erateurs diff´erents dans la classe d’´equivalence : il se pourrait qu’il existe un entier k, pgcd(k, 2n− 1) = 1, tel que pour tout X ∈ F2n, F (Xk) = F (X).

Comme ces g´en´erateurs sont ´equivalents, une attaque par recouvrement de l’´etat initial du g´en´erateur induit par Pβ permet de retrouver l’´etat initial X0du

registre d´efini par Pα, en utilisant la relation X0= Y0r. Finalement, on d´eduit de ces observations la propri´et´e suivante.

Proposition 4.10(G´en´erateurs ´equivalents). Le niveau de s´ecurit´e d’un g´en´era-teur filtr´e est le niveauminimal de s´ecurit´e de l’ensemble des g´en´erateurs dans sa classe d’´equivalence.

Sondre Rønjom et Carlos Cid ont exhib´e cette ´equivalence en se demandant s’il ´etait possible d’attaquer un g´en´erateur ´equivalent dont le polynˆome de r´etroaction serait creux, afin d’am´eliorer les attaques par corr´elation rapides, puisque ceci permettrait d’obtenir des ´equations de petit poids [RC10, page 12]. Cette question reste ouverte.

Exemple 2. Consid´erons une fonction bool´eenne monomiale `a n variables, par exemple Tr(Xr), pour un certain r premier avec (2n− 1). Une telle fonction peut avoir une haute non-lin´earit´e et une haute immunit´e alg´ebrique. On pourrait donc penser qu’il pourrait d’agir d’une bonne fonction de filtrage (pour certains choix de r). Or, d’apr`es ce qui pr´ec`ede, il est possible de consid´erer le g´en´erateur ´equivalent, induit par la permutation X 7→ Xk avec kr ≡ 1 mod (2n− 1). Dans ces conditions, le g´en´erateur initial filtr´e par Tr(Xr) est ´equivalent `a un unique LFSR, dont l’´etat initial peut ˆetre retrouv´e avec une complexit´e quadratique en la taille du registre (O(n2)) `a l’aide de l’algorithme de Berlekamp-Massey.

´

Etant donn´e que les crit`eres cryptographiques sur la fonction de filtrage ne sont pas pr´eserv´es par la transformation X 7→ Xk, il est tout naturel de se demander quel est l’impact de cette ´equivalence non-lin´eaire sur les attaques classiques des g´en´erateurs filtr´es, notamment les attaques alg´ebriques et les attaques par corr´elation rapides. Les r´esultats obtenus avec Anne Canteaut sont d´ecrits dans la suite de ce chapitre et ont ´et´e publi´es `a Fast Software Encryption en 2016 [CR16].