Towards practical key exchange from ordinary isogeny graphs Luca De - - PowerPoint PPT Presentation

towards practical key exchange from ordinary isogeny
SMART_READER_LITE
LIVE PREVIEW

Towards practical key exchange from ordinary isogeny graphs Luca De - - PowerPoint PPT Presentation

Towards practical key exchange from ordinary isogeny graphs Luca De Feo 1,3 Jean Kieffer 2,3,4 Benjamin Smith 3 1 UVSQ, Universit Paris Saclay 2 cole normale suprieure, Paris 3 Inria and cole polytechnique, Universit Paris Saclay 4 Inria


slide-1
SLIDE 1

Towards practical key exchange from ordinary isogeny graphs

Luca De Feo 1,3 Jean Kieffer 2,3,4 Benjamin Smith 3

1UVSQ, Université Paris Saclay 2École normale supérieure, Paris 3Inria and École polytechnique, Université Paris Saclay 4Inria and IMB, Université de Bordeaux

December 6, 2018

slide-2
SLIDE 2

Isogeny-based protocols

Post-quantum candidates for key echange/encapsulation: e.g. SIDH/SIKE. Inspired by earlier ideas of Couveignes and Rostovtsev–Stolbunov: CRS key exchange construction.

slide-3
SLIDE 3

Isogeny-based protocols

Post-quantum candidates for key echange/encapsulation: e.g. SIDH/SIKE. Inspired by earlier ideas of Couveignes and Rostovtsev–Stolbunov: CRS key exchange construction.

CRS characteristics w.r.t. SIDH Pros Cons

slide-4
SLIDE 4

Isogeny-based protocols

Post-quantum candidates for key echange/encapsulation: e.g. SIDH/SIKE. Inspired by earlier ideas of Couveignes and Rostovtsev–Stolbunov: CRS key exchange construction.

CRS characteristics w.r.t. SIDH Pros Cons

▸ Very slow (minutes) ▸ Subexponential quantum attack

slide-5
SLIDE 5

Isogeny-based protocols

Post-quantum candidates for key echange/encapsulation: e.g. SIDH/SIKE. Inspired by earlier ideas of Couveignes and Rostovtsev–Stolbunov: CRS key exchange construction.

CRS characteristics w.r.t. SIDH Pros

▸ Efficient key validation: post-quantum NIKE ▸ More “natural” security hypotheses

Cons

▸ Very slow (minutes) ▸ Subexponential quantum attack

slide-6
SLIDE 6

Isogeny-based protocols

Post-quantum candidates for key echange/encapsulation: e.g. SIDH/SIKE. Inspired by earlier ideas of Couveignes and Rostovtsev–Stolbunov: CRS key exchange construction.

CRS characteristics w.r.t. SIDH Pros

▸ Efficient key validation: post-quantum NIKE ▸ More “natural” security hypotheses

Cons

▸ Very slow (minutes) ▸ Subexponential quantum attack

Both: small keys.

slide-7
SLIDE 7

Goals

CRS is worth improving. ▸ Key validation ▸ Security analysis ▸ Pre- and post-quantum parameter proposals ▸ Algorithmic improvements.

slide-8
SLIDE 8

Introduction The CRS construction Security analysis Algorithmic improvements

slide-9
SLIDE 9

Cryptography with a group action

Hard Homogeneous Space (Couveignes): (G,X) where ▸ G finite commutative group ▸ G ⟳ X ▸ g ↦ g ⋅ x0 is a 1-to-1 correspondence between G and X. Hardness hypotheses: ▸ Given g and x, computing g ⋅ x is easy ▸ Given x and g ⋅ x, computing g is hard.

slide-10
SLIDE 10

Cryptography with a group action

Hard Homogeneous Space (Couveignes): (G,X) where ▸ G finite commutative group ▸ G ⟳ X ▸ g ↦ g ⋅ x0 is a 1-to-1 correspondence between G and X. Hardness hypotheses: ▸ Given g and x, computing g ⋅ x is easy ▸ Given x and g ⋅ x, computing g is hard. Alice x0 Bob

slide-11
SLIDE 11

Cryptography with a group action

Hard Homogeneous Space (Couveignes): (G,X) where ▸ G finite commutative group ▸ G ⟳ X ▸ g ↦ g ⋅ x0 is a 1-to-1 correspondence between G and X. Hardness hypotheses: ▸ Given g and x, computing g ⋅ x is easy ▸ Given x and g ⋅ x, computing g is hard. Alice a ←R G x0 Bob b ←R G

slide-12
SLIDE 12

Cryptography with a group action

Hard Homogeneous Space (Couveignes): (G,X) where ▸ G finite commutative group ▸ G ⟳ X ▸ g ↦ g ⋅ x0 is a 1-to-1 correspondence between G and X. Hardness hypotheses: ▸ Given g and x, computing g ⋅ x is easy ▸ Given x and g ⋅ x, computing g is hard. Alice a ←R G xa ← a ⋅ x0 x0 xb xa b a Bob b ←R G xb ← b ⋅ x0

slide-13
SLIDE 13

Cryptography with a group action

Hard Homogeneous Space (Couveignes): (G,X) where ▸ G finite commutative group ▸ G ⟳ X ▸ g ↦ g ⋅ x0 is a 1-to-1 correspondence between G and X. Hardness hypotheses: ▸ Given g and x, computing g ⋅ x is easy ▸ Given x and g ⋅ x, computing g is hard. Alice a ←R G xa ← a ⋅ x0 s ← a ⋅ xb x0 xb xa s b a b a Bob b ←R G xb ← b ⋅ x0 s ← b ⋅ xa

slide-14
SLIDE 14

Cryptography with a group action (2)

Hardness hypotheses: ▸ Given g and x, computing g ⋅ x is easy

slide-15
SLIDE 15

Cryptography with a group action (2)

Hardness hypotheses: ▸ Given g and x, if g ∈ S, computing g ⋅ x is easy where S is a small set of generators.

slide-16
SLIDE 16

Cryptography with a group action (2)

Hardness hypotheses: ▸ Given g and x, if g ∈ S, computing g ⋅ x is easy where S is a small set of generators. The same DH key exchange works: ▸ Sample a ← G directly as a product ∏ski

i , si ∈ S

▸ Compute a ⋅ x as the sequence of actions of si.

slide-17
SLIDE 17

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

slide-18
SLIDE 18

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

x0

slide-19
SLIDE 19

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0

slide-20
SLIDE 20

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0

slide-21
SLIDE 21

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0

slide-22
SLIDE 22

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0

slide-23
SLIDE 23

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa

slide-24
SLIDE 24

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa Bob b = s1−2s20s31

slide-25
SLIDE 25

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa Bob b = s1−2s20s31

slide-26
SLIDE 26

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa Bob b = s1−2s20s31

slide-27
SLIDE 27

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb Bob b = s1−2s20s31

slide-28
SLIDE 28

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb Bob b = s1−2s20s31

slide-29
SLIDE 29

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb Bob b = s1−2s20s31

slide-30
SLIDE 30

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb Bob b = s1−2s20s31

slide-31
SLIDE 31

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb Bob b = s1−2s20s31

slide-32
SLIDE 32

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb s Bob b = s1−2s20s31

slide-33
SLIDE 33

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb s Bob b = s1−2s20s31

slide-34
SLIDE 34

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb s Bob b = s1−2s20s31

slide-35
SLIDE 35

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb s Bob b = s1−2s20s31

slide-36
SLIDE 36

The Cayley graph

Computing the group action = walking in the Cayley graph: ▸ V = X ▸ Edge labelled by s ∈ S between x and s ⋅ x. If S = {s1,s2,s3} ∪ {s−1

1 ,s−1 2 ,s−1 3 }:

Alice a = s12s21s3−1 x0 xa xb s Bob b = s1−2s20s31

slide-37
SLIDE 37

Which HHS could we use?

Where can we find such a (potentially quantum-resistant) Hard Homogeneous Space?

slide-38
SLIDE 38

Which HHS could we use?

Where can we find such a (potentially quantum-resistant) Hard Homogeneous Space? Use isogenies between ordinary elliptic curves: ▸ X is a set of ordinary elliptic curves ▸ G is an arithmetic group: class group ▸ S is a set of “small” elements in G ▸ Computing s ⋅ E means computing an isogeny. Why ordinary? Supersingular and ordinary isogeny graphs do not have the same structure.

slide-39
SLIDE 39

Elliptic curves and isogenies

▸ Fq finite field of large char. p and size q ▸ E ordinary elliptic curve (≠ supersingular) over Fq ▸ ℓ small prime.

slide-40
SLIDE 40

Elliptic curves and isogenies

▸ Fq finite field of large char. p and size q ▸ E ordinary elliptic curve (≠ supersingular) over Fq ▸ ℓ small prime.

ℓ-isogeny

Algebraic morphism φ between two elliptic curves, of degree ℓ: ▸ Given by rational fractions of degree ℓ ▸ ℓ-to-1, in particular #Ker φ = ℓ.

slide-41
SLIDE 41

Elliptic curves and isogenies

▸ Fq finite field of large char. p and size q ▸ E ordinary elliptic curve (≠ supersingular) over Fq ▸ ℓ small prime.

ℓ-isogeny

Algebraic morphism φ between two elliptic curves, of degree ℓ: ▸ Given by rational fractions of degree ℓ ▸ ℓ-to-1, in particular #Ker φ = ℓ. Endomorphism = isogeny E → E (or 0). Commutative endomorphism ring End(E).

slide-42
SLIDE 42

Elliptic curves and isogenies

▸ Fq finite field of large char. p and size q ▸ E ordinary elliptic curve (≠ supersingular) over Fq ▸ ℓ small prime.

ℓ-isogeny

Algebraic morphism φ between two elliptic curves, of degree ℓ: ▸ Given by rational fractions of degree ℓ ▸ ℓ-to-1, in particular #Ker φ = ℓ. Endomorphism = isogeny E → E (or 0). Commutative endomorphism ring End(E). Fix O and take X = {E ordinary ell. curve ∣ End(E) = O}.

slide-43
SLIDE 43

Isogenies/ideals correspondence

E ∈ X, i.e. End(E) = O.

Isogenies from E

ℓ-isogeny φ ∶ E → E ′ Endomorphism α ∶ E → E ← → ← →

Ideals in O

Ideal l of norm ℓ in O = {β vanishing on Ker φ} Principal ideal (α)

slide-44
SLIDE 44

Isogenies/ideals correspondence

E ∈ X, i.e. End(E) = O.

Isogenies from E

ℓ-isogeny φ ∶ E → E ′ Endomorphism α ∶ E → E ← → ← →

Ideals in O

Ideal l of norm ℓ in O = {β vanishing on Ker φ} Principal ideal (α)

Group action (complex multiplication)

Define l ⋅ E = E ′: codomain of the corresponding ℓ-isogeny.

slide-45
SLIDE 45

Isogenies/ideals correspondence

E ∈ X, i.e. End(E) = O.

Isogenies from E

ℓ-isogeny φ ∶ E → E ′ Endomorphism α ∶ E → E ← → ← →

Ideals in O

Ideal l of norm ℓ in O = {β vanishing on Ker φ} Principal ideal (α)

Group action (complex multiplication)

Define l ⋅ E = E ′: codomain of the corresponding ℓ-isogeny. ▸ G is the class group of O: ideals modulo principal ideals. ▸ S is a set of ideals with small prime norms ℓi. When ℓi is nice (split), two ideals of norm ℓi: li and l−1

i .

Group action of G on X, which we use as a HHS.

slide-46
SLIDE 46

Isogeny walks

Computing the group action = walking in the isogeny graph: ▸ Vertices are elliptic curves, ▸ Edges are isogenies labelled per degree ℓi (arrows give the action of li). a = (2,1,−1) represents the ideal a = l12l21l3−1: E0

slide-47
SLIDE 47

Isogeny walks

Computing the group action = walking in the isogeny graph: ▸ Vertices are elliptic curves, ▸ Edges are isogenies labelled per degree ℓi (arrows give the action of li). a = (2,1,−1) represents the ideal a = l12l21l3−1: E0

slide-48
SLIDE 48

Isogeny walks

Computing the group action = walking in the isogeny graph: ▸ Vertices are elliptic curves, ▸ Edges are isogenies labelled per degree ℓi (arrows give the action of li). a = (2,1,−1) represents the ideal a = l12l21l3−1: E0

slide-49
SLIDE 49

Isogeny walks

Computing the group action = walking in the isogeny graph: ▸ Vertices are elliptic curves, ▸ Edges are isogenies labelled per degree ℓi (arrows give the action of li). a = (2,1,−1) represents the ideal a = l12l21l3−1: E0

slide-50
SLIDE 50

Isogeny walks

Computing the group action = walking in the isogeny graph: ▸ Vertices are elliptic curves, ▸ Edges are isogenies labelled per degree ℓi (arrows give the action of li). a = (2,1,−1) represents the ideal a = l12l21l3−1: E0

slide-51
SLIDE 51

Isogeny walks

Computing the group action = walking in the isogeny graph: ▸ Vertices are elliptic curves, ▸ Edges are isogenies labelled per degree ℓi (arrows give the action of li). a = (2,1,−1) represents the ideal a = l12l21l3−1: E = a ⋅ E0. E0 E

slide-52
SLIDE 52

Key validation

E is valid protocol data iff End(E) = O. This can be checked using ▸ a few scalar multiplications on E, ▸ a few small-degree isogenies. Key validation is easy and efficient.

slide-53
SLIDE 53

Introduction The CRS construction Security analysis Algorithmic improvements

slide-54
SLIDE 54

Hardness assumptions

Isogeny DH-analogues: ▸ Class Group Action-DDH (CGA-DDH) ▸ CGA-CDH Sampling in G using products of small ideals is a probability distribution σ. ▸ Distinguish σ from the uniform distribution: Isogeny Walk Distinguishing (IWD).

slide-55
SLIDE 55

Security analysis

Theorem (assuming GRH, IWD, CGA-DDH)

The key exchange protocol is session-key secure in the authenticated-links adversarial model of Canetti–Krawczyk.

Theorem (assuming IWD, CGA-CDH)

The derived hashed ElGamal protocol is IND-CPA secure in the random oracle model. Key validation gives CCA-secure encryption. In contrast, CCA attack against SIKE.PKE (Galbraith et al., AsiaCrypt 2016).

slide-56
SLIDE 56

Classical security

CGA-DDH

Compute an isogeny between two curves to recover the key. Best classical algorithm: O( √ N) where N = #G ≃ √q. ▸ Choose log2(q) ≃ 4n.

IWD

Heuristic: it is enough to have keyspace size ≥ √q. We cannot prove this even under GRH. ▸ Keyspace size: isogeny degrees ℓi = O(log q).

slide-57
SLIDE 57

Quantum security

Key recovery is an instance of the Hidden Shift Problem. ▸ Kuperberg’s algorithm solves HShP in subexponential time.

slide-58
SLIDE 58

Quantum security

Key recovery is an instance of the Hidden Shift Problem. ▸ Kuperberg’s algorithm solves HShP in subexponential time. ▸ This does not mean that CRS is broken. ▸ Estimates on query complexity alone: log2(q) = 688, 1656, 3068 for NIST levels 1, 3, 5.

slide-59
SLIDE 59

Introduction The CRS construction Security analysis Algorithmic improvements

slide-60
SLIDE 60

Computing small-degree isogenies

The basic building block of CRS is computing ℓ-isogenies.

slide-61
SLIDE 61

Computing small-degree isogenies

The basic building block of CRS is computing ℓ-isogenies.

The CRS approach

Use modular equations linking E and E ′. ▸ Find the roots of a degree ℓ + 1 polynomial over Fq.

slide-62
SLIDE 62

Computing small-degree isogenies

The basic building block of CRS is computing ℓ-isogenies.

The CRS approach

Use modular equations linking E and E ′. ▸ Find the roots of a degree ℓ + 1 polynomial over Fq.

Our contribution

Suppose there is some P ∈ E(Fq) of order ℓ. ▸ Find one such P using a scalar multiplication on E, ▸ Compute the image curve knowing the kernel ⟨P⟩.

slide-63
SLIDE 63

Computing small-degree isogenies

The basic building block of CRS is computing ℓ-isogenies.

The CRS approach

Use modular equations linking E and E ′. ▸ Find the roots of a degree ℓ + 1 polynomial over Fq.

Our contribution

Suppose there is some P ∈ E(Fq) of order ℓ. ▸ Find one such P using a scalar multiplication on E, ▸ Compute the image curve knowing the kernel ⟨P⟩.

Cost analysis

ℓ-torsion point Modular equation

slide-64
SLIDE 64

Computing small-degree isogenies

The basic building block of CRS is computing ℓ-isogenies.

The CRS approach

Use modular equations linking E and E ′. ▸ Find the roots of a degree ℓ + 1 polynomial over Fq.

Our contribution

Suppose there is some P ∈ E(Fq) of order ℓ. ▸ Find one such P using a scalar multiplication on E, ▸ Compute the image curve knowing the kernel ⟨P⟩.

Cost analysis

ℓ-torsion point O(log(q) + ℓ) Modular equation

slide-65
SLIDE 65

Computing small-degree isogenies

The basic building block of CRS is computing ℓ-isogenies.

The CRS approach

Use modular equations linking E and E ′. ▸ Find the roots of a degree ℓ + 1 polynomial over Fq.

Our contribution

Suppose there is some P ∈ E(Fq) of order ℓ. ▸ Find one such P using a scalar multiplication on E, ▸ Compute the image curve knowing the kernel ⟨P⟩.

Cost analysis

ℓ-torsion point O(log(q) + ℓ) Modular equation O(ℓ2 log q)

slide-66
SLIDE 66

Computing small-degree isogenies

The basic building block of CRS is computing ℓ-isogenies.

The CRS approach

Use modular equations linking E and E ′. ▸ Find the roots of a degree ℓ + 1 polynomial over Fq.

Our contribution

Suppose there is some P ∈ E(Fq) of order ℓ. ▸ Find one such P using a scalar multiplication on E, ▸ Compute the image curve knowing the kernel ⟨P⟩.

Cost analysis

ℓ-torsion point O(log(q) + ℓ)

Modular equation O(ℓ2 log q)

slide-67
SLIDE 67

The twisting trick

Suppose P ∈ E of order ℓi allows to compute the action of li. Can we also compute efficiently the action of l−1

i ?

slide-68
SLIDE 68

The twisting trick

Suppose P ∈ E of order ℓi allows to compute the action of li. Can we also compute efficiently the action of l−1

i ?

The twisting trick

Suppose q = −1 mod ℓi. Then E t (quad. twist) also has a point of

  • rder ℓi.

▸ We can efficiently compute the action of l−1

i

by twisting back and forth.

slide-69
SLIDE 69

The twisting trick

Suppose P ∈ E of order ℓi allows to compute the action of li. Can we also compute efficiently the action of l−1

i ?

The twisting trick

Suppose q = −1 mod ℓi. Then E t (quad. twist) also has a point of

  • rder ℓi.

▸ We can efficiently compute the action of l−1

i

by twisting back and forth. Why? The Frobenius on E[ℓi] is (1 q), so the Frobenius on E t[ℓi] is (−1 −q) and −q = 1.

slide-70
SLIDE 70

Finding good initial curves

More small-order points on E0 = more efficient cryptosystem.

slide-71
SLIDE 71

Finding good initial curves

More small-order points on E0 = more efficient cryptosystem. Only exponential algorithms are known to find ordinary curves with smooth order (no CM method here). We look for E0 using ▸ early-abort point counting ▸ curve selection with modular curves but we cannot use our improvements in full even after 2 years CPU time searching.

slide-72
SLIDE 72

Best results

512-bit prime q = 7∏ℓi − 1, where the ℓi are all primes ≤ 380. Best E0: #E0(Fq) = 3 ⋅ 5 ⋅ 7 ⋅ 11 ⋅ 13 ⋅ 17 ⋅ 103 ⋅ 523 ⋅ 821 ⋅ R #E t

0(Fq) = (same ≤ 103) ⋅ 947 ⋅ 1723 ⋅ R′

Discriminant ∆ = −23⋅ squarefree.

slide-73
SLIDE 73

Best results

512-bit prime q = 7∏ℓi − 1, where the ℓi are all primes ≤ 380. Best E0: #E0(Fq) = 3 ⋅ 5 ⋅ 7 ⋅ 11 ⋅ 13 ⋅ 17 ⋅ 103 ⋅ 523 ⋅ 821 ⋅ R #E t

0(Fq) = (same ≤ 103) ⋅ 947 ⋅ 1723 ⋅ R′

Discriminant ∆ = −23⋅ squarefree. Type Isogeny degrees #steps Torsion (Fq) 11: see above 409 Torsion (Fqr ) 13: 19,661 (r = 3), . . . 81 down to 10 General 25: 73,89,... up to 359 6 down to 1 Not enough primes in the first two lines: walk ≃ 520 s.

slide-74
SLIDE 74

Take away messages

▸ Isogeny graphs can be used to construct post-quantum key exchange protocols, and post-quantum NIKE. ▸ Our improvements speed up CRS considerably, but we cannot use them in full with ordinary curves (not enough torsion points!) See next talk on CSIDH.