← LibrarySchoof's Point Counting AlgorithmEngineering · MathematicsLesson 348/385← PrevNext →
ArticlePublished 7 Aug 20262 min readBy Kevin JoginSchoof algorithmpoint countingdivision polynomialFrobenius

Elliptic Curves

Schoof's Point Counting Algorithm

Schoof's polynomial-time algorithm for counting points on a curve over a finite field, and the SEA improvements.

Engineering / MathematicsElliptic Curves2 min readKV-MATH-0645

Schoof's algorithm counts points on a curve over a finite field in time polynomial in the logarithm of the field size. It was the first such method and it made cryptographic-size point counting possible.

The idea

The trace of Frobenius is determined modulo many small primes by working in the torsion subgroups, then reassembled by the Chinese remainder theorem. The Hasse bound tells you when enough primes have been used.

Frobenius satisfies: F^2 - a F + q = 0 on the curveDetermining a modulo small primes l determines a, by the Hasse bound.

Schoof's algorithm

  1. Choose small primesEnough that their product exceeds the width of the Hasse interval.
  2. Work in the l-torsionRepresented as the quotient by the l-th division polynomial.
  3. Test candidatesFind the value of the trace modulo l satisfying the Frobenius relation there.
  4. ReassembleApply the Chinese remainder theorem.
  5. SelectThe Hasse bound identifies the unique candidate in range.

Division polynomials

The l-torsion points are the roots of the l-th division polynomial. Computing modulo it is how the algorithm works in the torsion subgroup without ever finding the points.

Cost

Point counting cost comparison
MethodComplexityPractical range
Baby-step giant-stepFourth root of the field sizeModerate fields
SchoofPolynomial in the logarithm, with a large exponentLarge fields, slowly
SEASubstantially better in practiceVery large fields

The SEA improvements

Elkies and Atkin observed that for many primes the division polynomial has a factor of much lower degree, obtainable from modular equations. Working modulo that factor instead is far cheaper.

Elkies primes
The modular equation has roots in the field; a low-degree factor exists and the trace is determined directly.
Atkin primes
No such factor; the modular equation still constrains the trace to a small set of possibilities.
Combination
Elkies primes give exact values; Atkin primes give constraints, combined by a search over the remaining possibilities.

Application

Point counting is required for Goldwasser-Kilian primality proving, where the order of the curve group must be known exactly. The expense of point counting is what motivated the Atkin-Morain alternative, which constructs curves of known order instead.

Source. Henri Cohen, A Course in Computational Algebraic Number Theory, Springer GTM 138 — 7.4.4. Structural reference unverified: the source file was not available during authoring; chapter and section numbers are taken from the published edition and have not been checked against a physical copy.

Continue learning

Curve Reduction and Tate's AlgorithmArticle · MathematicsNEXT LESSON →Primality Versus Factoring: Framing the ProblemsArticle · MathematicsComputing with Elliptic Curves over CArticle · MathematicsFermat and Strong Pseudoprime TestsArticle · Mathematics