Elliptic Curve Course PDF
Elliptic Curve Course PDF
By
Christophe RITZENTHALER
2
3
These are notes of a course taught at Rennes in the first semester 2013-2014. They
can be found on http://perso.univ-rennes1.fr/christophe.ritzenthaler/.
Please send comments and corrections to me at christophe.ritzenthaler@univ-rennes1.
fr.
3 Pairings 25
3.1 Review on divisors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 The Weil pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Computation of the Weil pairing: practice . . . . . . . . . . . . . . . . . 29
4 Travaux Dirigs 31
4.1 TD 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 noncs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.2 Corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
i
4.2 TD 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.1 noncs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.2 Corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3 TD 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.1 noncs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.2 Corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.4 TD1 de gomtrie algbrique . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4.1 noncs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4.2 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 TD2 de gomtrie algbrique . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5.1 noncs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5.2 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5 Appendices 49
5.1 Nullstellensatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2 Bzout theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ii
1 Introduction to elliptic
curves
E : y 2 + a1 xy + a3 y = x3 + a2 x2 + a4 x + a6
Note that this set can be empty (for instance x2 + y 2 = 1 over R) so the set of points
does not determine the equation of the curve. However if K is algebraically closed and
if f is irreducible (check it looking at f as a polynomial of degree 2 in y) then f is
uniquely determined by C(K) up to a scalar multiplier. For this reason, it is important
1
2 Chapter 1. Introduction to elliptic curves
to be able to consider the set of points of a curve C/K not only over K but over all
extensions of K. In particular, we simply call a K-rational point, a point of C.
The condition 6= 0 insures that E has no singular point. Let us check this in the case
a1 = a3 = a2 = 0 and char K 6= 2, 3. A point P = (a, b) E(k) is singular if and only if
f /x(a, b) = f /y(a, b) = 0 where f = y 2 (x3 + a4 x + a6 ). Hence we get
2b = 0,
(3a2 + a4 ) = 0,
b2 (a3 + a a + a ) = 0.
4 6
An abstract curve
We have not defined what an elliptic curve is! We only gave an equation of this object.
One has to understand that an elliptic curve is an abstract object that can have many
avatars (models), a model given by a Weierstrass equation being one. Here are other
examples
To keep it simple, we will however often confuse the definition of an elliptic curve and of
its (Weierstrass equation) but one has to keep in mind that in general abstract curve
6= a model of a curve 6= an equation of the curve.
The affine points of E, i.e. the ones with z 6= 0. We can hence find a representative
with z = 1 and so with this normalization the affine points of E are the points of
E.
The points at infinity of E, i.e. the ones with z = 0. Letting z = 0 in the equation,
we get x3 = 0 so there is a unique point at infinity which is denoted O = (0 : 1 : 0).
By a change of coordinate, one can prove that the point O is non singular : around
O, we have the affine equation z + a1 xz + a3 z 2 = x3 + a2 x2 z + a4 xz 2 + a6 z 3 and the
derivatives with respect to x and z at the point O are 0 and 1. Hence the model E is a
non-singular projective curve. Since E and E are so closely related, we often forget the
adjective projective or the in our speech.
The genus is a topological invariant which is a non negative integer. Hence if two
curves have different genus they cannot be transformed into each other in a contineous
way without introducing singulairities. This hence defines a stratification of the set of
curves with growing complexity according to the genus. Note that the genus 0 algebraic
curves are the one which admit a parametrization, for instance the conics, i.e. plane
curves given by a projective equation of degree 2. One can prove that an elliptic curve
does not admit a parametrization. Since it can be given by a degree 3 equation, this is
somehow the simplest example after the conics. Note that if would be zero we can
see that we can get a parametrization.
Remark 1.1.4. To go even further and make the link with our initial definition, wed have
to use Riemann-Roch theorem to see that we can obtain an embedding of our abstract
curve as a plane curve using the Riemann-Roch space associated to the divisor 3O (see
[Sil92, Prop.III.3.1]).
Remark 1.1.5. At least, over C, one can see that the genus of an elliptic curve is 1.
First, one has to understand that an elliptic curve can be given as C modulo a lattice
through the so-called Weierstrass functions (see DH ??). But C modulo a lattice is
a complex torus and it is well known that the genus counts the number of holes in a
compact Riemann surface.
1.1.4 Isomorphisms
Between two algebraic varieties, there is a natural notion of morphisms which are maps
described by polynomials. We will choose an ad hoc definition for isomorphisms between
Weierstrass models.
Definition 1.1.6. Two elliptic curves E1 and E2 defined over K and given by Weier-
1.1. Some definitions 5
strass equations
E1 : y 2 + a1 xy + a3 y = x3 + a2 x2 + a4 x + a6
E2 : y 2 + a01 xy + a03 y = x3 + a02 x2 + a04 x + a06 ,
are said to be isomorphic over K if there exist u, r, s, t K with u 6= 0 such that the
change of variables
(x, y) 7 (u2 x + r, u3 y + u2 sx + t)
transform the equation of E1 into the equation of E2 (up to a non-zero scalar multiplier
of course).
If E2 = E1 , such a transformation is called an automorphism of E1 .
Is there a simple way to see if two Weierstrass models are isomorphic over an al-
gebraically closed field K ? Such a classical problem is part of the general theory of
invariants and in this case the answer is simple. Let us start with two simplified Weier-
strass models: y 2 = x3 + ax + b and y 2 = x3 + a0 x + b0 . It is easy to see that the
only possible transformation is a = u4 a0 and b = u6 b0 for some u K . There exists
such an u if and only if a0 3 /b0 2 = a3 /b2 . However this has no sense if b or b0 is zero.
There is one quantity which we know is never 0: the discriminant . Here we have
= 16(4a3 + 27b2 ) and 0 = 16(4a0 3 + 27b0 2 ). Hence we can get the same result
using the well defined j-invariant
j := 1728(4a3 )/.
Proposition 1.1.7. Two simplified Weierstrass models are K-isomorphic if and only
if they have the same j-invariant. Moreover given j0 K, there exists a Weierstrass
model over K with j-invariant equal to j0 .
Proof. The direct implication is trivial. Conversely assume that two simplified Weier-
strass models have the same j-invariants, then from
3 2
(4a3 )/(4a3 + 27b2 ) = (4a0 )3 /(4a0 + 27b0 ),
we get
2 3
a3 b0 = a0 b2 .
This can be extended to all Weierstrass models (and then to characteristic 2 and 3)
by defining c4 = b22 24b4 and j = c34 /.
Theorem 1.2.1. Let E/K be an elliptic curve. The previous operation is a commutative
group law on E(K 0 ) for all extensions K 0 of K.
P + O = P;
P + Q = Q + P;
Only the last point is not obvious. It can be proved by direct computation with coordi-
nates of the points see TP 4. Another geometric proof is given in [Ful89, p.124].
Lemma 1.2.3.
Proof. The first fact comes easily from the action of [m] on the regular differential and
general results from algebraic geometry [Sil92, Cor.III.5.4]. The first equality can be
proved using [Sil92, Prop.II.2.6,Th.III.4.10]. The second equality can be derived using
duality [Sil92, Cor.III.6.4], an explicit computation with division polynomials [Was03,
Sec.3.2] or an analogy this the complex torus over C.
en : E[n] E[n] n
and
en (S, T1 + T2 ) = en (S, T1 )en (S, T2 ).
2. en is alternated: en (T, T ) = 1 for all T E[n] and en (T, S) = en (S, T )1 for all
S, T E[n].
5. en (u(S), u(T )) = en (S, T )deg(u) for all (separable) endomorphisms u EndK (E).
We will give proofs for this theorem in the last chapter. Presently well derive some
consequences.
Corollary 1.2.6. Let {T1 , T2 } be a basis of E[n]. Then en (T1 , T2 ) is a primitive nth
root of unity.
Proof. Suppose en (T1 , T2 ) = with d = 1. Then en (T1 , dT2 ) = 1. Let S E[n] then
S = aT1 + bT2 therefore
If "u is an
# endomorphism, we obtain the action of u on the n-torsion by a matrix
a b
un = with entries in Z/nZ describing the action of u on a basis {T1 , T2 } of E[n].
c d
1.2. The group law 9
Proof. By Corollary 1.2.6, = en (T1 , T2 ) is a primitive nth root of unity. Then using
Theorem 2.1.14
E(F7 ) = {O, (0, 3), (0, 4), (3, 1), (3, 6), (5, 1), (5, 6), (6, 1), (6, 6)}.
(y q )2 +a1 xq y q +a3 y q = (y 2 ++a1 xy+a3 y)q = (x3 +a2 x2 +a4 x+a6 )q = (xq )3 +a2 (xq )2 +a4 xq +a6
since x 7 xq is k-linear. It also respect the addition since all the formulas have coeffi-
cients in k. Finally, for the same reason, it commutes with the action of [m], hence the
subring of End(E) generated by the multiplication maps [m] and is a commutative
ring and the composition of elements of this ring will be denoted multiplicatively.
11
12 Chapter 2. Elliptic curves over finite fields
Lemma 2.1.3. A point (x, y) E(k) belongs to E(k) if and only if q (x, y) = (x, y).
The degree map d : End(E) Z is a positive definite quadratic form (i.e. L(a,b)=(d(a+b)-
d(a)-d(b))/2 is Z-bilinear).
Proof. The first and second points can be proved using some algebraic geometry [Sil92,
Prop.II.2.11,Cor.III.5.5]. Since deg(u) 0 and that the only morphisms of degree 0 are
constant, it is clear that the map is positive definite. To prove that it is bilinear, we will
use Corollary 1.2.7. Let u, v, w End(E) and let n be a prime big enough so that all
equivalences of the degrees modulo n are equalities in N. It is then enough to use the
fact that the 2-dimensional determinant is a quadratic form to conclude.
p
Cauchy-Schwarz inequality implies that |d(a b) d(a) d(b)| 2 d(a)d(b). Using
this with a = rq et b = 1, we get
q
|d(rq 1) d(1) d(rq ) d(1)| 2 d(1)d(rq )
|# ker(E(Fqr )) 1 q r | 2 q r .
Theorem 2.1.6 (Hasse). If Nq denotes the number of rational points of E/Fq , then
|Nq q 1| 2 q.
This second proof comes from Manins article in 1956, explained by Cassels and then
completed (for a missing details on the degrees) by Gelfond and Linnik in 1966. The
following part is extracted from the PhD thesis of Afzal Soomro, defended in 2013 who
also generalized the proof to the characteristic 2 case.
E : y 2 = f (x) = x3 + ax2 + bx + c.
2.1. Number of points on elliptic curves over finite fields: theory 13
Consider
E tw : f (t)y 2 = x3 + ax2 + bx + c. (2.1)
The curve E tw is a quadratic twist of E/Fq (t). The two curves E and E tw are isomorphic
over K = F(t, s), where s2 = f (t). The isomorphism is defined as follows:
E tw E
d : Z {0, 1, 2, 3, ...}
given by (
0 if Pn = O;
d(n) = dn =
deg(fn ) otherwise.
Since E tw is not in the standard Weierstrass form, there will be modifications in the
usual addition and duplication formulae.
Lemma 2.1.7. If Pn = (xn , yn ) 6= O, write xn = fn (t)/gn (t) with fn (t), gn (t) F[t].
Then deg(fn ) > deg(gn ).
Proof. Suppose = 1/t and view E tw over F(( )). We change coordinates as follows:
= x and = y.
(1 + a + b 2 + c 3 ) 2 = 3 + a 2 + b 2 + c 3 .
14 Chapter 2. Elliptic curves over finite fields
We denote by v(f /g) the valuation of f /g seen as an element of F(( )). We know that
v(f /g) = v(f ) v(g) and if f F[t] then v(f ) = deg(f ). Namely, if f = ad td + + a0
with ad 6= 0, then
f = ad d + + a0
= d (ad + ad1 + + a0 d ).
E tw /F : 2 = 3 .
where E0tw (F(( ))) is the set of points in E tw (F(( ))) whose reduction modulo is in
Ens (F) = {(, ) 6= (0, 0), 2 = 3 } O, the set of non-singular points of E tw . To prove
tw
that E0tw (F(( ))) is a group, it is enough to shod that Enstw (F) is also for the law inherited
from the classical addition law on E tw . This is classical: the curve y 2 z = x3 without the
point (0, 0) is isomorphic to A1 by (x, y) 7 x/y with inverse x 7 (x : 1 : x3 ). The group
law + on A1 induces a group law on the curve. This group law is the classical geometric
one: it is enough to see that x1 + x2 + x3 = 0 if and only if P1 + P2 + P3 = O (use the
coordinates in (x, z)). Therefore Ens tw (F) is a group for the geometric group law. Hence,
when we take P1 , P2 E0tw (F(( ))) then, by definition, their reduction is on Ens tw (F),
so also the sum of their reduction. But this means that P1 + P2 has its reduction on
tw (F), so it is on E tw (F(( ))). This last set is also a group.
Ens 0
Let P = (f /g, y) E tw (F(t)), where f and g are polynomials. In new coordinates
, , the point P = ( f /g, y) E tw (F(t)) E tw (F(( ))) (because = x. Note that
f
P E0tw (F(( ))) v 0
g
deg(f ) > deg(g).
Clearly the points P = (tq , f (t)(q1)/2 ) and Q = (t, 1) are in the group E0tw (F(( ))) for
all q. Therefore, Pn = P0 + nQ E0tw (F(( ))). This proves the lemma.
Lemma 2.1.9.
d1 = Nq .
2.1. Number of points on elliptic curves over finite fields: theory 15
x(P1 ) = x(P0 Q)
h i2
f (t) f (t)(q1)/2 + 1
= a (tq + t)
(tq t)2
f (t)q + 2f (t)(q+1)/2 + f (t) a(tq t)2 (t3q t2q+1 tq+2 + t3 )
=
(tq t)2
t2q+1 + a polynomial of lower degree
= .
(tq t)2
We can write Y
tq t = (t ).
F
Therefore,
d1 = 2q + 1 #{Cancellations of degree one factors}.
Now we count #{Cancellations of degree one factors}. Suppose
h i2
f (t) f (t)(q1)/2 + 1 = N (t).
We have
N (t) a )2 (tq t) )2
Q Q
F (t F (t
x(P1 ) = 2
,
F (t )
Q
d1 = 1 + 2q #{ F|f () = 0} 2 #{ F|f () 6= 0, 6= }
= 1 + 2 { F} #{ F|f () = 0} 2 #{ F|f () 6= 0, 6= }
= 1 + 2 #{ F|f () 6= 0, = } + #{ F|f () = 0}
= Nq .
Proof. Take Pn1 , Pn and Pn+1 . We consider the following two cases.
Case 1: One of Pn1 , Pn and Pn+1 is O. By definition, Pn = Pn1 + Q = Pn+1 Q, for
every n Z.
(i) If Pn = O, then Pn1 = (t, 1) and Pn+1 = (t, 1). Therefore, dn1 = 1 and dn+1 =
1. The lemma follows.
(ii) If Pn1 = O, then Pn = (t, 1) and Pn+1 = 2(t, 1). By the duplication formula
(2.3),
t4 2bt2 8ct + b2 4ac
x(Pn+1 ) = . (2.4)
4t3 + 4at2 + 4bt + 4c
We can write this as
df (t)
dt (4a + 2t)f (t)
x(Pn+1 ) = .
4f (t)
Since f (t) does not have multiple roots, we have (2.4) in lowest form and dn+1 = 4.
This proves the lemma.
(iii) If Pn+1 = O, then the same argument proves the the lemma in this case.
Case 2: None of Pn1 , Pn and Pn+1 is O. Recall that we introduced the notation
Pi = (fi /gi , yi ) whenever Pi 6= O, where fi , gi F[t] are coprime, and yi F(t). By the
addition formula (2.2), applied to Pn1 = Pn Q, one has
say.
Remark 2.1.11. The assumption Pn1 6= O is equivalent to Pn 6= Q, or x(Pn ) =
fn /gn 6= t. Since in Case 2 above Pn 6= O, this means x(Pn ) = fn /gn 6= t, i.e., fn 6= tgn .
2.1. Number of points on elliptic curves over finite fields: theory 17
fn3 fn2 fn
f (t)yn2 = + a + b + c,
gn3 gn2 gn
hence (f (t)gn2 yn )2 F[t], which implies f (t)gn yn F[t]. Therefore, R and S are also
polynomials. Moreover, fn1 /gn1 and fn+1 /gn+1 are in lowest form; by multiplying
them, we get
Using Lemma 2.1.7, it follows that the right-hand-side of this expression has the same
degree as t2 fn2 . Hence we get
Now we prove (2.8). It follows from the second equality in (2.7) that (tgn fn )2 | RS.
Write (tgn fn )2 = R1 S1 for certain R1 , S1 F[t] such that R1 | R and S1 | S. Since
fn1 R R R/R1
= = = ,
gn1 (tgn fn )2 R1 S1 S1
we get gn1 | S1 . Similarly, we get gn+1 | R1 . Therefore,
Suppose (2.9) is not true, then an irreducible polynomial (t) F[t] exists such that
v ((tgn fn )2 ) > v (gn1 gn+1 ), where v is valuation on F(t) corresponding to (t).
We claim that and the valuation v have the following properties.
18 Chapter 2. Elliptic curves over finite fields
(b) - gn ;
(c) v (T ) > 0;
Since v ((tgn fn )2 ) > 0 by Property (a), the condition | gn would imply | tgn
(tgn fn ) = fn , violating the fact that gn and fn are coprime; hence, Property (b)
follows.
To see Property (c), note that (2.7) implies
hence,
v (T ) v (fn1 fn+1 ) = v ((tgn fn )2 ) v (gn1 gn+1 ),
which by our assumption is strictly positive. This implies that v (T ) > 0.
Finally, to prove Property (d), note that we already saw that (tgn fn )2 | RS; hence,
Property (a) implies that | RS. Therefore | R or | S. Suppose - R, then from
(2.5), we get
v (gn1 ) v (fn1 ) = v ((tgn fn )2 ) > 0.
Since gcd(fn1 , gn1 ) = 1, this implies v (fn1 ) = 0; hence, the equality above reduces
to
v (gn1 ) = v ((tgn fn )2 ).
From (2.7), we now deduce
Since the polynomials fn+1 and gn+1 are co-prime, it follows that v (gn+1 ) = 0. There-
fore,
v (gn+1 gn1 ) = v ((tgn fn )2 ),
contradicting our initial assumption. Hence, indeed | R. An analogous argument
shows that | S. Indeed, if - S, then (2.6) shows
which implies v (fn+1 ) = 0 and v (gn+1 ) = v ((tgn fn )2 ). Again applying (2.7) shows
in this case that
v (fn1 ) v (gn1 ) = v (T ) > 0
2.1. Number of points on elliptic curves over finite fields: theory 19
which is a contradiction. This finishes the proof of the Properties (a), (b), (c) and (d).
Properties (a) and (d) imply that the valuations at of
and of
f (t)gn3 (1 + yn )2 = R + (tgn + fn )(tgn fn )2 + agn (tgn fn )2
are both positive, as is seen by considering the right-hand-side. Also, v ((1 yn )2 ) and
v ((1+yn )2 ) can not both be positive: since (1yn )+(1+yn ) = 2 and the characteristic
is not equal to 2, this would yield a contradiction. If we suppose v ((1 yn )2 ) 0, then
v (f (t)) > 0 since v (f (t)gn3 (1 yn )2 ) > 0. Similarly, if v ((1 + yn )2 ) 0, it follows that
v (f (t)) > 0. So we conclude in all cases that | f .
By computing modulo (tgn fn ) one clearly has fn tgn mod (tgn fn ); hence,
h i
T (t2 gn bgn )2 4cgn ((t a)gn + tgn ) mod (tgn fn ),
i.e.,
T gn2 (t4 2bt2 8ct 4ac + b2 ) mod (tgn fn ).
Properties (a), (b), and (c) therefore show
say. A calculation reveals that the resultant of and f equals the square of the dis-
criminant of f , which is nonzero constant in F. Since the resultant is an F[t]- linear
combination of f and , this contradicts the fact that f and are divisible by . So the
lemma follows in this case.
Remark 2.1.12. Note that the polynomial , appearing in the proof above, is precisely
the numerator appearing in the formula for x(2P ).
From the above identity, we obtain that the function dn can be expressed as a
polynomial in n, as follows.
dn = n2 + aq n + q.
Proof. This follows by induction on n, using the Lemmas 2.1.10 and 2.1.9.
d(x) = x2 + aq x + q.
20 Chapter 2. Elliptic curves over finite fields
Assume that Hasses theorem were false for E/F. This is equivalent to the statement
a2q 4q > 0, which implies that d(x) has two zeroes. Suppose x1 < x2 are two zeroes of
the above polynomial. Note that the quadratic function d(x) is negative at all values x
between x1 and x2 . By Lemma 2.1.13 and the definition of the number dn , d(x) takes
non-negative values at all integers x. In particular, this implies that the interval (x1 , x2 )
does not contain any integer. Hence taking n = bx1 c (the largest integer x1 ), we have
n x1 < x2 n + 1. (2.10)
n(n + 1) = x1 x2 = q,
0 < x2 x1 < 1.
a2q 4q 0.
2q [a]q + [q] = 0.
a Tr((q )m ) mod m
Proof. Let u = 2q [a]q + [q]. If u is not zero, then it has a finite kernel. We need to
prove that u has a kernel which is infinite. To do so, let m be a positive integer coprime
to p and " #
(q )m = .
Since q 1 is separable we have
On the other hand det((q )m ) deg(q ) q (mod m) and since # ker(q 1) = q+1a
one has
Tr((q )m ) = + a (mod m).
By Cayley-Hamilton (if m is prime) or by a straightforward computation with matrices,
we have
(q )2m [a]m (q )m + [q]m Im 0 (mod m).
(Note that X 2 aX + q is the characteristic polynomial of (q )m . This means that u is
0 on E[m]. As m can go to infinity, this means that u is 0.
Remark 2.1.16. This formula is the first example of a beautiful theorem, true for any
smooth projective (absolutely irreducible) algebraic variety over a finite field. This
theorem is known as Weil conjectures.
Proof. With the notation of Exercice 11, assume that a 0 (mod p). One has
Obviously the complexity is O(p) and one can reach in this way p 230 .
If R = [p + 1]P , this means that R = [k]P . We are going to check this equality.
Baby steps : make a list of the first s = d 4 pe multiples of P and compute R =
[p + 1]P . Note that we know jP as well. Check if jP = R.
be determined using the Chinese Remainder Theorem and the group order follows. If
the largest prime `r is of order O(log p) then from the prime number theorem, it follows
that r can be taken has O(log p/ log log p).
Qr
Remark 2.2.2. Approximatively, we have indeed that i=1 `i log plog p/ log log p =
exp(log log p log p/ log log p) = p
To illustrate the idea, we show how to compute t (mod 2). Since p is an odd prime,
we have |E(Fp )| t (mod 2), so t 0 (mod 2) if and only if E(Fp ) has a nontrivial
Fp -rational point of order two. The nontrivial points of order two are given by (i , 0)
with i a root of X 3 + a4 X + a6 . Therefore, if X 3 + a4 X + a6 is irreducible over Fp we
have t 1 (mod 2) otherwise, t 0 (mod 2). Note that the polynomial X 3 + a4 X + a6
is irreducible over Fp if and only if gcd(X 3 + a4 X + a6 , X p X) = 1. The computation
of t (mod 2) thus boils down to polynomial arithmetic modulo X 3 + a4 X + a6 .
More generally, we obtain the trace t modulo a prime ` > 2 by computing with the
`-torsion points.
Remark 2.2.3. One can use powers of ` when ` is small as well to get higher congruences.
We will not look at this.
Recall that the Frobenius endomorphism p is defined by p : E(Fp ) E(Fp ) :
(x, y) 7 (xp , y p ) and that it cancels its characteristic polynomial, i.e.
2p [t]p + [p] = 0.
Y 2 X 3 a4 X a6 = 0, F` (X) = 0.
The computation of [a](X, Y ) is done using division polynomials and the classical for-
mulas. Recall that for gcd(`, p) = 1 we have E[`] ' Z/`ZZ/`Z and thus deg(F` ) = (`2
2 2
1)/2 (when ` 6= 2). The computation of (X p , Y p ) and (X p , Y p ) modulo F` and E(X, Y )
clearly takes O(log p) multiplications in the ring Fp [X, Y ]/(E(X, Y ), F` (X)). Since
deg F` is of order O(`2 ), each of these multiplication takes O(`2 log p) bit-operations
(note that we can represent elements of Fp [X, Y ]/(E(X, Y ), F` (X)) as P (X)Y + Q(X)
with degree of Q and P less than degree of F` ), so computing t (mod `) requires
O(`2 log1+ p) bit operations (as we have to do it log p when spans 0, . . . , ` 1).
Summing over all primes `i this gives a complexity of O(log2+3 p) bit-operations.
Remark 2.2.4. Recall that 1 < 2 depends on the algorithm used for multiplication
: school-book multiplication ( = 2), Karatsuba ( = log2 3) or FFT ( = 1 + ). The
choice of Karatsuba or FFT only become relevant for very large fields (much more than
crypto-sizes for FFT).
Note that if we could replace the division polynomials F` by alternative polynomials
of lower degree, the complexity of the algorithm would drop considerably. This is part
of the improvements of Atkin and Elkies leading to the so-called Schoof-Elkies-Atkin
(SEA) algorithm. The last record is a computation with an elliptic curve over Fp with
p = 102099 + 6243.
3 Pairings
Proof. Let D = (Q). Since deg(D) = 1 then dim L(D) = 1 and since constants are in
L(D) then it is only the constant. Hence div f = (P ) (Q) is equivalent to f L(D)
hence f is constant and P = Q.
1. For every divisor D div0 (E) there exists a unique point P E so that
D (P ) (O).
2. is surjective.
: E Pic0 (E)
P 7 (P ) (O)
5. If E is given by a Weierstrass equation then the geometric group law on E and the
group law induced from Pic0 (E) are the same.
25
26 Chapter 3. Pairings
Proof. (1) We have that dim(L(D + (O)) = 1 so let f be a generator. Since div(f )
D (O) and deg(div(f )) = 0 it follows that
div(f ) = D (O) + (P )
for some P E. Hence D (P ) (O). Then using the lemma we see that P is unique.
(2) For any P E we have ((P ) (O)) = P .
(3) Let D1 , D2 div0 (E) and set Pi = (Di ). Then from the definition of
(P1 ) (P2 ) D1 D2 .
and
div(f 0 /Z) = (R) + (P + Q) 2(O).
Hence
(P + Q) (P ) (Q) + (O) = div(f 0 /f ) 0.
So
(P + Q) (P ) (Q) = 0.
nP (P )
P
Corollary 3.1.3 ([Sil92, Cor.III.3.5]). Let E be an elliptic curve and D =
P P
div(E). Then D is principal if and only if nP = 0 and nP P = O.
(T 0 + R) (R).
X
div(g) =
RE[n]
3.2. The Weil pairing 27
One can easily check that f [n] and g n have the same divisor, so after scaling we can
assume that f [n] = g n . Now suppose that S E[n] then for any point X E,
en : E[n] E[n] n
by en (S, T ) = g(X +S)/g(X). We need to check that it satisfies the properties we stated
in Theorem 2.1.14.
g(X + S1 + S2 ) g(X + S1 )
en (S1 + S2 , T ) = = en (S2 , T )en (S1 , T ).
g(X + S1 ) g(X)
For the second, let f1 , f2 , f3 , g1 , g2 , g3 be functions as above for T1 , T2 and T3 = T1 + T2 .
Choose a function h with divisor (T1 + T2 ) (T1 ) (T2 ) + (O). Then div(f3 /(f1 f2 )) =
n div h so f3 = cf1 f2 hn for some constant c. Compose with the multiplication by n-map,
use fi [n] = gin and take n-th roots to find
g3 = c0 g1 g2 (h [n]).
Now
g3 (X + S) g1 (X + S)g2 (X + S)h([n]X + [n]S)
en (S, T1 + T2 ) = =
g3 (X) g1 (X)g2 (X)h([n]X)
= en (S, T1 )en (S, T2 ).
Hence n1 0 0
i=0 f [i]T is constant and if we choose some T with [n]T = T then
n1
i=0 g
Q Q
[i]T 0 is also constant because its n-th power is the above product of the f s. Evaluating
the product of gs at X and X + T 0 yields
n1 n1
g(X + [i]T 0 ) = g(X + [i + 1]T 0 ).
Y Y
i=0 i=0
so
en (T, T ) = g(X + T )/g(X) = 1.
28 Chapter 3. Pairings
(3) If en (S, T ) = 1 for all S E[n], so g(X + S) = g(X) for all S E[n] then g = h [n]
(see [Sil92, III.4.10.b]) for some function h. But then
(h [n])n = g n = f [n]
g (X + S )
en (S , T ) = = en (S, T ) .
g (X )
and
gTn = fT [n], n
gu(T ) = fu(T ) [n].
We have
div(fT Qi ) = n(T + Qi ) n(Qi ).
Therefore
(T 00 ) n
X X
div(fu(T ) u) = n (Q)
u(T 00 )=u(T ) u(Q)=O
X
= n ((T + Qi ) (Qi ))
i
Y
= div( fT Qi ).
i
gT (P Q0i )n = fT (nP Qi ).
Consequently,
Y Y
div( (gT Q0i )n ) = div( fT Qi [n])
i i
= div(fu(T ) u [n])
= div(fu(T ) [n] u)
= div(gu(T ) u)n .
Note that it works also for the Frobenius endomorphism (even if it is not separable)
since
en (q (S), q (T )) = q (en (S, T )) = en (S, T )q
since q is the q-th power on the element of Fq .
Theorem 3.3.1. Let S, T E[n] and let DS = (S) (O) and DT = (T + R) (R) for
an n-torsion point R. Let fS and fT defined (up to a constant) by
fT (DS )
en (S, T ) = .
fS (DT )
By definition, fT (DS ) = ri=1 fT (Pi )ni where DS = ri=1 ni (Pi ) (here we assume also
Q P
that the support of div(fT ) is disjoint of the support of DS ). The proof of the theorem
relies on Weils reciprocity law, see [Sil92, Ex.III.3.16]. Using this new definition, one
sees that one has to be able to compute values of the type fS (P ) for a given point P
and div fS = n(S) n(O). It is still time-consuming to produce directly a function fS
when n is large. However this can be done efficiently thanks to the following algorithm
due to Victor Miller.
Definition 3.3.2. Let m Z, S E[n], one calls Miller function fm,S the function
defined up to a scalar by
Let S1 , S2 E, we define the function gS1 ,S2 = LS1 ,S2 /LS1 +S2 ,(S1 +S2 ) where LS,T
is the line passing through S and T (possibly the tangent if S = T ). Clearly from the
definition of the addition law, one has
By computing the divisors, one then sees that Miller functions can be built as follows:
f1,S := 1, and for m1 , m2 Z
In particular
fn,S = fS .
4.1 TD 1
4.1.1 noncs
Exercice 1 (Dessiner des courbes elliptiques sur R). On fera un trac des courbes
suivantes
E1 : y 2 = x3 x + 1
et
E2 : y 2 = x3 x
en
tudiant le tableau
de variations (domaine de dfinition, variations,. . . ) des fonctions
x3 x + 1 et x3 x.
Vrifier quune addition ncessite une inversion (I), 2 multiplications (M) et 1 carr
(S) sur K (on ngligera les additions).
31
32 Chapitre 4. Travaux Dirigs
(2 + 1)3
j = 28 .
2 ( 1)2
4.1.2 Corrections
Correction exercice 1 Voir les dessins 1.1.1 du cours.
2. x3 = 2 x1 x2 (un carr) ;
Correction exercice 5 Remarquons tout dabord que limage du point linfini est
encore le point linfini. En effet, lisomorphisme (x, y) 7 (u2 x + r, u3 y + u2 sx + t)
scrit en coordonnes projectives (x : y : z) 7 (u2 x + rz : u3 y + u2 sx + tz : z). Ainsi
limage de (0 : 1 : 0) est bien le point (0 : 1 : 0). De plus puisque cette isomorphisme est
affine, il prserve les droites et les tangentes et donc la construction gomtrique de la
somme de deux points (et du double dun point).
Correction exercice 6 Puisque la caractristique de k (algbriquement clos) est diff-
rente de 2 et 3, on peut supposer E : y 2 = x3 + Ax + B. Les automorphismes de E sont
donc de la forme x0 = u2 x et y 0 = u3 y avec u k . On a alors u6 y 0 2 = u6 x0 3 + Au2 x0 + B
soit y 0 2 = x0 3 + A/u4 x0 + B/u6 . Il faut et il suffit donc que A/u4 = A et que B/u6 = B.
On distingue trois cas
points de 2-torsion sont donc O et les 3 points (xi , 0) tel xi est solution de x3 + Ax + B
(les points sont distincts puisque le polynme est sans facteur carr).
De mme P est un point de 3-torsion ssi 3P = O i.e. 2P = P . La droite tangente en
P doit donc recouper la courbe E en P uniquement : P est donc un point dinflexion.
3
On peut les calculer en tudiant la fonction x + Ax + B ou comme les zros de la
hessienne det((F/xi )) o F (x1 , x2 , x3 ) = x22 x3 x31 Ax1 x23 Bx33 . On peut aussi
crire 2P = P algbriquement. Choisissons cette dernire possibilit. Soit P = (x0 , y0 )
diffrent du point linfini. On calcule 2P en calculant la pente de la tangente en P :
= (3x20 + A)/((2y0 )) = (3x20 + A)/(2y0 ). On raisonne comme lexercice 3 et on
obtient que 3x0 = 2 soit
Les points de 3-torsion sont le point 0 et les points (x0 , y0 ) o x0 est solution de lqua-
tion prcdente.
4.2. TD 2 35
4.2 TD 2
4.2.1 noncs
Exercice 9 (Quelques fonctionnalits de Sage). Soit E/F101 : y 2 = x3 + 3x + 5. De-
mander Sage
3. De donner le polynme de Weil de la courbe sur F1012 . Vrifier que ceci correspond
lexercice 11.
5. Que remarquez-vous ?
Exercice 11 (Nombre de points sur les extensions). Soit E/Fq une courbe elliptique
de trace a. Soit , les racines du polynme caractristique du Frobenius q . Montrer
que || = || = q (on commencera par montrer que |a| 2 q).
Soit si = i + i . Alors s0 = 2, s1 = a et montrer que
1 at + qt2
Z(E, t) = .
(1 t)(1 qt)
4.2.2 Corrections
Correction exercice 9 Voir TP.
Correction exercice 10 Daprs Hasse-Weil |E(Fq ) q 1| 2 q, donc |E(Fq )|
q + 1 2 q = ( q 1)2 . Ce nombre est strictement plus grand que 1 ds que q > 4.
Puis voir TP.
4.3 TD 3
4.3.1 noncs
Exercice 14. 1. Soit E/Q : y 2 = x3 +2x2. Montrer que E est une courbe elliptique.
2. et soit P = (1, 1) E(Q). Calculer 2P et 3P la main" (en se servant de SAGE
comme dune grosse calculatrice) puis vrifier sur lordinateur.
3. Soit E/F5 : y 2 = x3 + x + 1. Quel est son nombre de points rationnels ? Mme
question sur F52 . Vrifier avec lordinateur. La courbe E est-elle supersingulire ?
4. Les courbes E/F7 : y 2 = x3 + x + 1 et E 0 /F7 : y 2 3xy y = x3 x2 + 2x + 2
sont-elles isomorphes ? Sur F7 ?
Exercice 15. Montrer que si une courbe est anomale sur Fq (i.e. son nombre de point
est gal au cardinal du corps de de base) elle ne lest pas sur Fq2 . En supposant la
caractristique diffrente de 2, montrer que si (x, y) E(Fq ) alors
2 2
q(x, y) = (xq , y q ) + (xq , y q ).
Exercice 16. On considre les courbes suivantes sur F2 , dites courbes de Koblitz
E1 : y 2 + xy = x3 + 1, E2 : y 2 + xy = x3 + x2 + 1.
1. Montrer que le polynme de Weil de Ei est Pi = X 2 (1)i X + 2.
2. Ces courbes sont-elles supersingulires ?
On considre maintenant d > 1 un entier et Ei sur F2d pour i = 1, 2.
3. Calculer lordre de Ei sur F4 .
4. Existe-t-il un d tel que lordre de Ei est premier ?
5. Est-ce un inconvnient ou un avantage en cryptographie ?
Lopration du Frobenius 2 : (x, y) 7 (x2 , y 2 ) est rapide en caractristique 2 pour
une base bien choisie. On souhaite donc crire la multiplication par un entier k en
base 2 ". Pour cela, remarquons
que 2 annule Pi et que donc il correspond une
i
racine i = ((1) + 7)/2. Choisissons i = 2 et = 2 . Comme lanneau Z[] est
euclidien et que || = 2, on va pouvoir dvelopper k = rj=0 j j avec j 1, 0, 1 et
P
ainsi [k] = rj=0 [j ]j2 . On peut galement procder de manire plus simple en crivant
P
4.3.2 Corrections
Correction exercice 15 Une courbe E/Fq est anomale si et seulement si sa trace
a = (q + 1) q = 1. La trace de E/Fq2 est gale 2q a2 = 2q 1 qui est toujours
diffrent de 1.
Lendomorphisme de Frobenius q sur E/Fq satisfait 2q q + [q] = [0] do le rsultat
en prenant un modle de Weirstrass de la forme y 2 = f (x).
Correction exercice 16
2. Ces courbes ne sont pas supersingulires puisque 2 ne divise pas la trace. Cette
proprit reste vraie sur toute extension car elle est quivalente #Ei [2](F2 ) = 4.
Lattaque MOV ne fonctionne donc pas sur ces courbes.
5. Cest un inconvnient car puisquon veut un grand facteur premier dans lordre
de Ei (F2d ) il faudra augmenter la taille de d dau moins 2 bits par rapport
loptimum envisageable.
6.
7. 7 = 1 + 2 + 22 .
2. Montrer que toute courbe plane est une union finie de courbes irrductibles, ap-
peles ses composantes irrductibles.
Exercice 18. tudier les singularits de
1. Lastrode C : (x2 + y 2 1)3 + 27x2 y 2 ;
5. En utilisant la thorie des formes quadratiques, montrer quil existe une transfor-
mation projective dfinie sur Q telle que Q est isomorphe ax2 + by 2 = z 2 pour
a, b Q \ {0}.
7. Montrer que si Q a un point rationnel alors b est un carr modulo tout p divisant
a. En dduire que b est un carr modulo a. Il existe donc m, a1 avec |m| |a|/2
et m2 = b + aa1 .
9. Montrer que si |a| > 1 alors |a1 | < |a| et quon peut donc se ramener au cas o b
nest pas un carr modulo a ou |a| = |b| = 1 pour lequel il existe une solution si et
seulement si au moins lun des deux nombres est positif.
Exercice 21. On souhaite montrer des versions faibles du thorme de Bzout. Soit
F, G k[x, y] avec k algbriquement clos, sans facteur commun.
1. Montrer quil existe un polynme d k[x] non nul et des polynmes A, B k[x, y]
tels que d = AF + BG.
Une seconde version. Soit une courbe projective C = V (F ) avec F k[x, y, z] homogne
de degr n > 0. Soit L une droite du plan projective qui nest pas une composante de
C.
42 Chapitre 4. Travaux Dirigs
Corollary 4.4.2 (Hexagone mystique de Pascal). Les paires de cts opposs dun hexa-
gone inscrit dans une conique irrductible se rencontrent en trois points colinaires.
5. (4) : ces points sont appels point dhyperinflexion. Une quartique gnrale nen
possde pas.
Ceci donne deux conditions, une sur le terme en x et lautre sur le terme constant. Par
le calcul dun rsultant on limine par exemple entre ces deux quations pour obtenir
une condition sur . Cette quation (de degr 28 gnriquement) donne les valeurs de
puis on remonte aux valeurs de . On traitera part les cas des droites linfini ou
verticales.
44 Chapitre 4. Travaux Dirigs
4.4.2 Solutions
Correction exercice 17
2. On choisit une carte affine autour du point qui nous intresse. Comme lquation
est symtrique, supposons quil sagisse dun point avec z0 6= 0. Alors le point
est singulier si et seulement si F (x, y, z)/x = F (x, y, z)/y = 0 en (x0 , y0 , 1).
Si cela est le cas alors on voit que F (x, y, z)/z = 0 puisque F (x0 , y0 , z0 ) = 0.
Inversement si un point vrifie que ses trois drives partielles sont nulles alors
puisque d nest pas nul, F est galement nul et il est donc un point de la courbe.
F/x
y y0 = (x0 , y0 , 1)(x x0 ).
F/y
Correction exercice 20
4.4. TD1 de gomtrie algbrique 45
3. On peut le raliser en projetant la conique sur une droite partir dun point de
celle-ci.
1. Montrer quil existe un polynme d k[x] non nul et des polynmes A, B k[x, y]
tels que d = AF + BG.
Une seconde version. Soit une courbe projective C = V (F ) avec F k[x, y, z] homogne
de degr n > 0. Soit L une droite du plan projective qui nest pas une composante de
C.
Corollary 4.5.2 (Hexagone mystique de Pascal). Les paires de cts opposs dun hexa-
gone inscrit dans une conique irrductible se rencontrent en trois points colinaires.
4.5. TD2 de gomtrie algbrique 47
5. (4) : ces points sont appels point dhyperinflexion. Une quartique gnrale nen
possde pas.
1
4(x2 + y 2 + 2y)2 + (2y + 3)(y + 1)(y 2 x2 ) = .
360
Pour se faire, on remplace y par x + et z par 1 dans f puis on exprime le fait que
la droite y = x + est bitangente par le fait que le polynme en la variable x est un
carr parfait : si g est un polynme de degr 4 quelconque, on a
Ceci donne deux conditions, une sur le terme en x et lautre sur le terme constant. Par
le calcul dun rsultant on limine par exemple entre ces deux quations pour obtenir
une condition sur . Cette quation (de degr 28 gnriquement) donne les valeurs de
puis on remonte aux valeurs de . On traitera part les cas des droites linfini ou
verticales.
48 Chapitre 4. Travaux Dirigs
4.5.2 Solutions
Correction exercice 24
3. Non car elle a une infinit dintersections avec laxe des abscisses.
5.1 Nullstellensatz
Let k be a (commutative) field and n > 0 a positive integer.
Definition 5.1.1. Let S be any subset of k[X1 , . . . , Xn ]. We say that
V (S) = {x k n , P S P (x) = 0}
is the affine algebraic set associated to S.
Let F1 , . . . , Fr k[X1 , . . . , Xn ] polynomials and I = (F1 , . . . , Fr ) be the ideal gene-
rated by the Fi s. One also denote V (F1 , . . . , Fr ) = V (I).
Example 5.1.2. V ({1}) = and V ({0}) = k n .
Conversely
Definition 5.1.3. Let V be a subset of k n . One defines the ideal associated to V as
I(V ) = {P k[X1 , . . . , Xn ], x V, P (x) = 0}.
Clearly V (I(V )) = V if V is an affine algebraic set (i.e. V = V (I) for an ideal I).
One has also I I(V (I)) but there is not in general equality. A first obstruction is that
k needs to be algebraically closed. A second obstruction is that I forgets about the
exponents : if n = 2 and I = (X 2 ) then I(V (I)) = (X) 6= I.
In the sequel, we assume that k is algebraically closed and not countable (for instance
C but not Fp ). The following results do not neeed this last hypothesis but the proofs are
simpler.
Lemma 5.1.4. Let K be an extension of k of at most countable dimension (as a k-vector
space). Then K = k.
Dmonstration. It is enough to show that K is algebraic over k. Otherwise there would
be a transcendental element in K and hence a subfield isomorphic to k(T ). This subfield
contains the non countable family 1/(T a) with a k and this family is free. Indeed
a relation n
X i
=0
i=1
T ai
implies, multiplying by T ai and letting T = ai that i = 0.
49
50 Chapitre 5. Appendices
Hence, morally, I and V are inverse of each other and create a bridge between the
algebraic world and the geometric one.
Corollary 5.1.8. Let P k[X1 , . . . , Xn ] such that P = P1a1 Prar with the Pi irredu-
cible and distinct. Then I(V (P )) = (P1 Pr ).
Vp (S) = {x Pn , P S P (x) = 0}
By P (x) = 0 we mean that this stands for any representative of x. It is then easy to
show that we can assume S to be finite and generated by homogeneous elements.
Example 5.1.10. Vp ((0)) = Pn . Vp ((X0 , . . . , Xn )) =
5.2. Conics, parametrization and projective transformations 51
Dmonstration. When Vp is empty, it means that V is reduced to the origin of k n+1 and
therefore rac(I) = (X0 , . . . , Xn ). Let us assume that Vp = Vp (I) is not empty and let us
consider V = V (I) k n+1 the associated cone. To prove the second point, since Vp is
now non empty, we have Ip (V ) = I(V ) = rac(I) by the affine Nullstellensatz.
A word about automorphisms of the projective space Pn : one can show that there
are necessarily linear, although the proof is not elementary (see [Har77, Ex.7.1.1]). Hence
this group is isomorphic to GLn+1 (k)/k .
1. the definition of intersection multiplicity does not depend on the choice of a co-
ordinate system. Intuitively, this comes from the fact that the multiplicity of the
roots has to be constant as the roots stay the same for any continuous change of
variables.
[CFA+ 06] Henri Cohen, Gerhard Frey, Roberto Avanzi, Christophe Doche, Tanja Lange,
Kim Nguyen, and Frederik Vercauteren, editors. Handbook of elliptic and
hyperelliptic curve cryptography. Discrete Mathematics and its Applications
(Boca Raton). Chapman & Hall/CRC, Boca Raton, FL, 2006.
[Sil92] Joseph H. Silverman. The arithmetic of elliptic curves, volume 106 of Grad-
uate Texts in Mathematics. Springer-Verlag, New York, 1992. Corrected
reprint of the 1986 original.
53