You are on page 1of 15

Metoda Curbelor Eliptice

Introducere
Criptografia reprezinta studiul tehnicilor matematice cu privire la
securitatea informatiei cum ar fi confidentialitatea, integritatea datelor,
autenticitatea entitatilor si originea autenticitatii datelor.

In anul 1985, Neal Koblitz si Victor Muler, au introdus , independent,
sistemul de criptare cu ajutorul curbelor eliptice ca a alternativa la sistemul
de criptare cu cheie publica. Securitatea (siguranta) sa consta in dificultatea

problemei logaritmului discret a curbelor eliptice care permite generarea
celei mai mari puteri “per bit” dintre toate sistemele de criptare cu cheie
publica cunoscute. Nivelul de securitate este determinat de dimensiunea si
structura grupului de puncte rationale de pe curba eliptica definit de un camp
finit.

Problema logaritmului discret la curbele eliptice: (ECDLP)

Fie E o curba eliptica peste un camp finit F_q. Presupunem P un punct
ce apartine curbei E (F_q) si fie Q un punct in <P>. Trebuie sa se gaseasca
un intreg t astfel incat Q = [t] P.

Se considera in mod unanim ca problema logaritmului discret a
curbelor eliptice este greu de rezolvat in cazul in care punctul P are un ordin
primalitate mare.

 Atacurile asupra curbelor eliptice considerate anomalii ( de exemplu curbele eliptice peste F_p care au p puncte ) create de Semaev.  Atacul Frey-Rueck. In prezent exista doar trei clase de sisteme de criptare cu cheie publica care sunt considerate a fi atat eficiente cat si sigure.  Sistemul curbelor eliptice. Metode cunoscute pentru a rezolva ECDLP sunt:  Algoritmul Pohlig-Hellman ( care reduce problema la subgrupuri de de ordine de primalitate)  Metoda lui Shank “Baby-step-giant-step”  Metoda lui Pollard  Atacul Menezes-Okamoto-Vanstone (MOV). . Sunt clasificate mai jos in functie de problema matematica pe care sunt bazate:  Sistemul de factorizare a numerelor intregi.  Sistemul logaritmului discret. Satoh- Araki si Smart.

Nu exista nici o metoda de a-l sparge fara a rezolva rapid descompunerea in factori primi. Acest lucru este relevant pentru multe sisteme moderne in criptografie. sa se scrie ca un produs de numere prime. O exceptie este generatorul Blum Blum Shub. Chiar daca descompunerea in factori primi este o metoda de a ‘sparge’ aceste sisteme exista si alte metode de a le sparge fara a fi folosita descompunerea. Descompunerea in factori primi Problema descompunerii in factori primi consta in: fiind dat un numar intreg pozitiv .De exemplu: fiind dat numarul 45 . cu cheie publica si generatorul de numere aleatoare Blum Blum Shub. Fiind date doua numere prime mari. Principalele metode dezvoltata pana astazi pentru descompunerea in factori primi a numerelor sunt: ECM(Elliptic Curve Method). inclusiv alogoritmul RSA.Descompunerea este intotdeauna unica conform teoremei fundamentale aritmetice. este usor sa le gasesti produsul. descompunerea lui in factori primi este: 32 *5. Astfel este posibil ca problema descompunerii in factori primi sa fie grea dar sistemele sa fie totusi sparte rapid. fiind dat produsul lor este mai dificil sa le gasesti factorii. MPQS (Multiple Polynomial Quadratic Sieve). atunci numeroase sisteme in criptografie vor fi ‘sparte’. NFS (Number Field Sieve). Daca o metoda rapida pentru problema descompunerii in factori primi este gasita . Insa. A fost demonstrat faptul ca aceste este la fel de dificil ca si descompunerea in factori primi. .

Fie k= j0/(1728. Daca # E(Fp) = p+1-t . . aceste cazuri speciale sunt de asemenea usor de rezolvat.Ecuatia este numita “eliptica” deoarece este folosita in calcularea lungimilor de arc ale elipselor.b ε (Fp) (1) impreuna cu un punct special numit punct de infinit. (3) Lema1:. Teorema 1: Curbele eliptice izomorfe au acelasi j-invariant. (4) determina o curba eliptica cu j-invariant j(E)= j0 .j0). atunci | t |<= 2*sqrt(p). j0€(Fp) atunci ecuatia: E: y2=x3+3kx+2k. j0. unde p>3. Teorema 2: (HASSE) Fie # E(Fp) numarul punctelor pe curba eliptica E(Fp). dat. O curba eliptica cu un j-invariabil . se poate construi usor. a. unde Δ≠0. Fiind dat j0 ε Fp exista o curba eliptica E definita pe F p astfel incat j(E)= j0. poate fi data sub forma: E(Fp): y2=x3+a*x+b . Ce este o curba eliptica? O curba eliptica E definita pe un camp finit F p.1728}. Consideram j0 care nu apartine {0. Asociate curbei eliptice sunt doua entitati importante:  discriminantul: Δ= -16 (4a3+27b2) (2) j-invariant: j=1728(4a3)/Δ .

Definitia 1: (Torsiunea) Fiind data E: y2=x3+a*x+b . Atunci exista o curba eliptica E definita pe (F p) astfel incat # E(Fp) = p + 1 – t. in caz contrar Teorema 4: (Atkin-Morain) Fie p un numar prim astfel incat 4*p=t+D*s 2 (7). Aceasta metoda consta in:  Fiind dat un numar prim p se gaseste cel mai mic D in (7) si t asociat acestuia.j0 ) (mod p) si curba va fi:  E: y2=x3+3*k*x+2*k. Metoda de generare a curbelor eliptice poarta numele de Complex Multiplcation (CM) . daca c este patrat perfect in (Fp) (6) = p + 1 + t. Teorema 3: Fie E definita pe (Fp) si ordinul sau # E(Fp) =p+1-t. Se repeta acest pas pana cand se gaseste o factorizare admisibila.  Se construieste o clasa polinomiala Hs(x) utilizand formulele corespunzatoatre. In cazul in care nu este indeplinita aceasta conditie se cauta un alt D si un t corespunzator acestuia.s € Z.b ε (Fp) . Acest j0 este j-invariantul al curbei ce trebuie construita.  Se gaseste un j0 € Hs(x) (mod p). . oricare ar fi t. Ordinul torsiunii este dat de: # Ec(Fp*) = p + 1 – t . Se verfica daca unul din ordine are o factorizare admisibila (prin factorizare admisibila se intelege un numar prim sau aproape prim).  Fie k= j0 / (1728 . torsiunea elipsei in punctul c este curba eliptica daca de E c: y2=x3+a*c2*x+b*c3. unde c€(Fp). a.  Ordinele curbelor eliptice care pot fi construite este # E(F p) = p + 1 ± t.

Curbele eliptice sunt folosite in demonstrarea ultimei teoreme a lui Fermat si au numeroase aplicatii in criptografie. Acest algoritm de generare a curbelor eliptice a fost testat pe un Pentium II la 450. S-a ales t = 2*v + 1 si s = 2*w + 1.  Se verifica ordinul curbei.w € Z. Curbele eliptice tipice pentru multimea numerelor reale sunt date prin ecuatiile: . Aceste diagrame arata activitatea metodei in functie de clasele de numere obtinute.Mhz. Numerele prime gasite sunt de forma p = v 2 + v + ( w2 + w ) D + (D+1)/4 (8) . unde v. iar D = 3 (mod 4). Daca este nu este p + 1 – t atunci se construieste torsiunea folosind un c € (Fp) la alegere. ceea ce face ca aceste puncte sa formeze un grup abelian. Intre punctele unei curbe eliptice se pot defini operatii binare intr-un mod natural.

dreapta care trece prin ele va intersecta curba in al treilea punct(deoarece avem o ecuatie cubica). Toate punctele (x.deoarece curba eliptica este simetrica fata de axa OX.y1).y) care satisfac relatia data au pe x si y elemente ale lui K. Curbele eliptice pot fi definite peste orice multime K.P are coordonatele (x1.curba eliptica peste K poate fi scrisa sub forma: y²=x³-px-q . y²=x³-x si y²=x³-x+1.-y1) .Punctele de pe curba ale caror coordonate apartin lui K sunt numite K-puncte rationale. Astfel. iar ecuatia nu are nici o radacina dubla. cel de-al treilea punct de pe curba este P+Q.Proprietatea matematica care face ca aceste curbe sa fie folosite in criptografie este aceea ca: luand doua puncte distincte de pe curba.definitia formala a unei curbe eliptice spune ca acestea sunt ecuatii algebrice proiective non- singulare peste K de tipul 1.unde p si q apartin lui K . . In acest fel se dovedeste ca aceasta corespondenta satisface proprietatile algebrice uzuale pe care le asociem numerelor intregi. Fie P si Q doua puncte distincte de pe curba. – P are coordonatele (x1. Prin adaugarea unui punct la infinit obtinem versiunea proiectiva a acestei curbe.Daca caracteristica lui K nu este 2 sau 3.

daca lasam ca punctele P si Q sa coincida .yr) date prin : s=(3xp²-p)|(2yp) xr=s²-2xp yr=-yp+s(xp-xr).yq) pe curba . Grupul poate fi descris si algebric . s este bine definit. b) Daca yp=yq≠0.Extinzand ideea.notat 2P. atunci avem doua optiuni : a) daca yp=-yq . O fiind punctul la infinit. putem defini kP ( pentru orice intreg k ) si ordinul lui P . Apoi se poate defini R=P+Q (R(xr. In particular . putem defini P+P . In termeni matematici : putem defini un grup abelian finit din punctele de pe curba.yr)) prin : xr=s²-xp-xq. punctul invers al fiecarui punct de pe curba este simetricul fata de axa OX. Daca xp=xq . si punctele P(xp. Fie s=(yp-yq)|(xp-xq). Q(xq. presupunem mai intai ca xq≠xp. yr=-yp+s(xp-xr).Astfel. atunci R=P+P=2P .yp) .nu doar geometric.atunci suma este definita ca 0.ca fiind cel mai mic intreg k astfel incat kP=O (punctul la infinit ) . R(xr. . Din moment ce K este o multime . Fiind data curba : y²=x³-px-q peste multimea K (ale carei caracteristici nu sunt 2 sau 3).

insa nici un algoritm general nu este cunoscut pentru a-i afla rangul. O formula pentru acest punct este data de ipoteza la Birch si Swinnerton-Dyer. atunci orice curba eliptica poate fi parametrizata printr-o functie eliptica. . Daca multimea K este o multime de numere complexe . ρ’(z)) este un grup izomorf al suprafetelor Riemann. Mai precis. Este relativ usor sa determini torsiunea subgrupului E(K). folosind curbele eliptice peste multimea numerlor rationale. Demonstratia recenta a ultimei teoreme a lui Fermat gaseste solutia unui caz special al presupunerii lui Taniyama-Shimura. atunci grupul K-puncte rationale este finit. Teorema lui Mordell-Weil afirma ca daca multimea K este multimea numerelor rationale. Daca yp=yq=0 atunci P+P=0. pentru fiecare curba eliptica E exista o latice L si o functie eliptica Wierstrass specifica astfel incat : φ:C|L→E cu φ(z)=C(ρ(z).

unde p-1 divide pe e si p nu divide pe a). ECM pentru un numar n functioneaza astfel: .mai degraba decat a considera grupul multiplicativ a lui Z n care are intotdeauna ordinul n-1. El a fost inventat in 1985 de Hendrik Lenstra Jr. . Oricum noi nu vom putea descompune pe n daca n nu are un factor prim p cu p- 1 “fin”. Aceasta metoda a fost cel mai bun algoritm pentru descompunerea numerelor intregi pana ce NFS a fost descoperit. Metoda curbelor eliptice Metoda curbelor eliptice este un algoritm probabilistic rapid pentru descompunerea numerelor intregi care implica folosirea curbelor eliptice. luand pe e ca un produs de numere prime mici ridicate la puteri mici si a sa fie un rest aleator mod n . In metoda lui Pollard s-a presupus ca un numar dat n are un divizor prim p daca p-1 are numai factori primi mici. ECM este o imbunatatire a vechii metode de descompunere Pollard p-1. deoarece timpul algoritmului depinde de dimensiunea factorului p. asa cum alti divizori q ai lui n nu au proprietatea ca q-1 sa divida pe e. Metoda curbelor eliptice a lui Lenstra trece peste acest obstacol considerand un grup de curbe eliptice aleatoare peste grupul finit Z n . prin mica teorema a lui Fermat (a e=1 mod p. Apoi .Numarul de ordine al grupului de curbe eliptice aleatoate peste Z n este intre p si 2p ceea ce este convenabil pentru anumite curbe eliptice. putem descompune numarul n prin aflarea celui mai mare divizor comun a lui n si an-1 . Metoda este inca buna pentru a gasi factori a caror dimensiune nu depaseste 20 de cifre(64 de biti).

Factorizarea Metoda curbelor eliptice propusa de Lenstra este o generalizare a asa- numitului (p-1) algoritm de factorizare a lui Pollard. Pentru eficienta se poate da un numar prim. . unde e este un produs de numere mici ridicate la puteri mici la fel ca in metoda Pollard p-1. eA este un element 0 al grupului de curbe eliptice in Z n si nu in Zq pentru un alt divizor prim q a lui n(la fel ca in metoda Pollard p-1 nu este de preferat ca ambele grupuri sa aiba numarul de ordine un divizor a lui e). apoi sa afla un divizor a lui n prin gasirea celui mai mare divizor comun dintre prima coordonata a lui A si n . Algoritmul lui Lenstra Algoritmul lui Lenstra functioneaza astfel: pentru inceput alegem aleator elemente a€Z\N.. din fericire . . coordonata va fi 0 in Zq . Apoi . . se considera legea grupului pe aceasta curba mod n(acest lucru este posibil deoarece toate resturile obtinute mod n au invers care poate fi gasit folosind algoritmul lui Euclid). se calculeaza eA in acest grup. N)≠1. se va incerca o alta curba si un alt punct. Apoi vom gasi un divizor netrivial al lui N si putem opri algoritmul sau altfel:N divide 4a 3+27b2 . . . P0=(x0.y0)€(Z\N)2 si determinam o valoare b care apartine lui (Z\N) astfel incat y02=x03+ax0+b mod N. daca nu merge algoritmul . In putine cazuri vom avea gcd(4a3+27b2. se alege o curba eliptica peste Z si un punct A pe ea.

Punctele lui G(N)’ pot fi reprezentate prin perechi (x. Singura problema in efectuarea acestei operatii in Z\N este calculul elementelor inverse. Cazul exceptional este atunci cand gcd este un numar d≠1.x0. Aceste lucru se poate face in O(log(Q(B))) pasi prin dublare repetata si adunare.y) de intregi care satisfac ecuatia aleasa modulo N.Folosind principiul general al algoritmului de factorizare prezentat anterior. am construit deja un punct P0=(x0. vom calcula multiplul Q(B)* P0 (pentru o alegere potrivita a lui B). inversul poate fi calculat si putem continua algoritmul. Daca gcd=1 . deoarece atunci Q(B)* P0 nu este un element din G(N)’.y0) a lui G(N)’. daca x1≠x2 si λ=(3x12+a)/(2y1) daca P1 = P2. . N)=1 consideram ecuatia y2=x3+ax+b. Pentru fiecare divizor prim a lui N.ceea ce inseamna ca trebuie sa incepem din nou cu alegerea aleatoare a valorilor a. Omomorfismele βp:G(N)→G(p) sunt proiectii naturale. un caz exceptional oricum apare in timpul calculului lui Q(B)* P 0. atunci G(N)’=∏p\NG(p)’ este complementul lui Up\NKerf(βp). Grupul permite sa adaugam: P1 si P2.y0. Daca deducem ca G(p)’=G(p)\{0} este o parte afina a lui G(p). punctul P3= P1+ P2 fiind dat de formula: x3=λ2-x1-x2 . y3=λ(x1-x3)-y1. Aceste elemente . daca exista in Z/N.Daca gcd(4a3+27b2.b(Z\p) ca o curba eliptica definita prin aceasta ecuatie modulo p si avand G(N)= ∏p\N Ea.b(Z\p). pot fi calculate folosind algoritmul lui Euclid pentru a calcula gcd-ul dintre elementul ce trebuie inversat si N. Daca d diferit de N . vom defini grupul G(p)= Ea. unde λ=(y2-y1)/(x2-x1). Daca una din curbele eliptice G(p) are un ordin ce divide Q(B). Astfel. suntem in cazul norocos pentru ca am gasit un divizor al lui N.

unde c este aproximativ 2 (valoarea lui este constanta) . 3. unde 4659…92897 are 40 de cifre. pentru ca putem lasa multe calculatoare sa factorizeze acelasi numar N folosind curbe eliptice diferite.inceput in 1998 . 2.gasindu-se factori cu 50 de cifre(166 de biti) si mai mult.In 1995 a fost descoperita descompunerea numarului lui Fermat F10=220+1 de 309 cifre(1025 biti).Proiectul ECMNET . O parte draguta a alogoritmului de factorizare folosind metoda curbelor eliptice este aceea ca ele pot fi usor puse in paralel . Daca nu gasim un caz norocos nu suntem complet pierduti .y0 astfel incat curbele eliptice G(p) sa aiba alte ordine.pentru a gasi factori mari folosind ECM a avut succes. p este un factor nontrivial al lui n. n este numarul ce trebuie descompus.Complexitatea algoritmului depinde este O(exp(c(ln(p)ln(ln(p)))1/2) (ln(n))2). CONCLUZII 1. Este un timp sub- exponential care depinde de lungimea factorului p. Cel mai mare factor prim gasit folosind ECM are 54 de cifre(180 de biti) si este: 484061254276878368125726870789180231995964870094916937. deoarece putem incepe din nou cu o noua alegere aleatoare a parametrilor a0.Descompunerea a luat 240 . adica (643-1)4*2+1 si a fost gasit de Nick Lygeros si Michael Mizony cu programul GMP-ECM al lui Paul Zimmermann in decembrie 1999.x0. F10=45592577*6487031809*46597757852200185432645607430767781 92897*p252.

Dodson 6895771360949463293546412105951449429 2013149212082891981448485729887467415 59 10233-1 260000000 4114600819 20 Feb 2005 B. Mips-ani. Dodson 770864725643996885415676682297 3106915037887379089520804 62 22034+1 11e7 1507467457 10 Apr 2005 B. Dodson 5298711142397769181347 10577894414211890077750089870837858614 57 371937-1 11e6 20538780 22 Apr 2005 P. Aoki 512181340021597814186079 54 126524320109965088424895868811 7272+1 43e6 2895810102 21 Apr 2005 B. Dodson . Ochem 5093313765798058097 125774288287731057213528902580330442937 56 10064811804113-1 5e7 3294558376 12 Apr 2005 P. Ochem 34071019770385547 54 140183614482450346632384931984 21083-1 43000000 426275289 28 Jan 2005 K. In cadrul proiectului ECMNET s–au gasit urmatorii factori:  factor from B1 sigma date who digits 709601635082267320966424084955776789 66 3466+1 110000000 1875377824 06 Apr 2005 B.Un Mips-an este multimea de descompuneri ce pot fi facute intr-un an de un singur DEC\VAX11\80.

Aoki 526330318743274151 . Michon 511096880150440101 51 155137816977180947152785562601502 21105-1 43000000 2895414225 09 May 2005 K. 796346209735189444854017 54 11099509653405503377581245687781 31683+1 11e7 3941580871 03 May 2005 J. Becker 0354806490499839538741 51 285808992196770201430795577666066 HP300(95) 43e6 2976576632 20 Mar 2005 A.