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.5 Counting points on elliptic curves 349<br />

Now to Shanks’s application of the list intersection notion to the problem<br />

of curve order. Imagine we can find a relation for a point P ∈ E, say<br />

[p +1+u]P = ±[v]P,<br />

or, what amounts to the same thing because −(x, y) =(x, −y) always,we<br />

find a match between the x-coordinates of [p +1+u]P and vP. Such a match<br />

implies that<br />

[p +1+u ∓ v]P = O.<br />

This would be a tantalizing match, because the multiplier here on the left<br />

must now be a multiple of the order of the point P , and might be the curve<br />

order itself. Define an integer W = p 1/4√ 2 . We can represent integers k<br />

with |k| < 2 √ p as k = β + γW, whereβ ranges over [0,W − 1] and γ ranges<br />

over [0,W]. (We use the letters β,γ to remind us of Shanks’s baby-steps and<br />

giant-steps, respectively.) Thus, we can form a list of x-coordinates of the<br />

points<br />

{[p +1+β]P : β ∈ [0,...,W − 1]},<br />

calling that list A (with #A = W ), and form a separate list of x-coordinates<br />

of the points<br />

{[γW]P : γ ∈ [0,...,W]},<br />

calling this list B (with #B = W + 1). When we find a match, we can test<br />

directly to see which multiple [p +1+β ∓ γW]P (or both) is the point at<br />

infinity. We see that the generation of baby-step and giant-step points requires<br />

O p 1/4 elliptic operations, and the intersection algorithm has O p 1/4 ln p <br />

steps, for a total complexity of O p 1/4+ɛ .<br />

Unfortunately, finding a vanishing point multiple is not the complete task;<br />

it can happen that more than one vanishing multiple is found (and this is why<br />

we have phrased Algorithm 7.5.1 to return all elements of an intersection).<br />

However, whenever the point chosen has order greater than 4 √ p, the algorithm<br />

will find the unique multiple of the order in the target interval, and this will<br />

be the actual curve order. It occasionally may occur that the group has low<br />

exponent (that is, all points have low order), and the Shanks method will never<br />

find the true group order using just one point. There are two ways around<br />

this impasse. One is to iterate the Shanks method with subsequent choices<br />

of points, building up larger subgroups that are not necessarily cyclic. If the<br />

subgroup order has a unique multiple in the Hasse interval, this multiple is<br />

the curve order. The second idea is much simpler to implement and is based<br />

on the following result of J. Mestre; see [Cohen 2000], [Schoof 1995]:<br />

Theorem 7.5.2 (Mestre). For an elliptic curve E(Fp) and its twist E ′ (Fp)<br />

by a quadratic nonresidue mod p, we have<br />

#E +#E ′ =2p +2.<br />

When p>457, there exists a point of order greater than 4 √ p on at least<br />

one of the two elliptic curves E,E ′ .Furthermore,ifp>229, at least one

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

Saved successfully!

Ooh no, something went wrong!