SLIDE 1
Hash functions from superspecial genus-2 curves using Richelot - - PowerPoint PPT Presentation
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 2
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
Hash functions from expander graph
Input: 110 A E B D C F J G I H
SLIDE 5
Hash functions from expander graph
Input: 110 A E B D C F J G I H 1
SLIDE 6
Hash functions from expander graph
Input: 110 A E B D C F J G I H 1
SLIDE 7
Hash functions from expander graph
Input: 110 A E B D C F J G I H 1
SLIDE 8
Hash functions from expander graph
Input: 110; Output: H A E B D C F J G I H
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
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
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
Security
Problem Given two supersingular elliptic curves E and E ′ defined over Fp2, find an ℓk-isogeny between them.
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
General idea
2-isogenies between supersingular elliptic curves ↓ (2,2)-isogenies between principally polarized superspecial abelian surfaces
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
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
Elliptic curves group law
P Q P+Q
- (P+Q)
SLIDE 18
Genus two curves group law
P Q ? ? ?
SLIDE 19
Genus two curves group law
P2 P1
SLIDE 20
Genus two curves group law
Q1 Q2 P2 P1
SLIDE 21
Genus two curves group law
Q1 Q2 P2 P1
SLIDE 22
Genus two curves group law
Q1 Q2
- R1
- R2
P2 P1
SLIDE 23
Genus two curves group law
Q1 Q2
- R1
R1
- R2
R2 P2 P1
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
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
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
Supersingular elliptic curves
E is supersingular iff the p-torsion of E is trivial,
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
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
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
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
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
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
Superspecial abelian surfaces over F132
JC1 JC2 JC3
E × E
SLIDE 35
Superspecial abelian surfaces over F132
JC1 JC2 JC3
{5, 5}
SLIDE 36
Superspecial abelian surfaces over F132
(2, 6, 5) (7, 2, 2) (4, 9, 6) {5, 5}
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
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
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
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
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
Richelot isogenies
C0 : y2 = (x − α1)(x − α2)
- G1
(x − α3)(x − α4)
- G2
(x − α5)(x − α6)
- G3
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
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
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
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
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
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
Security
Problem Given two superspecial genus-2 curves C1 and C2 defined over Fp2, find a (2k, 2k)-isogeny between their jacobians.
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
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