twisted edwards curves d j bernstein uic edu peter
play

Twisted Edwards curves D. J. Bernstein ( uic.edu ) Peter Birkner ( - PDF document

Twisted Edwards curves D. J. Bernstein ( uic.edu ) Peter Birkner ( tue.nl ) Marc Joye ( thomson.net ) Tanja Lange ( tue.nl ) Christiane Peters ( tue.nl ) Thanks to: NSF ITR0716498 IST2002507932 ECRYPT INRIA Lorraine, LORIA Todays


  1. Twisted Edwards curves D. J. Bernstein ( uic.edu ) Peter Birkner ( tue.nl ) Marc Joye ( thomson.net ) Tanja Lange ( tue.nl ) Christiane Peters ( tue.nl ) Thanks to: NSF ITR–0716498 IST–2002–507932 ECRYPT INRIA Lorraine, LORIA Today’s speaker: DJB.

  2. � � Addition on a clock ② neutral = (0 ❀ 1) ✎ P 1 = ( ① 1 ❀ ② 1 ) ✎ ☛ 1 � � � P 2 = ( ① 2 ❀ ② 2 ) � ✎ � � � � � � � � ① � � � � � � � � � ✎ P 3 = ( ① 3 ❀ ② 3 ) ① 2 + ② 2 = 1, parametrized by ① = sin ☛ , ② = cos ☛ . Sum of ( ① 1 ❀ ② 1 ) and ( ① 2 ❀ ② 2 ) is ( ① 1 ② 2 + ② 1 ① 2 ❀ ② 1 ② 2 � ① 1 ① 2 ). Fast but not elliptic; low security.

  3. � � Addition on an Edwards curve ② neutral = (0 ❀ 1) ✎ P 1 = ( ① 1 ❀ ② 1 ) ✎ � P 2 = ( ① 2 ❀ ② 2 ) � ✎ � � � � � � ① � � � � � � � � � ✎ P 3 = ( ① 3 ❀ ② 3 ) ① 2 + ② 2 = 1 � 30 ① 2 ② 2 . Sum of ( ① 1 ❀ ② 1 ) and ( ① 2 ❀ ② 2 ) is (( ① 1 ② 2 + ② 1 ① 2 ) ❂ (1 � 30 ① 1 ① 2 ② 1 ② 2 ), ( ② 1 ② 2 � ① 1 ① 2 ) ❂ (1+30 ① 1 ① 2 ② 1 ② 2 )). New elliptic-curve speed records!

  4. Edwards curves in Casablanca Photographed 10 June 2008 in Casablanca mosque:

  5. Montgomery curves 1987 Montgomery: Use curves ❇✈ 2 = ✉ 3 + ❆✉ 2 + ✉ . 5 M + 4 S + 1 A for each bit of ♥ to compute ♥❀ P ✼✦ ♥P . Warning: ♥❀ ♥ ✵ ❀ P❀ P ✵ ✼✦ ♥P + ♥ ✵ P ✵ is harder. Often used in ECC etc. Example: 2005 Bernstein, “Curve25519: new Diffie–Hellman speed records.” Very fast software for secure twist-secure Montgomery curve ✈ 2 = ✉ 3 + 486662 ✉ 2 + ✉ over F ♣ where ♣ = 2 255 � 19.

  6. Some statistics Counting elliptic curves over F ♣ if ♣ ✑ 1 (mod 4): ✙ 2 ♣ elliptic curves. ✙ 5 ♣❂ 6 curves with order ✷ 4 Z . ✙ 5 ♣❂ 6 Montgomery curves. ✙ 2 ♣❂ 3 Edwards curves. ✙ ♣❂ 2 complete Edwards curves. ✙ ♣❂ 24 original Edwards curves. (Many more statistics in paper: e.g., complete Edwards curves with group order 8 ✁ odd.)

  7. Counting elliptic curves over F ♣ if ♣ ✑ 3 (mod 4): ✙ 2 ♣ elliptic curves. ✙ 5 ♣❂ 6 curves with order ✷ 4 Z . ✙ 3 ♣❂ 4 Montgomery curves. ✙ 3 ♣❂ 4 Edwards curves. ✙ ♣❂ 2 complete Edwards curves. ✙ ♣❂ 4 original Edwards curves. Can we achieve Edwards-like speeds for more curves?

  8. Main results of this paper 1. Can add very quickly on twisted Edwards curves ❛① 2 + ② 2 = 1 + ❞① 2 ② 2 . 2. Some Edwards curves are sped up by twists. 3. All Montgomery curves can be written as twisted Edwards curves. 4. Can use isogenies to achieve similar speeds for all curves where 4 divides group order. 5. Improving previous proofs: All curves with points of order 4 can be written as Edwards curves.

  9. Twisted Edwards curves This paper introduces curves ❛① 2 + ② 2 = 1 + ❞① 2 ② 2 where ❛ ✻ = 0, ❞ ✻ = 0, ❛ ✻ = ❞ , 2 ✻ = 0. Generalization of ✿ ✿ ✿ ✿ ✿ ✿ “Edwards curves”: ❛ = 1. (see 2007 Bernstein–Lange) ✿ ✿ ✿ “complete Edwards curves”: ❛ = 1; ❞ not a square. (see 2007 Bernstein–Lange) ✿ ✿ ✿ “original Edwards curves”: ❛ = 1; ❞ = fourth power. (see 2007 Edwards)

  10. Sum of ( ① 1 ❀ ② 1 ) and ( ① 2 ❀ ② 2 ) on a twisted Edwards curve is (( ① 1 ② 2 + ② 1 ① 2 ) ❂ (1+ ❞① 1 ① 2 ② 1 ② 2 ), ( ② 1 ② 2 � ❛① 1 ① 2 ) ❂ (1 � ❞① 1 ① 2 ② 1 ② 2 )). Speed in projective coordinates: ADD 10 M + 1 S + 1 A + 1 D ; i.e., 10 mults, 1 squaring, 1 mult by ❛ , 1 mult by ❞ . DBL 3 M + 4 S + 1 A . Speed in inverted coordinates: ADD 9 M + 1 S + 1 A + 1 D . DBL 3 M + 4 S + 1 A + 1 D . (See paper for more options.)

  11. Montgomery and twisted Edwards ❇✈ 2 = ✉ 3 + ❆✉ 2 + ✉ is equivalent to a twisted Edwards curve. Simple, fast computation: define ❛ = ( ❆ + 2) ❂❇ ; ❞ = ( ❆ � 2) ❂❇ ; ① = ✉❂✈ ; ② = ( ✉ � 1) ❂ ( ✉ + 1). Then ❛① 2 + ② 2 = 1 + ❞① 2 ② 2 . (What about divisions by 0? Easy to handle; see paper.) So can use fast twisted-Edwards formulas to compute on any Montgomery curve.

  12. Often can translate to Edwards, avoiding twists. Example (2007 Bernstein–Lange): Curve25519 can be expressed as ① 2 + ② 2 = 1 + (121665 ❂ 121666) ① 2 ② 2 . However, in many cases, twists are faster! Example (this paper): Curve25519 can be expressed as 121666 ① 2 + ② 2 = 1 + 121665 ① 2 ② 2 . Mults by 121665 and 121666 are much faster than mult by 121665 ❂ 121666 = ✷✵✽✵✵✸✸✽✻✽✸✾✽✽✻✺✽✸✻✽✻✹✼✹✵✽✾✾✺✺✽✾✸✽✽✼✸✼✵✾✷✽✼✽✹✺✷✾✼✼✵✻✸✵✵✸✸✹✵✵✵✻✹✼✵✽✼✵✻✷✹✺✸✻✸✾✹✳

  13. 2 ✂ 2 and twisted Edwards All Montgomery curves over F ♣ have group order ✷ 4 Z . Can a curve with order ✷ 4 Z be written as a Montgomery curve? Not necessarily! Can nevertheless achieve twisted-Edwards speeds for all curves with order ✷ 4 Z . Central idea: The missing curves are 2-isogenous to twisted Edwards curves.

  14. The missing curves can be written in the form ✈ 2 = ✉ 3 � ( ❛ + ❞ ) ✉ 2 + ( ❛❞ ) ✉ . Starting from ( ✉❀ ✈ ) define ① = 2 ✈❂ ( ❛❞ � ✉ 2 ); ② = ( ✈ 2 � ( ❛ � ❞ ) ✉ 2 ) ❂ ( ✈ 2 +( ❛ � ❞ ) ✉ 2 ). Then ❛① 2 + ② 2 = 1 + ❞① 2 ② 2 . Compatible with addition. Also, can work backwards from ( ①❀ ② ) to 2( ✉❀ ✈ ). So can compute 2 ♥ ( ✉❀ ✈ ), 2 ♥ ( ✉❀ ✈ ) + 2 ♥ ✵ ( ✉ ✵ ❀ ✈ ✵ ), etc. via ♥ ( ①❀ ② ), ♥ ( ①❀ ② ) + ♥ ✵ ( ① ✵ ❀ ② ✵ ), etc.

  15. Recent news Bernstein–Lange: http://hyperelliptic.org/EFD . B.–L.–Rezaeian Farashahi, CHES 2008, “Binary Edwards curves”: Edwards-like curve shape for all ordinary elliptic curves over fields F 2 ♥ if ♥ ✕ 3. B.–Birkner–L.–Peters, “ECM using Edwards curves”: Better curves for ECM; and twisted-Edwards ECM software, faster than state-of-the-art GMP-ECM Montgomery software.

Recommend


More recommend