Diversité et transparence : choix des courbes elliptiques

Documents pareils
Introduction à l étude des Corps Finis

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Quelques tests de primalité

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Panorama de la cryptographie des courbes elliptiques

Limites finies en un point

Cryptographie et fonctions à sens unique

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Chapitre VI - Méthodes de factorisation

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Théorème du point fixe - Théorème de l inversion locale

Cryptographie. Cours 3/8 - Chiffrement asymétrique

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Continuité et dérivabilité d une fonction

M2 IAD UE MODE Notes de cours (3)

Structures algébriques

ÉPREUVE COMMUNE DE TIPE Partie D

Simulation de variables aléatoires

Comparaison de fonctions Développements limités. Chapitre 10

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

La cryptographie du futur

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

TSTI 2D CH X : Exemples de lois à densité 1

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

3. Conditionnement P (B)

Fonctions de plusieurs variables

Table des matières. I Mise à niveau 11. Préface

Corrigé des TD 1 à 5

DOCM Solutions officielles = n 2 10.

Calculateur quantique: factorisation des entiers

Optimisation Discrète

Précision d un résultat et calculs d incertitudes

Exercices sur le chapitre «Probabilités»

C f tracée ci- contre est la représentation graphique d une

Mathématiques Algèbre et géométrie

Fonction de hachage et signatures électroniques

Le produit semi-direct

Cours de mathématiques

Gestion des Clés Publiques (PKI)

Programme de la classe de première année MPSI

Probabilités conditionnelles Exercices corrigés

Pour l épreuve d algèbre, les calculatrices sont interdites.

Licence Sciences et Technologies Examen janvier 2010

Cours 1 : La compilation

Résolution d équations non linéaires

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Programmation linéaire

INF 4420: Sécurité Informatique Cryptographie II

CCP PSI Mathématiques 1 : un corrigé

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Représentation des Nombres

Correction du Baccalauréat S Amérique du Nord mai 2007

Une forme générale de la conjecture abc

Mathématiques Première L, ES, S, Concours Post-Bac Equations et inéquations du second degré FORMAV

Chapitre 2 Le problème de l unicité des solutions

Cours d arithmétique Première partie

Espérance conditionnelle

Résolution de systèmes linéaires par des méthodes directes

Rapport de stage de fin de première année : exemples de groupes, leur traitement par MAGMA, et applications en cryptographie

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Correction du baccalauréat ES/L Métropole 20 juin 2014

Polynômes à plusieurs variables. Résultant

Dérivées d ordres supérieurs. Application à l étude d extrema.

Continuité en un point

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Les fonctions de hachage, un domaine à la mode

Equations différentielles linéaires à coefficients constants

Calcul fonctionnel holomorphe dans les algèbres de Banach

Initiation à l algorithmique

Chapitre VI Fonctions de plusieurs variables

Complément d information concernant la fiche de concordance

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Une introduction aux codes correcteurs quantiques

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Chp. 4. Minimisation d une fonction d une variable

Les nouveautés de Femap 11.1

Programmes des classes préparatoires aux Grandes Ecoles

Sécurité des réseaux IPSec

FONDEMENTS DES MATHÉMATIQUES

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

IFT2880 Organisation des ordinateurs et systèmes

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Correction du baccalauréat STMG Polynésie 17 juin 2014

Maple: premiers calculs et premières applications

MATHÉMATIQUES EN PREMIER CYCLE PRÉSENTATION DU PROGRAMME

Mesures gaussiennes et espaces de Fock

I. Polynômes de Tchebychev

Cours de Master Recherche

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Extrait du poly de Stage de Grésillon 1, août 2010

Transcription:

Diversité et transparence : choix des courbes elliptiques Jean-Pierre Flori, Jérôme Plût, Jean-René Reinhard, Martin Ekerå ANSSI/SDE/ST/LCR Jeudi 28 mai 2015 J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 1 / 53

I Introduction J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 2 / 53

Introduction Les courbes elliptiques en cryptographie Proposées en 1985 par Koblitz et Miller. Fournissent un groupe abélien fini où le logarithme discret est difficile (plus que dans les groupes multiplicatifs). Standardisées à partir de 2000 : Année Courbes Tailles 2000 NIST 192, 224, 256, 384, 521 2005 Brainpool 160, 192, 224, 256, 320, 384, 512 2010 OSCCA 256 2011 ANSSI 256 Plus quelques propositions académiques. En pratique, on trouve surtout dans la nature les courbes NIST. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 3 / 53

Introduction Pourquoi les courbes elliptiques? Un outil classique en cryptographie est l échange de clés de Diffie-Hellman, qui repose sur la relation (g a ) b = g ab = (g b ) a, valable dans le groupe multiplicatif des entiers modulo p. La sécurité repose sur le problème du logarithme discret : étant donnés g et g a, il est difficile de calculer a. Ce groupe multiplicatif est cependant vulnérable à certaines attaques («crible algébrique»). Solution : augmenter la taille de p...... ou alors, remplacer le groupe multiplicatif par un groupe résistant à ces attaques. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 4 / 53

Introduction Le groupe des points d une courbe elliptique Une courbe elliptique est donnée par l équation y 2 = x 3 + ax + b (mod p), où p est un nombre premier ( 2, 3) et a, b sont deux paramètres. Les points de la courbe forment un groupe abélien (noté additivement). Le cardinal N de ce groupe est environ p ; en fait, N (p + 1) 2 p. En général, le groupe des points d une courbe elliptique se comporte comme un «groupe générique» : le logarithme discret a une complexité exponentielle. Il est donc possible d atteindre une sécurité de 128 bits avec une taille de clé de 256 bits. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 5 / 53

Introduction Pourquoi standardiser? En général, le groupe des points d une courbe elliptique se comporte comme un «groupe générique» : le logarithme discret a une complexité exponentielle. Plus précisément, la complexité du logarithme discret est dominée par q, où q est le plus grand diviseur premier du nombre de points de la courbe. Solution : avoir un nombre de points (presque) premier. Certaines courbes particulières sont plus vulnérables : le problème du logarithme discret peut être transféré dans un groupe plus facile. Solution : éviter ces cas particuliers. Ces solutions sont gourmandes en calculs, il n est donc pas réaliste d envisager fabriquer une nouvelle courbe à la volée pour chaque échange. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 6 / 53

Introduction Deuxième phase de standardisation Les premières courbes standardisées ont été produites au début des années 2000, c est-à-dire une fois la recherche dans le domaine suffisamment avancée : possibilité de produire des courbes cryptographiques (Schoof, Elkies, Atkin) ; identification des classes de courbes faibles. À notre connaissance, ces courbes sont toujours sûres. Mais de nouvelles préoccupations sont apparues depuis : doutes sur le processus de génération (possibilité de publier une courbe secrètement vulnérable?) ; émergence des attaques latérales («side-channel attacks») ; progrès scientifiques dans des domaines proches (logarithme discret multiplicatif...). Juin 2015 Le NIST organise un atelier sur le thème de la standardisation des courbes elliptiques. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 7 / 53

II Sécurité J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 8 / 53

Aspects de la sécurité d une courbe Qu est-ce que qu une «bonne» courbe pour la cryptographie? Le problème du logarithme discret est difficile. Les implémentations de la courbes sont résistantes (par exemple aux attaques par canaux auxiliaires). La courbe ne présente aucun signe particulier suspect. Il est possible de réaliser des implémentations optimisées. La courbe possède des propriétés particulières intéressantes. Conditions incompatibles Certaines de ces conditions sont incompatibles entre elles, ce qui peut justifier l existence de plusieurs (familles de) courbes. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 9 / 53

Difficulté intrinsèque du logarithme discret Difficulté du logarithme discret Si le logarithme discret est facile, alors toute implémentation de la courbe sera faible. Il existe des attaques contre des groupes génériques d ordre N, de complexité N. Pour qu une courbe soit correcte, on exige donc qu il n existe pas de meilleure attaque. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 10 / 53

Difficulté intrinsèque du logarithme discret Notations Dans tout ce qui suit, E désigne la courbe d équation y 2 = x 3 + ax + b définie sur le corps k = F p, et N = E(F p ). On considère la multiplication n P pour un scalaire n secret. On note P(X) la probabilité d un événement X comprise, selon le contexte, sur l ensemble des courbes sur F p avec p fixé, ou sur l ensemble des courbes sur F p avec p de taille fixée. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 11 / 53

Difficulté intrinsèque du logarithme discret Courbes singulières Si = 4a 3 + 27b 2 = 0, alors la courbe d équation y 2 = x 3 + ax + b n est pas une courbe elliptique : c est une cubique singulière. Le groupe des points réguliers est alors isomorphe à un groupe additif ou multiplicatif, et le logarithme discret est sous-exponentiel, voire polynomial. Il est impératif que 0 (ce qui arrive avec P 1). J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 12 / 53

Difficulté intrinsèque du logarithme discret Grand sous-groupe premier Il existe des attaques génériques de complexité O( q), où q est le plus grand diviseur premier de N. Une courbe sûre doit donc avoir q N ; idéalement, q = N. Ceci nécessite de calculer N, ce qui est une tâche relativement coûteuse. La probabilité qu une courbe aléatoire ait un ordre premier est approximativement la même que celle qu un nombre aléatoire de la taille de p soit premier, soit P 1 log p. Il est impératif que N ait un grand facteur premier. Calculer N est l une des étapes coûteuses de la génération de la courbe. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 13 / 53

Difficulté intrinsèque du logarithme discret Transfert additif ou multiplicatif Si N = p alors il existe un homomorphisme de groupe calculable vers le groupe additif F p, et donc le logarithme discret est de complexité polynomiale. Il est impératif que N p. Cette condition exclut les courbes supersingulières. Soit e le degré de plongement, c.-à-d. le plus petit entier tel que N divise p e 1 ; alors il existe un homomorphisme de groupe calculable vers le groupe multiplicatif de F p e, et donc le logarithme discret a une complexité sous-exponentielle relativement à p e. Solution : si e p alors cette complexité est exponentielle relativement à p. Il est impératif que e soit assez grand (P 1). Pour calculer e, il faut connaître la factorisation de q 1, ce qui est sous-exponentiel (c est asymptotiquement l étape la plus coûteuse). J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 14 / 53

Résistance des implémentations de la courbe J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 15 / 53

Résistance des implémentations de la courbe Résistance des implémentations de la courbe Il existe des courbes pour lesquelles, bien que le logarithme discret soit difficile, certaines implémentations ou certains protocoles sont faibles. Exemple : multiplication par l algorithme «doublement et addition» non protégé. D A D D D A D A 1 0 0 1 1 J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 16 / 53

Résistance des implémentations de la courbe Contre-mesures classiques Contre les attaques simples : élimination des branches conditionnelles sur un élément secret. double and always add : Q P; échelle de Montgomery : for i = l 2,..., 0: Q 0 2Q; Q 1 Q 0 + P; Q Q ni ; Q 0 P; Q 1 2P; for i = l 2,..., 0: Q 1 ni Q 0 + Q 1; Q ni 2Q ni ; Contre les attaques différentielles : ne pas manipuler plusieurs fois le même élément secret. masquage aléatoire du secret (n n + r N avec r aléatoire) ; masquage aléatoire de la courbe (a r 4 a, b r 6 b) ; masquage aléatoire du point ((x : y : 1) (rx : ry : r))... J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 17 / 53

Résistance des implémentations de la courbe Petit sous-groupe Si la courbe possède un petit sous-groupe, alors il est possible, dans certains protocoles, d obtenir de l information sur des données secrètes [Lim-Lee 97]. Si le point de base G est d ordre m, alors l observation de ag permet de retrouver la valeur a (mod m). Suppose un adversaire capable de fournir un point de base de son choix. Il est préférable que le groupe des points de la courbe soit d ordre premier (P = 1 si N premier). J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 18 / 53

Résistance des implémentations de la courbe Sécurité de la courbe tordue La courbe tordue de E est la courbe E d équation dy 2 = x 3 + ax + b, où d n est pas un carré dans F p. Pour tout x F p tel que x 3 + ax + b 0, il existe un point d abscisse x sur exactement une des deux courbes E et E. Dans certains cas, un adversaire peut injecter une abscisse appartenant à la courbe tordue [Fouque-Lercier-Réal-Valette 2008] : protocole mal conçu (compression de point), manque de tests dans l implémentation, attaque par injection de faute... Il est préférable que la courbe tordue soit sûre. (P 1 log p.) J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 19 / 53

Résistance des implémentations de la courbe Points spéciaux Un point spécial est un point de la courbe de la forme (0, y) ou (x, 0). En présence de tels points, certaines implémentations peuvent faire fuir de l information [Goubin 2003]. Des points spéciaux de la forme (0, y) existent si b est un carré dans k (P = 1/2). Des points spéciaux de la forme (x, 0) existent si N est pair (P = 1 si N premier). Il est préférable que la courbe ne contienne pas de tels points spéciaux. Des points spéciaux de la forme (0, y) existent toujours sur la courbe ou sa tordue. (P = 1). J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 20 / 53

Résistance des implémentations de la courbe Corps de base spéciaux De nombreuses courbes standard ont des corps de base spéciaux : p 192 = 2 192 2 64 1 = 0xfffffffffffffffffffffffffffffffeffffffffffffffff. Puisque N = p + O( p), les premiers bits de N sont les premiers bits de p. Les premiers bits de n + r N sont les premiers bits de r. Ceci rend la protection par masquage de n insuffisante [DK2005, BPSY2014, FRV2014, SW2015...]. Il est préférable que le corps de base ne soit pas d une forme spéciale. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 21 / 53

Résistance des implémentations de la courbe Loi de groupe unifiée Certaines courbes admettent une loi d addition unifiée : il existe un système de coordonnées permettant d effectuer les opérations P + Q, 2P, P + 0 par les mêmes formules. Courbes d Edwards : x 2 + y 2 = c 2 (t 2 + dz 2 ), xy = zt ; Courbes de Jacobi : y 2 = z 2 + 2ax 2 + bt 2, x 2 = zt... Ceci est possible sous certaines conditions sur la courbe : Edwards : point de 4-torsion, P = 17/48 ; Jacobi : point de 2-torsion, P = 2/3... Ceci ajoute une couche de protection contre les attaques simples. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 22 / 53

«Généricité» de la courbe Résistance à de possibles attaques futures Et s il existait des familles faibles? Éviter de produire des courbes trop «particulières». Vérifier des propriétés satisfaites avec P 1. En particulier, vérifier que différents nombres attachés à la courbe sont «assez grands». J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 23 / 53

«Généricité» de la courbe Discriminant du corps des endomorphismes Le corps des endomorphismes de E est l extension quadratique K de Q engendrée par le Frobenius ϕ. Le polynôme minimal de ϕ est ϕ 2 tϕ + p ; son discriminant est D ϕ = t 2 4p < 0. Le discriminant de K est donné par D ϕ = D K f 2 ϕ, où D K ou D K /4 est sans facteur carré. En général, D K p ; en particulier, D K p avec P 1 O(1/ p). Cette condition élimine les valeurs D K = 3 et 4, correspondant aux j-invariants 0 et 1728. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 24 / 53

«Généricité» de la courbe Nombre de classes Le nombre de classes h K de K intervient dans divers algorithmes liés à E : c est le degré du polynôme de Hilbert à factoriser pour la théorie de la multiplication complexe ; c est le plus petit degré d une extension L/Q sur laquelle E admet un relèvement fidèle. Ce nombre est minoré en fonction de D K : DK h K C log D K. aucune condition supplémentaire sur h K n est a priori nécessaire. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 25 / 53

«Généricité» de la courbe Friabilité du nombre de classes Le nombre de classes h K est l ordre du groupe de classes de K. Pour éviter de potentielles attaques utilisant la décomposition de ce groupe en facteurs élémentaires, on souhaite que h K ne soit pas friable (= n ait pas que des petits facteurs premiers). Un nombre aléatoire n est n 1/u -friable avec probabilité P u u. Par conséquent, h K a une probabilité négligeable d être (log p) O(1) -friable. En général, h K a au moins un diviseur premier (log p) O(1). Calculer (et factoriser) h K est sous-exponentiel [Biasse 2010], mais vérifier que h K n est pas logarithmiquement friable est polynomial. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 26 / 53

«Généricité» de la courbe Friabilité de la courbe tordue Si la courbe E a pour cardinal N = p + 1 t, alors sa tordue E a pour cardinal N = p + 1 + t. Le cardinal N est p 1/u -friable avec probabilité P u u. Par exemple, N est p 1/4 -friable avec probabilité 1/256. En général, N a au moins un diviseur premier de taille polynomiale en p. Le choix du seuil u est délicat ; par exemple, pour p 2 256, une probabilité 2 128 correspond aux nombres 727-friables... Variante plus stricte de cette condition : N premier (= courbe tordue sûre). J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 27 / 53

«Généricité» de la courbe Corps de base spécial Certaines courbes utilisent des corps de base dont la cardinalité est un nombre premier «spécial» : une valeur d un «petit» polynôme. NIST p 192 = 2 192 2 64 1 = x 3 x 1 où x = 2 64. Le logarithme discret multiplicatif est plus facile dans de tels corps que dans le cas général. Il est envisageable que des attaques analogues soient découvertes sur les courbes elliptiques. Il est souhaitable de choisir un nombre premier pseudo-aléatoire. Il est impossible de vérifier si un nombre est une valeur d un «petit» polynôme... J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 28 / 53

«Généricité» de la courbe Degré de plongement Le degré de plongement est l ordre de p dans le groupe multiplicatif F q. Le degré de plongement est p 1/4 avec probabilité P 1 1/ p. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 29 / 53

«Généricité» de la courbe Structure multiplicative du corps de base La structure multiplicative de F p dépend de la factorisation de p 1. Même si elle n est pas liée au logarithme discret sur une courbe, en général p 1 a au moins un grand diviseur premier. p 1 a un diviseur premier (log p) 2 avec probabilité 1 1/ p. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 30 / 53

«Généricité» de la courbe Résumé NIST Brainpool ANSSI OSCCA N premier p ordinaire Loi unifiée N premier Générique NUMS Curve25519/41417 Ed448-Goldilocks N premier p ordinaire Loi unifiée N premier Générique J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 31 / 53

Facilitation de l implémentation Facilitation de l implémentation Certains choix de courbes permettent de disposer d implémentations plus rapides ou plus commodes. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 32 / 53

Facilitation de l implémentation Coordonnées jacobiennes rapides Une courbe elliptique de la forme y 2 = x 3 3x + b (c est-à-dire telle que a = 3) permet d économiser 2 des 10 multiplications requises pour une addition de points. Une courbe aléatoire sur F p est isomorphe avec une courbe a = 3 avec probabilité P = 1/4 si p +1 (mod 4), P = 1/2 si p 1 (mod 4). J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 33 / 53

Facilitation de l implémentation Nombre de points Si la courbe a N < p points, alors un élément de Z/NZ peut être représenté par un nombre de la même taille que p. Exactement la moitié des courbes satisfont cette condition. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 34 / 53

Facilitation de l implémentation Racines carrées rapides Si p 1 (mod 4) (ou p 5 (mod 8)) alors calculer des racines carrées modulo p est plus facile, ce qui permet de simplifier la compression de points. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 35 / 53

Facilitation de l implémentation Arithmétique dédiée Certains choix de corps de base, comme les nombres premiers «spéciaux» des courbes NIST, permettent une arithmétique plus rapide. De même, choisir des petites valeurs pour les paramètres a et b permet d accélérer l arithmétique de la courbe. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 36 / 53

Diversité Différents critères pour différents usages Les critères précédemment énoncés ne peuvent être tous vérifiés. En particulier, compromis vitesse/généricité. Mais aussi, facilité d implémentation/protection latérale. Il est souhaitable d utiliser (et de normaliser) différentes courbes pour différents usages! J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 37 / 53

Diversité Modèles réels Weierstrass Edwards J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 38 / 53

Diversité Modèles réels (II) Jacobi Hess J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 39 / 53

Diversité Modèles finis Grenouille Cafard J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 40 / 53

Diversité Modèles finis (II) Morse Lapin J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 41 / 53

III Transparence J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 42 / 53

Transparence Transparence J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 43 / 53

Transparence Certificats de courbes elliptiques Architecture Fournir des courbes remplissant les conditions ci-dessus...... accompagnées d un certificat permettant de vérifier les propriétés sans refaire tous les calculs : nombre de points, discriminant et nombre de classes, degré de plongement. Programme déterministe pour échantillonner une courbe. Processus de génération entièrement reproductible. Peut être un générateur pseudo-aléatoire (généricité) ou une énumération des petites valeurs (efficacité). Certifier toutes les étapes du processus, y compris les courbes rejetées. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 44 / 53

Transparence Certificats de courbes elliptiques Nombre de points premier On connaît la borne de Hasse-Weil : N (p + 1) 2 p. Si G 0 est tel que q G = 0 avec q p 2 p + 1 premier, alors q = N. Certificat de primalité de N : (G, q, Π), où Π est une preuve de primalité de q. Pour les tailles usuelles de courbes elliptiques, Π peut être laissée vide ; en effet, pour ces tailles, une preuve directe par APR-CL est probablement plus rapide qu une preuve par certificat ECPP. Ce certificat est produit une seule fois, pour la courbe finale. Taille du certificat et vérification en O(log 2 p) opérations. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 45 / 53

Transparence Certificats de courbes elliptiques Nombre de points composé Si n < 2( p 1) 2 est composé et si P 0, n P = 0, alors l ordre de la courbe est composé. preuve : soit d = gcd(n, N) ; alors d 1 car P 0. Si d N alors d est un diviseur strict de N. Si d = N alors N divise n ; puisque n/2 < ( p 1) 2, on a nécessairement N = n, qui est composé. Certificat de composition de N : (n, c, P), où c est un témoin de composition (Miller-Rabin) de n. Complexité pour chacune des O(log p) ou O(log 2 p) courbes : production du certificat : O(log p) multiplications ; taille du certificat : O(log p) ; vérification : O(log p) multiplications. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 46 / 53

Transparence Certificats de courbes elliptiques Nombre de points composé (II) En pratique, le calcul du nombre de points N se fait en calculant N (mod l) pour de petits nombres premiers l. Si on trouve N 0 (mod l), on peut arrêter le calcul pour cette courbe! Dans ce cas, on trouve un polynôme f l, de degré O(l), dont les racines sont les abscisses de points de l-torsion. Trouver une racine de ce polynôme (par Cantor-Zassenhaus) a un coût comparable à celui du calcul de N (mod l). Dans ce cas, (l, P) est un certificat de composition. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 47 / 53

Transparence Certificats de courbes elliptiques Discriminant et nombre de classes Le calcul du discriminant nécessite de factoriser le nombre D ϕ = t 2 4p. C est asymptotiquement l une des étapes dominantes du processus de génération de la courbe (L(1/3)). Certificat : la factorisation de D ϕ. Le calcul exact du nombre de classes est probablement hors de portée (L(1/2)). Il suffit d un élément pour prouver que le nombre de classes est grand. Il est impossible de prouver réalistement que la courbe a été rejetée pour cause de nombre de classes trop petit. Solution : générer quelques éléments (déterministes) du groupe de classes et prouver que l on ne peut pas prouver avec ces éléments que le nombre de classes est assez grand. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 48 / 53

Transparence Le processus de génération Exemple Fonction d échantillonnage pour une graine s : p = le plus petit premier s ; g = le plus petit générateur de F p ; courbes de la forme y 2 = x 3 3x + b, b = g, g 2,.... Conditions : N et N premiers ; 0, N, N p, p + 1 ; degré de plongement de E, E au moins p 1/4 ; nombre de classes p 1/4. J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 49 / 53

Transparence Le processus de génération Exemple de certificat Pour la graine s = 2015 : p = 2017, g = 5, Curve (2017, -3, 625) order = 2063, point = (0, 25) twist_order = 1973 disc_factors = {6043} class_number = 9, form = (17,3,89) embedding_degree = 1031, factors = {2, 1031} twist_embedding_degree = 493, factors = {2, 17, 29} Rejected curves ((2017, -3, 5), composite, 2065, witness, 1679, point, (1,258)) ((2017, -3, 25), torsion_point, 3, point, (448, 288)) ((2017, -3, 125), torsion_point, 2, point, (982, 0)) J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 50 / 53

Transparence Le processus de génération Non-manipulabilité Ce processus permet de produire déterministement une courbe elliptique cryptographique à partir d un ensemble de conditions (y compris bornes numériques), d une fonction d échantillonnage des courbes (y compris graine éventuelle). Seules quelques conditions influenceront probablement le résultat final : sécurité de la courbe tordue, choix des bornes de friabilité. Pour éviter tout soupçon sur le choix de la graine : utiliser un schéma d engagement sur des fragments de la graine ; utiliser un résultat hors de portée de manipulation (cours de la Bourse, résultat sportif, loterie publique). J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 51 / 53

Transparence Le processus de génération Graine J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 52 / 53

Transparence Le processus de génération Questions? J.-P. Flori, J. Plût (ANSSI) Choix des courbes elliptiques Jeudi 28 mai 2015 53 / 53