A Survey of Elliptic Curve Cryptosystems, Part I: Introductory San C
Total Page:16
File Type:pdf, Size:1020Kb
NAS Technical Report - NAS-03-012 August 2003 -------------------------------------------------------------------------------------------------------------------------------- A Survey of Elliptic Curve Cryptosystems, Part I: Introductory San C. Vo NASA Advanced Supercomputing (NAS) Division – Research Branch (INR) Information Sciences & Technology Directorate NASA Ames Research Center, Moffett Field, CA 94043 Introduction The theory of elliptic curves is a classical topic in many branches of algebra and number theory, but recently it is receiving more attention in cryptography. An elliptic curve is a two-dimensional (planar) curve defined by an equation involving a cubic power of coordinate x and a square power of coordinate y. One class of these curves is elliptic curves over finite fields, also called Galois fields. These elliptic curves are finite groups with special structures, which can play naturally, and even more flexibly, the roles of the modulus groups in the discrete logarithm problems. Elliptic curves have been used actively in designing many mathematical, computational and cryptographic algorithms, such as integer factoring, primality proving, public key cryptosystems and pseudo-random number generators, etc. Essentially, elliptic curve cryptosystems promise a better future for cryptography: more security against powerful attacks in the era of computing capability. Many research papers in Elliptic Curve Cryptography (ECC) have been published by researchers all over the world. However, the idea of using elliptic curves in cryptography is still considered a difficult concept and is neither widely accepted nor understood by typical technical people. The problem may stem from the fact that there is a large gap between the theoretical mathematics of elliptic curves and the applications of elliptic curves in cryptography. A large amount of ECC literature was collected and organized in the development of this survey on ECC. Part I (Introductory) of this survey gives a modest overview of how elliptic curves have been applied to public key cryptography. The objective is to introduce a bridge between the mathematical facts of elliptic curves and its application for cryptography. The document attempts to provide clear, intuitive and elementary explanations to guide a typical technical reader into the world of elliptic curve cryptography. However, basic knowledge of cryptography and abstract algebra, including group theory and number theory, would be helpful for readers in several technical areas. Part II of this survey, that will be developed, intends to focus more on practical implementations. The materials cover elliptic curves and their basic mathematical rules, the Elliptic Curve Discrete Logarithm Problem (ECDLP) and many typical attacks on ECDLP-based cryptosystems. Also included are descriptions of elliptic curve public key cryptosystems or schemes (encryption/decryption, digital signature, key agreement and key transport schemes). The document concludes with discussions of elliptic curve implementations, the security and advantages of ECC. It is hoped that this survey could provide readers good initial background on the path into the new and exciting area of elliptic curve cryptography, that is attracting more attention from cryptographers, computer scientists and researchers all over the world. ________________________________________________________________________________________ Page 1 of 105 A Survey of Elliptic Curve Cryptosystems – Part I: Introductory – 10/27/2003 NAS Technical Report - NAS-03-012 August 2003 -------------------------------------------------------------------------------------------------------------------------------- Contents Page Notations & Acronyms 03 Chapter 1. Elliptic Curves over Finite Fields 05 A. Finite fields 1. Basic facts 2. Prime and binary finite fields B. The curve and the group C. Order of the group over finite fields 1. Hasse’s theorem 2. Formulae and algorithms on elliptic curve group orders 3. Supersingularity 4. Structure of the group 5. Schoof’s algorithm and improvements Chapter 2. Elliptic Curve Cryptosystems 15 A. Introduction to elliptic curve cryptosystems 1. The discrete logarithm problem 2. The cryptographic problems on elliptic curves 3. Approaches in elliptic curve cryptosystems 4. Public key and private key generation B. Message encryption/decryption schemes 1. Elliptic curve analogue of the ElGamal cryptosystem 2. Massey-Omura elliptic curve cryptosystem 3. Menezes-Vanstone elliptic curve cryptosystem C. Digital signature & authentication schemes 1. Elliptic curve digital signature schemes 2. Elliptic curve digital signature schemes with message recovery 3. Summary of digital signature schemes 4. Signcryption schemes 5. Schnorr’s authentication schemes D. Key agreement & key exchange schemes 1. Elliptic curve Diffie-Hellman key agreement 2. Elliptic curve MTI key agreement 3. Elliptic curve Menezes-Qu-Vanstone key agreement (MQV) E. RSA-type elliptic curve cryptosystems 1. Public key cryptosystems using elliptic curves over a ring ZN 2. RSA-type elliptic curve cryptosystems 3. Elliptic curve digital signature & key agreement schemes F. Advantage features of elliptic curve cryptosystems Chapter 3. Attacks on Elliptic Curve Cryptosystems 34 A. Running time of algorithms B. Algorithms on the discrete logarithm problem C. Algorithms on the elliptic curve discrete logarithm problem D. Application of Weil pairing and MOV reduction attack E. SSA attack (Smart-Satoh-Araki attack) ________________________________________________________________________________________ Page 2 of 105 A Survey of Elliptic Curve Cryptosystems – Part I: Introductory – 10/27/2003 NAS Technical Report - NAS-03-012 August 2003 -------------------------------------------------------------------------------------------------------------------------------- F. Differential and power attacks Chapter 4. Implementations of Elliptic Curve Cryptosystems 43 A. Implementations of finite fields 1. Finite fields 2. Polynomial bases 3. Normal bases and optimal normal bases 4. Optimal normal basis (ONB) 5. Low-complexity normal bases for GF(2m) (or Gaussian normal bases) 6. Self-dual bases and self-dual normal bases 7. Primitive normal bases 8. Non-conventional basis 9. The choice of bases 10. Comparisons of finite fields 11. Composite extension finite fields and subfields 12. Optimal extension fields (OEF) B. Implementations of elliptic curves 1. Conditions for selecting appropriate elliptic curves 2. Methods of constructing elliptic curves 3. Finding a point of a given prime order on an elliptic curve 4. Methods/formulae to compute the order of an elliptic curve 5. Schoof’s and Satoh’s algorithm for point-counting C. Implementations of elliptic curve arithmetic operations 1. Scalar point multiplication: basic methods 2. Scalar point multiplication: advanced methods 3. Scalar point multiplication: other methods 4. Algorithms on composite extension finite fields 5. Representing points on an elliptic curve 6. Half-point algorithms 7. Modular multiplication algorithm Appendices 81 A. Trace functions 1. Trace of a finite field element 2. Properties on order of an elliptic curve 3. Trace of an elliptic curve B. Twisted curves C. Examples References 90 Notations & Acronyms These are two tables of basic notations and acronyms that will be frequently used in the document. Notation Meaning Notation Meaning Fq or GF(q) Finite field of order q ℜ(x + iy) = Real part of a complex ________________________________________________________________________________________ Page 3 of 105 A Survey of Elliptic Curve Cryptosystems – Part I: Introductory – 10/27/2003 NAS Technical Report - NAS-03-012 August 2003 -------------------------------------------------------------------------------------------------------------------------------- (consisting of q elements) ℜ(z) = x number z = x + iy Fp or GF(p) Prime finite field of order p ℑ(x + iy) = Imaginary part of a complex (consisting of p elements) ℑ (z) = y number z = x + iy * Fq = Fq\{0} Multiplicative subgroup of a·P, (a·P), Scalar point multiplication of * GF(q) = the finite field Fq or GF(q) aP or (aP) an elliptic curve point P with GF(q) \{0} a scalar a F m or Binary finite field of order a|b a divides b 2 m m GF(2m) 2 (consisting of 2 (or b is divisible by a) elements) E(Fq) or Elliptic curve E over finite a∤b a does not divide b (or b is E(GF(q)) field Fq or GF(q) not divisible by a) #E or #E(Fq) Order of an elliptic curve E Tr(·) Trace function or #E(GF(q)) over finite field Fq or GF(q) #(Fq) or Order of a finite field Fq or Z Ring of integers #(GF(q)) GF(q) Ẽ or E’ Twisted curve of E Q Field of rational numbers 〈P〉 or 〈g〉 Group generated by an R Field of real numbers element P or g P = (xP, yP) An elliptic curve point [a, b] Closed interval consisting of P = (Px, Py) represented with its x- and all real values x, such that y-coordinates a ≤ x ≤ b ∆ Discriminant mod n Modulo n O The point at infinity of an a·b or ab Scalar multiplication of two elliptic curve numbers · Legendre symbol lcm (a, b) Least common multiplier of (p ) (modulo a prime number p) a and b · Jacobi symbol gcd (a, b) Greatest common divisor of (b ) (b is composite number) a and b ZN, where Ring of integers modulo N, ⎡a⎤ The smallest integer ≥ a N = pq where N is composite ⎣a⎦ The biggest integer ≤ a Table i. Notations Acronym Meaning Acronym Meaning ABC Anomalous binary curve or MIPS Million instructions per binary anomalous curve second AES Advanced encryption MOV Menezes-Okamoto-Vanstone standard