Handbook of Elliptic and Hyperelliptic Curve Cryptography
While the title refers to elliptic curves, the handbook covers many further aspects. Alternative titles might be “Mathematics of discrete logarithm systems and applications” or “Treatise on public-key cryptography and its mathematical background”. To illustrate this fact, let us mention that 120 pages are devoted to algorithms of arithmetic operations (integers, finite fields, p-adic numbers), 25 pages to the algebraic and number-theoretic background and 25 pages to an overview of algorithms for computing the discrete logarithm without using curves (there are 30 pages that exhibit algorithms of this kind that do use curves). The last part of the handbook deals with hardware, smart cards, random number generators and various cryptological attacks (invasive, non-invasive and side channel). In this part only about 20 pages out of 120 are directly concerned with curves. Nevertheless, the bulk of the handbook is true to the title.
The background (varieties, pairings, Weil descent) is covered in about 100 pages, the arithmetic of curves taking a further 120 pages (two thirds of which deal with hyperelliptic curves, Koblitz curves and some other special classes). Furthermore there are chapters on implementation of parings, point counting and complex multiplication (which is needed to compute the class polynomials). The section called “Applications” is concerned with the choice of parameters for efficient systems, their construction, usual heuristics and protocols. Pairing-Based Cryptography is then treated in more detail. There is also a chapter on compositeness and primality testing and factoring that gives methods based on curves as one approach amongst others that are used as a standard. Many algorithms and theorems in central chapters come with proofs. Elsewhere the reader is confronted with lists of lemmas, propositions, theorems, algorithms and examples that often appear without much justification. This is of course dictated by the nature of the publication.
The book seems to be a very useful, mainly because of the breadth and depth of the material it covers. A successful effort has been made to trace every result and algorithm to its mathematical origins. Theoretically one could start using the book equipped with a very limited mathematical background. However, then one would have to be able to digest a lot of mathematics that is stated as a fact without proof. The idea seems to have been to address a very wide audience. I am not totally convinced that the field is well suited for such an approach, a question the authors must have been asking themselves as well. The amount of applications that involve elliptic curves seems to be the main reason why such a widely based enterprise got realized.