The discrete logarithm problem based on elliptic and hyperelliptic curves has gained a lot of popularity as a cryptographic primitive. The main reason is that no subexponential algorithm for computing discrete logarithms on small genus curves is currently available, except in very special cases. Therefore curve-based cryptosystems require much smaller key sizes than RSA to attain the same security level. This makes them particularly attractive for implementations on memory-restricted devices like smart cards and in high-security applications.
The Handbook of Elliptic and Hyperelliptic Curve Cryptography introduces the theory and algorithms involved in curve-based cryptography. After a very detailed exposition of the mathematical background, it provides ready-to-implement algorithms for the group operations and computation of pairings. It explores methods for point counting and constructing curves with the complex multiplication method and provides the algorithms in an explicit manner. It also surveys generic methods to compute discrete logarithms and details index calculus methods for hyperelliptic curves. For some special curves the discrete logarithm problem can be transferred to an easier one; the consequences are explained and suggestions for good choices are given. The authors present applications to protocols for discrete-logarithm-based systems (including bilinear structures) and explain the use of elliptic and hyperelliptic curves in factorization and primality proving. Two chapters explore their design and efficient implementations in smart cards. Practical and theoretical aspects of side-channel attacks and countermeasures and a chapter devoted to (pseudo-)random number generation round off the exposition.
The broad coverage of all- important areas makes this book a complete handbook of elliptic and hyperelliptic curve cryptography and an invaluable reference to anyone interested in this exciting field.
Introduction to Public-Key Cryptography
Background on p-adic Numbers
Background on Curves and Jacobians
Varieties Over Special Fields
Background on Pairings
Background on Weil Descent
Cohomological Background on Point Counting
Finite Field Arithmetic
Arithmetic of p-adic Numbers
Arithmetic of Curves
Arithmetic of Elliptic Curves
Arithmetic of Hyperelliptic Curves
Arithmetic of Special Curves
Implementation of Pairings
Point Counting on Elliptic and Hyperelliptic Curves
Computation of Discrete Logarithms
Generic Algorithms for Computing Discrete Logarithms
Index Calculus for Hyperelliptic Curves
Transfer of Discrete Logarithms
Algebraic Realizations of DL Systems
Compositeness and Primality Testing-Factoring
Realizations of DL Systems
Fast Arithmetic Hardware
Practical Attacks on Smart Cards
Mathematical Countermeasures Against Side-Channel Attacks
Random Numbers—Generation and Testing
… very comprehensive coverage of this vast subject area … a useful and essential treatise for anyone involved in elliptic curve algorithms … this book offers the opportunity to grasp the ECC technology with a diversified and comprehensive perspective. … This book will remain on my shelf for a long time and will land on my desk on many occasions, if only because the coverage of the issues common to factoring and discrete log cryptosystems is excellent.
—IACR Book Reviews, June 2011