• Aucun résultat trouvé

tout plus court vecteur du r´eseau ait n´ecessairement une composante non nulle sur chacun des vecteurs restants. On notera que l’application qui `a un vecteur associe ses composantes sur B est la multiplication par l’inverse deB, ou plus g´en´eralement par la transpos´ee de la base duale x→x(B×)t=x·µtDtQdans la d´ecomposition d’Iwasawa : les composantes sont toutes de taille polynomiales, et peuvent ˆetre major´ees en fonction des constantesλet n, carB est LLL-r´eduite et quekbnk2 est r´eguli`erement rendu6λ.

La boucle while (ligne7) multiplie chacun des vecteurs par la plus grande puissance de 2 possible tout en conservant le mˆeme premier minimum du r´eseau : cela se fait grˆace `a l’oracle, et a pour principal effet de rendre toute combinaison lin´eaire d’un plus court vecteur `a coefficients impairs.

Pendant cette phase, le volume deBne peut que croˆıtre (plus exactement, il est multipli´e par une puissance de 2 ind´etermin´ee). En sortie de boucle, il existe donc α1, . . . , αn impairs et de taille polynomiale tels quekPαibik2=λ. Or cette combinaison lin´eaire peut s’´ecrire :

n

X

i=1

αibi1

n

X

j=1

bi

+

n

X

i=2

αi−α1

2

·2bi.

Cela prouve qu’`a la ligne12, le r´eseau courantL(B) contient toujours un vecteur de norme au carr´e λ. C’en est d’ailleurs toujours un plus court vecteur, puisqueL(B) est inclus dans le r´eseau initial.

Il faut cependant noter que le volume a ´et´e multipli´e exactement par 2n1 lors de cette ´etape.

Ainsi, la racinenimedu r´eseau est multipli´ee par un facteur environ ´egal `a 2 `a chaque passage dans la boucle principale.

A l’issue de la LLL-r´eduction, la norme` kbnk2 ne peut rester ind´efiniment inf´erieure `a λ sin ne diminue pas, sinon le volume deL(B) serait born´e : la dimension finira toujours par diminuer strictement (que ce soit `a la ligne4 ou `a la ligne15). Lorsqu’il ne reste plus qu’un seul vecteur dans la base, c’est forc´ement le plus court.

2.7 Conclusion

Dans le reste de cette th`ese, nous allons construire de nouveaux algorithmes de r´eduction de r´eseau qui sont bas´es principalement sur les quatre algorithmes LLL, Semi-bloc-2k, BKZ et HKZ.

Le but de ces algorithme est de minimiser la taille des vecteurs de la base, et tout particuli`erement du premier vecteur. Cette minimisation peut ˆetre faite par rapport au premier minimum (Approx factor) ou par rapport `a la racinen-i`eme du volume (Hermite factor). Nous rappelons dans le ta-bleau suivant les meilleurs majorants connus pour la qualit´e des diff´erents algorithmes de r´eduction classiques. Dans le cas d’algorithmes param´etr´es par une taille de bloc, le crit`ere de comparaison est la taille k du plus gros oracle utilis´e : cela signifie que pour BKZ-k, tous les blocs (sauf les tous derniers) sont de taille k, alors que pour le semi-bloc-2kr´eduction, les petits blocs sont de taillek/2, afin de pouvoir lancer l’oracle sur deux blocs cons´ecutifs. `A la fin de la partie 2, nous compl´eterons ce tableau avec les bornes obtenues avec les nouveaux algorithmes.

Hermite Approx

LLL (γ2(1 +ε))(n1)/22(1 +ε))n2 Semi-block-2(k/2) (γk)12((1 +ε)βk)n−k4k γ2kαk)12((1 +ε)βk)n−k2k

BKZ-k √γk·(γk(1 +ε))(n1)/2(k1)k(1 +ε))(n1)/(k1)

HKZ γn 1

Il ne faut pas oublier que ces bornes ne sont que des majorants. Mˆeme s’ils sont parfois optimaux dans le pire des cas, ils ne refl`etent pas le cas moyen : lorsqu’on fait tourner les algorithmes, les performances sont en g´en´eral bien meilleures. Dans cette th`ese, nous quantifierons plus pr´ecis´ement cet ´ecart entre th´eorie et pratique au chapitre 5

Deuxi` eme partie

Th´ eorie et pratique de la r´ eduction de r´ eseau

45

Introduction

Au cours de ma th`ese, j’ai ´et´e amen´e `a construire et ´etudier de nouveaux algorithmes de r´eduction de r´eseau. Bien qu’a priori tr`es diff´erents, ces algorithmes pr´esentent de nombreux points communs : ce sont `a chaque fois des g´en´eralisations ou des optimisations de l’algorithme LLL. Leur fonctionnement et le m´ecanisme de leurs preuves reprennent les grands axes de ceux de LLL.

Comme dans LLL, la qualit´e de la r´eduction des nouveaux algorithmes est toujours obtenue par un produit d’in´egalit´es semblables `a celles du th´eor`eme de Minkowski, et le cas ´ech´eant, la preuve de complexit´e polynomiale est encore due `a une d´ecroissance g´eom´etrique forc´ee d’un potentiel produit de volumes partiels. En revanche, la principale diff´erence avec LLL est que les algorithmes reposent sur des oracles, permettent de r´esoudre id´ealement un probl`eme de r´eseau en dimension fix´ee. Les questions naturelles qui se posent alors sont :

– Quel est l’oracle qui permet d’obtenir la meilleure qualit´e de r´eduction ? – Quelle est la mani`ere la plus efficace d’impl´ementer cet oracle ?

– Comment utiliser l’oracle de mani`ere optimale ?

LLL peut ˆetre vu comme une division du r´eseau de grande dimensionn que l’on veut r´eduire en n−1 petits r´eseaux de dimension 2, que l’on sait parfaitement r´eduire. Lorsqu’on veut g´en´eraliser le cas de la dimension 2 `a une taille de bloc plus ´elev´ee (disons une taille paire 2k), il a plusieurs possibilit´es qui apparaˆıssent : soit on choisit de couper le bloc de taille 2ken deux blocs de taille k. Dans ce cas, la notion de norme du premier vecteur est remplac´ee par une notion de premier demi-volumek−dimensionnel. C’est en r´ealit´e l’id´ee principale qui est `a la base de la semi-bloc-2k r´eduction de Schnorr, que nous avons ensuite g´en´eralis´e en Rankin r´eduction, et qui est pr´esent´ee au chapitre 3. La deuxi`eme interpr´etation possible de l’algorithme LLL est de consid´erer que la r´eduction en dimension 2 cherche `a r´eduire `a tout prix la taille du premier vecteur, et le deuxi`eme ne fait que suivre le mouvement (ce que l’on qualifiera de strat´egie “primale”). En transposant l’id´ee `a un bloc de taillek, la r´eduction du premier vecteur est obtenue par un oracle de SVP en dimensionk. On obtient alors des notions de r´eduction bas´ees principalement sur de la r´eduction primale (comme BKZ par exemple). Le principal d´efaut de ces algorithmes est que dans le r´esultat final, le d´ebut de la base est beaucoup mieux r´eduit que la fin de la base.

Heureusement, il existe une notion math´ematique, appel´ee dualit´e, et dont le principal effet en mati`ere de r´eduction de r´eseau est d’intervertir les rˆoles du d´ebut et de la fin de la base. En combinant cette dualit´e avec de la r´eduction de r´eseau primale, on peut nuancer l’id´ee pr´ec´edente et r´etablir la sym´etrie entre les premiers et derniers vecteurs de chaque blocs. Pour cela, les oracles de SVP sont appel´es aussi bien sur le r´eseau primal que sur son dual. Cette vision m`ene `a des algorithmes en g´en´eral polynomiaux, qui ont de tr`es bonnes propri´et´es math´ematiques, et c’est l’objet du chapitre 4.

Une particularit´e ´etrange des algorithmes de r´eduction de r´eseau ´etait que la th´eorie ´etait en g´en´eral tr`es loin de la pratique. S’il est toujours vrai que les bornes de qualit´e et de complexit´e th´eoriques sont toujours loin des r´ealit´es exp´erimentales, nous avons grˆace `a un jeu cons´equent d’exp´eriences, pu tirer des lois heuristiques sur le comportement et la qualit´e pratique de tous ces algorithmes de r´eduction de r´eseau, et c’est ce que nous exposons au chapitre 5.

Enfin, dans le cas particulier de la cryptanalyse de NTRU, nous avons ´et´e amen´es `a construire des algorithmes de r´eduction de r´eseau adapt´es aux r´eseaux NTRU, comme par exemple une version symplectique de LLL. Bizarrement, l’´etude sp´ecifique de la r´eduction de r´eseau dans le cas symplectique a eu des cons´equences beaucoup plus g´en´erales : une meilleure int´egration de la notion g´en´erale de dualit´e dans les algorithmes de r´eductions, avec par exemple la notion de dual

47

renvers´e, hautement compatible avec la r´eduction de r´eseau par bloc et d’orthogonalisation. Ces r´esultats sont expos´es au chapitre 6.

Chapitre 3

Constante de Rankin et

R´ eduction de r´ eseau par bloc.

Aux algorithmes gloutons : “La gourmandise est un vilain d´efaut !”

Ce chapitre est une adaptation fran¸caise de l’article Rankin Constant and Blockwise lattice reduction[24], de Nicolas Gama Nick Howgrave-Graham, Henrik Koy, and Phong Q. Nguyen, qui a ´et´e pr´esent´e `a Crypto 2006. La version anglaise est disponible dans les Proceedings of Crypto

’06.

Comme nous l’avons vu dans la partie pr´ec´edente, la r´eduction de r´eseau est un probl`eme difficile qui a un int´erˆet aussi bien en cryptographie `a cl´e publique qu’en cryptanalyse. Malgr´e son importance, tr`es peu d’algorithmes sont connus. Le meilleur algorithme connu (en 2006) en grande dimension est celui de Schnorr, propos´e en 1987 comme une g´en´eralisation par bloc de l’algorithme c´el`ebre LLL. Ici, nous traitons de l’algorithme de Schnorr et d’am´eliorations potentielles. Nous prouvons que l’algorithme de Schnorr produit de meilleures bases que ce qui ´etait jusqu’`a pr´esent connu : nous diminuons toutes les bornes inf´erieures sur les facteurs d’approximation de Schnorr `a leur puissance (ln 2). D’autre part, nous montrons aussi que la qualit´e des r´esultats pourrait avoir des limites intrins`eques, mˆeme si une strat´egie am´elior´ee de r´eduction ´etait utilis´ee pour chaque bloc, renfor¸cant ainsi les r´esultats r´ecents de Ajtai [5]. Pour cela, nous ´etablissons un lien entre l’algorithme de Schnorr et une constante math´ematique introduite par Rankin il y a plus de 50 ans comme une g´en´eralisation de la constante de Hermite. La constante de Rankin nous am`ene

`a introduire le probl`eme dit du plus petit volume, un nouveau probl`eme de r´eseau qui g´en´eralise le probl`eme du plus court vecteur. Ce probl`eme a des applications pour la r´eduction de r´eseau par bloc en g´en´eralisant les algorithmes LLL et de Schnorr, am´eliorant peut-ˆetre la qualit´e de leurs r´esultats. L’algorithme de Schnorr est en fait bas´e sur un algorithme d’approximation du probl`eme du plus petit volume en faible dimension. Nous obtenons une am´elioration l´eg`ere par rapport `a l’algorithme de Schnorr en pr´esentant un algorithme d’approximation moins coˆuteux pour le probl`eme du plus petit volume, que nous appelons latransf´erence r´eduction.