Racines Carr s dans les Extensions Quadratiques de Corps...

Preview:

Citation preview

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Racines Carrées dans les Extensions Quadratiques

de Corps Finis

Gora Adj

Mardi 10 Juillet 2012

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Institution

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

◮ Département d’Informatique, Mexico

◮ Environ 100 publications par an

Maître de Stage : Francisco Rodríguez-Henríquez

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Groupe :

Ensemble non vide G muni 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′ ∈ G tel que x · x′ = x′ · x = e.

Anneau :

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

+ définit un groupe abélien sur A, d’élément neutre 0, et l’inversed’un élément x est noté −x ;

∗ est associative, distributive par rapport à + et admet un élémentneutre (noté 1).

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Corps :

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

q = Fq\{0})

Corps fini ou groupe de Galois :

Un corps à q éléments noté Fq ou GF (q). Dans ce cas, q est unepuissance d’un nombre premier appelé caractéristique du 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

2résidus quadratiques dans F

q.

a ∈ Fq est un résidu quadratique ssi aq−12 = 1.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

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, b ∈ Fpn.

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+ b selon le bit de

signe reçu.

Hachage vers un point

h ∈ Fpn, le haché d’un message M.Si h est un résidu quadratique dans Fpn ,on calculey =

√x3 + ax+ b pour avoir un point (h, y).

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Contenu

1 Extensions impairesL’algorithme de Shanks pour q ≡ 3 (mod 4)L’algorithme d’Atkin pour q ≡ 5 (mod 8)L’algorithme de Kong pour q ≡ 9 (mod 16)Algorithmes Généraux pour q ≡ 1 (mod 16)

2 Extensions pairesAlgorithme pour q ≡ 3 (mod 4)Algorithme pour q ≡ 1 (mod 4)

3 Comparaisons numériquesComparaisons pour p ≡ 3 (mod 4)Comparaisons pour p ≡ 1 (mod 4)

4 Résumé

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

√· dans Fpm

p premier impair

m impair

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

Alg. de Shanks

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

L’algorithme de Shanks pour q ≡ 3 (mod 4)

Si q = pm ≡ 3 (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 pour q ≡ 3 (mod 4)

Entrée: a ∈ F∗q .

Sortie: x tel que x2 = a, s’il existe etfaux autrement.

1: a1 ← aq−3

4 .2: a0 ← a2

1a.

3: Si a0 = −1 Alors

4: Retourner faux.5: Fin Si

6: x← a1a. {aq+1

4 }7: Retourner x.

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

1

2

[

⌊log2(q)⌋+ 1]

Mq +[

⌊log2(q)⌋ − 1]

Sq.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

L’algorithme d’Atkin pour q ≡ 5 (mod 8)

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

Algorithme 2 Algorithme d’Atkin

Entrée: a ∈ F∗q .

Sortie: x tel que x2 = a, s’il existe etfaux autrement.

PRECALCUL

1: t← 2q−5

8 .

CALCUL

1: a1 ← aq−5

8 .

2: a0 ← (a21a)

2.3: Si a0 = −1 Alors

4: Retourner faux.5: Fin Si

6: b← ta1.7: i← 2(ab)b.8: x← (ab)(i− 1).9: Retourner x.

La complexité de l’algorithme 2 est de :

1

2

[

⌊log2(q)⌋+ 11]

Mq +[

⌊log2(q)⌋ − 1]

Sq.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

L’algorithme de Kong pour q ≡ 9 (mod 16)

L’algorithme de Kong et al. [2] est une généralisation de laméthode d’Atkin pour q ≡ 9 (mod 16), avec une complexitémoyenne egale à :

1

2

[

⌊log2(q)⌋+ 16]

Mq +[

⌊log2(q)⌋+ 1]

Sq.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

L’algorithme de Kong pour q ≡ 9 (mod 16)

Algorithme 3 Algorithme de Kong pour q ≡ 9 (mod 16)

Entrée: a ∈ F∗q .

Sortie: x tel que x2 = a, s’il existe etfaux autrement.

PRECALCUL

1: c0 ← 12: Tant que c0 = 1 Faire

3: Choisir c ∈ F∗q .

4: d← cq−9

8 .5: c0 ← (dc)4.6: Fin Tant que

7: e← c2, t← 2q−9

16 .

CALCUL

1: a1 ← aq−9

16 .2: a0 ← (a2

1a)4.

3: Si a0 = −1 Alors

4: Retourner faux.5: Fin Si

6: b← ta1.7: i← 2(ab)b.8: r ← i2.9: Si r = −1 Alors

10: x← (ab)(i− 1).11: Sinon

12: u← bd.13: i← 2u2ea.14: x← uca(i− 1).15: Fin Si

16: Retourner x.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithmes Généraux pour q ≡ 1 (mod 16)

Algorithme 4 Algorithme de Tonelli-Shanks

Entrée: a ∈ F∗q

Sortie: x tel que x2 = a, s’il existe etfaux autrement.

PRECALCUL

1: Mettre q−1 sous la forme 2st, avect impair.

2: c0 ← 1.3: Tant que c0 = 1 Faire

4: Selectionner aléatoirement c ∈F∗q .

5: z ← ct.6: c0 ← c2

s−1

1 .7: Fin Tant que

COMPUTATION

1: ω ← at−1

2 .2: a0 ← (ω2a)2

s−1

.3: Si a0 = −1 Alors

4: Retourner faux.5: Fin Si

6: v ← s, x← aω, b← xω.7: Tant que b 6= 1 Faire

8: Chercher le plus petit entierr > 0 tel que b2

r

= 1.

9: ω ← z2v−r−1

, z ← ω2, b← bz,x← xω, v ← r.

10: Fin Tant que

11: Retourner x.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithmes Généraux pour q ≡ 1 (mod 16)

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

1

2

[

⌊log2(q)⌋+ s+3]

Mq+[

⌊log2(q)⌋+1

4

(

s2+3s−12)

+1

2s−1

]

Sq,

où s est défini tel que q − 1 = 2st, avec t impair.

Cette moyenne, comme dans l’analyse de Lindhurst [3], prend encompte toute entrée possible, qu’elle soit résidu quadratique ounon.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithmes Généraux pour q ≡ 1 (mod 16)

Soient α et β ∈ Fq. La suite de Lucas(

Vk(α, β))

k>0

est :

V0 = 2, V1 = α and Vk = αVk−1 − βVk−2, pour k > 1.L’algorithme 5 calcule Vk(α, 1) pour α et k > 1 donnés,

Algorithme 5 Evaluation de terme d’une suite de Lucas

Entrée: α ∈ Fq et k > 2.Sortie: Vk(α, 1).1: Ecrire k sous la forme binaire∑l−1

j=0 bj2j .

2: d0 ← α.3: d1 ← α2 − 2.4: Pour j décroissant de l − 2 vers 1

Faire

5: d1−bj ← d0d1 − α,dbj ← d21−bj

− 2.6: Fin Pour

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

v ← d20 − 2.8: Retourner v.

Sa complexité est :[

⌊log2(q)⌋ − 5

2

]

Mq +[

⌊log2(q)⌋ − 3

2

]

Sq.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithmes Généraux pour q ≡ 1 (mod 16)

Algorithme 6 Algorithme de Müller [4]

Entrée: a ∈ F∗q .

Sortie: x tel que x2 = a, s’il existe etfaux autrement.

1: Si a = 4 Alors

2: Retourner 2.3: Fin Si

4: t← 1.5: a1 ← (at2 − 4)

q−1

2 .6: Tant que a1 = 1 Faire

7: Selectionner aléatoirement u ∈F∗q\{1}.

8: t← u

9: Si at2 − 4 = 0 Alors

10: Retourner 2t−1.11: Fin Si

12: a1 ← (at2 − 4)q−1

2 .13: Fin Tant que

14: α← at2 − 2.15: x← V q−1

4

(α, 1)/t.

16: a0 ← x2 − a.17: Si a0 6= 0 Alors

18: Retourner faux.19: Fin Si

20: Retourner x.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithmes Généraux pour q ≡ 1 (mod 16)

Complexité de l’algorithme 6 :

Si (a− 4)q−12 = −1, en moyenne, on a

[

3

2⌊log2(q)⌋ − 3

]

Mq +[

2⌊log2(q)⌋ − 3

2

]

Sq.

Si (a− 4)q−12 = 1, en moyenne, on a

[

5

2⌊log2(q)⌋ − 3

]

Mq +[

4⌊log2(q)⌋ − 5

2

]

Sq + Iq.

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

[

2⌊log2(q)⌋ − 3]

Mq +[

3⌊log2(q)⌋ − 2]

Sq +1

2Iq.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithme pour q ≡ 3 (mod 4)

Remarque

Soit K un corps fini et a ∈ K un résidu quadratique dans K.Soit b ∈ K tel qu’il existe un entier s impair vérifiant b2as = 1,

alors bas+12 est un racine carrée de a .

Supposons q = pn/2 ≡ 3 (mod 4) et a ∈ Fq2 . En posant

b = (1 + aq−12 )

q−12 et i =

√−1,

on a :

x =

{

iaq+14 si a

q−12 = −1;

baq+14 autrement.

(1)

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithme pour q ≡ 3 (mod 4)

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

[

⌊log2(q)⌋+ 2]

Mq2 +[

2⌊log2(q)⌋ − 3]

Sq2 .

Algorithme 7 Racine carrée dans Fq2 , avec q ≡ 3 (mod 4)

Entrée: a ∈ F∗q2 et i ∈ Fq2 tel que

i =√−1.

Sortie: x tel que x2 = a, s’il existe etfaux autrement.

1: a1 ← aq−3

4 .2: α← a1(a1a). {a

q−1

2 }

3: a0 ← αqα. {aq2−1

2 }4: Si a0 = −1 Alors

5: Retourner faux.

6: Fin Si

7: x0 ← a1a. {aq+1

4 }8: Si α = −1 Alors

9: x← ix0.10: Sinon

11: b← (1 + α)q−1

2 .12: x← bx0.13: Fin Si

14: Retourner x.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithme pour q ≡ 1 (mod 4)

Algorithme 8 Racine carrée dans Fq2 , avec q ≡ 1 (mod 4)

Entrée: a ∈ F∗q2 .

Sortie: x tel que x2 = a, s’il existe etfaux autrement.

PRECALCUL

1: c0 ← 1.2: Tant que c0 = 1 Faire

3: Sélectionner aléatoirement cdans F

∗q .

4: d← cq−1

2 .5: c0 ← dqd. {c

q2−1

2 }6: Fin Tant que

7: e← (dc)−1. {(cq+1

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

CALCUL

1: b← aq−1

4 .2: a0 ← (b2)qb2. {a

q2−1

2 }3: Si a0 = −1 Alors

4: Retourner faux.5: Fin Si

6: Si bqb = 1 Alors

7: x0 ← SQRTq(b2a).

8: x← x0bq .

9: Sinon

10: x0 ← SQRTq(b2af).

11: x← x0bqe.

12: Fin Si

13: Retourner x.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithme pour q ≡ 1 (mod 4)

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

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

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

on peut alors réutiliser l’algorithme 8 ou faire appel à l’algorithme 7pour avoir une racine carrée de b2a ou b2af aux étapes 7 et 10 del’algorithme.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Algorithme pour q ≡ 1 (mod 4)

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

[

⌊log2(q)⌋+ 1]

Sq2 +[1

2⌊log2(q)⌋ +

19

6

]

Mq2 +#SQRTq,

où #SQRTq représente la complexité d’une extraction de racinecarrée dans Fq.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

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

pour q = p3 ≡ 3 (mod 4), n = 6 = 2× 3 et l’extension estconstruit selon le schéma

Fp ⊂ Fp3 ⊂ Fp6 ;

pour q = p6 ≡ 1 (mod 4), n = 12 = 22 × 3 et l’extension estconstruit selon le schéma

Fp ⊂ Fp3 ⊂ Fp6 ⊂ Fp12 .

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Comparaisons pour p ≡ 3 (mod 4)

Posons

p1 = 36u4 +36u3 +24u2 +6u+1, avec u = −(262 +255 +1)

et

p2 = 2256 − 2224 + 2192 + 296 − 1.

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

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

p1[254bits] 11379 46635 46374 71263

p2[256bits] 15751 —– 95162 74225

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Comparaisons pour p ≡ 1 (mod 4)

Posons

p3 = 36u4 + 36u3 + 24u2 + 6u+ 1, avec u = 262 − 254 + 244

et

p4 = 36u4 + 36u3 + 24u2 + 6u+ 1, avec u = 263 − 249

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

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

p3[254bits] 13751 —– 305616 428628

p4[256bits] 14598 —– 318096 415519

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

√· dans Fpn

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

Alg. de Shanks

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

Objectif futurs

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

Cryptosystèmes basés sur les code correcteurs d’erreurs et lessystèmes multivariables

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

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 finitefields.

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

S. Lindhurst.

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

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

S. Müller.

On the computation of square roots in finite fields.

J. Design, Codes and Cryptography, vol. 31 :301–312, 2004.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

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.

Götinger Nachrichten, pages 344–346, 1891.

Context Extensions impaires Extensions paires Comparaisons numériques Résumé

MERCI DE VOTRE ATTENTION !

Recommended