Méthode de Coppersmith pour trouver les petites solutions d’équations polynomiales Master SFPN, Université Pierre et Marie Curie Quelques rappels sur la méthode de Coppersmith Théorème de Coppersmith (Polynôme univarié modulaire) Soit P (x) un polynôme univarié unimodulaire de degré δ et N un entier de factorisation inconnue. On peut retrouver en temps polynomial en (log N, δ) toutes les solutions entières x0 telles que P (x0 ) ≡ 0 mod N et |x0 | < X avec X < N 1/δ . On rappelle ci-dessous la méthode de Coppersmith permettant de trouver les petites solutions entières. Construction de la matrice de Coppersmith La matrice de Coppersmith triangulaire inférieure M associée au polynôme P (x) de degré δ est formée de d = δm + 1 polynômes, où m ≥ 1 est un paramètre entier. On définit comme suit la famille de polynômes constituant chacun un vecteur ligne de la matrice (les éléments des vecteurs correspondent aux coefficients des polynômes, ordonnés par degré de monôme croissant [1, x, x2 , . . . , xd−1 ]) : Pour i allant de 0 à m − 1 Pour j allant de 0 à δ − 1 M [δi + j] = (xX)j N m−i P i (xX) M [δm] = P m (xX) Application de l’algorithme de réduction de réseaux LLL Une fois la matrice de Coppersmith M construite, l’algorithme de réduction de réseaux LLL est appliqué sur M . Les polynômes Qi (xX) correspondants aux vecteurs de la matrice LLL-réduite M 0 sont tels que les polynômes Qi (x) admettent x0 comme solution modulo N m . La norme du premier vecteur de la matrice LLL-réduite de dimension d (correspondant au polynôme Q1 (xX)) est bornée par 2(d−1)/4 (det M )1/d . Le déterminant est un invariant des bases du réseau ; on a donc det M = det M 0 . De plus, la matrice M étant triangulaire, son déterminant est le produit des éléments de la diagonale. Condition pour que Q(x0 ) s’annule sur les entiers (Howgrave-Graham) √ Soit Q(x0 ) ≡ 0 mod N m un polynôme de degré d − 1 avec |x0 | < X. Si ||Q(xX)|| < N m / d, alors Q(x0 ) = 0 sur les entiers. Trouver les petites solutions entières x0 telles que P (x0 ) ≡ 0 mod N Si le nouveau polynôme Q(xX) = a0 + a1 x + a2 x2 + · · · + ad−1 xd−1 correspondant au premier √ vecteur de la matrice LLL-réduite satisfait la condition de Howgrave-Graham (c’est-à-dire ||Q(xX)|| < N m / d), alors le ad−1 d−1 a2 2 polynôme Q(x) = a0 + aX1 x + X peut être résolu facilement sur les entiers, ce qui permet 2 x + · · · + X d−1 x de retrouver les petites solutions entières x0 initialement recherchées. 1 Exercice 1 : Méthode de Coppersmith en pratique Soit N = 143 = 11 × 13 et P (x) = x2 + 93x + 141. Ce polynôme admet une petite solution entière x0 telle que |x0 | < X = 6 et P (x0 ) ≡ 0 mod N . Le but de cet exercice est de retrouver x0 grâce à la méthode de Coppersmith. Question 1 Calculer P (3) mod N . Question 2 Construire la matrice M de Coppersmith de dimension 3 (avec m = 1) associée au polynôme P , au module N et à la borne supérieure X. Question 3 −6 −42 108 0 0 . L’algorithme de réduction LLL est appliqué sur la matrice M et retourne la matrice 143 4 −258 −72 Quelle propriété commune possèdent les trois polynômes Q1 (xX), Q2 (xX) et Q3 (xX) correspondants à ces vecteurs. Question 4 Exprimer le polynôme correspondant au premier vecteur (−6, −42, 108) et admettant x0 comme solution modulo N . Question 5 Montrer que ce polynôme admet x0 = 3 comme solution sur les entiers. Exercice 2 : Dimension du réseau et tailles des solutions retrouvées On considère un module N de factorisation inconnue et un polynôme P (x) = a + bx + x2 tel que P (x0 ) ≡ 0 mod N avec |x0 | < X. Le but de l’exercice est de montrer qu’une augmentation de la dimension du réseau permet de retrouver des solutions entières plus grandes. Question 1 D’après le théorème de Coppersmith, quelle est la borne supérieure X théorique sur les solutions entières que la méthode de Coppersmith permet de retrouver ? Question 2 Soit M la matrice de Coppersmith associée au polynôme P et au module N , de dimension d = 2m + 1, sur laquelle on applique LLL. Soit Q(xX) le polynôme correspondant au premier vecteur de la matrice LLL-réduite. D’après le théorème de Howgrave-Graham et d’après la borne sur la norme du premier vecteur d’une matrice LLL-réduite, quelle est la condition pour que le polynôme Q(x0 ) de degré d − 1 s’annule sur les entiers ? Question 3 √ Pour la suite, afin de simplifier les calculs, nous négligerons les termes 2(d−1)/4 et d sans conséquence sur la condition asymptotique. Donner la nouvelle condition. Question 4 Construire la matrice M de Coppersmith de dimension 3 (avec m = 1) associée au polynôme P et au module N. Question 5 Calculer la borne supérieure X que la méthode de Coppersmith avec une matrice de dimension 3 permet de retrouver. Question 6 Construire la matrice M de Coppersmith de dimension 5 (avec m = 2) associée au polynôme P et au module N. Page 2 Question 7 Calculer la borne supérieure X que la méthode de Coppersmith avec une matrice de dimension 5 permet de retrouver. Question 8 Comparer les bornes supérieures obtenues avec une dimension 3 et 5. Conclure. Exercice 3 : Factoriser N avec la moitié du secret q iq Soit N = pq un module RSA où p et q sont deux entiers premiers tels que dlog2 (p)e = dlog2 (q)e = dlog2 (N )/2e = t. On note ip = p−1 mod q et iq = q −1 mod p. Le but de l’exercice est de montrer que l’on peut factoriser N avec la connaissance de la moitié des bits de q iq . Question 1 Exprimer l’identité de Bézout à l’aide de p, q, ip , iq et N ? Question 2 Montrer que (q iq )2 − (q iq ) ≡ 0 mod N . Question 3 On suppose connaître les t bits de poids fort de q iq . Quelle est la taille en bits de la valeur q iq ? Exprimer q iq en fonction de k, x0 et t, où k est la partie haute (bits connus) et x0 est la partie basse (bits inconnus) de q iq . Question 4 Montrer que la partie inconnue x0 est solution d’une équation à une variable modulo N , de degré 2. Question 5 Utiliser le théorème de Coppersmith pour donner une borne supérieure sur les racines que la méthode permet de trouver. Peut-on retrouver x0 ? Question 6 Comment factoriser N après avoir retrouvé x0 ? Page 3