SLIDE 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.
SLIDE 2 Addition on a clock ② ①
✎ P1 = (①1❀ ②1) ✎
P2 = (①2❀ ②2) ✎
✎
- ①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.
SLIDE 3 Addition on an Edwards curve ② ①
✎ P1 = (①1❀ ②1) ✎
✎
✎
Sum of (①1❀ ②1) and (①2❀ ②2) is ((①1②2+②1①2)❂(130①1①2②1②2), (②1②2①1①2)❂(1+30①1①2②1②2)). New elliptic-curve speed records!
SLIDE 4
Edwards curves in Casablanca Photographed 10 June 2008 in Casablanca mosque:
SLIDE 5 Montgomery curves 1987 Montgomery: Use curves ❇✈2 = ✉3 + ❆✉2 + ✉. 5M + 4S + 1A 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 + ✉
- ver F♣ where ♣ = 2255 19.
SLIDE 6 Some statistics Counting elliptic curves
(mod 4): ✙ 2♣ elliptic curves. ✙ 5♣❂6 curves with order ✷ 4Z. ✙ 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.)
SLIDE 7 Counting elliptic curves
(mod 4): ✙ 2♣ elliptic curves. ✙ 5♣❂6 curves with order ✷ 4Z. ✙ 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?
SLIDE 8 Main results of this paper
- 1. Can add very quickly on
twisted Edwards curves ❛①2 + ②2 = 1 + ❞①2②2.
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.
SLIDE 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)
SLIDE 10 Sum of (①1❀ ②1) and (①2❀ ②2)
- n 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 10M + 1S + 1A + 1D; i.e., 10 mults, 1 squaring, 1 mult by ❛, 1 mult by ❞. DBL 3M + 4S + 1A. Speed in inverted coordinates: ADD 9M + 1S + 1A + 1D. DBL 3M + 4S + 1A + 1D. (See paper for more options.)
SLIDE 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.
SLIDE 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 =
✷✵✽✵✵✸✸✽✻✽✸✾✽✽✻✺✽✸✻✽✻✹✼✹✵✽✾✾✺✺✽✾✸✽✽✼✸✼✵✾✷✽✼✽✹✺✷✾✼✼✵✻✸✵✵✸✸✹✵✵✵✻✹✼✵✽✼✵✻✷✹✺✸✻✸✾✹✳
SLIDE 13
2 ✂ 2 and twisted Edwards All Montgomery curves over F♣ have group order ✷ 4Z. Can a curve with order ✷ 4Z be written as a Montgomery curve? Not necessarily! Can nevertheless achieve twisted-Edwards speeds for all curves with order ✷ 4Z. Central idea: The missing curves are 2-isogenous to twisted Edwards curves.
SLIDE 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.
SLIDE 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
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.