1 / 18

Courbes elliptiques

Courbes elliptiques. Protocole de Diffie-Hellman. Alice choisit x et envoie g x mod N à Bob Bob choisit y , calcule K=(g x ) y mod N qu’il conserve et envoie g y mod N à Alice Alice calcule K=(g y ) x mod N Problème: les exponentiations coûtent chers en calcul et/ou en matériel.

qiana
Télécharger la présentation

Courbes elliptiques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Courbes elliptiques

  2. Protocole de Diffie-Hellman • Alice choisit x et envoie gx mod N à Bob • Bob choisit y, calcule K=(gx)y mod N qu’il conserve et envoie gy mod N à Alice • Alice calcule K=(gy)x mod N • Problème: les exponentiations coûtent chers en calcul et/ou en matériel

  3. Analyse du protocole • On utilise la notion de groupe des entiers modulo N. • On a donc besoin d’un groupe avec une exponentiation. • Le groupe doit être commutatif K=(gx)y mod N =(gy)x mod N • Le problème du logarithme discret doit être difficile

  4. Courbes elliptiques dans R2 • y2=x3+ax+b

  5. Corps de Galois • Pour p premier et nentier supérieur ou égal à 1, on appelle GF(pn) le corps de Galois à pn éléments. • Un élément de cet ensemble est représenté comme un n-uplet depéléments de Z/pZ: e=(e1,…,en). • Cet ensemble est muni d’une addition et d’une multiplication. En fait, c’est un corps: tout élément non nul est inversible. • L’addition est simple: c’est l’addition composantes à composantes dans Z/pZ. • La multiplication est plus compliquée, mais plus simple qu’une multiplication modulo un nombre de la taille de pn. • Pour p et n fixé, GF(pn) est unique à un isomorphisme près.

  6. Courbes elliptiques sur GF(2n) • Soit a et b dans GF(2n) avec b non nul. La courbe elliptique Eassociée est l’ensemble des points (x,y) dans (GF(2n))2 tels que y2+xy=x3+ax+b auquel on adjoint un point spécial O appelé point à l’infini. • La définition est différente pour p>2.

  7. Addition dans les courbes elliptiques • P+O=O+P=P pour tout P dans E • Si P=(x,y), alors (x,y)+(x,x+y)=O dans P. Le point (x,x+y) est noté –P. • Si P=(x,y) alors P+P=(x’,y’) avec x’=x2+b/x2, y’=x2+(x+y/x)x’+x’. • Si P=(x1,y1), Q=(x2,y2), PQ, alors P+Q=(x3,y3) avec x3=R2+R+x1+x2+a, y3=R.(x1+x3)+x3+y1 où R=(y2+y1)/(x2+x1). • (E,+) est un groupe commutatif.

  8. Composante homogène • Afin d’économiser du temps de calcul, on utilise parfois une représentation homogène. • (x,y,z) représente en fait (x/z,y/z) et on récrit les règles d’additions pour éviter les divisions qui sont plus coûteuses. • Exemple: P=(x,y,z) alors 2P=(x’,y’,z’) avec x’=zx5+bz5x, y’=(x2+yz)(x4+bz4)+bz5x, z’=x3z3.

  9. Exponentielle et logarithme discret • Soit E une courbe elliptique et P un point de E. • On définit l’exponentielle de P par 0.P=O, n.P=(n-1).P+P si n  1 et (-n).P = -(n.P) si n  -1. • En utilisant la duplication, on peut calculer n.P par la méthode binaire classique. • Le problème du logarithme discret consiste à calculer n, étant donné les valeurs de P et n.P. • Ce problème est réputé au moins aussi difficile que le problème du logarithme discret dans les entiers modulo. On pense même qu’il est plus compliqué.

  10. Diffie-Hellman en courbes elliptiques • Alice choisit un point P aléatoirement sur une courbe elliptique Eet un entier n. • Alice calcule n.P et l’envoie à Bob. • Bob choisit un entier m, calcule K=m.(n.P) et envoie m.P à Alice. • Alice calcule K=n.(m.P). • Problèmes: déterminer une courbe elliptiques et choisir des points aléatoirement dans la courbe.

  11. Choix d’une courbe elliptique • E est définie par l’équation y2+xy=x3+ax+b. • Si on choisit aléatoirement a et b, pour choisir un point sur E, il faut résoudre une équation du troisième degré sur GF(2n) Problème difficile. • En fait, on choisit un point quelconque x0, y0 et on choisit a. ba alors une solution unique que l’on peut calculer facilement. • Si on doit choisir plusieurs points aléatoirement sur la courbes on calculera N.(x0,y0) avec n très grand aléatoire. En fait N>>2n.

  12. EC-DSA • Problème: on a une fonction de hachage publique h(genre MD-5) et on veut signer des messages. • EC-DSA est la contrepartie de l’algorithme DSA classique au niveau des courbes elliptiques.

  13. EC-DSA (Description) • On suppose que l’ordre de P est q (i.e. q.P=0) • Alice choisit aaléatoire dans [0,q-1]. Elle calcule aPqu’elle publie et conserve secrètement a. • Alice veut signer un message m. Elle calcule r=kP et s=k-1(h(m)+ar) mod q. • Alice envoit (m,r,s) à Bob. • Bob vérifie que kP=h(m)s-1.P+rs-1(aP). • Si oui, le message m a bien été envoyé par Alice. • Problème: Comment calculer l’ordre de P ? Est-ce qu’il existe toujours ?

  14. Rappel sur les groupes • Soit (G,+) un groupe fini de cardinal N et dont l’unité pour l’addition est 0. • Soit x un élément de G, on définit la suite v0=0, vn+1=vn+x. • Alors il existe k>0 avec vk=0. • La plus petite valeur pour laquelle vk=0 s’appelle l’ordre de x. • L’ordre de x divise N (théorème de Lagrange).

  15. Compter les points d’une courbe elliptique • Dans l’EC-DSA, on a pas besoin nécessairement de l’ordre exact de l’élément: un multiple suffit. • On peut donc prendre q comme étant égal au cardinal de la courbe elliptique. • L’algorithme de Schoof permet de compter les points d’une courbes elliptiques. • Certaines courbes elliptiques ont par construction un nombre de points facile à calculer. • Enfin les courbes elliptiques faisant partie de standards bien définis sont données dans les descriptions techniques avec leur nombre de points. Exemple: http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf

  16. RSA en courbes elliptiques • Il existe des définitions qui utilise des courbes elliptiques dites singulières (Demytko, Maurer). • Ces systèmes sont définis sur des courbes elliptiques à coefficients dans des anneaux. • Malheureusement, il existe des attaques contre ces systèmes. • Pour éviter ces attaques, le choix des courbes doit suivre certaines règles.

  17. Intérêt pratique • Calculs plus simples qu’avec les systèmes à base de modulo. • De plus la sécurité semble supérieure. Comparaison: Taille de clés assurant le même niveau de sécurité

  18. Conclusion • La cryptographie à courbes elliptiques est une alternative à la cryptographie classique à clé publique. • Les algorithmes sont moins gourmands en termes de temps de calcul et de matériel. • Ils permettent aussi un débit de données plus élevés. • La cryptographie à courbes elliptiques est sans doute une approche appelée à se répandre dans les applications pratiques. • Il existe d’autres constructions à bases de courbes (courbes hyper-elliptiques de Kobler).

More Related