1
1
CRYPTOSYSTEMS
THE KLUWER INTERNATIONAL SERIES
IN ENGINEERING AND COMPUTER SCIENCE
by
Alfred Menezes
Aubum University
joreword by
Neal Koblitz
....
"
SPRINGER SCIENCE+BUSINESS MEDIA, LLC
Library of Congress Cataloging-in-Publication Data
Foreword ix
Preface xi
v
vi CONTENTS
2.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Bibliography 117
Index 127
Foreword
ix
x FOREWORD
as those of 'index calculus' type) that; could find discrete logs in these
groups.
Of the developments in elliptic curve cryptography since 1985, the
most dramatic was the demonstration by Menezes, Okamoto and Van-
stone in 1990 that the discrete log problem on a so-called 'supersingular'
elliptic curve can be reduced to (i.e., has the same complexity as) the
discrete log problem in a finite field. This result means that one should
avoid the (relatively small) set of supersingular curves if one wants to
have a cryptosystem whose cracking problem is, to the best of our cur-
rent knowledge, of fully exponential complexity.
After a brief but complete introduction to public key cryptography,
the present work gives a full account of all of the developments con-
nected with elliptic curve cryptosystems. Alfred Menezes has included
a comprehensive treatment of the most important practical aspects of
their use; this is the first book to deal extensively with implementation
as well as with theory. Menezes is uniquely qualified to write such a
multi-faceted treatment: he belongs to the research group (based at
Waterloo) that has apparently gone the farthest in improving and im-
plementing elliptic curve cryptography:
The book is written in a lucid style with the objective of making the
subject truly accessible. One hopes that as a result of its publication the
field of elliptic curve cryptography will never again be unfairly stigma-
tized as 'incredibly complicated' (in the words of a leading popularizer
of cryptography).
This thorough, up-to-date, and self-contained treatment of elliptic
curve-based public key cryptography will be a valuable resource for
graduate students in mathematics, applied math, and computer sci-
ence; for cryptographic researchers and laypeoplej and for specialists
in government and industry anywhere in the world who are concerned
with issues of data security.
NEAL KOBLITZ
University of Washington, Seattle
Preface
xi
xii PREFACE
ALFRED MENEZES
Auburn University
ELLIPTIC CURVE PUBLIC KEY
CRYPTOSYSTEMS
Chapter 1
Introduction to Public
Key Cryptography
A and B now share the common group element aab. We comment that
this is not an authenticated key exchange since any third party C could
impersonate either A or B. However, the protocol can easily be modified
by requiring a central trusted authority to certify (sign) ahead of time
the element aa for each user A. This certification can be accomplished
using one of the techniques for digital signatures described in Section 1.4.
Note that an eavesdropper C knows G, a, Qa and Qb, and his task is
to use this information to reconstruct Qab. This problem is commonly
referred to as the Diffie-Hellman problem.
It is clear that if C can use his knowledge of Q and Qa to recover
the integer a, then C can easily solve the Diffie-Hellman problem. The
4 CHAPTER 1. INTRODUCTION TO CRYPTOGRAPHY
Input: a E G, I E 'lJ.,.
Output: a l •
There are two classes of groups that we know of which satisfy the
properties mentioned. The first class form the basis of the RSA cryp-
tosystem, discussed below. The second class are elliptic curves over the
ring '!In, which we study further in Section 6.7.
EIGamal Cryptosystem
(i) (Setup) A finite group G and element a E G are chosen. Each user
picks a random integer I (the private key), and makes public a l
(the public key). We suppose that messages are elements of G and
that user A wishes to send a message m to user B.
(ii) A generates a random integer k and computes a k •
(iii) A looks up B's public key a b, and computes (ab)k and ma bk .
(iv) A sends to B the pair of group elements (a k , mabk ).
(v) B computes (ak)b and uses this to recover m.
for rand s. Fixing r first and then attempting to solve for s is a discrete
logarithm problem in G. Fixing s fil'st and then attempting to solve
for r gives a mixed exponential congruence in r, for which no efficient
algorithm is known. Hence we say that the security of the EIGamal
signature scheme is based on the difficulty of the discrete logarithm
problem in G.
In practice, the message to be signed is a long sequence of entries
from M. It is inefficient to sign each element of the sequence, so instead
a hash function is first applied to the message to produce a much smaller
message digest, and it is this message digest which is then signed. (A
hash function is a one-way function that takes as input an arbitrarily
long string and outputs a string of a fixed size.) The hash function is
public knowledge. To prevent forgery and impersonation, it must be
infeasible to find two distinct inputs which hash to the same output
value, and it must be infeasible to find an input which hashes to a given
value.
10 CHAPTER 1. INTRODUCTION TO CRYPTOGRAPHY
To see that the verification works, notice that from (1.2) we have
where w = 8- 1 mod q, or
not afford adequate security. Of course, the size of the parameters can
simply be increased and it is expected that NIST will allow for more
flexibility in choosing the parameters in their forthcoming revision of
the standard.
The advantage of working in a subgroup of 7l; is that signature
sizes are smaller. For example, if p ~ 2512 , then an EIGamal signature
(working in the group 7l;) is 1024 bits, while a NIST signature is only
320 bits.
As with the EIGamal and Schnorr signature schemes, the NIST
scheme can be applied to any cyclic group of order q as follows (see
also [155, page 51]). Let G be a cyclic group of order q generated by a.
1.7 Notes
For a survey of the use of elliptic curves in number-theoretic algorithms,
see [8], [78] and [81].
For an account on the development of DES, consult [145].
Diffie [34] gives a delightful synopsis of public key cryptography and
its early development. A comprehensive overview of public key cryp-
tography can be found in [114].
For an extensive study of digital signatures including potential appli-
cations to public key certification, electronic mail, and secure telephone
systems, consult [102]. Some hash functions that have been proposed
are MD4 [127], MD5 [128] and SHS [113]. We note that private key
cryptosystems can be used indirectly for digital signatures; for exam-
ple, see [99]. The article [53] discusses the technology of smart cards,
and also their security and applications.
Some other well-known public key cryptosystems not discussed here
are the Chor-Rivest knapsack [27], 1fcEliece's cryptosystem based on
algebraic coding theory [88], the Goldwasser-Micali probabilistic encryp-
tion scheme [49], and the Fiat-Shamir signature scheme [42]. Among
the many cryptosystems known whose security is based on the diffi-
culty of the discrete logarithm problem, we mention [11], [14], [18] and
[148]. There are many applications of public key cryptography besides
privacy and signatures, for example, authentication, identification, no-
tarization, virus protection, and voting schemes. Some good references
on the different aspects of cryptography are [16], [68], [144] and [153].
In [15], the equivalence of the discrete logarithm and Diffie-Hellman
problem is shown for a special kind of group G. The result there can
be generalized to obtain the following: if G is a cyclic group of order
n, where <1>( n) is smooth, then there is a probabilistic polynomial time
reduction of the discrete logarithm problem in G to the Diffie-Hellman
problem in G.
For a thorough comparison of the RSA cryptosystem and the EI-
Gamal cryptosystem in fields F 2 m, including a detailed analysis of the
underlying mathematical problems, we refer the reader to [120].
Chapter 2
Introduction to Elliptic
Curves
2.1 Definitions
Let Fq denote the finite field containitlg q elements, where q is a prime
power. If K is a field, let K denote its algebraic closure. (If K =
Fq then K = Urn>1 Fqm.) The projective plane p2(K) over K is the
set of equivalence -classes of the relation '" acting on K3 \ {(O, 0, On,
where (XbYbZt) '" (X2,Y2,Z2) if and only if there exists u E K* such
that Xl = UX2, YI = UY2, and Zl = UZ2' We denote the equivalence
class containing (x, Y, z) by (x : y : z). A Weierstrass equation is a
homogeneous equation of degree 3 of the form
p2( K) satisfying
F(X,Y,Z)
at least one ofthe three partial derivatives *,
= y2Z+alXYZ+a3YZ2-X3-a2X2Z-a4XZ2-a6Z3 = 0,
~, ~ is non-zero at P.
If all three partial derivatives vanish at some point P, then P is called
a singular point, and the Weierstrass equation is said to be singular.
An elliptic curve E (or an algebraic curve of genus 1) is the set of all
solutions in P2(K) of a smooth Weierstrass equation. There is exactly
one point in E with Z-coordinate equal to 0, namely (0 : 1 : 0). We call
this point the point at infinity and denote it by O.
For convenience, we will write the Weierstrass equation for an elliptic
curve using non-homogeneous (affine) coordinates x = X/Z, Y = Y/Z,
y2 + alXY + a3Y = x 3 + a2x2 + a4x + a6. (2.1)
An elliptic curve E is then the set of solutions to equation (2.1) in the
affine plane A2(K) = K X K, together with the extra point at infinity
O. If al, a2, a3, a4, a6 E K, then E is said to be defined over K, and we
denote this by E / K. If E is defined over K, then the set of K -rational
points of E, denoted E(K), is the set of points both of whose coordinates
lie in K, together with the point O. We will abuse the notation slightly,
and label the defining equation (2.1) as E.
Two elliptic curves are said to be isomorphic if they are isomorphic as
projective varieties. Briefly, two projective varieties Vb V2 defined over
a field K are isomorphic over K if there exist morphisms <p : Vl ---+ V2,
,p : V2 ---+ Vl (<p, ,p defined over K), such that t/J 0 <p and <p 0 ,p are
the identity maps on Vl , V2 respectively. The following result relates
the notion of isomorphism of elliptic curves to the coefficients of the
Weierstrass equations that define the curves.
Theorem 2.1 Two elliptic curves E l / K and E2/ K given by the equa-
tions
(2.5)
maps E2 onto E l . Note also that 1/J 0 4> is the identity map on Et, while
4> 0 1/J is the identity map on E 2. In fact, 4> restricted to El(K) is a
bijection between El(K) and E2(K).
Now, if El ~ E2 over K, then the change of variables (2.2) trans-
forms equation El to equation E 2. This yields the following set of
equations:
ual = al + 2s
u 2a2 = a2 - sal + 3r - S2
u3a3 = a3 + ral + 2t (2.6)
u 4a4 = a4 - sa3 + 2ra2 - (t+ rs)at + 3r 2 - 2st
uSas = as + ra4 + r 2a2 + r3 - ta3 - t 2 - rtal.
Theorem 2.2 Two elliptic curves Etl J( and E2/ K are isomorphic
over K if and only if there exists u, r, s, t E K, u f:. 0, that satisfy
{2.6}. 0
{ :: =::.
if P :f: Q,
A=
3x~ + 2a2xl + a4 - al Yl
, if P = Q.
2Yl + alxl + a3
If f3 = =
Yl - AXl, then the equation defining 1 is Y AX +f3. To find the
third point of intersection of 1 with the curve, we substitute Y = AX +f3
2.3. THE DISCRIMINANT AND j-INVARIANT 19
and
Y3 = -(A + at}x3 - {3 - a3·
If P, Q E E(J(), then computing P+Q involves just a few arithmetic
operations in the field J(. Hence if J( is a finite field, then computing
P + Q takes (deterministic) polynomial time.
c4 = d~ - 24d4
~ -d~ds - 8d~ - 27d~ + 9d2d4d6 (2.9)
j(E) cV~· (2.10)
The quantity ~ is called the discriminant of the Weierstrass equation,
while j( E) is called the j-invariant of E if ~ "I O. The next two theorems
explain the significance of these quantities.
Theorem 2.4 E is an elliptic curve, i.e., the Weierstrass equation is
non-singular, if and only if ~ i: O. 0
(x,y)~(x, y_~lx_~3)
transforms E / K to the curve
(x,y) ~ (
X - 3b
36' 216
2 Y)
further transforms E' to the curve
E" / K : y2 = a: 3 + ax + b.
Note again that E' ~ E" over K, and hence E ~ E" over K.
Hence if char( K) t 2,3, we can assume that E / K has the form
and
j(E) = -1728(4a?/~.
Since E is assumed to be non-singular, we have ~ 1: O. Specializing
Theorem 2.2 gives the next result.
2.5. CURVES OVER K, CHAR(K) -= 2 21
Addition Formula
If P = (Xl! yd E E, then -P = (Xl, -yd. If Q = (X2, Y2) E E,
Q ¥= -P, then P + Q = (X3, Y3), where
X3 A2 - :1:1 - X2
Y3 A(Xl-X3)-Yl,
and
Y2 - Yl , ifP¥=Q,
X2 - Xl
{
A=
3x~ + a
2Yl '
if P = Q.
Example 2.7 The equation E : y2 = x 3 +x+6 over the finite field 7111
(the integers modulo 11) defines an elliptic curve since its discriminant
is ~ = 4 ¥= 0. The 7l11 -rational points on E are
E(7111) = {O, (2,4), (2,7), (3,5), (3,6), (5,2), (5,9), (7,2),
(7,9), (8,3), (8,8), (10,2), (10,9)}.
( Yl+Y2)2+ Xl + X2, P -I Q,
Xl + x2
P=Q,
2.6. GROUP STRUCTURE 23
and
P i= Q,
Y3 =
Lemma 2.9 There exists an elliptic curve E / Fq such that E( Fq) has
order q + 1 - t over Fq if and only if one of the following conditions
holds:
#s - 2 -1 #S 2
2lv'PJ + 1 . Ct (log p) ~ rs ~ 2lv'PJ + 1 . c2(logp)(loglogp). 0
The next theorem gives the group type of E(Fq ). We use '!In (or
'!l/n) to denote the cyclic group on n elements. We first recall some
standard results from abelian group theory. Every finite abelian group
G can be decomposed into a direct sum of cyclic groups
G = '!lnl E9 '!ln2 E9 ... E9 '!In.,
where ni+1lni for all i = 1,2, ... , s - 1, and n8 ~ 2. Furthermore this
decomposition is unique in the following sense: if
G = 7I..ml E9 7I..m2 E9 ... E9 7I..ml
The curve E can also be viewed as an elliptic curve over any ex-
tension field L = Fqk of Fq; E(Fq) is a subgroup of E(L). The Wei!
Theorem (which was proved by Hasse in 1934) enables one to compute
#E(Fqk), for k 2: 2, from #E(Fq) as follows.
Theorem 2.15 Let E be an elliptic curve defined over Fq, and let t =
q + 1 - #E(Fq). Then #E(Fqk) = qk + 1 - a k - f3k, where a, f3 are
complex numbers determined from the factorization of 1 - tT + qT2 =
(1 - aT)(l - f3T). 0
!: _ {qi'~(X,y), if n is odd,
n - qi'~(x, y)/y, if n is even,
D = E np(P),
PeE
where np E 7l, and np = 0 for all but finitely many PEE. The support
of a divisor D, denoted supp(D), is the set of points {P EEl np :I OJ.
2.7. DIVISOR THEORY 29
The set of all divisors, denoted by D, forms a group, where the addition
is given by
where r E K[x, y], then the coordinate ring of E over K, denoted K[E],
is the integral domain
x2 - x (x 2 - x)y (x 2 - x)y Y
1= -y- = y2 = x3 - X = X + l'
whence I(P) = 0. o
Now, let 1= g/h, where g,h E K[x,y]/(r). If Deg(g) < Deg(h), then
1(0) = O. If Deg(g) > Deg(h), then 1(0) = 00. If Deg(g) = Deg(h),
then if the highest Degree terms in 9 and hare ax d and bx d respectively
then 1(0) = a/b. Otherwise the highest Degree terms are cyx d and
dyx d , in which case 1(0) = c/d.
div(J) = E ordp(J)(P).
PEE
(2.15)
where a, bE'll and gcd( 4a3 +27b2 , n) = 1. The points on Ea,b, denoted
Ea,b('lln), are the set of solutions in 'lln X 'lln to the equation (2.15),
together with a point at infinity, denoted On.
2.8. ELLIPTIC CURVES OVER 'lln 33
2.9 Notes
Some other books devoted to the study of elliptic curves are [22], [58],
[66), [77]. For an introduction to the general theory of algebraic curves,
we refer the reader to Fulton's book [44), or the recent book by Moreno
(109).
Chapter 3
Isomorphism Classes of
Elliptic Curves over Finite
Fields
3.1 Introduction
Let (%) denote the usual Jacobi symbol. We also define
~:
if a == ±1 mod 8,
(i) = { if a· == 0 mod 2,
-1, if a == ±3 mod 8.
35
36 CHAPTER 3. ISOMORPHISM CLASSES
1-
1-
i-;3l '
-4
if t 2 = q and m
ift = 0 and m even.
even.
P ,
0, otherwise.
o
Here, H(fl.) denotes the Kronecker class number of fl., and is the
number of SL 2 (71)-orbits of positive definite binary quadratic forms
of discriminant fl., where fl. is a negative integer congruent to 0 or 1
modulo 4. One method of computing H(fl.) follows from the fact that
H(fl.) = #B(fl.), where
The elements of F4 are denoted by 0,1, Cl and C2. We thus have the
identities c~ + Cl + 1 = 0, c~ + C2 + 1 = 0, Cl C2 = 1 and CI + C2 = 1.
Note that Te( Cl 0:) = clTe( 0:), and Te( C20:) = c2Te( 0:).
The quadratic equation
X2 + ax + b = 0, a, b E F2m, a '" 0,
(i) If m is odd, then (3.1) has either no solution or exactly two solu-
tions.
(ii) If m is even and a is not a cube, then (3.1) has exactly one solution.
(iii) If m is even and a is a cube, then (.3.1) has four solutions if
Te(b/a 4/ 3) = 0, and no solutions if Te(b/a 4/ 3) f. O.
and so
1
~ Aut(E) = q,
where the summations are over a set of representatives of the isomor-
phism classes of elliptic curves defined over Fq •
Since gcd(q, 6) = 1, we have q == 1. 5, 7 or 11 (mod 12). Now hasF;
an element of order 3 if and only if q == 1 or 7 (mod 12), and F;
has an
element of order 4 if and only if q == 1 or 5 (mod 12). Combining these
facts with the results on the size of Aut(E), we immediately obtain the
next theorem.
(3.2)
Thus we can assume that any supersingular elliptic curve over F2m with
m odd has the form (3.2); there are q2 such curves, where q = 2m. If E
is the curve given by
then specializing Theorem 2.2, we see that E ~ E over F2m if and only
if there exist 8, t E F 2 m such that
84+8+a4+a4 0 (3.3)
t2 + t + + a482 + a6 + a6 =
86 O. (3.4)
+ 8 + a4 =
84 0 (3.5)
t + t + 8 6 + 116
2 O. (3.6)
Since m is odd, (3.5) has exactly two solutions in F2m, namely 81 and
81 +1. Since (81, tt) is a solution to (3.6), we have Tr(8~ +a6) = O. But
then Tr«81 + 1)6 + a6) = 1, so there are exactly two solutions (8, t) to
3.5. SUPERSINGULAR CURVES, TTl. EVEN 41
+ 8 + 1 + a4 = 0
84 (3.7)
t 2 +t
+ 8 + 8 + a6 = O.
6 2 (3.8)
Now, (3.7) has two solutions 81 and 81 + 1. Since Tr(8r + 8~ + a6) = 0,
we find that
Tr ((81 + 1)6 + (81 + 1)2 + a6) = O.
Thus there are 4 solutions to (3.7) and (3.8), and we deduce that there
are q2 /4 curves isomorphic to E 2.
Finally, let E3 be the curve
E3 : y2 + y = x 3 + X + 1.
It is easily checked that El ~ E3 and .E2 ~ E3 over F2m by verifying that
the equations (3.3) and (3.4) have no solution in F2 m. As in the previous
paragraph, we can verify that there are q2 /4 curves isomorphic to E 3 •
We have thus accounted for all of the supersingular elliptic curves. We
summarize the results of this section below.
(i) y2 + y = x 3
(ii) y2 + y = x 3 + x
(iii) y2 + y = x 3 + X + 1. o
Type I Curves
We call a Type I curve with the coefficient of x being 0, a Type Ia
curve. Let El be a Type Ia curve
and let
E2 : y2 + a3Y = x3 +a4x +a6
be any curve over F 2m, isomorphic to El' Since El ~ E2 over F2m,
there exists Ul, 81, tl E F 2m, satisfying the equations
u3 (3.9)
84+ a38 + U 4a4 (3.10)
t2 + a3t + + a6 + u6a6
86 (3.11)
Type II Curves
Since a3 is a cube, we can assume that the Type II (and Type III)
curves have the form y2 + y = x 3 + a4x + a6. The admissible changes
of variables are of the form (x, y) - - 7 (u 2x + s2, u3y + u 2sx + t), where
u, s, t E F 2 m, u 3 = 1. Let El be the Type II curve given by
and let
U3 1 (3.12)
s4+s+a4+ua4 0 (3.13)
t 2 + t + 8 6 + a4s2 + a6 = O. (3.14)
Note that
°
(3.13) has exactly 4 distinct solutions or no solution (in F2m), according
to whether Te(a4 + U(4) = or Te(a4 + ua4) f; 0, respectively. We
find that for u = 1, Cll C2, (3.13) has 4 solutions if and only if Te(a4) =
44 CHAPTER 3. ISOMORPHISM CLASSES
E1 y2 +Y = x 3 •
Let
E2 : y2 + y = x 3 +a4X +li6
be any curve over F2m, isomorphic to E 1 • Since El ~ E2 over F2m,
m,
there exists U1, 81, tl E F2 satisfying the equations
= 1
u3 (3.15)
+ 8 + Ua4 = 0
84 (3.16)
t + t + 8 a +aa = o.
2 (3.17)
Note that
3.5. SUPERSINGULAR CURVES, m EVEN 45
u = 1; 8 = 81, 81 + 1, 81 +Cll
u = Cl; 8 = C18t, C18} +1, C:181 +Cl, (3.18)
u = C2; 8 = C28t, C281 + 1, (:281 + ClI
E3 : y2 + y = x3 + a,
where a E F2m, Tr(a) = 1. Now, E1 ~ E 3 , since the equations
=
tt3 1
84+8 = 0
t2 + t + 86 + a = 0
have no solution (tI, 8, t) in F 2m. We can now deduce that the remaining
q2 /4 Type III curves not isomorphic to El must lie in an isomorphism
class, represented by E 3 •
We summarize these results below.
(i) E1 : + IY = x 3 (Type I)
y2
(ii) E2 : y2 + IY = x 3 + a (Type I)
46 CHAPTER 3. ISOMORPHISM CLASSES
(i) m odd
In this case, each of the 3 isomorphism classes of supersingular curves
over F2 m has a representative with coefficients in F2 • Using the Weil
3.6. NUMBER OF POINTS 47
Theorem, we can easily determine the order of curves over F 2m. The re-
sults are listed in Table 3.3. (The column of "k" values will be explained
in Chapter 5.)
ICurve E m
(ii) m even
Let #Ei = #Ei(F2m) = q + 1 - ti for 1 :$ i :$ 7, where q = 2m , and
the curves Ei are those of Theorem 3.7. By Theorem 3.2, we obtain
that the 7 values of ti are 0, 2Vii, -2..jij, Vii, Vii, -Vii, and -Vii (not
necessarily in that order).
We first observe that #Et + #E2 = 2q + 2, and hence tt = -t2.
This holds because for each x E Fq , either Tr(-y-2 x 3) = 0 or Tr(-y-2 x 3+
-y- 2 a) = 0, but not both. The curves Ell E2 are an example of a twisted
pair of elliptic curves. E 3 , E4 and E 6 , E7 are also twisted pairs, and so
t3 = -t4 and ts = -t7. It follows then that ts = O.
Since the coefficients of Es are in F 2 , we can apply the Weil Theorem
to determine #Es, and hence #E7. We find that ts = 2.fij or -2.fij
according to whether m == 0 or 2 (mod 4) respectively.
We now know that tll t3 = Vii or -Vii. We determine their exact
values as follows. Let -y = g-t, where 9 is a generator of F2 m, and
consider the sets
A = {x3: x E F2m} = {g3i: 1 :$ i :$ (2m - 1)/3} U {O},
B = {-y-2x 3 : x E F2m} = {g3i+2: 1 :$ i :$ (2m - 1)/3} U {O},
C = {-y-4x3: X E F2m} = {g3i+1: 1 :$ i :$ (2m - 1)/3} U {O}.
Since (A \ {O}, B\ {O}, C\ {O}) is a partition of Fim, and since precisely
half the elements of F2m have trace equal to 0, we deduce that
#Et + #E3 + #Es = 3q + 3,
48 CHAPTER 3. ISOMORPHISM CLASSES
ICurve Ei m Group
Type
y7. +ry = x" m = 0 (mod 4) q+l+y'q cyclic 3
m:: 2 (mod 4) q+l-Jq cyclic 3
y7. +ry=x"+a m = 0 (mod 4) q+l-y'q cyclic 3
m:: 2 (mod 4) q+l+Jq cyclic 3
y7. +r7.y = x" m = 0 ~mod4) q+l+y'q cyclic 3
m:: 2 (mod 4) q+l-Jq cyclic 3
y7. + r7.y = x" + {J m = 0 (mod 4) q+l-Jq cyclic 3
m:: 2 (mod4) q+l+.jq cyclic 3
y7. + y = x" + ox m even q+l cyclic 2
y"+y-x" m = 0 (mod 4) q + 1- 2y'i '/1,,,,-1 $ '/1,,,,-1 1
m:: 2 (mod4) q+ 1+2Jq '/1,J9+1 $ '/1,J9+1 1
y7.+ y =x"+w m = 0 (mod 4) q+ 1+2yq '/1,"'+1$'/1,"'+1 1
m:: 2 (mod 4) q+ 1-2Jq '/1,A-1 $ '/1,J9-1 1
3.7 Notes
The work of Waterhouse is based on Deuring's classic paper [32). Deur-
ing considers two elliptic curves defined over Fq to be isomorphic over
Fq if they are isomorphic, in our sense, over Fq. Some of Waterhouse's
work was generalized by Ruck [133) to Jacobians of algebraic curves of
genus 2 over finite fields.
The material of Sections 3.3 - 3.6 is taken from [94).
Chapter 4
There are many public-key cryptosystems whose security lies in the pre-
sumed intractability of the discrete logarithm problem in some group
G. The discrete logarithm problem has received a great deal of atten-
tion in recent years, and numerous algorithms which use a variety of
techniques have been devised. In Section 4.1 we briefly survey the algo-
rithms known for this problem. In Seetion 4.2, we demonstrate efficient
reductions of the logarithm problems ill singular elliptic curves and some
other groups to the logarithm problem in a finite field.
4.1 Algorithms
Let G be a (multiplicatively written) finite cyclic group of order n,
and let a be a generator for G. Lel {3 E G. The discrete logarithm
(logarithm) of {3 to the base a, denoted loga {3, is the unique integer
x, 0 ~ x < n, such that {3 = aX. The discrete logarithm problem is to
find a computationally feasible method for finding logarithms in a given
group G. The obvious algorithm of computing successive powers of a
until (3 is found takes O( n) group operations, and so is inefficient if n is
large.
The algorithms which are known for finding logarithms can be cat-
egorized as follows.
(ii) Algorithms which work in arbitrary groups but exploit the sub-
group structure (Pohlig-Hellman method).
(iii) The index calculus methods.
(iv) Methods which exploit isomorphisms between groups.
We proceed to briefly describe each of these methods. Category (iv)
is discussed in detail in Section 4.2.
Let m = rv'nl.
Baby-Step Giant-Step Method
Observe that if x = logO! {J, then we can uniquely write x = jm + i,
where 0 ~ i < m. Precompute a list of pairs (i, a i ) for 0 ~ i < m and
sort this list by second component. For each j, 0 ~ j < m, compute
{Ja- jm and check (by a binary search) if this element is equal to the
second component of some pair in the list. If {Ja- jm = a i for some i,
o ~ i < m, then {J = ai+jm and hence logO! (J = i + jm.
This algorithm requires a table with O( m) entries. To sort the table
and search it for each value of j requires in total O( m log m) operations
(by operation here we mean either a group operation or a comparison).
A group of approximately 1040 elements would render this attack infea-
sible with current technology.
Pollard p-method
J. Pollard [123] gave a method to find logarithms which is probabilistic
but removes the necessity of precomputing a list of logarithms.
Partition the group G into three sets SI, S2 and S3 of roughly equal
size. (Some care must be exercised in selecting the partition, for example
1 ¢ S2') Define a sequence of group elements xo, xl, X2, ... by Xo = 1
and
{JXi-b Xi-l E St,
Xi = { xLI' Xi-l E S2,
aXi-b Xi-l E S3,
cycling algorithm, Pollard computes the six tuple (Xi, ai, bi, X2i, a2i, b2i ),
i = 1,2, ... until Xi = X2i. At this stage, we have
There are only d = gcd(r, n) possible values for loga.8. If d is small then
each of these possibilities can be enumerated to find the correct value.
If we make the heuristic assumption that the sequence {Xi} behaves
like a random sequence of elements of G, then the expected running
time of this method is O( m) group operations. Again, the method is
infeasible if the order of G is about 1040 •
Using one of the square root methods described in the previous section
we determine the logarithm of ,zo to the base, in the cyclic group of
order Pl in G. This gives us ZOo If.Al > 1 then to determine Zl we
consider
52 CHAPTER 4. THE DISCltETE LOGARITHM PROBLEM
and where x is the size ofthe input space, c is a constant, and 0 < a < 1.
A subexponential algorithm is asymptotically faster (resp. slower) than
an algorithm whose running is fully exponential (resp. polynomial) in
the input size. Note that if a = 0 then (4.1) is a polynomial in lnx,
while if a = 1 then (4.1) is fully exponential in lnx. By a probabilis-
tic polynomial (subexponential) time algorithm we mean a randomized
algorithm whose expected running time is bounded by a polynomial
(subexponential function) in the size of the input.
In the first stage of the index calculus method, we attempt to find the
logarithms of elements of a fixed subset r = bI, "'(2, ••• , "'(t} of G, called
the factor base, as follows. We pick a. random integer s and attempt to
write as as a product of elements in r:
t
as = II "'(ii. (4.2)
i=l
If we are successful, then taking logarithms of both sides of (4.2) yields
a linear congruence
t
S == EailogoA/i (mod n). (4.3)
i=l
r:
(4.4)
i=1
Taking logarithms of both sides, we get
t
10gO',8 = L: bi logO' /i - s (mod n).
;=1
For fields Fpm where m is fixed, the number field sieve (51J is the
best algorithm known, with a heuristic running time of L[pm, c, 1/3] (c
is a constant which depends only on m). Algorithms with rigorously
proved running times for Fp2 and Fpm with log p < mO. 98 are due to
Lovorn [84] with running times of L[pm, c, 1/2] for some c> O.
We conclude this section by noting that it is still unknown whether
there exist subexponential algorithms (with either heuristically of rigor-
ously proven running times) for the discrete logarithm problem in fields
Fqm where both q and m tend to infinity.
°
be efficiently computed. In Section 4.2.2, we demonstrate that the loga-
rithm problem in the class of genus curves defined by the Pell equation
over Fq is no harder than the logarithm problem in Fqk, where k = 1 or
k = 2.
These results are perhaps a little surprising at first since the group
operations in these groups seem to be more complicated that the multi~
plication operation in Fq • Since the gl'OUp operation in the groups con-
sidered here is more expensive than the group operation in Fqk, we can
conclude that the former groups offer no advantage over finite fields for
the implementation of cryptographic protocols whose security is based
on the difficulty of computing discrete logarithms in a group.
Theorem 4.2 Let E be a singular elliptic curve defined over the finite
field Fq with singular point P.
(i) If P is a node, then the logarithm problem in Ens(Fq) is reducible in
polynomial time to the logarithm problem in Fq or Fq2, depending
on whether a E Fq or a f/. Fq, respectively.
(ii) If P is a cusp, then the logarithm problem in Ens(Fq) is reducible
in polynomial time to the logarithm problem in F: . 0
(4.6)
0, if a = 0,
x(a) = { 1, if a is a quadratic residue in Fq ,
-1, if a is a quadratic non-residue in Fq •
Proof:
Case (i) (x(D) = -1): =
Let feW) w2 - DE Fq[W]. Then feW) is
irreducible over Fq, and so Fq2 ~ Fq[W]/(J(W)), (J(W)) being the ideal
in Fq[W] generated by feW). Let H denote the unique multiplicative
subgroup of Fq2 of order q + 1, and let a = x + yW be an arbitrary
element of Fq2. Then a E H if and only if a q+1 = 1. Now,
Since
we have
a q+1 = (x - yW) (x + yW)
= X 2 _ y 2W 2
= x 2 _Dy2.
4.3 Notes
For a recent survey of the discrete logarithm problem, we recommend
the article by McCurley [87]. Odlyzko's article [115] gives a comprehen-
sive account of the problem of computing logarithms in finite fields of
characteristic 2.
The results of Section 4.2 are taken from [95]. It is well-known
that any smooth curve of genus 0 is isomorphic to the projective line.
What we have shown for the genus 0 curves considered here is that the
isomorphism can be efficiently computed.
Chapter 5
f(D) = II f(p)n p •
PEsupp(D)
61
62 CHAPTER 5. ELLIPTIC CURVE LOGARITHM PROBLEM
5.1.1 Definition
Let m be a positive integer coprime to p, and let Jlm C 1(* be the group
of mth roots of unity.
Let P, Q E E[m]. Let A and B he divisors of degree 0 such that
A '" (P) - (0), B '" (Q) - (0), and A, B have disjoint support. Let
fA, fB E K(E) such that
div(fA) = mA
and
div(fB) = mB.
Note that fA and fB exist by Theorem 2.25 since P and Q are both
m-torsion points. Note also that div(fA) and B have disjoint supports,
as do div(fB) and A.
The Weil pairing, em, is a function
and is defined as
and
div(v) = (P3 ) + (-P3)-2(0).
Observe that if PI. P2 E E(K) and if h, hE K(E), then P3 E E(K)
and h E K(E), and so all the computations take place in the field K
itself. Observe also that h (as an element of K(x,y» is undefined only
at the points P3 and -P3 , while 1/ h (again as an element of K(x, y» is
only undefined at PI. P2 and -P3. (If we treat h as a rational function,
then since div(h) = (PI) + (P2 ) - (P3 ) - (0), the only points of Eat
which h is undefined are P3 and 0.)
Now, let D = Ei=l ai(Pj) be a principal divisor. We can find f E
K(E) such that D = div(f) as follows.
(5.2)
Example 5.1 Consider the elliptic curve y2 = x 3 +7x defined over F13 •
The points on E(F13 ) and their orden; are listed in Table 5.1. From the
table we deduce that #E(F13) = 18 a.nd E(F13) ~ '116 $ '113.
5.1. THE WElL PAIRING 65
and
div(JB) = m(Q + U) - m(U).
The functions fA and fB can be computed by the method of the previous
section. Then
Let 1 = at, a2, ... ,at = m be a fixed addition chain for m. Let
R E E(K), and let f be the function computed using the method of the
previous section, where
(3z+y)(z+y+10)
fB = (10z + y)(12z + y + 3)'
Finally, we obtain
Lemma 5.3 Let E(Fq) be an elliptic curve with group type (nt,n2),
and let P be an element of mazimum order nt. Then for all points
PI, P2 E E(Fq), Pt and P2 are in the same coset of <P> if and only if
enl (P, PI) = e nl (P, P2). 0
The next result is similar to, and has a similar proof, as Lemma 5.3.
For completeness, we include it here.
Lemma 5.4 Let E(Fq) be an elliptic curve such that E[n] ~ E(Fq),
where n is a positive integer coprime to q. Let P E E[n] be a point of
order n. Then for all PI, P2 E E[n], Pt and P2 are in the same coset of
<P> within E[n] if and only if en(P, Pt) = en(P, P2).
5.2. REDUCING ELLIPTIC CURVE LOGARITHMS 69
Lemma 5.5 Let G be a group and nEG. Let n = Of=l p/"i be the
prime factorization of n. Then a has order n if and only if
(i) an = 1, and
(ii) an/Pi ¥ 1 for each i, 1:::; i :::; k. o
Algorithm 1
Input: An element P E E(Fq ) of maximum order nl, and R = IP.
Output: An integer I' == I (mod n'), where n' is a divisor of n2.
Step 1. Pick a random point T E E(Fq ).
Step 2. Compute a = enl (P, T) and (3 = enl (R, T).
Step 3. Compute I', the discrete logarithm of (3 to the base a in Fq •
a n2 = en1 (P, Tt2 = enl (P, p)Cln2enl (P, C2n2G) = enl (P, 0) = 1,
and hence the order of a, denoted n', divides n2. Since n21q - 1 it also
follows that a E F q • Now, since
We can now describe the method for reducing the elliptic curve log-
arithm problem to the discrete logarithm problem in a finite field.
Algorithm 2
Input: An element P E E(Fq) of order n, and R E<P>.
Output: An integer I such that R = IP.
Step 1. Determine the smallest integer k such that E[n] ~ E(Fqk).
Step 2. Find Q E E[n] such that a = en(P, Q) has order n.
Step 3. Compute (3 = en(R, Q).
Step 4. Compute I, the discrete logarithm of {3 to the base a in Fqk.
Remarks
Algorithm 2 takes exponential time (in In q) in general, as k is exponen-
tially large in general (see Section 5.2.3). Algorithm 2 is also incomplete
as we have not provided methods for determining k, and for finding the
point Q. We shall accomplish this next for the class of supersingular
elliptic curves.
a = e3(P,Q) = 9,
which has order 3. A similar calculation gives
f3 = e3(R, Q) = 3.
Finally, since 92 == 3 (mod 13), we have logp R = 2. o
(II) t = 0 and E(Fq ) !?;! 7l(q+1)/2 Ef) 7/.,2 (and q == 3 (mod 4)).
(III) t 2 = q (and m is even).
(IV) t 2 = 2q (and p = 2 and m is odd).
(V) t 2 = 3q (and p = 3 and m is odd).
(VI) t 2 = 4q (and m is even).
5.2. REDUCING ELLIPTIC CURVE LOGARITHMS 73
n E[n] = E(Fq).
and
E(Fq3)
Finally, #E(Fq4) = q4 + 1 + 2H, and by Lemma 2.13(ii) we have that
E(Fq4) ~ 7l(q2+l) EEl 7l(q2+l). Since
I Class of
curve
I t Group
structure
I 0 cyclic q+l 2
II 0 7l(q+1)/2 ED 712 (q + 1)/2 2
III ±"fo cyclic q+l=F"fo 3
IV ±V2q cyclic q+l=FV2q 4
V ±J3q cyclic q+1=FJ3i 6
VI ±2"fo 7l"'''F1 E9 7l~"Fl vq=F 1 1
I Class of
curve
I c
I (q + l,q+ 1) 1
II (q + l,q+ 1) 2
III (n ± 1, .,jq3 ± 1) .;q± 1
IV (q2 + l,q2 + 1) q±$q+l
V (q3 + 1, q3 + 1) (q + 1)(q ± y'3q + 1)
VI (.;q=f 1,.;q=f 1) 1
Note that for each class of curves, the structure of E(Fq,,) is of the
form 1lcnl E91lCR1' for appropriate c. We now proceed to give a detailed
description of the reduction for supersingular curves.
Algorithm 3
Input: An element P of order n on a supersingular curve E(Fq), and
R E<P>.
Output: An integer I such that R = IP.
Step 1. Determine k and c from Tables 5.2 and 5.3.
Step 2. Pick a random point Q' E E(Fq/c) and set Q = (cnt/n)Q'.
Step 3. Compute a = en(P, Q) and f3 = en(R, Q).
Step 4. Compute the discrete logarithm I' of f3 to the base a in Fq/c.
Step 5. Check whether I' P = R. If this is so, then I = I' and we are
done. Otherwise, the order of a must be less than n, so go to
Step 2.
Proof: We assume t:tat a basis of the field Fq over its prime field is
explicitly given. To do arithmetic in Fqk, we need to find an irreducible
polynomial f( x) of degree k over Fq • This can be done in probabilistic
polynomial time, for example by the method given in [10]. We then have
Fq" ~ Fq[x]I(I(x)), where (I(x)) denotes the ideal in Fq[x] generated
by f(x). Note that the constant polynomials in Fq[x] form a subfield
isomorphic to Fq •
The point Q' can be chosen in probabilistic polynomial time since Q' E
E( Fqk) and k ::::; 6, and then Q can be determined in polynomial time.
The elements Q and f3 can be computed in probabilistic polynomial time
by Miller's algorithm. Since
n
- - < 6lnln n, for n >_ 5,
4>(n) -
(see [131]), the expected number of iterations before we find a Q such
that en(P, Q) has order n is O(ln In 11,). Finally, observe that {' P = R
can be tested in polynomial time, and that n = O(q). 0
Note that the discrete logarithm problem in Fqk that we solve in
Step 4 of Algorithm 3 has a base element Q of order n, where n < qk_1.
The probabilistic sub exponential algorithms discussed in Section 4.1.3
for computing discrete logarithms in a finite field require that the base
element be primitive. Using these algorithms, we obtain the following.
Now, let p lI = n' P, R" = n'R. Note that ord(plI ) = pS and R" E<
plI>. We may use the Pohlig-Hellman method (see Section 4.1.2) to
find logpll R". Observe that
fields Fp , where p ::; 2512. For F2m, recent computations of Gordon and
McCurley [52] indicate that computing logarithms in F 2m for m about
500 is barely feasible given large amounts of computer resources. There-
fore it appears that, given the best algorithms known for the discrete
logarithm problem in finite fields and given the best available computer
technology, the discrete logarithm is intractable for finite fields of size
greater than 2600 •
We comment on the following four families of supersingular curves
that have previously been suggested for the implementation of elliptic
curve cryptosystems. All these curves have k value equal to 2, i.e., the
elliptic curve logarithm problem in these curves is efficiently reducible
to the logarithm problem in the quadratic extension of the underlying
field.
The curve
reasons. The class of curves (B) and (C) were suggested by Miller [100].
The class of curves (D) was suggested in [9] for the implementation of
elliptic curve cryptosystems, and by Kaliski [62] for the implementation
of secure pseudorandom number generators. Finally, in [65], cryptosys-
terns based on the elliptic curves (B) and (D) over a 167-bit prime field
were implemented in software; these systems are also insecure.
Alternatives to the curve y2 + y = x 3 are the supersingular curves
y2 + Y = x 3 + x and y2 + y = x 3 + X + lover F2m, m odd. These curves
have k values equal to 4 (see Table 3.3) and will be further studied in
Chapter 6.
If a non-supersingular curve is desired, then the curve must be chosen
so that the corresponding k value is sufficiently large. Let E be a non-
supersingular curve defined over Fq • Let P E E(Fq ) be a point of order
n, and assume that n is divisible by CL large prime v (this condition on
n is necessary if the Pohlig-Hellman attack for computing logarithms is
to be avoided). To avoid the attack of Algorithm 2, i.e., to ensure that
k > c for sufficiently large c, we must check that the set E[v] is not
contained in E( Fq,) for each I, 1 ::; I ::; c. (By sufficiently large c we
mean c for which the discrete logarit hm problem in Fqc is considered
intractable.) Two sufficient conditions for E[v] Cf: E(Fq,) are that v2
does not divide #E( Fq,) and v does not divide ql - 1j these conditions
can be easily verified. If these conditions are satisfied, then the best
known algorithm for computing logarithms to the base P is the Pohlig-
Hellman attack, whose running time is roughly proportional to Vv.
nl n2
::; ¢(nl)¢(n2) = O((lnlnN )2) = 2
O((lnlnq)).
5.5 Notes
For an alternate definition of the Weil pairing, and proofs of the prop-
erties of the pairing, see [26] or [142]. The algorithm for computing the
Weil pairing in Section 5.1 is based 011 Miller's unpublished paper [101],
as is the algorithm in Section 5.4 for computing the group structure of
an elliptic curve. We comment that these algorithms are very efficient in
practice. Zuccherato [l54J has implemented them on a SUN-2 SPARC-
station and reported running times of just a few minutes for computing
the Wei! pairing of points on curves E( F2m), where m ~ 200.
The results in Section 5.2 are taken from [92], and are reprinted
here with permission from the IEEE. The extension of the reduction
algorithm in Section 5.2.3 was also observed by Miyaji [103]. Necessary
and sufficient conditions for all the n- torsion points of an elliptic curve
to be defined over Fq, that is E[n] ~ E(Fq), are given in [137].
Frey and ~iick [43] recently showed how to use a variant of the Tate
pairing for Abelian varieties over local fields to reduce the logarithm
problem in the n-torsion part of the divisor class group of a projective
irreducible non-singular curve over Fq (with char( Fq) coprime with n)
to the discrete logarithm problem in }~k, where k is the smallest integer
such that nil - 1. For elliptic curves, this method has the advantage
over the method of Section 5.2 that the condition nlqk - 1 is usually
weaker than the condition E[nJ ~ E(Pqk).
In [57], Huang and Ierardi present. a polynomial time algorithm for
constructing a rational function of a principal divisor over a projective
plane curve that has only ordinary multiple points.
Chapter 6
Implementation of Elliptic
Curve Cryptosystems
m-l
a = L ajO:j, where aj E {0,1}.
i=O
We can then represent 0: as the 0-1 vector (ao, aI, ... , am-I). In hard-
ware, a field element is stored in a shift register of length m. Addition
of field elements is performed by bitwise XOR-ing the vector represen-
tations, and takes one clock cycle.
In general, there are many different bases of F2m over F2 • A normal
basis of F2 m over F2 is a basis of the form
2 22
,{3 2
m - I }
{ {3,{3,{3 , ... ,
m-lm-l
C = L L ai bj{32' {32j . (6.1)
;=0 j=O
If we let
Hence if a logic circuit with inputs ,'l and B is built to compute the
product digit Co, the same circuit witll in~uts A 2 - k and B 2 - k yields the
product digit Ck. Note that A2- k and B 2 - are simply cyclic shifts ofthe
vector representations of A and B. In this way C can be computed in m
clock cycles. Massey and Omura [119] constructed a serial-in serial-out
multiplier to exploit this particular aspect of normal bases.
The complexity of such a circuit is determined by eN, the number of
non-zero terms A~~), since this quantity measures the number of inter-
connections between the registers containing A, B and the product C.
Clearly, we have eN :::; m 2 • A lower bound on eN is CN 2: 2m -1 [110].
If CN = 2m - 1, then the normal basis is said to be optimal. Optimal
normal bases were introduced and studied by Mullin, Onyszchuk, Van-
stone and Wilson [110], where constructions are given, together with
a list of fields for which these bases exist. An associated architecture
for a hardware implementation is given in [2]. Using this architecture a
multiplication can be performed in m clock cycles.
Finally, the most efficient techniq lle, from the point of view of min-
imizing the number of multiplications, to compute an inverse of an el-
ement in F2 m was proposed by Itoh, Teechai and Tsujii [59]. Observe
that if a E F2 m, a f:. 0, then
86 CHAPTER 6. IMPLEMENTATION
we have
2m~1_1 (2(m_l)/2-'1)2(m-l)/2+l
a = a
Hence it takes only one multiplication to evaluate a 2m - 1 - 1 once the
quantity a 2(m-l)/2_1 has been computed (we are again ignoring the cost
of squaring). If m is even, then we have
and
Y2 - YI, if P f= Q,
X2 - Xl
A= {
3xi+ a
-'"---, 'fP-Q
1 - •
2YI
( YI + Y2) 2 + YI + Y2 + Xl + X2 + a2, P f= Q,
Xl + X2 Xl + X2
X3 = {
2 a6
Xl + 2'
Xl
P=Q,
and
+ Y2)(
+ X2 Xl + X" + X3 + YI,
( YI ) P f= Q,
Xl
P=Q.
P=Q,
and
Y3 J (::: ~)(. .+.,)+ y.+ ·3, P # Q,
the underlying field J(, while a point can be doubled in one inversion and
four multiplications in J(. Additions and subtractions are not considered
in this count since these operations are relatively inexpensive. We would
like to select a curve and field J( so that the number of field operations
involved in adding two points is minimized. Curves over J( = F2m are
preferred for the following four reasons.
(6.5)
where a6 E Fq \ {O}, a2 E {O, "f}, and "f is an element in Fq of trace 1.
As discussed in Chapter 5, if the attack of Algorithm 2 is not feasi-
ble, then the best algorithm known for the logarithm problem in non-
supersingular elliptic curves is the baby-step giant-step algorithm. A
non-supersingular curve that is suitable for cryptographic applications
is one whose order is divisible by a large prime factor, say a prime
factor of at least 40 decimal digits. Consequently, the underlying field
6.2. SELECTING A CURVE AND FIELD 89
should be of size at least 2130 • The underlying field should also have
an optimal normal basis in order to a<:hieve efficient field arithmetic. In
addition, we prefer a curve whose group is cyclic; this will be the case,
for example, if #E(Fq) has no repeated prime factors.
One method of selecting curves is to choose a curve E defined over
Fq, where q is small enough so that #E(Fq) can be computed directly,
and then using the group E(Fqn) for suitable n. Note that #E(Fqn) can
easily be computed from #E(Fq) by the Weil Theorem. Observe also
that if I divides n, then #E(Fql) divides #E(Fqn), and so we should
select n such that it is prime, or else a product of a small factor and a
large prime.
Number of digits in
#E(F26) the largest prime
divisor of #E(F2 166)
22 37
28 36
36 46
38 36
42 41
imately
1 log2 ( 2.2155
155 1040 ) ~ 0.136.
Hence one can expect to try about 7 curves before a suitable one is
found.
X3 = AD
Y3 = CD + A2(Bxl + AYl)
Z3 = A3z},
6.4. ELGAMAL CRYPTOSYSTEM 91
X3 AB
Y3 = xtA + B(x~ + Y1Zl + A)
Ml (or M 2), he can then easily obtain M2 (or Md. This attack can be
prevented by only sending (kP, Mlx),
In the EIGamal cryptosystem, four field elements are transmitted
in order to convey a message consisting of two field elements. We say
that there is message expansion by a factor of 2. The message expansion
factor can be reduced to 3/2 by only sending Xl and a single bit of ydxl
(if Xl =1= 0), instead of sending the point P = (xt, yI). The following
method can then be used to recover YI. First, if Xl = 0, then Yl = .jli6.
If Xl =1= 0, then the change of variables (x,y) ~ (x,xz) transforms
the equation of the curve (6.5) to Z2 + z = X + a2 + a6x-2. Compute
o = Xl + a2 + a6x12. To solve the quadratic equation z2 + z = 0,
let z = (zo,zl,,,,,zm-d and 0 = (oo,ol, ... ,om-d be the vector
representations of Z and 0 respectively. Then
6.5 Performance
310 X 40,000,000
1000 X 2950 X 155 ::::: 27 Kbits/sec.
Et y2 + y = x3
E2 y2 + Y = x 3 + X
E3 y2 + y = x 3 + + 1.
X
The "k" values for the 3 curves are 2, 4 and 4 respectively. Hence we
shall only consider the curves E2 and E3 • With the current state of
our knowledge, it appears that the discrete logarithm problem in these
curves is equivalent to the discrete loga.rithm in the extension field F24m.
94 CHAPTER 6. IMPLEMENTATION
( Yl+Y2)2+XI+X2, P::JQ,
X3 = { Xl + X2
xt+1, P=Q,
and
xt + yt + 1, P = Q.
If a normal basis representation is chosen for the elements of F2 m, we
see that doubling a point in E2 or E3 is "free", while adding two distinct
points can be accomplished in two multiplications and one inversion.
The multiple kP of the point P is computed by the repeated square-
and-multiply method. If w(k) = t + 1, then the exponentiation takes 2t
multiplications and t inversions.
The inverse operation needed when adding two points can be elim-
inated by resorting to projective coordinates. We present the formu-
lae below. Let E be either E2 or E 3. Let P = (Xl : YI : 1) E E,
Q = (X2 : Y2 : Z2) E E, and suppose that P,Q f 0, P f Q and
P f -Q. Let P+ Q = (X3: Y3: Z3). Then
X3 A 2Bz2 +B4
Y3 = (1 + Yl)Z3 + A 3z2 + AB2x2
Z3 = B 3z2,
or else
+a 24 +···+a 2
22 m- 1
Yl=a+a +1.
The identity 1 is represented by the vector of all 1's, and so the single
bit of Yl that was sent enables one to make the correct choice for Yl.
Notice that the computation of Yl is inexpensive, since the terms in the
formula for Yl may be obtained by sllccessively squaring a.
We estimate the throughput rate of encryption using the elliptic
curve analogue of the EIGamal public key cryptosystem. We assume
that a multiplication in F2 m takes rn clock cycles, while an inversion
takes I( rn) = llog2( rn-1)J +w( rn-1)-1 multiplications. For simplicity,
we ignore the cost of field additions and squarings. Elliptic curve points
will be represented using projective coordinates. Again, to increase
the speed of the system, and to place an upper bound on the time for
encryption, we limit the Hamming w{!ight of k to 30.
The computation of kP and kaP takes 58 additions of points, 2 field
inversions and 4 field multiplications. Computing Mlx and M 2y, where
=
kaP (x, y), takes another 2 multiplications. Thus two field elements
can be encrypted in 528+ 2J( m) field multiplications. For concreteness
we select the curve E3 over F2239. This choice is appropriate because an
optimal normal basis exists in F2239. Also, since #E3(F2239) is a 72 digit
prime, the square root attacks for computing elliptic curve logarithms
do not apply. Finally, noting that 1(239) = 12, and assuming a clock
rate of 40 MHz, we get an encryption rate of
478 x 40,000,000 '" 145 Kb. /
1000 x 552 X 239 '" Its sec.
Table 6.2 lists some fields F2m for which an optimal normal basis
exists, and where either #E2(F2m) or #E3(F2m) contains a large prime
factor, precluding a square-root attack. The factorizations of the order
of curves was obtained from [19]. The approximate running time for
an index calculus attack in F24m is also included, using the asymptotic
running time estimate of
exp (1.35)nl/3(lnn)2/3)
in the group
Eo,b('ll-n) = EO,b(Fp) x EO,b(Fq),
whence
6.8 Implementations
In 1988, Newbridge Microsystems Inc. in conjunction with Cryptech
Systems Inc., Canada (now called Mohius Encryption Technologies Inc.,
Mississauga, Ontario), manufactured a single chip device that imple-
ments various public and conventional key cryptosystems based on arith-
metic in the field F 2593. Since the field size is quite large, a slower two-
pass multiplication technique was used in order to reduce the number
of cell interconnections (see [2] or [130]). Also, to reduce the number
of registers, a slower method to compute inverses was used. Multipli-
cation of two field elements takes 1,300 clock cycles, while an inverse
computation takes about 50,000 clock cycles. The chip has a clock rat-
ing of 20 MHz, and so the multiplication and inverse computations take
.065ms and 2.5ms respectively.
More recently, a VLSI device has been built for performing the arith-
metic operations in the field F 2 155 [3]. The device required about 11,000
gates. A multiplication takes 156 clock cycles, while an inverse compu-
tation takes about 3800 cycles. The chip has a clock rating of 40 MHz,
and so the multiplication and inverse computations take .004ms and
.095ms respectively.
Both these devices can be used as a coprocessor for performing com-
putations in the base field. A high p(!rformance programmable control
processor, such as the Motorola DSP56000, can be used as the control
processor to implement the various elliptic curve cryptosystems.
The paper [54] describes a software implementation of the EIGamal
cryptosystem over the finite field F 2 104. Encryption rates of 2 Kbits/sec
were achieved on a SUN-2 SPARe-station. The public keys are only
105 bits in size.
In [31], R. Crandall describes an implementation of the elliptic curve
analogue of the Diffie-Hellman key exchange. The elliptic curves are
defined over finite fields Fpk, where p is a Mersenne prime (or more
generally of the form 2r - s, where s is small). Crandall presents a
method for performing arithmetic modulo p using only shift a.nd add
operations, eliminating the need for costly divisions. This technique,
together with an inversionless parameterization of the elliptic curve, re-
sults in a very efficient implementatio:.t of elliptic curve arithmetic. The
system is called Fast Elliptic Encryption (FEE), and is being considered
by the NeXT computer company for incorporation into their products.
6.9. NOTES 99
6.9 Notes
In a recent paper [45], Gao and Lenstra proved that the optimal normal
bases constructed in [110] are essentially all ofthe optimal normal bases.
For fields in which optimal normal bases do not exist, the so-called low
complexity normal bases described in [4] may be useful.
The method of Itoh, Teechai and Tsujii for computing inverses in
F2m is costly in terms of hardware implementation in that it requires
the storage of several intermediate results. An alternate method for
inversion which is slower but which does not require the storage of such
intermediate results is described in [11.
For some other hardware designed to perform calculations in finite
fields, see [33], [41], [47], [138] and [151]. Consult also the books [61],
[83], [89] and [91].
The material in Sections 6.2 to 6.6 is based on [96].
The use of non-supersingular elliptic curves for cryptosystems was
also considered by Beth and Schaefer [12]. Miyaji [104] presents some
methods for selecting elliptic curves over prime fields that are suitable
for implementing Schnorr's digital signature scheme on smart cards.
Morain [108] shows how to construct cyclic elliptic curves over large
prime fields.
A different method for selecting elliptic curves over prime fields suit-
able for use in cryptosystems is to select a fixed curve E defined over
the integers, and then choose a prime p such that #E(Fp) is prime.
Koblitz [69] gives conjectural asymptotic formulas for the probability
that #E(Fp) is prime as the prime p varies.
Alternative parameterizations of elliptic curves were considered by
Chudnovsky and Chudnovsky [28] and Montgomery [105]. Morain [107]
presents some addition-subtraction chains for integers k which lead to
faster algorithms than the usual binary method for computing kP in
an elliptic curve. Koyama and Tsurlloka [75] do the same for elliptic
curves over the ring 'lln.
As we have seen, elliptic curve cryptosystems have small key lengths.
By comparison, in the RSA cryptosystem [1291, the public key consists
of a pair of integers (e, n). Although e can be chosen to be small, there
is not the same flexibility with the choice of n which should be at least
512 bits in length (however, recent work by Vanstone and Zuccherato
[149] shows how to choose n with some bits prespecified); For the EI-
Gamal cryptosystem based on discrete exponentiation in a finite field,
100 CHAPTER 6. IMPLEMENTATION
the public key aa is the same size as the field, namely at least 500 bits
in length.
If E : y2 = x 3 + ax + b is an elliptic curve over the prime field Fp ,
the twist of E is the curve E' : y2 = x 3 + au 2 x + bu3 , where u is a
quadratic non-residue modulo p. It is easy to verify that #E(Fp) +
#E'(Fp) = 2p + 2. In the case where both E and E' are cyclic, Kaliski
[63, 64] describes a method for using these curves to construct a one-
way permutation on the set {O, 1,2, ... , 2p + I}. The construction was
extended to elliptic curves over finite fields of characteristic 2 by Meier
and Staffelbach [90].
Koblitz [73] observed that if one uses exponents k of a small Ham-
ming weight, then one gets doubling of points "almost 3/4 for free" for
the non-supersingular curves y2 +xy = x 3 +1 and y2 +xy = x 3 + x 2 +1
when computing kP. In [73] one can find a list of curves defined over F2
(respectively F4, Fs and F16 ) such that #E(F2n) (respectively #E(F4n),
#E( Fsn) and #E( F16n)) has a prime factor of at least 30 digits, there
exists an optimal normal basis in Fq", and any string of ~ 4 zeros (re-
spectively exactly 2, 3, 4 zeros) can be handled with a single addition
of points. The study of these anomalous curves was pursued further by
Meier and Staffelbach [90].
In [118], Okamoto, Fujioka and Fujisaki propose a practical digital
signature scheme based on elliptic curves over '!In, where n = p2q.
The scheme appears to be several times faster than the RSA signature
scheme.
Chapter 7
Counting Points on
Elliptic Curves Over F2m
101
102 CHAPTER 7. COUNTING POINTS
10 = 0
h = 1
h = x
h = x4 + x 3 + a6
i4 x 6 + a6 x2
hn+1 = 1~/n+2 + In-d~+1' n~2
xhn = 1~-tfnln+2 + In-2in/~+1' n ~ 3.
The polynomials In are monic in x, and if n is odd then the degree of In
is (n 2 -1)/2. The division polynomials have the following useful proper-
ties which will enable us to perform computations in E[n]. Theorem 7.1
is from [77], while Theorem 7.2 is from [71].
and
- _ - +-y + fn-tln+!
y-x f2
+ fn-2!~+!
-f3
+ (-2
X
+ _)
Y
fn-tln+l
-f2 .
n X n X n
tP2 - ttP + q = 0
for a unique t E 'll, called the trace of the Frobenius endomorphism.
In fact, t = q + 1 - #E(K). Recall that if I is an odd prime then
E[l] ~ 'll, ED 'll,. Consequently, E[l] can be viewed as a vector space over
F/j the vector space has dimension 2. The map tP restricted to E[l] is a
linear transformation on E[I] with characteristic equation tP 2 -ttP+q = O.
(7.3)
Since tP2 (P) + kP = ttP(P), we deduee that (t - T)tP(P) = O. Hence,
since tP(P) is a point of order I, t == T (mod 1). The problem with
104 CHAPTER 7. COUNTING POINTS
yq = a(x) + b(x)y,
with a(x) and b(x) both reduced modulo 91(X). Equation (7.5) then
reduces to
a(x) +b(x)y = O.
Substituting y = a(x)/b(x) into the equation of the curve (7.2) yields
the following equation of the curve
=
Observe that ift == 0 (mod I), then 4>2(p) -kP. Now, if 4>2(P) kP, =
then 4>(P) = (2k/t)P, whence 4> has an eigenvalue in Fl. But t 2 - 4q is
a quadratic non-residue mod 1, so we conclude that 4>2(P) = -kP. It
follows that t4>(P) = 0 and t == 0 (mod I).
Assume now that there is no P E E[/]* with 4>2(p) = ±kP. In order
to determine t (mod 1), we check for each T, 1 S T S 1-1, if there exists
P E E[l]* satisfying (7.3). Since 4>2(p) ::j:. ±kP, we can use the rule for
adding distinct points (see Section 2.5) to compute an expression for
4>2(p) + kP. Explicitly, let (P)z denote the x-coordinate of point P.
Then, for k ~ 2,
(±Tt/>(P))z (7.6)
7.3. SOME HEURISTICS 107
and
where
A = (yq2 + y + x)xf2 + fk-2!~+1 + (X 2 + X + y)(ik-tfkfk+1). (7.7)
xf2(x + x q ) +:Cfk-tfkfk+l
Similar equations can be obtained for the case k = 1. Equate the x-
coordinates of ¢>2(P) + kP and ±r¢>(P), and eliminate denominators
and the variable y, to get an identity h3(X) = O. Then there ex-
ists aPE E[I]* with ¢>2(p) + kP = ±r¢>(P) if and only if h4 (x) =
gcd(h3(x), f/(x)) f. 1. This is repeated for each r, 1 ::; r ::; (1- 1)/2,
for which r2 - 4q is a quadratic non-residue mod 1. If the gcd is non-
trivial then we can determine the correct sign by first equating the
y-coordinates of ¢>2(p) + kP and T¢>(P). Explicitly, for T ~ 2,
f q fq q 2q q q
(r¢>(P»y = xq+yq+ T-l T+1 + f T-2 f T+l +(x2q+yq) f T-l f T+1 (7.8)
i:' q a: qf~q x qf;q
and
2
(¢> (P) + kP)y = A(Xq
2
+ X3) + X3 + yq 2
,
where X3 = (</>2(p) + kP)z and A is as in (7.7) (similar equations can be
obtained for the case T = 1). As was done above, we then proceed to
eliminate the denominator and the variable y to get an identity h s( x) =
O. Then if gcd(fl(X) , hs(x» f. 1, we have t = T; otherwise t = -T. The
dominant step in these calculations is the computation of xq2 and yq2
modulo fl(X).
To determine t (mod I) in practice, one would first search for an
eigenvalue of </> in Fi, and if this fails, then Schoof's algorithm is applied.
The first method is faster since it only requires the residue of x q modulo
f/( x), while the second method requires the residues x q, xq2, yq and yq2
modulo j,(x). Heuristically, for a random curve, we would expect ¢>
to have an eigenvalue in Fi (Le., t 2 - 4q is a quadratic residue in F,)
for half of all I's. Moreover, if ¢> does have eigenvalues in F" then
in most cases the eigenvalues will be distinct, and so the test whether
¢>(P) = wP or ¢>(P) = -wp in Section 7.3.1 takes negligible time (since
deggl(x) = (1-1)/2 or I-I).
Proof: Since E[l] ~ 7l/, f/( x) has only 1/2 distinct roots. Of these,
only 1/4 are x-coordinates of points of order I. Thus fl(x) has a factor
f(x) of degree 1/4 in K[x], whose roots are precisely the x-coordinates
of points of order I. 0
The next lemma shows how the factor f( x) may be easily con-
structed.
90 = X
g1 = b1 + x, where a6 = bt
i-2
2 + bi X
gj = g;-1 gj' IT
2 whlTe a6 = bi2iH 'Jor
I i ~ 2.
j=1
Then f(x) = 9c-l(X) is a degree 1/4 factor of fl(x) in K[xJ. Moreover,
the roots of f( x) are precisely the x-coordinates of points of order I.
Let P = (x,y) E E*, and let (2np)x = Gn/Hn, for n ~ O. From the
formula for doubling a point, we see that Gn and Hn are polynomials
in K[xJ. We prove by induction that Gn = (gn)2 n+1 and Hn = (h n )2n
for n ~ 1.
For n = 1, we have
gt
= h~
=
which indeed is (2P)x'
Assuming that the statement is true for n = i, we have
(2i+1 P)x = Gi+1 = (2; P + 2i P)x = a6~? + G~
Hi+1 Gj Hi
(blH; + Gi)4 (bi+1hi +g[)2 +i 2
(9i+1)2 i +2
= (G;H;)2 = (glh i )2 +i 1 = (hi+1)2i+l'
7.3. SOME HEURISTICS 109
#E(Fq) = lq + 1 - 2JqJ + kj - i,
The residues of xq2, yq and yq2 modulo f,( x) are obtained in a similar
manner.
(iii) In calculating (7.6) and (7.8), we need to compute n
(mod fl(X»,
for 0 ~ T ~ (1- 1)/2 + 1. Since we already know x (mod ft(x», we
q
112 CHAPTER 7. COUNTING POINTS
Note that indeed gcd(xq,f,(x» = 1 when 1is odd, since the only points
with x-coordinates equal to 0 have order 2.
(iv) l's up to 31 were chosen in order to keep manageable the size of the
space searched in the baby-step giant-step part of the method. If more
= =
memory is available, then the cases I 29 and I 31 may be excluded,
at the expense of an increase in the time for the baby-step giant-step
part.
Using the method of Section 7.3.3, t modulo 64 was also computed. If
(t modulo 64) ::::; 31, then t modulo 128 was computed (for this only the
division polynomials Ii (x ), 1 ::::; i ::::; 31, modulo the degree 32 factor of
!t2S(X) were needed). Similarly, if (t modulo 128) ::::; 31, t modulo 256
was computed. In this way t modulo 1024 may have been computed.
In Table 7.1, we list the time taken for the major steps in Sec-
tions 7.3.1, 7.3.2 and 7.3.3 of the algorithm for counting points on a
single randomly chosen curve over F2 155. As was expected, the compu-
tation of x q (mod II) dominated the time to search for an eigenvalue,
while the computation of xq2, yq and yq2 modulo II is the dominant
step in the Schoof part of the algorithm. If an eigenvalue exists, then
determining its sign takes negligible time. Observe that searching for
an eigenvalue is a useful heuristic, and results in a significant time sav-
ings when such an eigenvalue exists. Lastly, note that the time taken
to compute the division polynomials, and to compute t modulo 128 is
also negligible.
In Table 7.2, we list the time for the baby-step giant-step method
(Section 7.3.4) for various problem instances. The size of the space
7.4. IMPLEMENTATION 113
Table 7.1: Times (in seconds) for the major steps in Sections 7.3.1,7.3.2
and 7.3.3 of the algorithm for counting points on a single randomly
chosen curve over Fq , q = 2155.
114 CHA.PTER 7. COUNTING POINTS
Table 7.2: Times for the baby-step giant-step part (Section 7.3.4) for a
curve over F2 m.
searched is 4.;9./ L where L is the product of those l's for which t modulo
1 is known.
Finally, Table 7.3 presents the total running time of the method
for evaluating #E( F2m) for single randomly chosen curves and several
values of m. For a fixed m, the running time for counting #E(F2m)
has a large variance; the longest running times are observed when no
eigenvalue of ¢ exists in F, for the largest prime l's used.
Table 7.3: Total time for counting points on randomly chosen curves
over F2m.
7.6 Notes
The material of this chapter has been extracted from [97], and is reprint-
ed here by permission of the American Mathematical Society.
In [121], Pila gives a generalization of Schoof's algorithm for com-
puting the characteristic polynomial of the Frobenius endomorphism of
an abelian variety defined over a finite field in deterministic polynomial
time. In the case that the abelian variety is the Jacobian of an algebraic
curve C defined over Fq , the number of Fq-rationaI points on C is then
easily recovered. We are not aware of any practical implementations of
this algorithm.
Cantor [23] obtained the analogue of the division polynomials of an
elliptic curve for the Jacobian of hyperelliptic curves.
Bibliography
117
118 BIBLIOGRAPHY
[34] W. DIFFIE, "The first ten years of public key cryptography", in [144],
135-175.
[37] S. DUSSE AND B. KALISKI, "A cryptographic library for the Motorola
DSP56000" , Advances in Cryptology - EUROCRYPT '90, Lecture Notes
in Computer Science, 473 (1991), Springer-Verlag, 230-244.
[38] H. EBERLE, "A high-speed DES implementation for network applica-
tions", Advances in Cryptology - CRYPTO '92, to appear.
[39] T. ELGAMAL, "A public key cryptosystem and a signature scheme based
on discrete logarithms", IEEE 'lransactions on Information Theory, 31
(1985), 469-472.
[41] M. FENG, "A VLSI architecture for fast inversion in GF(2m)", IEEE
'Iransactions on Computers, 38 (1989), 1383-1386.
[43] G. FREY AND H. RUCK, "A rema.rk concerning m-divisibility and the
discrete logarithm in the divisor clllSS group of curves", Mathematics of
Computation, to appear.
[44] W. FULTON, Algebraic Curves, Benjamin, New York, 1969.
[45] S. GAO AND H.W. LENSTRA, "Optimal normal bases", Designs, Codes
and Cryptography, 2 (1992), 315-323.
[46] G. VAN DER GEER, "Codes and elliptic curves", in Effective Methods in
Algebraic Geometry, Birkhauser, 1991, 159-168.
[47] W. GEISELMANN AND D. GOLLMANN, "VLSI design for exponentiation
in GF(2 R )", Advances in Cryptology - AUSCRYPT '90, Lecture Notes
in Computer Science, 453 (1990), Springer-Verlag, 398-405.
[48] S. GOLDWASSER AND J. KILIAN, "Almost all primes can be quickly
certified", Proceedings of the Eighteenth Annual ACM Symposium on
Theory of Computing, 316-329, 1986.
[49] S. GOLDWASSER AND S. MICALI, "Probabilistic encryption", Journal of
Computer and System Sciences, 28 (1984), 270-299.
[50] D. GORDON, "Discrete logarithms in GF(p) using the number field
sieve", SIAM Journal on Discrete Mathematics, to appear.
[51] D. GORDON, "Discrete logarithms in GF(pR) using the number field
sieve", preprint, 1991.
[52] D. GORDON AND K. MCCURLEY, "Massively parallel co.mputation of
discrete logarithms", Advances in Cryptology - CRYPTO '92, to appear.
[53] L. GUILLOU, M. UGON AND J. QUISQUATER, "The smart card: a stan-
dardized security device dedicated to public cryptology", in [144], 561-
613.
[54] G. HARPER, A. MENEZES AND S. VANSTONE, "Public-key Cl'yptosys-
terns with very small key lengths", Advances in Cryptology -- EURO-
CRYPT '92, to appear.
[55] J. HASTAD, "On using RSA with low exponent in a public key network",
Advances in Cryptology - CRYPTO '85, Lecture Notes in Computer
Science, 218 (1986), Springer Verlag, 403-408.
[56] M. HELLMAN AND M. REYNERI, "Fast computation of discrete log-
arithms in GF(q)", Advances in Cryptology - CRYPTO '82, Plenum
Press, 1983, 3-13.
[57] M. HUANG AND D. IERARDI, "Efficient algorithms for the Riemann-
Roch problem and for addition in the jacobian of a curve", 31st Annual
Symposium on Foundations of Computer Science, 678-687, 1991.
[58] D. HUSEMOLLER, Elliptic Curves, Springer-Verlag, New York, 1987.
BIBLIOGRAPHY 121
[59] T. ITOH, O. TEECHAI AND S. TSUJII, "A fast algorithm for computing
multiplicative inverses in GF(2') using normal bases" (in Japanese), J.
Society for Electronic Communications (Japan), 44 (1986), 31-36.
[60] P. IVEY, S. WALKER, J. STERN AND S. DAVIDSON, "An ultra-high
speed public key encryption processor", Proceedings of IEEE Custom
Integrated Circuits Conference, Boston, 1992, 19.6.1 - 19.6.4.
[61] D. JUNGNICKEL, Finite Fields: Structure and Arithmetics, Bibli-
ographisches Institut, Mannheim, 1993.
[62] B. KALISKI, "A pseudorandom bit generator based on elliptic loga-
rithms" , Advances in Cryptology - CRYPTO '86, Lecture Notes in Com-
puter Science, 293 (1987), Springer-Verlag, 84-103.
[63] B. KALISKI, "Elliptic curves and cryptography: A pseudorandom bit
generator and other tools", Ph.D. thesis, M.I.T., January 1988.
[64] B. KALISKI, "One-way permutations on elliptic curves", Journal ofCryp-
tology,3 (1991), 187-199.
[65] C. KIT AND R.. LIDL, "On implementing elliptic curve cryptosystems",
Contributions to General Algebra, 6 (1988), 155-166.
[66] N. KOBLITZ, Introduction to Elliptic Curves and Modular Forms,
Springer-Verlag, New York, 1984.
[67] N. KOBLITZ, "Elliptic curve cryptosystems", Mathematics of Com put a-
tion, 48 (1987), 203-209.
[68] N. KOBLITZ, A Course in Number Theory and Cryptography, Springer-
Verlag, New York, 1987.
[69] N. KOBLITZ, "Primality of the number of points on an elliptic curve over
a finite field", Pacific Journal of Ma.thematics, 131 (1988), 157-165.
[70] N. KOBLITZ, "Hyperelliptic cryptosystems", Journal of Cryptology, 1
(1989), 139-150.
[71] N. KOBLITZ, "Constructing elliptic curve crypt08ystems in characteristic
2" , Advances in Cryptology - CRYPTO '90, Lecture Notes in Computer
Science, 537 (1991), Springer-Verlag, 156-167.
[72] N. KOBLITZ, "Elliptic curve implementation of zero-knowledge blobs" ,
Journal of Cryptology, 4 (1991), 207-213.
[73] N. KOBLITZ, "CM-curves with good cryptographic properties", Ad-
vances in Cryptology - CRYPTO '91, Lecture Notes in Computer Sci-
ence, 576 (1992), Springer-Verlag, 279-287.
[74] K. KOYAMA, U. MAURER, T. OKAMOTO AND S. VANSTONE, "New
public-key schemes based on elliptic curves over the ring Zpq", IEEE
Transactions on Information Theory, to appear.
122 BIBLIOGRAPHY
[121] J. PILA, "Frobenius maps of abelian varieties and finding roots of unity
in finite fields", Mathematics of Computation, 55 (1990), 745-763.
[122] S. POHLIG AND M. HELLMAN, "An improved algorithm for computing
logarithms over GF(p) and its cryptographic significance", IEEE 1i-ans-
actions on Information Theory, 24 (1978), 106-110.
[123] J. POLLARD, "Monte Carlo methods for index computation mod p",
Mathematics of Computation, 32 (1978), 918-924.
[124] C. POMERANCE, "Fast, rigorous factorization and discrete logarithms
algorithms", in Discrete Algorithms and Complexity, 1987, 119-143.
[125] C. POMERANCE, "Very short primality proofs", Mathematics of Com-
putation, 48 (1987), 315-322.
[126] C. POMERANCE, "Factoring", Cryptology and Computational Number
Theory, Proceedings of Symposia in Applied Mathematics, 42 (1990),
27-47.
[127] R. RIVEST, "The MD4 message digest algorithm", Advances in Cryp-
tology - CRYPTO '90, Lecture Not.es in Computer Science, 537 (1991),
Springer-Verlag, 303-311.
[128] 'R. RIVEST, "RFC 1321: The MD5 message digest algorithm", Internet
Activities Board, April 1992.
[129] R. RIVEST, A. SHAMIR AND L. ADLEMAN, "A method for obtaining
digital signatures and public-key cryptosystems", Communications of the
ACM, 21 (1978), 120-126.
[130] T. ROSATI, "A high speed data encryption processor for public key cryp-
tography" , Proceedings of IEEE Custom Integrated Circuits Conference,
San Diego, 1989, 12.3.1 - 12.3.5.
[131] J. ROSSER AND L. SCHOENFIELD, "Approximateformulasforsomefunc-
tions of prime numbers", Illinois J. of Mathematics, 6 (1962), 64-94.
[132] H. RUCK, "A note on elliptic curves over finite fields", Mathematics of
Computation, 49 (1987), 301-304.
[133] H. RUCK, "Abelian surfaces and jacobian varieties over finite fields",
Compositio Mathematica, 76 (1990), 351-366.
[134] A. SALOMAA, Public-Key Cryptography, Springer-Verlag, Berlin, 1990.
[135] C. SCHNORR, "Efficient signature generation by smart cards", Journal
of Cryptology, 4 (1991),161-174.
[136] R. SCHOOF, "Elliptic curves over finite fields and the computation of
square roots mod p" , Mathematics of Computation, 44 (1985), 483-494.
[137] R. SCHOOF, "Nonsingular plane cubic curves over finite fields", Journal
of Combinatorial Theory, A 46 (1987), 183-211.
126 BIBLIOGRAPHY
127
128 INDEX