ORIENTING SUPERSINGULAR ISOGENY GRAPHS LEONARDO COL & DAVID KOHEL - - PowerPoint PPT Presentation

orienting supersingular isogeny graphs
SMART_READER_LITE
LIVE PREVIEW

ORIENTING SUPERSINGULAR ISOGENY GRAPHS LEONARDO COL & DAVID KOHEL - - PowerPoint PPT Presentation

ORIENTING SUPERSINGULAR ISOGENY GRAPHS LEONARDO COL & DAVID KOHEL 1 / 22 Institut de Mathmatiques de Marseille Journes Nationales de Calcul Formel 2019 CIRM, Luminy, 7 February 2019 Leonardo COL ( I2M-AMU ) OSIDH 7 February 2019 2


slide-1
SLIDE 1

ORIENTING SUPERSINGULAR ISOGENY GRAPHS

LEONARDOCOLÒ & DAVIDKOHEL

Institut de Mathématiques de Marseille Journées Nationales de Calcul Formel 2019 CIRM, Luminy, 7 February 2019

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 1 / 22

slide-2
SLIDE 2

Recalls Elliptic Curves

◮ Let k be a field of characteristic = 2, 3. An elliptic curve E/k is a smooth

projective curve of genus 1 defined by a Weierstrass equation E : Y 2Z = X 3 + aXZ 2 + bZ 3 where a, b ∈ k such that 4a3 + 27b2 = 0

◮ We have a special point defined on E (point at infinity): O = (0 : 1 : 0). ◮ Affine equation of E: y2 = x3 + ax + b. ◮ The set of k-rational points on E is a group.

  • if E is defined over an algebraically closed field k of characteristic p, then

E [m] ≃ Z mZ × Z mZ E [pr] ≃

  • Z

pr Z

Ordinary Curve {O} Supersingular Curve

◮ The j-invariant of an elliptic curve E : y2 + x3 + ax + b is

j(E) = 1728 4a3 4a3 + 27b2 Two elliptic curves E and E ′ are isomorphic over k if and only if j(E) = j(E ′).

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 2 / 22

slide-3
SLIDE 3

Recalls Isogenies

◮ An isogeny φ : E1 → E2 of elliptic curves is a map that is also a surjective

group homomorphism.

◮ Among isogenies, we have the multiplication by n map ([n] : E → E) and the

Frobenius morphism (k finite field): π : (X : Y : Z) → (X p : Y p : Z p)

◮ Tate's Theorem: two elliptic curves E and F defined over a finite field k are

isogenous over k if and only if #E(k) = #F(k).

◮ The degree of an isogeny φ is deg φ = [k(E) : φ∗k(F)]. ◮ Given an isogeny φ : E → F, there is a unique isogeny ˆ

φ : F → E such that φ ◦ ˆ φ = [deg φ]F ˆ φ ◦ φ = [deg φ]E ˆ φ is called dual isogeny.

◮ If E is an elliptic curve defined over a finite field k of characteristic p, there

are ℓ + 1 distinct isogenies of degree ℓ = p with domain E defined over k.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 3 / 22

slide-4
SLIDE 4

Recalls Endomorphism Rings

Defjnition The endomorphism ring End(E) = Endk(E) of an elliptic curve E/k is the set of all isogenies E → E (together with the 0-map) endowed with sum and multiplication. Theorem (Deuring) Let E/k be an elliptic curve over a finite field k of characteristic p > 0. End(E) is isomorphic to one of the following:

  • An order O in a quadratic imaginary field; we say that E is ordinary.
  • A maximal order in a quaternion algebra; we say that E is supersingular.

Theorem (Hasse) Let E/k be defined over a finite field with q elements. Its Frobenius endomorphism satisfies a quadratic equation π2 − tπ + q = 0 for some |t| ≤ 2√q, called the trace of π.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 4 / 22

slide-5
SLIDE 5

Recalls Ordinary and Supersingular Elliptic Curves

Theorem (Serre-Tate) Two elliptic curves E0 and E1 defined over a finite field k are isogenous if and

  • nly if End(E0) ⊗Z Q ≃ End(E1) ⊗Z Q.

Defjnition An isogeny graph is a graph whose vertices are j-invariants of elliptic curves (elliptic curves up to isomorphism) and whose edges are isogenies between them.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 5 / 22

slide-6
SLIDE 6

Recalls Ordinary and Supersingular Elliptic Curves

Theorem (Serre-Tate) Two elliptic curves E0 and E1 defined over a finite field k are isogenous if and

  • nly if End(E0) ⊗Z Q ≃ End(E1) ⊗Z Q.

Defjnition An isogeny graph is a graph whose vertices are j-invariants of elliptic curves (elliptic curves up to isomorphism) and whose edges are isogenies between them. In the ordinary case, the isogeny graph has a precise structure (volcanoes):

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 5 / 22

slide-7
SLIDE 7

Recalls Ordinary and Supersingular Elliptic Curves

Theorem (Serre-Tate) Two elliptic curves E0 and E1 defined over a finite field k are isogenous if and

  • nly if End(E0) ⊗Z Q ≃ End(E1) ⊗Z Q.

Defjnition An isogeny graph is a graph whose vertices are j-invariants of elliptic curves (elliptic curves up to isomorphism) and whose edges are isogenies between them. Let End(E) = O ⊆ Q( √ D). The class group of O is Cl(O) (finite abelian group) acts on the set of elliptic curves with endomorphism ring O: E − → E/E[a] E[a] = {P ∈ E | α(P) = 0 ∀α ∈ a}

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 5 / 22

slide-8
SLIDE 8

Recalls Ordinary and Supersingular Elliptic Curves

Theorem (Serre-Tate) Two elliptic curves E0 and E1 defined over a finite field k are isogenous if and

  • nly if End(E0) ⊗Z Q ≃ End(E1) ⊗Z Q.

Defjnition An isogeny graph is a graph whose vertices are j-invariants of elliptic curves (elliptic curves up to isomorphism) and whose edges are isogenies between them. The supresingular case lack of the commutativity of Cl(O) and therefore is far more complicated.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 5 / 22

slide-9
SLIDE 9

Introduction Supersingular Isogeny Graphs

Supersingular isogeny graphs have been used in the Charles-Goren-Lauter cryptographic hash function and the supersingular isogeny Diffie--Hellman (SIDH) protocole of De Feo and Jao. A recently proposed alternative to SIDH is the commutative supersingular isogeny Diffie-Hellman (CSIDH) protocole, in which the isogeny graph is first restricted to Fp-rational curves E and Fp-rational isogenies then oriented by the subring Z[π] ⊂ End(E) generated by the Frobenius endomorphism π : E → E. We introduce a general notion of orienting supersingular elliptic curves and their isogenies, and use this as the basis to construct a general oriented supersingular isogeny Diffie-Hellman (OSIDH) protocole.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 6 / 22

slide-10
SLIDE 10

Introduction Supersingular Isogeny Graphs

Supersingular isogeny graphs have been used in the Charles-Goren-Lauter cryptographic hash function and the supersingular isogeny Diffie--Hellman (SIDH) protocole of De Feo and Jao. A recently proposed alternative to SIDH is the commutative supersingular isogeny Diffie-Hellman (CSIDH) protocole, in which the isogeny graph is first restricted to Fp-rational curves E and Fp-rational isogenies then oriented by the subring Z[π] ⊂ End(E) generated by the Frobenius endomorphism π : E → E. We introduce a general notion of orienting supersingular elliptic curves and their isogenies, and use this as the basis to construct a general oriented supersingular isogeny Diffie-Hellman (OSIDH) protocole.

E0 E1 E2 E3 E4 E5 E6 E7 E8 E9

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 6 / 22

slide-11
SLIDE 11

Introduction Supersingular Isogeny Graphs

Supersingular isogeny graphs have been used in the Charles-Goren-Lauter cryptographic hash function and the supersingular isogeny Diffie--Hellman (SIDH) protocole of De Feo and Jao. A recently proposed alternative to SIDH is the commutative supersingular isogeny Diffie-Hellman (CSIDH) protocole, in which the isogeny graph is first restricted to Fp-rational curves E and Fp-rational isogenies then oriented by the subring Z[π] ⊂ End(E) generated by the Frobenius endomorphism π : E → E. We introduce a general notion of orienting supersingular elliptic curves and their isogenies, and use this as the basis to construct a general oriented supersingular isogeny Diffie-Hellman (OSIDH) protocole.

E0 E1 E2 E3 E4 E5 E6 E7 E8 E9

Orienting via OK

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 6 / 22

slide-12
SLIDE 12

Introduction Supersingular Isogeny Graphs

Supersingular isogeny graphs have been used in the Charles-Goren-Lauter cryptographic hash function and the supersingular isogeny Diffie--Hellman (SIDH) protocole of De Feo and Jao. A recently proposed alternative to SIDH is the commutative supersingular isogeny Diffie-Hellman (CSIDH) protocole, in which the isogeny graph is first restricted to Fp-rational curves E and Fp-rational isogenies then oriented by the subring Z[π] ⊂ End(E) generated by the Frobenius endomorphism π : E → E. We introduce a general notion of orienting supersingular elliptic curves and their isogenies, and use this as the basis to construct a general oriented supersingular isogeny Diffie-Hellman (OSIDH) protocole.

E0 E1 E2 E3 E4 E5 E6 E7 E8 E9

Orienting via OK

E0 En

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 6 / 22

slide-13
SLIDE 13

Introduction Motivations

SIDH

We take two small primes ℓA and ℓB and a large prime p = ℓnA

A ℓnB B f ∓ 1 where f is

a small correction term. We also choose a random supersingular elliptic curve E/Fp2 with E(Fp2) ≃ (Z/(p ± 1)Z)2 We use isogenies φA and φB with ker- nels of order ℓea

A and ℓeB B respectively.

The following commutative diagram es- tablish the key exchange protocol:

E E/A E/B E/A, B φA φB φA,B φA,B

CSIDH

We fix n small primes ℓi and a large prime p = 4ℓ1 · . . . · ℓn − 1. We fix the supersingular elliptic curve E0 : y2 = x3 + x defined over Fp. We consider endomorphism rings defined

  • ver Fp and therefore we get End(E0) =

Z[π]. Thus we orient supersingular isogeny graphs (over Fp) using Frobe- nius. The protocol then follows the Couveignes-Rostovtsev-Stolbunov idea in the union of ℓi-isogeny graphs (over Fp):

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 7 / 22

slide-14
SLIDE 14

Introduction Setup

Suppose we are given:

◮ A maximal order OK in a quadratic imaginary field K of (small) discriminant

∆ (eg. ∆ = −3, −4).

◮ A large prime number p ramified or inert in OK. Set k = Fp2. ◮ A supersingular elliptic curve E0 defined over Fp equipped with an

embedding OK ֒ → End(E0).

  • Observe that in the supersingular case End(E0) := Endk(E0) = Endk(E0)
  • For ∆ = −3 we have j = 0 and we may take E0 : y2 = x3 + 1.

◮ A small prime ℓ (eg ℓ = 2, 3) and a chain of ℓ-isogenies

E0

− − − − →

φ0

E1

− − − − →

φ1

E2

− − − − →

φ2

. . .

− − − − − − →

φn−1

En

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 8 / 22

slide-15
SLIDE 15

Introduction Orientations

Let us consider K/Q a quadratic imaginary extension and its ring of integers OK. Defjnition A K-orientation on E/k is a homomorphism ι : K ֒ → Endk(E) ⊗ Q = End0

k(E) = B ◮ E/k has complex multiplication: if k is a finite field then either

  • K ≃ Q (π) where π = Frob(π); E is ordinary or
  • B is a quaternion algebra; E is supersingular.

Defjnition Given an order O ⊆ OK ⊆ K, a primitive O-orientation on E/k is:

◮ A K-orientation on E/k such that ◮ ι : O ∼

− − − − → ι(K) ∩ Endk(E) is an isomorphism.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 9 / 22

slide-16
SLIDE 16

Introduction Orienting Elliptic Curves

◮ Let q be a prime such that qOK = qq, i.e.,

q

  • = 1. Here we consider q

another ``small'' (bounded by some constant) prime different from ℓ. Solve for C E . This can be determined by

  • Kernel polynomial or
  • Root of

q j

X .

Solve for Ci Ei

i where now i i K

  • Pushing forward Ci, i.e., Ci

i

Ci

  • r
  • Common root of

j Fi X and

q j Ei

X .

The data of Cn (or j Fn ) and

K determine a K

  • orientation on En.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 10 / 22

slide-17
SLIDE 17

Introduction Orienting Elliptic Curves

◮ Let q be a prime such that qOK = qq, i.e.,

q

  • = 1. Here we consider q

another ``small'' (bounded by some constant) prime different from ℓ.

◮ Solve for C0 = E0[q]. This can be determined by

  • Kernel polynomial or
  • Root of Φq(j0, X).

E0 E1 E2 En F0 = E0/C0

q ℓ ℓ ℓ ℓ

Solve for Ci Ei

i where now i i K

  • Pushing forward Ci, i.e., Ci

i

Ci

  • r
  • Common root of

j Fi X and

q j Ei

X .

The data of Cn (or j Fn ) and

K determine a K

  • orientation on En.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 10 / 22

slide-18
SLIDE 18

Introduction Orienting Elliptic Curves

◮ Let q be a prime such that qOK = qq, i.e.,

q

  • = 1. Here we consider q

another ``small'' (bounded by some constant) prime different from ℓ.

◮ Solve for C0 = E0[q]. This can be determined by

  • Kernel polynomial or
  • Root of Φq(j0, X).

◮ Solve for Ci = Ei[qi] where now qi = q ∩ Z + ℓiOK

  • Pushing forward Ci, i.e., Ci = φi−1(Ci−1)or
  • Common root of Φℓ(j(Fi−1), X) and Φq(j(Ei), X).

Ci−1 ⊆ Ei−1 Ei ⊇ Ci Ei−1/Ci−1 = Fi−1 Fi = Ei/Ci

q q ℓ ℓ

The data of Cn (or j Fn ) and

K determine a K

  • orientation on En.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 10 / 22

slide-19
SLIDE 19

Introduction Orienting Elliptic Curves

◮ Let q be a prime such that qOK = qq, i.e.,

q

  • = 1. Here we consider q

another ``small'' (bounded by some constant) prime different from ℓ.

◮ Solve for C0 = E0[q]. This can be determined by

  • Kernel polynomial or
  • Root of Φq(j0, X).

◮ Solve for Ci = Ei[qi] where now qi = q ∩ Z + ℓiOK

  • Pushing forward Ci, i.e., Ci = φi−1(Ci−1)or
  • Common root of Φℓ(j(Fi−1), X) and Φq(j(Ei), X).

Ci−1 ⊆ Ei−1 Ei ⊇ Ci Ei−1/Ci−1 = Fi−1 Fi = Ei/Ci

q q ℓ ℓ

◮ The data of Cn (or j(Fn)) and q ⊆ OK determine a (K, q)-orientation on En.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 10 / 22

slide-20
SLIDE 20

OSIDH Ladders

Let E0 → E1 → E2 → . . . → En be an ℓ-isogeny chain of length n and φ : E0 → F0 an isogeny of degree q with ℓ and q two distinct ``small'' primes. Defjnition A ladder is a commutative diagram of isogenies

E0 E1 E2 En F0 F1 F2 Fn

ℓ ℓ ℓ ℓ ℓ ℓ ℓ ℓ q q q q φ

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 11 / 22

slide-21
SLIDE 21

OSIDH Ladders

Let E0 → E1 → E2 → . . . → En be an ℓ-isogeny chain of length n and φ : E0 → F0 an isogeny of degree q with ℓ and q two distinct ``small'' primes. Defjnition A ladder is a commutative diagram of isogenies

E0 E1 E2 En F0 F1 F2 Fn

ℓ ℓ ℓ ℓ ℓ ℓ ℓ ℓ q q q q φ

Modular Interpretation A modular ladder of width q and depth n is a pair of (n + 1)-tuples (j0, j1, . . . , jn) and (j′

0, j′ 1, . . . , j′ n)

such that Φℓ(ji, ji+1) = Φℓ(j′

i , j′ i+1) = Φq(ji, j′ i ) = 0

for all 0 ≤ i ≤ n

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 11 / 22

slide-22
SLIDE 22

OSIDH Ladders

Let E0 → E1 → E2 → . . . → En be an ℓ-isogeny chain of length n and φ : E0 → F0 an isogeny of degree q with ℓ and q two distinct ``small'' primes. Defjnition A ladder is a commutative diagram of isogenies

E0 E1 E2 En F0 F1 F2 Fn

ℓ ℓ ℓ ℓ ℓ ℓ ℓ ℓ q q q q φ

If q = ℓ, the ladder collapses: E0 F0 E1 E2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 11 / 22

slide-23
SLIDE 23

OSIDH Ladders

Let E0 → E1 → E2 → . . . → En be an ℓ-isogeny chain of length n and φ : E0 → F0 an isogeny of degree q with ℓ and q two distinct ``small'' primes. Defjnition A ladder is a commutative diagram of isogenies

E0 E1 E2 En F0 F1 F2 Fn

ℓ ℓ ℓ ℓ ℓ ℓ ℓ ℓ q q q q φ

A ladder is rectangular if φ : E0 → F0 is horizontal. Lemma If a ladder is rectangular, then End(Ei) = End(Fi) for all 0 ≤ i ≤ n.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 11 / 22

slide-24
SLIDE 24

OSIDH Vortices

We define a vortex to be an isogeny cycle (crater) equipped with an action of a (subgroup of) Cl(O). Cl(O) Instead of considering the union of different isogeny graphs, we focus on one single crater and we think of all the other primes as acting on it: the resulting

  • bject is a single isogeny circle rotating under the action of Cl(O).

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 12 / 22

slide-25
SLIDE 25

OSIDH Whirpools

In the same way, we define a whirpool to be a complete isogeny volcano acted

  • n by the class group. We would like to think at isogeny graphs as moving
  • bjects.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 13 / 22

slide-26
SLIDE 26

OSIDH Whirpools

In the same way, we define a whirpool to be a complete isogeny volcano acted

  • n by the class group. We would like to think at isogeny graphs as moving
  • bjects.

Actually, we would like to take the ℓ-isogeny graph on the full Cl(OK)-orbit. This might be composed of several ℓ-isogeny orbits (craters), although the class group is transitive.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 13 / 22

slide-27
SLIDE 27

OSIDH Orienting Isogeny Graphs 1

We consider an elliptic curve E0 with an effective endomorphism ring (eg. j0 = 0, 1728) and a chain of ℓ-isogenies. E0 E1 E2 En

ℓ ℓ ℓ ℓ

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 14 / 22

slide-28
SLIDE 28

OSIDH Orienting Isogeny Graphs 1

We consider an elliptic curve E0 with an effective endomorphism ring (eg. j0 = 0, 1728) and a chain of ℓ-isogenies.

◮ For ℓ = 2 or 3) a suitable candidate for OK could be the Gaussian integers

Z[i] or the Eisenstein integers. E0 E1 E2 En

ℓ ℓ ℓ ℓ OK

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 14 / 22

slide-29
SLIDE 29

OSIDH Orienting Isogeny Graphs 1

We consider an elliptic curve E0 with an effective endomorphism ring (eg. j0 = 0, 1728) and a chain of ℓ-isogenies.

◮ Horizontal isogenies must be endomorphisms

E0 E1 E2 En

ℓ ℓ ℓ ℓ OK

F0

q

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 14 / 22

slide-30
SLIDE 30

OSIDH Orienting Isogeny Graphs 1

We consider an elliptic curve E0 with an effective endomorphism ring (eg. j0 = 0, 1728) and a chain of ℓ-isogenies.

◮ We push forward our q-orientation obtaining F1.

E0 E1 E2 En

ℓ ℓ ℓ ℓ OK

F0

q

F1

ℓ q

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 14 / 22

slide-31
SLIDE 31

OSIDH Orienting Isogeny Graphs 1

We consider an elliptic curve E0 with an effective endomorphism ring (eg. j0 = 0, 1728) and a chain of ℓ-isogenies.

◮ We repeat the process for F2.

E0 E1 E2 En

ℓ ℓ ℓ ℓ OK

F0

q

F1

ℓ q

F2

ℓ q

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 14 / 22

slide-32
SLIDE 32

OSIDH Orienting Isogeny Graphs 1

We consider an elliptic curve E0 with an effective endomorphism ring (eg. j0 = 0, 1728) and a chain of ℓ-isogenies.

◮ And again till Fn.

E0 E1 E2 En

ℓ ℓ ℓ ℓ OK

F0

q

F1

ℓ q

F2

ℓ q

Fn

ℓ ℓ q

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 14 / 22

slide-33
SLIDE 33

OSIDH Orienting Isogeny Graphs 1

We consider an elliptic curve E0 with an effective endomorphism ring (eg. j0 = 0, 1728) and a chain of ℓ-isogenies. E0 E1 E2 En

ℓ ℓ ℓ ℓ OK

F0

q

F1

ℓ q

F2

ℓ q

Fn

ℓ ℓ q

How far should we go? We would like to move away from the center (E0) untill #Cl(O) is around the size of p in order to cover all supersingular curves (get all the possible choices). For instance, p ∼ 21024 and n ∼ 1024.

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 14 / 22

slide-34
SLIDE 34

OSIDH Orienting Isogeny Graphs 2

If we look at modular polynomials Φℓ(X, Y ) and Φq(X, Y ) we realize that all we need are the j-invariants: j0 j1 jn

ℓ ℓ ℓ ℓ OK

j′

q

j′

1

ℓ q ℓ q

j′

n

ℓ ℓ q

     Φℓ(j1, j2) = 0 Φℓ(j′

1, Y ) = 0

Φq(j2, Y ) = 0 Since j2 is given (the initial chain is known) and supposing that j′

1 has already

been constructed, j′

2 is determined by a system of two equations

  • Φℓ(j′

1, Y ) = 0

Φq(j2, Y ) = 0

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 15 / 22

slide-35
SLIDE 35

OSIDH Cryptographic Protocol: A First Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En ALICE BOB Choose a smooth

K-orientation of

E

E F E G

Push it forward to depth n E F F Fn

A

E G G Gn

B

Exchange data Gi

n i

Fi

n i

Compute shared secret Compute

A

Gi Compute

B

Fi In the end, both Alice and Bob will share a new chain E H Hn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 16 / 22

slide-36
SLIDE 36

OSIDH Cryptographic Protocol: A First Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En ALICE BOB Choose a smooth OK-orientation of E0

E0 F0 E0 G0

Push it forward to depth n E F F Fn

A

E G G Gn

B

Exchange data Gi

n i

Fi

n i

Compute shared secret Compute

A

Gi Compute

B

Fi In the end, both Alice and Bob will share a new chain E H Hn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 16 / 22

slide-37
SLIDE 37

OSIDH Cryptographic Protocol: A First Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En ALICE BOB Choose a smooth OK-orientation of E0

E0 F0 E0 G0

Push it forward to depth n E0 = F0 → F1 → . . . → Fn

  • φA

E0 = G0 → G1 → . . . → Gn

  • φB

Exchange data Gi

n i

Fi

n i

Compute shared secret Compute

A

Gi Compute

B

Fi In the end, both Alice and Bob will share a new chain E H Hn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 16 / 22

slide-38
SLIDE 38

OSIDH Cryptographic Protocol: A First Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En ALICE BOB Choose a smooth OK-orientation of E0

E0 F0 E0 G0

Push it forward to depth n E0 = F0 → F1 → . . . → Fn

  • φA

E0 = G0 → G1 → . . . → Gn

  • φB

Exchange data {Gi}n

i=1

{Fi}n

i=1

Compute shared secret Compute

A

Gi Compute

B

Fi In the end, both Alice and Bob will share a new chain E H Hn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 16 / 22

slide-39
SLIDE 39

OSIDH Cryptographic Protocol: A First Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En ALICE BOB Choose a smooth OK-orientation of E0

E0 F0 E0 G0

Push it forward to depth n E0 = F0 → F1 → . . . → Fn

  • φA

E0 = G0 → G1 → . . . → Gn

  • φB

Exchange data {Gi}n

i=1

{Fi}n

i=1

Compute shared secret Compute φA · {Gi} Compute φB · {Fi} In the end, both Alice and Bob will share a new chain E H Hn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 16 / 22

slide-40
SLIDE 40

OSIDH Cryptographic Protocol: A First Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En ALICE BOB Choose a smooth OK-orientation of E0

E0 F0 E0 G0

Push it forward to depth n E0 = F0 → F1 → . . . → Fn

  • φA

E0 = G0 → G1 → . . . → Gn

  • φB

Exchange data {Gi}n

i=1

{Fi}n

i=1

Compute shared secret Compute φA · {Gi} Compute φB · {Fi} In the end, both Alice and Bob will share a new chain E0 → H1 → . . . → Hn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 16 / 22

slide-41
SLIDE 41

OSIDH Cryptographic Protocol: A First Attempt (Picture)

E0 E1 E2 E3 En E′

1

E0 E1 E2 En E′′

1

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 17 / 22

slide-42
SLIDE 42

OSIDH Cryptographic Protocol: A First Attempt (Picture)

E0 E1 E2 E3 En E′

1

E0 E1 E2 En E′′

1

F0

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 17 / 22

slide-43
SLIDE 43

OSIDH Cryptographic Protocol: A First Attempt (Picture)

E0 E1 E2 E3 En E′

1

E0 E1 E2 En E′′

1

F0 F1 F1

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 17 / 22

slide-44
SLIDE 44

OSIDH Cryptographic Protocol: A First Attempt (Picture)

E0 E1 E2 E3 En E′

1

E0 E1 E2 En E′′

1

F0 F1 F1 F2 F2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 17 / 22

slide-45
SLIDE 45

OSIDH Cryptographic Protocol: A First Attempt (Picture)

E0 E1 E2 E3 En E′

1

E0 E1 E2 En E′′

1

F0 F1 F1 F2 F2 F3 F4 F5

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 17 / 22

slide-46
SLIDE 46

OSIDH Cryptographic Protocol: A First Attempt (Picture)

E0 E1 E2 E3 En E′

1

E0 E1 E2 En E′′

1

F0 F1 F1 F2 F2 F3 F4 F5 Fn Fn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 17 / 22

slide-47
SLIDE 47

OSIDH Cryptographic Protocol: A First Attempt (Picture)

E0 E1 E2 E3 En E′

1

E0 E1 E2 En F1 F2 F3 F4 F5 Fn E′′

1 = G1

G2 G3 G4 G5 Gn

G0 G1 G2 Gn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 17 / 22

slide-48
SLIDE 48

OSIDH Weak Points of the First Attempt

This first attempt presents a weak point: we know End(E0) and, at each step, we also deduce Z + ℓEnd(Ei) ⊂ End(Ei+1) = End(Fi+1) Thus, knowing Z + ℓnEnd(E0) ⊂ End(Fn), we can construct End(Fn) and this will give us information on how to construct φA - Alice's private key.1 The problem is that we pass to the other party the knowledge of the entire chain {Fi} (respectively Gi). How can we avoid this still while giving the other enogh information?

1Theorem 4.1 “On the security of supersingular isogeny cryptosystems”, S.D. Galbraith, C.

Petit, B. Shani, Y. Bo Ti, 2016

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 18 / 22

slide-49
SLIDE 49

OSIDH Cryptographic Protocol: Second Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En and a set of splitting primes p1, . . . , pt ⊆ O ⊆ End(En) ∩ K ⊆ OK ALICE BOB Choose integers in some bound r r e et d dt Construct an isogenous curve Fn En En

e et t

Gn En En

d dt t

Precompute all directions for each i

F

r n i

F

r n i

Fn i Fn G

r n i

G

r n i

Gn i Gn

... and their conjugates

Fn Fn i F r

n i

F r

n

Gn Gn i G r

n i

G r

n

Exchange data Gn directions Fn directions Compute shared data Takes ei steps in

i-isogeny chain & push

forward information for j i. Takes di steps in

i-isogeny chain & push

forward information for j i. In the end, both Alice and Bob will share the elliptic curve Hn En En

e d et dt t

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 19 / 22

slide-50
SLIDE 50

OSIDH Cryptographic Protocol: Second Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En and a set of splitting primes p1, . . . , pt ⊆ O ⊆ End(En) ∩ K ⊆ OK ALICE BOB Choose integers in some bound [−r, r] (e1, . . . , et) (d1, . . . , dt) Construct an isogenous curve Fn En En

e et t

Gn En En

d dt t

Precompute all directions for each i

F

r n i

F

r n i

Fn i Fn G

r n i

G

r n i

Gn i Gn

... and their conjugates

Fn Fn i F r

n i

F r

n

Gn Gn i G r

n i

G r

n

Exchange data Gn directions Fn directions Compute shared data Takes ei steps in

i-isogeny chain & push

forward information for j i. Takes di steps in

i-isogeny chain & push

forward information for j i. In the end, both Alice and Bob will share the elliptic curve Hn En En

e d et dt t

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 19 / 22

slide-51
SLIDE 51

OSIDH Cryptographic Protocol: Second Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En and a set of splitting primes p1, . . . , pt ⊆ O ⊆ End(En) ∩ K ⊆ OK ALICE BOB Choose integers in some bound [−r, r] (e1, . . . , et) (d1, . . . , dt) Construct an isogenous curve Fn = En/En [pe1

1 · . . . · pet t ]

Gn = En/En

  • pd1

1 · . . . · pdt t

  • Precompute all

directions for each i

F

r n i

F

r n i

Fn i Fn G

r n i

G

r n i

Gn i Gn

... and their conjugates

Fn Fn i F r

n i

F r

n

Gn Gn i G r

n i

G r

n

Exchange data Gn directions Fn directions Compute shared data Takes ei steps in

i-isogeny chain & push

forward information for j i. Takes di steps in

i-isogeny chain & push

forward information for j i. In the end, both Alice and Bob will share the elliptic curve Hn En En

e d et dt t

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 19 / 22

slide-52
SLIDE 52

OSIDH Cryptographic Protocol: Second Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En and a set of splitting primes p1, . . . , pt ⊆ O ⊆ End(En) ∩ K ⊆ OK ALICE BOB Choose integers in some bound [−r, r] (e1, . . . , et) (d1, . . . , dt) Construct an isogenous curve Fn = En/En [pe1

1 · . . . · pet t ]

Gn = En/En

  • pd1

1 · . . . · pdt t

  • Precompute all

directions for each i

F (−r)

n,i

←F (−r+1)

n,i

←...←F (1)

n,i ←Fn

G(−r)

n,i

←G(−r+1)

n,i

←...←G(1)

n,i ←Gn

... and their conjugates

Fn Fn i F r

n i

F r

n

Gn Gn i G r

n i

G r

n

Exchange data Gn directions Fn directions Compute shared data Takes ei steps in

i-isogeny chain & push

forward information for j i. Takes di steps in

i-isogeny chain & push

forward information for j i. In the end, both Alice and Bob will share the elliptic curve Hn En En

e d et dt t

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 19 / 22

slide-53
SLIDE 53

OSIDH Cryptographic Protocol: Second Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En and a set of splitting primes p1, . . . , pt ⊆ O ⊆ End(En) ∩ K ⊆ OK ALICE BOB Choose integers in some bound [−r, r] (e1, . . . , et) (d1, . . . , dt) Construct an isogenous curve Fn = En/En [pe1

1 · . . . · pet t ]

Gn = En/En

  • pd1

1 · . . . · pdt t

  • Precompute all

directions for each i

F (−r)

n,i

←F (−r+1)

n,i

←...←F (1)

n,i ←Fn

G(−r)

n,i

←G(−r+1)

n,i

←...←G(1)

n,i ←Gn

... and their conjugates

Fn→F (1)

n,i →...→F (r−1) n,i

→F (r)

n,1

Gn→G(1)

n,i →...→G(r−1) n,i

→G(r)

n,1

Exchange data Gn directions Fn directions Compute shared data Takes ei steps in

i-isogeny chain & push

forward information for j i. Takes di steps in

i-isogeny chain & push

forward information for j i. In the end, both Alice and Bob will share the elliptic curve Hn En En

e d et dt t

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 19 / 22

slide-54
SLIDE 54

OSIDH Cryptographic Protocol: Second Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En and a set of splitting primes p1, . . . , pt ⊆ O ⊆ End(En) ∩ K ⊆ OK ALICE BOB Choose integers in some bound [−r, r] (e1, . . . , et) (d1, . . . , dt) Construct an isogenous curve Fn = En/En [pe1

1 · . . . · pet t ]

Gn = En/En

  • pd1

1 · . . . · pdt t

  • Precompute all

directions for each i

F (−r)

n,i

←F (−r+1)

n,i

←...←F (1)

n,i ←Fn

G(−r)

n,i

←G(−r+1)

n,i

←...←G(1)

n,i ←Gn

... and their conjugates

Fn→F (1)

n,i →...→F (r−1) n,i

→F (r)

n,1

Gn→G(1)

n,i →...→G(r−1) n,i

→G(r)

n,1

Exchange data Gn+directions Fn+directions Compute shared data Takes ei steps in

i-isogeny chain & push

forward information for j i. Takes di steps in

i-isogeny chain & push

forward information for j i. In the end, both Alice and Bob will share the elliptic curve Hn En En

e d et dt t

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 19 / 22

slide-55
SLIDE 55

OSIDH Cryptographic Protocol: Second Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En and a set of splitting primes p1, . . . , pt ⊆ O ⊆ End(En) ∩ K ⊆ OK ALICE BOB Choose integers in some bound [−r, r] (e1, . . . , et) (d1, . . . , dt) Construct an isogenous curve Fn = En/En [pe1

1 · . . . · pet t ]

Gn = En/En

  • pd1

1 · . . . · pdt t

  • Precompute all

directions for each i

F (−r)

n,i

←F (−r+1)

n,i

←...←F (1)

n,i ←Fn

G(−r)

n,i

←G(−r+1)

n,i

←...←G(1)

n,i ←Gn

... and their conjugates

Fn→F (1)

n,i →...→F (r−1) n,i

→F (r)

n,1

Gn→G(1)

n,i →...→G(r−1) n,i

→G(r)

n,1

Exchange data Gn+directions Fn+directions Compute shared data Takes ei steps in pi-isogeny chain & push forward information for j > i. Takes di steps in pi-isogeny chain & push forward information for j > i. In the end, both Alice and Bob will share the elliptic curve Hn En En

e d et dt t

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 19 / 22

slide-56
SLIDE 56

OSIDH Cryptographic Protocol: Second Attempt

PUBLIC DATA: A chain of ℓ-isogenies E0 → E1 → . . . → En and a set of splitting primes p1, . . . , pt ⊆ O ⊆ End(En) ∩ K ⊆ OK ALICE BOB Choose integers in some bound [−r, r] (e1, . . . , et) (d1, . . . , dt) Construct an isogenous curve Fn = En/En [pe1

1 · . . . · pet t ]

Gn = En/En

  • pd1

1 · . . . · pdt t

  • Precompute all

directions for each i

F (−r)

n,i

←F (−r+1)

n,i

←...←F (1)

n,i ←Fn

G(−r)

n,i

←G(−r+1)

n,i

←...←G(1)

n,i ←Gn

... and their conjugates

Fn→F (1)

n,i →...→F (r−1) n,i

→F (r)

n,1

Gn→G(1)

n,i →...→G(r−1) n,i

→G(r)

n,1

Exchange data Gn+directions Fn+directions Compute shared data Takes ei steps in pi-isogeny chain & push forward information for j > i. Takes di steps in pi-isogeny chain & push forward information for j > i. In the end, both Alice and Bob will share the elliptic curve Hn = En/En

  • pe1+d1

1

· . . . · pet+dt

t

  • Leonardo COLÒ (I2M-AMU)

OSIDH 7 February 2019 19 / 22

slide-57
SLIDE 57

OSIDH Orientations

Fn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-58
SLIDE 58

OSIDH Orientations

Fn p1 p2 p3 p4

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-59
SLIDE 59

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-60
SLIDE 60

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

F (2)

n,1

F (r)

n,1

F (−2)

n,1

F (d1)

n,1

F (−r)

n,1

F (r)

n,2

F (−r)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-61
SLIDE 61

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

F (2)

n,1

F (r)

n,1

F (−2)

n,1

F (d1)

n,1

F (−r)

n,1

F (r)

n,2

F (−r)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-62
SLIDE 62

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

F (2)

n,1

F (r)

n,1

F (−2)

n,1

F (d1)

n,1

F (−r)

n,1

F (r)

n,2

F (−r)

n,2

F (d1,1)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-63
SLIDE 63

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

F (2)

n,1

F (r)

n,1

F (−2)

n,1

F (d1)

n,1

F (−r)

n,1

F (r)

n,2

F (−r)

n,2

F (d1,1)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-64
SLIDE 64

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

F (2)

n,1

F (r)

n,1

F (−2)

n,1

F (d1)

n,1

F (−r)

n,1

F (r)

n,2

F (−r)

n,2

F (d1,1)

n,2

F (d1,r)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-65
SLIDE 65

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

F (2)

n,1

F (r)

n,1

F (−2)

n,1

F (d1)

n,1

F (−r)

n,1

F (r)

n,2

F (−r)

n,2

F (d1,1)

n,2

F (d1,r)

n,2

F (d1,d2)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-66
SLIDE 66

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

F (2)

n,1

F (r)

n,1

F (−2)

n,1

F (d1)

n,1

F (−r)

n,1

F (r)

n,2

F (−r)

n,2

F (d1,1)

n,2

F (d1,r)

n,2

F (d1,d2)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-67
SLIDE 67

OSIDH Orientations

Fn p1 p2 p3 p4 F (−1)

n,1

F (1)

n,1

F (1)

n,2

F (−1)

n,2

F (2)

n,1

F (r)

n,1

F (−2)

n,1

F (d1)

n,1

F (−r)

n,1

F (r)

n,2

F (−r)

n,2

F (d1,1)

n,2

F (d1,r)

n,2

F (d1,d2)

n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 20 / 22

slide-68
SLIDE 68

OSIDH A Picture

E0 E1 E2 E3 En E ′

1

E ′′

1

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 21 / 22

slide-69
SLIDE 69

OSIDH A Picture

E0 E1 E2 E3 En E ′

1

E ′′

1

F1 F2 F3 F4 F5 Fn E0 E1 En E0/E0[p1] = E0 E0/E0[pe1

1 ] = E0

E0/E0[pe1

1 p2] = E0

E0/E0[pe1

1 pe2 2 ] = E0

E0/E0[pe1

1 . . . pet−1 t−1 ] = E0

E0/E0[pe1

1 . . . pet−1 t−1 pt] = E0

E0/E0[pe1

1 . . . pet t ] = E0

F (1)

n

F (e1)

n

F (e1,1)

n

F (e1,e2)

n

F (e1,...,et−1)

n

F (e1,...,et−1,1)

n

F (e1,...,et)

n

= Fn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 21 / 22

slide-70
SLIDE 70

OSIDH A Picture

E0 E1 E2 E3 En E ′

1

F1 F2 F3 F4 F5 Fn E ′′

1 = G1

G2 G3 G4 G5 Gn E0 E1 En E0/E0[p1] = E0 E0/E0[pd1

1 ] = E0

E0/E0[pd1

1 p2] = E0

E0/E0[pd1

1 pd2 2 ] = E0

E0/E0[pd1

1 . . . pdt−1 t−1 ] = E0

E0/E0[pd1

1 . . . pdt−1 t−1 pt] = E0

E0/E0[pd1

1 . . . pdt t ] = E0

G(1)

n

G(d1)

n

G(d1,1)

n

G(d1,d2)

n

G(d1,...,dt−1)

n

G(d1,...,dt−1,1)

n

G(d1,...,dt)

n

= Gn

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 21 / 22

slide-71
SLIDE 71

OSIDH A Picture

E0 E1 E2 E3 En E ′

1

F1 F2 F3 F4 F5 Fn E ′′

1 = G1

G2 G3 G4 G5 Gn

Fn p1 p2 p3 p4 F (−1) n,1 F (1) n,1 F (1) n,2 F (−1) n,2 F (2) n,1 F (r) n,1 F (−2) n,1 F (d1) n,1 F (−r) n,1 F (r) n,2 F (−r) n,2 F (d1,1) n,2 F (d1,r) n,2 F (d1,d2) n,2

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 21 / 22

slide-72
SLIDE 72

OSIDH Future Directions

This is a work in progress and we still want to develop the following aspects:

◮ Security analysis and setting security parameters. ◮ Implementation and algorithmic optimization.

MERCI POUR VOTRE ATTENTION

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 22 / 22

slide-73
SLIDE 73

OSIDH Future Directions

This is a work in progress and we still want to develop the following aspects:

◮ Security analysis and setting security parameters. ◮ Implementation and algorithmic optimization.

MERCI POUR VOTRE ATTENTION

Leonardo COLÒ (I2M-AMU) OSIDH 7 February 2019 22 / 22