14.07.2013 Views

dissertacao.pdf

dissertacao.pdf

dissertacao.pdf

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.

2.2.2 Pollard’s ρ Algorithm<br />

Pollard’s ρ Algorithm, described by Pollard in 1975[35], aims to find a small<br />

factor p of a given integer N. Because of this focusing on a small factor of N,<br />

Pollard’s ρ is considered a special purpose factoring algorithm. We present a<br />

simplified version the algorithm:<br />

Algorithm 6. Pollard’s ρ Algorithm: Given a composite N:<br />

1. Set a = 2, b = 2.<br />

2. Define the modular polynomial f(x) = (x 2 + c) (mod N) with c = 0, −2<br />

3. For i=1,2,.., do:<br />

(a) Compute a = f(a), b = f(f(b)).<br />

(b) Compute d = (a − b, N).<br />

(c) If 1 < d < N then return d with success.<br />

(d) If d = N then terminate the algorithm with failure.<br />

The function f is used to create two pseudo random sequences on ZN. The<br />

reason for this is that, picking randomly two numbers x, y ∈ ZN , there is a<br />

probability of 0.5 that after 1.777 √ N tries one will be congruent modulo N[37].<br />

If they are and a = b, then (a − b, N) yields a factor of N.<br />

The runtime of the algorithm is O( √ p)[24], where p is N’s smallest prime<br />

factor. This means that against an RSA modulus N with balanced primes the<br />

runtime of the algorithm is O(N 1<br />

4 ), making it an inefficient method.<br />

2.2.3 Elliptic Curve Method<br />

In 1985, Hendrik Lenstra had a visionary idea. He thought of using Elliptic<br />

Curves to factor integers. It is said that that Lenstra’s discovery was based on<br />

Pollard’s (ρ − 1) method[44], a variant of Pollard’s ρ method described above.<br />

The Elliptic Curve Method’s (ECM) running time depends on the smallest<br />

factor p of the integer N being factored, making it particularly powerful for<br />

finding ”medium-sized” factors of large integers. As we will show in the next<br />

section, ECM is not used directly to factor RSA modulus, instead it is used as<br />

an auxiliary step in the General Number Field Sieve algorithm [44] described in<br />

the next section. The basis of the algorithm is the following result:<br />

29

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

Saved successfully!

Ooh no, something went wrong!