Solving relative norm equations in abelian number fjelds Andreas - - PowerPoint PPT Presentation

solving relative norm equations in abelian number fjelds
SMART_READER_LITE
LIVE PREVIEW

Solving relative norm equations in abelian number fjelds Andreas - - PowerPoint PPT Presentation

Solving relative norm equations in abelian number fjelds Andreas Enge LFANT project-team INRIA BordeauxSud-Ouest andreas.enge@inria.fr http://www.math.u-bordeaux.fr/~aenge Finite Geometries, Fifth Irsee Conference, 15 September 2017 (joint


slide-1
SLIDE 1

Solving relative norm equations in abelian number fjelds

Andreas Enge

LFANT project-team INRIA Bordeaux–Sud-Ouest andreas.enge@inria.fr http://www.math.u-bordeaux.fr/~aenge

Finite Geometries, Fifth Irsee Conference, 15 September 2017 (joint work with Bernhard Schmidt, NTU, Singapore)

Andreas Enge Solving norm equations Irsee 2017 1

slide-2
SLIDE 2

Solving norm equations

1

Relative norm equations and fjnite geometry

2

Abelian number fjelds and well-known algorithms

3

Gentry-Szydlo type algorithm for abelian fjelds

4

Implementation and results

Andreas Enge Solving norm equations Irsee 2017 1

slide-3
SLIDE 3

Circulant Hadamard matrices

H =      h0 h1 h2 · · · hn−1 hn−1 h0 h1 · · · hn−2 . . . . . . . . . . . . . . . h1 h2 h3i · · · h0      with hi ∈ {±1}, H · HT = n · id Let

n i

hi

i n

Then n

Andreas Enge Solving norm equations Irsee 2017 1

slide-4
SLIDE 4

Circulant Hadamard matrices

H =      h0 h1 h2 · · · hn−1 hn−1 h0 h1 · · · hn−2 . . . . . . . . . . . . . . . h1 h2 h3i · · · h0      with hi ∈ {±1}, H · HT = n · id Let χ =

n−1

i=0

hi ζi

n.

Then χχ = n

Andreas Enge Solving norm equations Irsee 2017 1

slide-5
SLIDE 5

Abelian difgerence sets

D ⊆ G ↔ D = ∑

g∈D

1 · ⟨g⟩ ∈ Z[G] D

g D

g D a v k

  • difgerence set

DD

g G

g k k G G

i v

i v D D k n Cyclic case: D v D

i D i v

Andreas Enge Solving norm equations Irsee 2017 2

slide-6
SLIDE 6

Abelian difgerence sets

D ⊆ G ↔ D = ∑

g∈D

1 · ⟨g⟩ ∈ Z[G] D = ∑

g∈D

1 · ⟨g−1⟩ D a (v, k, λ)-difgerence set ⇔ DD = ∑

g∈G\{1}

λ · ⟨g⟩ + k · ⟨1⟩ = (k − λ) · ⟨1⟩ + λ · G G

i v

i v D D k n Cyclic case: D v D

i D i v

Andreas Enge Solving norm equations Irsee 2017 2

slide-7
SLIDE 7

Abelian difgerence sets

D ⊆ G ↔ D = ∑

g∈D

1 · ⟨g⟩ ∈ Z[G] D = ∑

g∈D

1 · ⟨g−1⟩ D a (v, k, λ)-difgerence set ⇔ DD = ∑

g∈G\{1}

λ · ⟨g⟩ + k · ⟨1⟩ = (k − λ) · ⟨1⟩ + λ · G χ : G → {ζi

v : i = 0, . . . , v − 1} ⊆ C

χ(D)χ(D) = k − λ = n Cyclic case: D ⊆ {0, . . . , v − 1}, χ(D) = ∑

i∈D

ζi

v

Andreas Enge Solving norm equations Irsee 2017 2

slide-8
SLIDE 8

Solving norm equations

1

Relative norm equations and fjnite geometry

2

Abelian number fjelds and well-known algorithms

3

Gentry-Szydlo type algorithm for abelian fjelds

4

Implementation and results

Andreas Enge Solving norm equations Irsee 2017 3

slide-9
SLIDE 9

(Abelian) number fjelds

Q(ζv) = Q(ζ2387) K = Q[X]/f(X) Q Z[ζ2387] Z[X]/f Z 30 60 Ex.: f = Φv(X) σ : K → C, X → root of f σi : X → ζi

v for gcd(v, i) = 1

Trace Tr K Positive defjnite bilinear form T Tr T

Andreas Enge Solving norm equations Irsee 2017 3

slide-10
SLIDE 10

(Abelian) number fjelds

Q(ζv) = Q(ζ2387) K = Q[X]/f(X) Q Z[ζ2387] Z[X]/f Z 30 60 Ex.: f = Φv(X) σ : K → C, X → root of f σi : X → ζi

v for gcd(v, i) = 1

Trace Tr : K → Q α → ∑

σ

σ(α) Positive defjnite bilinear form T(α, β) = Tr(α · β) T(α, α) = ∑

σ

σ(α)σ(α)

Andreas Enge Solving norm equations Irsee 2017 3

slide-11
SLIDE 11

Ideal factorisation

χχ = n ⇒ aa = (n) with a = (χ) Ex.: (n) = ppqq ⇒ a = pq; pq; pq; pq Look for generator χ of pq or pq. Heuristic: is “small” LLL fjnds element with small T-norm in the lattice

  • f dimension deg K .

More advanced algorithm: Compute class group and generalised discrete logarithm in it. subexponential

Andreas Enge Solving norm equations Irsee 2017 4

slide-12
SLIDE 12

Ideal factorisation

χχ = n ⇒ aa = (n) with a = (χ) Ex.: (n) = ppqq ⇒ a = pq; pq; pq; pq Look for generator χ of pq or pq. Heuristic: χ is “small” LLL fjnds element with small T-norm in the lattice a of dimension deg(K). More advanced algorithm: Compute class group and generalised discrete logarithm in it. subexponential

Andreas Enge Solving norm equations Irsee 2017 4

slide-13
SLIDE 13

Ideal factorisation

χχ = n ⇒ aa = (n) with a = (χ) Ex.: (n) = ppqq ⇒ a = pq; pq; pq; pq Look for generator χ of pq or pq. Heuristic: χ is “small” LLL fjnds element with small T-norm in the lattice a of dimension deg(K). More advanced algorithm: Compute class group and generalised discrete logarithm in it. subexponential

Andreas Enge Solving norm equations Irsee 2017 4

slide-14
SLIDE 14

Solving norm equations

1

Relative norm equations and fjnite geometry

2

Abelian number fjelds and well-known algorithms

3

Gentry-Szydlo type algorithm for abelian fjelds

4

Implementation and results

Andreas Enge Solving norm equations Irsee 2017 5

slide-15
SLIDE 15

History

Given a and n with aa = (n), output χ s.t. χχ = n or failure. Gentry–Szydlo (2002)

▶ algorithm for f = Xv − 1 ▶ breaks lattice based cryptosystems in practice

Lenstra–Silverberg (2014)

▶ deterministic polynomial time complexity

Kirchner (2016)

▶ generalisation to CM number fjelds ▶ claim of polynomial complexity doubtful ▶ code not available

E.–Schmidt (2017)

▶ generalisation to abelian number fjelds ▶ polynomial complexity very probable Andreas Enge Solving norm equations Irsee 2017 5

slide-16
SLIDE 16

Ideas

Given a and w ∈ K with aa = (w), output χ s.t. χχ = w. First idea: Use adapted T-norm Tw(x, y) = Tr(xy/w) ∈ Z for x, y ∈ a Tw(χ, χ) = deg(K) Second (rough) idea: Choose (totally split) large prime P and let e P . Compute

e e with e e

we and

e

mod P “Ideal hopping” and frequent LLL reductions to compute

e

K with small and mod P mod P

e

lift

Andreas Enge Solving norm equations Irsee 2017 6

slide-17
SLIDE 17

Ideas

Given a and w ∈ K with aa = (w), output χ s.t. χχ = w. First idea: Use adapted T-norm Tw(x, y) = Tr(xy/w) ∈ Z for x, y ∈ a Tw(χ, χ) = deg(K) Second (rough) idea: Choose (totally split) large prime P and let e = P − 1. Compute ae = (χe) with aeae = (we) and χe ≡ 1 (mod P) “Ideal hopping” and frequent LLL reductions to compute

e

K with small and mod P mod P

e

lift

Andreas Enge Solving norm equations Irsee 2017 6

slide-18
SLIDE 18

Ideas

Given a and w ∈ K with aa = (w), output χ s.t. χχ = w. First idea: Use adapted T-norm Tw(x, y) = Tr(xy/w) ∈ Z for x, y ∈ a Tw(χ, χ) = deg(K) Second (rough) idea: Choose (totally split) large prime P and let e = P − 1. Compute ae = (χe) with aeae = (we) and χe ≡ 1 (mod P) “Ideal hopping” and frequent LLL reductions to compute δ = χe · ε ∈ K with ε small and δ′ = δ mod P = ε mod P. χe = δ ( lift(δ′) )−1

Andreas Enge Solving norm equations Irsee 2017 6

slide-19
SLIDE 19

Algorithm — Initialisation

e =

r

i=0

e(i)2r−i = e0e1e2 . . . er−1er ek =

k

i=0

e(i)2k−i = ⌊ e/2r−k⌋ = e0e1e2 . . . ek−1ek Invariants: ak = (χk) wk = χkχk δk = χekχk δ′

k

= δk mod P Initialisation k = 0: a0 = a w0 = w δ0 = w δ′

k

= w mod P

Andreas Enge Solving norm equations Irsee 2017 7

slide-20
SLIDE 20

Algorithm — Step k − 1 → k for e(k) = 0

Square! ak−1 = (χk−1), wk−1 = χk−1χk−1, δk−1 = χek−1χk−1, δ′

k−1 = δk−1 mod P

bk = a2

k−1

βk = χ2

k−1

uk = βkβk = w2

k−1

γk = small element in bk w.r.t. Tr(xy/uk) ← LLL ak = (γk)bk−1 χk = γkβk−1 wk = (γkγk)(βkβk)−1 = γkγk/uk δk = δ2

k−1w−2 k−1γk

← in factored form! δ′

k

= (δ′

k−1)2w−2 k−1γk mod P

∈ Z/pZ[X]

Andreas Enge Solving norm equations Irsee 2017 8

slide-21
SLIDE 21

Algorithm — Step k − 1 → k for e(k) = 1

Square — then multiply!

Andreas Enge Solving norm equations Irsee 2017 9

slide-22
SLIDE 22

Algorithm — The End

ψ = χP−1 = δr ( lift(δ′

r)

)−1 Choose second prime P , compute

P

d u P v P

d u v

and take a d-th root in K.

Andreas Enge Solving norm equations Irsee 2017 10

slide-23
SLIDE 23

Algorithm — The End

ψ = χP−1 = δr ( lift(δ′

r)

)−1 Choose second prime P′, compute ψ′ = χP′−1 d = u(P − 1) − v(P′ − 1) χd = ψu(ψ′)−v and take a d-th root in K.

Andreas Enge Solving norm equations Irsee 2017 10

slide-24
SLIDE 24

Solving norm equations

1

Relative norm equations and fjnite geometry

2

Abelian number fjelds and well-known algorithms

3

Gentry-Szydlo type algorithm for abelian fjelds

4

Implementation and results

Andreas Enge Solving norm equations Irsee 2017 11

slide-25
SLIDE 25

Implementation

About 1100 lines in PARI/GP: http://pari.math.u-bordeaux.fr/ It works!

? test_random() P 630169, P' = P + 4774 Step 1 Time for G: 2.2 Time for LLL: 2.4 Small element: [-184, -104, -92, -148, -192, -182, -178, ...]~ Step 2 Double, norm 1 Step 3 Double, norm 1 ... delta 1 Mat([[-184, -104, -92, -148, -192, -182, -178, ...]~, 4774]) Cumulated core time: 47

Andreas Enge Solving norm equations Irsee 2017 11

slide-26
SLIDE 26

TODO

Find example where LLL does not succeed immediately. Larger examples, require lower running times

▶ PARI/GP not optimised for abelian fjelds ▶ integral basis takes ages ▶ use embedding into Q(ζ) of degree 1800? ▶ but then computation of multiplication tensor too costly... ▶ work with polynomials, lazy reduction and do everything by hand!

Prove polynomial complexity. Apply to fjnite geometry setting!

Andreas Enge Solving norm equations Irsee 2017 12