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

twisted edwards curves d j bernstein uic edu peter
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
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
SLIDE 2

Addition on a clock ② ①

  • neutral = (0❀ 1)

✎ P1 = (①1❀ ②1) ✎

  • ☛1

P2 = (①2❀ ②2) ✎

  • P3 = (①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.

slide-3
SLIDE 3

Addition on an Edwards curve ② ①

  • neutral = (0❀ 1)

✎ P1 = (①1❀ ②1) ✎

  • P2 = (①2❀ ②2)

  • P3 = (①3❀ ②3)

  • ①2 + ②2 = 1 30①2②2.

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
SLIDE 4

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

slide-5
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
SLIDE 6

Some statistics Counting elliptic curves

  • ver F♣ if ♣ ✑ 1

(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
SLIDE 7

Counting elliptic curves

  • ver F♣ if ♣ ✑ 3

(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
SLIDE 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.

slide-9
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
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
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
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
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
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
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

  • ver fields F2♥ 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.