Hash functions from superspecial genus-2 curves using Richelot - - PowerPoint PPT Presentation

hash functions from superspecial genus 2 curves using
SMART_READER_LITE
LIVE PREVIEW

Hash functions from superspecial genus-2 curves using Richelot - - PowerPoint PPT Presentation

Hash functions from superspecial genus-2 curves using Richelot isogenies Wouter Castryck, Thomas Decru , and Benjamin Smith NutMiC 2019, Paris June 24, 2019 Background 2006: hash functions based on supersingular elliptic curves (Charles,


slide-1
SLIDE 1

Hash functions from superspecial genus-2 curves using Richelot isogenies

Wouter Castryck, Thomas Decru, and Benjamin Smith

NutMiC 2019, Paris

June 24, 2019

slide-2
SLIDE 2

Background

2006: hash functions based on supersingular elliptic curves (Charles, Goren, Lauter) 2011: key exchange protocol based on supersingular elliptic curves called SIDH (Jao, De Feo)

slide-3
SLIDE 3

Background

2006: hash functions based on supersingular elliptic curves (Charles, Goren, Lauter) 2011: key exchange protocol based on supersingular elliptic curves called SIDH (Jao, De Feo) 2018: hash function based on supersingular genus-2 curves (Takashima) 2019: collisions in genus-2 hash, create genus-2 SIDH (Flynn, Ti) 2019: we fix collisions and smooth out a bunch of technicalities

slide-4
SLIDE 4

Hash functions from expander graph

Input: 110 A E B D C F J G I H

slide-5
SLIDE 5

Hash functions from expander graph

Input: 110 A E B D C F J G I H 1

slide-6
SLIDE 6

Hash functions from expander graph

Input: 110 A E B D C F J G I H 1

slide-7
SLIDE 7

Hash functions from expander graph

Input: 110 A E B D C F J G I H 1

slide-8
SLIDE 8

Hash functions from expander graph

Input: 110; Output: H A E B D C F J G I H

slide-9
SLIDE 9

Supersingular ℓ-isogeny graph over Fp2

Construct the graph G(p, ℓ) as follows: Vertices: all supersingular elliptic curves over Fp2 up to ∼ = Edges: all ℓ-isogenies between them

slide-10
SLIDE 10

Supersingular ℓ-isogeny graph over Fp2

Construct the graph G(p, ℓ) as follows: Vertices: all supersingular elliptic curves over Fp2 up to ∼ = Edges: all ℓ-isogenies between them Some properties: Amount of vertices ∼ p/12 Good expander graph Every node has ℓ + 1 edges

slide-11
SLIDE 11

G(277, 2) with F2772 ∼ = F277(a) ∼ = F277[x]/(x2 + 274x + 5)

194a+39 271a+172 61 244 83a+67 236a+184 255a+126 235a+65 37a+193 22a+60 195 85a+33 217a+4 269a+53 231a+238 41a+61 8a+29 42a+216 192a+11 6a+154 46a+100 240a+27 60a+101

slide-12
SLIDE 12

Security

Problem Given two supersingular elliptic curves E and E ′ defined over Fp2, find an ℓk-isogeny between them.

slide-13
SLIDE 13

Security

Problem Given two supersingular elliptic curves E and E ′ defined over Fp2, find an ℓk-isogeny between them. Problem Given any supersingular elliptic curve E defined over Fp2, find a curve E ′ and two distinct isogenies of degree ℓk and ℓk′ between them.

slide-14
SLIDE 14

General idea

2-isogenies between supersingular elliptic curves ↓ (2,2)-isogenies between principally polarized superspecial abelian surfaces

slide-15
SLIDE 15

Elliptic curves

Definition An elliptic curve, say E, over a field K of odd characteristic, is an algebraic curve defined by an equation of the form E : y2 = f (x), where f (x) is a squarefree polynomial in K[x] of degree 3 or 4.

slide-16
SLIDE 16

Genus two curves

Definition A hyperelliptic curve of genus two, say C, over a field K of odd characteristic, is an algebraic curve defined by an equation of the form C : y2 = f (x), where f (x) is a squarefree polynomial in K[x] of degree 5 or 6.

slide-17
SLIDE 17

Elliptic curves group law

P Q P+Q

  • (P+Q)
slide-18
SLIDE 18

Genus two curves group law

P Q ? ? ?

slide-19
SLIDE 19

Genus two curves group law

P2 P1

slide-20
SLIDE 20

Genus two curves group law

Q1 Q2 P2 P1

slide-21
SLIDE 21

Genus two curves group law

Q1 Q2 P2 P1

slide-22
SLIDE 22

Genus two curves group law

Q1 Q2

  • R1
  • R2

P2 P1

slide-23
SLIDE 23

Genus two curves group law

Q1 Q2

  • R1

R1

  • R2

R2 P2 P1

slide-24
SLIDE 24

Abelian surfaces

Definition An abelian surface is a two-dimensional projective algebraic variety that is also an algebraic group. Always isomorphic to one of the following: jacobian of a (hyperelliptic) genus-2 curve product of two elliptic curves

slide-25
SLIDE 25

Principal polarization

Definition A principal polarization is an isomorphism λ from an abelian variety A to its dual, which is of the form λL : A(¯ k) → Pic(A) a → t∗

aL ⊗ L−1,

for some ample sheaf L on A(¯ k).

slide-26
SLIDE 26

Principal polarization

Definition A principal polarization is an isomorphism λ from an abelian variety A to its dual, which is of the form

✘✘✘✘ ✘

λL : A(¯ k)

✟ ✟

✘✘✘ ✘

Pic(A)

a

✟ ✟

✘✘✘✘✘ ✘

t∗

aL ⊗ L−1,

for some ample sheaf L on A(¯ k). Read: we have equations! y2 = a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + a0 (y2 = x3 + b1x + b0) × (y2 = x3 + c1x + c0)

slide-27
SLIDE 27

Supersingular elliptic curves

E is supersingular iff the p-torsion of E is trivial,

slide-28
SLIDE 28

Supersingular elliptic curves

E is supersingular iff the p-torsion of E is trivial,

  • r End(E) is an order in a quaternion algebra,
slide-29
SLIDE 29

Supersingular elliptic curves

E is supersingular iff the p-torsion of E is trivial,

  • r End(E) is an order in a quaternion algebra,
  • r the trace of Frobenius is divisible by p,
slide-30
SLIDE 30

Supersingular elliptic curves

E is supersingular iff the p-torsion of E is trivial,

  • r End(E) is an order in a quaternion algebra,
  • r the trace of Frobenius is divisible by p,
  • r the Newton polygon is a straight line segment with slope

1/2,

slide-31
SLIDE 31

Supersingular elliptic curves

E is supersingular iff the p-torsion of E is trivial,

  • r End(E) is an order in a quaternion algebra,
  • r the trace of Frobenius is divisible by p,
  • r the Newton polygon is a straight line segment with slope

1/2,

  • r the dual of Frobenius is purely inseparable,
slide-32
SLIDE 32

Supersingular elliptic curves

E is supersingular iff the p-torsion of E is trivial,

  • r End(E) is an order in a quaternion algebra,
  • r the trace of Frobenius is divisible by p,
  • r the Newton polygon is a straight line segment with slope

1/2,

  • r the dual of Frobenius is purely inseparable,
  • r the Hasse invariant is 0,

. . .

slide-33
SLIDE 33

Superspecial genus two curves

Definition A p.p. abelian surface defined over a field with characteristic p is superspecial if the Hasse invariant is zero. Why? Finite amount ∼ p3/2880 All defined over Fp2

slide-34
SLIDE 34

Superspecial abelian surfaces over F132

JC1 JC2 JC3

E × E

slide-35
SLIDE 35

Superspecial abelian surfaces over F132

JC1 JC2 JC3

{5, 5}

slide-36
SLIDE 36

Superspecial abelian surfaces over F132

(2, 6, 5) (7, 2, 2) (4, 9, 6) {5, 5}

slide-37
SLIDE 37

(2, 2)-isogenies

Definition A (2, 2)-isogeny φ is an isogeny such that ker φ ∼ = Z/2Z ⊕ Z/2Z and ker φ is maximal isotropic with regards to the 2-Weil pairing. Remark: there are 15 of these (2, 2)-isogenies for every A, and at least 9 are to the same type of abelian surface, so JC → JC ′ or E1 × E2 → E ′

1 × E ′ 2

slide-38
SLIDE 38

Superspecial p.p. abelian surface (2, 2)-isogeny graph over F132

(2, 6, 5) (7, 2, 2) (4, 9, 6) {5, 5}

5 4 6 1 6 5 3 4 9 2 10 1 2 2

slide-39
SLIDE 39

Superspecial p.p. abelian surface (2, 2)-isogeny graph over Fp2

Isogeny graph Gp: Vertices: all p.p. superspecial abelian surfaces over Fp2 up to isomorphism

genus-2 curves: absolute Igusa invariants (j1, j2, j3) ∈ F3

p2

products of elliptic curves: j-invariants {j1, j2} ⊂ Fp2

Edges: all (2, 2)-isogenies between them

slide-40
SLIDE 40

Superspecial p.p. abelian surface (2, 2)-isogeny graph over Fp2

Isogeny graph Gp: Vertices: all p.p. superspecial abelian surfaces over Fp2 up to isomorphism

genus-2 curves: absolute Igusa invariants (j1, j2, j3) ∈ F3

p2

products of elliptic curves: j-invariants {j1, j2} ⊂ Fp2

Edges: all (2, 2)-isogenies between them Intuitively: Interior of Gp: ∼ p3/2880 genus-2 curves Boundary of Gp: ∼ p2/288 products of elliptic curves

slide-41
SLIDE 41

Restrict to jacobians of genus-2 curves

Ignore products of elliptic curves: O(1/p) chance of encountering formulas are less efficient what would output be? {j1, j2} vs (j1, j2, j3)

slide-42
SLIDE 42

Richelot isogenies

C0 : y2 = (x − α1)(x − α2)

  • G1

(x − α3)(x − α4)

  • G2

(x − α5)(x − α6)

  • G3
slide-43
SLIDE 43

Richelot isogenies

C0 : y2 = (x − α1)(x − α2)

  • G1

(x − α3)(x − α4)

  • G2

(x − α5)(x − α6)

  • G3

Take φ1 : JC0 → JC1 the (2, 2)-isogeny with kernel {0, [(α1, 0) − (α2, 0)], [(α3, 0) − (α4, 0)], [(α5, 0) − (α6, 0)]}

slide-44
SLIDE 44

Richelot isogenies

C0 : y2 = (x − α1)(x − α2)

  • G1

(x − α3)(x − α4)

  • G2

(x − α5)(x − α6)

  • G3

Take φ1 : JC0 → JC1 the (2, 2)-isogeny with kernel {0, [(α1, 0) − (α2, 0)], [(α3, 0) − (α4, 0)], [(α5, 0) − (α6, 0)]} C1 : y2 = δ−1 (G ′

2G3 − G2G ′ 3)

  • H1

(G ′

3G1 − G3G ′ 1)

  • H2

(G ′

1G2 − G1G ′ 2)

  • H3
slide-45
SLIDE 45

Avoiding dual isogeny

Continuing with y2 = H1H2H3 gives the dual isogeny ˆ φ1 and the composition is a (2, 2, 2, 2)-isogeny: A0 A1

φ1 ˆ φ1

slide-46
SLIDE 46

Avoiding small cycles

Continuing with one factor fixed, e.g. y2 = H1 ˜ H2 ˜ H3, gives a (2, 2)-isogeny φ2, with a composed (4, 2, 2)-isogeny: A′

1

A0 A1 A2 A′′

1 φ1 φ2

slide-47
SLIDE 47

Avoiding small cycles

Continuing with one factor fixed, e.g. y2 = H1 ˜ H2 ˜ H3, gives a (2, 2)-isogeny φ2, with a composed (4, 2, 2)-isogeny: A′

1

A0 A1 A2 A′′

1 φ′

2

φ′

1

φ1 φ′′

1

φ2 φ′′

2

slide-48
SLIDE 48

Good isogeny extensions

Write H1 = L1L2, H2 = L3L4, H3 = L5L6 then the good extensions

  • f φ1 are determined by the quadratic factors

(L1L3, L2L5, L4L6), (L1L3, L2L6, L4L5), (L1L4, L2L5, L3L6), (L1L4, L2L6, L3L5), (L1L5, L2L3, L4L6), (L1L5, L2L4, L3L6), (L1L6, L2L3, L4L5), (L1L6, L2L4, L3L5). Composing gives a (4, 4)-isogeny.

slide-49
SLIDE 49

Security

Problem Given two superspecial genus-2 curves C1 and C2 defined over Fp2, find a (2k, 2k)-isogeny between their jacobians.

slide-50
SLIDE 50

Security

Problem Given two superspecial genus-2 curves C1 and C2 defined over Fp2, find a (2k, 2k)-isogeny between their jacobians. Problem Given any superspecial genus-2 curve C1 defined over Fp2, find

1 a curve C2 and a (2k, 2k)-isogeny JC1 → JC2, 2 a curve C ′

2 and a (2k′, 2k′)-isogeny JC1 → JC′

2,

such that C2 and C ′

2 are Fp-isomorphic.

slide-51
SLIDE 51

Concluding remarks

Advantages: Processing 3 bits at once, with possible parallelization of 3 square root extractions Elliptic curves graph size O(p) Genus-2 curves graph size O(p3) ⇒ same security in smaller fields, e.g. p ≈ 286 vs p ≈ 2256

slide-52
SLIDE 52

Concluding remarks

Advantages: Processing 3 bits at once, with possible parallelization of 3 square root extractions Elliptic curves graph size O(p) Genus-2 curves graph size O(p3) ⇒ same security in smaller fields, e.g. p ≈ 286 vs p ≈ 2256 Future research: Practical genus-2 SIDH key exchange? Expander properties of Gp?