Elliptic Curves With A Given Number of Points
Elliptic Curves With A Given Number of Points
Elliptic Curves With A Given Number of Points
net/publication/221451662
CITATIONS READS
18 169
2 authors:
All content following this page was uploaded by Peter Stevenhagen on 28 May 2014.
1 Introduction
A classical theorem of Hasse from 1934 states that for an elliptic curve E defined
over the finite field Fq of q elements, the order of the group E(Fq ) of Fq -rational
points is an integer in the Hasse interval
√ √
Hq = [q + 1 − 2 q, q + 1 + 2 q]
that maps Fq to√a prime element πq of trace t and norm q in the quadratic order
O∆ = Z[(∆ + ∆)/2] ⊂ K of discriminant ∆. By the Deuring lifting theorem
[6, Chapter 13, Section 5], there exist a number field H ⊃ K and an elliptic
curve Ẽ/H such that
1. there exists φq ∈ End(Ẽ) satisfying φ2q − tφq + q = 0;
2. the prime q splits completely in H/Q, and for every prime q|q in H the
reduced curve Ẽ mod q is an elliptic curve having q + 1 − t points.
In fact, the reduction of the endomorphism φq ∈ End(Ẽ) above modulo a prime
q|q in H yields the Frobenius endomorphism of the curve Ẽ mod q over Fq .
The smallest field H ⊃ K over which a curve Ẽ satisfying 1 and 2 can
be defined is the Hilbert class field of K. More explicitly, from a list of reduced
binary quadratic forms [a, b, c] of discriminant D = disc(K), which can be viewed
as a list of elements of the class group Cl(D) of discriminant D, we can form the
class polynomial
!
Y −b + √D
FD = X −j ∈ Z[X]
2a
[a,b,c]∈Cl(D)
3 A non-archimedean approach
The key feature of the complex multiplication method in the previous section
is the computation of the class polynomial FD ∈ Z[X] of the order OD for
suitable D. As the zeroes modulo q of FD are j-invariants of curves E/Fq for
which either E or its quadratic twist has exactly N points, this immediately
solves our problem. In this section we achieve the computation of FD in an
other way, using p-adic instead of complex approximations of the zeroes of F D .
Working in a non-archimedean setting has the advantage that we no longer have
to cope with the problem of rounding errors that arises in the complex case. It
does require a p-adic substitute for the complex analytic method to evaluate j
in CM-points of H using Fourier expansions, and this is provided by the recent
work of Couveignes and Henocq [3] explained in this section.
2
Let N = q + 1 − t and √ ∆ = t − 4q be as in the previous section, and D < −4
the discriminant of Q( ∆). We first construct an elliptic curve E over a finite
field Fp which has CM with OD . As we want p to be as small as possible, we let s
be the smallest positive integer of the same parity as D for which p = (s2 − D)/4
is prime. For D ≡ 1 mod 8 such p does not exist for parity reasons unless D = −7,
and we pick the smallest positive s for which p = (s2 − 4D)/4 is prime instead.
In practice we expect s to be small, at most a power of log |D|, so that p is of the
same order of magnitude as D. Unfortunately, even under GRH proven upper
bounds [3] for s are much weaker. √ √
As there is a prime element πp = (s + D)/2 (or πp = (s + 2 D)/2) of
norm p and trace s > 0 in the order OD = Z[πp ] (or O4D = Z[πp ]), there exists
an ordinary elliptic curve over Fp having CM by Z[πp ] and p + 1 ± s points
over Fp . We can find such a curve E/Fp by applying the naive algorithm, as we
saw in section 2 that |D| is much smaller than N . We have End(E) = OD for
D 6≡ 1 mod 8. For D ≡ 1 mod 8 the ring End(E) is either equal to Z[πp ] = O4D
or to OD ) Z[πp ]. We are in the second case if all 2-torsion of E is Fp -rational,
and in the first if it isn’t. As for D ≡ 1 mod 8 the class polynomials FD and F4D
have the same degree and both generate the Hilbert class field H of K, they are
both fine for our purposes. Alternatively, in case we have End(E) = O4D there
is a unique point P of order 2 in E(Fp ), and we can replace E by the 2-isogenous
curve E/hP i to achieve End(E) = OD . We assume that we have End(E) = OD
in the sequel. Note that D is by definition fundamental.
By the Deuring lifting theorem, there exists a curve Ẽ/H and a prime p|p
such that Ẽ reduces modulo p to E and such that we have End(Ẽ) ∼ = End(E).
As p splits completely in H/Q the curve Ẽ is actually defined over Qp . In fact,
Ẽ is the unique elliptic curve over Qp with reduction E and endomorphism
ring End(Ẽ) ∼ = End(E) ∼ = OD . It is this canonical lift Ẽ of E that we want to
compute, as its j-invariant is a zero of our class polynomial.
Let EllD (Fp ) be the set of Fp -isomorphism classes of elliptic curves over Fp
with endomorphism ring OD . The j-invariants of the elements in EllD (Fp ) are
the zeroes of (FD mod p), so EllD (Fp ) is finite of order h(D) = #Cl(D). It can
be identified with the similarly defined set EllD (Qp ) of Qp -isomorphism classes
of elliptic curves over Qp with endomorphism ring OD . The j-invariants of the
elements in EllD (Qp ) are the zeroes of FD . Let Cp be the completion of an
algebraic closure of Qp , and write XD (Cp ) for the set of isomorphism classes of
elliptic curves over Cp with the property that their reduction is an element of
EllD (Fp ). Then XD (Cp ) is a p-adic analytic space, as the j-invariant identifies
it with a subset of Cp . It consists of h(D) discs of p-adic radius 1. Each disc
contains exactly one element of EllD (Qp ), and this is the subset of Cp we want
to compute. It consists of the (j-invariants of the) isomorphism classes of elliptic
curves in XD (Cp ) having CM with OD .
Let I ⊂ OD be an OD -ideal prime to p and E/Fp an elliptic curve in
EllD (Fp ). Then there is a separable isogeny E → EI which has the subgroup
E[I] of I-torsion points of E as its kernel. In this way, we obtain a bijection
ρ̄I : EllD (Fp ) → EllD (Fp ) that sends the isomorphism class of E to that of EI .
We obtain an action of the group I(p) of OK -ideals prime to p on EllD (Fp ), and
since principal OK -ideals act trivially, this action factors via the quotient map
I(p) Cl(D). This makes EllD (Fp ) into a principal homogeneous Cl(D)-space.
The fundamental idea in [3] is that the action of I(p) on EllD (Fp ) admits
a natural lift to an action of I(p) on XD (Cp ). More precisely, for I ∈ I(p) the
map ρI : XD (Cp ) → XD (Cp ) is a p-adic analytic map that lifts ρ̄I in the sense
that on EllD (Qp ) ⊂ XD (Cp ), the restriction of ρI is the standard Galois action
that factors via Cl(D). If I = (α) is principal with α ∈ OD \ Z, then ρα = ρI
stabilizes each disk around a CM-point in EllD (Qp ), and has the CM-point in
the disk as its unique fixed point.
It is shown in [3] that the derivative of the map ρα in a point of EllD (Qp )
equals α/ᾱ, and this can be used to compute the j-invariant of a CM-point in
EllD (Qp ) starting from an arbitrary point in the disk using a Newton iteration
process. If E1 is any lift of E to Cp , we put
EllD (Fp ):
Again, the smoothness properties are in practice much better than what can be
rigorously proved [3]. For the computation of ρL (E 0 ), we first compute the action
of ρ̄L on the reduction E = Ē 0 ∈ EllD (Fp ), i.e., the j-invariant of EL = ĒL0 .
The kernel E[L] of the isogeny E → EL is a cyclic subgroup of order ` of E[`]
that is an eigenspace of the Frobenius morphism with eigenvalue −b/a ∈ F` .
The corresponding polynomial f¯L ∈ Fp [X] can be computed by the techniques
used by Atkin and Elkies to improve Schoof’s original point counting algorithm,
see [9]. These techniques also yield a Weierstrass model for EL ; we only need
the j-invariant j(EL ) ∈ Fp of EL = ρ̄L (E). From the decomposition of ρα into
‘prime degree’ maps ρL , we obtain a cycle of isogenies
1 ρ̄L 2 ρ̄L t ρ̄L
(2) E −→ EL1 −→ EL1 L2 −→ . . . −→ E(α) = E.
To compute the action of L on the lift E 0 of E, we do not lift f¯L to some precision
to a divisor of the `-th division polynomial of E 0 , and then find a Weierstrass
model and the j-invariant for EL using Vélu’s formulas [11]. As the division
polynomial has degree (`2 −1)/2 for ` > 2, this would be rather time-consuming.
Instead, we exploit the `-th modular polynomial Φ` (X, Y ) ∈ Z[X, Y ], which is
of degree ` + 1 in each of the variables, and which we can precompute for a
number of small primes `. As there is an isogeny E 0 → EL0 of degree `, we know
that j(EL0 ) is a zero of Φ` (j(E 0 ), Y ) ∈ Zp [Y ]. Since we know the j-invariant of
the reduction of EL0 , we also know which root to approximate in Zp , and this
reduces the lifting process to a simple Hensel lift of a zero of a polynomial of
degree ` + 1.
For our Newton process in (1), we start from E ∈ EllD (Fp ), and compute
the cycle of Fp -isogenies in (2). We then lift E arbitrarily to a curve E1 over Qp ,
the ‘1 digit precision’ approximation of the canonical lift. Now we compute lifts
over Qp of our Fp -isogenies in 2 digit precision, using the modular polynomials,
and use the value of ρα (E1 ) obtained to update E1 as in (1) to a 2 digit preci-
sion approximation E2 of the canonical lift. We continue this process of making
(not really closed) cycles over Qp , doubling the precision of the computation at
each step, until we have the canonical lift with high enough accuracy (see [2,
Chapter 7, Section 6] for an estimate of the required accuracy).
If we know the canonical lift Ẽ, we compute its Galois conjugates again via
the modular polynomials. For this, we need small primes L that generate the
class group. Under GRH, this can be done using primes L not exceeding the
Bach bound 6 log2 (|D|), see [2, Chapter 5, Section 5]. In practice, this is never
a problem. If we have all the conjugates to the required precision, we find by
simple expansion of the product below the class polynomial
Y
FD = (X − j(ẼI )) ∈ Z[X].
[I]∈Cl(D)
We now compute a root of FD ∈ Fq , and note that we can check our computa-
tions so far by testing whether FD splits completely in Fq [X]. One of the 132
roots is j = 5215470850369 ∈ Fq , and an elliptic curve with this j-invariant is
Ea : y 2 = x3 + ax − a with a = 27j/(4(1728 − j)) = 1460967812073632 ∈ F q .
We know that Ea has CM with OD and that its trace of Frobenius equals ±t.
To test whether it actually equals t, we look at the order of P = (1, 1) ∈ E a (Fq ).
We see that (q + 1 + t)P 6= O = (q + 1 − t)P , so Ea must have trace equal to t.
We conclude that the curve defined by
y 2 = x3 + 1460967812073632x + 543093418434659
−48a
(3)
2a − 3(c1 c2 + c3 c4 )
is a cube root of j(Ẽ). As there are 3 ways to divide the roots c1 , . . . , c4 in two
sets of two roots each, formula (3) yields 3 distinct cube roots of j. Note that
there is no obvious way to single out an expression in (3) as being ‘the function’
corresponding to γ2 .
If I is an OD -ideal prime to 3p, the isogeny Ẽ → ẼI induces an isomorphism
∼
Ẽ[3] −→ ẼI [3] on the 3-torsion subgroups, and maps each possible cube root of
j(Ẽ) in (3) to some well-defined cube root of j(ẼI ). This is the Galois action
of the Artin symbol of I, which maps j(Ẽ) to j(ẼI ), on these cube roots. It
provides an extension of the map ρI : EllD (Qp ) → EllD (Qp ) to the set of
the cube roots of (the j-invariants of) the elements in EllD (Qp ). As all these
cube roots are p-adically integral, reduction of this map provides an extension of
ρ̄I : EllD (Fp ) → EllD (Fp ) to the set of cube roots in F̄p , provided we have p 6= 3.
In a similar way, we have an extension of the map ρI : XD (Cp ) → XD (Cp ) to
the set of cube roots.
Example 1 nicely illustrates that the cube roots of j are functions on the modular
curve X(3), the points of which can be viewed as isomorphism classes of elliptic
curves with complete 3-level structure: in order to have a well defined value not
only the j-invariant of the curve but also some ‘ordering’ of 3-torsion points is
required.
As the field Fn is generated over Q(j) by Fricke functions, a modular function
f of level n is always a rational expression in j and the roots of the n-th division
polynomial of a curve with j-invariant j. As in Example 1, the action ρI of
an OD -ideal I coprime to pn on XD (Cp ) naturally maps the roots of Ψf (X, j)
for j ∈ XD (Cp ) to the roots of Ψf (X, ρI (j)). This observation suffices to treat
modular functions providing class invariants by p-adic methods similar to that
in section 3.
Suppose f is an integral modular function of level n that is known to pro-
vide class invariants for OD at certain CM-points for OD in H. Then we know
that for every curve Ẽ ∈ EllD (Qp ), certain roots of Ψf (X, j(Ẽ)) ∈ Qp [X] are
class invariants, so they lie in Qp . If E ∈ EllD (Fp ) is the reduction of Ẽ, then
Ψf (X, j(E)) ∈ Fp [X] will have roots in Fp , and we want to know which roots
in Fp arise as the reduction of class invariants. Let β be a root, and assume for
simplicity that Ψf (X, j(E)) is separable. (This is usually the case in practice as
p is not too small, of size O(D 1+ε ).) The roots of Ψf (X, j(Ẽ)) ∈ Qp [X] all lie
in Hn , and they are class invariants exactly when they are fixed by the Galois
group
Gal(Hn /H) ∼ = (OD /nOD )∗ /OD ∗
= ker[Cl(n2 D) → Cl(D)].
It follows that β arises as the reduction of a class invariant if it is fixed by the
maps ρ̄x : EllD (Fp ) → EllD (Fp ) for a set of generators x of (OD /nOD )∗ /OD ∗
.
We can compute ρ̄x (j(E)) as before when x is sufficiently smooth, and we need
the extension of the action to the roots of Ψf (X, j(E)). In theory this can be
done by working with explicit Weierstrass models and an explicit description of
f in terms of n-torsion points as in Example 1. In practice we work with modular
polynomials for prime degree ` isogenies relating the roots of Ψf (X, j1 ) to that
of Ψf (X, j2 ) when j1 and j2 are j-invariants of `-isogenous curves. Such modular
polynomials are in many ways similar to the modular polynomials Φ` (X, Y ) aris-
ing for the j-function, and they may be found using complex analytic methods
involving q-expansions.
Suppose we find that a certain root β ∈ Fp of Ψf (X, j(E)) is the reduction
of a class invariant β̃. Then we lift the pair (E, β) to the pair (Ẽ, β̃) consisting
of the canonical lift Ẽ/Qp and the class invariant β̃. In theory this can be
done by lifting j(E) as in section 3, using cycles of smooth isogenies, and then
compute the Hensel lift of β to the root β̃. This method makes use of the modular
polynomials Φ` for j, which are big. In many cases the corresponding polynomials
Φf` for f are much more pleasant to work with, so it is better to lift isogeny
cycles not in terms of j-invariants but in terms of a root of Ψf (X, j), and find
the resulting j-invariant from its corresponding root.
All that remains is computing the conjugates of the pairs (Ẽ, β̃) under Cl(D).
This is done in exactly the same manner as before, using small primes that
generate Cl(D). We are only interested in the conjugates of β̃, so we use the
modular polynomials Φf` to compute these conjugates. In the end we expand the
polynomial Y
f
FD = (X − β̃ I ) ∈ Z[X] (or OD [X].)
[I]∈Cl(D)
(11, 8 + 2πp ) · (17, 4 + 2πp )2 · (23, 16 + 2πp )2 · (31, 13 + 2πp ) · (41, 30 + 2πp ).
Using this cycle, we can also compute the cycle for β. For instance, the modular
polynomial Φf11 (β, Y ) ∈ Fp [Y ] has two roots: 32604444 and 60476019. In order
to determine which root to take, we note that β is a root of Ψf (X, j(EL11 )) =
(X 24 − 16)3 − j(EL11 )X 24 ∈ Fp [X]. We find that 60476019 is the root we need.
Continuing like this, we get the following cycle for β in Fp :
11L 17 L 31 L 41 L
21677132 −→ 60476019 −→ · · · −→ 53004472 −→ 21677132.
β̃ = 21677132 + O(p)
= 21677132 + 28966941p + O(p2 )
= 21677132 + 28966941p + 7010373p2 + 31182954p3 + O(p4 )
= 21677132 + 28966941p + 7010373p2 + 31182954p3 − 33808617p4
+27519307p5 − 31601027p6 − 36195013p7 + O(p8 )
= 21677132 + 28966941p + 7010373p2 + 31182954p3 − 33808617p4
+27519307p5 − 31601027p6 − 36195013p7 − 8331811p8
−33957007p9 − 18191700p10 + 5895954p11 − 42670221p12
+23637278p13 − 40784695p14 + 7754196p15 + O(p16 ).
y 2 = x3 + 669397215131271955483581235905x + 363369366443977510319399421188