Modélisations de l'algorithme LLL par des systèmes

Preview:

Citation preview

Modelisations de l’algorithme LLL par des systemes dynamiques

et

analyses probabilistes des modeles

Loıck Lhote

GREYC, ENSICAEN, CNRS-UMR 6072

Rencontres ALEA 2015

Marseille, mars 2015

L. Lhote (GREYC) ALEA 2015 1 / 25

Plan

1 Introduction

Reduction des reseaux

2 Algorithme LLL

3 Modelisations de l’algorithme LLL et de ses entrees

Modeles d’execution (part 1)

Modeles d’entree

4 Resultats obtenus dans les differents modeles

Modele M2 : systeme dynamique de Rd

Modele M3 : systemes dynamiques probabilistes de Rd

Experiences

5 Conclusion

L. Lhote (GREYC) ALEA 2015 2 / 25

Introduction

Generalisations de l’algorithme d’Euclide

Reduction des reseaux

Algorithmes LLL, HKZ, BKZ,

. . .

Modelisation des algorithmes

(tas de sable, CFG, etc.)

Modelisation des entrees

La modelisation des algorithmes

conduit a de nouveaux systemes dy-

namiques

PGCD

Approximation Rationnelle Simultanee

Probleme :

Etant donne −→y ∈ Rn, trouver q ∈ Z avec q ≤ M et−→p ∈ Zn tels que ||q · −→y −−→p || est petit.

Developpement en fractions continues

u

v=

1

m1 +1

m2 +1

...

mp−1 +1

mp + 0

L. Lhote (GREYC) ALEA 2015 3 / 25

Introduction

Generalisations de l’algorithme d’Euclide

Reduction des reseaux

Algorithmes LLL, HKZ, BKZ,

. . .

Modelisation des algorithmes

(tas de sable, CFG, etc.)

Modelisation des entrees

La modelisation des algorithmes

conduit a de nouveaux systemes dy-

namiques

PGCD

Approximation Rationnelle Simultanee

Probleme :

Etant donne −→y ∈ Rn, trouver q ∈ Z avec q ≤ M et−→p ∈ Zn tels que ||q · −→y −−→p || est petit.

Developpement en fractions continues

u

v=

1

m1 +1

m2 +1

...

mp−1 +1

mp + 0

L. Lhote (GREYC) ALEA 2015 3 / 25

Introduction

Generalisations de l’algorithme d’Euclide

Reduction des reseaux

Algorithmes LLL, HKZ, BKZ,

. . .

Modelisation des algorithmes

(tas de sable, CFG, etc.)

Modelisation des entrees

La modelisation des algorithmes

conduit a de nouveaux systemes dy-

namiques

PGCD

Approximation Rationnelle Simultanee

Probleme :

Etant donne −→y ∈ Rn, trouver q ∈ Z avec q ≤ M et−→p ∈ Zn tels que ||q · −→y −−→p || est petit.

Developpement en fractions continues

u

v=

1

m1 +1

m2 +1

...

mp−1 +1

mp + 0

L. Lhote (GREYC) ALEA 2015 3 / 25

Introduction Reduction des reseaux

Reseaux euclidiens

Un reseau euclidien de Rn est un sous-groupe discret de Rn.

Si B := (b1,b2, . . . ,bd) est un systeme de d vecteurs lineairement independants de Rn,

le reseau engendre par B est

L := {x ∈ Rn; x =

d∑i=1

xibi, xi ∈ Z}

Le systeme B := (b1,b2, . . . ,bd) est une base du reseau Ld : dimension du reseau.

L. Lhote (GREYC) ALEA 2015 4 / 25

Introduction Reduction des reseaux

Reseaux euclidiens

Un reseau possede

une infinite de basesProbleme essentiel :Trouver une “bonne base” du reseau L

avec des vecteurs assez courts et assez orthogonaux

a partir d’une base quelconque de L.

[Probleme SVP]

Peut-on trouver une base contenant un plus court

vecteur non nul du reseau ?

But de la reduction : trouver en un temps “raisonnable” une “assez bonne” base.

L’algorithme LLL concu en 1982 par A. Lenstra, H. Lenstra et L. Lovasz

trouve en temps polynomial une assez bonne base d’un reseau.

pour d = 2 : l’algorithme de Gauss trouve la meilleure base

pour d ≥ 3 : l’algorithme LLL generalise l’algorithme de Gauss

L. Lhote (GREYC) ALEA 2015 5 / 25

Introduction Reduction des reseaux

Reseaux euclidiens

Un reseau possede

une infinite de basesProbleme essentiel :Trouver une “bonne base” du reseau L

avec des vecteurs assez courts et assez orthogonaux

a partir d’une base quelconque de L.

[Probleme SVP]

Peut-on trouver une base contenant un plus court

vecteur non nul du reseau ?

But de la reduction : trouver en un temps “raisonnable” une “assez bonne” base.

L’algorithme LLL concu en 1982 par A. Lenstra, H. Lenstra et L. Lovasz

trouve en temps polynomial une assez bonne base d’un reseau.

pour d = 2 : l’algorithme de Gauss trouve la meilleure base

pour d ≥ 3 : l’algorithme LLL generalise l’algorithme de Gauss

L. Lhote (GREYC) ALEA 2015 5 / 25

Introduction Reduction des reseaux

Reduction des reseaux et analyses en moyenne

Analyses probabilistes

H. Daude, P. Flajolet, B. Vallee (annees 90) : analyse en moyenne du nombre

d’iterations de l’algorithme de Gauss (dimension 2)

A. Akhavi, J.F. Marckert, A. Rouault (2007) : un reseau uniforme dans la boule est

deja quasiment reduit

B. Vallee, A. Vera (2008,2010) : analyses en moyenne d’autres parametres de

l’algorithme de Gauss

L. Lhote (GREYC) ALEA 2015 6 / 25

Introduction Reduction des reseaux

Reduction des reseaux et modeles

Modelisations connues

M. Madritsch, B. Vallee (2010) : modelisation de l’algorithme LLL avec des tas desable

phenomenes observes dans l’algorithme LLL et prouves dans le modele de tas de sable

modele M1 dans la suite de l’expose

G. Hanrot, X. Pujol, D. Stehle (2011) : modelisation de BKZ avec un point de vue

tas de sable

M. Georgieva (these, 2013) :

modelisations des reseaux euclidiens issus de la cryptographie

autres modeles d’execution de l’algorithme LLL

L. Lhote (GREYC) ALEA 2015 7 / 25

Algorithme LLL

Principes de l’algorithme

L’algorithme LLL ne fait que des translations et des echanges entre deux vecteurs successifs.

Les translations :

- elles diminuent la norme des vecteurs

- on translate bi+1//bi de maniere a reduire au maximum bi+1

Les echanges :

- ils rendent la base plus orthogonale.

- Si B = (b1, . . . ,bd) est la base,

B? = (b?1, . . . ,b?d) est la base des orthogonalises de Gram-Schmidt.

- Plus les rapports ||b?i+1||/||b?i || sont grands, plus la base B est orthogonale

L. Lhote (GREYC) ALEA 2015 8 / 25

Algorithme LLL

Principes de l’algorithme

L’algorithme LLL ne fait que des translations et des echanges entre deux vecteurs successifs.

Les translations :

- elles diminuent la norme des vecteurs

- on translate bi+1//bi de maniere a reduire au maximum bi+1

Les echanges :

- ils rendent la base plus orthogonale.

- Si B = (b1, . . . ,bd) est la base,

B? = (b?1, . . . ,b?d) est la base des orthogonalises de Gram-Schmidt.

- Plus les rapports ||b?i+1||/||b?i || sont grands, plus la base B est orthogonale

L. Lhote (GREYC) ALEA 2015 8 / 25

Algorithme LLL

Principes de l’algorithme

L’algorithme LLL ne fait que des translations et des echanges entre deux vecteurs successifs.

Les translations :

- elles diminuent la norme des vecteurs

- on translate bi+1//bi de maniere a reduire au maximum bi+1

Les echanges :

- ils rendent la base plus orthogonale.

- Si B = (b1, . . . ,bd) est la base,

B? = (b?1, . . . ,b?d) est la base des orthogonalises de Gram-Schmidt.

- Plus les rapports ||b?i+1||/||b?i || sont grands, plus la base B est orthogonale

L. Lhote (GREYC) ALEA 2015 8 / 25

Algorithme LLL

Principes de l’algorithme

L’algorithme LLL ne fait que des translations et des echanges entre deux vecteurs successifs.

Les translations :

- elles diminuent la norme des vecteurs

- on translate bi+1//bi de maniere a reduire au maximum bi+1

Les echanges :

- ils rendent la base plus orthogonale.

- Si B = (b1, . . . ,bd) est la base,

B? = (b?1, . . . ,b?d) est la base des orthogonalises de Gram-Schmidt.

- Plus les rapports ||b?i+1||/||b?i || sont grands, plus la base B est orthogonale

L. Lhote (GREYC) ALEA 2015 8 / 25

Algorithme LLL

Principes de l’algorithme

L’algorithme LLL ne fait que des translations et des echanges entre deux vecteurs successifs.

Les translations :

- elles diminuent la norme des vecteurs

- on translate bi+1//bi de maniere a reduire au maximum bi+1

Les echanges :

- ils rendent la base plus orthogonale.

- Si B = (b1, . . . ,bd) est la base,

B? = (b?1, . . . ,b?d) est la base des orthogonalises de Gram-Schmidt.

- Plus les rapports ||b?i+1||/||b?i || sont grands, plus la base B est orthogonale

L. Lhote (GREYC) ALEA 2015 8 / 25

Algorithme LLL

Algorithme LLL(t), t ≥ 1

Entrees: B = (b1, . . . ,bd)

Resultat: B = (b1, . . . , bd) t-reduite.

Calculer la base orthogonale B?

Faire les translations utiles

tant que L(t) non satisfaite faireChoisir i tel que L(t, i) non satisfaite

Echanger bi et bi+1

Mettre a jour B?

Faire les translations utilesfin

On note M = (mi,j)i,j la matrice de passage de

B a B?

Condition de Lovasz L(t) : pour tout indice i,

L(t, i) :||b?i+1||2

||b?i ||2≥ 1

t2−m2

i+1,i

translations ⇒ |mi,j | ≤ 12

(base propre)

Une base B d’un reseau L qui est propre est

dite reduite au sens de t- Lovasz si elle verifie

la condition L(t)

Apres un echange, il faut revenir en arriere

pour verifier si la condition de Lovasz est

toujours valide

La strategie classique de LLL consiste a

prendre la premiere base locale non reduite

L. Lhote (GREYC) ALEA 2015 9 / 25

Algorithme LLL

Algorithme LLL(t), t ≥ 1

Entrees: B = (b1, . . . ,bd)

Resultat: B = (b1, . . . , bd) t-reduite.

Calculer la base orthogonale B?

Faire les translations utiles

tant que L(t) non satisfaite faireChoisir i tel que L(t, i) non satisfaite

Echanger bi et bi+1

Mettre a jour B?

Faire les translations utilesfin

On note M = (mi,j)i,j la matrice de passage de

B a B?

Condition de Lovasz L(t) : pour tout indice i,

L(t, i) :||b?i+1||2

||b?i ||2≥ 1

t2−m2

i+1,i

translations ⇒ |mi,j | ≤ 12

(base propre)

Une base B d’un reseau L qui est propre est

dite reduite au sens de t- Lovasz si elle verifie

la condition L(t)

Apres un echange, il faut revenir en arriere

pour verifier si la condition de Lovasz est

toujours valide

La strategie classique de LLL consiste a

prendre la premiere base locale non reduite

L. Lhote (GREYC) ALEA 2015 9 / 25

Algorithme LLL

Algorithme LLL(t), t ≥ 1

Entrees: B = (b1, . . . ,bd)

Resultat: B = (b1, . . . , bd) t-reduite.

Calculer la base orthogonale B?

Faire les translations utiles

tant que L(t) non satisfaite faireChoisir i tel que L(t, i) non satisfaite

Echanger bi et bi+1

Mettre a jour B?

Faire les translations utilesfin

On note M = (mi,j)i,j la matrice de passage de

B a B?

Condition de Lovasz L(t) : pour tout indice i,

L(t, i) :||b?i+1||2

||b?i ||2≥ 1

t2−m2

i+1,i

translations ⇒ |mi,j | ≤ 12

(base propre)

Une base B d’un reseau L qui est propre est

dite reduite au sens de t- Lovasz si elle verifie

la condition L(t)

Apres un echange, il faut revenir en arriere

pour verifier si la condition de Lovasz est

toujours valide

La strategie classique de LLL consiste a

prendre la premiere base locale non reduite

L. Lhote (GREYC) ALEA 2015 9 / 25

Algorithme LLL

Algorithme LLL(t), t ≥ 1

Entrees: B = (b1, . . . ,bd)

Resultat: B = (b1, . . . , bd) t-reduite.

Calculer la base orthogonale B?

Faire les translations utiles

tant que L(t) non satisfaite faireChoisir i tel que L(t, i) non satisfaite

Echanger bi et bi+1

Mettre a jour B?

Faire les translations utilesfin

On note M = (mi,j)i,j la matrice de passage de

B a B?

Condition de Lovasz L(t) : pour tout indice i,

L(t, i) :||b?i+1||2

||b?i ||2≥ 1

t2−m2

i+1,i

translations ⇒ |mi,j | ≤ 12

(base propre)

Une base B d’un reseau L qui est propre est

dite reduite au sens de t- Lovasz si elle verifie

la condition L(t)

Apres un echange, il faut revenir en arriere

pour verifier si la condition de Lovasz est

toujours valide

La strategie classique de LLL consiste a

prendre la premiere base locale non reduite

L. Lhote (GREYC) ALEA 2015 9 / 25

Algorithme LLL

Algorithme LLL(t), t ≥ 1

Entrees: B = (b1, . . . ,bd)

Resultat: B = (b1, . . . , bd) t-reduite.

Calculer la base orthogonale B?

Faire les translations utiles

tant que L(t) non satisfaite faireChoisir i tel que L(t, i) non satisfaite

Echanger bi et bi+1

Mettre a jour B?

Faire les translations utilesfin

On note M = (mi,j)i,j la matrice de passage de

B a B?

Condition de Lovasz L(t) : pour tout indice i,

L(t, i) :||b?i+1||2

||b?i ||2≥ 1

t2−m2

i+1,i

translations ⇒ |mi,j | ≤ 12

(base propre)

Une base B d’un reseau L qui est propre est

dite reduite au sens de t- Lovasz si elle verifie

la condition L(t)

Apres un echange, il faut revenir en arriere

pour verifier si la condition de Lovasz est

toujours valide

La strategie classique de LLL consiste a

prendre la premiere base locale non reduite

L. Lhote (GREYC) ALEA 2015 9 / 25

Algorithme LLL

Les echanges rendent la base plus orthogonale

`i := ‖b?i ‖, ri :=`i+1

`i(rapports de Siegel) et νi := {mi+1,i}

(partie fractionnelle centree)

Si la condition de Lovasz n’est pas verifiee entre bi et bi+1,

un echange modifie les rapports de Siegel.

multiplicatif

Les nouveaux rapports de Siegel :

ri−1 = ρ.ri−1

ri =1

ρ2.ri

ri+1 = ρ.ri+1.

L. Lhote (GREYC) ALEA 2015 10 / 25

Algorithme LLL

Les echanges rendent la base plus orthogonale

`i := ‖b?i ‖, ri :=`i+1

`i(rapports de Siegel) et νi := {mi+1,i}

(partie fractionnelle centree)

Si la condition de Lovasz n’est pas verifiee entre bi et bi+1,

un echange modifie les rapports de Siegel.

multiplicatif

Les nouveaux rapports de Siegel :

ri−1 = ρ.ri−1

ri =1

ρ2.ri

ri+1 = ρ.ri+1.

avec un facteur de decroissance ρ

ρ2 = r2i + ν2i ≤1

t≤ 1

L. Lhote (GREYC) ALEA 2015 10 / 25

Algorithme LLL

Les echanges rendent la base plus orthogonale

`i := ‖b?i ‖, ri :=`i+1

`i(rapports de Siegel) et νi := {mi+1,i}

(partie fractionnelle centree)

Si la condition de Lovasz n’est pas verifiee entre bi et bi+1,

un echange modifie les rapports de Siegel.

multiplicatif

Les nouveaux rapports de Siegel :

ri−1 = ρ.ri−1

ri =1

ρ2.ri

ri+1 = ρ.ri+1.

Point de vue additif :

ci = − log ri, α = − log ρ

ci−1 = ci−1 + α

ci = ci−1 − 2α

ci+1 = ci−1 + α.

avec un facteur de decroissance ρ

ρ2 = r2i + ν2i ≤1

t≤ 1

L. Lhote (GREYC) ALEA 2015 10 / 25

Algorithme LLL

Plan

1 Introduction

Reduction des reseaux

2 Algorithme LLL

3 Modelisations de l’algorithme LLL et de ses entrees

Modeles d’execution (part 1)

Modeles d’entree

4 Resultats obtenus dans les differents modeles

Modele M2 : systeme dynamique de Rd

Modele M3 : systemes dynamiques probabilistes de Rd

Experiences

5 Conclusion

L. Lhote (GREYC) ALEA 2015 11 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’execution (part 1)

Notre approche :

le role essentiel est joue par les rapports

ri =`i+1

`iles coefficients νi ont un role secondaire

si ri trop petit alors

T(i)ρ (r) =

ri−1 := ρ.ri−1;

ri :=1

ρ2.ri;

ri+1 := ρ.ri+1;

Point de vue additif :

c := (c1, . . . , cd−1)

avec ci = − log ri et α = − log ρ

si ci trop grand alors

T(i)α (c) =

ci−1 := ci−1 + α

ci := ci − 2α

ci+1 := ci+1 + α

−→

L. Lhote (GREYC) ALEA 2015 12 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’execution (part 1)

Entrees: r = (r1, . . . , rd−1)

Sorties: r = (r1, . . . , rd−1) tous assez

grands

tant que r non entierement reduit

faireChoisir i tel que ri trop

petit;

Choisir ρ ∈ R+;

r← T(i)ρ (r);

fin

Renvoyer r

Deux principaux choix :

Choisir i : la strategie

classique, gloutonne, aleatoire...

Choisir ρ : calcule, fixe...

ρi =√r2i + ν2i

M1 : ρi = ρ est constant (tas de sable)

M2 : ρi est fonction de ri, νi fixe dans [− 12, 12]

M3 : ρi est fonction de ri, νi ∈R [− 12, 12]

M4 : LLL avec la condition de Siegel (r2i ≥ 1t2− 1

4)

M5 : vrai LLL avec la condition de Lovasz

r2i ≥ 1t2− ν2i

L. Lhote (GREYC) ALEA 2015 13 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’execution (part 1)

Entrees: r = (r1, . . . , rd−1)

Sorties: r = (r1, . . . , rd−1) tous assez

grands

tant que r non entierement reduit

faireChoisir i tel que ri trop

petit;

Choisir ρ ∈ R+;

r← T(i)ρ (r);

fin

Renvoyer r

Deux principaux choix :

Choisir i : la strategie

classique, gloutonne, aleatoire...

Choisir ρ : calcule, fixe...

ρi =√r2i + ν2i

M1 : ρi = ρ est constant (tas de sable)

M2 : ρi est fonction de ri, νi fixe dans [− 12, 12]

M3 : ρi est fonction de ri, νi ∈R [− 12, 12]

M4 : LLL avec la condition de Siegel (r2i ≥ 1t2− 1

4)

M5 : vrai LLL avec la condition de Lovasz

r2i ≥ 1t2− ν2i

L. Lhote (GREYC) ALEA 2015 13 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’execution (part 1)

Entrees: r = (r1, . . . , rd−1)

Sorties: r = (r1, . . . , rd−1) tous assez

grands

tant que r non entierement reduit

faireChoisir i tel que ri trop

petit;

Choisir ρ ∈ R+;

r← T(i)ρ (r);

fin

Renvoyer r

Deux principaux choix :

Choisir i : la strategie

classique, gloutonne, aleatoire...

Choisir ρ : calcule, fixe...

ρi =√r2i + ν2i

M1 : ρi = ρ est constant (tas de sable)

M2 : ρi est fonction de ri, νi fixe dans [− 12, 12]

M3 : ρi est fonction de ri, νi ∈R [− 12, 12]

M4 : LLL avec la condition de Siegel (r2i ≥ 1t2− 1

4)

M5 : vrai LLL avec la condition de Lovasz

r2i ≥ 1t2− ν2i

L. Lhote (GREYC) ALEA 2015 13 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’execution (part 1)

Entrees: r = (r1, . . . , rd−1)

Sorties: r = (r1, . . . , rd−1) tous assez

grands

tant que r non entierement reduit

faireChoisir i tel que ri trop

petit;

Choisir ρ ∈ R+;

r← T(i)ρ (r);

fin

Renvoyer r

Deux principaux choix :

Choisir i : la strategie

classique, gloutonne, aleatoire...

Choisir ρ : calcule, fixe...

ρi =√r2i + ν2i

M1 : ρi = ρ est constant (tas de sable)

M2 : ρi est fonction de ri, νi fixe dans [− 12, 12]

M3 : ρi est fonction de ri, νi ∈R [− 12, 12]

M4 : LLL avec la condition de Siegel (r2i ≥ 1t2− 1

4)

M5 : vrai LLL avec la condition de Lovasz

r2i ≥ 1t2− ν2i

L. Lhote (GREYC) ALEA 2015 13 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’execution (part 1)

Entrees: r = (r1, . . . , rd−1)

Sorties: r = (r1, . . . , rd−1) tous assez

grands

tant que r non entierement reduit

faireChoisir i tel que ri trop

petit;

Choisir ρ ∈ R+;

r← T(i)ρ (r);

fin

Renvoyer r

Deux principaux choix :

Choisir i : la strategie

classique, gloutonne, aleatoire...

Choisir ρ : calcule, fixe...

ρi =√r2i + ν2i

M1 : ρi = ρ est constant (tas de sable)

M2 : ρi est fonction de ri, νi fixe dans [− 12, 12]

M3 : ρi est fonction de ri, νi ∈R [− 12, 12]

M4 : LLL avec la condition de Siegel (r2i ≥ 1t2− 1

4)

M5 : vrai LLL avec la condition de Lovasz

r2i ≥ 1t2− ν2i

L. Lhote (GREYC) ALEA 2015 13 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’execution (part 1)

Entrees: r = (r1, . . . , rd−1)

Sorties: r = (r1, . . . , rd−1) tous assez

grands

tant que r non entierement reduit

faireChoisir i tel que ri trop

petit;

Choisir ρ ∈ R+;

r← T(i)ρ (r);

fin

Renvoyer r

Deux principaux choix :

Choisir i : la strategie

classique, gloutonne, aleatoire...

Choisir ρ : calcule, fixe...

ρi =√r2i + ν2i

M1 : ρi = ρ est constant (tas de sable)

M2 : ρi est fonction de ri, νi fixe dans [− 12, 12]

M3 : ρi est fonction de ri, νi ∈R [− 12, 12]

M4 : LLL avec la condition de Siegel (r2i ≥ 1t2− 1

4)

M5 : vrai LLL avec la condition de Lovasz

r2i ≥ 1t2− ν2i

L. Lhote (GREYC) ALEA 2015 13 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’entree

1 Introduction

Reduction des reseaux

2 Algorithme LLL

3 Modelisations de l’algorithme LLL et de ses entrees

Modeles d’execution (part 1)

Modeles d’entree

4 Resultats obtenus dans les differents modeles

Modele M2 : systeme dynamique de Rd

Modele M3 : systemes dynamiques probabilistes de Rd

Experiences

5 Conclusion

L. Lhote (GREYC) ALEA 2015 14 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’entree

Approche generale

B =

`1 0 · · · 0

∗ `2. . .

......

. . .. . . 0

∗ · · · ∗ `d

.

La longueur des orthogonalises se

lit sur la diagonale

Ainsi, on peut regler tous les pa-

rametres souhaites.

L. Lhote (GREYC) ALEA 2015 15 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’entree

Approche generale

B =

`1 0 · · · 0

∗ `2. . .

......

. . .. . . 0

∗ · · · ∗ `d

.

La longueur des orthogonalises se

lit sur la diagonale

Ainsi, on peut regler tous les pa-

rametres souhaites.

Reseaux de Ajtai : A

L. Lhote (GREYC) ALEA 2015 15 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’entree

Approche generale

B =

`1 0 · · · 0

∗ `2. . .

......

. . .. . . 0

∗ · · · ∗ `d

.

La longueur des orthogonalises se

lit sur la diagonale

Ainsi, on peut regler tous les pa-

rametres souhaites.

Reseaux de Ajtai : A

Reseaux uni-tas (NTRU) : N

L. Lhote (GREYC) ALEA 2015 15 / 25

Modelisations de l’algorithme LLL et de ses entrees Modeles d’entree

Approche generale

B =

`1 0 · · · 0

∗ `2. . .

......

. . .. . . 0

∗ · · · ∗ `d

.

La longueur des orthogonalises se

lit sur la diagonale

Ainsi, on peut regler tous les pa-

rametres souhaites.

Reseaux de Ajtai : A

Reseaux uni-tas (NTRU) : N

Reseaux uni-tas (Knapsack) : K

L. Lhote (GREYC) ALEA 2015 15 / 25

Resultats obtenus dans les differents modeles

1 Introduction

Reduction des reseaux

2 Algorithme LLL

3 Modelisations de l’algorithme LLL et de ses entrees

Modeles d’execution (part 1)

Modeles d’entree

4 Resultats obtenus dans les differents modeles

Modele M2 : systeme dynamique de Rd

Modele M3 : systemes dynamiques probabilistes de Rd

Experiences

5 Conclusion

L. Lhote (GREYC) ALEA 2015 16 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Modele M2 : systemes dynamiques de Rd−1

ρ =√r2i + ν2i est fonction de ri mais νi est suppose constant dans [− 1

2, 12]

On pose :

xi := r2i =`2i+1

`2i← variable, xi := r2i =

ˇ2i+1

ˇ2i

, µ := ν2i ← constant

Le facteur de decroissance : ρ =√xi + µ

Si r2i <1

t2− µ

ri−1 = ρri−1

ri =1

ρ2ri

ri+1 = ρri+1.

M2(t, µ)

Si xi <1

t2− µ

xi−1 = xi−1(xi + µ)

xi =xi

(xi + µ)2

xi+1 = xi+1(xi + µ)

M2(t, µ) modelise et analyse l’algorithme LLL(t) (egalement pour t = 1)

Le trou du systeme M2(t, µ) (condition d’arret) est (x1, . . . , xd−1) ∈[

1t2− µ,+∞

[d−1.

L. Lhote (GREYC) ALEA 2015 17 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Modele M2 : systemes dynamiques de Rd−1

ρ =√r2i + ν2i est fonction de ri mais νi est suppose constant dans [− 1

2, 12]

On pose :

xi := r2i =`2i+1

`2i← variable, xi := r2i =

ˇ2i+1

ˇ2i

, µ := ν2i ← constant

Le facteur de decroissance : ρ =√xi + µ

Si r2i <1

t2− µ

ri−1 = ρri−1

ri =1

ρ2ri

ri+1 = ρri+1.

M2(t, µ)

Si xi <1

t2− µ

xi−1 = xi−1(xi + µ)

xi =xi

(xi + µ)2

xi+1 = xi+1(xi + µ)

M2(t, µ) modelise et analyse l’algorithme LLL(t) (egalement pour t = 1)

Le trou du systeme M2(t, µ) (condition d’arret) est (x1, . . . , xd−1) ∈[

1t2− µ,+∞

[d−1.

L. Lhote (GREYC) ALEA 2015 17 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Modele M2 : systemes dynamiques de Rd−1

ρ =√r2i + ν2i est fonction de ri mais νi est suppose constant dans [− 1

2, 12]

On pose :

xi := r2i =`2i+1

`2i← variable, xi := r2i =

ˇ2i+1

ˇ2i

, µ := ν2i ← constant

Le facteur de decroissance : ρ =√xi + µ

Si r2i <1

t2− µ

ri−1 = ρri−1

ri =1

ρ2ri

ri+1 = ρri+1.

M2(t, µ)

Si xi <1

t2− µ

xi−1 = xi−1(xi + µ)

xi =xi

(xi + µ)2

xi+1 = xi+1(xi + µ)

M2(t, µ) modelise et analyse l’algorithme LLL(t) (egalement pour t = 1)

Le trou du systeme M2(t, µ) (condition d’arret) est (x1, . . . , xd−1) ∈[

1t2− µ,+∞

[d−1.

L. Lhote (GREYC) ALEA 2015 17 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Modele M2 : systemes dynamiques de Rd−1

ρ =√r2i + ν2i est fonction de ri mais νi est suppose constant dans [− 1

2, 12]

On pose :

xi := r2i =`2i+1

`2i← variable, xi := r2i =

ˇ2i+1

ˇ2i

, µ := ν2i ← constant

Le facteur de decroissance : ρ =√xi + µ

Si r2i <1

t2− µ

ri−1 = ρri−1

ri =1

ρ2ri

ri+1 = ρri+1.

M2(t, µ)

Si xi <1

t2− µ

xi−1 = xi−1(xi + µ)

xi =xi

(xi + µ)2

xi+1 = xi+1(xi + µ)

M2(t, µ) modelise et analyse l’algorithme LLL(t) (egalement pour t = 1)

Le trou du systeme M2(t, µ) (condition d’arret) est (x1, . . . , xd−1) ∈[

1t2− µ,+∞

[d−1.

L. Lhote (GREYC) ALEA 2015 17 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Modele M2 : systemes dynamiques de Rd−1

ρ =√r2i + ν2i est fonction de ri mais νi est suppose constant dans [− 1

2, 12]

On pose :

xi := r2i =`2i+1

`2i← variable, xi := r2i =

ˇ2i+1

ˇ2i

, µ := ν2i ← constant

Le facteur de decroissance : ρ =√xi + µ

Si r2i <1

t2− µ

ri−1 = ρri−1

ri =1

ρ2ri

ri+1 = ρri+1.

M2(t, µ)

Si xi <1

t2− µ

xi−1 = xi−1(xi + µ)

xi =xi

(xi + µ)2

xi+1 = xi+1(xi + µ)

M2(t, µ) modelise et analyse l’algorithme LLL(t) (egalement pour t = 1)

Le trou du systeme M2(t, µ) (condition d’arret) est (x1, . . . , xd−1) ∈[

1t2− µ,+∞

[d−1.

L. Lhote (GREYC) ALEA 2015 17 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Etude du modele M2

M2 n’est plus un tas de sable : c’est un systeme dynamique general, “a trou”

Nous avons analyse ce modele :

avec la strategie gloutonne : on reduit la ou ri est le plus faible (ci est le plus grand)

en dimension 2 : pour t ≥ 1

des resultats similaires a ceux connus sur l’algorithme de Gauss

une distribution geometrique pour le nombre d’iterations

en dimension 3 : (le premier cas ou l’algorithme LLL(t) n’est pas bien connu)

pour t ≥ 1 : le nombre d’etapes suit toujours une loi geometrique

sauf pour des densites particulieres

en dimension d :

pour t > 1 : l’asymptotique du nombre d’iterations du modele M2(t, µ),

ce resultat n’etant pas connu pour LLL(t)

le passage entre LLL(t) et LLL(1) est conjecture.

L. Lhote (GREYC) ALEA 2015 18 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Etude du modele M2

M2 n’est plus un tas de sable : c’est un systeme dynamique general, “a trou”

Nous avons analyse ce modele :

avec la strategie gloutonne : on reduit la ou ri est le plus faible (ci est le plus grand)

en dimension 2 : pour t ≥ 1

des resultats similaires a ceux connus sur l’algorithme de Gauss

une distribution geometrique pour le nombre d’iterations

en dimension 3 : (le premier cas ou l’algorithme LLL(t) n’est pas bien connu)

pour t ≥ 1 : le nombre d’etapes suit toujours une loi geometrique

sauf pour des densites particulieres

en dimension d :

pour t > 1 : l’asymptotique du nombre d’iterations du modele M2(t, µ),

ce resultat n’etant pas connu pour LLL(t)

le passage entre LLL(t) et LLL(1) est conjecture.

L. Lhote (GREYC) ALEA 2015 18 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Etude du modele M2

M2 n’est plus un tas de sable : c’est un systeme dynamique general, “a trou”

Nous avons analyse ce modele :

avec la strategie gloutonne : on reduit la ou ri est le plus faible (ci est le plus grand)

en dimension 2 : pour t ≥ 1

des resultats similaires a ceux connus sur l’algorithme de Gauss

une distribution geometrique pour le nombre d’iterations

en dimension 3 : (le premier cas ou l’algorithme LLL(t) n’est pas bien connu)

pour t ≥ 1 : le nombre d’etapes suit toujours une loi geometrique

sauf pour des densites particulieres

en dimension d :

pour t > 1 : l’asymptotique du nombre d’iterations du modele M2(t, µ),

ce resultat n’etant pas connu pour LLL(t)

le passage entre LLL(t) et LLL(1) est conjecture.

L. Lhote (GREYC) ALEA 2015 18 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Etude du modele M2

M2 n’est plus un tas de sable : c’est un systeme dynamique general, “a trou”

Nous avons analyse ce modele :

avec la strategie gloutonne : on reduit la ou ri est le plus faible (ci est le plus grand)

en dimension 2 : pour t ≥ 1

des resultats similaires a ceux connus sur l’algorithme de Gauss

une distribution geometrique pour le nombre d’iterations

en dimension 3 : (le premier cas ou l’algorithme LLL(t) n’est pas bien connu)

pour t ≥ 1 : le nombre d’etapes suit toujours une loi geometrique

sauf pour des densites particulieres

en dimension d :

pour t > 1 : l’asymptotique du nombre d’iterations du modele M2(t, µ),

ce resultat n’etant pas connu pour LLL(t)

le passage entre LLL(t) et LLL(1) est conjecture.

L. Lhote (GREYC) ALEA 2015 18 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Etude du modele M2

M2 n’est plus un tas de sable : c’est un systeme dynamique general, “a trou”

Nous avons analyse ce modele :

avec la strategie gloutonne : on reduit la ou ri est le plus faible (ci est le plus grand)

en dimension 2 : pour t ≥ 1

des resultats similaires a ceux connus sur l’algorithme de Gauss

une distribution geometrique pour le nombre d’iterations

en dimension 3 : (le premier cas ou l’algorithme LLL(t) n’est pas bien connu)

pour t ≥ 1 : le nombre d’etapes suit toujours une loi geometrique

sauf pour des densites particulieres

en dimension d :

pour t > 1 : l’asymptotique du nombre d’iterations du modele M2(t, µ),

ce resultat n’etant pas connu pour LLL(t)

le passage entre LLL(t) et LLL(1) est conjecture.

L. Lhote (GREYC) ALEA 2015 18 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Υ = log∏

ri (controle avec le modele des entrees)

Modeles K pire des cas K pour M1(α) K pour M2(µ) K exp.

A(Υ, d)

1

12 log td(d+ 1)Υ

1

12αd(d+ 1)Υ

1

6| log µ|d(d+ 1)Υ

Θ(d2Υ)

N (Υ, d)

1

8 log td2Υ

1

8αd2Υ

1

4| log µ|d2Υ

Θ(d2Υ)

K(Υ, d)

1

2 log tdΥ

1

2αdΥ

1

| log µ|dΥ

Θ(dΥ)

A=Ajtaı (grands-tas), N=NTRU (uni-tas au milieu),

K=Sac-a-dos (uni-tas au debut)

L. Lhote (GREYC) ALEA 2015 19 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Υ = log∏

ri (controle avec le modele des entrees)

Modeles K pire des cas K pour M1(α) K pour M2(µ) K exp.

A(Υ, d)1

12 log td(d+ 1)Υ

1

12αd(d+ 1)Υ

1

6| log µ|d(d+ 1)Υ

Θ(d2Υ)

N (Υ, d)1

8 log td2Υ

1

8αd2Υ

1

4| log µ|d2Υ

Θ(d2Υ)

K(Υ, d)1

2 log tdΥ

1

2αdΥ

1

| log µ|dΥ

Θ(dΥ)

A=Ajtaı (grands-tas), N=NTRU (uni-tas au milieu),

K=Sac-a-dos (uni-tas au debut)

L. Lhote (GREYC) ALEA 2015 19 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Υ = log∏

ri (controle avec le modele des entrees)

Modeles K pire des cas K pour M1(α) K pour M2(µ) K exp.

A(Υ, d)1

12 log td(d+ 1)Υ

1

12αd(d+ 1)Υ

1

6| log µ|d(d+ 1)Υ

Θ(d2Υ)

N (Υ, d)1

8 log td2Υ

1

8αd2Υ

1

4| log µ|d2Υ

Θ(d2Υ)

K(Υ, d)1

2 log tdΥ

1

2αdΥ

1

| log µ|dΥ

Θ(dΥ)

A=Ajtaı (grands-tas), N=NTRU (uni-tas au milieu),

K=Sac-a-dos (uni-tas au debut)

L. Lhote (GREYC) ALEA 2015 19 / 25

Resultats obtenus dans les differents modeles Modele M2 : systeme dynamique de Rd

Υ = log∏

ri (controle avec le modele des entrees)

Modeles K pire des cas K pour M1(α) K pour M2(µ) K exp.

A(Υ, d)1

12 log td(d+ 1)Υ

1

12αd(d+ 1)Υ

1

6| log µ|d(d+ 1)Υ Θ(d2Υ)

N (Υ, d)1

8 log td2Υ

1

8αd2Υ

1

4| log µ|d2Υ Θ(d2Υ)

K(Υ, d)1

2 log tdΥ

1

2αdΥ

1

| log µ|dΥ Θ(dΥ)

A=Ajtaı (grands-tas), N=NTRU (uni-tas au milieu),

K=Sac-a-dos (uni-tas au debut)

L. Lhote (GREYC) ALEA 2015 19 / 25

Resultats obtenus dans les differents modeles Modele M3 : systemes dynamiques probabilistes de Rd

Modele M3 : systemes dynamiques probabilistes

ρ est fonction de ri, νi est uniforme dans [− 12, 12]

On pose :

xi := r2i =`2i+1

`2i← variable, xi := r2i =

ˇ2i+1

ˇ2i

, µi := ν2i avec νi ∈R [−1

2,

1

2]

M3(t)

Si xi <1

t2− µi

xi−1 = xi−1(xi + µi)

xi =xi

(xi + µi)2

xi+1 = xi+1(xi + µi)

Generer un nouveau µi

C’est un systeme dynamique probabiliste dans

Rd−1, a trou, chaque transformation ayant un point

fixe attractif

Aucun resultat !

L. Lhote (GREYC) ALEA 2015 20 / 25

Resultats obtenus dans les differents modeles Modele M3 : systemes dynamiques probabilistes de Rd

Modele M3 : systemes dynamiques probabilistes

ρ est fonction de ri, νi est uniforme dans [− 12, 12]

On pose :

xi := r2i =`2i+1

`2i← variable, xi := r2i =

ˇ2i+1

ˇ2i

, µi := ν2i avec νi ∈R [−1

2,

1

2]

M3(t)

Si xi <1

t2− µi

xi−1 = xi−1(xi + µi)

xi =xi

(xi + µi)2

xi+1 = xi+1(xi + µi)

Generer un nouveau µi

C’est un systeme dynamique probabiliste dans

Rd−1, a trou, chaque transformation ayant un point

fixe attractif

Aucun resultat !

L. Lhote (GREYC) ALEA 2015 20 / 25

Resultats obtenus dans les differents modeles Modele M3 : systemes dynamiques probabilistes de Rd

Conjecture d’un resultat

Potentiel : ∆(x) =

d∏i=1

xi(d−i)i

L’argument principal pour l’asymptotique du modele M2 est :

∆(x) =∆(x)

mini(xi + µ)∼ ∆(x)

µ

Par recurrence (xi =configuration apres i etapes)

∆(xi) ∼∆(x0)

µi

Conjecture :

On note µ[i] le coefficient sous-diagonal intervenant a la i-eme etape de LLL. Alors

∆(xi) ∼ ∆(x0)i∏

k=1

1

µ[i]

L. Lhote (GREYC) ALEA 2015 21 / 25

Resultats obtenus dans les differents modeles Modele M3 : systemes dynamiques probabilistes de Rd

Conjecture d’un resultat

Potentiel : ∆(x) =

d∏i=1

xi(d−i)i

L’argument principal pour l’asymptotique du modele M2 est :

∆(x) =∆(x)

mini(xi + µ)∼ ∆(x)

µ

Par recurrence (xi =configuration apres i etapes)

∆(xi) ∼∆(x0)

µi

Conjecture :

On note µ[i] le coefficient sous-diagonal intervenant a la i-eme etape de LLL. Alors

∆(xi) ∼ ∆(x0)i∏

k=1

1

µ[i]

L. Lhote (GREYC) ALEA 2015 21 / 25

Resultats obtenus dans les differents modeles Modele M3 : systemes dynamiques probabilistes de Rd

Conjecture d’un resultat

Potentiel : ∆(x) =

d∏i=1

xi(d−i)i

L’argument principal pour l’asymptotique du modele M2 est :

∆(x) =∆(x)

mini(xi + µ)∼ ∆(x)

µ

Par recurrence (xi =configuration apres i etapes)

∆(xi) ∼∆(x0)

µi

Conjecture :

On note µ[i] le coefficient sous-diagonal intervenant a la i-eme etape de LLL. Alors

∆(xi) ∼ ∆(x0)i∏

k=1

1

µ[i]

L. Lhote (GREYC) ALEA 2015 21 / 25

Resultats obtenus dans les differents modeles Experiences

Conjecture et LLL glouton (dimension 3)

-500

0

500

1000

1500

2000

2500

3000

0 50 100 150 200 250 300 350 400 450

pote

nti

el d

u c

fg

temps (1 unite = 1 echange)

LLL-max(1):potentiel- dim=3, ri=(1/2)**500

reelleestimee

L. Lhote (GREYC) ALEA 2015 22 / 25

Resultats obtenus dans les differents modeles Experiences

Conjecture et LLL glouton (dimension 5)

-2000

0

2000

4000

6000

8000

10000

12000

14000

0 200 400 600 800 1000 1200 1400 1600 1800 2000

pote

nti

el d

u c

fg

temps (1 unite = 1 echange)

LLL-max(1):potentiel- dim=5, ri=(1/2)**500

reelleestimee

la conjecture + un bon modele pour les νi

+ une analyse du modele M3(t)

= une bonne comprehension de LLL(t)

L. Lhote (GREYC) ALEA 2015 23 / 25

Resultats obtenus dans les differents modeles Experiences

Conjecture et LLL glouton (dimension 5)

-2000

0

2000

4000

6000

8000

10000

12000

14000

0 200 400 600 800 1000 1200 1400 1600 1800 2000

pote

nti

el d

u c

fg

temps (1 unite = 1 echange)

LLL-max(1):potentiel- dim=5, ri=(1/2)**500

reelleestimee

la conjecture + un bon modele pour les νi

+ une analyse du modele M3(t)

= une bonne comprehension de LLL(t)

L. Lhote (GREYC) ALEA 2015 23 / 25

Conclusion

Conclusion

Une classe de modeles simplifies pour l’execution de l’algorithme :

du plus simple (cfg) au plus complique (l’algorithme LLL)

Etude d’un modele semi-simplifie d’execution :

une analyse totale pour d = 3

ou l’analyse du veritable algorithme LLL est deja mal comprise

analyse partielle en dimension generale.

Modelisation des familles de reseaux cryptographiques, dans le cadre d’un cfg

Modelisation d’autres algorithmes de reduction de reseaux (DeepLLL)

Pour le modele M2, prouver la conjecture, qui permettrait d’avoir un modele simplifie

pour l’algorithme LLL associe au parametre t = 1

Analyser le modele M3

Modele de l’evolution du coefficient sous diagonal

L. Lhote (GREYC) ALEA 2015 24 / 25

Conclusion

Merci pour votre attention !

L. Lhote (GREYC) ALEA 2015 25 / 25

Recommended