Section: Scientific Foundations
Complex multiplication
Genus 1
Despite the achievements described above, random curves are sometimes
difficult to use, since their cardinality is not easy to compute or
some useful properties are too rare to occur (suitability for pairings,
for instance). In some cases, curves with special properties can be
used. For example, curves with complex multiplication (in brief
CM), have easily-computable cardinalities. For example, the elliptic
curve by the equation
The CM theory for genus 1 is well known, dating back to the middle of the nineteenth century (Kronecker, Weber, etc.). Its algorithmic aspects are also well understood; recently more work was done, largely by TANC . Twenty years ago, this theory was applied by Atkin to the primality proving of arbitrary integers, yielding the ECPP algorithm developed since then by F. Morain. Though the decision problem isPrime? was shown to be in P (by the work of Agrawal, Kayal, and Saxena in 2002), practical primality proving for large random numbers is still done only with ECPP.
These CM curves enabled A. Enge, R. Dupont and F. Morain to give an algorithm for building good curves for use in Identity Based Cryptosystems [41] .
CM curves are defined by algebraic integers, whose minimal polynomials have to be computed exactly, the coefficients being exact integers. The fastest algorithm to perform these computations requires a floating point evaluation of the roots of the polynomial to a high precision. F. Morain on one hand, and A. Enge (together with R. Schertz) on the other, have developed the use of new class invariants characterizing CM curves. The union of these two families is currently the state of the art in the field (see [8] ). More recently, F. Morain and A. Enge have designed a fast method for the computation of the roots of this polynomial over a finite field using Galois theory [44] . These invariants, together with this new algorithm, are incorporated in the working version of the program ECPP.
F. Morain analyzed a fast variant of ECPP, called fastECPP,
which led him to gain one order of magnitude in the complexity of the
problem (see [13] [63] ), reaching
heuristically
In his thesis, R. Dupont investigated the complexity of the
evaluation of some modular functions and forms (such as the elliptic
modular function
Exploiting the deep connection between the arithmetic-geometric mean (AGM) and a special kind of modular forms known as theta constants, he devised an algorithm based on Newton iterations and the AGM that has quasi-optimal linear complexity. In order to certify the correctness of the result to a specified precision, a fine analysis of the algorithm and its complexity was necessary.
Using similar techniques, he has given a proven algorithm for the evaluation of the logarithm of complex numbers with quasi-optimal time complexity.
A. Enge has been able to analyse precisely the complexity of class polynomial computations via complex floating point approximations [5] . Using techniques from fast symbolic computation (multievaluation of polynomials) and results from R. Dupont's PhD thesis [40] , he has obtained two algorithms which are quasi-linear (up to logarithmic factors) in the output size. The second algorithm has been used for a record computation of a class polynomial of degree 100,000, the largest coefficient of which has almost 250,000 bits. The implementation is based on GMP , mpfr, mpc and mpfrcx (see Section 5); the only limiting factor for going further has become the memory requirements of the final result.
Alternative algorithms use
Inspired by [2] , A. Sutherland has come up with a new implementation of the Chinese remainder based algorithm that has led to new record computations [66] . Unlike the other algorithms, this approach does not need to hold the complete polynomial in main memory, but essentially only one coefficient at a time, which enables it to go much further. The main bottleneck is currently an extension of the algorithm to class invariants, which is work in progress by A. Enge.
Genus 2
The theory of Complex Multiplication also exists for non-elliptic curves, but is more intricate, and only recently can we dream to use them. Some of the recent results occurred as the work of R. Dupont (former member of TANC ) in his thesis.
R. Dupont has worked on adapting his algorithm to genus 2, which induces
great theoretical and technical difficulties. He has studied
a generalization of the AGM known as Borchardt sequences, proven the
convergence of these sequences in a general setting, and determined the
set of limits of such sequences in genus 2.
In particular, he proved a theorem parametrizing the set of all possible limits of Borchardt sequences starting with a fixed 4-tuple.
He developed an algorithm for the fast evaluation of theta constants
in genus 2, and as a byproduct
obtained an algorithm to compute the Riemann matrix of a given hyperelliptic
curve: given the equation of such a curve, it computes a lattice
Using these implementations, R. Dupont has began computing modular polynomials
for groups of the form