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.)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend