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 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
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 π !
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. β βπ βΆ π + βπ = π
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.)
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. ο
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.
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.
On the terminology β elliptic curvesβ
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
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 .
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
Weierstrass curves and their arithmetic
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.
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 (π¦, βπ§) βπ = π¦, βπ§ .
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 )
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 )
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
Generic methods for efficient scalar multiplication
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!
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