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.

336 Chapter 7 ELLIPTIC CURVE ARITHMETIC<br />

7.4.1 Basic ECM algorithm<br />

The ECM algorithm uses many of the concepts of elliptic arithmetic developed<br />

in the preceding sections. However, we shall be applying this arithmetic to a<br />

construct Ea,b(Zn), something that is not a true elliptic curve, when n is a<br />

composite number.<br />

Definition 7.4.1. For elements a, b in the ring Zn, withgcd(n, 6) = 1 and<br />

discriminant condition gcd(4a 3 +27b 2 ,n) = 1, an elliptic pseudocurve over<br />

theringisaset<br />

Ea,b(Zn) ={(x, y) ∈ Zn × Zn : y 2 = x 3 + ax + b}∪{O},<br />

where O is the point at infinity. (Thus an elliptic curve over Fp = Zp from<br />

Definition 7.1.1 is also an elliptic pseudocurve.)<br />

(Curves given in the form (7.5) are also considered as pseudocurves, with the<br />

appropriate discriminant condition holding.) We have seen in Section 7.1 that<br />

when n is prime, the point at infinity refers to the one extra projective point<br />

on the curve that does not correspond to an affine point. When n is composite,<br />

there are additional projective points not corresponding to affine points, yet<br />

in our definition of pseudocurve, we still allow only the one extra point,<br />

corresponding to the projective solution [0, 1, 0]. Because of this (intentional)<br />

shortchanging in our definition, the pseudocurve Ea,b(Zn), together with the<br />

operations of Definition 7.1.2, does not form a group (when n is composite).<br />

In particular, there are pairs of points P, Q for which “P + Q” is undefined.<br />

This would be detected in the construction of the slope m in Definition 7.1.2;<br />

since Zn is not a field when n is composite, one would be called upon to<br />

invert a nonzero member of Zn that is not invertible. This group-law failure<br />

is the motive for the name “pseudocurve,” yet, happily, there are powerful<br />

applications of the pseudocurve concept. In particular, Algorithm 2.1.4 (the<br />

extended Euclid algorithm), if called upon to find the inverse of a nonzero<br />

member of Zn that is in fact noninvertible, will instead produce a nontrivial<br />

factor of n. It is Lenstra’s ingenious idea that through this failure of finding<br />

an inverse, we shall be able to factor the composite number n.<br />

We note in passing that the concept of elliptic multiplication on a<br />

pseudocurve depends on the addition chain used. For example, [5]P may be<br />

perfectly well computable if one computes it via P → [2]P → [4]P → [5]P ,<br />

but the elliptic addition may break down if one tries to compute it via<br />

P → [2]P → [3]P → [5]P . Nevertheless, if two different addition chains<br />

to arrive at [k]P both succeed, they will give the same answer.<br />

Algorithm 7.4.2 (Lenstra elliptic curve method (ECM)). Given a composite<br />

number n to be factored, gcd(n, 6) = 1, andn not a proper power, this<br />

algorithm attempts to uncover a nontrivial factor of n. There is a tunable parameter<br />

B1 called the “stage-one limit” in view of further algorithmic stages in the<br />

modern ECM to follow.<br />

1. [Choose B1 limit]

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

Saved successfully!

Ooh no, something went wrong!