10.12.2012 Views

Prime Numbers

Prime Numbers

Prime Numbers

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7.4 Elliptic curve method 343<br />

As for enhancements (4) above, Montgomery’s polynomial-evaluation<br />

scheme (sometimes called an “FFT extension” because of the details of how<br />

one evaluates large polynomials via FFT) for stage two is basically to calculate<br />

two sets of points<br />

S = {[mi]P : i =1,...,d1}, T = {[nj]P : j =1,...,d2},<br />

where P is the point surviving stage one of ECM, d1|d2, and the integers mi,nj<br />

are carefully chosen so that some combination mi ± nj hopefully divides the<br />

(single) outlying prime q. This happy circumstance is in turn detected by the<br />

fact of some x-coordinate of the S list matching with some x-coordinate of the<br />

T list, in the sense that the difference of said coordinates has a nontrivial gcd<br />

with n. We will see this matching problem in another guise—in preparation<br />

for Algorithm 7.5.1. Because Algorithm 7.5.1 may possibly involve too much<br />

machine memory, for sorting and so on, one may proceed to define a degree-d1<br />

polynomial<br />

f(x) = <br />

(x − X(s)) mod n,<br />

s∈S<br />

where the X( ) function returns the affine x-coordinate of a point. Then<br />

one may evaluate this polynomial at the d2 points x ∈ {X(t) : t ∈ T }.<br />

<br />

Alternatively, one may take the polynomial gcd of this f(x) andag(x) =<br />

t (x − X(t)). In any case, one can seek matches between the S, T point sets<br />

in O d 1+ɛ<br />

2 ring operations, which is lucrative in view of the alternative of<br />

actually doing d1d2 comparisons. Incidentally, Montgomery’s idea is predated<br />

by an approach of [Montgomery and Silverman 1990] for extensions to the<br />

Pollard (p − 1) method.<br />

When we invoke some such means of highly efficient stage-two calculations,<br />

a rule of thumb is that one should spend only a certain fraction (say 1/4 to<br />

1/2, depending on many details) of one’s total time in stage two. This rule<br />

has arisen within the culture of modern users of ECM, and the rule’s validity<br />

can be traced to the machine-dependent complexities of the various per-stage<br />

operations. In practice, this all means that the stage-two limit should be<br />

roughly two orders of magnitude over the stage-one limit, or<br />

B2 ≈ 100B1<br />

This is a good practical rule, effectively reducing nicely the degrees of freedom<br />

associated with ECM in general. Now, the time to resolve one curve—with<br />

both stages in place—is a function only of B1. What is more, there are various<br />

tabulations of what good B1 values might be, in terms of “suspected” sizes of<br />

hidden factors of n [Silverman and Wagstaff 1993], [Zimmermann 2000].<br />

We now exhibit a specific form of enhanced ECM, a form that has achieved<br />

certain factoring milestones and that currently enjoys wide use. While not<br />

every possible enhancement is presented here, we have endeavored to provide<br />

many of the aforementioned manipulations; certainly enough to forge a<br />

practical implementation. The following ECM variant incorporates various<br />

enhancements of Brent, Crandall, Montgomery, Woltman, and Zimmermann:

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

Saved successfully!

Ooh no, something went wrong!