11.07.2014 Views

Cryptanalysis of RSA Factorization - Library(ISI Kolkata) - Indian ...

Cryptanalysis of RSA Factorization - Library(ISI Kolkata) - Indian ...

Cryptanalysis of RSA Factorization - Library(ISI Kolkata) - Indian ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!