Laurent Fousse
laurent.fousse@imag.fr
19 mars 2010
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 1 / 28
Plan
1
Linear Feedback Shift Register
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 2 / 28
Plan
1
Linear Feedback Shift Register
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 3 / 28
Linear Feedback Shift Registers (LFSR)
Un algorithme pour produire un ux de bits.
Utilis comme un gnrateur de nombre alatoire dans le cadre
des chiffrements par ot additifs.
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 4 / 28
Exemple dutilisation: E0
E0 est un chiffrement par ot utilis pour les communications
Bluetooth.
Chiffrement par ot binaire additif
4 LFSR de tailles 25, 31, 33 and 39 bits (total: 128).
4 bits dtat interne.
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 5 / 28
Linear Feedback Shift Registers (Galois setup)
s
m1
s
m2
s
2
s
1
s
0
a
m2
a
m1
a
1
a
2
s
0
= s
m1
s
i
= s
i 1
+s
m1
a
i
for 0 < i < m
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 6 / 28
Linear Feedback Shift Registers (Galois setup)
Proprit du polynme de rtroaction
P(X) = 1 +a
1
X +a
2
X
2
+. . . +a
m1
X
m1
+X
m
U(X) = s
0
+s
1
X +. . . +s
m1
X
m1
U
i =0
s
i
X
i
.
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 16 / 28
Srie formelle associe un LFSR
Theorem
La squence de sortie (s
i
)
i 0
est produite par un LFSR de Fibonacci
avec polynme de rtroaction f (X) = 1 +c
1
X +. . . +c
L
X
L
si et
seulement si
s(X) =
g(X)
f (X)
o g(X) est un polynme coefcients dans F
2
avec deg(g) < deg(f ).
De plus on peut calculer g(X) avec ltat initial du LFSR:
g(X) =
L1
i =0
X
i
i
j =0
c
i j
s
j
.
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 17 / 28
Srie formelle associe un LFSR
Preuve
s(X) f (X) =
_
_
i 0
s
i
X
i
_
_
_
L
i =0
c
i
X
i
_
=
L1
i =0
X
i
_
_
i
j =0
c
i j
s
j
_
_
+
i L
X
i
_
_
L
j =0
c
j
s
i j
_
_
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 18 / 28
Srie formelle associe un LFSR
Preuve
Par dnition on a
s
i
=
L
j =1
c
j
s
i j
donc
s(X) f (X) =
L1
i =0
X
i
_
_
i
j =0
c
i j
s
j
_
_
. .
g(X)
+
i L
X
i
_
_
s
i
+s
i
. .
0
_
_
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 19 / 28
Srie formelle associe un LFSR
Theorem
Tout squence binaire priodique peut tre gnre par un LFSR.
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 20 / 28
Srie formelle associe un LFSR
Preuve
Soit s(X) =
i 0
s
i
X
i
la srie formelle associe la squence priodique
(s
i
)
i 0
de priode :
s
i +
= s
i
X
s(X) =
i 0
s
i
X
i +
i 0
s
i +
X
i +
=
i
s
i
X
i
=
1
i =0
s
i
X
i
+s(X)
(X
+1)
. .
f
(X)
s(X) =
1
i =0
s
i
X
i
. .
g
(X)
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 21 / 28
Srie formelle associe un LFSR
On a montr
s(X) =
g
(X)
f
(X)
=
g(X)
f (X)
o g et f sont premiers entre eux et dnissent un LFSR produisant la
squence (s
i
)
i 0
.
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 22 / 28
Srie formelle associe un LFSR
1
Dcrire un LFSR de Fibonacci calculant la squence (s
i
)
i 0
o
s(X) =
X
2
+X +1
X
3
+X +1
.
2
Dcrire le LFSR minimal calculant la squence rptant le motif
"101011", i. e.
S = 101011101011101011101011. . .
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 23 / 28
Attaques contre des LFSR
partir dun certain nombre de bits du ot chiffrant, lalgorithme
de Berlekamp-Massey retrouve le polynme minimal f (X) dun
LFSR qui le gnre.
En supposant que le polynme f a un degr plus petit que L, il est
ncessaire de connaitre 2L bits de la squence pour trouver f .
Lalgorithme de Berlekamp-Massey a une complexit O(L
2
). Il est
possible dutiliser un algorithme plus simple dont la complexit est
O(L
3
).
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 24 / 28
Relations linaires
Rappel:
s
j
= (c
1
s
j 1
+c
2
s
j 2
+. . . +c
L
s
j L
)
Supposons s
0
, s
1
. . . , s
2L1
connus. On peut crire le systme suivant:
s
L
= (c
1
s
L1
+c
2
s
L2
+. . . +c
L
s
0
)
s
L+1
= (c
1
s
L
+c
2
s
L1
+. . . +c
L
s
1
)
s
L+2
= (c
1
s
L+1
+c
2
s
L
+. . . +c
L
s
2
)
.
.
.
s
2L1
= (c
1
s
2L2
+c
2
s
2L1
+. . . +c
L
s
L1
)
L quations indpendantes avec L inconnues, donc on peut utiliser la
mthode de Gauss.
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 25 / 28
Algorithme de Berlekamp-Massey
Entre: squence de bits (s
0
, s
1
, . . .) gnrs par un LFSR
Sortie: d et des c
0
, c
1
, . . . , c
d
tels que
c
0
s
t
= c
1
s
t 1
+. . . +c
d
s
t d
pour tout t d.
Principe: calculer des polynmes annulateurs de la squence.
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 26 / 28
Algorithme de Berlekamp-Massey
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 27 / 28
Algorithme de Berlekamp-Massey
Exemple sur la squence s
n
= (0, 0, 1, 1, 0, 1, 1, 1, 0).
Laurent Fousse (laurent.fousse@imag.fr) Chiffrements symtriques 19 mars 2010 28 / 28