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.2 Elliptic arithmetic 323<br />

the point at infinity, is a number that gives rise to fascinating and profound<br />

issues. Indeed, the question of order will arise in such domains as primality<br />

proving, factorization, and cryptography.<br />

We define elliptic multiplication by integers in a natural manner: For point<br />

P ∈ E and positive integer n, we denote the n-th multiple of the point by<br />

[n]P = P + P + ···+ P,<br />

where exactly n copies of P appear on the right. We define [0]P as the group<br />

identity O, the point at infinity. Further, we define [−n]P to be −[n]P .From<br />

elementary group theory we know that when F is finite,<br />

[#E(F )]P = O,<br />

a fact of paramount importance in practical applications of elliptic curves.<br />

This issue of curve order is addressed in more detail in Section 7.5. As regards<br />

any group, we may consider the order of an element. In an elliptic-curve group,<br />

the order of a point P is the least positive integer n with [n]P = 0, while if<br />

no such integer n exists, we say that P has infinite order. If E(F ) is finite,<br />

then every point in E(F ) has finite order dividing #E(F ).<br />

The fundamental relevance of elliptic curves for factorization will be the<br />

fact that, if one has a composite n to be factored, one can try to work<br />

on an elliptic curve over Zn, even though Zn is not a field and treating it<br />

as such might be considered “illegal.” When an illegal curve operation is<br />

encountered, it is exploited to find a factor of n. This idea of what we might<br />

call “pseudocurves” is the starting point of H. Lenstra’s elliptic curve method<br />

(ECM) for factorization, whose details are discussed in Section 7.4. Before we<br />

get to this wonderful algorithm we first discuss “legal” elliptic curve arithmetic<br />

over a field.<br />

7.2 Elliptic arithmetic<br />

Armed with some elliptic curve fundamentals, we now proceed to develop<br />

practical algorithms for elliptic arithmetic. For simplicity we shall adopt a<br />

finite field Fp for prime p>3, although generally speaking the algorithm<br />

structures remain the same for other fields. We begin with a simple method<br />

for finding explicit points (x, y) on a given curve, the idea being that we<br />

require the relevant cubic form in x to be a square modulo p:<br />

Algorithm 7.2.1 (Finding a point on a given elliptic curve). For a prime<br />

p>3 we assume an elliptic curve E(Fp) determined by cubic y 2 = x 3 + ax + b.<br />

This algorithm returns a point (x, y) on E.<br />

1. [Loop]<br />

Choose random x ∈ [0,p− 1];<br />

t =(x(x2 + a)+b) modp; //Affinecubicforminx.<br />

if( <br />

t<br />

p == −1) goto [Loop]; // Via Algorithm 2.3.5.<br />

return (x, ± √ t mod p); // Square root via Algorithm 2.3.8 or 2.3.9.

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

Saved successfully!

Ooh no, something went wrong!