construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · construction de courbes...

36
Construction de courbes elliptiques pairing-friendly Gaëtan BISSON 1/17 Construction de courbes elliptiques pairing-friendly Gaëtan BISSON LORIA, Nancy, France TU/e, Eindhoven, Netherlands

Upload: others

Post on 19-Jul-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

1/17

Construction de courbeselliptiques pairing-friendly

Gaëtan BISSON

LORIA, Nancy, France

TU/e, Eindhoven, Netherlands

Page 2: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

2/17

Première partie

Les courbes en cryptographie

Page 3: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

3/17

Points abordés

1 Logarithme discret

2 Courbes elliptiques

3 Couplages

Page 4: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

4/17

Le problème du logarithme discret

La cryptographie asymétrique utilise des fonctions à sens uniqueà trappe pour des applications telles que le chiffrement à clefpublique, les signatures électroniques, etc.

Soit G un groupe fini engendré par l’un de ses éléments, g.

Z/ (#G) Z ∼−→ G G ∼−→ Z/ (#G) Zm 7−→ mg = h 7−→ logg h (:= m)

PROTOCOLES :— L’échange de clef de Diffie-Hellman.— Le cryptosystème ElGamal.

Page 5: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

4/17

Le problème du logarithme discret

La cryptographie asymétrique utilise des fonctions à sens uniqueà trappe pour des applications telles que le chiffrement à clefpublique, les signatures électroniques, etc.

Soit G un groupe fini engendré par l’un de ses éléments, g.

Z/ (#G) Z ∼−→ G G ∼−→ Z/ (#G) Zm 7−→ mg = h 7−→ logg h (:= m)

PROTOCOLES :— L’échange de clef de Diffie-Hellman.— Le cryptosystème ElGamal.

Page 6: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

4/17

Le problème du logarithme discret

La cryptographie asymétrique utilise des fonctions à sens uniqueà trappe pour des applications telles que le chiffrement à clefpublique, les signatures électroniques, etc.

Soit G un groupe fini engendré par l’un de ses éléments, g.

Z/ (#G) Z ∼−→ G G ∼−→ Z/ (#G) Zm 7−→ mg = h 7−→ logg h (:= m)

PROTOCOLES :— L’échange de clef de Diffie-Hellman.— Le cryptosystème ElGamal.

Page 7: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

5/17

Attaques génériques et spécifiquesATTAQUES GENERIQUES :

— L’attaque de Polling-Hellman réduit G à son plus grandsous-groupe d’ordre premier.

— La méthode ρ de Pollard (essentiellement brute-force).Complexité en Θ

(√#G

).

Dans quels groupes G peut-on utiliser le logarithme discret ?On doit en premier lieu pouvoir calculer rapidement dans G.

ATTAQUES SPECIFIQUES :Z/nZ Algorithme d’Euclide pour inverser g.

Complexité en Θ (log n).F×q Algorithme du calcul d’index.

Complexité en Θ(

exp(c (log q)

13 log (log q)

23

)).

Jac Pas d’attaque efficace connue pour les groupes qui dériventde courbes algébriques “convenables”.

Page 8: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

5/17

Attaques génériques et spécifiquesATTAQUES GENERIQUES :

— L’attaque de Polling-Hellman réduit G à son plus grandsous-groupe d’ordre premier.

— La méthode ρ de Pollard (essentiellement brute-force).Complexité en Θ

(√#G

).

Dans quels groupes G peut-on utiliser le logarithme discret ?On doit en premier lieu pouvoir calculer rapidement dans G.

ATTAQUES SPECIFIQUES :Z/nZ Algorithme d’Euclide pour inverser g.

Complexité en Θ (log n).F×q Algorithme du calcul d’index.

Complexité en Θ(

exp(c (log q)

13 log (log q)

23

)).

Jac Pas d’attaque efficace connue pour les groupes qui dériventde courbes algébriques “convenables”.

Page 9: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

5/17

Attaques génériques et spécifiquesATTAQUES GENERIQUES :

— L’attaque de Polling-Hellman réduit G à son plus grandsous-groupe d’ordre premier.

— La méthode ρ de Pollard (essentiellement brute-force).Complexité en Θ

(√#G

).

Dans quels groupes G peut-on utiliser le logarithme discret ?On doit en premier lieu pouvoir calculer rapidement dans G.

ATTAQUES SPECIFIQUES :Z/nZ Algorithme d’Euclide pour inverser g.

Complexité en Θ (log n).F×q Algorithme du calcul d’index.

Complexité en Θ(

exp(c (log q)

13 log (log q)

23

)).

Jac Pas d’attaque efficace connue pour les groupes qui dériventde courbes algébriques “convenables”.

Page 10: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

5/17

Attaques génériques et spécifiquesATTAQUES GENERIQUES :

— L’attaque de Polling-Hellman réduit G à son plus grandsous-groupe d’ordre premier.

— La méthode ρ de Pollard (essentiellement brute-force).Complexité en Θ

(√#G

).

Dans quels groupes G peut-on utiliser le logarithme discret ?On doit en premier lieu pouvoir calculer rapidement dans G.

ATTAQUES SPECIFIQUES :Z/nZ Algorithme d’Euclide pour inverser g.

Complexité en Θ (log n).

F×q Algorithme du calcul d’index.

Complexité en Θ(

exp(c (log q)

13 log (log q)

23

)).

Jac Pas d’attaque efficace connue pour les groupes qui dériventde courbes algébriques “convenables”.

Page 11: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

5/17

Attaques génériques et spécifiquesATTAQUES GENERIQUES :

— L’attaque de Polling-Hellman réduit G à son plus grandsous-groupe d’ordre premier.

— La méthode ρ de Pollard (essentiellement brute-force).Complexité en Θ

(√#G

).

Dans quels groupes G peut-on utiliser le logarithme discret ?On doit en premier lieu pouvoir calculer rapidement dans G.

ATTAQUES SPECIFIQUES :Z/nZ Algorithme d’Euclide pour inverser g.

Complexité en Θ (log n).F×q Algorithme du calcul d’index.

Complexité en Θ(

exp(c (log q)

13 log (log q)

23

)).

Jac Pas d’attaque efficace connue pour les groupes qui dériventde courbes algébriques “convenables”.

Page 12: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

5/17

Attaques génériques et spécifiquesATTAQUES GENERIQUES :

— L’attaque de Polling-Hellman réduit G à son plus grandsous-groupe d’ordre premier.

— La méthode ρ de Pollard (essentiellement brute-force).Complexité en Θ

(√#G

).

Dans quels groupes G peut-on utiliser le logarithme discret ?On doit en premier lieu pouvoir calculer rapidement dans G.

ATTAQUES SPECIFIQUES :Z/nZ Algorithme d’Euclide pour inverser g.

Complexité en Θ (log n).F×q Algorithme du calcul d’index.

Complexité en Θ(

exp(c (log q)

13 log (log q)

23

)).

Jac Pas d’attaque efficace connue pour les groupes qui dériventde courbes algébriques “convenables”.

Page 13: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

6/17

Les courbes elliptiques

Sur un corps (fini) Fq de charactéristique différente de 2 et 3,une courbe elliptique E est donnée par son équation :

Y 2 = 4X3 − g2X − g3

L’ensemble des solutions projectives de cette équation(dans F2

q ∪ {∞}) forme un groupe :— dont il est non-trivial de calculer efficacement le cardinal ;— mais dont la loi de groupe se calcule très aisément.

Page 14: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

6/17

Les courbes elliptiques

Sur un corps (fini) Fq de charactéristique différente de 2 et 3,une courbe elliptique E est donnée par son équation :

Y 2 = 4X3 − g2X − g3

L’ensemble des solutions projectives de cette équation(dans F2

q ∪ {∞}) forme un groupe :— dont il est non-trivial de calculer efficacement le cardinal ;— mais dont la loi de groupe se calcule très aisément.

Page 15: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

7/17

La loi de groupe illustrée

AB

A+B

Page 16: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

8/17

Les couplages

Un couplage est une application bilinéaire non-dégénérée :

G2 → µr

En pratique, G = E [r] et µr ⊂ F×qk ; on peut alors calculer

le couplage efficacement lorsque Fqk est de taille raisonnable.

k := [Fq (µr) : Fq] = min{i ∈ N : r | qi − 1

}

APPLICATIONS :— réduction du logarithme discret de G à F×

qk ;

— utilisation dans des protocoles.On veut donc k petit (mais pas trop).

Page 17: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

8/17

Les couplages

Un couplage est une application bilinéaire non-dégénérée :

G2 → µr

En pratique, G = E [r] et µr ⊂ F×qk ; on peut alors calculer

le couplage efficacement lorsque Fqk est de taille raisonnable.

k := [Fq (µr) : Fq] = min{i ∈ N : r | qi − 1

}APPLICATIONS :

— réduction du logarithme discret de G à F×qk ;

— utilisation dans des protocoles.On veut donc k petit (mais pas trop).

Page 18: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

8/17

Les couplages

Un couplage est une application bilinéaire non-dégénérée :

G2 → µr

En pratique, G = E [r] et µr ⊂ F×qk ; on peut alors calculer

le couplage efficacement lorsque Fqk est de taille raisonnable.

k := [Fq (µr) : Fq] = min{i ∈ N : r | qi − 1

}APPLICATIONS :

— réduction du logarithme discret de G à F×qk ;

— utilisation dans des protocoles.On veut donc k petit (mais pas trop).

Page 19: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

9/17

Deuxième partie

Construction

Page 20: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

10/17

Points abordés

4 Cadre

5 Cocks-Pinch

6 Brezing-Weng

7 Amélioration

Page 21: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

11/17

La méthode CM

EN DEUX MOTS : Une courbe elliptique sur Fq peut être relevéedans C où la théorie de la multiplication complexe “classifie”les courbes en fonction de certaines propriétés.

EN PRATIQUE : Étant donné des entiers q, t et D tels que

q est premier et ∃y, 4q = t2 +Dy2

la méthode CM construit une courbe elliptique sur Fq

avec pour cardinal q + 1− t.Elle est efficace lorsque D n’est pas trop grand.

Page 22: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

11/17

La méthode CM

EN DEUX MOTS : Une courbe elliptique sur Fq peut être relevéedans C où la théorie de la multiplication complexe “classifie”les courbes en fonction de certaines propriétés.

EN PRATIQUE : Étant donné des entiers q, t et D tels que

q est premier et ∃y, 4q = t2 +Dy2

la méthode CM construit une courbe elliptique sur Fq

avec pour cardinal q + 1− t.Elle est efficace lorsque D n’est pas trop grand.

Page 23: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

12/17

Conditions

On veut construire une courbe elliptique E sur un corps fini Fq

ayant un grand sous-groupe G d’ordre r (= #G) premiermuni d’un couplage qui s’évalue rapidement.

Il nous faut donc :q, r grands premierst, y entiersD, k petits entiers

tels que

r | Dy2 + (t− 2)2

r | Φk (t− 1)t2 +Dy2 = 4q

La dernière équation caractérise D pour la méthode CM.La première et la dernière impliquent que r | q + 1− t.Enfin, la seconde équation caractérise k.

Page 24: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

12/17

Conditions

On veut construire une courbe elliptique E sur un corps fini Fq

ayant un grand sous-groupe G d’ordre r (= #G) premiermuni d’un couplage qui s’évalue rapidement.

Il nous faut donc :q, r grands premierst, y entiersD, k petits entiers

tels que

r | Dy2 + (t− 2)2

r | Φk (t− 1)t2 +Dy2 = 4q

La dernière équation caractérise D pour la méthode CM.La première et la dernière impliquent que r | q + 1− t.Enfin, la seconde équation caractérise k.

Page 25: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

13/17

La méthode Cocks-Pinch

On fixe D et k, deux petits entiers. Pour trouver des valeurs deq, r, t et y satisfaisant les conditions, on procède ainsi :

1 Choisir r tel que Fr contienne√−D et une racine

primitive kème de l’unité, z.2 Poser t = 1 + z et y = t−2√

−Dmod r.

3 Relever t et y dans Z et poser q = 14

(t2 +Dy2

).

Répéter cet algorithme pour différents choix de r et z jusqu’à ceque q soit premier.

INCONVENIENT : Les paramètres construits vérifient

ρ :=log qlog r

∼ 2

i.e. on n’utilise que la “moitié” de la courbe elliptique.

Page 26: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

13/17

La méthode Cocks-Pinch

On fixe D et k, deux petits entiers. Pour trouver des valeurs deq, r, t et y satisfaisant les conditions, on procède ainsi :

1 Choisir r tel que Fr contienne√−D et une racine

primitive kème de l’unité, z.2 Poser t = 1 + z et y = t−2√

−Dmod r.

3 Relever t et y dans Z et poser q = 14

(t2 +Dy2

).

Répéter cet algorithme pour différents choix de r et z jusqu’à ceque q soit premier.

INCONVENIENT : Les paramètres construits vérifient

ρ :=log qlog r

∼ 2

i.e. on n’utilise que la “moitié” de la courbe elliptique.

Page 27: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

14/17

La méthode Brezing-Weng

On fixe D et k, deux petits entiers. On cherche des polynômesq, r, t et y (en x) satisfaisant les conditions en procédant ainsi :

1 Choisir r tel que Q [x] / (r) soit un corps contenant√−D

et une racine primitive kème de l’unité, z.2 Poser t = 1 + z et y = t−2√

−Dmod r.

3 Relever t et y dans Z [x] et poser q = 14

(t2 +Dy2

).

Répéter cet algorithme pour différents choix de r et z jusqu’à ceque q soit irréductible.

On cherche alors des entiers x tels que q (x) et r (x) soientpremiers, et t (x) et y (x) soient entiers.Pour chacun d’entre eux, on a une courbe avec ρ := deg q

deg r .

SUBTILITE : Bien choisir r et z.

Page 28: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

14/17

La méthode Brezing-Weng

On fixe D et k, deux petits entiers. On cherche des polynômesq, r, t et y (en x) satisfaisant les conditions en procédant ainsi :

1 Choisir r tel que Q [x] / (r) soit un corps contenant√−D

et une racine primitive kème de l’unité, z.2 Poser t = 1 + z et y = t−2√

−Dmod r.

3 Relever t et y dans Z [x] et poser q = 14

(t2 +Dy2

).

Répéter cet algorithme pour différents choix de r et z jusqu’à ceque q soit irréductible.

On cherche alors des entiers x tels que q (x) et r (x) soientpremiers, et t (x) et y (x) soient entiers.Pour chacun d’entre eux, on a une courbe avec ρ := deg q

deg r .

SUBTILITE : Bien choisir r et z.

Page 29: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

14/17

La méthode Brezing-Weng

On fixe D et k, deux petits entiers. On cherche des polynômesq, r, t et y (en x) satisfaisant les conditions en procédant ainsi :

1 Choisir r tel que Q [x] / (r) soit un corps contenant√−D

et une racine primitive kème de l’unité, z.2 Poser t = 1 + z et y = t−2√

−Dmod r.

3 Relever t et y dans Z [x] et poser q = 14

(t2 +Dy2

).

Répéter cet algorithme pour différents choix de r et z jusqu’à ceque q soit irréductible.

On cherche alors des entiers x tels que q (x) et r (x) soientpremiers, et t (x) et y (x) soient entiers.Pour chacun d’entre eux, on a une courbe avec ρ := deg q

deg r .

SUBTILITE : Bien choisir r et z.

Page 30: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

15/17

Une amélioration

Fixons un entier d et posons D = n2d. Les polynômes q, r et tobtenus sont indépendants de n ; quant à y, on a yn = 1

ny1.1 Fixer k et d et calculer q, t, r et y comme précédemment.2 Trouver un x tel que q (x) et r (x) soient premiers,

et t (x) et y (x) soient entiers.3 Factoriser y (x).4 Choisir un diviseur n et générer une courbe avec D = n2d.

Pour que la méthode CM soit réalisable, il faut n < 105.Pour éviter une réduction par isogénie, il faut que n ait un grandfacteur premier.

SUBTILITE : Mieux choisir r et z.GAIN : Plus de courbes avec plus grand nombre de classes.

Page 31: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

15/17

Une amélioration

Fixons un entier d et posons D = n2d. Les polynômes q, r et tobtenus sont indépendants de n ; quant à y, on a yn = 1

ny1.1 Fixer k et d et calculer q, t, r et y comme précédemment.2 Trouver un x tel que q (x) et r (x) soient premiers,

et t (x) et y (x) soient entiers.3 Factoriser y (x).4 Choisir un diviseur n et générer une courbe avec D = n2d.

Pour que la méthode CM soit réalisable, il faut n < 105.Pour éviter une réduction par isogénie, il faut que n ait un grandfacteur premier.

SUBTILITE : Mieux choisir r et z.GAIN : Plus de courbes avec plus grand nombre de classes.

Page 32: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

15/17

Une amélioration

Fixons un entier d et posons D = n2d. Les polynômes q, r et tobtenus sont indépendants de n ; quant à y, on a yn = 1

ny1.1 Fixer k et d et calculer q, t, r et y comme précédemment.2 Trouver un x tel que q (x) et r (x) soient premiers,

et t (x) et y (x) soient entiers.3 Factoriser y (x).4 Choisir un diviseur n et générer une courbe avec D = n2d.

Pour que la méthode CM soit réalisable, il faut n < 105.Pour éviter une réduction par isogénie, il faut que n ait un grandfacteur premier.

SUBTILITE : Mieux choisir r et z.GAIN : Plus de courbes avec plus grand nombre de classes.

Page 33: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

16/17

ExempleSoient k = 9 et D = 3 ; on choisit r = Φ9 et z = x4.La méthode de Brezing-Weng donne une famille avec ρ ∼ 1.33 :

q (x) = 13

(x8 + x7 + x6 + x5 + 4x4 + x3 + x2 + x+ 1

)y (x) = 1

3

(x4 + 2x3 + 2x+ 1

)

Par exemple, pour x = 100026508, q (x) est premier (212 bits),r (x) est presque premier (2 + 158 bits) et

y (x) = 47 · 227 · 3529 · 27759659 · 31926380379504181

Prenons n = 3529 ; on trouve la courbe d’équation :

Y 2 = X3 + 32465585675528475154686711463989\30389227646675927893599247518644X

+ 10509028022025889317738018597831\15352914330802852418162001031235

mod 33404087284979282356159367134485\14719712300943298532712491943583

Page 34: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

16/17

ExempleSoient k = 9 et D = 3 ; on choisit r = Φ9 et z = x4.La méthode de Brezing-Weng donne une famille avec ρ ∼ 1.33 :

q (x) = 13

(x8 + x7 + x6 + x5 + 4x4 + x3 + x2 + x+ 1

)y (x) = 1

3

(x4 + 2x3 + 2x+ 1

)Par exemple, pour x = 100026508, q (x) est premier (212 bits),r (x) est presque premier (2 + 158 bits) et

y (x) = 47 · 227 · 3529 · 27759659 · 31926380379504181

Prenons n = 3529 ; on trouve la courbe d’équation :

Y 2 = X3 + 32465585675528475154686711463989\30389227646675927893599247518644X

+ 10509028022025889317738018597831\15352914330802852418162001031235

mod 33404087284979282356159367134485\14719712300943298532712491943583

Page 35: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

16/17

ExempleSoient k = 9 et D = 3 ; on choisit r = Φ9 et z = x4.La méthode de Brezing-Weng donne une famille avec ρ ∼ 1.33 :

q (x) = 13

(x8 + x7 + x6 + x5 + 4x4 + x3 + x2 + x+ 1

)y (x) = 1

3

(x4 + 2x3 + 2x+ 1

)Par exemple, pour x = 100026508, q (x) est premier (212 bits),r (x) est presque premier (2 + 158 bits) et

y (x) = 47 · 227 · 3529 · 27759659 · 31926380379504181

Prenons n = 3529 ; on trouve la courbe d’équation :

Y 2 = X3 + 32465585675528475154686711463989\30389227646675927893599247518644X

+ 10509028022025889317738018597831\15352914330802852418162001031235

mod 33404087284979282356159367134485\14719712300943298532712491943583

Page 36: Construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · Construction de courbes elliptiques pairing-friendly Gaëtan BISSON Logarithme discret Courbes elliptiques

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

17/17

C’EST TOUT !

Merci pour votre attention.