Schoof's algorithm is an efficient algorithm to count points on
elliptic curve
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If ...
s over
finite fields
In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subt ...
. The algorithm has applications in
elliptic curve cryptography
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography (based on plain Galois fields) to provide e ...
where it is important to know the number of points to judge the difficulty of solving the
discrete logarithm problem
In mathematics, for given real numbers ''a'' and ''b'', the logarithm log''b'' ''a'' is a number ''x'' such that . Analogously, in any group ''G'', powers ''b'k'' can be defined for all integers ''k'', and the discrete logarithm log''b ...
in the
group
A group is a number of persons or things that are located, gathered, or classed together.
Groups of people
* Cultural group, a group whose members share the same cultural identity
* Ethnic group, a group whose members share the same ethnic ide ...
of points on an elliptic curve.
The algorithm was published by
René Schoof in 1985 and it was a theoretical breakthrough, as it was the first deterministic polynomial time algorithm for
counting points on elliptic curves An important aspect in the study of elliptic curves is devising effective ways of counting points on the curve. There have been several approaches to do so, and the algorithms devised have proved to be useful tools in the study of various fields s ...
. Before Schoof's algorithm, approaches to counting points on elliptic curves such as the naive and
baby-step giant-step In group theory, a branch of mathematics, the baby-step giant-step is a meet-in-the-middle algorithm for computing the discrete logarithm or order of an element in a finite abelian group by Daniel Shanks. The discrete log problem is of fundamenta ...
algorithms were, for the most part, tedious and had an exponential running time.
This article explains Schoof's approach, laying emphasis on the mathematical ideas underlying the structure of the algorithm.
Introduction
Let
be an
elliptic curve
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If ...
defined over the finite field
, where
for
a prime and
an integer
. Over a field of characteristic
an elliptic curve can be given by a (short) Weierstrass equation
:
with
. The set of points defined over
consists of the solutions
satisfying the curve equation and a
point at infinity
In geometry, a point at infinity or ideal point is an idealized limiting point at the "end" of each line.
In the case of an affine plane (including the Euclidean plane), there is one ideal point for each pencil of parallel lines of the plane. A ...
. Using the
group law on elliptic curves restricted to this set one can see that this set
forms an
abelian group
In mathematics, an abelian group, also called a commutative group, is a group in which the result of applying the group operation to two group elements does not depend on the order in which they are written. That is, the group operation is com ...
, with
acting as the zero element.
In order to count points on an elliptic curve, we compute the cardinality of
.
Schoof's approach to computing the cardinality
makes use of
Hasse's theorem on elliptic curves
Hasse's theorem on elliptic curves, also referred to as the Hasse bound, provides an estimate of the number of points on an elliptic curve over a finite field, bounding the value both above and below.
If ''N'' is the number of points on the ellipt ...
along with the
Chinese remainder theorem
In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of the ...
and
division polynomials.
Hasse's theorem
Hasse's theorem states that if
is an elliptic curve over the finite field
, then
satisfies
:
This powerful result, given by Hasse in 1934, simplifies our problem by narrowing down
to a finite (albeit large) set of possibilities. Defining
to be
, and making use of this result, we now have that computing the value of
modulo
where
, is sufficient for determining
, and thus
. While there is no efficient way to compute
directly for general
, it is possible to compute
for
a small prime, rather efficiently. We choose
to be a set of distinct primes such that
. Given
for all
, the
Chinese remainder theorem
In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of the ...
allows us to compute
.
In order to compute
for a prime
, we make use of the theory of the Frobenius endomorphism
and
division polynomials. Note that considering primes
is no loss since we can always pick a bigger prime to take its place to ensure the product is big enough. In any case Schoof's algorithm is most frequently used in addressing the case
since there are more efficient, so called
adic algorithms for small-characteristic fields.
The Frobenius endomorphism
Given the elliptic curve
defined over
we consider points on
over
, the
algebraic closure
In mathematics, particularly abstract algebra, an algebraic closure of a field ''K'' is an algebraic extension of ''K'' that is algebraically closed. It is one of many closures in mathematics.
Using Zorn's lemmaMcCarthy (1991) p.21Kaplansky ...
of
; i.e. we allow points with coordinates in
. The
Frobenius endomorphism
In commutative algebra and field theory, the Frobenius endomorphism (after Ferdinand Georg Frobenius) is a special endomorphism of commutative rings with prime characteristic , an important class which includes finite fields. The endomorphi ...
of
over
extends to the elliptic curve by
.
This map is the identity on
and one can extend it to the point at infinity
, making it a
group morphism from
to itself.
The Frobenius endomorphism satisfies a quadratic polynomial which is linked to the cardinality of
by the following theorem:
Theorem: The Frobenius endomorphism given by
satisfies the characteristic equation
:
where
Thus we have for all
that
, where + denotes addition on the elliptic curve and
and
denote scalar multiplication of
by
and of
by
.
One could try to symbolically compute these points
,
and
as functions in the
coordinate ring
In algebraic geometry, an affine variety, or affine algebraic variety, over an algebraically closed field is the zero-locus in the affine space of some finite family of polynomials of variables with coefficients in that generate a prime ide ...
of
and then search for a value of
which satisfies the equation. However, the degrees get very large and this approach is impractical.
Schoof's idea was to carry out this computation restricted to points of order
for various small primes
.
Fixing an odd prime
, we now move on to solving the problem of determining
, defined as
, for a given prime
.
If a point
is in the
-
torsion subgroup In the theory of abelian groups, the torsion subgroup ''AT'' of an abelian group ''A'' is the subgroup of ''A'' consisting of all elements that have finite order (the torsion elements of ''A''). An abelian group ''A'' is called a torsion group (or ...
, then
where
is the unique integer such that
and
.
Note that
and that for any integer
we have
. Thus
will have the same order as
. Thus for
belonging to