Computing Cyclic Isogenies in Genus 2 with Applications in - - PowerPoint PPT Presentation

computing cyclic isogenies in genus 2 with applications
SMART_READER_LITE
LIVE PREVIEW

Computing Cyclic Isogenies in Genus 2 with Applications in - - PowerPoint PPT Presentation

Computing Cyclic Isogenies in Genus 2 with Applications in Cryptography Alina Dudeanu 1 Dimitar Jetchev 1 Damien Robert 2 1 EPF Lausanne 2 INRIA Bordeaux May 20, 2014 1/21 Introduction Elliptic and Hyperelliptic Curves Applications: Public key


slide-1
SLIDE 1

Computing Cyclic Isogenies in Genus 2 with Applications in Cryptography

Alina Dudeanu1 Dimitar Jetchev1 Damien Robert2

1EPF Lausanne 2INRIA Bordeaux

May 20, 2014

1/21

slide-2
SLIDE 2

Introduction

Elliptic and Hyperelliptic Curves Applications: Public key cryptosystems (e.g. Diffie-Hellman key exchange protocol, ElGamal). General security assessment: DLP: Given a multiplicative group G =< g > of large order r and h ∈ G, find x such that h = gx. Classical DLP: G = F∗

p, with p prime.

Subexponential attacks. Curve-based security assessment: ECDLP: Given an elliptic curve E (genus 1 ) over some Fp, then G = E(Fp). HECDLP: Given an hyperelliptic curve C of genus g over some Fp and its Jacobian Jac(C), then G = JacFp(C). Exponential attacks

2/21

slide-3
SLIDE 3

Introduction

Elliptic and Hyperelliptic Curves Applications: Public key cryptosystems (e.g. Diffie-Hellman key exchange protocol, ElGamal). General security assessment: DLP: Given a multiplicative group G =< g > of large order r and h ∈ G, find x such that h = gx. Classical DLP: G = F∗

p, with p prime.

Subexponential attacks. Curve-based security assessment: ECDLP: Given an elliptic curve E (genus 1 ) over some Fp, then G = E(Fp). HECDLP: Given an hyperelliptic curve C of genus g over some Fp and its Jacobian Jac(C), then G = JacFp(C). Exponential attacks

2/21

slide-4
SLIDE 4

Introduction

Elliptic and Hyperelliptic Curves Applications: Public key cryptosystems (e.g. Diffie-Hellman key exchange protocol, ElGamal). General security assessment: DLP: Given a multiplicative group G =< g > of large order r and h ∈ G, find x such that h = gx. Classical DLP: G = F∗

p, with p prime.

Subexponential attacks. Curve-based security assessment: ECDLP: Given an elliptic curve E (genus 1 ) over some Fp, then G = E(Fp). HECDLP: Given an hyperelliptic curve C of genus g over some Fp and its Jacobian Jac(C), then G = JacFp(C). Exponential attacks

2/21

slide-5
SLIDE 5

Genus 1 Curves

ECC: Fp, where p is a prime of recommended size. an elliptic curve E over Fp with given #E(Fp). Question Is the discrete logarithm problem equally hard on all curves having the same number of points? Answer ”Yes”, with some probability and constraints for the case of

  • rdinary elliptic curves.

Theorem (Tate)

E1, E2 defined over Fp have #E1(Fp) = #E2(Fp) iff there exists an Fp-isogeny φ: E1 → E2. An isogeny is a morphism of the form φ : E1 → E2 of some degree

  • ver Fp (rational map, regular at any point on E1) with

φ(O1) = O2.

3/21

slide-6
SLIDE 6

Genus 1 Curves

ECC: Fp, where p is a prime of recommended size. an elliptic curve E over Fp with given #E(Fp). Question Is the discrete logarithm problem equally hard on all curves having the same number of points? Answer ”Yes”, with some probability and constraints for the case of

  • rdinary elliptic curves.

Theorem (Tate)

E1, E2 defined over Fp have #E1(Fp) = #E2(Fp) iff there exists an Fp-isogeny φ: E1 → E2. An isogeny is a morphism of the form φ : E1 → E2 of some degree

  • ver Fp (rational map, regular at any point on E1) with

φ(O1) = O2.

3/21

slide-7
SLIDE 7

Genus 1 Curves

ECC: Fp, where p is a prime of recommended size. an elliptic curve E over Fp with given #E(Fp). Question Is the discrete logarithm problem equally hard on all curves having the same number of points? Answer ”Yes”, with some probability and constraints for the case of

  • rdinary elliptic curves.

Theorem (Tate)

E1, E2 defined over Fp have #E1(Fp) = #E2(Fp) iff there exists an Fp-isogeny φ: E1 → E2. An isogeny is a morphism of the form φ : E1 → E2 of some degree

  • ver Fp (rational map, regular at any point on E1) with

φ(O1) = O2.

3/21

slide-8
SLIDE 8

Genus 1 Curves

ECC: Fp, where p is a prime of recommended size. an elliptic curve E over Fp with given #E(Fp). Question Is the discrete logarithm problem equally hard on all curves having the same number of points? Answer ”Yes”, with some probability and constraints for the case of

  • rdinary elliptic curves.

Theorem (Tate)

E1, E2 defined over Fp have #E1(Fp) = #E2(Fp) iff there exists an Fp-isogeny φ: E1 → E2. An isogeny is a morphism of the form φ : E1 → E2 of some degree

  • ver Fp (rational map, regular at any point on E1) with

φ(O1) = O2.

3/21

slide-9
SLIDE 9

Isogeny Graph

#E(Fp) = 1 + p − t where t is the trace of Frobenius π End(E) - order in K = Q(√−dt), with c2

t dt = t2 − 4p.

OK ⊇ End(E) ⊇ Z[π]

4/21

slide-10
SLIDE 10

Isogeny Graph

#E(Fp) = 1 + p − t where t is the trace of Frobenius π End(E) - order in K = Q(√−dt), with c2

t dt = t2 − 4p.

OK ⊇ End(E) ⊇ Z[π]

4/21

slide-11
SLIDE 11

Isogeny Graph

#E(Fp) = 1 + p − t where t is the trace of Frobenius π End(E) - order in K = Q(√−dt), with c2

t dt = t2 − 4p.

OK ⊇ End(E) ⊇ Z[π]

4/21

slide-12
SLIDE 12

Isogeny Graph

#E(Fp) = 1 + p − t where t is the trace of Frobenius π End(E) - order in K = Q(√−dt), with c2

t dt = t2 − 4p.

OK ⊇ End(E) ⊇ Z[π]

4/21

slide-13
SLIDE 13

Genus 2 Curves

Why? Similar cost when doing arithmetic, smaller fields by a factor 2. Jacobians of curves over Fp that have the same characteristic polynomial of Frobenius = an Fp-isogeny class. Jacobians are principally polarised abelian varieties (together with embeddings in PN). An isogeny links both the varieties and their polarizations. A principal polarization is crucial in recovering a curve equation from an abelian variety that is a Jacobian. Same Question Is the DL equally hard on isomorphic classes of Jacobians in the same isogeny graph?

5/21

slide-14
SLIDE 14

Genus 2 Curves

Why? Similar cost when doing arithmetic, smaller fields by a factor 2. Jacobians of curves over Fp that have the same characteristic polynomial of Frobenius = an Fp-isogeny class. Jacobians are principally polarised abelian varieties (together with embeddings in PN). An isogeny links both the varieties and their polarizations. A principal polarization is crucial in recovering a curve equation from an abelian variety that is a Jacobian. Same Question Is the DL equally hard on isomorphic classes of Jacobians in the same isogeny graph?

5/21

slide-15
SLIDE 15

Genus 2 Curves

Why? Similar cost when doing arithmetic, smaller fields by a factor 2. Jacobians of curves over Fp that have the same characteristic polynomial of Frobenius = an Fp-isogeny class. Jacobians are principally polarised abelian varieties (together with embeddings in PN). An isogeny links both the varieties and their polarizations. A principal polarization is crucial in recovering a curve equation from an abelian variety that is a Jacobian. Same Question Is the DL equally hard on isomorphic classes of Jacobians in the same isogeny graph?

5/21

slide-16
SLIDE 16

Genus 2 Curves

Why? Similar cost when doing arithmetic, smaller fields by a factor 2. Jacobians of curves over Fp that have the same characteristic polynomial of Frobenius = an Fp-isogeny class. Jacobians are principally polarised abelian varieties (together with embeddings in PN). An isogeny links both the varieties and their polarizations. A principal polarization is crucial in recovering a curve equation from an abelian variety that is a Jacobian. Same Question Is the DL equally hard on isomorphic classes of Jacobians in the same isogeny graph?

5/21

slide-17
SLIDE 17

Genus 2 Curves

Why? Similar cost when doing arithmetic, smaller fields by a factor 2. Jacobians of curves over Fp that have the same characteristic polynomial of Frobenius = an Fp-isogeny class. Jacobians are principally polarised abelian varieties (together with embeddings in PN). An isogeny links both the varieties and their polarizations. A principal polarization is crucial in recovering a curve equation from an abelian variety that is a Jacobian. Same Question Is the DL equally hard on isomorphic classes of Jacobians in the same isogeny graph?

5/21

slide-18
SLIDE 18

Isogeny Graphs of Principally Polarized Abelian Surfaces

Computing isogenies from kernel in genus 2 is a lot harder: Canonical coordinates Polarizations: prime degree isogenies do not preserve principal polarisations. Deciding isomorphisms: deciding if two non-polarized abelian surfaces are isomorphic is a computationally hard problem. Class field theory: endomorphism rings are orders in quartic number fields. Main idea: use the theory of theta functions and the CM description of principally polarised abelian varieties

6/21

slide-19
SLIDE 19

Isogeny Graphs of Principally Polarized Abelian Surfaces

Computing isogenies from kernel in genus 2 is a lot harder: Canonical coordinates Polarizations: prime degree isogenies do not preserve principal polarisations. Deciding isomorphisms: deciding if two non-polarized abelian surfaces are isomorphic is a computationally hard problem. Class field theory: endomorphism rings are orders in quartic number fields. Main idea: use the theory of theta functions and the CM description of principally polarised abelian varieties

6/21

slide-20
SLIDE 20

Isogeny Graphs of Principally Polarized Abelian Surfaces

Computing isogenies from kernel in genus 2 is a lot harder: Canonical coordinates Polarizations: prime degree isogenies do not preserve principal polarisations. Deciding isomorphisms: deciding if two non-polarized abelian surfaces are isomorphic is a computationally hard problem. Class field theory: endomorphism rings are orders in quartic number fields. Main idea: use the theory of theta functions and the CM description of principally polarised abelian varieties

6/21

slide-21
SLIDE 21

Isogeny Graphs of Principally Polarized Abelian Surfaces

Computing isogenies from kernel in genus 2 is a lot harder: Canonical coordinates Polarizations: prime degree isogenies do not preserve principal polarisations. Deciding isomorphisms: deciding if two non-polarized abelian surfaces are isomorphic is a computationally hard problem. Class field theory: endomorphism rings are orders in quartic number fields. Main idea: use the theory of theta functions and the CM description of principally polarised abelian varieties

6/21

slide-22
SLIDE 22

Isogeny Graphs of Principally Polarized Abelian Surfaces

Computing isogenies from kernel in genus 2 is a lot harder: Canonical coordinates Polarizations: prime degree isogenies do not preserve principal polarisations. Deciding isomorphisms: deciding if two non-polarized abelian surfaces are isomorphic is a computationally hard problem. Class field theory: endomorphism rings are orders in quartic number fields. Main idea: use the theory of theta functions and the CM description of principally polarised abelian varieties

6/21

slide-23
SLIDE 23

Isogeny Graphs of Principally Polarized Abelian Surfaces

Computing isogenies from kernel in genus 2 is a lot harder: Canonical coordinates Polarizations: prime degree isogenies do not preserve principal polarisations. Deciding isomorphisms: deciding if two non-polarized abelian surfaces are isomorphic is a computationally hard problem. Class field theory: endomorphism rings are orders in quartic number fields. Main idea: use the theory of theta functions and the CM description of principally polarised abelian varieties

6/21

slide-24
SLIDE 24

Current State of the Art

The work of Cosset et Robert on (ℓ, ℓ) isogenies: The kernel is isomorphic to 1

ℓZ2/Z2.

Similar formulas to V´ elu. The (ℓ, ℓ) isogeny is the only isogeny that preserves the principal polarization of the source and target. Not all isogenies between isomorphism classes can be expressed with (ℓ, ℓ)-isogenies. The graph associated to the isogeny class may not be connected.

7/21

slide-25
SLIDE 25

Current State of the Art

The work of Cosset et Robert on (ℓ, ℓ) isogenies: The kernel is isomorphic to 1

ℓZ2/Z2.

Similar formulas to V´ elu. The (ℓ, ℓ) isogeny is the only isogeny that preserves the principal polarization of the source and target. Not all isogenies between isomorphism classes can be expressed with (ℓ, ℓ)-isogenies. The graph associated to the isogeny class may not be connected.

7/21

slide-26
SLIDE 26

Current State of the Art

The work of Cosset et Robert on (ℓ, ℓ) isogenies: The kernel is isomorphic to 1

ℓZ2/Z2.

Similar formulas to V´ elu. The (ℓ, ℓ) isogeny is the only isogeny that preserves the principal polarization of the source and target. Not all isogenies between isomorphism classes can be expressed with (ℓ, ℓ)-isogenies. The graph associated to the isogeny class may not be connected.

7/21

slide-27
SLIDE 27

Current State of the Art

The work of Cosset et Robert on (ℓ, ℓ) isogenies: The kernel is isomorphic to 1

ℓZ2/Z2.

Similar formulas to V´ elu. The (ℓ, ℓ) isogeny is the only isogeny that preserves the principal polarization of the source and target. Not all isogenies between isomorphism classes can be expressed with (ℓ, ℓ)-isogenies. The graph associated to the isogeny class may not be connected.

7/21

slide-28
SLIDE 28

Current State of the Art

The work of Cosset et Robert on (ℓ, ℓ) isogenies: The kernel is isomorphic to 1

ℓZ2/Z2.

Similar formulas to V´ elu. The (ℓ, ℓ) isogeny is the only isogeny that preserves the principal polarization of the source and target. Not all isogenies between isomorphism classes can be expressed with (ℓ, ℓ)-isogenies. The graph associated to the isogeny class may not be connected.

7/21

slide-29
SLIDE 29

Current State of the Art

The work of Cosset et Robert on (ℓ, ℓ) isogenies: The kernel is isomorphic to 1

ℓZ2/Z2.

Similar formulas to V´ elu. The (ℓ, ℓ) isogeny is the only isogeny that preserves the principal polarization of the source and target. Not all isogenies between isomorphism classes can be expressed with (ℓ, ℓ)-isogenies. The graph associated to the isogeny class may not be connected.

7/21

slide-30
SLIDE 30

Algorithm of Computing Cyclic Isogenies

Input: a prime p and a prime ℓ C a hyperlliptic curve of genus 2 defined over Fp given in Rosenhain form: y2 = x(x − 1)(x − λ)(x − µ)(x − ν)

  • s. t. EndFp(Jac(C)) ≃ O with O order in K := Q(π).

The quadratic field K0 = Q( √ D) ⊂ K and O0 := O ∩ K0. a totally positive element β ∈ O0 of norm prime ℓ a generator P in Mumford coordinates of the isogeny kernel G s.t. β · P = O. Output: C ′- a hyperelliptic curve defined over Fp s.t. Jac(C ′) ≃Fp B, with B the target of an ℓ-isogeny of kernel G.

8/21

slide-31
SLIDE 31

Algorithm of Computing Cyclic Isogenies

Input: a prime p and a prime ℓ C a hyperlliptic curve of genus 2 defined over Fp given in Rosenhain form: y2 = x(x − 1)(x − λ)(x − µ)(x − ν)

  • s. t. EndFp(Jac(C)) ≃ O with O order in K := Q(π).

The quadratic field K0 = Q( √ D) ⊂ K and O0 := O ∩ K0. a totally positive element β ∈ O0 of norm prime ℓ a generator P in Mumford coordinates of the isogeny kernel G s.t. β · P = O. Output: C ′- a hyperelliptic curve defined over Fp s.t. Jac(C ′) ≃Fp B, with B the target of an ℓ-isogeny of kernel G.

8/21

slide-32
SLIDE 32

Algorithm of Computing Cyclic Isogenies

Input: a prime p and a prime ℓ C a hyperlliptic curve of genus 2 defined over Fp given in Rosenhain form: y2 = x(x − 1)(x − λ)(x − µ)(x − ν)

  • s. t. EndFp(Jac(C)) ≃ O with O order in K := Q(π).

The quadratic field K0 = Q( √ D) ⊂ K and O0 := O ∩ K0. a totally positive element β ∈ O0 of norm prime ℓ a generator P in Mumford coordinates of the isogeny kernel G s.t. β · P = O. Output: C ′- a hyperelliptic curve defined over Fp s.t. Jac(C ′) ≃Fp B, with B the target of an ℓ-isogeny of kernel G.

8/21

slide-33
SLIDE 33

Algorithm of Computing Cyclic Isogenies

Input: a prime p and a prime ℓ C a hyperlliptic curve of genus 2 defined over Fp given in Rosenhain form: y2 = x(x − 1)(x − λ)(x − µ)(x − ν)

  • s. t. EndFp(Jac(C)) ≃ O with O order in K := Q(π).

The quadratic field K0 = Q( √ D) ⊂ K and O0 := O ∩ K0. a totally positive element β ∈ O0 of norm prime ℓ a generator P in Mumford coordinates of the isogeny kernel G s.t. β · P = O. Output: C ′- a hyperelliptic curve defined over Fp s.t. Jac(C ′) ≃Fp B, with B the target of an ℓ-isogeny of kernel G.

8/21

slide-34
SLIDE 34

Algorithm of Computing Cyclic Isogenies

Input: a prime p and a prime ℓ C a hyperlliptic curve of genus 2 defined over Fp given in Rosenhain form: y2 = x(x − 1)(x − λ)(x − µ)(x − ν)

  • s. t. EndFp(Jac(C)) ≃ O with O order in K := Q(π).

The quadratic field K0 = Q( √ D) ⊂ K and O0 := O ∩ K0. a totally positive element β ∈ O0 of norm prime ℓ a generator P in Mumford coordinates of the isogeny kernel G s.t. β · P = O. Output: C ′- a hyperelliptic curve defined over Fp s.t. Jac(C ′) ≃Fp B, with B the target of an ℓ-isogeny of kernel G.

8/21

slide-35
SLIDE 35

Algorithm of Computing Cyclic Isogenies

Input: a prime p and a prime ℓ C a hyperlliptic curve of genus 2 defined over Fp given in Rosenhain form: y2 = x(x − 1)(x − λ)(x − µ)(x − ν)

  • s. t. EndFp(Jac(C)) ≃ O with O order in K := Q(π).

The quadratic field K0 = Q( √ D) ⊂ K and O0 := O ∩ K0. a totally positive element β ∈ O0 of norm prime ℓ a generator P in Mumford coordinates of the isogeny kernel G s.t. β · P = O. Output: C ′- a hyperelliptic curve defined over Fp s.t. Jac(C ′) ≃Fp B, with B the target of an ℓ-isogeny of kernel G.

8/21

slide-36
SLIDE 36

Diagram

Let f : A → B. Let β : A → A s.t. ker(f ) ⊂ ker(β) maximal isotropic. A

ϕL0

  • A

β

  • f

B

ϕM0

  • A∗

B∗.

f ∗

  • (1)

9/21

slide-37
SLIDE 37

Algorithm Steps

  • 1. Compute a theta null point of A of level (2, 2).
  • 2. Compute a totally positive element β ∈ OK0 of norm ℓ that

corresponds to the endomorphism on A whose kernel contains G.

  • 3. Compute a theta null point of B of level (2, 2) by applying the

isogeny theorem together with Koizumi’s formulae

  • 4. Deduce an equation of a rational smooth genus 2 curve C ′

whose Jac(C ′) ≃Fp B.

10/21

slide-38
SLIDE 38

Algorithm Steps

  • 1. Compute a theta null point of A of level (2, 2).
  • 2. Compute a totally positive element β ∈ OK0 of norm ℓ that

corresponds to the endomorphism on A whose kernel contains G.

  • 3. Compute a theta null point of B of level (2, 2) by applying the

isogeny theorem together with Koizumi’s formulae

  • 4. Deduce an equation of a rational smooth genus 2 curve C ′

whose Jac(C ′) ≃Fp B.

10/21

slide-39
SLIDE 39

Algorithm Steps

  • 1. Compute a theta null point of A of level (2, 2).
  • 2. Compute a totally positive element β ∈ OK0 of norm ℓ that

corresponds to the endomorphism on A whose kernel contains G.

  • 3. Compute a theta null point of B of level (2, 2) by applying the

isogeny theorem together with Koizumi’s formulae

  • 4. Deduce an equation of a rational smooth genus 2 curve C ′

whose Jac(C ′) ≃Fp B.

10/21

slide-40
SLIDE 40

Algorithm Steps

  • 1. Compute a theta null point of A of level (2, 2).
  • 2. Compute a totally positive element β ∈ OK0 of norm ℓ that

corresponds to the endomorphism on A whose kernel contains G.

  • 3. Compute a theta null point of B of level (2, 2) by applying the

isogeny theorem together with Koizumi’s formulae

  • 4. Deduce an equation of a rational smooth genus 2 curve C ′

whose Jac(C ′) ≃Fp B.

10/21

slide-41
SLIDE 41

Algorithm Steps

  • 1. Compute a theta null point of A of level (2, 2).
  • 2. Compute a totally positive element β ∈ OK0 of norm ℓ that

corresponds to the endomorphism on A whose kernel contains G.

  • 3. Compute a theta null point of B of level (2, 2) by applying the

isogeny theorem together with Koizumi’s formulae

  • 4. Deduce an equation of a rational smooth genus 2 curve C ′

whose Jac(C ′) ≃Fp B.

10/21

slide-42
SLIDE 42

Computing the theta null point of A

We work over C. Let A := Jac(C) and let L0 be a pp on A. ∃Λ ⊂ C2 lattice rank 4 s.t. A ≃ T := C2/Λ. ∃L0 ⇒ ∃ Ω ∈ M2(C), Ω = ΩT and I(Ω) > 0 s.t. Λ = ΩZ2 + Z2. The Riemann theta function associated to Ω is Θ : C2 → C where Θ(z, Ω) :=

  • x∈Z2

eπixT Ωx+2πixT z.

11/21

slide-43
SLIDE 43

Computing the theta null point of A

We work over C. Let A := Jac(C) and let L0 be a pp on A. ∃Λ ⊂ C2 lattice rank 4 s.t. A ≃ T := C2/Λ. ∃L0 ⇒ ∃ Ω ∈ M2(C), Ω = ΩT and I(Ω) > 0 s.t. Λ = ΩZ2 + Z2. The Riemann theta function associated to Ω is Θ : C2 → C where Θ(z, Ω) :=

  • x∈Z2

eπixT Ωx+2πixT z.

11/21

slide-44
SLIDE 44

Computing the theta null point of A

We work over C. Let A := Jac(C) and let L0 be a pp on A. ∃Λ ⊂ C2 lattice rank 4 s.t. A ≃ T := C2/Λ. ∃L0 ⇒ ∃ Ω ∈ M2(C), Ω = ΩT and I(Ω) > 0 s.t. Λ = ΩZ2 + Z2. The Riemann theta function associated to Ω is Θ : C2 → C where Θ(z, Ω) :=

  • x∈Z2

eπixT Ωx+2πixT z.

11/21

slide-45
SLIDE 45

Computing the theta null point of A

We work over C. Let A := Jac(C) and let L0 be a pp on A. ∃Λ ⊂ C2 lattice rank 4 s.t. A ≃ T := C2/Λ. ∃L0 ⇒ ∃ Ω ∈ M2(C), Ω = ΩT and I(Ω) > 0 s.t. Λ = ΩZ2 + Z2. The Riemann theta function associated to Ω is Θ : C2 → C where Θ(z, Ω) :=

  • x∈Z2

eπixT Ωx+2πixT z.

11/21

slide-46
SLIDE 46

Computing the theta null point of A

We work over C. Let A := Jac(C) and let L0 be a pp on A. ∃Λ ⊂ C2 lattice rank 4 s.t. A ≃ T := C2/Λ. ∃L0 ⇒ ∃ Ω ∈ M2(C), Ω = ΩT and I(Ω) > 0 s.t. Λ = ΩZ2 + Z2. The Riemann theta function associated to Ω is Θ : C2 → C where Θ(z, Ω) :=

  • x∈Z2

eπixT Ωx+2πixT z.

11/21

slide-47
SLIDE 47

Computing the theta null point of A

We work over C. Let A := Jac(C) and let L0 be a pp on A. ∃Λ ⊂ C2 lattice rank 4 s.t. A ≃ T := C2/Λ. ∃L0 ⇒ ∃ Ω ∈ M2(C), Ω = ΩT and I(Ω) > 0 s.t. Λ = ΩZ2 + Z2. The Riemann theta function associated to Ω is Θ : C2 → C where Θ(z, Ω) :=

  • x∈Z2

eπixT Ωx+2πixT z.

11/21

slide-48
SLIDE 48

Computing the theta null point of A

For n ∈ Z>0 and i ∈ Z(n) := 1

nZ2/Z2, let

θi(z) := Θ(z + i, Ω

n ).

The space generated by (θi(z))i∈ 1

n Z2/Z2 is the space of theta

functions of level n. If n = k2, there exists another basis given by theta functions

  • f level (k, k), with indexes a, b ∈ Z(k).

When n ≥ 3: z ∈ T − → (θi(z))i∈Z(n) ∈ Pn2−1(C) is an embedding. (θi(0))i∈Z(n) identifies the abelian variety uniquely in Pn2−1(C).

12/21

slide-49
SLIDE 49

Computing the theta null point of A

For n ∈ Z>0 and i ∈ Z(n) := 1

nZ2/Z2, let

θi(z) := Θ(z + i, Ω

n ).

The space generated by (θi(z))i∈ 1

n Z2/Z2 is the space of theta

functions of level n. If n = k2, there exists another basis given by theta functions

  • f level (k, k), with indexes a, b ∈ Z(k).

When n ≥ 3: z ∈ T − → (θi(z))i∈Z(n) ∈ Pn2−1(C) is an embedding. (θi(0))i∈Z(n) identifies the abelian variety uniquely in Pn2−1(C).

12/21

slide-50
SLIDE 50

Computing the theta null point of A

For n ∈ Z>0 and i ∈ Z(n) := 1

nZ2/Z2, let

θi(z) := Θ(z + i, Ω

n ).

The space generated by (θi(z))i∈ 1

n Z2/Z2 is the space of theta

functions of level n. If n = k2, there exists another basis given by theta functions

  • f level (k, k), with indexes a, b ∈ Z(k).

When n ≥ 3: z ∈ T − → (θi(z))i∈Z(n) ∈ Pn2−1(C) is an embedding. (θi(0))i∈Z(n) identifies the abelian variety uniquely in Pn2−1(C).

12/21

slide-51
SLIDE 51

Computing the theta null point of A

For n ∈ Z>0 and i ∈ Z(n) := 1

nZ2/Z2, let

θi(z) := Θ(z + i, Ω

n ).

The space generated by (θi(z))i∈ 1

n Z2/Z2 is the space of theta

functions of level n. If n = k2, there exists another basis given by theta functions

  • f level (k, k), with indexes a, b ∈ Z(k).

When n ≥ 3: z ∈ T − → (θi(z))i∈Z(n) ∈ Pn2−1(C) is an embedding. (θi(0))i∈Z(n) identifies the abelian variety uniquely in Pn2−1(C).

12/21

slide-52
SLIDE 52

Computing the theta null point of A

For n ∈ Z>0 and i ∈ Z(n) := 1

nZ2/Z2, let

θi(z) := Θ(z + i, Ω

n ).

The space generated by (θi(z))i∈ 1

n Z2/Z2 is the space of theta

functions of level n. If n = k2, there exists another basis given by theta functions

  • f level (k, k), with indexes a, b ∈ Z(k).

When n ≥ 3: z ∈ T − → (θi(z))i∈Z(n) ∈ Pn2−1(C) is an embedding. (θi(0))i∈Z(n) identifies the abelian variety uniquely in Pn2−1(C).

12/21

slide-53
SLIDE 53

Computing the theta null point of A

For n ∈ Z>0 and i ∈ Z(n) := 1

nZ2/Z2, let

θi(z) := Θ(z + i, Ω

n ).

The space generated by (θi(z))i∈ 1

n Z2/Z2 is the space of theta

functions of level n. If n = k2, there exists another basis given by theta functions

  • f level (k, k), with indexes a, b ∈ Z(k).

When n ≥ 3: z ∈ T − → (θi(z))i∈Z(n) ∈ Pn2−1(C) is an embedding. (θi(0))i∈Z(n) identifies the abelian variety uniquely in Pn2−1(C).

12/21

slide-54
SLIDE 54

Computing the theta null point of A

Over Fp, given {0, 1, λ, µ, ν}, we deduce the theta null point

  • f level (2, 2) (over some extension of Fp) via Thomae’s

formulae. For any x ∈ A, the algebraic theta coordinates are deduced from Mumford coordinates. (ℓ, ℓ) isogenies: A A

[ℓ]

  • f

B

(2, 2) (2ℓ, 2ℓ) (2, 2). ℓ cyclic isogenies: A A

β

  • f

B

(2, 2) (2ℓ, 2) (2, 2).

13/21

slide-55
SLIDE 55

Computing the theta null point of A

Over Fp, given {0, 1, λ, µ, ν}, we deduce the theta null point

  • f level (2, 2) (over some extension of Fp) via Thomae’s

formulae. For any x ∈ A, the algebraic theta coordinates are deduced from Mumford coordinates. (ℓ, ℓ) isogenies: A A

[ℓ]

  • f

B

(2, 2) (2ℓ, 2ℓ) (2, 2). ℓ cyclic isogenies: A A

β

  • f

B

(2, 2) (2ℓ, 2) (2, 2).

13/21

slide-56
SLIDE 56

Computing the theta null point of A

Over Fp, given {0, 1, λ, µ, ν}, we deduce the theta null point

  • f level (2, 2) (over some extension of Fp) via Thomae’s

formulae. For any x ∈ A, the algebraic theta coordinates are deduced from Mumford coordinates. (ℓ, ℓ) isogenies: A A

[ℓ]

  • f

B

(2, 2) (2ℓ, 2ℓ) (2, 2). ℓ cyclic isogenies: A A

β

  • f

B

(2, 2) (2ℓ, 2) (2, 2).

13/21

slide-57
SLIDE 57

Computing the theta null point of A

Over Fp, given {0, 1, λ, µ, ν}, we deduce the theta null point

  • f level (2, 2) (over some extension of Fp) via Thomae’s

formulae. For any x ∈ A, the algebraic theta coordinates are deduced from Mumford coordinates. (ℓ, ℓ) isogenies: A A

[ℓ]

  • f

B

(2, 2) (2ℓ, 2ℓ) (2, 2). ℓ cyclic isogenies: A A

β

  • f

B

(2, 2) (2ℓ, 2) (2, 2).

13/21

slide-58
SLIDE 58

Computing the theta null point of A

Over Fp, given {0, 1, λ, µ, ν}, we deduce the theta null point

  • f level (2, 2) (over some extension of Fp) via Thomae’s

formulae. For any x ∈ A, the algebraic theta coordinates are deduced from Mumford coordinates. (ℓ, ℓ) isogenies: A A

[ℓ]

  • f

B

(2, 2) (2ℓ, 2ℓ) (2, 2). ℓ cyclic isogenies: A A

β

  • f

B

(2, 2) (2ℓ, 2) (2, 2).

13/21

slide-59
SLIDE 59

Computing a theta null point of the target B

Compute the action of β on A by applying a Koizumi type formulas with F ∈ GLr(K0) s. t. F TF = βId. Compute the action of F on A and on the sets of indexes of theta functions. Compute the theta null point of B from the theta point of level (2ℓ, 2). For x = 0, we consider any index i and (j1, j2) the preimage of (i, 0) by F θB

i (f (x))θB 0 (0) = λaxλbx

  • t∈G

θA

j1(ax + at)θA j2(bx + bt),

(2)

14/21

slide-60
SLIDE 60

Computing a theta null point of the target B

Compute the action of β on A by applying a Koizumi type formulas with F ∈ GLr(K0) s. t. F TF = βId. Compute the action of F on A and on the sets of indexes of theta functions. Compute the theta null point of B from the theta point of level (2ℓ, 2). For x = 0, we consider any index i and (j1, j2) the preimage of (i, 0) by F θB

i (f (x))θB 0 (0) = λaxλbx

  • t∈G

θA

j1(ax + at)θA j2(bx + bt),

(2)

14/21

slide-61
SLIDE 61

Computing a theta null point of the target B

Compute the action of β on A by applying a Koizumi type formulas with F ∈ GLr(K0) s. t. F TF = βId. Compute the action of F on A and on the sets of indexes of theta functions. Compute the theta null point of B from the theta point of level (2ℓ, 2). For x = 0, we consider any index i and (j1, j2) the preimage of (i, 0) by F θB

i (f (x))θB 0 (0) = λaxλbx

  • t∈G

θA

j1(ax + at)θA j2(bx + bt),

(2)

14/21

slide-62
SLIDE 62

Computing a theta null point of the target B

Compute the action of β on A by applying a Koizumi type formulas with F ∈ GLr(K0) s. t. F TF = βId. Compute the action of F on A and on the sets of indexes of theta functions. Compute the theta null point of B from the theta point of level (2ℓ, 2). For x = 0, we consider any index i and (j1, j2) the preimage of (i, 0) by F θB

i (f (x))θB 0 (0) = λaxλbx

  • t∈G

θA

j1(ax + at)θA j2(bx + bt),

(2)

14/21

slide-63
SLIDE 63

Computing a theta null point of the target B

Compute the action of β on A by applying a Koizumi type formulas with F ∈ GLr(K0) s. t. F TF = βId. Compute the action of F on A and on the sets of indexes of theta functions. Compute the theta null point of B from the theta point of level (2ℓ, 2). For x = 0, we consider any index i and (j1, j2) the preimage of (i, 0) by F θB

i (f (x))θB 0 (0) = λaxλbx

  • t∈G

θA

j1(ax + at)θA j2(bx + bt),

(2)

14/21

slide-64
SLIDE 64

Computing the image of x on the target B

Equation (2) depends on x, hence we cannot work with projective points. There is no canonical way of defining affine theta coordinates

  • ver Fp.

We need to choose the affine lifts in a compatible way, i.e., each product on the right hand side should have the same λ. The affine lifts should not depend on t.

15/21

slide-65
SLIDE 65

Computing the image of x on the target B

Equation (2) depends on x, hence we cannot work with projective points. There is no canonical way of defining affine theta coordinates

  • ver Fp.

We need to choose the affine lifts in a compatible way, i.e., each product on the right hand side should have the same λ. The affine lifts should not depend on t.

15/21

slide-66
SLIDE 66

Computing the image of x on the target B

Equation (2) depends on x, hence we cannot work with projective points. There is no canonical way of defining affine theta coordinates

  • ver Fp.

We need to choose the affine lifts in a compatible way, i.e., each product on the right hand side should have the same λ. The affine lifts should not depend on t.

15/21

slide-67
SLIDE 67

Computing the image of x on the target B

Equation (2) depends on x, hence we cannot work with projective points. There is no canonical way of defining affine theta coordinates

  • ver Fp.

We need to choose the affine lifts in a compatible way, i.e., each product on the right hand side should have the same λ. The affine lifts should not depend on t.

15/21

slide-68
SLIDE 68

Computing the image of x on the target B

Equation (2) depends on x, hence we cannot work with projective points. There is no canonical way of defining affine theta coordinates

  • ver Fp.

We need to choose the affine lifts in a compatible way, i.e., each product on the right hand side should have the same λ. The affine lifts should not depend on t.

15/21

slide-69
SLIDE 69

Computing the image of x via f on the target B

a, b ∈ K0 can be expressed in terms of Frobenius π over Fpk, for k the extension degree s.t. the theta null point is over Fpk. Fix embeddings EndQ → K → C. √ D can be written as a degree 3 polynomial in complex root π of X 4 − s1X 3 + (s2 + 2q)X 2 − qs1X + q2, where q = pk, for some k,s2

1 − 4s2 > 0, s2 + 4q > 2|s1|√q,

|s1| ≤ 4√q and |s2| ≤ 4q. When computing the action of F on ℓ torsion points, computations modulo ℓ ⇒ the matrix elements are polynomials in Z/ℓZ[X]. When computing the action of F on 4 torsion points, the matrix has elements modulo 4.

16/21

slide-70
SLIDE 70

Computing the image of x via f on the target B

a, b ∈ K0 can be expressed in terms of Frobenius π over Fpk, for k the extension degree s.t. the theta null point is over Fpk. Fix embeddings EndQ → K → C. √ D can be written as a degree 3 polynomial in complex root π of X 4 − s1X 3 + (s2 + 2q)X 2 − qs1X + q2, where q = pk, for some k,s2

1 − 4s2 > 0, s2 + 4q > 2|s1|√q,

|s1| ≤ 4√q and |s2| ≤ 4q. When computing the action of F on ℓ torsion points, computations modulo ℓ ⇒ the matrix elements are polynomials in Z/ℓZ[X]. When computing the action of F on 4 torsion points, the matrix has elements modulo 4.

16/21

slide-71
SLIDE 71

Computing the image of x via f on the target B

a, b ∈ K0 can be expressed in terms of Frobenius π over Fpk, for k the extension degree s.t. the theta null point is over Fpk. Fix embeddings EndQ → K → C. √ D can be written as a degree 3 polynomial in complex root π of X 4 − s1X 3 + (s2 + 2q)X 2 − qs1X + q2, where q = pk, for some k,s2

1 − 4s2 > 0, s2 + 4q > 2|s1|√q,

|s1| ≤ 4√q and |s2| ≤ 4q. When computing the action of F on ℓ torsion points, computations modulo ℓ ⇒ the matrix elements are polynomials in Z/ℓZ[X]. When computing the action of F on 4 torsion points, the matrix has elements modulo 4.

16/21

slide-72
SLIDE 72

Computing the image of x via f on the target B

a, b ∈ K0 can be expressed in terms of Frobenius π over Fpk, for k the extension degree s.t. the theta null point is over Fpk. Fix embeddings EndQ → K → C. √ D can be written as a degree 3 polynomial in complex root π of X 4 − s1X 3 + (s2 + 2q)X 2 − qs1X + q2, where q = pk, for some k,s2

1 − 4s2 > 0, s2 + 4q > 2|s1|√q,

|s1| ≤ 4√q and |s2| ≤ 4q. When computing the action of F on ℓ torsion points, computations modulo ℓ ⇒ the matrix elements are polynomials in Z/ℓZ[X]. When computing the action of F on 4 torsion points, the matrix has elements modulo 4.

16/21

slide-73
SLIDE 73

Computing the image of x via f on the target B

a, b ∈ K0 can be expressed in terms of Frobenius π over Fpk, for k the extension degree s.t. the theta null point is over Fpk. Fix embeddings EndQ → K → C. √ D can be written as a degree 3 polynomial in complex root π of X 4 − s1X 3 + (s2 + 2q)X 2 − qs1X + q2, where q = pk, for some k,s2

1 − 4s2 > 0, s2 + 4q > 2|s1|√q,

|s1| ≤ 4√q and |s2| ≤ 4q. When computing the action of F on ℓ torsion points, computations modulo ℓ ⇒ the matrix elements are polynomials in Z/ℓZ[X]. When computing the action of F on 4 torsion points, the matrix has elements modulo 4.

16/21

slide-74
SLIDE 74

Computing the image of x via f on the target B

a, b ∈ K0 can be expressed in terms of Frobenius π over Fpk, for k the extension degree s.t. the theta null point is over Fpk. Fix embeddings EndQ → K → C. √ D can be written as a degree 3 polynomial in complex root π of X 4 − s1X 3 + (s2 + 2q)X 2 − qs1X + q2, where q = pk, for some k,s2

1 − 4s2 > 0, s2 + 4q > 2|s1|√q,

|s1| ≤ 4√q and |s2| ≤ 4q. When computing the action of F on ℓ torsion points, computations modulo ℓ ⇒ the matrix elements are polynomials in Z/ℓZ[X]. When computing the action of F on 4 torsion points, the matrix has elements modulo 4.

16/21

slide-75
SLIDE 75

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-76
SLIDE 76

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-77
SLIDE 77

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-78
SLIDE 78

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-79
SLIDE 79

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-80
SLIDE 80

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-81
SLIDE 81

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-82
SLIDE 82

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-83
SLIDE 83

Computing the image of x via f on the target B

Let a := 3

k=0 akπk, with ak ∈ Z/mZ.

When working with affine coordinates, we need to keep track of the projective factors after each operation. To compute P + Q, we need P, Q, P − Q ( pseudo-addition). s · P, πP are easy to compute. We can compute a(x + t) if we have all combinations of two

  • points. They depend on

x: normal addition, arbitrary factor t : λℓ

t = αt, for some known αt

x and t : find t′ ∈ G s.t. x and t′ have the same coefficient.

17/21

slide-84
SLIDE 84

Computing the equation of the target curve

We deduce a Rosenhain form of the target hyperelliptic curve of the form y2 = x(x − 1)(x − λ)(x − µ)(x − ν) by using the theta constants of level (2, 2): λ = θ2

0θ2 8

θ2

4θ2 12

, µ = θ2

8θ2 2

θ2

12θ2 6

, ν = θ2

2θ2

θ2

6θ2 4

. In case the hyperelliptic curve is over an extension field, we apply Mestre’s algorithm. Algorithm complexity Polynomial in ℓ and further, in log p.

18/21

slide-85
SLIDE 85

Computing the equation of the target curve

We deduce a Rosenhain form of the target hyperelliptic curve of the form y2 = x(x − 1)(x − λ)(x − µ)(x − ν) by using the theta constants of level (2, 2): λ = θ2

0θ2 8

θ2

4θ2 12

, µ = θ2

8θ2 2

θ2

12θ2 6

, ν = θ2

2θ2

θ2

6θ2 4

. In case the hyperelliptic curve is over an extension field, we apply Mestre’s algorithm. Algorithm complexity Polynomial in ℓ and further, in log p.

18/21

slide-86
SLIDE 86

Random Self-Reducibility of Discrete Logarithms - genus 1

Using vertical isogenies, reduce the problem to two curves on the top layer OK Via complex multiplication theory, the curves on the top layer (after liftings to characteristic zero) correspond to C/a where ∈Cl(OK) Get a Cayley graph whose vertices are the curves in the top layer (in bijection with Pic(OK) and whose edges correspond to prime ideals of small norm of OK Conclusion: via random walks, discrete log is, with some probability, comparatively hard on all curves in an isogeny class (Jao–Miller–Venkatesan’05) Goal: what can we say about curves of genus 2?

19/21

slide-87
SLIDE 87

Random Self-Reducibility of Discrete Logarithms - genus 1

Using vertical isogenies, reduce the problem to two curves on the top layer OK Via complex multiplication theory, the curves on the top layer (after liftings to characteristic zero) correspond to C/a where ∈Cl(OK) Get a Cayley graph whose vertices are the curves in the top layer (in bijection with Pic(OK) and whose edges correspond to prime ideals of small norm of OK Conclusion: via random walks, discrete log is, with some probability, comparatively hard on all curves in an isogeny class (Jao–Miller–Venkatesan’05) Goal: what can we say about curves of genus 2?

19/21

slide-88
SLIDE 88

Random Self-Reducibility of Discrete Logarithms - genus 1

Using vertical isogenies, reduce the problem to two curves on the top layer OK Via complex multiplication theory, the curves on the top layer (after liftings to characteristic zero) correspond to C/a where ∈Cl(OK) Get a Cayley graph whose vertices are the curves in the top layer (in bijection with Pic(OK) and whose edges correspond to prime ideals of small norm of OK Conclusion: via random walks, discrete log is, with some probability, comparatively hard on all curves in an isogeny class (Jao–Miller–Venkatesan’05) Goal: what can we say about curves of genus 2?

19/21

slide-89
SLIDE 89

Random Self-Reducibility of Discrete Logarithms - genus 1

Using vertical isogenies, reduce the problem to two curves on the top layer OK Via complex multiplication theory, the curves on the top layer (after liftings to characteristic zero) correspond to C/a where ∈Cl(OK) Get a Cayley graph whose vertices are the curves in the top layer (in bijection with Pic(OK) and whose edges correspond to prime ideals of small norm of OK Conclusion: via random walks, discrete log is, with some probability, comparatively hard on all curves in an isogeny class (Jao–Miller–Venkatesan’05) Goal: what can we say about curves of genus 2?

19/21

slide-90
SLIDE 90

Isogeny Graph and the random-self reducibility of DLP

Application: DLP on A can be reduced in polynomial time to the DLP on B. Claim: Under GRH, the DLP in genus 2 is random-self reducible: Given a fixed order O in K, given any algorithm Alg that solves the DL on some 1/(polynomial in log p) percentage of Jacobians of e.r. O, one can solve probabilistically the DL on any Jacobian of e.r. O in polynomial in log p expected queries to Alg with random inputs.

20/21

slide-91
SLIDE 91

Isogeny Graph and the random-self reducibility of DLP

Application: DLP on A can be reduced in polynomial time to the DLP on B. Claim: Under GRH, the DLP in genus 2 is random-self reducible: Given a fixed order O in K, given any algorithm Alg that solves the DL on some 1/(polynomial in log p) percentage of Jacobians of e.r. O, one can solve probabilistically the DL on any Jacobian of e.r. O in polynomial in log p expected queries to Alg with random inputs.

20/21

slide-92
SLIDE 92

Thank you.

21/21