R´
ESEAUX ET CRYPTOGRAPHIE
MASTER CSI, UE CRYPTANALYSE
CHRISTINE BACHOC
1. INTRODUCTION
Nous allons pr´
esenter quelques applications des r´
eseaux euclidiens `
a la
cryptographie, notamment l’utilisation de l’algorithme LLL dans quelques
attaques classiques des cryptosyst`
emes.
2. R ´
ESEAUX EUCLIDIENS,D´
EFINITIONS
L’espace euclidien Rnest muni de son produit scalaire usuel x·y=
x1y1+··· +xnyn. Si xRn, on appelle norme de xla valeur de x·x.
D´
efinition 1. Un r´
eseau Lde Rnest l’ensemble des combinaisons lin´
eaires
`
a coefficients entiers d’une base de Rn
L=Zb1Zb2⊕ ··· ⊕ Zbn.
Exemples:
(1) Le r´
eseau L=Znest appel´
e “r´
eseau carr´
e”. Il a pour base la base
canonique de Rn.
(2) Le r´
eseau hexagonal de dimension 2a pour base les vecteurs de
coordonn´
ees (1,0) et (1/2,3/2). On le notera A2.
Un r´
eseau Ladmet plusieurs bases. Une famille de vecteurs (e1, . . . , en)
est une autre base de Lsi la matrice de passage de (e1, . . . , en)`
a(b1, . . . , bn)
est `
a coefficients entiers et a pour d´
eterminant ±1, c’est-`
a-dire si elle est in-
versible dans Mn(Z). On note Gln(Z)le groupe des matrices `
a coefficients
entiers et de d´
eterminant ±1. Par exemple, les bases du r´
eseau Z2sont ex-
actement les paires de vecteurs {(a, b),(c, d)}tels que a, b, c, d Zet ad
bc =±1. Ainsi, une autre base de Z2est {(44341,38958),(12325,14028)}.
Il est clair que cette derni`
ere base est moins agr´
eable que la base canonique
{(1,0),(0,1)}. Une particularit´
e de cette derni`
ere est qu’elle est constitu´
ee
des vecteurs les plus courts du r´
eseau. Un probl`
eme fondamental, et pour
lequel l’algorithme LLL donne une solution souvent satisfaisante, est, ´
etant
donn´
e un r´
eseau d´
efini par une certaine base, de construire une nouvelle
base form´
ee de vecteurs courts et aussi orthogonaux que possible. Un tel
processus est appel´
e une r´
eduction du r´
eseau.
1
Pr´
ecisons que les transformations que l’on peut effectuer sur une base
(b1, . . . , bn)de L, et qui la transforment en une autre base de L, sont ex-
actement les successions de transformations suivantes:
Changement d’un signe: bi→ −bi
´
Echange de deux vecteurs: (bi, bj)(bj, bi)
Translation: bibi+kbjavec kZ,j6=i
`
A partir d’une base quelconque d’un r´
eseau L, on peut d´
efinir un invariant
du r´
eseau qui d’appelle le d´
eterminant:
D´
efinition 2. Une matrice de Gram de Lest la matrice des produits scalaires
d’une base de L:
G= (bi·bj)1i,jn.
Le d´
eterminant du r´
eseau Lest le d´
eterminant d’une matrice de Gram de
L, et ne d´
epend pas du choix de la base de L.
Proof. En effet, si G0est la matrice de Gram d’une autre base de L, la
matrice de passage Pappartient `
aGLn(Z)donc est de d´
eterminant ±1.
Comme G0=PtGP ,det(G0) = (det(P))2det(G) = det(G). Remar-
quons que, g´
eom´
etriquement, le d´
eterminant de Ls’interpr`
ete de la fac¸on
suivante: (det(L))1/2est le volume du parall´
elotope construit sur une base
de L:
(det(L))1/2= vol({x=
n
X
i=1
xibi: 0 xi1}).
Un r´
eseau Lest une partie discr`
ete de Rnce qui signifie que, pour tout
M, l’ensemble des ´
el´
ements xde Lv´
erifiant x·xMest fini. Cela nous
permet de d´
efinir le minimum de L, qui est atteint pour un nombre fini de
vecteurs de L.
D´
efinition 3. Le minimum de Lest d´
efini par:
min(L) = min{x·x|xL\ {0}}.
L’ensemble des vecteurs minimaux de Lest l’ensemble fini
S(L) = {xL|x·x= min(L)}.
Les deux quantit´
es det(L)et min(L)sont inchang´
ees si on fait agir une
transformation orthogonale sur le r´
eseau L. Si on transforme Lpar une
homoth´
etie xλx, on obtient det(λL) = λ2ndet(L)et min(λL) =
λ2min(L). Par cons´
equent, le quotient
γ(L) := min(L)
det(L)1/n
2
appel´
e la constante d’Hermite du r´
eseau L, est invariant par les similitudes
(compos´
ees d’homoth´
eties et de transformations orthogonales). On verra
plus loin que ce quotient mesure la densit´
e de l’empilement de sph`
eres as-
soci´
e au r´
eseau L.
Exemples:
(1) L=Zn. Ce r´
eseau a pour minimum min(L) = 1, et poss`
ede 2n
vecteurs minimaux. De plus det(L) = 1,γ(L) = 1.
(2) L=A2. On a min(L)=1, le r´
eseau a 6vecteurs minimaux;
det(L) =
1 1/2
1/2 1
= 3/4,γ(L) = 2/3.
(3) Construction de r´
eseaux `
a l’aide de codes binaires: soit Cun code
binaire lin´
eaire de param`
etres [n, k, d]. On d´
efinit
LC:= 1
2{(x1, . . . , xn)Zn: (x1mod 2, . . . , xnmod 2) C}.
On montre que min(LC) = min{2, d/2}et que det(L) = 2n2k.
Ce proc´
ed´
e permet de construire des r´
eseaux int´
eressants comme le
r´
eseau Dn, associ´
e au code de parit´
e, ou le r´
eseau E7, de dimension
7, associ´
e au code de Hamming binaire de param`
etres [7,3,4].
3. R ´
EDUCTION DES R ´
ESEAUX EN DIMENSION 2
En dimension 2, il existe un algorithme tr`
es simple, dˆ
u`
a Gauss, qui per-
met de r´
eduire un r´
eseau. Cet algorithme, que nous allons d´
ecrire, construit
une base (b1, b2)du r´
eseau, v´
erifiant la condition suivante, dite de r´
eduction
de Gauss: si b0
1compl`
ete b1en une base orthogonale positive, alors b2ap-
partient au domaine
D={x=λ1b1+λ2b0
1:|λ1| ≤ 1/2et λ2>0}.
En outre, si cette condition est r´
ealis´
ee, b1est un vecteur minimal de L,
comme le montre le lemme:
Lemme 1. Si L=Zb1Zb2est tel que b2D, alors min(L) = b1·b1.
De plus, on est dans l’un des trois cas suivants:
(1) S(L) = b1}
(2) S(L) = b1,±b2}
(3) S(L) = b1,±b2,±(b1+b2)}et b1·b2=1/2
(i.e. le r´
eseau est hexagonal).
Proof. Supposons b1·b1= 1. Pour x=x1b1+x2b2L, on a x·x=
x2
1+ 2x1x2(b1·b2) + x2
2(b2·b2). Donc x·xx2
1x1x2+x2
2. L’expression
x2
1x1x2+x2
2est une forme quadratique d´
efinie positive qui prend des
3
valeurs enti`
eres sur les entiers. Donc x·x1. De plus, x·x= 1 ne peut
ˆ
etre r´
ealis´
e que si on a les ´
egalit´
es
1 = x·x=x2
1+ 2x1x2(b1·b2) + x2
2(b2·b2) = x2
1x1x2+x2
2= 1
soit (x1, x2) = (±1,0),(0,±1) ou ±(1,1). Ce dernier cas impose en outre
que b1·b2=1/2et b2·b2= 1 c’est-`
a-dire que le r´
esequ Lest hexagonal.
L’algorithme de Gauss est le suivant:
Entr´
ee: Une base (b1, b2)de Ltelle que b1·b1b2·b2
Sortie: Une base (b1, b2)de Lv´
erifiant la condition de r´
eduction de
Gauss:
1. Remplacer b2par b2− bb1·b2
b1·b1eb1
2. Si b1·b1> b2·b2,´
echanger b1et b2et retourner `
a l’´
etape 1..
Sinon, changer ´
eventuellement b2en b2, puis sortir.
Il est clair que, si l’algorithme termine, il sort une base v´
erifiant la con-
dition de r´
eduction de Gauss.
La preuve que l’algorithme termine repose sur le fait que, `
a chaque renvoi
`
a 1., la valeur de b2·b2a diminu´
e strictement. Un r´
eseau ´
etant un ensemble
discret, elle ne peut prendre qu’un nombre fini de valeurs.
La complexit´
e de cet algorithme est quadratique. Remarquer la similitude
avec l’algorithme d’Euclide. Il n’existe pas d’algorithme de r´
eduction aussi
simple en dimension sup´
erieure. Par contre l’algorithme LLL est un algo-
rithme de complexit´
e polynomiale, qui construit une base d’un r´
eseau non
optimalement r´
eduite mais souvent satisfaisante. Nous allons maintenant
´
etudier cet algorithme.
4. ORTHOGONALISATION DE GRAM-SCHMIDT
Soit {b1, . . . , bn}une base de Rn. L’orthogonalisation de Gram-Schmidt
de cette base est une base de Rnnot´
ee {b
1, . . . , b
n}, qui v´
erifie les propri´
et´
es
suivantes:
(1) Elle est orthogonale, i.e. b
i·b
j= 0 si i6=j
(2) Pour tout i1,{b
1, . . . , b
i}engendre le mˆ
eme sous-espace vecto-
riel que {b1, . . . , bi}
(3) (Normalisation) Les deux propri´
et´
es pr´
ec´
edentes caract´
erisent les
vecteurs b
i`
a multiplication par un scalaire pr`
es. Nous imposons en
outre que b
i=biplus une combinaison lin´
eaire des bjavec j < i,
ce qui caract´
erise alors compl`
etement les b
i.
Proposition 1. On a bi=Pi
j=1 ui,jb
javec ui,i = 1 et ui,j =bi·b
j
b
j·b
j
.
4
Preuve: D’apr`
es la condition 2., il existe des coefficients ui,j tels que
(1) bi=
i
X
j=1
ui,jb
j.
La condition 3. ´
equivaut `
aui,i = 1. Si on calcule le produit scalaire avec
b
jde cette ´
egalit´
e, puisque les b
jsont deux `
a deux orthogonaux, on trouve
bi·b
j=ui,jb
j·b
j
et donc
(2) ui,j =bi·b
j
b
j·b
j
.
La proposition pr´
ec´
edente permet de calculer les ui,j par r´
ecurrence sur i
facilement. Posons
a2
i:= b
i·b
iavec ai>0.
En effet, pour i= 1, il n’y a que u1,1= 1 (b
1=b1) et donc a2
1=b1·b1.
L´
equation (2) nous permet de calculer u2,1, puis a2
2puisque on a b2·b2=
b
2·b
2+u2
2,1a2
1, et ainsi de suite.
R´
eciproquement, en inversant la matrice triangulaire des ui,j, on peut
calculer les b
ien fonction des bi. Retenons pour usage ult´
erieur la formule:
(3) bi·bi=
i
X
j=1
u2
i,ja2
j.
4.1. Interpr´
etation matricielle: Soit Bla matrice dont les colonnes sont
les vecteurs bi,Bla matrice dont les colonnes sont les vecteurs b
i, et Ala
matrice diagonale dont les coefficients diagonaux sont a1, a2, . . . , an.
On a : (B)tB=A2. Si on pose K=BA1, cette matrice v´
erifie
KtK= Id et est donc orthogonale. D’autre part, si Uest la matrice trans-
pos´
ee des ui,j, compl´
et´
ee par des z´
eros en posant ui,j = 0 si i<j(Uest
donc une matrice triangulaire sup´
erieure, avec des 1sur la diagonale), on a
B=BU, et donc finalement
B=KAU
(d´
ecomposition d’Iwasawa de B).
En particulier, de B=BUil vient G=BtB=UtA2U, et, comme la
matrice Uest de d´
eterminant ´
egal `
a1,
5
1 / 15 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !