• No se han encontrado resultados

Racines Carrées dans les Extensions Quadratiques de Corps Finis

N/A
N/A
Protected

Academic year: 2017

Share "Racines Carrées dans les Extensions Quadratiques de Corps Finis"

Copied!
29
0
0

Texto completo

(1)

Racines Carrées dans les Extensions Quadratiques

de Corps Finis

Gora Adj

(2)

Institution

Centre de Recherche et d’Etudes Avançées de l’Institut Polytechnique National du Mexique

◮ Département d’Informatique, Mexico

◮ Environ 100 publications par an

(3)

Groupe :

Ensemble non videGmuni d’une loi de composition interne·tels que : (associativité)∀ x, y, z∈G,(x·y)·z=x·(y·z) (=x·y·z); (élément neutre) ∃e∈G:x∈G, x·e=e·x=x;

(inverse)∀x∈G,∃x′Gtel quex·x=x·x=e.

Anneau :

EnsembleA muni de deux lois de composition interne(+,∗)tels que :

+définit un groupe abélien surA, d’élément neutre0, et l’inverse d’un élémentxest noté−x;

(4)

Corps :

Un anneau dans lequel seul l’élément nul est non inversible pour la multiplication. (F∗

q=Fq\{0})

Corps fini ou groupe de Galois :

Un corps à qéléments notéFq ouGF(q). Dans ce cas,qest une puissance d’un nombre premier appelé caractéristiquedu corps.

Résidu quadratique

Un élément d’un corps admettant une racine carrée dans ce corps. Si le corps est Fq, il existe q−

1

2 résidus quadratiques dans F∗q.

aFq est un résidu quadratique ssia q−1

(5)

Courbe elliptique sur un corps Fpn (p >3) :

L’ensemble des points(x, y)F2pn vérifiant l’équation

E :y2 =x3+ax+b,

où a, bFpn.

Compression de point

Pour transmettre un point (x, y)Fpn, on envoie la coordonnée x et un bit pour le signe de y.

Puis retrouver y en calculant y0=

x3

+ax+bselon le bit de signe reçu.

Hachage vers un point

h Fpn, lehaché d’un message M.

Si h est un résidu quadratique dansFpn,on calcule

y =√x3

(6)

Contenu

1 Extensions impaires

L’algorithme de Shanks pourq 3 (mod4) L’algorithme d’Atkin pour q5 (mod 8) L’algorithme de Kong pourq9 (mod 16) Algorithmes Généraux pourq 1 (mod16)

2 Extensions paires

Algorithme pour q3 (mod 4) Algorithme pour q1 (mod 4)

3 Comparaisons numériques

Comparaisons pour p3 (mod4) Comparaisons pour p1 (mod4)

(7)

·dansFpm p premier impair

mimpair

pm

≡1 mod 4

pm≡1 mod 8

pm

≡1 mod 16

Alg. de Müller ou alg. de Tonelli-Shanks

pm

≡9 mod 16

Alg. de Kong

pm

≡5 mod 8

Alg. d’Atkin

pm≡3 mod 4

(8)

L’algorithme de Shanks pourq≡3 (mod4)

Si q=pm3 (mod 4). En intégrant le test de résidu quadratique à l’algorithme de Shanks [5], on obtient l’algorithme 1.

Algorithme 1 Algorithme de Shanks pourq 3 (mod4)

Entrée: a∈F∗ q.

Sortie: xtel quex2 =a, s’il existe et

faux autrement. 1: a1a

q−3 4 . 2: a0a21a.

3: Sia0=−1Alors

4: Retourner faux. 5: Fin Si

6: xa1a. {aq+14 } 7: Retourner x.

Avec la méthode binaire pour l’exponentiation ont obtient une complexité de :

1 2 h

⌊log2(q)⌋+ 1

i

Mq+hlog2(q)⌋ −1

i

(9)

L’algorithme d’Atkin pourq≡5 (mod8)

Quand q5 (mod 8), on peut employer la méthode d’Atkin [1] .

Algorithme 2 Algorithme d’Atkin

Entrée: a∈F∗ q.

Sortie: xtel quex2 =a, s’il existe et

faux autrement. PRECALCUL

1: t2q− 5 8 .

CALCUL

1: a1a

q−5 8 .

2: a0(a21a)2. 3: Sia0=1Alors 4: Retourner faux. 5: Fin Si

6: bta1. 7: i2(ab)b. 8: x(ab)(i1). 9: Retourner x.

La complexité de l’algorithme 2 est de :

1 2 h

⌊log2(q)⌋+ 11

i

Mq+hlog2(q)⌋ −1

i

(10)

L’algorithme de Kong pourq≡9 (mod16)

L’algorithme de Kong et al.[2] est une généralisation de la méthode d’Atkin pourq 9 (mod16), avec une complexité moyenne egale à :

1 2 h

⌊log2(q)⌋+ 16

i

Mq+ h

⌊log2(q)⌋+ 1

i

(11)

L’algorithme de Kong pourq≡9 (mod16)

Algorithme 3 Algorithme de Kong pour q9 (mod 16)

Entrée: a∈F∗ q.

Sortie: xtel quex2 =a, s’il existe et

faux autrement. PRECALCUL

1: c01

2: Tant quec0= 1Faire

3: ChoisircF

q. 4: dcq−

9 8 . 5: c0(dc)4. 6: Fin Tant que

7: ec2,t2q− 9 16 .

CALCUL

1: a1a

q−9 16 . 2: a0(a21a)4.

3: Sia0=−1Alors

4: Retourner faux. 5: Fin Si

6: bta1. 7: i2(ab)b. 8: ri2. 9: Sir=−1Alors

10: x(ab)(i1). 11: Sinon

12: ubd. 13: i2u2ea. 14: xuca(i1). 15: Fin Si

(12)

Algorithmes Généraux pourq≡1 (mod16)

Algorithme 4 Algorithme de Tonelli-Shanks

Entrée: a∈F∗ q

Sortie: xtel quex2 =a, s’il existe et

faux autrement. PRECALCUL

1: Mettreq1sous la forme2st, avec

timpair.

2: c01.

3: Tant quec0= 1Faire

4: Selectionner aléatoirement c

F∗ q. 5: zct. 6: c0c21s−1. 7: Fin Tant que

COMPUTATION

1: ωat− 1 2 . 2: a0(ω2a)2s−1. 3: Sia0=−1Alors

4: Retourner faux. 5: Fin Si

6: vs,x,b.

7: Tant queb6= 1Faire

8: Chercher le plus petit entier

r>0tel queb2r = 1.

9: ωz2v−r−1,zω2,bbz,

x←xω,v←r. 10: Fin Tant que

(13)

Algorithmes Généraux pourq≡1 (mod16)

L’Algorithme 4 de Tonelli-Shanks [6] a une complexité moyenne de :

1 2 h

⌊log2(q)⌋+s+ 3

i

Mq+ h

⌊log2(q)⌋+

1 4 s

2

+ 3s12

+ 1

2s−1

i

Sq,

où s est défini tel queq1 = 2st, avec t impair.

(14)

Algorithmes Généraux pourq≡1 (mod16)

Soient α et β Fq. La suite de Lucas Vk(α, β)

k>0 est :

V0 = 2, V1=α and Vk=αVk−1−βVk−2, pourk >1.

L’algorithme 5 calcule Vk(α,1) pourα etk >1donnés,

Algorithme 5 Evaluation de terme d’une suite de Lucas

Entrée: α∈Fq etk>2.

Sortie: Vk(α,1).

1: Ecrire k sous la forme binaire

Pl−1

j=0bj2j. 2: d0α. 3: d1α22.

4: Pourjdécroissant del−2vers 1

Faire

5: d1

−bj ← d0d1 − α,

dbj ←d

2 1−bj −2.

6: Fin Pour

7: if b0= 1 thenv←d0d1−αelse v←d2

0−2.

8: Retourner v.

Sa complexité est : hlog2(q)⌋ − 5 2

i

Mq+ h

⌊log2(q)⌋ − 3 2

i

(15)

Algorithmes Généraux pourq≡1 (mod16)

Algorithme 6 Algorithme de Müller [4]

Entrée: a∈F∗ q.

Sortie: xtel quex2 =a, s’il existe et

faux autrement. 1: Sia= 4Alors

2: Retourner 2. 3: Fin Si

4: t1.

5: a1(at24)

q−1 2 . 6: Tant quea1= 1Faire

7: Selectionner aléatoirement u

F∗ q\{1}. 8: tu

9: Siat24 = 0Alors 10: Retourner 2t−1.

11: Fin Si

12: a1(at24)

q−1 2 . 13: Fin Tant que

14: αat22. 15: xVq−1

4

(α,1)/t.

16: a0x2a. 17: Sia06= 0Alors

18: Retourner faux. 19: Fin Si

(16)

Algorithmes Généraux pourq≡1 (mod16)

Complexité de l’algorithme 6 :

Si (a4)q−21 =−1, en moyenne, on a

h

3

2⌊log2(q)⌋ −3

i

Mq+ h

2log2(q)⌋ − 3 2

i

Sq.

Si (a4)q−21 = 1, en moyenne, on a

h

5

2⌊log2(q)⌋ −3

i

Mq+h4log2(q)⌋ − 5 2

i

Sq+Iq.

En faisant la moyenne dans ces deux cas, on obtient une complexité moyenne de :

h

2log2(q)⌋ −3

i

Mq+ h

3log2(q)⌋ −2

i

(17)

Algorithme pourq≡3 (mod4)

Remarque

Soit K un corps fini et aK un résidu quadratique dansK. Soit bK tel qu’il existe un entier simpair vérifiant b2

as = 1, alors bas+12 est un racine carrée dea.

Supposons q=pn/23 (mod 4) etaFq2. En posant

b= (1 +aq−21)

q−1

2 et i=√−1,

on a :

x= (

iaq+14 sia

q−1

2 =−1;

baq+14 autrement.

(18)

Algorithme pourq≡3 (mod4)

L’équation 1 se traduit facilement en l’algorithme 7 avec une complexité de :

h

⌊log2(q)⌋+ 2

i

Mq2+

h

2log2(q)⌋ −3

i

Sq2.

Algorithme 7 Racine carrée dansFq2, avec q ≡3 (mod4)

Entrée: a ∈ F∗

q2 et i ∈ Fq2 tel que

i=√−1.

Sortie: xtel quex2 =a, s’il existe et

faux autrement. 1: a1a

q−3 4 .

2: αa1(a1a). {aq−1 2 }

3: a0αqα. {aq2−1 2 } 4: Sia0=−1Alors

5: Retourner faux.

6: Fin Si

7: x0a1a. {aq+14 } 8: Siα=−1Alors

9: xix0.

10: Sinon

11: b(1 +α)

q−1 2 . 12: xbx0.

13: Fin Si

(19)

Algorithme pourq≡1 (mod4)

Algorithme 8 Racine carrée dansFq2, avec q ≡1 (mod4)

Entrée: a∈F∗ q2.

Sortie: xtel quex2 =a, s’il existe et

faux autrement. PRECALCUL

1: c01.

2: Tant quec0= 1Faire

3: Sélectionner aléatoirement c

dansF∗

q.

4: dc

q−1 2 .

5: c0dqd. {cq2−1 2 } 6: Fin Tant que

7: e(dc)−1.

{(cq+12 )−1} 8: f(dc)2. {cq+1}

CALCUL

1: ba

q−1 4 .

2: a0(b2)qb2. {aq2−1 2 } 3: Sia0=−1Alors

4: Retourner faux. 5: Fin Si

6: Sibqb= 1Alors 7: x0SQRT

q(b

2a).

8: xx0bq. 9: Sinon

10: x0SQRT q(b

2af).

(20)

Algorithme pourq≡1 (mod4)

Dans l’algorithme 8, SQRTq(·) désigne l’opération d’extraire une racine carrée d’un résidu quadratique dans Fq en utilisant la méthode la plus appropriée.

Si n(Fq2 =Fpn) est divisible par 4,

c.-à-d., Fq est aussi extension de degré paire deFp,

on peut alors réutiliser l’algorithme 8 ou faire appel à l’algorithme 7 pour avoir une racine carrée de b2

aou b2

(21)

Algorithme pourq≡1 (mod4)

La complexité moyenne de l’algorithme 8 est de :

h

⌊log2(q)⌋+ 1

i

Sq2 +

h1

2⌊log2(q)⌋+ 19

6 i

Mq2 + #SQRTq,

(22)

Pour illustrer la compétitivité de nos algorithmes nous avons choisi :

pourq =p3

≡3 (mod 4),n= 6 = 2×3 et l’extension est construit selon le schéma

Fp ⊂Fp3 ⊂Fp6;

pourq =p6

≡1 (mod 4),n= 12 = 22

×3 et l’extension est construit selon le schéma

(23)

Comparaisons pourp≡3 (mod4)

Posons

p1= 36u 4

+ 36u3+ 24u2+ 6u+ 1, avec u=(262

+ 255

+ 1)

et

p2= 2 256

−2224+ 2192+ 2961.

Tableau 1:Nombre de multiplications dansFp pourp= 3 (mod4)

Paramètre Algo 3mod4 Algo Kong Algo T-Shanks Algo Muller

p1[254bits] 11379 46635 46374 71263

(24)

Comparaisons pourp≡1 (mod4)

Posons

p3 = 36u 4

+ 36u3+ 24u2+ 6u+ 1, avec u= 262254+ 244

et

p4= 36u 4

[image:24.363.25.351.43.260.2]

+ 36u3+ 24u2+ 6u+ 1, avec u= 263249

Tableau 2:Nombre de multiplications dansFp pourp= 1 (mod4)

Paramètre Algo 1mod4 Algo Kong Algo T-Shanks Algo Muller

p3[254bits] 13751 —– 305616 428628

(25)

·dansFpn p premier impair

n pair

pn/2

≡1 mod 4

Nouv. alg. 1 mod 4

pn/2

≡3 mod 4

Nouv. alg. 3 mod 4

n impair

p≡1 mod 4

p≡1 mod 8

p≡1 mod 16

Alg. de Müller ou alg. de Tonelli-Shanks

p≡9 mod 16

Alg. de Kong

p≡5 mod 8

Alg. d’Atkin

p≡3 mod 4

(26)

Objectif futurs

Aprofondir les techniques utilisées pour application à l’exponentiation

(27)

A.O.L. Atkin.

Probabilistic primality testing, summary by F. Morain.

Research Report 1779, INRIA, pages 159–163, 1992.

F. Kong, Z. Cai, J. Yu, and D. Li.

Improved generalized atkin algorithm for computing square roots in finite fields.

Information Processing Letters, vol. 98, no. 1 :1–5, 2006.

S. Lindhurst.

An analysis of shanks’s algorithm for computing square roots in finite fields.

CRM Proc. and Lecture Notes, Vol. 19 :231–242, 1999.

S. Müller.

On the computation of square roots in finite fields.

(28)

D. Shanks.

Five number-theoretic algorithms.

Proceedings of the second Manitoba conference on numerical mathematics, pages 51–70, 1972.

A. Tonelli.

Bemerkung uber die auflosung quadratischer congruenzen.

(29)

Figure

Tableau 2: Nombre de multiplications dans Fp pour p = 1 (mod 4)

Referencias

Documento similar

(224) le "processus de transition politique", c'est-à-dire le passage du régime autoritaire du Général Franco (t 1975) à la monarchie parlementaire: légalisation des partis

Cette question renvoie à l’usage de la langue officielle du Sénégal, et cette langue occupe une place privilégiée dans ce pays même si elle est de plus en

menter. Enfuite, par le moyen d'un couloir de bois , placé dans la cuve, on paíie laliqueurimpregnée de la créme du malt; on la traníporte tout dé fuite dans une chaudiere ,

Dans le cas de concevoir la construction d’une voûte sous ce principe, les arcs ogives seront deux arcs en plein cintre, et les autres arcs qui interviennent dans la voûte doivent

La beauté est dans l’œil qui la regarde.... La beauté est dans l’œil qui

Des lors ce n'est pas comme chrétien, mais, dans un premier temps, comme entiérement paien, puis concurremment comme paien ou chrétien selon les cas, avant

On est là devant un dilemme : ou bien promouvoir une régionalisation avancée standard et l’appliquer sans distinction à l’ensemble du territoire national ; dans ces conditions,

médialement ( امهتاوصال، اعضاوتم).. b) jointes des deux côtés ( ـصـ) (ـضـ), dans ce cas elles ne sont situées qu'au milieu du mot ( ناغبطصت, اوبضغ). Dans le ms.