ALGORITHMS FOR p Luca De Feo 1 joint work with Javad Doliskani 2 - - PowerPoint PPT Presentation

algorithms for
SMART_READER_LITE
LIVE PREVIEW

ALGORITHMS FOR p Luca De Feo 1 joint work with Javad Doliskani 2 - - PowerPoint PPT Presentation

ALGORITHMS FOR p Luca De Feo 1 joint work with Javad Doliskani 2 and ric Schost 2 1 Universit de Versailles Saint-Quentin-en-Yvelines 2 University of Western Ontario Sminaire BAC, September 20, 2013 What does p look like?


slide-1
SLIDE 1

ALGORITHMS FOR ✖ ❋p

Luca De Feo1 joint work with Javad Doliskani2 and Éric Schost2

1Université de Versailles – Saint-Quentin-en-Yvelines 2University of Western Ontario

Séminaire BAC, September 20, 2013

slide-2
SLIDE 2

What does ✖ ❋p look like?

❋p ❋p2 ❋p4 ❋✭2✮

p

❋p3 ❋p9 ❋✭3✮

p

❋p5 ❋p25 ❋✭5✮

p

❋p❵ ❋p❵2 ❋✭❵✮

p

❋✭❵✮

p

i✕0

❋p❵i ❀ ✖ ❋p ✘ ❂

❵ prime

❋✭❵✮

p

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 2 / 24

slide-3
SLIDE 3

In software

Definition (Compatible lattice)

A collection of finite fields ❋pn for any n ✕ 1; A collection of morphisms ❋pm ✱ ✦ ❋pn whenever m❥n.

Fact

Given a lattice, any element of ✖ ❋p can be represented as an element of a finite field in the lattice.

(Lenstra, De Smit & Lenstra) ✡✭n3✮

There exist a determinisitic algorithm that constructs a compatible lattice in time polynomial in log p and n, where n is the degree of the largest computed extension of ❋p.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 3 / 24

slide-4
SLIDE 4

Efficient construction of lattices, Efficient field operations. Our interest Goals: Constructing fields:

■ Build irreducible polynomials in quasi-linear time.

Describing embeddings:

■ Quasi-linear time and memory in the degree of the extension.

Evaluating embeddings:

■ Replace linear algebra by polynomial arithmetic.

Application examples: General: finite field arithmetic, unramified extensions of ◗p. Computing isogenies between elliptic curves, DF, 2011. Point-counting in genus 2, Gaudry and Schost, 2012.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 4 / 24

slide-5
SLIDE 5

Known constructions

Construct fields arbitrarily + compute embeddings

Describe the embeddings

■ Factor minimal polynomials, ■ Allombert’s isomorphism algorithm (in Pari?). ■ Rains’ isomorphism algorithm (unpublished, in Magma),

Evaluate the embeddings

■ Linear algebra, ■ Map generators (polynomial arithmetic).

Construct fields defined by special polynomials

(pseudo)-Conway polynomials, Cyclotomy theory (De Smit & Lenstra and generalizations), Fancy (and still limited) constructions (this talk).

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 5 / 24

slide-6
SLIDE 6

Towers

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 6 / 24

slide-7
SLIDE 7

Univariate vs. Multivariate

❋q ❑1 ❑2 ❑i

❵ ❵

❋q❬X1❀ X2❀ ✿ ✿ ✿ ❀ Xi❪❂

☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞

Ti✭Xi❀ ✿ ✿ ✿ ❀ X2❀ X1✮ . . . T2✭X2❀ X1✮ T1✭X1✮ ✘ ❋q❬Xi❪❂Qi✭Xi✮ ✘

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 7 / 24

slide-8
SLIDE 8

Univariate vs. Multivariate

❋q ❑1 ❑2 ❑i

❵ ❵

T1 T2 ❋q❬X1❀ X2❀ ✿ ✿ ✿ ❀ Xi❪❂

☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞

Ti✭Xi❀ ✿ ✿ ✿ ❀ X2❀ X1✮ . . . T2✭X2❀ X1✮ T1✭X1✮ ✘ ❋q❬Xi❪❂Qi✭Xi✮ ✘

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 7 / 24

slide-9
SLIDE 9

Univariate vs. Multivariate

❋q ❑1 ❑2 ❑i

❵ ❵

Q1 Q2 Qi ❋q❬X1❀ X2❀ ✿ ✿ ✿ ❀ Xi❪❂

☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞

Ti✭Xi❀ ✿ ✿ ✿ ❀ X2❀ X1✮ . . . T2✭X2❀ X1✮ T1✭X1✮ ✘ ❋q❬Xi❪❂Qi✭Xi✮ Embedding evaluation ✘

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 7 / 24

slide-10
SLIDE 10

Summary of Main Results

Previous work

Artin-Schreier (Cantor, Couveignes, DF & Schost): q fixed, ❵ ❂ p small; Dyadic towers (Doliskani & Schost): q fixed, ❵ ❂ 2; ⑦ O✭❵i✰c✮ operations in ❋q, c ✷ ❢1❀ 2❣.

This work: objective

q fixed, ❵ small: ⑦ O✭❵i✮ operations in ❋q; Limit additional factors in ❵ and q as much as possible.

Condition Initialization Qi❀ Ti Embedding eval. q ❂ 1 mod ❵ O✭1✮ O✭❵i✮ O✭❵i✮ q ❂ 1 mod ❵ O✭1✮ O✭❵i✮ O✭M✭❵i✮ log✭❵i✮✮

  • O✭❵2✮

O✭M✭❵i✰1✮M✭❵✮ log✭❵i✮2✮ O✭M✭❵i✰1✮M✭❵✮ log✭❵i✮✮ 4❵ ✔ q1❂4 ⑦ O✭❵3✮ (bit) O✭M✭❵i✮ log✭❵i✮✮ O✭M✭❵i✮ log✭❵i✮✮ 4❵ ✔ q1❂4 ⑦ O✭M✭❵✮✮ O✭M✭❵i✮ log✭❵i✮✮ O✭M✭❵i✮ log✭❵i✮✮

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 8 / 24

slide-11
SLIDE 11

Quasi-cyclotomic towers

(inspired by Shoup, Allombert, De Smit and Lenstra)

❋q ❋q✭✏❵✮ ❋q✭x1✮ ❋q✭✏❵2✮ ❋q✭x2✮ ❋q✭✏❵3✮ ❋q✭xi✮ ❋q✭✏❵i✮ r ❵ r ❵ ❵ r ❵ r

Cyclotomic fields

T2 Qi r ❥ ✭❵ 1✮; xi ❂ Tr❑i❂❋q❵i ✭✏❵i✮; Both Ti and Qi can be computed by resultants.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 9 / 24

slide-12
SLIDE 12

Quasi-cyclotomic towers

(inspired by Shoup, Allombert, De Smit and Lenstra)

❋q ❋q✭✏❵✮ ❋q✭x1✮ ❋q✭✏❵2✮ ❋q✭x2✮ ❋q✭✏❵3✮ ❋q✭xi✮ ❋q✭✏❵i✮ r ❵ r ❵ ❵ r ❵ r

Cyclotomic fields

T2 Qi r ❥ ✭❵ 1✮; xi ❂ Tr❑i❂❋q❵i ✭✏❵i✮; Both Ti and Qi can be computed by resultants.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 9 / 24

slide-13
SLIDE 13

Quasi-cyclotomic towers

Generic algorithm

Perform all computations in the cyclotomic tower; Construction and embedding evaluation: penalty only ⑦ O✭❵2✮.

Trivial case: ❵ ❥ ✭q 1✮ ✱ r ❂ 1

Kummer extensions Qi ❂ X ❵i

i y0

and Ti ❂ X ❵

i Xi1

Embeddings are trivial.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 10 / 24

slide-14
SLIDE 14

Quasi-cyclotomic towers

Generic algorithm

Perform all computations in the cyclotomic tower; Construction and embedding evaluation: penalty only ⑦ O✭❵2✮.

Special case: ❵ ❥ ✭q ✰ 1✮ ✱ r ❂ 2

By direct resultant computation Qi✭Xi✮ ❂ Y ❵i ✰ Y ❵i x0 mod Y 2 XiY ✰ 1 Similar form for Ti. Qi can be computed in O✭M✭❵i✮✮; a better algorithm later. Embeddings: later.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 10 / 24

slide-15
SLIDE 15

Towers from irreducible fibers (Cou- veignes and Lercier, 2011)

❵ ❥ ✭q 1✮, consider the map ✣ ✿ x ✼✦ x ❵

❋✄

q 1 ✏1

✏2

✏3

✏4

y0

❋✄

q❵ y1

✖ ❋✄

q

✿ ✿ ✿

✣❥❋✄

q not surjective;

✣ ✿ ●m ✦ ●m surjective; Starting from y0, every ✣1yi is an irreducible set of cardinality ❵.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 11 / 24

slide-16
SLIDE 16

Towers from irreducible fibers (Cou- veignes and Lercier, 2011)

❵ ❥ ✭q 1✮, consider the map ✣ ✿ x ✼✦ x ❵

❋✄

q 1 ✏1

✏2

✏3

✏4

y0

❋✄

q❵ y1

✖ ❋✄

q

✿ ✿ ✿

✣❥❋✄

q not surjective;

✣ ✿ ●m ✦ ●m surjective; Starting from y0, every ✣1yi is an irreducible set of cardinality ❵.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 11 / 24

slide-17
SLIDE 17

Towers from irreducible fibers (Cou- veignes and Lercier, 2011)

❵ ❥ ✭q 1✮, consider the map ✣ ✿ x ✼✦ x ❵

❋✄

q 1 ✏1

✏2

✏3

✏4

y0

❋✄

q❵ y1

✖ ❋✄

q

✿ ✿ ✿

✣❥❋✄

q not surjective;

✣ ✿ ●m ✦ ●m surjective; Starting from y0, every ✣1yi is an irreducible set of cardinality ❵.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 11 / 24

slide-18
SLIDE 18

Towers from irreducible fibers (Cou- veignes and Lercier, 2011)

❵ ❥ ✭q 1✮, consider the map ✣ ✿ x ✼✦ x ❵

❋✄

q 1 ✏1

✏2

✏3

✏4

y0

❋✄

q❵ y1

✖ ❋✄

q

✿ ✿ ✿

✣❥❋✄

q not surjective;

✣ ✿ ●m ✦ ●m surjective; Starting from y0, every ✣1yi is an irreducible set of cardinality ❵.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 11 / 24

slide-19
SLIDE 19

Towers from irreducible fibers (Cou- veignes and Lercier, 2011)

❵ ❥ ✭q 1✮, consider the map ✣ ✿ x ✼✦ x ❵

❋✄

q 1 ✏1

✏2

✏3

✏4

y0

❋✄

q❵ y1

✖ ❋✄

q

✿ ✿ ✿

✣❥❋✄

q not surjective;

✣ ✿ ●m ✦ ●m surjective; Starting from y0, every ✣1yi is an irreducible set of cardinality ❵.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 11 / 24

slide-20
SLIDE 20

Chebyshev case: ❵ ❥ ✭q ✰ 1✮

Consider the map ✣ ✿ x ✼✦ x ❵ ❋✄

q

❋✄

q2

❚2

✣❥❋✄

q bijective;

✣❥❋✄

q2 non surjective;

❚2 ✚ ❋✄

q2 algebraic torus of

cardinality q ✰ 1. ❚n✭k✮ ✘ ❂ ❢☛ ✷ L✄ ❥ NL❂F✭☛✮ ❂ 1 for all k ✚ F ✭ L❣✿

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 12 / 24

slide-21
SLIDE 21

Chebyshev case: ❵ ❥ ✭q ✰ 1✮

Consider the map ✣ ✿ x ✼✦ x ❵ ❋✄

q

❋✄

q2

❚2

✣❥❋✄

q bijective;

✣❥❋✄

q2 non surjective;

❚2 ✚ ❋✄

q2 algebraic torus of

cardinality q ✰ 1. ❚n✭k✮ ✘ ❂ ❢☛ ✷ L✄ ❥ NL❂F✭☛✮ ❂ 1 for all k ✚ F ✭ L❣✿

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 12 / 24

slide-22
SLIDE 22

Chebyshev case: ❵ ❥ ✭q ✰ 1✮

Consider the map ✣ ✿ x ✼✦ x ❵ ❋✄

q

❋✄

q2

❚2

✣❥❋✄

q bijective;

✣❥❋✄

q2 non surjective;

❚2 ✚ ❋✄

q2 algebraic torus of

cardinality q ✰ 1. ❚n✭k✮ ✘ ❂ ❢☛ ✷ L✄ ❥ NL❂F✭☛✮ ❂ 1 for all k ✚ F ✭ L❣✿

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 12 / 24

slide-23
SLIDE 23

Towers from algebraic tori (Pell conics)

By Weil descent, ❚2 is isomorphic to a Pell conic; Multiplication in ✖ ❋q induces a group law on the points.

N P Q P ✰ Q

Pell conic: C ✿ x 2 ✁y2 ❂ 4 Addition: For P ❂ ✭x1❀ y1✮ and Q ❂ ✭x2❀ y2✮, P ✟ Q ❂

✒x1x2 ✰ ✁y1y2

2 ❀ x1y2 ✰ x2y1 2

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 13 / 24

slide-24
SLIDE 24

Towers from algebraic tori

❚2 ✦ Pell conic C, multiplication in ❋q2 ✦ addition in C, ❵-th power ✦ scalar multiplication ❬❵❪.

Lemma

The abscissa of ❬n❪P is given by Cn✭x1✮, where Cn ✷ ❩❬X ❪ is the n-th Chebyshev polynomial.

Theorem

Let P be a point not in ❵C, then we can compute Qi✭Xi✮ ❂ C❵i✭Xi✮ xP and Ti✭Xi✮ ❂ C❵✭Xi✮ Xi1 using O✭❵i✮ operations.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 14 / 24

slide-25
SLIDE 25

Towers from elliptic curves

Problem 1: there is essentially one conic; we would like to have more group choices, elliptic curves are an option. Problem 2: ❵-multiplication on elliptic curves is a degree ❵2 map; we must consider separable isogenies instead. E0 ✿ y2 ❂ x 3 ✰ ax ✰ b❀ a❀ b ✷ ❋q❀ ❵ ✲ ✭q 1✮❀ ❵ ❥ ★E0✭❋q✮ E0 E1 E2 E3 E4

✣0 ✣1 ✣2 ✣3 ✣4

Under these assumptions, isogenies form a cycle ✣i ✿ Ei ✦ Ei✰1✿ Lemma En ✘ ❂ E0 for some n ✷ O✭♣q log✭q✮✮.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 15 / 24

slide-26
SLIDE 26

Towers from elliptic curves

Lemma (Couveignes and Lercier, 2011)

Let P ✻✷ ❵Ei, and ✥ ❂ ✣i1 ✍ ✣i2 ✍ ✁ ✁ ✁ ✍ ✣j, then ✥1✭P✮ is irreducible of cardinality ❵ij.

Vélu’s formulas

✣i ✿ Ei

Ei✰1❀ ✭x❀ y✮ ✼ ✦

fi✭x✮ gi✭x✮❀ y

✏ fi✭x✮

gi✭x✮

✑✵✓

The ❵-adic tower

T1 ❂ f1✭X1✮ ✑g1✭X1✮❀ Ti ❂ fi✭Xi✮ Xi1gi✭Xi✮✿

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 16 / 24

slide-27
SLIDE 27

Evaluating embeddings

Observation

In all previous cases, from the form of Ti we deduce Xi1 ❂ f ✭Xi✮❂g✭Xi✮ for some f and g. Going from multivariate to univariate is

ajX

☛j i1X ☞j i

✼✦

aj f ✭Xi✮☛j g✭Xi✮☛j X

☞j i

Definition

Let P ✷ ❋q❬X ❀ Y ❪ and n ✷ ◆, with deg✭P❀ X ✮ ❁ n. Define P❬f ❀ g❀ n❪ ❂ gn1P

✥f

g ❀ Y

✷ ❋q❬Y ❪✿

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 17 / 24

slide-28
SLIDE 28

Lifting: Multivariate ✦ Univariate

Algorithm 1 Compose Require: P ✷ ❋q❬X ❀ Y ❪, f ❀ g ✷ ❋q❬Y ❪, n ✷ ◆

1: if n ❂ 1 then 2:

return P

3: else 4:

m ✥ ❞n❂2❡

5:

Let P0❀ P1 be such that P ❂ P0 ✰ X mP1

6:

Q0 ✥ Compose(P0❀ f ❀ g❀ m)

7:

Q1 ✥ Compose(P1❀ f ❀ g❀ n m)

8:

Q ✥ Q0gnm ✰ Q1f m

9:

return Q

10: end if

Theorem

Algorithm 1 computes Q ❂ P❬f ❀ g❀ n❪ using O✭M✭❵n✮ log✭n✮✮

  • perations in ❋q.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 18 / 24

slide-29
SLIDE 29

Pushing: Univariate ✦ Multivariate

Algorithm 2 Decompose Require: Q❀ f ❀ g❀ h ✷ ❋q❬Y ❪, n ✷ ◆

1: if n ❂ 1 then 2:

return Q

3: else 4:

m ✥ ❞n❂2❡

5:

u ✥ 1❂gnm mod f m

6:

Q0 ✥ Qu mod f m

7:

Q1 ✥ ✭Q Q0gnm✮ div f m

8:

P0 ✥ Decompose(Q0❀ f ❀ g❀ h❀ m)

9:

P1 ✥ Decompose(Q1❀ f ❀ g❀ h❀ n m)

10:

return P0 ✰ X mP1

11: end if

Theorem

Algorithm 2 computes a polynomial P ✷ ❋q❬X ❀ Y ❪ such that Q ❂ P❬f ❀ g❀ n❪ using O✭M✭❵n✮ log✭n✮✮ operations in ❋q.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 19 / 24

slide-30
SLIDE 30

Implementation

0.0625 0.25 1 4 16 64 256 1024 4096 4 5 6 7 8 9 10 11 seconds height GF() sub<> Embed() Chebyshev 4 5 6 7 8 9 10 11 GF() sub<> Embed() Chebyshev Elliptic

Times for building 3-adic towers on top of ❋2 (left) and ❋5 (right), in Magma (first three lines) and using

  • ur code.

Intel Xeon E5620 clocked at 2.4 GHz, using Sage 5.5 and Magma 2.18.12 Source code at https://github.com/defeo/towers.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 20 / 24

slide-31
SLIDE 31

Lattices (work in progress)

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 21 / 24

slide-32
SLIDE 32

Composita of fields

Input: ❋pm ❂ ❋p❬X ❪❂P✭X ✮ and ❋pm ❂ ❋p❬Y ❪❂P✭Y ✮, with ✭m❀ n✮ ❂ 1. Output: ❋pmn ❂ ❋p❬Z❪❂R✭Z✮.

Theorem (Bostan & Schost)

Let x❀ y be roots of P❀ Q. Both xy and x ✰ y generate ❋pmn; The minimal polynomial of xy or x ✰ y can be computed in ⑦ O✭mn✮.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 22 / 24

slide-33
SLIDE 33

Towards quasi-optimal embeddings

Work in progress (with Doliskani and Schost)

Evaluate the maps ❋pn ✱ ✦ ❋pmn; ⑦ O✭mn✮ Evaluate the sections; ⑦ O✭mn✮ Full pushing ❋pmn ✦ ❋m

pn.

⑦ O✭mn min✭m❀ n✮✮

Techniques

Bostan & Schost algorithm; Bivariate trace computations (following Rouiller); transposed algorithms (following Bostan, Salvy & Schost).

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 23 / 24

slide-34
SLIDE 34

Summary

Results

❵-adic towers very efficient for some ❵; Asymptotically good for most small ❵; Composita also asymptotically good; Full performances yet to test.

Open questions

Large prime degree extensions; Quasi-optimal full push down in composita; Arbitrary finite field isomorphisms in proven/practical subquadratic time.

Luca De Feo (UVSQ) Algorithms for ✖ ❋p BAC, Sep 20, 2013 24 / 24