Section: Scientific Foundations
Participants : Karim Belabas, Henri Cohen, Andreas Enge.
Complex multiplication provides a link between number fields and algebraic curves; for a concise introduction in the elliptic curve case, see  , for more background material,  . In fact, for most curves over a finite field, the endomorphism ring of , which determines its L -function and thus its cardinality, is an order in a special kind of number field K , called CM field . The CM field of an elliptic curve is an imaginary-quadratic field with D<0 , that of a hyperelliptic curve of genus g is an imaginary-quadratic extension of a totally real number field of degree g . Deuring's lifting theorem ensures that is the reduction modulo some prime of a curve with the same endomorphism ring, but defined over the Hilbert class field HK of K .
Algebraically, HK is defined as the maximal unramified abelian extension of K ; the Galois group of HK/K is then precisely the class group ClK . A number field extension H/K is called Galois if and H contains all complex roots of f . For instance, is Galois since it contains not only , but also the second root of X2-2 , whereas is not Galois, since it does not contain the root of X3-2 . The Galois group GalH/K is the group of automorphisms of H that fix K ; it permutes the roots of f . Finally, an abelian extension is a Galois extension with abelian Galois group.
Analytically, in the elliptic case HK may be obtained by adjoining to K the singular value j() for a complex valued, so-called modular function j in some ; the correspondence between GalH/K and ClK allows to obtain the different roots of the minimal polynomial f of j() and finally f itself. A similar, more involved construction can be used for hyperelliptic curves. This direct application of complex multiplication yields algebraic curves whose L -functions are known beforehand; in particular, it is the only possible way of obtaining ordinary curves for pairing-based cryptosystems.
The same theory can be used to develop algorithms that, given an arbitrary curve over a finite field, compute its L -function.
A generalisation is provided by ray class fields ; these are still abelian, but allow for some well-controlled ramification. The tools for explicitly constructing such class fields are similar to those used for Hilbert class fields.