elliptic curve arithmetic
play

Elliptic curve arithmetic 2 1 ECC school, Nijmegen, 9-11 - PowerPoint PPT Presentation

Elliptic curve arithmetic 2 1 ECC school, Nijmegen, 9-11 November 2017 Wouter Castryck 1 + 2 Tangent-chord arithmetic on cubic curves Introduction Consequence of Bzout s theorem: on a cubic curve


  1. Elliptic curve arithmetic 𝑄 2 𝑄 1 ECC school, Nijmegen, 9-11 November 2017 Wouter Castryck 𝑄 1 + 𝑄 2

  2. Tangent-chord arithmetic on cubic curves

  3. Introduction Consequence of BΓ©zout ’s theorem: on a cubic curve 𝐷 ∢ 𝑔 𝑦, 𝑧 = Οƒ 𝑗+π‘˜=3 𝑏 π‘—π‘˜ 𝑦 𝑗 𝑧 π‘˜ = 0 , new points can be constructed from known points using tangents and chords. Pierre de Fermat 𝑔 𝑦, 𝑧 = 0 This principle was already known to 17 th century natives like Fermat and Newton . Isaac Newton

  4. Introduction This construction was known to respect the base field . This means: if 𝑔 𝑦, 𝑧 ∈ 𝑙[𝑦, 𝑧] with 𝑙 some field, and one starts from points having coordinates in 𝑙 , then new points obtained through the tangent-chord method also have coordinates in 𝑙 . 𝑔 𝑦, 𝑧 = 0 Informal reason: Consider two points on the 𝑦 -axis 𝑄 1 = 𝑏, 0 and 𝑄 2 = (𝑐, 0) . 𝑄 1 Then the β€œ chord ” is 𝑧 = 0 . 𝑄 2 The intersection is computed by 𝑔 𝑦, 0 = 𝑦 βˆ’ 𝑏 β‹… 𝑦 βˆ’ 𝑐 β‹… linear factor always has a root over 𝒍 !

  5. Introduction Thus: tangents and chords give some sort of composition law on the set of 𝑙 -rational points of a cubic curve. Later it was realized that by adding in a second step, this gives the curve an abelian group structure! only after an incredible historical detour which took more than 200 years … choose a base point 𝑄 𝑄 1 + 𝑄 2 𝑃 𝑄 2𝑄 2 commutativity : 𝑄 1 + 𝑄 2 = 𝑄 2 + 𝑄 1 Henri PoincarΓ© 𝑄 associativity : 1 𝑄 1 + 𝑄 2 + 𝑄 3 = 𝑄 1 + (𝑄 2 + 𝑄 3 ) neutral element : 𝑄 + 𝑃 = 𝑄 inverse element : First formalized by PoincarΓ© in 1901. βˆƒ βˆ’π‘„ ∢ 𝑄 + βˆ’π‘„ = 𝑃

  6. Introduction 𝑨 = 0 Conditions for this to work: 1) One should work projectively (as opposed to affinely): Homogenize 𝑔 𝑦, 𝑧 = Οƒ 𝑗+π‘˜=3 𝑏 π‘—π‘˜ 𝑦 𝑗 𝑧 π‘˜ to 𝐺 𝑦, 𝑧, 𝑨 = Οƒ 𝑗+π‘˜=3 𝑏 π‘—π‘˜ 𝑦 𝑗 𝑧 π‘˜ 𝑨 3βˆ’π‘—βˆ’π‘˜ and consider points 𝑦: 𝑧: 𝑨 β‰  (0: 0: 0) , up to scaling. Two types of points: affine points points at infinity 𝑨 β‰  0 : the point is of the form (𝑦: 𝑧: 1) 𝑨 = 0: points of the form (𝑦: 𝑧: 0) up to scaling. But then 𝑦, 𝑧 is an affine point! (Up to three such points.)

  7. Introduction Conditions for this to work:  2) The curve should be smooth , meaning that 𝑔 = πœ–π‘” πœ–π‘¦ = πœ–π‘” πœ–π‘§ = πœ–π‘” πœ–π‘¨ = 0  has no solutions. This ensures that every point 𝑄 has a well-defined tangent line π‘ˆ ∢ πœ–π‘” πœ–π‘¦ 𝑄 β‹… 𝑦 + πœ–π‘” πœ–π‘§ 𝑄 β‹… 𝑧 + πœ–π‘” πœ–π‘¨ 𝑄 β‹… 𝑨 = 0. 

  8. Introduction Conditions for this to work: 3) 𝑃 should have coordinates in 𝑙 , in order for the arithmetic to work over 𝑙 . 𝑃 Definition: an elliptic curve over 𝑙 is a smooth projective cubic curve 𝐹/𝑙 equipped with a 𝑙 -rational base point 𝑃 . (Caution: there exist more general and less general definitions.) Under these assumptions we have as wanted: Tangent-chord arithmetic turns 𝐹 into an abelian group with neutral element 𝑃 . The set of 𝑙 -rational points 𝐹(𝑙) form a subgroup.

  9. Exercises 1) Describe geometrically what it means to invert a point 𝑄 , i.e. to find a point βˆ’π‘„ such that 𝑄 + βˆ’π‘„ = 𝑃 . 2) Why does this construction simplify considerably if 𝑃 is a flex (= point at which its tangent line meets the curve triply)? 3) If 𝑃 is a flex then 𝑃 3𝑄 ≔ 𝑄 + 𝑄 + 𝑄 = 𝑃 if and only if 𝑄 is a flex. Explain why.

  10. On the terminology β€œ elliptic curves”

  11. On the terminology In the 18 th century, unrelated to all this, Fagnano and Euler revisited the unsolved problem of determining the circumference of an ellipse. ? Giulio Fagnano They got stuck on difficult integrals, now called elliptic integrals . Leonhard Euler

  12. On the terminology In the 19 th century Abel and Jacobi studied the inverse functions of elliptic integrals. 𝑒 = 𝑔(𝑑) ? Niels H. Abel When viewed as complex functions, they observed doubly periodic behaviour: there exist πœ• 1 , πœ• 2 ∈ 𝐃 such that 𝑔 𝑨 + πœ‡ 1 πœ• 1 + πœ‡ 2 πœ• 2 = 𝑔 𝑨 for all πœ‡ 1 , πœ‡ 2 ∈ 𝐚 . Compare to: sin 𝑦 + πœ‡ β‹… 2π‘™πœŒ = sin 𝑦 for all πœ‡ ∈ 𝐚, etc. Carl G. Jacobi Such generalized trigonometric functions became known as elliptic functions .

  13. On the terminology In other words: elliptic functions on 𝐃 are well-defined modulo πšπœ• 1 + πšπœ• 2 . Mid 19 th century Weierstrass classified all elliptic functions for any given πœ• 1 , πœ• 2 , and used this to define a biholomorphism πœ• 2 𝐃/(πšπœ• 1 + πšπœ• 2 ) β†’ 𝐹: 𝑨 ↦ (β„˜ 𝑨 , β„˜β€² 𝑨 ) πœ• 1 to a certain algebraic curve 𝐹 … … which he called an elliptic curve! Note that 𝐃/(πšπœ• 1 + πšπœ• 2 ) is an abelian group, almost by definition. The biholomorphism endows 𝐹 with the same group structure … … where it turns out to correspond to tangent-chord arithmetic! Karl Weierstrass

  14. Weierstrass curves and their arithmetic

  15. Weierstrass curves 𝑃 = (0: 1: 0) 𝑨 = 0 The concrete type of elliptic curves found by Weierstrass now carry his name. They are the most famous shapes of elliptic curves. Assume char 𝑙 β‰  2,3 . Definition: a Weierstrass elliptic curve is defined by 𝑧 2 𝑨 = 𝑦 3 + 𝐡𝑦𝑨 2 + 𝐢𝑨 3 𝑧 2 = 𝑦 3 + 𝐡𝑦 + 𝐢 where 𝐡, 𝐢 ∈ 𝑙 satisfy 4𝐡 3 + 27𝐢 2 β‰  0 . The base point 𝑃 is the unique point at infinity. (typical plot for 𝑙 = 𝐒 ) Can be shown: up to β€œ isomorphism ” every elliptic curve is Weierstrass.

  16. Weierstrass curves Note: 𝑃 1) the lines through 𝑃 = (0: 1: 0) are the vertical lines (except for the line at infinity 𝑨 = 0 ). 2) The equation 𝑧 2 = 𝑦 3 + 𝐡𝑦 + 𝐢 is symmetric in 𝑧 . 𝑄 (𝑦, 𝑧) This gives a first feature: inverting a point on a Weierstrass curve is super easy! Indeed: if 𝑄 = (𝑦, 𝑧) is an affine point then (𝑦, βˆ’π‘§) βˆ’π‘„ = 𝑦, βˆ’π‘§ .

  17. Weierstrass curves What about point addition? Write 𝑄 1 + 𝑄 2 = 𝑦 3 , 𝑧 3 . Line through 𝑄 1 = (𝑦 1 , 𝑧 1 ) and 𝑄 2 = (𝑦 2 , 𝑧 2 ) is 𝑄 πœ‡ = 𝑧 2 βˆ’π‘§ 1 𝑧 βˆ’ 𝑧 1 = πœ‡ 𝑦 βˆ’ 𝑦 1 2 where 𝑦 2 βˆ’π‘¦ 1 . 𝑄 1 Substituting 𝑧 ← 𝑧 1 + πœ‡ 𝑦 βˆ’ 𝑦 1 in the curve equation 𝑦 3 + 𝐡𝑦 + 𝐢 βˆ’ 𝑧 2 = 0 : 2 = 0 . 𝑦 3 + 𝐡𝑦 + 𝐢 βˆ’ 𝑧 1 + πœ‡ 𝑦 βˆ’ 𝑦 1 𝑦 3 βˆ’ πœ‡ 2 𝑦 2 + β‹― = 0 . 𝑦 3 + 𝐡𝑦 + 𝐢 βˆ’ (πœ‡ 2 𝑦 2 + β‹― ) = 0 . So, sum of the roots is πœ‡ 2 . But 𝑦 1 , 𝑦 2 are roots! 𝑄 1 + 𝑄 We find: α‰Š 𝑦 3 = πœ‡ 2 βˆ’ 𝑦 1 βˆ’ 𝑦 2 2 𝑧 3 = βˆ’π‘§ 1 βˆ’ πœ‡(𝑦 3 βˆ’ 𝑦 1 )

  18. Weierstrass curves 𝑃 where πœ‡ = 𝑧 2 βˆ’π‘§ 1 𝑦 2 βˆ’π‘¦ 1 . But what if 𝑦 1 = 𝑦 2 ? 𝑄 𝑄 2 Two cases: Either 𝑧 1 = 𝑧 2 β‰  0 , i.e. 𝑄 1 = 𝑄 2 = 𝑄 . In this case we need to replace πœ‡ by 2 +2𝐡𝑦 1 𝑄 πœ‡ = 3𝑦 1 1 . 2𝑧 1 2𝑄 Or 𝑧 1 = βˆ’π‘§ 2 , in which case 𝑄 1 + 𝑄 2 = 𝑃 . We find: α‰Š 𝑦 3 = πœ‡ 2 βˆ’ 𝑦 1 βˆ’ 𝑦 2 Conclusion : formulas for computing on a Weierstrass curve are not too bad, but case distinctive. 𝑧 3 = βˆ’π‘§ 1 βˆ’ πœ‡(𝑦 3 βˆ’ 𝑦 1 )

  19. More efficient elliptic curve arithmetic? The Weierstrass addition formulas are reasonably good for several purposes … … but can they be boosted? Huge amount of activity starting in the 1980’s. One reason: Koblitz and Miller’s suggestion to use elliptic curves in crypto! agree on 𝐹/𝐆 π‘Ÿ and 𝑄 ∈ 𝐹(𝐆 π‘Ÿ ) chooses secret 𝒃 ∈ 𝐚 chooses secret 𝒄 ∈ 𝐚 Victor Miller computes 𝒃𝑄 computes 𝒄𝑄 receives receives computes 𝒃 𝒄𝑄 = 𝒃𝒄𝑄 computes 𝒄 𝒃𝑄 = 𝒃𝒄𝑄 (Example: Diffie-Hellman key exchange.) Initial reason: Lenstra’s elliptic curve method (ECM) for integer factorization. Neal Koblitz

  20. Generic methods for efficient scalar multiplication

  21. Efficient scalar multiplication The most important operation in both (discrete-log based) elliptic curve cryptography, the elliptic curve method for integer factorization, is scalar multiplication : given a point 𝑄 and a positive integer 𝑏 , compute 𝑏𝑄 ≔ 𝑄 + 𝑄 + β‹― + 𝑄 𝑏 times. Note: adding 𝑄 consecutively to itself 𝑏 βˆ’ 1 times is not an option ! in practice 𝑏 consists of hundreds of bits!

  22. Efficient scalar multiplication: double-and-add Much better idea: double-and-add , walking through the binary expansion of 𝑏 . Toy example: replace the 15 additions in 16𝑄 = 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 + 𝑄 by the 4 doublings in 16𝑄 = 2 2 2 2𝑄 . General method: πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘π‘Έ + 𝑸 + 𝑸 πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘π‘Έ + 𝑸 + 𝑸 πŸ‘ πŸ‘π‘Έ + 𝑸 πŸ‘π‘Έ 𝑸 + 𝑸 𝑏 = 101100010 … 0101 πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘π‘Έ + 𝑸 + 𝑸 πŸ‘(πŸ‘ πŸ‘ πŸ‘ πŸ‘π‘Έ + 𝑸 + 𝑸 ) πŸ‘(πŸ‘ πŸ‘ πŸ‘π‘Έ + 𝑸 + 𝑸) πŸ‘ πŸ‘ πŸ‘π‘Έ + 𝑸 + 𝑸 + 𝑸 Exercise : verify that this computes 𝑏𝑄 using 𝑃(log 𝑏) additions or doublings, as opposed to 𝑃(𝑏) . double and add double double and add double double and add double double double ( Horner’s rule, basically.)

Recommend


More recommend