C H I P

publicité
C OURBES
H YPERELLIPTIQUES
I SOGÉNIES ET C OMPTAGE
DE P OINTS
P ROGRAMME B LANC 2009
IRMAR
LORIA
IML
L A CRYPTOGRAPHIE ASYMÉTRIQUE
M ÉTHODOLOGIE ET RÉSULTATS
Avec l’avènement des réseaux numériques, la cryptographie à clef
publique (ou asymétrique) est entrée dans notre vie de tous les jours :
elle est présente par exemple dans les cartes de crédit, dans les navigateurs web et même dans certaines consoles de jeux. Comparée à
la cryptographie symétrique, plus classique, la cryptographie à clef publique apporte un certain nombre caractéristiques particulièrement
intéressantes pour les applications.
La plupart du temps, un schéma à clef publique repose sur la difficulté calculatoire d’un certain problème. Parmi ces problèmes, celui du logarithme discret sur courbes elliptiques semble offrir le meilleur
compromis sécurité efficacité. Cela rend les cryptosystèmes à base
de courbes elliptiques particulièrement avantageux pour des implémentations sur des supports contraints comme les cartes à puces.
On peut envisager de généraliser le problème du logarithme discret
sur courbes elliptiques en considérant des familles de groupes donnés par les jacobiennes de courbes hyperelliptiques. Malheureusement, il n’existe toujours pas d’algorithme satisfaisant pour compter
le nombre de points rationnels d’une courbe hyperelliptique définie
sur un corps fini, qui conditionne sa sécurité. D’autre part, l’arithmétique de la jacobienne de ces courbes est moins efficace que son
équivalent pour les courbes elliptiques. Cela constitue un réel frein à
l’utilisation des courbes de genre 2.
L’objectif principal du projet CHIC est d’obtenir un algorithme de
comptage de points efficace pour des courbes de genre 2 définies sur
des corps de grande caractéristique. Cette question est directement
liée à l’utilisation de courbes de genre 2 comme alternatives intéressantes aux courbes elliptiques pour paramétrer des cryptosystèmes
à base de logarithme discret. Un verrou important est la généralisation d’améliorations dues à Elkies et Atkin dans le cas des courbes
elliptiques qui consistent à calculer l’action du morphisme de Frobenius non pas sur toute la `-torsion de la jacobienne de la courbe (qui
devient trop grosse pour ` grand) mais sur des sous-espaces invariants qui sont donnés par le noyau d’isogénies rationnelles. En utilisant des idées un peu plus classiques, l’article [5] montre déjà qu’il
est possible d’atteindre des tailles cryptographiques. Nous voullions
améliorer ces résultats.
Dans l’article [3], nous attaquons ce problème en utilisant la théorie des fonctions thêta algébriques de Mumford qui permet d’obtenir une description effective de l’espace des modules des variétés
abéliennes (munies d’un marquage). Les principaux résultats de [3]
consistent en l’étude dans cet espace de modules d’objets analogues
aux polynômes modulaires utilisés dans l’algorithme SEA. Dans [8],
nous décrivons un algorithme général de calcul d’isogénies entre variétés abéliennes. Cet algorithme a été raffiné pour permettre le calcul de (`, `)-isogénies. Tous les résultats de ces articles ont fait l’objet
d’une implémentation soigneuse en magma.
Un autre objectif important du projet est de rendre l’arithmétique
des courbes de genre 2 plus efficace. Dans cette veine, une série d’articles (dont [2]) explore l’utilisation de la représentation RNS pour
des implémentations très efficaces sur FPGA ou en logiciel. De nouveaux algorithmes sont décrits [1, 6] donnant des représentations de
certaines jacobiennes de courbes ayant de bonnes propriétés arithmétiques et de sécurité pour des applications cryptographiques. Nous
avons aussi proposé des améliorations ou des généralisations d’algorithmes de calcul de couplage utiles dans certains protocoles cryptographiques (par exemple pour des schémas cryptographiques basés sur l’identité, des protocoles de diffusion très efficaces etc.). Dans
tous ces articles, divers cibles d’implémentation sont prises en compte
comme les circuits FPGA ou les processeurs généralistes et des considérations de sécurité liées aux attaques par canaux auxiliaires sont
abordées.
Un autre volet de notre projet est la théorie des invariants appliquée aux espaces de modules des courbes. Sur ce sujet l’article [7]
décrit un algorithme permettant de retrouver les modèles de courbes
hyperelliptiques de genre 3 ayant des invariants modulaires donnés.
L ES OBJECTIFS DU PROJET
Le principal objectif de notre projet était de combler l’écart en
terme de performance et de sécurité entre les courbes elliptiques et les
courbes de petit genre définies sur un corps premier. Il s’agit en particulier de compléter la boîte à outil d’algorithmes disponibles dans
le cas des variétés abéliennes de petit genre avec de nouveaux algorithmes permettant:
– de représenter les point et de calculer efficacement la loi de
groupe;
– de calculer efficacement le cardinal des points rationnels.
Cela permet d’obtenir une nouvelle famille de cryptosystèmes se
comparant favorablement aux courbes elliptiques en terme de sécurité et de performance.
R EFERENCES
[1] Christophe Arene, David Kohel, and Christophe Ritzenthaler. Complete addition
laws on abelian varieties. LMS J. Comput. Math., 15:308–316, 2012.
[2] Sylvain Duquesne. RNS arithmetic in Fpk and application to fast pairing computation. J. Math. Cryptol., 5(1):51–88, 2011.
[3] Jean-Charles Faugère, David Lubicz, and Damien Robert. Computing modular
correspondences for abelian varieties. J. Algebra, 343:248–277, 2011.
C ONCLUSION ET PERSPECTIVES
[4] Pierrick Gaudry, David Kohel, and Benjamin Smith. Counting points on genus
2 curves with real multiplication. In Advances in cryptology—ASIACRYPT 2011,
volume 7073 of Lecture Notes in Comput. Sci., pages 504–519. Springer, Heidelberg,
2011.
Ces travaux constituent des jalons importants sur lesquels nous
nous sommes appuyer dans les travaux que nous projetons d’entreprendre. Par exemple, nous avons utilisé la description de l’espace
des modules des variétés abéliennes marquées et les correspondances
modulaires décrites dans [3] afin de construire des espaces de modules quotient permettant de généraliser très exactement l’algorithme
SEA en genre 2. Nous avons aussi fait d’importants progrès dans l’implémentation de la méthode CM qui permet de construire des courbes
hyperelliptiques dont la jacobienne a un anneau d’endomorphisme
prescrit. Dans [4], nous décrivons un algorithme de calcul de nombre
de points efficace pour des courbes à multiplication réelle de petit discriminant. Cet algorithme permet de sélectionner des courbes semigénériques en genre 2 pour une utilisation en cryptographie.
[5] Pierrick Gaudry and Éric Schost. Genus 2 point counting over prime fields. J.
Symbolic Comput., 47(4):368–400, 2012.
[6] David Kohel. Arithmetic of split Kummer surfaces: Montgomery endomorphism
of Edwards products. In Coding and cryptology, volume 6639 of Lecture Notes in
Comput. Sci., pages 238–245. Springer, Heidelberg, 2011.
[7] Reynald Lercier and Christophe Ritzenthaler. Hyperelliptic curves and their invariants: Geometric, arithmetic and algorithmic aspects. J. Algebra, 372:595–636, 2012.
[8] David Lubicz and Damien Robert. Computing isogenies between abelian varieties.
Compositio Mathematica, 148:1483–1515, 8 2012.
Téléchargement