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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 2: Mathematical Preliminaries 30<br />

A natural question to ask in this direction is the measure <strong>of</strong> reduction using<br />

LLL. It is also <strong>of</strong> interest to know the running time <strong>of</strong> the algorithm for practical<br />

purpose. In this respect, we have the following result.<br />

Lemma 2.20. Let L be an integer lattice <strong>of</strong> dimension n generated by the basis<br />

vectors {v 1 ,v 2 ,...,v n }. Then the LLL algorithm applied on L outputs a reduced<br />

basis <strong>of</strong> L spanned by {r 1 ,...,r n } with<br />

||r 1 || ≤ ||r 2 || ≤ ··· ≤ ||r i || ≤ 2 n(n−1)<br />

4(n+1−i) det(L)<br />

1<br />

n+1−i , for i = 1,...,n<br />

in time polynomial in the lattice dimension n and the bitsize <strong>of</strong> the entries <strong>of</strong> the<br />

matrix M corresponding to L.<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

Input: A lattice L with basis {v 1 ,v 2 ,...,v n } ∈ Z n .<br />

Output: LLL reduced basis {r 1 ,r 2 ,...,r n } for L.<br />

Compute v ∗ 1 ,v ∗ 2 ,...,v ∗ n ;<br />

for i = 2 to n do<br />

for j = i−1 to 1 do<br />

v i = v i −[µ i,j ]v j ;<br />

// [µ i,j ] means the integer closest to µ i,j<br />

end<br />

end<br />

if ∃ i such that 3||v 4 i ∗ || 2 ≥ ||µ i+1,i v ∗ i +v ∗ i+1 || then<br />

c = v i ;<br />

v i = v i+1 ;<br />

v i+1 = c;<br />

end<br />

go to 1;<br />

return {r 1 ,r 2 ,...,r n } = {v 1 ,v 2 ,...,v n }.<br />

Algorithm 6: LLL algorithm for lattice reduction.<br />

Example 2.21. Consider the Example 2.16, where lattice L is generated by B =<br />

{v 1 ,v 2 } with v 1 = (1,2),v 2 = (3,4). Now we discuss how Algorithm 6 works on<br />

this basis B.<br />

1. v ∗ 1 = v 1 = (1,2).<br />

[ ]<br />

2. [µ 2,1 ] = 〈v2 ,v ∗ 1 〉<br />

||v ∗ 1<br />

= [ 11] = 2. || 2 5<br />

3. v 2 = (3,4)−2(1,2) = (1,0).

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

Saved successfully!

Ooh no, something went wrong!