• Aucun résultat trouvé

Root finding over finite fields using Graeffe transforms

N/A
N/A
Protected

Academic year: 2022

Partager "Root finding over finite fields using Graeffe transforms"

Copied!
94
0
0

Texte intégral

(1)

Root finding over finite fields using Graeffe transforms

Bruno Grenet LIRMM U. Montpellier

Joris van der Hoeven & Grégoire Lecerf CNRS – LIX

École polytechnique

(2)

Statement of the problem

Root finding over finite fields

Given f∈Fq[X], compute its roots, that is {α∈Fq:f(α) =0}.

• Building block for many algorithms in computer algebra: root finding over Z, factorization, sparse interpolation, …

• Applications in cryptography, error correcting codes, …

• Derandomization

• Sparse interpolation: bottleneck in practice

[van der Hoeven & Lecerf, 2014]

1/21

(3)

Statement of the problem

Root finding over finite fields

Given f∈Fq[X], compute its roots, that is {α∈Fq:f(α) =0}.

• Building block for many algorithms in computer algebra: root finding over Z, factorization, sparse interpolation, …

• Applications in cryptography, error correcting codes, …

• Derandomization

• Sparse interpolation: bottleneck in practice

[van der Hoeven & Lecerf, 2014]

(4)

A first algorithm

Theorem

The roots off∈Fq[X]can be computed in deterministic time poly(q,d), whered =deg(f).

Algo: Test eachα∈Fq, sequentially.

B Input size (1+d)logq: exponential time!

• Randomization: expected time (1d+11 )q.

2/21

(5)

A first algorithm

Theorem

The roots off∈Fq[X]can be computed in deterministic time poly(q,d), whered =deg(f).

Algo: Test eachα∈Fq, sequentially.

B Input size (1+d)logq: exponential time!

• Randomization: expected time (1d+11 )q.

(6)

A first algorithm

Theorem

The roots off∈Fq[X]can be computed in deterministic time poly(q,d), whered =deg(f).

Algo: Test eachα∈Fq, sequentially.

B Input size (1+d)logq: exponential time!

• Randomization: expected time (1d+11 )q.

2/21

(7)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

(8)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

3/21

(9)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

(10)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

3/21

(11)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

(12)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

3/21

(13)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

(14)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

3/21

(15)

State of the art

No deterministic polytime algorithm is known

S(p1)(dlogp)O(1) under ERH [Shoup (1991a)]

p(dlogp)O(1) unconditionally [Shoup (1991b)]

Both require the factorization of(p1)

ERH useless if a primitive element is given

Root finding ⇐⇒ primitive element [von zur Gathen (1987)]

• Randomized algorithm in expected time O(d˜ log2q)

[Legendre (1785), Berlekamp (1970), Rabin (1980)]

• Factorization algorithms ⇝no improvement for root finding

[Cantor-Zassenhaus (1981), Kaltofen-Shoup (1998), Kedlaya-Umans (2011)]

• Better complexity bounds when q−1 issmooth

[Moenck (1977), von zur Gathen (1987), Mignotte-Schnorr (1988), Rónyai (1989), Shoup (1992), Źrałek (2010), …]

(16)

Settings

Goal

Obtainfastalgorithms for polynomial root finding in finite fields.

• Deterministic, probabilistic, heuristic; in practice or in theory.

Assumption: fis monic,separable,splits overFq,f(0)̸=0: f(X) =

d i=1

(X−αi), αi Fq, αi̸=αj (A)

(easy reduction: f←gcd(f,Xq11))

Extra input: A primitive elementζ of Fq

FFT finite field: Fp with p=2m+1 and M=O(logp)

Old algorithms revisited

New technique based onGraeffe transforms

Fast implementations

4/21

(17)

Settings

Goal

Obtainfastalgorithms for polynomial root finding in finite fields.

• Deterministic, probabilistic, heuristic; in practice or in theory.

Assumption: fis monic,separable,splits overFq,f(0)̸=0:

f(X) =

d i=1

(X−αi), αiFq, αi̸=αj (A) (easy reduction: f←gcd(f,Xq11))

Extra input: A primitive elementζ of Fq

FFT finite field: Fp with p=2m+1 and M=O(logp)

Old algorithms revisited

New technique based onGraeffe transforms

Fast implementations

(18)

Settings

Goal

Obtainfastalgorithms for polynomial root finding in finite fields.

• Deterministic, probabilistic, heuristic; in practice or in theory.

Assumption: fis monic,separable,splits overFq,f(0)̸=0:

f(X) =

d i=1

(X−αi), αiFq, αi̸=αj (A)

(easy reduction: f←gcd(f,Xq11))

Extra input: A primitive elementζ of Fq

FFT finite field: Fp with p=2m+1 and M=O(logp)

Old algorithms revisited

New technique based onGraeffe transforms

Fast implementations

4/21

(19)

Settings

Goal

Obtainfastalgorithms for polynomial root finding in finite fields.

• Deterministic, probabilistic, heuristic; in practice or in theory.

Assumption: fis monic,separable,splits overFq,f(0)̸=0:

f(X) =

d i=1

(X−αi), αiFq, αi̸=αj (A)

(easy reduction: f←gcd(f,Xq11))

Extra input: A primitive elementζ of Fq

FFT finite field: Fp with p=2m+1 and M=O(logp)

Old algorithms revisited

(20)

Multiplicative structure of finite fields

F 17

1 9

13

15

16

8

4 2 2 3

10

5

11

14

7 12 6

3

4

2 is a primitive root of unity of order 8

4 is a primitive root of unity of order 4

3 is a primitive element of F17:

F17 ={3i:0≤i<16} Xq11= ∏

α∈Fq

(X−α)

5/21

(21)

Multiplicative structure of finite fields

F 17

1 9

13

15

16

8

4 2 2 3

10

5

11

14

7 12 6

3

4

2 is a primitive root of unity of order 8

4 is a primitive root of unity of order 4

3 is a primitive element of F17:

F17 ={3i:0≤i<16} Xq11= ∏

α∈Fq

(X−α)

(22)

Multiplicative structure of finite fields

F 17

1 9

13

15

16

8

4 2 2 3

10

5

11

14

7 12 6

3

4

2 is a primitive root of unity of order 8

4 is a primitive root of unity of order 4

3 is a primitive element of F17:

F17 ={3i:0≤i<16}

Xq11= ∏

α∈Fq

(X−α)

5/21

(23)

Multiplicative structure of finite fields

F 17

1 9

13

15

16

8

4 2 2 3

10

5

11

14

7 12 6

3

4

2 is a primitive root of unity of order 8

4 is a primitive root of unity of order 4

3 is a primitive element of F17:

F17 ={3i:0≤i<16} Xq11= ∏

α∈Fq

(X−α)

(24)

Old algorithms revisited

(25)

Goal

• Many known randomized algorithms

for the general case

for special cases such as smooth(q1)

• Idea: Adapt these algorithms for FFT finite fields

• Algorithms:

Rabin’s algorithm (general case)

Mignotte-Schnorr’s algorithm (smooth case)

Moenck’s algorithm (FFT finite fields)

(26)

Goal

• Many known randomized algorithms

for the general case

for special cases such as smooth(q1)

• Idea: Adapt these algorithms for FFT finite fields

• Algorithms:

Rabin’s algorithm (general case)

Mignotte-Schnorr’s algorithm (smooth case)

Moenck’s algorithm (FFT finite fields)

6/21

(27)

Goal

• Many known randomized algorithms

for the general case

for special cases such as smooth(q1)

• Idea: Adapt these algorithms for FFT finite fields

• Algorithms:

Rabin’s algorithm (general case)

Mignotte-Schnorr’s algorithm (smooth case)

Moenck’s algorithm (FFT finite fields)

(28)

Goal

• Many known randomized algorithms

for the general case

for special cases such as smooth(q1)

• Idea: Adapt these algorithms for FFT finite fields

• Algorithms:

Rabin’s algorithm(general case)

Mignotte-Schnorr’s algorithm (smooth case)

Moenck’s algorithm (FFT finite fields)

6/21

(29)

Rabin’s algorithm

• ∏

α∈Fp

(X−α) =Xp11

=(Xp21 1)(Xp21 +1)

αp−12 =1

αp21 =1 (α+τ)p−12

=1

(α+τ)p21

=1

• With some luck, gcd(f,Xp211)∈ {/ 1,f}.

• Push your luck: gcd(f,(X+τ)p21 1)for somerandom τ Fp

deg(

gcd(f,(X+τ)p21 1))

≃d/2 Randomized algorithm

The roots off∈Fp[X]can be computed in expected time O(d˜ log2p).

(30)

Rabin’s algorithm

• ∏

α∈Fp

(X−α) =Xp11=(Xp21 1)(Xp21 +1)

αp−12 =1

αp21 =1 (α+τ)p−12

=1

(α+τ)p21

=1

• With some luck, gcd(f,Xp211)∈ {/ 1,f}.

• Push your luck: gcd(f,(X+τ)p21 1)for somerandom τ Fp

deg(

gcd(f,(X+τ)p21 1))

≃d/2 Randomized algorithm

The roots off∈Fp[X]can be computed in expected time O(d˜ log2p).

7/21

(31)

Rabin’s algorithm

• ∏

α∈Fp

(X−α) =Xp11=(Xp21 1)(Xp21 +1)

αp−12 =1

αp21 =1 (α+τ)p−12

=1

(α+τ)p21

=1

• With some luck, gcd(f,Xp211)∈ {/ 1,f}.

• Push your luck: gcd(f,(X+τ)p21 1)for somerandom τ Fp

deg(

gcd(f,(X+τ)p21 1))

≃d/2 Randomized algorithm

The roots off∈Fp[X]can be computed in expected time O(d˜ log2p).

(32)

Rabin’s algorithm

• ∏

α∈Fp

(X−α) =Xp11=(Xp21 1)(Xp21 +1)

αp−12 =1

αp21 =1 (α+τ)p−12

=1

(α+τ)p21

=1

• With some luck, gcd(f,Xp211)∈ {/ 1,f}.

• Push your luck: gcd(f,(X+τ)p21 1)for somerandom τ Fp

deg(

gcd(f,(X+τ)p21 1))

≃d/2 Randomized algorithm

The roots off∈Fp[X]can be computed in expected time O(d˜ log2p).

7/21

(33)

Rabin’s algorithm

• ∏

α∈Fp

(X−α) =Xp11=(Xp21 1)(Xp21 +1)

αp−12 =1

αp21 =1 (α+τ)p−12

=1

(α+τ)p21

=1

• With some luck, gcd(f,Xp211)∈ {/ 1,f}.

• Push your luck: gcd(f,(X+τ)p21 1)for somerandom τ Fp

deg(

gcd(f,(X+τ)p21 1))

≃d/2 Randomized algorithm

The roots off∈Fp[X]can be computed in expected time O(d˜ log2p).

(34)

Rabin’s algorithm

• ∏

α∈Fp

(X−α) =Xp11=(Xp21 1)(Xp21 +1)

αp−12 =1

αp21 =1 (α+τ)p−12

=1

(α+τ)p21

=1

• With some luck, gcd(f,Xp211)∈ {/ 1,f}.

• Push your luck: gcd(f,(X+τ)p21 1)for somerandom τ Fp

deg(

gcd(f,(X+τ)p21 1))

≃d/2

Randomized algorithm

The roots off∈Fp[X]can be computed in expected time O(d˜ log2p).

7/21

(35)

Rabin’s algorithm

• ∏

α∈Fp

(X−α) =Xp11=(Xp21 1)(Xp21 +1)

αp−12 =1

αp21 =1 (α+τ)p−12

=1

(α+τ)p21

=1

• With some luck, gcd(f,Xp211)∈ {/ 1,f}.

• Push your luck: gcd(f,(X+τ)p21 1)for somerandom τ Fp

deg(

gcd(f,(X+τ)p21 1))

≃d/2 Randomized algorithm

The roots off∈Fp[X]can be computed in expected time O(d˜ log2p).

(36)

Modified Rabin’s algorithm (for FFT finite fields)

Xp11=

21

i=0

(XM2m−ξi), whereξ is primitive of order 2.

ξ0 ξ1

ξ2 ξ3

gcd(f,(X+τ)M2m−ξ0) gcd(f,(X+τ)M2m−ξ1)

gcd(f,(X+τ)M2m−ξ2) gcd(f,(X+τ)M2m−ξ3)

degrees

≃d/2

Worthwhile in practice forsmall =2,3, . . .

8/21

(37)

Modified Rabin’s algorithm (for FFT finite fields)

Xp11=

21

i=0

(XM2m−ξi), whereξ is primitive of order 2.

ξ0 ξ1

ξ2 ξ3

gcd(f,(X+τ)M2m−ξ0) gcd(f,(X+τ)M2m−ξ1)

gcd(f,(X+τ)M2m−ξ2) gcd(f,(X+τ)M2m−ξ3)

degrees

≃d/2

Worthwhile in practice forsmall =2,3, . . .

(38)

Modified Rabin’s algorithm (for FFT finite fields)

Xp11=

21

i=0

(XM2m−ξi), whereξ is primitive of order 2.

ξ0 ξ1

ξ2 ξ3

gcd(f,(X+τ)M2m−ξ0) gcd(f,(X+τ)M2m−ξ1)

gcd(f,(X+τ)M2m−ξ2) gcd(f,(X+τ)M2m−ξ3)

degrees

≃d/2

Worthwhile in practice forsmall =2,3, . . .

8/21

(39)

Modified Rabin’s algorithm (for FFT finite fields)

Xp11=

21

i=0

(XM2m−ξi), whereξ is primitive of order 2.

ξ0 ξ1

ξ2 ξ3

gcd(f,(X+τ)M2m−ξ0) gcd(f,(X+τ)M2m−ξ1)

gcd(f,(X+τ)M2m−ξ2) gcd(f,(X+τ)M2m−ξ3)

degrees

≃d/2

Worthwhile in practice forsmall =2,3, . . .

(40)

New technique: Graeffe transform

(41)

The Graeffe transform Letf(X) =

i(X−αi)

f(X)f(−X) =

i

(X−αi)(−X−αi) = (1)d

i

(X2−α2i)

Definition G2(f)(X) =∏

i(X−αi2)is the Graeffe transformof f. Gρ(f)(X) =∏

i(X−αρi) is theGraeffe transform of order ρof f.

Remarks:

Gρ1ρ2 =Gρ1◦Gρ2

Gq1(f)(X) =∏

i(X−αqi1) = (X1)d

(42)

The Graeffe transform Letf(X) =

i(X−αi)

f(X)f(−X) =

i

(X−αi)(−X−αi) = (1)d

i

(X2−α2i)

Definition G2(f)(X) =∏

i(X−αi2)is the Graeffe transformof f.

Gρ(f)(X) =∏

i(X−αρi) is theGraeffe transform of order ρof f.

Remarks:

Gρ1ρ2 =Gρ1◦Gρ2

Gq1(f)(X) =∏

i(X−αqi1) = (X1)d

9/21

(43)

The Graeffe transform Letf(X) =

i(X−αi)

f(X)f(−X) =

i

(X−αi)(−X−αi) = (1)d

i

(X2−α2i)

Definition G2(f)(X) =∏

i(X−αi2)is the Graeffe transformof f.

Gρ(f)(X) =∏

i(X−αρi) is theGraeffe transform of order ρof f.

Remarks:

Gρ1ρ2 =Gρ1◦Gρ2

Gq1(f)(X) =∏

i(X−αqi1) = (X1)d

(44)

The Graeffe transform Letf(X) =

i(X−αi)

f(X)f(−X) =

i

(X−αi)(−X−αi) = (1)d

i

(X2−α2i)

Definition G2(f)(X) =∏

i(X−αi2)is the Graeffe transformof f.

Gρ(f)(X) =∏

i(X−αρi) is theGraeffe transform of order ρof f.

Remarks:

Gρ1ρ2=Gρ1◦Gρ2

Gq1(f)(X) =∏

i(X−αqi1) = (X1)d

9/21

(45)

Computing Graeffe transforms

Lemma

Let ξ be a primitive root of unity of order π. Then Gπ(f)(Xπ) =f(X)f(ξX)· · ·f(ξπ1X).

⇝Given ξ,Gπ(f)can be computed in time O(πd˜ logq)

Theorem

Let f∈Fq[X]andq−1=π1· · ·πm. The Graeffe transforms Gπ1(f),Gπ1π2(f), …,Gπ1···πm1(f) can be computed in time (dlog2q)1+δ for all δ >0.

Based on modular composition[Kedlaya-Umans (2011)].

(46)

Computing Graeffe transforms

Lemma

Let ξ be a primitive root of unity of order π. Then Gπ(f)(Xπ) =f(X)f(ξX)· · ·f(ξπ1X).

⇝Given ξ,Gπ(f)can be computed in time O(πd˜ logq) Theorem

Let f∈Fq[X]andq−1=π1· · ·πm. The Graeffe transforms Gπ1(f),Gπ1π2(f), …, Gπ1···πm1(f) can be computed in time (dlog2q)1+δ for all δ >0.

Based on modular composition[Kedlaya-Umans (2011)].

10/21

(47)

Using Graeffe transforms

f g1 g2gm1 gm

Z(f) Z1 Z2Zm1 {1}

Gπ1 Gπ2 Gπ3 Gπm1 Gπm

Zm1 ⊆{ξi :0≤i< πm} (ξ: primitive root of order πm)

=(q1)i/πm:0≤i< πm} (ζ: primitive element ofFq)

• If β ∈Zk, there exists α∈Zk1 s.t. απk =β

• If β =ζe,α∈ {

ζ

e+(q1)i

πk :0≤i< πk }

(48)

Using Graeffe transforms

f g1 g2gm1 gm

Z(f) Z1 Z2Zm1 {1}

Gπ1 Gπ2 Gπ3 Gπm1 Gπm

Zm1 ⊆{ξi :0≤i< πm} (ξ: primitive root of order πm)

=(q1)i/πm:0≤i< πm} (ζ: primitive element ofFq)

• If β ∈Zk, there exists α∈Zk1 s.t. απk =β

• If β =ζe,α∈ {

ζ

e+(q1)i

πk :0≤i< πk }

11/21

(49)

Using Graeffe transforms

f g1 g2gm1 gm

Z(f) Z1 Z2Zm1 {1}

Gπ1 Gπ2 Gπ3 Gπm1 Gπm

Zm1 ⊆{ξi :0≤i< πm} (ξ: primitive root of order πm)

=(q1)i/πm:0≤i< πm} (ζ: primitive element ofFq)

• If β ∈Zk, there exists α∈Zk1 s.t. απk =β

• If β =ζe,α∈ {

ζ

e+(q1)i

πk :0≤i< πk }

(50)

Using Graeffe transforms

f g1 g2gm1 gm

Z(f) Z1 Z2Zm1 {1}

Gπ1 Gπ2 Gπ3 Gπm1 Gπm

Zm1 ⊆{ξi :0≤i< πm} (ξ: primitive root of order πm)

=(q1)i/πm:0≤i< πm} (ζ: primitive element ofFq)

• If β ∈Zk, there exists α∈Zk1 s.t. απk =β

• If β =ζe,α∈ {

ζ

e+(q1)i

πk :0≤i< πk }

11/21

(51)

Using Graeffe transforms

f g1 g2gm1 gm

Z(f) Z1 Z2Zm1 {1}

Gπ1 Gπ2 Gπ3 Gπm1 Gπm

Zm1 ⊆{ξi :0≤i< πm} (ξ: primitive root of order πm)

=(q1)i/πm:0≤i< πm} (ζ: primitive element ofFq)

• If β ∈Zk, there exists α∈Zk1 s.t. απk =β

• If β =ζe,α∈ {

ζ

e+(q1)i

πk :0≤i< πk }

(52)

A deterministic algorithm

× Zm=0}

×

×

×

×

×

×

(q1)i

πm :0≤i< πm} gm1e) =0

× ×

×

×

×

×

×

×

×

×

e+(q1)i

πm1 :0≤i< πm1} gm2e) =0

Theorem

If maxiπi=O(logq), the algorithm runs in time O(d˜ log3q).

12/21

(53)

A deterministic algorithm

× Zm=0}

×

×

×

×

×

×

(q1)i

πm :0≤i< πm} gm1e) =0

× ×

×

×

×

×

×

×

×

×

e+(q1)i

πm1 :0≤i< πm1} gm2e) =0

Theorem

If maxiπi=O(logq), the algorithm runs in time O(d˜ log3q).

(54)

A deterministic algorithm

× Zm=0}

×

×

×

×

×

×

(q1)i

πm :0≤i< πm} gm1e) =0

× ×

×

×

×

×

×

×

×

×

e+(q1)i

πm1 :0≤i< πm1} gm2e) =0

Theorem

If maxiπi=O(logq), the algorithm runs in time O(d˜ log3q).

12/21

Références

Documents relatifs

For an explicit example, let B be a super- singular elliptic curve with all endomorphisms defined, so (c/*. But for most p the quaternion algebra will have non-isomorphic maximal

Nous obtenons des formules explicites pour le nombre de solutions de ces equations, sous une certaine condition sur n et

Abstract—In this paper, we present a toolbox for a specific optimization problem that frequently arises in bioinformatics or genomics. In this specific optimisation problem, the

The fastest known algorithms for computing discrete logarithms in a finite field F p n all rely on variants of the number field sieve or the function field sieve.. Some

The tangent Graeffe method has been developed for the ef- ficient computation of single roots of polynomials over finite fields with multiplicative groups of smooth order.. It is a

It is also possible to give variants of the new multiplication algorithms in which Bluestein’s transform is replaced by a different method for converting DFTs to convolutions, such

partiular when q is not a square), there exists a maximal asymptotially exat sequenes of algebrai funtions elds namely attaining the Generalized Drinfeld-Vladut bound.. Then, we

This leads us to an accurate form of the connection between the spectral radius of finite subgraphs of the geometric graph, connected components of these subgraphs and the number