Cryptography Reference
In-Depth Information
There were subsequent improvements of Schoof's algorithm, mainly due to Elkies
and Atkin, which resulted in the so-called SEA algorithm which runs in time O
ln 6 q
)
with standard multiplication techniques. We refer to [181, 197] for descriptions of
Schoof's algorithm. The SEA algorithm is also described in [197] and in more detail
in Chap. 17 of [53]. There are several available implementations of these algorithms,
such as those in the open source computer algebra package Sage [171], in the portable
C libraryMIRACL (which is free for academic and non-commercial use and contains
good support for elliptic curve cryptography) [143], and also in the computer alge-
bra package Magma [132]. For example, even the basic implementation of Schoof's
algorithm in MIRACL is able to compute reasonably quickly the order of an ellip-
tic curve group over
(
F p , with p a 256-bit prime—which is an adequate size for
cryptographic use—and the SEA algorithm can compute the order for much larger
primes.
Next we define a class of elliptic curves that play a special role in cryptographic
applications:
Definition 11.2 Let E be an elliptic curve defined over a finite field
F q of char-
acteristic p and let t
be the trace of E . Then E is said to be
supersingular 6 if p divides t . Otherwise E is ordinary (or non-supersingular ).
=
q
+
1
−|
E
( F q ) |
Remark 11.2 It can be shown that an elliptic curve over a field
F q of characteristic p
is supersingular precisely when the curve has no points of order p over an algebraic
closure of
F q [see, for example [197] (Proposition 4.31)].
In the particular case that
F q = F p is a prime field of characteristic
=
2
,
3 then E
is supersingular if and o nly if
|
E
( F p ) |=
p
+
1. This is because, by Hasse's theorem,
2 p and hence p
we have that
|
t
|≤
|
t is equivalent to t
=
0.
Example 11.9 Looking at the list containing the number of elliptic curves of each
possible order over
F 223 , computed in Example 11.7, we see that there are exactly
1554 supersingular curves, namely, the element in position 30 in the list, which
corresponds to t he curves of trace 0, since for p
=
223 the maximum value of the
2 223
trace is
F 1009 studied in Example 11.8, we
may use the array egos1009 and we see that the number of supersingular curves—
i.e., the number of curves of order 1010—is egos1009[1010] = 10080 .
=
29. Similarly, in the case of
Exercise 11.15 Show that there are 4 supersingular elliptic curves over
F 5 distrib-
uted in two isomorphism classes containing two curves each.
>
Exercise 11.16 Write a Maple program that, given a prime p
3 of moderate
size, computes the number of supersingular elliptic curves over
F p ,aswellasthe
number of elliptic curves with trace equal to 1 (these are called anomalous curves,
see 11.3.3.2 below) and the number of curves with trace equal to 2. Use it to find the
6 Note that this use of the term supersingular gives rise to another little terminological paradox: a
supersingular elliptic curve is, by definition, nonsingular.
 
Search WWH ::




Custom Search