Efficient Doubling on Genus Two Curves over Binary Fields (SAC - - PowerPoint PPT Presentation

efficient doubling on genus two curves over binary fields
SMART_READER_LITE
LIVE PREVIEW

Efficient Doubling on Genus Two Curves over Binary Fields (SAC - - PowerPoint PPT Presentation

Efficient Doubling on Genus Two Curves over Binary Fields (SAC 2004) Marc Stevens Tanja Lange Eindhoven University Ruhr-Universitt of Technology Bochum Overview Elliptic Curves Hyperelliptic Curves HEC of Genus 2


slide-1
SLIDE 1

Efficient Doubling on Genus Two Curves over Binary Fields (SAC 2004)

Marc Stevens Eindhoven University

  • f Technology

Tanja Lange Ruhr-Universität Bochum

slide-2
SLIDE 2

Overview

  • Elliptic Curves
  • Hyperelliptic Curves
  • HEC of Genus 2
  • Comparisons
slide-3
SLIDE 3

Elliptic Curves

  • Koblitz/Miller (1985)

Use additive group of points on an elliptic curve:

  • Smaller key sizes due to exponential

discrete logarithm problem on EC

(160 bit EC vs. 1024 bit RSA)

slide-4
SLIDE 4

Group operation over

slide-5
SLIDE 5

Group operation over

slide-6
SLIDE 6

Group operation over

slide-7
SLIDE 7

Explicit formulae

  • Binary fields,

1 1 2 2 1 2 2 1 2 1

) ( y x x x y f x x x x x y y + ′ + ′ + = ′ + + + + = ′ + + = λ λ λ λ

1 1 2 2 1 1 1

) ( y x x x y f x x x y + ′ + ′ + = ′ + + = ′ + = λ λ λ λ

Addition Doubling 1 inversion, 2 multiplications, 1 squaring

slide-8
SLIDE 8

Hyperelliptic Curves

  • Generalisation of Elliptic Curves

For which no (x,y) C satisfies both partial derivative equations

  • g is called genus
  • Elliptic Curves are HEC of genus 1
slide-9
SLIDE 9

Hyperelliptic Curve of genus 2

  • ver
slide-10
SLIDE 10

Hyperelliptic Curves

  • Points on the curve C

do NOT form a group for genus g > 1

  • Instead use Divisors:

i.e. a finite formal sum of points with multiplicity

slide-11
SLIDE 11

Divisors

  • Degree of D is
  • Div0

C is the group of degree zero divisors

  • Princ is the group of principal divisors

– Divisors associated with functions

Sum of intersection points of a function and curve

– Subgroup of Div0C

slide-12
SLIDE 12
slide-13
SLIDE 13

Hyperelliptic curves

  • Divisors defined over q:
  • Cryptographic group:

Degree zero divisors modulo principal divisors Group order is about

slide-14
SLIDE 14

Hyperelliptic curves

  • Semi-reduced divisor
  • Divisor class has unique representative
slide-15
SLIDE 15
slide-16
SLIDE 16
slide-17
SLIDE 17
slide-18
SLIDE 18
slide-19
SLIDE 19

Efficient Arithmetic

  • Representation of the Divisor class:

Mumford representation

– u is monic – deg v < deg u g=2 – u | v2 + vh - f

slide-20
SLIDE 20

Connection

slide-21
SLIDE 21

Efficient Arithmetic

  • Cantor’s algorithm

Input Step 1. Composition Step 2. Reduction

slide-22
SLIDE 22

Cantor: 1. Composition

Output

slide-23
SLIDE 23

Cantor: 2. Reduction

Output

slide-24
SLIDE 24

Genus 2 Explicit Formulae

  • Focus on binary fields
  • Explicit formulae avoid unnecessary

calculations

  • Addition more complex than Elliptic Curves:

– 1 inversion, 22 multiplications, 3 squarings – EC: 1 inversion, 2 multiplications, 1 squaring

  • Same security, half field size

– 80 bit vs. EC 160 bit

slide-25
SLIDE 25

G2 addition & doubling

  • Explicit formulae for addition and doubling

by Tanja Lange

  • Most common case for doubling:

– deg u=2 – res(h, u) ≠ 0

  • Doubling general: 1 inv, 22 mul, 5 sqr
  • Our improvements using h0=0

– At worst 1 inv, 17 mul, 5 sqr – At best when h2=0 : 1 inv, 5 mul, 6 sqr

slide-26
SLIDE 26

Explicit formulae

  • Break down of steps in Cantor’s algorithm:

Use Montgomery’s trick, Karatsuba, …

slide-27
SLIDE 27

G2 doubling, general

slide-28
SLIDE 28

G2 doubling, deg h=1

  • Case
  • Curve transformation

– h0 = f4 = f1 = 0 – (1/h1) ‘small’

  • Formulas depend on h1, h1

2, h1

  • 1, f3, f2, f0

– Case h1=1: 6 sqr, 5 mul, 1 inv – Case 1/h1 ‘small’: 5 sqr, 7 mul, 1 inv – Case h1 arbitrary: 5 sqr, 9 mul, 1 inv

slide-29
SLIDE 29

G2 doubling, deg h=1

slide-30
SLIDE 30

G2 doubling, deg h=2

  • Case deg h=2
  • Curve transformation

– h2 = 1, f3 = f2 = 0 – h0 = 0 only if h1=0 or Tr(h0/h12)=0

  • Formulas depend on h2, h1, h1

2 , f4

– Case h1 ‘small’: 1 inv, 12 mul, 6 sqr – Case h1 arbitrary: 1 inv, 17 mul, 5 sqr – If f4 ‘small’ then 2 mul cheap or for free

slide-31
SLIDE 31

G2 doubling, deg h=2

slide-32
SLIDE 32

Field degree x genus

226 214 202 197 193 181 178 167 163 157 149 142 137 131 122

Mean running time x 100

,8 ,7 ,6 ,5 ,4 ,3 ,2 ,1

Curves

HEC deg h=2 EC HEC deg h=1

Timings

  • m-Fold timings using a

sliding window method

  • f size 3

(precomputes ±D, ±3D)

  • Based on NTL library
  • Timed on a

AMD Athlon XP2500+

  • Curves defined over F2
slide-33
SLIDE 33

The end