Cryptanalysis of RSA Factorization - Library(ISI Kolkata) - Indian ...
Cryptanalysis of RSA Factorization - Library(ISI Kolkata) - Indian ...
Cryptanalysis of RSA Factorization - Library(ISI Kolkata) - Indian ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 2: Mathematical Preliminaries 32<br />
2.5.1 Coppersmith’s Method<br />
Suppose we have a modular polynomial f N (x) with a small root x 0 in Z N . To<br />
construct the polynomial h(x), we fix a positive integer m and generate a set <strong>of</strong><br />
univariate polynomials g jk , called the shift polynomials, as follows.<br />
g jk (x) = x j (f N (x)) k N m−k for k = 0,...,m and some choice <strong>of</strong> j.<br />
Clearly, g jk (x 0 ) = 0 mod N m . Thus, any integer linear combination h(x) <strong>of</strong> g jk (x)<br />
has also got a root x 0 modulo N m . Now if |h(x 0 )| < N m , then h(x 0 ) = 0 holds<br />
over integers as well, and we have obtained our desired function h(x).<br />
The following theorem due to Howgrave-Graham [59] reformulates Coppersmith’s<br />
idea <strong>of</strong> finding modular roots to prescribe a condition under which we can<br />
conclude that h(x 0 ) = 0 holds over integers.<br />
Theorem 2.22. Let h(x) ∈ Z[x] be an integer polynomial with n monomials.<br />
Further, let m be a positive integer. Then, h(x 0 ) = 0 over integers if the following<br />
two conditions are satisfied.<br />
• h(x 0 ) ≡ 0 (mod N m ) and |x 0 | < X<br />
• ||h(xX)|| < Nm √ n<br />
.<br />
Pro<strong>of</strong>. Notice that we have<br />
∑<br />
|h(x 0 )| =<br />
h<br />
∣ i x i 0<br />
∣ ≤ ∑ i i<br />
∑<br />
∣ hi x i ∣<br />
0 ≤ |h i |X i ≤ √ n·||h(xX)|| < N m .<br />
i<br />
Now since N m divides h(x 0 ) by the first condition, h(x 0 ) = 0.<br />
To obtain the desired function h(x), we construct a lattice L with basis vectors<br />
coming from the coefficient vectors <strong>of</strong> the polynomials g jk (xX). Now, our goal is<br />
to find an integer linear combination <strong>of</strong> these coefficient vectors, that is a vector<br />
in the lattice L, for which the norm is smaller than Nm √ n<br />
. Such a function will<br />
satisfy the conditions <strong>of</strong> Theorem 2.22. But this problem is analogous to finding<br />
a short vector in a given lattice, and one can use the LLL algorithm to the basis<br />
spanned by the coefficient vectors <strong>of</strong> g jk (xX) to do so. Note that the polynomial<br />
r 1 (x) corresponds to the smallest vector generated by the LLL algorithm over an