Vous êtes sur la page 1sur 18

Courbes elliptiques

Protocole de Diffie-Hellman
Alice choisit x et envoie gx mod N Bob Bob choisit y, calcule K=(gx)y mod N quil conserve et envoie gy mod N Alice Alice calcule K=(gy)x mod N Problme: les exponentiations cotent chers en calcul et/ou en matriel

Analyse du protocole
On utilise la notion de groupe des entiers modulo N. On a donc besoin dun groupe avec une exponentiation. Le groupe doit tre commutatif K=(gx)y mod N =(gy)x mod N Le problme du logarithme discret doit tre difficile

Courbes elliptiques dans


y2=x3+ax+b

2 R

Corps de Galois
Pour p premier et n entier suprieur ou gal 1, on appelle GF(pn) le corps de Galois pn lments. Un lment de cet ensemble est reprsent comme un nuplet de p lments de Z/pZ: e=(e1,,en). Cet ensemble est muni dune addition et dune multiplication. En fait, cest un corps: tout lment non nul est inversible. Laddition est simple: cest laddition composantes composantes dans Z/pZ. La multiplication est plus complique, mais plus simple quune multiplication modulo un nombre de la taille de pn. Pour p et n fix, GF(pn) est unique un isomorphisme prs.

Courbes elliptiques sur

n) GF(2

Soit a et b dans GF(2n) avec b non nul. La courbe elliptique E associe est lensemble des points (x,y) dans (GF(2n))2 tels que y2+xy=x3+ax+b auquel on adjoint un point spcial O appel point linfini. La dfinition est diffrente pour p>2.

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

Composante homogne
Afin dconomiser du temps de calcul, on utilise parfois une reprsentation homogne. (x,y,z) reprsente en fait (x/z,y/z) et on rcrit les rgles dadditions pour viter les divisions qui sont plus coteuses. Exemple: P=(x,y,z) alors 2P=(x,y,z) avec x=zx5+bz5x, y=(x2+yz)(x4+bz4)+bz5x, z=x3z3.

Exponentielle et logarithme discret


Soit E une courbe elliptique et P un point de E. On dfinit lexponentielle 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 mthode binaire classique. Le problme du logarithme discret consiste calculer n, tant donn les valeurs de P et n.P. Ce problme est rput au moins aussi difficile que le problme du logarithme discret dans les entiers modulo. On pense mme quil est plus compliqu.

Diffie-Hellman en courbes elliptiques


Alice choisit un point P alatoirement sur une courbe elliptique E et un entier n. Alice calcule n.P et lenvoie Bob. Bob choisit un entier m, calcule K=m.(n.P) et envoie m.P Alice. Alice calcule K=n.(m.P). Problmes: dterminer une courbe elliptiques et choisir des points alatoirement dans la courbe.

Choix dune courbe elliptique


E est dfinie par lquation y2+xy=x3+ax+b. Si on choisit alatoirement a et b, pour choisir un point sur E, il faut rsoudre une quation du troisime degr sur GF(2n) Problme difficile. En fait, on choisit un point quelconque x0, y0 et on choisit a. b a alors une solution unique que lon peut calculer facilement. Si on doit choisir plusieurs points alatoirement sur la courbes on calculera N.(x0,y0) avec n trs grand alatoire. En fait N>>2n.

EC-DSA
Problme: on a une fonction de hachage publique h (genre MD-5) et on veut signer des messages. EC-DSA est la contrepartie de lalgorithme DSA classique au niveau des courbes elliptiques.

EC-DSA (Description)
On suppose que lordre de P est q (i.e. q.P=0) Alice choisit a alatoire dans [0,q-1]. Elle calcule aP quelle publie et conserve secrtement 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 vrifie que kP=h(m)s-1.P+rs-1(aP). Si oui, le message m a bien t envoy par Alice. Problme: Comment calculer lordre de P ? Est-ce quil existe toujours ?

Rappel sur les groupes


Soit (G,+) un groupe fini de cardinal N et dont lunit pour laddition est 0. Soit x un lment de G, on dfinit la suite v0=0, vn+1=vn+x. Alors il existe k>0 avec vk=0. La plus petite valeur pour laquelle vk=0 sappelle lordre de x. Lordre de x divise N (thorme de Lagrange).

Compter les points dune courbe elliptique


Dans lEC-DSA, on a pas besoin ncessairement de lordre exact de llment: un multiple suffit. On peut donc prendre q comme tant gal au cardinal de la courbe elliptique. Lalgorithme de Schoof permet de compter les points dune courbes elliptiques. Certaines courbes elliptiques ont par construction un nombre de points facile calculer. Enfin les courbes elliptiques faisant partie de standards bien dfinis sont donnes dans les descriptions techniques avec leur nombre de points. Exemple: http://csrc.nist.gov/publications/fips/fips186-2/fips1862-change1.pdf

RSA en courbes elliptiques


Il existe des dfinitions qui utilise des courbes elliptiques dites singulires (Demytko, Maurer). Ces systmes sont dfinis sur des courbes elliptiques coefficients dans des anneaux. Malheureusement, il existe des attaques contre ces systmes. Pour viter ces attaques, le choix des courbes doit suivre certaines rgles.

Intrt pratique
Calculs plus simples quavec les systmes base de modulo. De plus la scurit semble suprieure.
1 56 2 80 3 112 4 128 5 192 6 256

DES

ECC
RSA

112 160

224

256

384

512

512 1024 2048 3072 7680 15360

Comparaison: Taille de cls assurant le mme niveau de scurit

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 matriel. Ils permettent aussi un dbit de donnes plus levs. La cryptographie courbes elliptiques est sans doute une approche appele se rpandre dans les applications pratiques. Il existe dautres constructions bases de courbes (courbes hyper-elliptiques de Kobler).