On the Generation of Pairing-Friendly Elliptic Curves
Total Page:16
File Type:pdf, Size:1020Kb
On the generation of pairing-friendly elliptic curves Gaëtan BISSON Mémoire de M2 sous la direction de 3÷ Takakazu SATOH <«â Institut de Technologie de Tokyo [Ó(£± Université d’Orsay — Paris XI Master Mathématiques Fondamentales et Appliquées Spécialité Analyse, arithmétique et géométrie Abstract Pairings were first studied as potential attacks on elliptic curve-based cryptography. Recently, protocols have been proposed that make a constructive use of pairings; they require pairing-friendly elliptic curves, that is elliptic curves with large prime order subgroup and efficiently computable pairing. Here, we shall study the generation of such curves. I. The first part is concerned with fundamental elliptic curve related notions (including pairings); we also point out the relevance of elliptic curves in cryptography. II. The next part is devoted to complex multiplication theory which is a key element in the generation of elliptic curves. III. In the last part, we establish various methods to generate pairing-friendly elliptic curves. Acknowledgements First of all, I would like to thank Pr. Takakazu SATOH for his supervision of this internship as well as for welcoming me to Japan; his kind help (even when not directly related to mathematics) has been most valuable to me. My thanks also go to Pr. Nobushige KUROKAWA [a] for his very warm welcome at the laboratory of number theory. It has been a pleasure to work there with Tetsuya DAIKU amongst other students attending the number theory seminar; I also want to mention the existence of a small crypto seminar which consisted in the two of us. On the french side, I am grateful to Pr. Pierrick GAUDRY and Pr. Jean-François MESTRE for their time and advice; they have been very helpful to me. I am thankful to researchers with which I had the opportunity to discuss either at the p-adic conference, the pairing conference or simply visiting Pr. Takakazu SATOH. I would also like to acknowledge my colleagues at the École Normale Supérieure with which I had lots of interesting discussions (on myriads of topics); unfortunately, I can hardly list them all here but believe me, this collective thanks is really big. Special thanks to David MADORE, though; he has been more than a tutor to me for two and a half years. Last, let me acknowledge Erik and Émilien who are, in my humble opinion, among best representatives of french culture abroad. M§úPö Gaëtan BISSON Tokyo, August 28th [ÓûM [a]To whom I owe my Japanese name as written here. Contents Abstract & Acknowledgements 2 I Pairings on elliptic curves 5 1 Theoretical background 5 1.1 Elliptic curves . 5 1.1.1 Affine vs. projective . 5 1.1.2 The Jacobian group . 5 1.1.3 Explicit group law . 7 1.2 Over finite fields . 7 1.2.1 The Hasse-Weil bound . 7 1.2.2 Torsion points . 9 1.3 Pairings . 9 1.3.1 Theoretical aspects . 9 1.3.2 Construction of the Tate pairing . 10 1.3.3 Computational aspects . 11 2 Cryptographic aspects 11 2.1 The discrete logarithm problem . 11 2.1.1 For general groups . 12 2.1.2 On finite fields . 12 2.1.3 The MOV attack . 13 2.2 Pairing-based cryptography . 13 2.2.1 Pairing-friendly elliptic curves . 14 2.2.2 Security conditions . 15 II Complex multiplication 15 3 Number theoretical background 15 3.1 The Weierstrass ℘-function . 15 3.1.1 Definition . 15 3.1.2 Differential equation . 16 3.1.3 Addition law . 16 3.2 The j-invariant . 17 3.2.1 Homothety . 17 3.2.2 Holomorphy . 17 3.2.3 The Weber functions . 18 3.3 Complex multiplication . 19 3.3.1 Lattices . 19 3.3.2 The modular polynomial . 19 3.3.3 The class polynomial . 21 3.4 Elliptic curves . 21 3.4.1 Over C ......................................... 21 3.4.2 The j-invariant . 21 3.4.3 Reduction modulo a prime . 22 4 The complex multiplication method 22 4.1 Mainframe . 22 4.2 Computational aspects . 23 4.2.1 The j-invariant . 23 4.2.2 The modular polynomial . 23 4.2.3 The class polynomial . 25 Gaëtan BISSON On the generation of pairing-friendly elliptic curves 4/43 4.3 Cornacchia’s algorithm . 25 III Generation of curves 25 5 Conditions and equations 26 5.1 Parameters involved . 26 5.1.1 Elliptic curves: q and t ................................. 26 5.1.2 The complex multiplication method: D ........................ 26 5.1.3 Pairings: r and k .................................... 26 5.2 Conditions and equations . 26 5.2.1 Elliptic curves . 26 5.2.2 The complex multiplication method . 27 5.2.3 Pairings . 27 5.3 Equivalent statements . 27 5.3.1 The embedding degree equation . 27 5.3.2 Observation regarding modular equations . 28 5.4 Summary of conditions and equations . 28 6 One curve at a time 28 6.1 General methods . 28 6.1.1 The Cocks-Pinch method . 29 6.1.2 The Dupont-Enge-Morain method . 29 6.2 Specific improvements . 30 6.2.1 Case k = 2n with n odd prime . 30 7 Families of curves 31 7.1 Concepts and formalism . 31 7.1.1 Definition for families . 31 7.1.2 Primes values of polynomials . 32 7.2 Framework . 32 7.3 The Brezing-Weng method . 33 7.3.1 General algorithm . 33 7.3.2 Constructions with small discriminants . 33 7.3.3 Constructions with prime discriminants . 34 7.3.4 Constructions with larger discriminants . 35 7.4 The Scott-Barreto method . 37 8 Sporadic constructions 37 8.1 The MNT curves . 37 8.1.1 Explicit conditions . 37 8.1.2 Generation of MNT curves . 38 8.2 Factorizations of Φk (u(x)) ................................... 38 8.2.1 k = 10, u(x) = 10x2 + 5x + 2 .............................. 38 8.2.2 k = 8, u(x) = 9x3 + 3x2 + 2x + 1 ............................ 39 References 40 Notations 42 Index 43 Gaëtan BISSON On the generation of pairing-friendly elliptic curves 5/43 Part I Pairings on elliptic curves 1 Theoretical background In this chapter, we briefly recall definitions and results regarding elliptic curves that will be of interest to us either for the complex multiplication method or for pairing-based cryptography. We do not intend to prove much of these results. For a more detailed background on elliptic curves, we refer to the first chapters of [27]. 1.1 Elliptic curves Let k be a perfect field. Later, it will be convenient to assume its characteristic different from 2 and 3; nevertheless, it can be considered arbitrary for now. 1.1.1 Affine vs. projective Let C be an irreducible plane curve, that is an equation of the form 0 = f (X,Y) where f (X,Y) is a polynomial in two variables with coefficients in k which is irreducible when considered in k[X,Y]. Actually, the correct way to think of curves is projectively. This means that, instead of 0 = f (X,Y), we have better to consider the following projective version of the equation. X Y 0 = Zd f , ∈ k[X,Y,Z] Z Z Here, d is the total degree of f (X,Y) —i.e. the smallest integer such that the latter is a polynomial. Then, solutions to this equation shall be considered as elements of the projective plane P2 (k) := k3/ ∼ where ∼ relates proportional points. Those solutions are called k-rational points of the curve. However, in practice, it is much more convenient to consider the affine version, namely the equation 0 = f (X,Y). Its solutions correspond to points with Z 6= 0; we then need to add “manually” a set of points at infinity that are just points with Z = 0. This way, the affine model is equivalent to the projective one. Elliptic curves always have a single point at infinity (this is trivially implied by the equation of such a curve) which is commonly written O. Regardless of the model which we choose to work in, the set of k-rational points of the curve C will be written C (k). Note that this notation holds for any field k containing the coefficients of (whichever version of) the equation. 1.1.2 The Jacobian group Sadly, in general, the set of points of a curve does not have a nice natural algebraic structure. From this set, though, it is possible to derive such a structure called the Jacobian group. We concisely describe its construction using divisor theory. At first, it will be convenient to work over the algebraic closure k of k. To get an algebraic structure out of C k, consider the free abelian group that it generates, usually written Divk (C). It consists in formal finite sums.