SLIDE 1 Efficient Doubling on Genus Two Curves over Binary Fields (SAC 2004)
Marc Stevens Eindhoven University
Tanja Lange Ruhr-Universität Bochum
SLIDE 2 Overview
- Elliptic Curves
- Hyperelliptic Curves
- HEC of Genus 2
- Comparisons
SLIDE 3 Elliptic Curves
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
Group operation over
SLIDE 5
Group operation over
SLIDE 6
Group operation over
SLIDE 7 Explicit formulae
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 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 Hyperelliptic Curve of genus 2
SLIDE 10 Hyperelliptic Curves
do NOT form a group for genus g > 1
i.e. a finite formal sum of points with multiplicity
SLIDE 11 Divisors
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 13 Hyperelliptic curves
- Divisors defined over q:
- Cryptographic group:
Degree zero divisors modulo principal divisors Group order is about
SLIDE 14 Hyperelliptic curves
- Semi-reduced divisor
- Divisor class has unique representative
SLIDE 15
SLIDE 16
SLIDE 17
SLIDE 18
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
Connection
SLIDE 21 Efficient Arithmetic
Input Step 1. Composition Step 2. Reduction
SLIDE 22
Cantor: 1. Composition
Output
SLIDE 23
Cantor: 2. Reduction
Output
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 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 Explicit formulae
- Break down of steps in Cantor’s algorithm:
Use Montgomery’s trick, Karatsuba, …
SLIDE 27
G2 doubling, general
SLIDE 28 G2 doubling, deg h=1
- Case
- Curve transformation
– h0 = f4 = f1 = 0 – (1/h1) ‘small’
- Formulas depend on h1, h1
2, h1
– 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
G2 doubling, deg h=1
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
G2 doubling, deg h=2
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
sliding window method
(precomputes ±D, ±3D)
- Based on NTL library
- Timed on a
AMD Athlon XP2500+
SLIDE 33
The end