Isogeny-Based Cryptography Tanja Lange (with lots of slides by - - PowerPoint PPT Presentation

isogeny based cryptography
SMART_READER_LITE
LIVE PREVIEW

Isogeny-Based Cryptography Tanja Lange (with lots of slides by - - PowerPoint PPT Presentation

Isogeny-Based Cryptography Tanja Lange (with lots of slides by Lorenz Panny) Eindhoven University of Technology 20 & 21 July 2020 DiffieHellman key exchange 76 Public parameters: a finite group G (traditionally F p , today


slide-1
SLIDE 1

Isogeny-Based Cryptography

Tanja Lange (with lots of slides by Lorenz Panny)

Eindhoven University of Technology

20 & 21 July 2020

slide-2
SLIDE 2

Diffie–Hellman key exchange ’76

Public parameters:

◮ a finite group G

(traditionally F∗

p, today elliptic curves)

◮ an element g ∈ G of prime order q

Tanja Lange Isogeny-Based Cryptography 2

slide-3
SLIDE 3

Diffie–Hellman key exchange ’76

Public parameters:

◮ a finite group G

(traditionally F∗

p, today elliptic curves)

◮ an element g ∈ G of prime order q

Alice public Bob a

random

← − − − {0...q−1} b

random

← − − − {0...q−1} g a g b s := (g b)a s := (g a)b

Tanja Lange Isogeny-Based Cryptography 2

slide-4
SLIDE 4

Diffie–Hellman key exchange ’76

Public parameters:

◮ a finite group G

(traditionally F∗

p, today elliptic curves)

◮ an element g ∈ G of prime order q

Alice public Bob a

random

← − − − {0...q−1} b

random

← − − − {0...q−1} g a g b s := (g b)a s := (g a)b Fundamental reason this works: ·a and ·b commute!

Tanja Lange Isogeny-Based Cryptography 2

slide-5
SLIDE 5

Diffie–Hellman: Bob vs. Eve

Bob

  • 1. Set t ← g.
  • 2. Set t ← t · g.
  • 3. Set t ← t · g.
  • 4. Set t ← t · g.

... b−2. Set t ← t · g. b−1. Set t ← t · g.

  • b. Publish B ← t · g.

Tanja Lange Isogeny-Based Cryptography 3

slide-6
SLIDE 6

Diffie–Hellman: Bob vs. Eve

Bob

  • 1. Set t ← g.
  • 2. Set t ← t · g.
  • 3. Set t ← t · g.
  • 4. Set t ← t · g.

... b−2. Set t ← t · g. b−1. Set t ← t · g.

  • b. Publish B ← t · g.

Is this a good idea?

Tanja Lange Isogeny-Based Cryptography 3

slide-7
SLIDE 7

Diffie–Hellman: Bob vs. Eve

Bob

  • 1. Set t ← g.
  • 2. Set t ← t · g.
  • 3. Set t ← t · g.
  • 4. Set t ← t · g.

... b−2. Set t ← t · g. b−1. Set t ← t · g.

  • b. Publish B ← t · g.

Attacker Eve

  • 1. Set t ← g.

If t = B return 1.

  • 2. Set t ← t · g. If t = B return 2.
  • 3. Set t ← t · g. If t = B return 3.
  • 4. Set t ← t · g. If t = B return 3.

... b−2. Set t ← t · g. If t = B return b−2. b−1. Set t ← t · g. If t = B return b−1.

  • b. Set t ← t · g. If t = B return b.

b+1. Set t ← t · g. If t = B return b + 1. b+2. Set t ← t · g. If t = B return b + 2. ...

Tanja Lange Isogeny-Based Cryptography 3

slide-8
SLIDE 8

Diffie–Hellman: Bob vs. Eve

Bob

  • 1. Set t ← g.
  • 2. Set t ← t · g.
  • 3. Set t ← t · g.
  • 4. Set t ← t · g.

... b−2. Set t ← t · g. b−1. Set t ← t · g.

  • b. Publish B ← t · g.

Attacker Eve

  • 1. Set t ← g.

If t = B return 1.

  • 2. Set t ← t · g. If t = B return 2.
  • 3. Set t ← t · g. If t = B return 3.
  • 4. Set t ← t · g. If t = B return 3.

... b−2. Set t ← t · g. If t = B return b−2. b−1. Set t ← t · g. If t = B return b−1.

  • b. Set t ← t · g. If t = B return b.

b+1. Set t ← t · g. If t = B return b + 1. b+2. Set t ← t · g. If t = B return b + 2. ...

Effort for both: O(#G). Bob needs to be smarter.

(There also exist better attacks)

Tanja Lange Isogeny-Based Cryptography 3

slide-9
SLIDE 9

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-10
SLIDE 10

multiply

·g ·g ·g ·g ·g ·g ·g ·g ·g ·g ·g ·g ·g

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-11
SLIDE 11

Square-and-multiply

·g ·g2 ·g2 ·g2 ·g2 ·g2 ·g2

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-12
SLIDE 12

Square-and-multiply-and-square-and-multiply

·g ·g4 ·g4 ·g4

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-13
SLIDE 13

Square-and-multiply-and-square-and-multiply-and-square-and-multiply

·g ·g4 ·g8

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-14
SLIDE 14

Square-and-multiply as graphs

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-15
SLIDE 15

Square-and-multiply as graphs

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-16
SLIDE 16

Square-and-multiply as graphs

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-17
SLIDE 17

Square-and-multiply as graphs

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-18
SLIDE 18

Square-and-multiply as a graph

g 0 g 1 g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 g 11 g 12 g 13 g 14 g 15 g 16 g 17 g 18 g 19 g 20 g 21 g 22

Reminder: DH in group with #G = 23. Bob computes g 13.

Tanja Lange Isogeny-Based Cryptography 4

slide-19
SLIDE 19

Square-and-multiply as a graph

Fast mixing: paths of length log(# nodes) to everywhere.

Tanja Lange Isogeny-Based Cryptography 4

slide-20
SLIDE 20

Exponential separation

Constructive computation: With square-and-multiply, applying b takes Θ(log2 #G). Attack costs: For well-chosen groups, recovering b takes Θ(√#G). (For less-well chosen groups the attacks are faster.) As

  • #G = 20.5 log2 #G

attacks are exponentially harder.

Tanja Lange Isogeny-Based Cryptography 5

slide-21
SLIDE 21

Exponential separation until quantum computers come

Constructive computation: With square-and-multiply, applying b takes Θ(log2 #G). Attack costs: For well-chosen groups, recovering b takes Θ(√#G). (For less-well chosen groups the attacks are faster.) As

  • #G = 20.5 log2 #G

attacks are exponentially harder. On a sufficiently large quantum computer, Shor’s algorithm quantumly computes b from g b in any group in polynomial time.

Tanja Lange Isogeny-Based Cryptography 5

slide-22
SLIDE 22

Exponential separation until quantum computers come

Constructive computation: With square-and-multiply, applying b takes Θ(log2 #G). Attack costs: For well-chosen groups, recovering b takes Θ(√#G). (For less-well chosen groups the attacks are faster.) As

  • #G = 20.5 log2 #G

attacks are exponentially harder. On a sufficiently large quantum computer, Shor’s algorithm quantumly computes b from g b in any group in polynomial time. Isogeny graphs to the rescue!

Tanja Lange Isogeny-Based Cryptography 5

slide-23
SLIDE 23

Big picture

◮ Isogenies are a source of exponentially-sized graphs.

Tanja Lange Isogeny-Based Cryptography 6

slide-24
SLIDE 24

Big picture

◮ Isogenies are a source of exponentially-sized graphs. ◮ We can walk efficiently on these graphs.

Tanja Lange Isogeny-Based Cryptography 6

slide-25
SLIDE 25

Big picture

◮ Isogenies are a source of exponentially-sized graphs. ◮ We can walk efficiently on these graphs. ◮ Fast mixing: short paths to (almost) all nodes.

Tanja Lange Isogeny-Based Cryptography 6

slide-26
SLIDE 26

Big picture

◮ Isogenies are a source of exponentially-sized graphs. ◮ We can walk efficiently on these graphs. ◮ Fast mixing: short paths to (almost) all nodes. ◮ No efficient∗ algorithms to recover paths from endpoints.

(Both classical and quantum!)

Tanja Lange Isogeny-Based Cryptography 6

slide-27
SLIDE 27

Big picture

◮ Isogenies are a source of exponentially-sized graphs. ◮ We can walk efficiently on these graphs. ◮ Fast mixing: short paths to (almost) all nodes. ◮ No efficient∗ algorithms to recover paths from endpoints.

(Both classical and quantum!)

◮ Enough structure to navigate the graph meaningfully.

That is: some well-behaved “directions” to describe paths. More later.

Tanja Lange Isogeny-Based Cryptography 6

slide-28
SLIDE 28

Big picture

◮ Isogenies are a source of exponentially-sized graphs. ◮ We can walk efficiently on these graphs. ◮ Fast mixing: short paths to (almost) all nodes. ◮ No efficient∗ algorithms to recover paths from endpoints.

(Both classical and quantum!)

◮ Enough structure to navigate the graph meaningfully.

That is: some well-behaved “directions” to describe paths. More later.

It is easy to construct graphs that satisfy almost all of these — not enough for crypto!

Tanja Lange Isogeny-Based Cryptography 6

slide-29
SLIDE 29

Topic of this lecture

◮ Isogenies are well-behaved maps between elliptic curves.

Tanja Lange Isogeny-Based Cryptography 7

slide-30
SLIDE 30

Topic of this lecture

◮ Isogenies are well-behaved maps between elliptic curves.

Isogeny graph: Nodes are curves, edges are isogenies.

(We usually care about subgraphs with certain properties.)

◮ Isogenies give rise to post-quantum Diffie–Hellman

(and more!)

Tanja Lange Isogeny-Based Cryptography 7

slide-31
SLIDE 31

The beauty and the beast

Components of well-chosen isogeny graphs look like this:

Tanja Lange Isogeny-Based Cryptography 8

slide-32
SLIDE 32

The beauty and the beast

Components of well-chosen isogeny graphs look like this: Which of these is good for crypto?

Tanja Lange Isogeny-Based Cryptography 8

slide-33
SLIDE 33

The beauty and the beast

Components of well-chosen isogeny graphs look like this: Which of these is good for crypto? Both.

Tanja Lange Isogeny-Based Cryptography 8

slide-34
SLIDE 34

The beauty and the beast

At this time, there are two distinct families of systems: q = p CSIDH ["si:­saId]

https://csidh.isogeny.org

q = p2 SIDH

https://sike.org

Tanja Lange Isogeny-Based Cryptography 8

slide-35
SLIDE 35

CSIDH ["si:­saId]

(Castryck, Lange, Martindale, Panny, Renes; 2018)

Tanja Lange Isogeny-Based Cryptography 9

slide-36
SLIDE 36

Why CSIDH?

◮ Closest thing we have in PQC to normal DH key exchange:

Keys can be reused, blinded; no difference between initiator &responder.

◮ Public keys are represented by some A ∈ Fp; p fixed prime. ◮ Alice computes and distributes her public key A.

Bob computes and distributes his public key B.

◮ Alice and Bob do computations on each other’s public keys

to obtain shared secret.

◮ Fancy math: computations start on some elliptic curve

EA : y 2 = x3 + Ax2 + x, use isogenies to move to a different curve.

◮ Computations need arithmetic (add, mult, div) modulo p and

elliptic-curve computations.

Tanja Lange Isogeny-Based Cryptography 10

slide-37
SLIDE 37

Math slide #1: Elliptic curves (nodes)

An elliptic curve over Fp is given by an equation E : y 2 = x3 + ax + b, with 4a3 − 27b2 = 0. A point P = (x, y) on E is a solution to this equation

  • r the point ∞ at infinity.

Tanja Lange Isogeny-Based Cryptography 11

slide-38
SLIDE 38

Math slide #1: Elliptic curves (nodes)

An elliptic curve over Fp is given by an equation E : y 2 = x3 + ax + b, with 4a3 − 27b2 = 0. A point P = (x, y) on E is a solution to this equation

  • r the point ∞ at infinity.

E is an abelian group: we can “add” and “subtract” points.

◮ The neutral element is ∞. ◮ The inverse of (x, y) is (x, −y). ◮ The sum of P1 = (x1, y1) and P2 = (x2, y2) is P3 = (x3, y3) =

  • λ2 − x1 − x2, λ(x1 − x3) − y1
  • where λ = (y2 − y1)/(x2 − x1) if x1 = x2

and λ = (3x2

1 + a)/(2y1) if P1 = P2 = −P1.

Takeaway: Computations in Fp, some formulas. Other curve shapes, such as Montgomery curves y 2 = x3 + Ax2 + x are faster.

Tanja Lange Isogeny-Based Cryptography 11

slide-39
SLIDE 39

Math slide #2: Isogenies (edges)

An isogeny of elliptic curves is a non-zero map E → E ′

◮ given by rational functions ◮ that is a group homomorphism.

The degree of a separable isogeny is the size of its kernel.

Tanja Lange Isogeny-Based Cryptography 12

slide-40
SLIDE 40

Math slide #2: Isogenies (edges)

An isogeny of elliptic curves is a non-zero map E → E ′

◮ given by rational functions ◮ that is a group homomorphism.

The degree of a separable isogeny is the size of its kernel. Example #1: For each m = 0, the multiplication-by-m map [m]: E → E is a degree-m2 isogeny. If m = 0 in the base field, its kernel is E[m] ∼ = Z/m × Z/m.

Tanja Lange Isogeny-Based Cryptography 12

slide-41
SLIDE 41

Math slide #2: Isogenies (edges)

An isogeny of elliptic curves is a non-zero map E → E ′

◮ given by rational functions ◮ that is a group homomorphism.

The degree of a separable isogeny is the size of its kernel. Example #2: For any a and b, the map ι: (x, y) → (−x, √ −1 · y) defines a degree-1 isogeny of the elliptic curves {y 2 = x3 + ax + b} − → {y 2 = x3 + ax − b} . It is an isomorphism; its kernel is {∞}.

Tanja Lange Isogeny-Based Cryptography 12

slide-42
SLIDE 42

Math slide #2: Isogenies (edges)

An isogeny of elliptic curves is a non-zero map E → E ′

◮ given by rational functions ◮ that is a group homomorphism.

The degree of a separable isogeny is the size of its kernel. Example #3:

(x, y) →

  • x3−4x2+30x−12

(x−2)2

, x3−6x2−14x+35

(x−2)3

· y

  • defines a degree-3 isogeny of the elliptic curves

{y 2 = x3 + x} − → {y 2 = x3 − 3x + 3}

  • ver F71. Its kernel is {(2, 9), (2, −9), ∞}.

Tanja Lange Isogeny-Based Cryptography 12

slide-43
SLIDE 43

CSIDH in one slide

Tanja Lange Isogeny-Based Cryptography 13

slide-44
SLIDE 44

CSIDH in one slide

◮ Choose some small odd primes ℓ1, ..., ℓn. ◮ Make sure p = 4 · ℓ1 · · · ℓn − 1 is prime.

Tanja Lange Isogeny-Based Cryptography 13

slide-45
SLIDE 45

CSIDH in one slide

◮ Choose some small odd primes ℓ1, ..., ℓn. ◮ Make sure p = 4 · ℓ1 · · · ℓn − 1 is prime. ◮ Let X = {y 2 = x3+Ax2+x over Fp with p+1 points}.

Tanja Lange Isogeny-Based Cryptography 13

slide-46
SLIDE 46

CSIDH in one slide

◮ Choose some small odd primes ℓ1, ..., ℓn. ◮ Make sure p = 4 · ℓ1 · · · ℓn − 1 is prime. ◮ Let X = {y 2 = x3+Ax2+x over Fp with p+1 points}. ◮ Look at the ℓi-isogenies defined over Fp within X.

Tanja Lange Isogeny-Based Cryptography 13

slide-47
SLIDE 47

CSIDH in one slide

◮ Choose some small odd primes ℓ1, ..., ℓn. ◮ Make sure p = 4 · ℓ1 · · · ℓn − 1 is prime. ◮ Let X = {y 2 = x3+Ax2+x over Fp with p+1 points}. ◮ Look at the ℓi-isogenies defined over Fp within X.

magic math happens!

p = 419 ℓ1 = 3 ℓ2 = 5 ℓ3 = 7

Tanja Lange Isogeny-Based Cryptography 13

slide-48
SLIDE 48

CSIDH in one slide

◮ Choose some small odd primes ℓ1, ..., ℓn. ◮ Make sure p = 4 · ℓ1 · · · ℓn − 1 is prime. ◮ Let X = {y 2 = x3+Ax2+x over Fp with p+1 points}. ◮ Look at the ℓi-isogenies defined over Fp within X.

magic math happens!

p = 419 ℓ1 = 3 ℓ2 = 5 ℓ3 = 7

◮ Walking “left” and “right” on any ℓi-subgraph is efficient.

Tanja Lange Isogeny-Based Cryptography 13

slide-49
SLIDE 49

CSIDH in one slide

◮ Choose some small odd primes ℓ1, ..., ℓn. ◮ Make sure p = 4 · ℓ1 · · · ℓn − 1 is prime. ◮ Let X = {y 2 = x3+Ax2+x over Fp with p+1 points}. ◮ Look at the ℓi-isogenies defined over Fp within X.

magic math happens!

p = 419 ℓ1 = 3 ℓ2 = 5 ℓ3 = 7

◮ Walking “left” and “right” on any ℓi-subgraph is efficient. ◮ We can represent E ∈ X as a single coefficient A ∈ Fp.

Tanja Lange Isogeny-Based Cryptography 13

slide-50
SLIDE 50

Walking in the CSIDH graph

Taking a “positive” step on the ℓi-subgraph.

  • 1. Find a point (x, y) ∈ E of order ℓi with x, y ∈ Fp.

The order of any (x, y) ∈ E divides p + 1, so [(p + 1)/ℓi](x, y) = ∞

  • r a point of order ℓi.

Sample a new point if you get ∞.

  • 2. Compute the isogeny with kernel (x, y) (see next slide).

Tanja Lange Isogeny-Based Cryptography 14

slide-51
SLIDE 51

Walking in the CSIDH graph

Taking a “positive” step on the ℓi-subgraph.

  • 1. Find a point (x, y) ∈ E of order ℓi with x, y ∈ Fp.

The order of any (x, y) ∈ E divides p + 1, so [(p + 1)/ℓi](x, y) = ∞

  • r a point of order ℓi.

Sample a new point if you get ∞.

  • 2. Compute the isogeny with kernel (x, y) (see next slide).

Taking a “negative” step on the ℓi-subgraph.

  • 1. Find a point (x, y) ∈ E of order ℓi with x ∈ Fp but y /

∈ Fp.

This uses scalar multiplication by (p + 1)/ℓi.

  • 2. Compute the isogeny with kernel (x, y) (see next slide).

Tanja Lange Isogeny-Based Cryptography 14

slide-52
SLIDE 52

Walking in the CSIDH graph

Taking a “positive” step on the ℓi-subgraph.

  • 1. Find a point (x, y) ∈ E of order ℓi with x, y ∈ Fp.

The order of any (x, y) ∈ E divides p + 1, so [(p + 1)/ℓi](x, y) = ∞

  • r a point of order ℓi.

Sample a new point if you get ∞.

  • 2. Compute the isogeny with kernel (x, y) (see next slide).

Taking a “negative” step on the ℓi-subgraph.

  • 1. Find a point (x, y) ∈ E of order ℓi with x ∈ Fp but y /

∈ Fp.

This uses scalar multiplication by (p + 1)/ℓi.

  • 2. Compute the isogeny with kernel (x, y) (see next slide).

Upshot: With “x-only’ arithmetic” everything happens over Fp. = ⇒ Efficient to implement!

Tanja Lange Isogeny-Based Cryptography 14

slide-53
SLIDE 53

Math slide #3: Isogenies and kernels

For any finite subgroup G of E, there exists a unique1 separable isogeny ϕG : E → E ′ with kernel G. The curve E ′ is called E/G.

(≈ quotient groups)

If G is defined over k, then ϕG and E/G are also defined over k.

1(up to isomorphism of E ′)

slide-54
SLIDE 54

Math slide #3: Isogenies and kernels

For any finite subgroup G of E, there exists a unique1 separable isogeny ϕG : E → E ′ with kernel G. The curve E ′ is called E/G.

(≈ quotient groups)

If G is defined over k, then ϕG and E/G are also defined over k. Vélu ’71: Formulas for computing E/G and evaluating ϕG at a point. Complexity: Θ(#G) only suitable for small degrees.

1(up to isomorphism of E ′)

slide-55
SLIDE 55

Math slide #3: Isogenies and kernels

For any finite subgroup G of E, there exists a unique1 separable isogeny ϕG : E → E ′ with kernel G. The curve E ′ is called E/G.

(≈ quotient groups)

If G is defined over k, then ϕG and E/G are also defined over k. Vélu ’71: Formulas for computing E/G and evaluating ϕG at a point. Complexity: Θ(#G) only suitable for small degrees. Vélu operates in the field where the points in G live. need to make sure extensions stay small for desired #G this is why we use special p and curves with p + 1 points! Not all k-rational points of E/G are in the image of k-rational points on E; but #E(k) #E/G(k).

1(up to isomorphism of E ′)

slide-56
SLIDE 56

CSIDH key exchange

Alice Bob

[ , , , ] [ , , , ]

Tanja Lange Isogeny-Based Cryptography 16

slide-57
SLIDE 57

CSIDH key exchange

Alice Bob

[

↑ ,

, , ] [

↑ ,

, , ]

Tanja Lange Isogeny-Based Cryptography 16

slide-58
SLIDE 58

CSIDH key exchange

Alice Bob

[ ,

↑ ,

, ] [ ,

↑ ,

, ]

Tanja Lange Isogeny-Based Cryptography 16

slide-59
SLIDE 59

CSIDH key exchange

Alice Bob

[ , ,

↑ ,

] [ , ,

↑ ,

]

Tanja Lange Isogeny-Based Cryptography 16

slide-60
SLIDE 60

CSIDH key exchange

Alice Bob

[ , , ,

↑ ]

[ , , ,

↑ ]

Tanja Lange Isogeny-Based Cryptography 16

slide-61
SLIDE 61

CSIDH key exchange

Alice Bob

[ , , , ] [ , , , ]

Tanja Lange Isogeny-Based Cryptography 16

slide-62
SLIDE 62

CSIDH key exchange

Alice Bob

[

↑ ,

, , ] [

↑ ,

, , ]

Tanja Lange Isogeny-Based Cryptography 16

slide-63
SLIDE 63

CSIDH key exchange

Alice Bob

[ ,

↑ ,

, ] [ ,

↑ ,

, ]

Tanja Lange Isogeny-Based Cryptography 16

slide-64
SLIDE 64

CSIDH key exchange

Alice Bob

[ , ,

↑ ,

] [ , ,

↑ ,

]

Tanja Lange Isogeny-Based Cryptography 16

slide-65
SLIDE 65

CSIDH key exchange

Alice Bob

[ , , ,

↑ ]

[ , , ,

↑ ]

Tanja Lange Isogeny-Based Cryptography 16

slide-66
SLIDE 66

CSIDH key exchange

Alice Bob

[ , , , ] [ , , , ]

Tanja Lange Isogeny-Based Cryptography 16

slide-67
SLIDE 67

Abstract from Diffie-Hellman dataflow “CSIDH: an efficient post-quantum commutative group action”

Tanja Lange Isogeny-Based Cryptography 17

slide-68
SLIDE 68

Abstract from Diffie-Hellman dataflow “CSIDH: an efficient post-quantum commutative group action”

Cycles are compatible: [right then left] = [left then right]

  • nly need to keep track of total step counts for each ℓi.

Example: [ , , , , , , , ] just becomes (+1, 0, −3) ∈ Z3.

Tanja Lange Isogeny-Based Cryptography 17

slide-69
SLIDE 69

Abstract from Diffie-Hellman dataflow “CSIDH: an efficient post-quantum commutative group action”

Cycles are compatible: [right then left] = [left then right]

  • nly need to keep track of total step counts for each ℓi.

Example: [ , , , , , , , ] just becomes (+1, 0, −3) ∈ Z3. There is a group action of (Zn, +) on our set of curves X!

Tanja Lange Isogeny-Based Cryptography 17

slide-70
SLIDE 70

Abstract from Diffie-Hellman dataflow “CSIDH: an efficient post-quantum commutative group action”

Cycles are compatible: [right then left] = [left then right]

  • nly need to keep track of total step counts for each ℓi.

Example: [ , , , , , , , ] just becomes (+1, 0, −3) ∈ Z3. There is a group action of (Zn, +) on our set of curves X! Many paths are “useless”. Fun fact: Quotienting out trivial actions yields the ideal-class group cl(Z[√−p]).

Tanja Lange Isogeny-Based Cryptography 17

slide-71
SLIDE 71

Math slide #4: Quadratic twists

Not my fault . . .

E ′/k is a twist elliptic curve E” /k if E is isomorphic to E ′ over ¯ k. For E : y 2 = x3 + Ax2 + x over Fp with p ≡ 3 mod 4 E ′ : −y 2 = x3 + Ax2 + x is isomorphic to E via (x, y) → (x, √ −1y). This map is defined over Fp2, so this is a quadratic twist.

Tanja Lange Isogeny-Based Cryptography 18

slide-72
SLIDE 72

Math slide #4: Quadratic twists

Not my fault . . .

E ′/k is a twist elliptic curve E” /k if E is isomorphic to E ′ over ¯ k. For E : y 2 = x3 + Ax2 + x over Fp with p ≡ 3 mod 4 E ′ : −y 2 = x3 + Ax2 + x is isomorphic to E via (x, y) → (x, √ −1y). This map is defined over Fp2, so this is a quadratic twist. Picking (x, y) on E with x ∈ Fp, y = Fp implicitly picks point in E ′(Fp).

Tanja Lange Isogeny-Based Cryptography 18

slide-73
SLIDE 73

Math slide #4: Quadratic twists

Not my fault . . .

E ′/k is a twist elliptic curve E” /k if E is isomorphic to E ′ over ¯ k. For E : y 2 = x3 + Ax2 + x over Fp with p ≡ 3 mod 4 E ′ : −y 2 = x3 + Ax2 + x is isomorphic to E via (x, y) → (x, √ −1y). This map is defined over Fp2, so this is a quadratic twist. Picking (x, y) on E with x ∈ Fp, y = Fp implicitly picks point in E ′(Fp). E ′ is not in the isogeny graph, does not have the right shape. E ′ is isomorphic to E ′′ : y 2 = x3−Ax2 + x via (x, y) → (−x, y) over Fp.

Tanja Lange Isogeny-Based Cryptography 18

slide-74
SLIDE 74

Graphs of elliptic curves

E0 E158 E410 E368 E404 E75 E144 E191 E174 E413 E379 E124 E199 E390 E29 E220 E295 E40 E6 E245 E228 E275 E344 E15 E51 E9 E261

Nodes: Supersingular elliptic curves EA : y 2 = x3 + Ax2 + x over F419.

Tanja Lange Isogeny-Based Cryptography 19

slide-75
SLIDE 75

Graphs of elliptic curves

E0 E158 E410 E368 E404 E75 E144 E191 E174 E413 E379 E124 E199 E390 E29 E220 E295 E40 E6 E245 E228 E275 E344 E15 E51 E9 E261

Nodes: Supersingular elliptic curves EA : y 2 = x3 + Ax2 + x over F419. Each EA on the left has E−A on the right. Negative direction means: flip to twist, go positive direction, flip back.

Tanja Lange Isogeny-Based Cryptography 19

slide-76
SLIDE 76

Math slide #5: Vélu’s formulas

Let P have prime order ℓ on EA. For 1 ≤ k < ℓ let xk be the x-coordinate of [k]P. Let τ =

ℓ−1

  • i=1

xi, σ =

ℓ−1

  • i=1
  • xi − 1

xi

  • Then the ℓ isogeny from EA maps to EB with B = τ(A − 3σ).

Main operation is to compute the xk, just some elliptic-curve additions. Note that [ℓ − k]P = −[k]P and both have the same x-coordinate. Implementations often use projective formulas to avoid (or delay) inverstions.

Tanja Lange Isogeny-Based Cryptography 20

slide-77
SLIDE 77

Math slide #6: Class groups

Reminder: X = {y 2 = x3+Ax2+x over Fp with p+1 points}. All curves in X have Fp-endomorphism ring O = Z[√−p]. Let π the Frobenius endomorphism. Ideal in O above ℓi. li = (ℓi, π − 1). Moving + in X with ℓi isogeny ⇐ ⇒ action of li on X.

Tanja Lange Isogeny-Based Cryptography 21

slide-78
SLIDE 78

Math slide #6: Class groups

Reminder: X = {y 2 = x3+Ax2+x over Fp with p+1 points}. All curves in X have Fp-endomorphism ring O = Z[√−p]. Let π the Frobenius endomorphism. Ideal in O above ℓi. li = (ℓi, π − 1). Moving + in X with ℓi isogeny ⇐ ⇒ action of li on X. More precisely: Subgroup corresponding to li is E[li] = E(Fp)[ℓi].

(Note that ker(π − 1) is just the Fp-rational points!)

Subgroup corresponding to li is E[li] = {P ∈ E[ℓi] | π(P) = −P}.

Tanja Lange Isogeny-Based Cryptography 21

slide-79
SLIDE 79

Math slide #6: Class groups

Reminder: X = {y 2 = x3+Ax2+x over Fp with p+1 points}. All curves in X have Fp-endomorphism ring O = Z[√−p]. Let π the Frobenius endomorphism. Ideal in O above ℓi. li = (ℓi, π − 1). Moving + in X with ℓi isogeny ⇐ ⇒ action of li on X. More precisely: Subgroup corresponding to li is E[li] = E(Fp)[ℓi].

(Note that ker(π − 1) is just the Fp-rational points!)

Subgroup corresponding to li is E[li] = {P ∈ E[ℓi] | π(P) = −P}. For Montgomery curves, E[li] = {(x, y) ∈ E[ℓi] | x ∈ Fp; y / ∈ Fp} ∪ {∞}.

Tanja Lange Isogeny-Based Cryptography 21

slide-80
SLIDE 80

Math slide #7: Commutative group action

cl(O) acts on X. For most ideal classes the kernel is big and formulas are expensive to compute. I = l10

1 l−7 2 l27 3

is a “big” ideal, but we can compute the action iteratively. cl(O) is commutative2 so we get a commutative group action.. The choice for CSIDH: Let K = {[le1

1 · · · le1 n ] | (e1, ..., en) is ‘short’} ⊆ cl(O).

The action of K on X is very efficient! Pick K as the keyspace

2Important to use the Fp-endomorphism ring.

slide-81
SLIDE 81

Cryptographic group actions

Like in the CSIDH example, we generally get a DH-like key exchange from a commutative group action G × S → S: Alice public Bob a

random

← − − − G b

random

← − − − G a ∗ s b ∗ s key := a ∗ (b ∗ s) key := b ∗ (a ∗ s)

Tanja Lange Isogeny-Based Cryptography 23

slide-82
SLIDE 82

Why no Shor?

Shor computes α from h = g α by finding the kernel of the map f : Z2 → G, (x, y) → g x ·

↑ hy

For general group actions, we cannot compose x ∗ s and y ∗ (b ∗ s). For CSIDH this would require composing two elliptic curves in some form compatible with the action of G.

Tanja Lange Isogeny-Based Cryptography 24

slide-83
SLIDE 83

CSIDH security

Core problem: Given E, E ′ ∈ X, find a smooth-degree isogeny E → E ′. Size of key space:

◮ About √p of all A ∈ Fp are valid keys.

(More precisely #cl(Z[√−p]) keys.) Without quantum computer:

◮ Meet-in-the-middle variants: Time O( 4

√p). (2016 Delfs–Galbraith)

Tanja Lange Isogeny-Based Cryptography 25

slide-84
SLIDE 84

CSIDH security

Core problem: Given E, E ′ ∈ X, find a smooth-degree isogeny E → E ′. Size of key space:

◮ About √p of all A ∈ Fp are valid keys.

(More precisely #cl(Z[√−p]) keys.) Without quantum computer:

◮ Meet-in-the-middle variants: Time O( 4

√p). (2016 Delfs–Galbraith) With quantum computer:

◮ Abellian hidden-shift algorithms apply

(2014 Childs–Jao–Soukharev)

◮ Kuperberg’s algoirhtm has subexponential complexity.

CSIDH security:

◮ Public-key validation:

Quickly check that EA : y 2 = x3 + Ax2 + x has p + 1 points.

Tanja Lange Isogeny-Based Cryptography 25

slide-85
SLIDE 85

CSIDH-512 https://csidh.isogeny.org/

Definition:

◮ p = 74 i=1 ℓi − 1 with ℓ1, . . . , ℓ73 first 73 odd primes. ℓ74 = 587. ◮ Exponents −5 ≤ ei ≤ 5 for all 1 ≤ i ≤ 74.

Sizes:

◮ Private keys: 32 bytes. (37 in current software for simplicity.) ◮ Public keys: 64 bytes (just one Fp element).

Performance on typical Intel Skylake laptop core:

◮ Clock cycles: about 12 · 107 per operation. ◮ Somewhat more for constant-time implementations.

Security:

◮ Pre-quantum: at least 128 bits.

Tanja Lange Isogeny-Based Cryptography 26

slide-86
SLIDE 86

CSIDH-512 https://csidh.isogeny.org/

Definition:

◮ p = 74 i=1 ℓi − 1 with ℓ1, . . . , ℓ73 first 73 odd primes. ℓ74 = 587. ◮ Exponents −5 ≤ ei ≤ 5 for all 1 ≤ i ≤ 74.

Sizes:

◮ Private keys: 32 bytes. (37 in current software for simplicity.) ◮ Public keys: 64 bytes (just one Fp element).

Performance on typical Intel Skylake laptop core:

◮ Clock cycles: about 12 · 107 per operation. ◮ Somewhat more for constant-time implementations.

Security:

◮ Pre-quantum: at least 128 bits. ◮ Post-quantum: complicated.

Recent work analyzing cost: see https://quantum.isogeny.org. Several papers analyzing Kuperberg. (2018 Biasse–Iezzi-Jacobson, 2018-2020 Bonnetain–Schrottenloher, 2020 Peikert) https://csidh.isogeny.org/analysis.html

Tanja Lange Isogeny-Based Cryptography 26

slide-87
SLIDE 87

CSIDH vs. Kuperberg

Kuperberg’s algorithm consists of two components:

  • 1. Evaluate the group action many times. (“oracle calls”)
  • 2. Combine the results in a certain way. (“sieving”)

Tanja Lange Isogeny-Based Cryptography 27

slide-88
SLIDE 88

CSIDH vs. Kuperberg

Kuperberg’s algorithm consists of two components:

  • 1. Evaluate the group action many times. (“oracle calls”)
  • 2. Combine the results in a certain way. (“sieving”)

◮ The algorithm admits many different tradeoffs. ◮ Oracle calls are expensive. ◮ The sieving phase has classical and quantum operations.

Tanja Lange Isogeny-Based Cryptography 27

slide-89
SLIDE 89

CSIDH vs. Kuperberg

Kuperberg’s algorithm consists of two components:

  • 1. Evaluate the group action many times. (“oracle calls”)
  • 2. Combine the results in a certain way. (“sieving”)

◮ The algorithm admits many different tradeoffs. ◮ Oracle calls are expensive. ◮ The sieving phase has classical and quantum operations.

How to compare costs?

(Is one qubit operation ≈ one bit operation? a hundred? millions?)

Tanja Lange Isogeny-Based Cryptography 27

slide-90
SLIDE 90

CSIDH vs. Kuperberg

Kuperberg’s algorithm consists of two components:

  • 1. Evaluate the group action many times. (“oracle calls”)
  • 2. Combine the results in a certain way. (“sieving”)

◮ The algorithm admits many different tradeoffs. ◮ Oracle calls are expensive. ◮ The sieving phase has classical and quantum operations.

How to compare costs?

(Is one qubit operation ≈ one bit operation? a hundred? millions?)

= ⇒ It is still rather unclear how to choose CSIDH parameters. ...but all known attacks cost exp

  • (log p)1/2+o(1)

! Recent improvements to sieving target the o(1). Kuperberg applies to all commutative group actions.

Tanja Lange Isogeny-Based Cryptography 27

slide-91
SLIDE 91

SIDH – avoid commutativity

The supersingular isogeny graph over Fp2 looks differently. Nodes are isomorphism classes of elliptic curves taken any extension field. (All isooprhism classes of supersingular elliptic curves defined over Fp2).

Tanja Lange Isogeny-Based Cryptography 28

slide-92
SLIDE 92

SIDH: High-level view (2011 Jao–De Feo)

Promblem: quadratic twists are identified, ℓ + 1 isogenies of degree ℓ from any curve, no more sense of direction.

Tanja Lange Isogeny-Based Cryptography 29

slide-93
SLIDE 93

SIDH: High-level view (2011 Jao–De Feo)

Promblem: quadratic twists are identified, ℓ + 1 isogenies of degree ℓ from any curve, no more sense of direction. E E/A E/B E/A, B

ϕA ϕB ϕB′ ϕA′

Tanja Lange Isogeny-Based Cryptography 29

slide-94
SLIDE 94

SIDH: High-level view (2011 Jao–De Feo)

Promblem: quadratic twists are identified, ℓ + 1 isogenies of degree ℓ from any curve, no more sense of direction. E E/A E/B E/A, B

ϕA ϕB ϕB′ ϕA′ ◮ Alice & Bob pick secret subgroups A and B of E.

Tanja Lange Isogeny-Based Cryptography 29

slide-95
SLIDE 95

SIDH: High-level view (2011 Jao–De Feo)

Promblem: quadratic twists are identified, ℓ + 1 isogenies of degree ℓ from any curve, no more sense of direction. E E/A E/B E/A, B

ϕA ϕB ϕB′ ϕA′ ◮ Alice & Bob pick secret subgroups A and B of E. ◮ Alice computes ϕA : E → E/A; Bob computes ϕB : E → E/B.

(These isogenies correspond to walking on the isogeny graph.)

Tanja Lange Isogeny-Based Cryptography 29

slide-96
SLIDE 96

SIDH: High-level view (2011 Jao–De Feo)

Promblem: quadratic twists are identified, ℓ + 1 isogenies of degree ℓ from any curve, no more sense of direction. E E/A E/B E/A, B

ϕA ϕB ϕB′ ϕA′ ◮ Alice & Bob pick secret subgroups A and B of E. ◮ Alice computes ϕA : E → E/A; Bob computes ϕB : E → E/B.

(These isogenies correspond to walking on the isogeny graph.)

◮ Alice and Bob transmit the values E/A and E/B.

Tanja Lange Isogeny-Based Cryptography 29

slide-97
SLIDE 97

SIDH: High-level view (2011 Jao–De Feo)

Promblem: quadratic twists are identified, ℓ + 1 isogenies of degree ℓ from any curve, no more sense of direction. E E/A E/B E/A, B

ϕA ϕB ϕB′ ϕA′ ◮ Alice & Bob pick secret subgroups A and B of E. ◮ Alice computes ϕA : E → E/A; Bob computes ϕB : E → E/B.

(These isogenies correspond to walking on the isogeny graph.)

◮ Alice and Bob transmit the values E/A and E/B. ◮ Alice somehow obtains A′ := ϕB(A). (Similar for Bob.)

Tanja Lange Isogeny-Based Cryptography 29

slide-98
SLIDE 98

SIDH: High-level view (2011 Jao–De Feo)

Promblem: quadratic twists are identified, ℓ + 1 isogenies of degree ℓ from any curve, no more sense of direction. E E/A E/B E/A, B

ϕA ϕB ϕB′ ϕA′ ◮ Alice & Bob pick secret subgroups A and B of E. ◮ Alice computes ϕA : E → E/A; Bob computes ϕB : E → E/B.

(These isogenies correspond to walking on the isogeny graph.)

◮ Alice and Bob transmit the values E/A and E/B. ◮ Alice somehow obtains A′ := ϕB(A). (Similar for Bob.) ◮ They both compute the shared secret

(E/B)/A′ ∼ = E/A, B ∼ = (E/A)/B′.

◮ Key is an isomorphism class; make this useable taking j-invariant.

Tanja Lange Isogeny-Based Cryptography 29

slide-99
SLIDE 99

SIDH’s auxiliary points

Previous slide: “Alice somehow obtains A′ := ϕB(A).” Alice knows only A, Bob knows only ϕB.

Tanja Lange Isogeny-Based Cryptography 30

slide-100
SLIDE 100

SIDH’s auxiliary points

Previous slide: “Alice somehow obtains A′ := ϕB(A).” Alice knows only A, Bob knows only ϕB.

◮ Alice picks A as P + [a]Q for fixed public P, Q ∈ E. ◮ Bob includes ϕB(P) and ϕB(Q) in his public key.

Tanja Lange Isogeny-Based Cryptography 30

slide-101
SLIDE 101

SIDH’s auxiliary points

Previous slide: “Alice somehow obtains A′ := ϕB(A).” Alice knows only A, Bob knows only ϕB. Solution: ϕB is a group homomorphism!

◮ Alice picks A as P + [a]Q for fixed public P, Q ∈ E. ◮ Bob includes ϕB(P) and ϕB(Q) in his public key.

= ⇒ Now Alice can compute A′ as ϕB(P) + [a]ϕB(Q)! P Q A ϕB(P) ϕB(Q) A′ ϕB Using images of P and Q also lets Alice keep direction in iterative computation of ϕA.

Tanja Lange Isogeny-Based Cryptography 30

slide-102
SLIDE 102

SIDH in one slide

Public parameters:

◮ large prime p = 2n3m − 1, supersingular E/Fp2 with (p + 1)2 points. ◮ bases (P, Q) and (R, S) of E[2n] and E[3m].

Want these points defined over Fp2 for efficiency. Parameter chioce ensures this. Recall E[k] ∼ = Z/k × Z/k. Alice public Bob a

random

← − − − {0...2n−1} b

random

← − − − {0...3m−1} A := P + [a]Q compute ϕA : E → E/A B := R + [b]S compute ϕB : E → E/B E/A, ϕA(R), ϕA(S) E/B, ϕB(P), ϕB(Q) A′ := ϕB(P) + [a]ϕB(Q) s := j

  • (E/B)/A′

B′ := ϕA(R) + [b]ϕA(S) s := j

  • (E/A)/B′

Tanja Lange Isogeny-Based Cryptography 31

slide-103
SLIDE 103

Decomposing smooth isogenies

◮ In SIDH, #A = 2n and #B = 3m are “crypto-sized”

Vélu’s formulas take Θ(#G) to compute ϕG : E → E/G.

Tanja Lange Isogeny-Based Cryptography 32

slide-104
SLIDE 104

Decomposing smooth isogenies

◮ In SIDH, #A = 2n and #B = 3m are “crypto-sized”

Vélu’s formulas take Θ(#G) to compute ϕG : E → E/G. !! Evaluate ϕG as a chain of small-degree isogenies: For G ∼ = Z/ℓk, set ker ψi := [ℓk−i](ψi−1 ◦ · · · ◦ ψ1)(G). E E1 . . . Ek−1 E/G

ψ1 ϕG ψ2 ψk−1 ψk

Tanja Lange Isogeny-Based Cryptography 32

slide-105
SLIDE 105

Decomposing smooth isogenies

◮ In SIDH, #A = 2n and #B = 3m are “crypto-sized”

Vélu’s formulas take Θ(#G) to compute ϕG : E → E/G. !! Evaluate ϕG as a chain of small-degree isogenies: For G ∼ = Z/ℓk, set ker ψi := [ℓk−i](ψi−1 ◦ · · · ◦ ψ1)(G). E E1 . . . Ek−1 E/G

ψ1 ϕG ψ2 ψk−1 ψk

Complexity: O(k2 · ℓ). Exponentially smaller than ℓk!

“Optimal strategy” improves this to O(k log k · ℓ).

Tanja Lange Isogeny-Based Cryptography 32

slide-106
SLIDE 106

Decomposing smooth isogenies

◮ In SIDH, #A = 2n and #B = 3m are “crypto-sized”

Vélu’s formulas take Θ(#G) to compute ϕG : E → E/G. !! Evaluate ϕG as a chain of small-degree isogenies: For G ∼ = Z/ℓk, set ker ψi := [ℓk−i](ψi−1 ◦ · · · ◦ ψ1)(G). E E1 . . . Ek−1 E/G

ψ1 ϕG ψ2 ψk−1 ψk

Complexity: O(k2 · ℓ). Exponentially smaller than ℓk!

“Optimal strategy” improves this to O(k log k · ℓ).

◮ BTW: The choice of p makes sure everything stays over Fp2.

Tanja Lange Isogeny-Based Cryptography 32

slide-107
SLIDE 107

Security of SIDH

The SIDH graph has size ⌊p/12⌋ + ε. Each secret isogeny ϕA, ϕB is a walk of about log p/2 steps. Alice & Bob can choose from about √p secret keys each, so their keys are in small corners of the key space.

Tanja Lange Isogeny-Based Cryptography 33

slide-108
SLIDE 108

Security of SIDH

The SIDH graph has size ⌊p/12⌋ + ε. Each secret isogeny ϕA, ϕB is a walk of about log p/2 steps. Alice & Bob can choose from about √p secret keys each, so their keys are in small corners of the key space. Classical attacks:

◮ Cannot reuse keys without extra caution. (next slide) ◮ Meet-in-the-middle:

˜ O(p1/4) time & space.

◮ Collision finding:

˜ O(p3/8/ √memory/cores).

Tanja Lange Isogeny-Based Cryptography 33

slide-109
SLIDE 109

Security of SIDH

The SIDH graph has size ⌊p/12⌋ + ε. Each secret isogeny ϕA, ϕB is a walk of about log p/2 steps. Alice & Bob can choose from about √p secret keys each, so their keys are in small corners of the key space. Classical attacks:

◮ Cannot reuse keys without extra caution. (next slide) ◮ Meet-in-the-middle:

˜ O(p1/4) time & space.

◮ Collision finding:

˜ O(p3/8/ √memory/cores). Quantum attacks:

◮ Claw finding: claimed ˜

O(p1/6). 2019 Jaques–Schank: ˜ O(p1/4): “An adversary with enough quantum memory to run Tani’s algorithm with the query-optimal parameters could break SIKE faster by using the classical control hardware to run van Oorschot–Wiener.”

Tanja Lange Isogeny-Based Cryptography 33

slide-110
SLIDE 110

Thou shalt not reuse SIDH keys

◮ Recall: Bob sends P′ := ϕB(P) and Q′ := ϕB(Q) to Alice.

She computes A′ = P′ + [a]Q′ and, from that, obtains s.

Tanja Lange Isogeny-Based Cryptography 34

slide-111
SLIDE 111

Thou shalt not reuse SIDH keys

◮ Recall: Bob sends P′ := ϕB(P) and Q′ := ϕB(Q) to Alice.

She computes A′ = P′ + [a]Q′ and, from that, obtains s.

◮ Bob cheats and sends Q′′ := Q′ + [2n−1]P′ instead of Q′.

Alice computes A′′ = P′ + [a]Q′′.

Tanja Lange Isogeny-Based Cryptography 34

slide-112
SLIDE 112

Thou shalt not reuse SIDH keys

◮ Recall: Bob sends P′ := ϕB(P) and Q′ := ϕB(Q) to Alice.

She computes A′ = P′ + [a]Q′ and, from that, obtains s.

◮ Bob cheats and sends Q′′ := Q′ + [2n−1]P′ instead of Q′.

Alice computes A′′ = P′ + [a]Q′′. If a = 2u : [a]Q′′ = [a]Q′ + [u][2n]P′ = [a]Q′. If a = 2u+1: [a]Q′′ = [a]Q′ + [u][2n]P′ + [2n−1]P′ = [a]Q′ + [2n−1]P′.

Tanja Lange Isogeny-Based Cryptography 34

slide-113
SLIDE 113

Thou shalt not reuse SIDH keys

◮ Recall: Bob sends P′ := ϕB(P) and Q′ := ϕB(Q) to Alice.

She computes A′ = P′ + [a]Q′ and, from that, obtains s.

◮ Bob cheats and sends Q′′ := Q′ + [2n−1]P′ instead of Q′.

Alice computes A′′ = P′ + [a]Q′′. If a = 2u : [a]Q′′ = [a]Q′ + [u][2n]P′ = [a]Q′. If a = 2u+1: [a]Q′′ = [a]Q′ + [u][2n]P′ + [2n−1]P′ = [a]Q′ + [2n−1]P′. = ⇒ Bob learns the parity of a.

Tanja Lange Isogeny-Based Cryptography 34

slide-114
SLIDE 114

Thou shalt not reuse SIDH keys

◮ Recall: Bob sends P′ := ϕB(P) and Q′ := ϕB(Q) to Alice.

She computes A′ = P′ + [a]Q′ and, from that, obtains s.

◮ Bob cheats and sends Q′′ := Q′ + [2n−1]P′ instead of Q′.

Alice computes A′′ = P′ + [a]Q′′. If a = 2u : [a]Q′′ = [a]Q′ + [u][2n]P′ = [a]Q′. If a = 2u+1: [a]Q′′ = [a]Q′ + [u][2n]P′ + [2n−1]P′ = [a]Q′ + [2n−1]P′. = ⇒ Bob learns the parity of a. Similarly, he can completely recover a in O(n) queries.

Tanja Lange Isogeny-Based Cryptography 34

slide-115
SLIDE 115

Thou shalt not reuse SIDH keys

◮ Recall: Bob sends P′ := ϕB(P) and Q′ := ϕB(Q) to Alice.

She computes A′ = P′ + [a]Q′ and, from that, obtains s.

◮ Bob cheats and sends Q′′ := Q′ + [2n−1]P′ instead of Q′.

Alice computes A′′ = P′ + [a]Q′′. If a = 2u : [a]Q′′ = [a]Q′ + [u][2n]P′ = [a]Q′. If a = 2u+1: [a]Q′′ = [a]Q′ + [u][2n]P′ + [2n−1]P′ = [a]Q′ + [2n−1]P′. = ⇒ Bob learns the parity of a. Similarly, he can completely recover a in O(n) queries. Validating that Bob is honest is ≈ as hard as breaking SIDH. = ⇒ only usable with ephemeral keys or as a KEM “SIKE.”.

Tanja Lange Isogeny-Based Cryptography 34

slide-116
SLIDE 116

Comparison & open problems

Key bits where all known attacks take 2λ operations (naive serial attack metric, ignoring memory cost): pre-quantum post-quantum SIDH, SIKE (24 + o(1))λ (36 + o(1))λ compressed (14 + o(1))λ (21 + o(1))λ CRS, CSIDH (4 + o(1))λ superlinear ECDH (2 + o(1))λ exponential

  • What CSIDH key sizes are needed for

post-quantum security level 264? 296? 2128?

  • How is attack affected by occasional errors

and non-uniform distributions over the group?

Tanja Lange Isogeny-Based Cryptography 35

slide-117
SLIDE 117

Comparison & open problems

Key bits where all known attacks take 2λ operations (naive serial attack metric, ignoring memory cost): pre-quantum post-quantum SIDH, SIKE (24 + o(1))λ (36 + o(1))λ compressed (14 + o(1))λ (21 + o(1))λ CRS, CSIDH (4 + o(1))λ superlinear ECDH (2 + o(1))λ exponential

  • What CSIDH key sizes are needed for

post-quantum security level 264? 296? 2128?

  • How is attack affected by occasional errors

and non-uniform distributions over the group?

  • How expensive is each CSIDH query?

See our 2019 Eurocrypt paper—full 56-page version at https://quantum.isogeny.org/ with detailed analysis and many optimizations.

Tanja Lange Isogeny-Based Cryptography 35

slide-118
SLIDE 118

Comparison & open problems

Key bits where all known attacks take 2λ operations (naive serial attack metric, ignoring memory cost): pre-quantum post-quantum SIDH, SIKE (24 + o(1))λ (36 + o(1))λ compressed (14 + o(1))λ (21 + o(1))λ CRS, CSIDH (4 + o(1))λ superlinear ECDH (2 + o(1))λ exponential

  • What CSIDH key sizes are needed for

post-quantum security level 264? 296? 2128?

  • How is attack affected by occasional errors

and non-uniform distributions over the group?

  • How expensive is each CSIDH query?

See our 2019 Eurocrypt paper—full 56-page version at https://quantum.isogeny.org/ with detailed analysis and many optimizations.

  • What about memory, using parallel AT metric?
  • Find more attacks on SIDH. See “How to not break SIDH”

https://eprint.iacr.org/2019/558.

Tanja Lange Isogeny-Based Cryptography 35