Vous êtes sur la page 1sur 72

Registre dcalage

rtroaction linaire
Le registre dcalage rtroaction linaire
Le registre dcalage rtroaction linaire constitue llment de base des
gnrateurs pseudo-alatoires utiliss pour la gnration de la suite chiffrante.
Dnition 1 Un registre dcalage rtroaction linaire binaire de longueur
L est compos dun registre dcalage contenant une suite de L bits
(s
i
, . . . , s
i +L1
) et dune fonction de rtroaction linaire.
On lappelle aussi par son acronyme anglais:
LFSR (Linear Feedback Shift Register)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Fonctionnement dun LFSR binaire de longueur L
A chaque top dhorloge, le bit de poids faible s
i
constitue la sortie du registre, et
les autres sont dcals vers la droite ; le nouveau bit s
i +L
plac dans la cellule
de poids fort du registre est donn par une fonction linaire :
s
i +L
=c
1
s
i +L1
+c
2
s
i +L2
+ +c
L1
s
i +1
+c
L
s
i
o les coefcients c
i
sont binaires.
Figure 1 : Registre dcalage rtroaction linaire de longueur L.
Dnition 2 Les bits (s
0
, . . . , s
L1
) qui dterminent entirement la suite produite
constituent ltat initial du registre.
La suite (s
n
)
n0
produite par un LFSR de longueur L est donc une suite a rcur-
rence linaire homogne dordre L. Inversement, ce type de suite peut toujours
tre produite par un LFSR.
On peut remarquer quune telle suite est ultimement priodique, cest--dire
quil existe une pr-priode n
0
telle que la suite (s
n
)
nn
0
est priodique.
Proposition 1 La suite s est ultimement priodique, de priode
T 2
L
1
(i.e. il existe un entier i
0
tel que s
i
=s
i +T
pour tout i i
0
).
Si, de plus, c
L
=1, la suite s est priodique (i.e. s
i
=s
i +T
pour tout i 0).
Dmonstration
Notons R
i
= (s
i
, s
i +1
, . . . , s
i +L1
) le i -me registre. Celui-ci dtermine com-
pltement les registres ultrieurs. Ce registre peut prendre au plus 2
L
tats.
Sil atteint ltat 0 = (0, . . . , 0) alors les registres successifs sont tous nuls et la
suite elle-mme est nulle partir de l.
Sil nest jamais nul, parmi [R
0
, R
1
, . . . , R
2
L
1
], au moins deux registres sont
identiques. Supposons R
i
0
= R
i
0
+T
; alors la suite des registres
[R
i
0
, R
i
0
+1
, . . . , R
i
0
+T1
] se rpte indniment.
On a donc s
i
=s
i +T
pour tout i i
0
avec T 2
L
1.
16
On peut interprter aussi la relation entre deux registres successifs en termes
matriciels. Notons
A =
_
_
_
_
_
_
_
_
_
_
0 1 0 0 . . . 0
0 0 1 0 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 0 1 0
0 0 . . . 0 0 1
c
L
c
L1
. . . c
3
c
2
c
1
_
_
_
_
_
_
_
_
_
_
En considrant les R
i
comme des vecteurs colonnes, on a
R
i +1
= AR
i
.
Ainsi, on a R
n
= A
n
R
0
.
Remarquons que le dterminant de A est gal c
L
. Ainsi, si c
L
=1, la matrice
A est inversible et le LFSR ne passe jamais par le registre nul. La condition
R
i
0
= R
i
0
+T
devient A
i
0
R
0
= A
i
0
+T
R
0
mais comme A est inversible, on en
dduit R
0
= A
T
R
0
=R
T
et la suite s est priodique. 17
Complexit linaire des LFSRs.
Associons la suite (s
n
)
n0
la srie gneratrice
s(X) =

n0
s
n
X
n
.
Dnition 3 Soit un LFSR dont la fonction de rtroaction est donne par la rela-
tion
s
i +L
=c
1
s
i +L1
+c
2
s
i +L2
+ +c
L1
s
i +1
+c
L
s
i
.
Son polynme de rtroaction f est le polynme de F
2
[X]:
f (X) =1+c
1
X +c
2
X
2
+ +c
L
X
L
.
On peut alors crire le dveloppement en srie formelle de la suite (s
n
)
n0
sous
forme dune fraction rationnelle.
18
Proposition 2 La suite (s
n
)
n0
est produite par un LFSR dont le polynme de
rtroaction est f (X) = 1 +c
1
X +c
2
X
2
+ +c
L
X
L
si et seulement si son
dveloppement en srie formelle s(X) =

n0
s
n
X
n
scrit
s(X) =
g(X)
f (X)
o g est un polynme de F
2
[X] tel que deg(g) <deg( f ). En outre, le polynme
g est entirement dtermin par ltat initial du registre :
g(X) =
L1

i =0
X
i
i

j =0
c
i j
s
j
.
Dmonstration
On a: g(X) =s(X) f (X). Soit, pour tout i 0 g
i
=
L

j =0
s
i j
c
j
.
Les formules qui se dduisent de cette quation impliquent que g est un polynme
partir du rang L. 19
An dobtenir une forme canonique de la srie gnratrice de (s
n
)
n0
, on dnit
le polynme de rtroaction minimal de la suite (ou du registre) : cest un
diviseur de f (X), qui de plus est le polynme de plus bas degr parmi les
polynmes de rtroaction de tous les LFSRs possibles qui gnrent la suite (s
n
)
n0
.
Dnition 4 Soit (s
n
)
n0
une suite binaire rtroaction linaire dordre L dont
ltat initial est non nul. Son polynme de rtroaction minimal est lunique polynme
unitaire f
0
de F
2
[X] tel quil existe g
0
F
2
[X], avec deg(g
0
) < deg( f
0
) et
pgcd(g
0
, f
0
) =1, vriant
s(X) =
g
0
(X)
f
0
(X)
La complexit linaire du LFSR produisant la suite (s
n
)
n0
, note (s), est alors
gale au degr de f
0
.
En clair, la complexit linaire dun LFSR produisant une suite (s
n
)
n0
est
la longueur du plus petit LFSR permettant dengendrer (s
n
)
n0
.
Exemple Soit (s
n
)
n0
la suite produite par le LFSR suivant :
Son polynme de rtroaction est :
f (X) = X
10
+X
7
+X
4
+X
3
+X +1.
Soit g le polynme dtermin par ltat initial du registre :
g(X) =
9

n=0
X
n
n

i =0
c
ni
s
i
= X
7
+X +1
La srie gnratrice de (s
n
)
n0
est :
s(X) =

n0
s
n
X
n
=
g(X)
f (X)
=
X
7
+X +1
X
10
+X
7
+X
4
+X
3
+X +1
=
1
X
3
+1
.
On a donc f
0
(X) = X
3
+1, et (s
n
)
n0
peut tre gnre par un LFSR de
longueur 3. La complexit linaire du LFSR est donc 3. 20
Proposition 3 Si le polynme de rtroaction minimal du LFSR est primitif et
que son tat initial est non nul, alors la suite produite (s
n
)
n0
est de priode
maximale 2
(s)
1 et est dite suite de longueur maximale.
Dmonstration
Soit f le polynme de rtroaction minimal du LFSR. Un calcul simple montre
que le polynme caractristique de la matrice A =
_
_
_
0 1 0 0 . . . 0
0 0 1 0 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 0 0 1
c
L
c
L1
. . . c
3
c
2
c
1
_
_
_
est
X
L
f (X
1
) =

f (X).
Les valeurs propres de A sont les racines de

f . Elles sont toutes distinctes, et
dordre 2
L
1, puisquelles sont gnratrices du groupe cyclique F
2
L
.
Donc A est dordre 2
L
1, et cest la priode de la suite (s
n
)
n0
.
Critres statistiques
On demande une suite pseudo-alatoire, priodique de priode N, de satisfaire
certaines des proprits des suites authentiquement alatoires.
Parmi ces proprits, les plus classiques sont les trois critres de Golomb, pro-
poss par celui-ci en 1982.
Bien sr, ces conditions ne garantissent en aucun cas la scurit cryptographique!
21
1. Dans chaque priode, le nombre de 0 est approximativement gal au nombre
de 1:

N1

i =0
(1)
s
i

1.
2. Une srie (de 0 ou de 1) est une succession de bits identiques, maximale (i.e.
encadre par des bits opposs). Dans chaque priode, soit S lensemble des
sries; si 2
k
|S| <2
k+1
, on trouve |S|/2 sries de longueur 1, |S|/4 sries de
longueur 2, . . . , |S|/2
k
sries de longueur k, et pour chaque longueur, autant de
sries de 0 que de sries de 1.
3. La fonction dauto-corrlation prend deux valeurs, suivant que =0 ou non:
C() :=
N1

i =0
(1)
s
i
+s
i +
.
Proposition 4 Dans une suite de longueur maximale 2
L
1, toute suite
(s
i
, s
i +1
, . . . , s
i +L1
) de L lments non tous nuls apparat une et une seule
fois par priode.
Dmonstration
Un registre R
i
= (s
i
, s
i +1
, . . . , s
i +L1
) ne peut apparatre quune fois par
priode. Or il y a 2
L
1 registres par priode et les registres prennent au plus
2
L
1 valeurs. Donc ils prennent toutes les valeurs une fois.
Corollaire 1 Le premier critre de Golomb est vri.
Dmonstration
Tout registre R
i
= (s
i
, s
i +1
, . . . , s
i +L1
) apparat une et une seule fois. Son
premier lment s
i
prendra donc 2
L1
fois la valeur 1, et 2
L1
1 fois la valeur
0, car il ne peut pas prendre la valeur (0, . . . , 0).
Corollaire 2 Le deuxime critre de Golomb est vri.
Dmonstration
Comptons le nombre de fois quapparat une suite de exactement k zros. Cela
revient compter le nombre de fois quapparat une suite forme de (1, 0, . . . , 0
. .
k
, 1)
au dbut dun registre. Comme tous les registres R
i
= (s
i
, s
i +1
, . . . , s
i +L1
)
apparaissent une et une seule fois, un registre compos de
(1, 0, . . . , 0
. .
k
, 1, s
i +k+2
, . . . , s
i +L1
)
apparat 2
Lk2
fois.
22
Corollaire 3 Le troisime critre de Golomb est vri.
Dmonstration
La suite (s
i
)
0i N1
est obtenue par une relation de rcurrence linaire lie au
registre dcalage donn. La suite (s
i +
)
0i N1
est aussi obtenue par une
relation de rcurrence linaire lie au mme registre dcalage (obtenue aprs
un dcalage de ).
La relation de rcurrence tant linaire, la suite (s
i
+s
i +
)
0i N1
est encore
donne par le mme registre dcalage. Il existe donc une suite (t
i
)
0i N1
(toujours donne par le mme registre dcalage) telle que
t
i
=s
i
+s
i +
pour 0 i N 1. Daprs le premier corollaire, on a donc, si =0
C() :=
N1

i =0
(1)
s
i
+s
i +
=
N1

i =0
(1)
t
i
=1.
23
Lalgorithme de Berlekamp-Massey
On supposera pour simplier que la suite produite par le LFSR est une suite
de longueur maximale.
Un tel gnrateur nest pas cryptographiquement sr, cause de lalgorithme de
Berlekamp-Massey, qui calcule (en temps quadratique) la complexit linaire et
un polynme engendrant une suite nie.
Le lemme suivant montre quil suft de connaitre 2L bits conscutifs de la suite
pour la retrouver entirement.
Lemme 1 Soit s une suite rcurrente de longueur maximale, de complexit linaire
L. Si on connait 2L termes conscutifs de cette suite, alors on peut calculer les
coefcients de rcurrence en inversant un systme linaire de taille L L.
Dmonstration. On a la relation linaire:
_
_
_
_
_
_
_
_
s
i
s
i +1
s
i +2
. . . s
i +L1
s
i +1
s
i +2
s
i +3
. . . s
i +L
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
s
i +L2
.
.
. . . . . . . s
i +2L3
s
i +L1
.
.
. . . . . . . s
i +2L2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
c
L
c
L1
.
.
.
c
2
c
1
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
s
i +L
s
i +L+1
.
.
.
s
i +2L2
s
i +2L1
_
_
_
_
_
_
_
_
Il suft de montrer que la matrice S de ce systme est inversible. Ses colonnes
sont les vecteurs associs aux registres R
i
,. . . ,R
i +L1
. Une combinaison linaire
nulle non triviale quivaut
a
i
R
i
+ +a
i +L1
R
i +L1
=0
donc
(a
i
+ +a
i +L1
A
L1
)R
i
=0
donc lexistence dun polynme P non nul de degr au plus gal L1 tel que
P(A)R
i
=0. Par hypothse, le polynme caractristique de A, gal au polynme
rciproque du polynme de rtroaction, est irrductible de degr L, donc premier
P, donc P(A) est inversible. 24
Thorme 1 Soit (s
n
)
n0
une suite binaire rcurrence linaire de complexit
linaire (s). Lalgorithme de Berlekamp-Massey dtermine lunique LFSR de
longueur (s) qui gnre (s
n
)
n0
partir de nimporte quelle suite de 2(s)
bits conscutifs de (s
n
)
n0
.
La complexit linaire dun LFSR est donc un paramtre dterminant pour sa
scurit cryptographique: lobservation dun petit nombre de bits seulement de
la suite permet en effet de la reconstituer entirement si (s) est petit.
Aussi sattache-t-on gnralement utiliser des LFSRs dont la complexit linaire
est gale leur longueur. Cest en particulier possible si le polynme de
rtroaction f est irrductible; on est alors assur quil est impossible dengendrer
(s
n
)
n0
laide dun LFSR plus court.
25
5.3 Description de lalgorithme
Dans la pratique cryptographique, lattaquant connait seulement un morceau de
la suite s, et il essaie de deviner les bits suivants. En particulier, il peut chercher
si ce bout de suite est le dbut dun LFSR.
Dans cette direction, on tend la notion de complexit linaire aux suites nies:
Dnition 5 Etant donne une suite s =(s
0
, . . . , s
n1
), et un polynme
f =1+c
1
x + +c
L
x
L
(maintenant f nest plus ncessairement de degr exactement gal L), on
dit que (L, f ) engendre s si
s
j
=
L

i =1
c
i
s
j i
pour tout j =0, . . . , n 1.
Le plus petit L convenable sappelle la complexit linaire de s et se note (s).
26
Lalgorithme utilise le lemme suivant
Lemme 2 Soit L
n
la longueur minimale dun LFSR qui engendre les bits
s
0
, s
1
, . . . , s
n1
mais qui nengendre pas s
0
, s
1
, . . . , s
n
. Alors la longueur
minimale L
n+1
dun LFSR engendrant s
0
, s
1
, . . . , s
n1
vrie
L
n+1
max(n +1L
n
, L
n
)
Lalgorithme de Belekamp-Massey permet de calculer un (L, f ) associ s,
avec L = (s). En fait lalgorithme calcule un couple (L, f ) avec L minimal,
successivement pour les suites tronques s
(1)
, s
(2)
,. . . , s
(k)
,. . . , s = s
(n)
, o
s
(i )
=(s
0
, . . . , s
i 1
).
Le temps de calcul de cet algorithme est en n
2
.
27
On peut maintenant dcrire lalgorithme.
Thorme 2 Supposons pour k 1 avoir calcul un couple (L, f ) associ
s
(k)
avec L =(s
(k)
). Soit
d
k
:=s
k
+
L1

i =0
c
i
s
kL+i
.
Si d
k
=0, alors (s
(k+1)
) =L et (L, f ) engendre s
(k+1)
.
Si d
k
= 1, alors soit m le plus grand entier tel que m < k et (s
(m)
) < L, et
soit g tel que ((s
(m)
), g) engendre s
(m)
. Alors
(s
(k+1)
) =max(L, k +1L)
s
(k+1)
est engendr par f +x
km
g.
28
Exemple. Appliquons lalgorithme de Berlekamp-Massey la suite
0110010101
de longueur 10. Voici les rsultats fournis par lalgorithme :
k s
k
d
k
L f (X) m g(X)
Le polynme de rtroaction est donc 1+X
4
+X
5
. 29
Combinaison de plusieurs registres
30
Prsentation
Mme lorsque le polynme de rtroaction du registre est choisi de manire appro-
prie, la complexit linaire de la suite produite reste gnralement trop faible
pour se prmunir dune attaque par lalgorithme de Berlekamp-Massey.
An de surmonter cet obstacle et daugmenter la taille de lespace des clefs,
cest--dire le nombre dinitialisations possibles, on utilise m LFSRs en parallle,
et on combine leurs sorties par une fonction boolenne
f : F
m
2
F
2
appele fonction de combinaison.
Figure 1 : Combinaison de LFSRs par une fonction boolenne
31
Dnitions
Dnition 6 Une fonction boolenne m variables est une application de F
m
2
dans F
2
.
On appelle fonction boolenne vectorielle m variables et n composantes une
application de F
m
2
dans F
n
2
: cest la juxtaposition de n fonctions boolennes m
variables.
Dnition 7 On appelle support de la fonction boolenne f lensemble des l-
ments u tels que f (u) =0, et on le note Supp( f ).
On appelle poids de f le cardinal de son support, et on le note wt ( f ).
On dnit galement pour deux fonctions f et g la distance qui les spare par
d( f , g) =wt ( f +g).
Et de manire gnrale, tout vecteur binaire u on associe un poids wt (u) qui
est gal au nombre de ses composantes non nulles.
Une fonction boolenne est entirement caractrise par sa table de vrit, cest-
-dire la liste de tous les lments de F
m
2
avec les valeurs quelle prend en chacun
deux.
32
Exemple
Considrons le cas m = 3. Voici la dnition dune fonction f par sa table de
vrit :
lments de F
3
2
valeur de f
(0, 0, 0) 0
(0, 0, 1) 1
(0, 1, 0) 1
(1, 0, 0) 0
(0, 1, 1) 0
(1, 0, 1) 0
(1, 1, 0) 1
(1, 1, 1) 1
On a ici Supp( f ) ={(0, 0, 1), (0, 1, 0), (1, 1, 0), (1, 1, 1)} et wt ( f ) =4.
33
Forme Algbrique Normale dune fonction boolenne f .
Dnition 8 La Forme Algbrique Normale dune fonction boolenne f m
variables est lunique polynme Q
f
de F
2
[x
1
, . . . , x
m
]/(x
2
1
+x
1
, . . . , x
2
m
+x
m
)
tel que
f (u
1
, . . . , u
m
) =Q
f
(u
1
, . . . , u
m
)
pour tout (u
1
, . . . , u
m
) F
m
2
.
34
Remarque 1 Un polynme Q
f
de F
2
[x
1
, . . . , x
m
]/(x
2
1
+x
1
, . . . , x
2
m
+x
m
) est
souvent reprsent par un polynme de F
2
[x
1
, . . . , x
m
] de degrs partiels au
plus 1 en les x
i
: deg
x
i
1.
Proposition 5 Lapplication qui associe un polynme de F
2
[x
1
, . . . , x
m
] de
degrs partiels 1 son image dans F
2
[x
1
, . . . , x
m
]/(x
2
1
+x
1
, . . . , x
2
m
+x
m
) est
un isomorphisme despaces vectoriel.
Dmonstration
Lapplication est injective, car un polynme de degrs partiels 1 ne peut tre
rduit par des polynmes x
2
i
+x
i
de degr partiels gal 2.
Lapplication est surjective, car un polynme

i
1
,...,i
m
a
i
1
,...,i
m
x
i
1
1
. . . x
i
m
m
est con-
gru

i
1
,...,i
m
a
i
1
,...,i
m
x
j
1
1
. . . x
j
m
m
modulo x
2
1
+x
1
, . . . , x
2
m
+x
m
o j
k
=0 si i
k
=0, j
k
=1 sinon. 35
Dnition 9 Soit f une fonction boolenne m variables. On dnit sa trans-
forme de Mbius comme la fonction
f

: F
m
2
F
2
u

vu
f (v) (mod. 2)
avec v u si et seulement si pour tout i, v
i
=1 u
i
=1.
Ou encore v u si et seulement si pour tout i, u
i
=0 v
i
=0.
36
Proposition 6 La Forme Algbrique Normale dune fonction boolenne f m
variables est gale

u=(u
1
,...,u
m
)F
m
2
f

(u)x
u
1
1
. . . x
u
m
m
Dmonstration :
On le dmontre par rcurrence sur m. Les coefcients de la Forme Algbrique
Normale de f tant binaires, les sommes constituant ces coefcients sont con-
sidres modulo 2.
1) m=1: on a
f (x
1
) = f (0)(1+x
1
) + f (1)x
1
,
et donc
f (x
1
) =( f (0) + f (1))x
1
+ f (0).
37
2) rcurrence : par hypothse, on sait que pour tout a F
2
x, on a :
f (x
1
, . . . , x
m1
, a) =

uF
m1
2

vu
f (v
1
, . . . , v
m1
, a)x
u
1
1
. . . x
u
m1
m1
Or pour toutes les valeurs de (v
1
, . . . , v
m1
) F
m1
2
on a
f (v
1
, . . . , v
m1
, x
m
)
= f (v
1
, . . . , v
m1
, 1)x
m
+ f (v
1
, . . . , v
m1
, 0)(x
m
+1)
= ( f (v
1
, . . . , v
m1
, 0) + f (v
1
, . . . , v
m1
, 1))x
m
+ f (v
1
, . . . , v
m1
, 0)
On a donc bien
f (x
1
, . . . , x
m
) =

uF
m
2

vu
f (v
1
, . . . , v
m
)x
u
1
1
. . . x
u
m
m
38
Proposition 7 Lapplication qui associe un polynme Q de F
2
[x
1
, . . . , x
m
] de
degrs partiels 1 la fonction boolenne (u
1
, . . . , u
m
) Q(u
1
, . . . , u
m
) est
un isomorphisme despaces vectoriels.
Dmonstration
Cette application est surjective puisquon a trouv dans la proposition prc-
dente une Forme Algbrique Normale dune fonction f .
Lespace vectoriel de ces polynmes a pour base la famille des monmes de
degr partiels infrieurs 1, qui a 2
m
lments. Donc lensemble des polynmes
Q tels que deg
x
i
Q 1 a 2
2
m
lments.
Lespace des fonctions de F
m
2
dans F
2
a 2
2
m
lments.
Lapplication est surjective, envoie un ensemble dans un ensemble ayant mme
nombre dlment: elle est donc bijective.
39
Dans la suite une fonction boolenne f sera souvent confondue avec sa Forme
Algbrique Normale Q
f
.
Dnition 10 On appelle degr de f , et on note deg( f ), le degr du polynme
Q
f
. Une fonction de degr 1 est dite afne, et si de plus elle est nulle en 0, elle
est linaire.
40
Pour combiner des LFSRs en vue dun chiffrement ot, on utilise dans lidal
des fonctions quilibres , i.e. dont la sortie est uniformment distribue (ces
fonctions prennent autant de fois la valeur 0 que la valeur 1), de manire ce que
la suite produite ne soit pas biaise; on peut ventuellement utiliser une fonction
qui ne soit pas tout fait quilibre, pour peu que le biais reste inexploitable.
La suite obtenue par combinaison de LFSRs tant galement une suite rcur-
rence linaire, il est indispensable destimer sa complexit linaire.
Puisque f peut tre assimile un polynme, la suite produite par un gnra-
teur sera construite partir des suites engendres par les m LFSRs laide de
sommes et de produits terme--terme. Il convient donc dtudier la complexit
linaire dune suite rsultant de la somme ou du produit dautres suites.
41
Proposition 8 Soient (u
n
)
n0
et (v
n
)
n0
deux suites rcurrence linaire de
polynmes de rtroaction minimaux respectifs f
u
et f
v
. Alors leur somme est
une suite rcurrence linaire. La complexit linaire de leur somme vrie
(u +v) (u) +(v)
avec galit si et seulement si pgcd( f
u
, f
v
) =1.
De plus, dans le cas de lgalit, la priode de leur somme est gale au ppcm
des priodes de (u
n
)
n0
et (v
n
)
n0
.
42
Dmonstration
La complexit linaire de la suite (u
n
)
n0
est le degr de son polynme de
rtroaction minimal, cest--dire de lunique polynme unitaire f
u
de F
2
[X] tel
que
il existe g
u
F
2
[X], avec deg(g
u
) < deg( f
u
) et pgcd(g
u
, f
u
) = 1, vriant
u(X) =

u
n
X
n
=
g
u
(X)
f
u
(X)
.
De mme pour la suite (v
n
)
n0
, et v(X) =

v
n
X
n
=
g
v
(X)
f
v
(X)
.
Formons u +v:
(u +v)(X) =

(u
n
+v
n
)X
n
=
g
u
(X)
f
u
(X)
+
g
v
(X)
f
v
(X)
=
g
u
(X) f
v
(X) +g
v
(X) f
u
(X)
f
u
(X) f
v
(X)
=
g
u+v
(X)
f
u+v
(X)
o la dernire fraction est irrductible. On a donc
(u +v) =deg f
u+v
f
u
(X) f
v
(X) =(u) +(v)
43
Proposition 9 Soient (u
n
)
n0
et (v
n
)
n0
deux suites rcurrence linaire de
polynmes de rtroaction minimaux respectifs f
u
et f
v
. Alors leur produit est une
suite rcurrence linaire.
La complexit linaire de leur produit vrie
(uv) (u)(v)
avec galit si les polynmes f
u
et f
v
sont primitifs, et si
PGCD((u), (v)) =1.
Dans ce cas, la priode de (uv
n
)
n0
est gale au produit des priodes de
(u
n
)
n0
et (v
n
)
n0
.
44
Dmonstration
On a u(X) =

u
n
X
n
=
g
u
(X)
f
u
(X)
et (v
n
)
n0
, et v(X) =

v
n
X
n
=
g
v
(X)
f
v
(X)
.
Formons uv:
(uv)(X) =

(u
n
v
n
)X
n
45
Une fraction rationnelle h F
2
(X) se met de manire unique sous la forme
h(X) =B(X) +

i
A
i
(X)
(X
i
)
n
i
(1)
o A
i
(X) et B(X) sont des polynmes et deg A
i
<n
i
.
Supposons que les polynmes f
u
et f
v
soient sans racines multiples. Alors il
existe des lments
1
, . . . ,
L
u
de F
2
L
u
tels que
g
u
(X)
f
u
(X)
=
L
u

i =1

i
X 1
do
u(X) =

n
u
n
X
n
=
g
u
(X)
f
u
(X)
=
L
u

i =1

n
(
i
X)
n
=

n
X
n
L
u

i =1

i
(
i
)
n
do
u
n
=
L
u

i =1

i
(
i
)
n
De mme il existe des lments
1
, . . . ,
L
v
de F
2
L
v
tels que
v
n
=
L
u

i =1

i
()
n
o les
1
, . . . ,
L
v
sont les racines inverses de f
v
.
Donc on a u
n
v
n
=

i , j

j
(
i

j
)
n
et
uv(X) =

n
u
n
v
n
X
n
=

i , j

j
(
i

j
X)
n
=

i , j

n
(
i

j
X)
n
=

i , j

j
1
i

j
X
=
g
uv
(X)
f
uv
(X)
avec f
uv
(X) =

i , j
(1
i

j
X). Ce polynme est invariant par la transformation
x x
2
. Par consquent il appartient F
2
[X]. On a donc
(uv) deg( f
uv
) =L
u
L
v
=(u)(v)
46
Pour voir si (uv) =L
u
L
v
, il faut vrier que
g
uv
(X)
f
uv
(X)
est irrductible. Comme

i , j

j
1
i

j
X
=
g
uv
(X)
f
uv
(X)
,
cela revient dire que

i

j
=0;
les
i

j
sont tous distincts.
Les polynmes f
u
et f
v
tant des polynmes de rtroaction minimaux, on a

i
=0 et
i
=0. Donc
i

j
=0.
Si les
i

j
ne sont pas tous distincts, il existe i et j tels que
i
=
j
=1. On a

i
F
2
L
u
et
j
F
2
L
v
, donc il existe un sous-corps commun F
2
L
u
et F
2
L
v
,
ce qui veut dire que PGCD(L
u
, L
v
) =1.
47
Thorme 3 Soient m LFSRs binaires dont les polynmes de rtroaction sont
primitifs et de degrs L
1
, . . . , L
m
deux--deux premiers entre eux. Alors la
complexit linaire de la suite produite en combinant ces LFSRs par la fonction
boolenne f m variables est gale
L = f (L
1
, . . . , L
m
)
o f est vue comme un polynme de Z[x
1
, x
2
, . . . , x
m
] et est value sur les
entiers.
On en dduit donc quune fonction de combinaison doit non seulement tre quili-
bre, mais aussi avoir un degr le plus lev possible.
48
Exemple
Le gnrateur de Geffe (1973)
Le gnrateur de Geffe est dni par 3 LFSRs dont les polynmes de rtroaction
sont primitifs et de degrs L
1
, L
2
et L
3
deux--deux premiers entre eux. Ces
registres sont assembls par la fonction boolenne
f (x
1
, x
2
, x
3
) =x
1
x
2
+x
2
x
3
+x
3
La complexit de la suite produite par ce gnrateur est donc L
1
L
2
+L
2
L
3
+L
3
.
49
Le gnrateur de Geffe
f (x
1
, x
2
, x
3
) =x
1
x
2
+x
2
x
3
+x
3
=x
1
x
2
+(x
2
+1)x
3
50
Ce gnrateur de Geffe a deux avantages importants.
Dune part, son rendement comporte une distribution moyenne gale 0 et 1,
qui est trs rarement le cas quand des oprations de logique du type de produit
sont prsentes.
Dautre part, pour dcoder ce dispositif sans savoir la clef, il serait ncessaire de
rsoudre un systme de n
d
quations, avec n
d
= n
a
+n
b
+n
c
(n
a
, n
b
, n
c
indiquant le nombre de registre de A, B et C respectivement), mais ces quations
sont non-linaires et la solution du systme est difcile.
51
Attaque par corrlation de Siegenthaler
Cette attaque, dveloppe par T. Siegenthaler est de type "diviser pour mieux
rgner" : elle consiste retrouver linitialisation de chacun des registres indpen-
demment des autres.
Pour cela, on exploite lexistence dune ventuelle corrlation entre la sortie de
la fonction de combinaison f et lune de ses entres.
On va regarder un exemple sur le gnrateur de Geffe.
52
Problme: pour une suite de sortie s(t) donne, retrouver la clef qui a permis
de la produire.
f (x
1
, x
2
, x
3
) =x
1
x
2
+(1+x
2
)x
3
=x
1
x
2
+x
2
x
3
+x
3
(mod. 2)
Probabilit de corrlation de la suite x
1
(t ) la suite s(t ):
P(s(t ) =x
1
(t )) = P(x
2
(t ) =1) + P(x
2
(t ) =0) P(x
3
(t ) =x
1
(t ))
=
1
2
+
1
2
1
2
=
3
4
De mme, P(s(t ) =x
3
(t )) =3/4.
On essaye toutes les initialisations du 1
er
registre jusqu ce que le nombre
de concidences entre la suite de sortie s(t) et la sortie x
1
(t) de R
1
soit
probabilit p de corrlation.
Trouver ltat initial de R
1
prendra 2
L
1
essais.
En rptant lopration pour les deux autres registres, ltat initial de chaque
LFSR peut tre dtermin en environ
2
L
1
+2
L
2
+2
L
3
essais
Ce nombre est bien plus petit que le nombre de diffrentes clefs qui est
environ
2
L
1
+L
2
+L
3
.
53
Thorme 4 Soit f une fonction boolenne de combinaison m variables. Pour
1 i m, on note
p
i
=Pr [ f (X
1
, . . . , X
m
) = X
i
]
o les X
i
sont m variables alatoires indpendantes uniformment distribues
dans F
2
. Soient c
1
, . . . , c
N
N bits de la suite chiffrante. Alors la corrlation
i
entre le chiffr et la sortie du i-me LFSR, dnie par

i
=
N

j =1
(1)
c
j
(1)
s
i
j
est une variable alatoire de moyenne m
i
et de variance
2
i
, avec
m
i
=N(2p
i
1) et
2
i
=4Np
i
(1p
i
)
De mme, la corrlation
0
entre la suite chiffrante et une suite alatoire s
0
indpendante de s
1
, . . . , s
m
est une variable alatoire de moyenne m
0
et de
variance
2
0
, avec
m
0
=0 et
2
0
=N.
54
On suppose x i . On le supprimera des formules.
On a

i
=
N

j =1
(1)
c
j
(1)
s
i
j
=
N

j =1
(1)
c
j
+s
j
Donc lesprance de
i
est donne par
E() =
N

j =1
E
_
(1)
c
j
+s
j
_
On a
P(c
j
+s
j
=0) =P(c
j
=s
j
) =P( f (X
1
, . . . , X
m
) = X
i
) =p
i
Do
E
_
(1)
c
j
+s
j
_
=1P(c
j
+s
j
=0)+(1)P(c
j
+s
j
=1) =p(1p) =2p1
et
E() =N(2p 1)
Dautre part
E(
2
) = E
_
_
_
N

j =1
(1)
c
j
+s
j
_
2
_
_
=
N

j =1
E
_
_
(1)
c
j
+s
j
_
2
_
+
N

j =j

=1
E
_
(1)
c
j
+s
j
(1)
c
j

+s
j

_
= N +
N

j =j

=1
E
_
(1)
c
j
+s
j
_
E
_
(1)
c
j

+s
j

_
= N +N(N 1)(2p 1)
2
.
La fonction f est indpendante du temps (donc de lindice j ). Par consquent les
vnements c
j
+s
j
et c
j
+s
j
sont indpendants.
La variance est gale
E(
2
) E
2
() = N +N(N 1)(2p 1)
2
(N(2p 1))
2
= 4Np(1p).
55
On voudrait mener une attaque clair connu : on connat un certain nombre de
bits de la suite chiffrante et on voudrait retrouver ltat dinitialisation des registres.
La fonction de combinaison f et les polynmes de rtroaction des n LFSRs tant
supposs connus, lide consiste dterminer linitialisation de chaque LFSR in-
dpendamment les uns des autres.
Pour cela, il suft dutiliser habilement une ventuelle corrlation entre la sortie
() dun registre et la sortie (s) de la suite chiffrante: do une attaque par cor-
rlation.
Si linitialisation du registre i nest pas correcte, la suite () sera compltement
dcorrle de la suite (s) et
i
aura une distribution normale de moyenne nulle
et de variance N.
Par contre, si linitialisation du registre est correcte, la corrlation
i
entre la suite
s et suit une loi normale de moyenne non nulle.
56
Lalgorithme est alors le suivant :
Calculer p
i
,
pour chacune des (2
L
i
1) initialisations possibles du i me registre,
calculer la corrlation entre la suite s et produite sur N bits,
si
i
N(12p
i
) alors linitialisation est correcte sinon linitialisation nest
pas correcte.
Lattaque par corrlation de Siegenthaler permet donc de retrouver linitialisation
des registres en

j,p
j
=0,5
(2
L
j
1) +

j,p
j
=0,5
(2
L
j
1) essais,
alors quune recherche exhaustive ncessite
m

j=1
(2
L
j
1) essais,
Des rafnements de cette attaque ont t tudis par W. Meier et O. Staffelbach,
ainsi que V. Chepyzhov et B. Smeets.
57
Dans un systme combinant m LFSR on peut viter ce type dattaque en choi-
sissant f non corrle lordre k pour k petit.
Dnition 11 On dit que f est non-corrle lordre k si, pour X
1
, . . . , X
m
des variables alatoires binaires quidistribues indpendantes, la variable ala-
toire f (X
1
, . . . , X
m
) est indpendante des variables

i I
X
i
, o I est un sous-
ensemble de {1, . . . , m} de cardinal au plus gal k.
On dit que f est k-rsiliente si f est non-corrle lordre k, et quilibre.
Cela revient dire que
d
H
_
f ,

i I
x
i
_
=2
m1
,
pour tout sous-ensemble I de cardinal au plus gal k.