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

Post on 19-Jul-2021

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

1/17

Construction de courbeselliptiques pairing-friendly

Gaëtan BISSON

LORIA, Nancy, France

TU/e, Eindhoven, Netherlands

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

2/17

Première partie

Les courbes en cryptographie

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

3/17

Points abordés

1 Logarithme discret

2 Courbes elliptiques

3 Couplages

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.

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.

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.

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

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

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

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

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

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

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.

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.

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Logarithmediscret

Courbeselliptiques

Couplages

7/17

La loi de groupe illustrée

AB

A+B

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

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

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

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

Cadre

Cocks-Pinch

Brezing-Weng

Amélioration

9/17

Deuxième partie

Construction

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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

Constructionde courbeselliptiques

pairing-friendly

Gaëtan BISSON

17/17

C’EST TOUT !

Merci pour votre attention.

top related