construction de courbes elliptiques pairing-friendly · 2021. 5. 7. · construction de courbes...
Post on 19-Jul-2021
4 Views
Preview:
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