metoda curbelor eliptice - 3x.rocopiatac.3x.ro/proiecte_ac/stanescuana/metoda curbelor... · web...

23
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

Upload: others

Post on 03-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

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.

Page 2: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

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

Atacurile asupra curbelor eliptice considerate anomalii ( de exemplu

curbele eliptice peste F_p care au p puncte ) create de Semaev, Satoh-

Araki si Smart.

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. Sunt clasificate mai jos

in functie de problema matematica pe care sunt bazate:

Sistemul de factorizare a numerelor intregi.

Sistemul logaritmului discret.

Sistemul curbelor eliptice.

Page 3: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Descompunerea in factori primi Problema descompunerii in factori primi consta in: fiind dat un numar

intreg pozitiv , sa se scrie ca un produs de numere prime.De exemplu: fiind dat

numarul 45 , descompunerea lui in factori primi este: 32 *5.Descompunerea este

intotdeauna unica conform teoremei fundamentale aritmetice.

Fiind date doua numere prime mari, este usor sa le gasesti produsul. Insa,

fiind dat produsul lor este mai dificil sa le gasesti factorii. Acest lucru este

relevant pentru multe sisteme moderne in criptografie. Daca o metoda rapida

pentru problema descompunerii in factori primi este gasita , atunci numeroase

sisteme in criptografie vor fi ‘sparte’, inclusiv alogoritmul RSA, cu cheie

publica si generatorul de numere aleatoare 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. Astfel este posibil ca problema descompunerii in factori primi

sa fie grea dar sistemele sa fie totusi sparte rapid. O exceptie este generatorul

Blum Blum Shub. A fost demonstrat faptul ca aceste este la fel de dificil ca si

descompunerea in factori primi. Nu exista nici o metoda de a-l sparge fara a

rezolva rapid descompunerea in factori primi.

Principalele metode dezvoltata pana astazi pentru descompunerea in

factori primi a numerelor sunt: ECM(Elliptic Curve Method), MPQS (Multiple

Polynomial Quadratic Sieve), NFS (Number Field Sieve).

Page 4: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Ce este o curba eliptica?O curba eliptica E definita pe un camp finit Fp, unde p>3, poate fi data

sub forma:

E(Fp): y2=x3+a*x+b , a,b ε (Fp) (1)

impreuna cu un punct special numit punct de infinit.Ecuatia este numita

“eliptica” deoarece este folosita in calcularea lungimilor de arc ale elipselor.

Asociate curbei eliptice sunt doua entitati importante:

discriminantul:

Δ= -16 (4a3+27b2) (2)

j-invariant:

j=1728(4a3)/Δ , unde Δ≠0. (3)

Lema1:. Fiind dat j0 ε Fp exista o curba eliptica E definita pe Fp astfel

incat j(E)= j0.

O curba eliptica cu un j-invariabil , j0, dat, se poate construi usor.

Consideram j0 care nu apartine {0,1728}, aceste cazuri speciale sunt de

asemenea usor de rezolvat. Fie k= j0/(1728- j0), j0€(Fp) atunci ecuatia:

E: y2=x3+3kx+2k. (4)

determina o curba eliptica cu j-invariant j(E)= j0 .

Teorema 1: Curbele eliptice izomorfe au acelasi j-invariant.

Teorema 2: (HASSE) Fie # E(Fp) numarul punctelor pe curba eliptica

E(Fp). Daca # E(Fp) = p+1-t , atunci | t |<= 2*sqrt(p).

Definitia 1: (Torsiunea) Fiind data E: y2=x3+a*x+b , a,b ε (Fp) ,

torsiunea elipsei in punctul c este curba eliptica daca de Ec: y2=x3+a*c2*x+b*c3,

unde c€(Fp).

Page 5: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Teorema 3: Fie E definita pe (Fp) si ordinul sau # E(Fp) =p+1-t.

Ordinul torsiunii este dat de:

# Ec(Fp*) = p + 1 – t , daca c este patrat perfect in (Fp) (6)

= p + 1 + t, in caz contrar

Teorema 4: (Atkin-Morain) Fie p un numar prim astfel incat 4*p=t+D*s2

(7), oricare ar fi t,s € Z. Atunci exista o curba eliptica E definita pe (Fp) astfel

incat # E(Fp) = p + 1 – t.

Metoda de generare a curbelor eliptice poarta numele de Complex

Multiplcation (CM) . Aceasta metoda consta in:

Fiind dat un numar prim p se gaseste cel mai mic D in (7) si t asociat

acestuia.

Ordinele curbelor eliptice care pot fi construite este # E(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). In

cazul in care nu este indeplinita aceasta conditie se cauta un alt D si un t

corespunzator acestuia. Se repeta acest pas pana cand se gaseste o

factorizare admisibila.

Se construieste o clasa polinomiala Hs(x) utilizand formulele

corespunzatoatre.

Se gaseste un j0 € Hs(x) (mod p). Acest j0 este j-invariantul al curbei ce

trebuie construita.

Fie k= j0 / (1728 - j0 ) (mod p) si curba va fi:

E: y2=x3+3*k*x+2*k.

Se verifica ordinul curbei. Daca este nu este p + 1 – t atunci se

construieste torsiunea folosind un c € (Fp) la alegere.

Page 6: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Acest algoritm de generare a curbelor eliptice a fost testat pe un Pentium II

la 450- Mhz. S-a ales t = 2*v + 1 si s = 2*w + 1, unde v,w € Z. Numerele prime

gasite sunt de forma p = v 2 + v + ( w2 + w ) D + (D+1)/4 (8) , iar D = 3 (mod

4).

Aceste diagrame arata activitatea metodei in functie de clasele de numere

obtinute.

Curbele eliptice sunt folosite in demonstrarea ultimei teoreme a lui

Fermat si au numeroase aplicatii in criptografie.

Intre punctele unei curbe eliptice se pot defini operatii binare intr-un mod

natural, ceea ce face ca aceste puncte sa formeze un grup abelian.

Curbele eliptice tipice pentru multimea numerelor reale sunt date prin

ecuatiile:

y²=x³-x si y²=x³-x+1.

Page 7: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Curbele eliptice pot fi definite peste orice multime K,definitia formala a

unei curbe eliptice spune ca acestea sunt ecuatii algebrice proiective non-

singulare peste K de tipul 1.Daca caracteristica lui K nu este 2 sau 3,curba

eliptica peste K poate fi scrisa sub forma: y²=x³-px-q ,unde p si q apartin lui K ,

iar ecuatia nu are nici o radacina dubla.

Toate punctele (x,y) care satisfac relatia data au pe x si y elemente ale lui

K.Punctele de pe curba ale caror coordonate apartin lui K sunt numite K-puncte

rationale.

Prin adaugarea unui punct la infinit obtinem versiunea proiectiva a

acestei curbe.Proprietatea matematica care face ca aceste curbe sa fie folosite in

criptografie este aceea ca: luand doua puncte distincte de pe curba,dreapta care

trece prin ele va intersecta curba in al treilea punct(deoarece avem o ecuatie

cubica).

Fie P si Q doua puncte distincte de pe curba.P are coordonatele (x1,y1). –

P are coordonatele (x1,-y1) ,deoarece curba eliptica este simetrica fata de axa

OX. Astfel, cel de-al treilea punct de pe curba este P+Q. In acest fel se

dovedeste ca aceasta corespondenta satisface proprietatile algebrice uzuale pe

care le asociem numerelor intregi.

Page 8: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

In termeni matematici : putem defini un grup abelian finit din punctele de

pe curba, O fiind punctul la infinit. In particular , daca lasam ca punctele P si Q

sa coincida , putem defini P+P ,notat 2P.Extinzand ideea, putem defini kP

( pentru orice intreg k ) si ordinul lui P ,ca fiind cel mai mic intreg k astfel incat

kP=O (punctul la infinit ) .

Grupul poate fi descris si algebric ,nu doar geometric. Fiind data curba :

y²=x³-px-q peste multimea K (ale carei caracteristici nu sunt 2 sau 3), si

punctele P(xp,yp) , Q(xq,yq) pe curba , presupunem mai intai ca xq≠xp. Fie

s=(yp-yq)|(xp-xq). Din moment ce K este o multime , s este bine definit. Apoi

se poate defini R=P+Q (R(xr,yr)) prin :

xr=s²-xp-xq, yr=-yp+s(xp-xr).

Daca xp=xq , atunci avem doua optiuni :

a) daca yp=-yq ,atunci suma este definita ca 0.Astfel, punctul invers al

fiecarui punct de pe curba este simetricul fata de axa OX.

b) Daca yp=yq≠0, atunci R=P+P=2P , R(xr,yr) date prin :

s=(3xp²-p)|(2yp)

xr=s²-2xp

yr=-yp+s(xp-xr).

Page 9: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Daca yp=yq=0 atunci P+P=0.

Teorema lui Mordell-Weil afirma ca daca multimea K este multimea

numerelor rationale, atunci grupul K-puncte rationale este finit.

Este relativ usor sa determini torsiunea subgrupului E(K), 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.

Demonstratia recenta a ultimei teoreme a lui Fermat gaseste solutia unui

caz special al presupunerii lui Taniyama-Shimura, folosind curbele eliptice

peste multimea numerlor rationale.

Daca multimea K este o multime de numere complexe , atunci orice

curba eliptica poate fi parametrizata printr-o functie eliptica. Mai precis, pentru

fiecare curba eliptica E exista o latice L si o functie eliptica Wierstrass specifica

astfel incat :

φ:C|L→E cu φ(z)=C(ρ(z), ρ’(z)) este un grup izomorf

al suprafetelor Riemann.

Page 10: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Metoda curbelor eliptice

Metoda curbelor eliptice este un algoritm probabilistic rapid pentru

descompunerea numerelor intregi care implica folosirea curbelor eliptice. El a

fost inventat in 1985 de Hendrik Lenstra Jr. . Aceasta metoda a fost cel mai bun

algoritm pentru descompunerea numerelor intregi pana ce NFS a fost

descoperit. Metoda este inca buna pentru a gasi factori a caror dimensiune nu

depaseste 20 de cifre(64 de biti), deoarece timpul algoritmului depinde de

dimensiunea factorului p.

ECM este o imbunatatire a vechii metode de descompunere Pollard p-1.

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. Apoi , prin mica teorema a lui Fermat (ae=1

mod p, unde p-1 divide pe e si p nu divide pe a), luand pe e ca un produs de

numere prime mici ridicate la puteri mici si a sa fie un rest aleator mod n ,

putem descompune numarul n prin aflarea celui mai mare divizor comun a lui n

si an-1 , asa cum alti divizori q ai lui n nu au proprietatea ca q-1 sa divida pe e.

Oricum noi nu vom putea descompune pe n daca n nu are un factor prim p cu p-

1 “fin”.

Metoda curbelor eliptice a lui Lenstra trece peste acest obstacol

considerand un grup de curbe eliptice aleatoare peste grupul finit Zn ,mai

degraba decat a considera grupul multiplicativ a lui Zn care are intotdeauna

ordinul n-1.Numarul de ordine al grupului de curbe eliptice aleatoate peste Zn

este intre p si 2p ceea ce este convenabil pentru anumite curbe eliptice.

ECM pentru un numar n functioneaza astfel:

Page 11: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

- se alege o curba eliptica peste Z si un punct A pe ea. 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, unde e este un produs de numere mici

ridicate la puteri mici la fel ca in metoda Pollard p-1. Pentru eficienta se poate

da un numar prim;

- din fericire , eA este un element 0 al grupului de curbe eliptice in Zn 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 , coordonata va fi 0 in Zq ;

- daca nu merge algoritmul , se va incerca o alta curba si un alt punct.

Factorizarea

Metoda curbelor eliptice propusa de Lenstra este o generalizare a asa-

numitului (p-1) algoritm de factorizare a lui Pollard.

Algoritmul lui LenstraAlgoritmul lui Lenstra functioneaza astfel: pentru inceput alegem

aleator elemente a€Z\N, P0=(x0,y0)€(Z\N)2 si determinam o valoare b care

apartine lui (Z\N) astfel incat y02=x03+ax0+b mod N.

In putine cazuri vom avea gcd(4a3+27b2, N)≠1. Apoi vom gasi un

divizor netrivial al lui N si putem opri algoritmul sau altfel:N divide 4a3+27b2 ,

Page 12: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

ceea ce inseamna ca trebuie sa incepem din nou cu alegerea aleatoare a valorilor

a,x0,y0.Daca gcd(4a3+27b2, N)=1 consideram ecuatia y2=x3+ax+b.

Pentru fiecare divizor prim a lui N, vom defini grupul G(p)= Ea,b(Z\

p) ca o curba eliptica definita prin aceasta ecuatie modulo p si avand G(N)= ∏p\

N Ea,b(Z\p). Omomorfismele βp:G(N)→G(p) sunt proiectii naturale.

Daca deducem ca G(p)’=G(p)\{0} este o parte afina a lui G(p),

atunci G(N)’=∏p\NG(p)’ este complementul lui Up\NKerf(βp). Punctele lui G(N)’

pot fi reprezentate prin perechi (x,y) de intregi care satisfac ecuatia aleasa

modulo N.

Astfel, am construit deja un punct P0=(x0,y0) a lui G(N)’.Folosind

principiul general al algoritmului de factorizare prezentat anterior, vom calcula

multiplul Q(B)* P0 (pentru o alegere potrivita a lui B). Aceste lucru se poate

face in O(log(Q(B))) pasi prin dublare repetata si adunare.

Grupul permite sa adaugam: P1 si P2, punctul P3= P1+ P2 fiind dat

de formula:

x3=λ2-x1-x2 , y3=λ(x1-x3)-y1, unde λ=(y2-y1)/(x2-x1), daca x1≠x2 si

λ=(3x12+a)/(2y1) daca P1 = P2.

Singura problema in efectuarea acestei operatii in Z\N este calculul

elementelor inverse. Aceste elemente , daca exista in Z/N, pot fi calculate

folosind algoritmul lui Euclid pentru a calcula gcd-ul dintre elementul ce

trebuie inversat si N. Daca gcd=1 , inversul poate fi calculat si putem continua

algoritmul.

Cazul exceptional este atunci cand gcd este un numar d≠1. Daca d

diferit de N , suntem in cazul norocos pentru ca am gasit un divizor al lui N.

Daca una din curbele eliptice G(p) are un ordin ce divide Q(B), un caz

exceptional oricum apare in timpul calculului lui Q(B)* P0, deoarece atunci

Q(B)* P0 nu este un element din G(N)’.

Page 13: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Daca nu gasim un caz norocos nu suntem complet pierduti ,

deoarece putem incepe din nou cu o noua alegere aleatoare a parametrilor

a0,x0,y0 astfel incat curbele eliptice G(p) sa aiba alte ordine.

O parte draguta a alogoritmului de factorizare folosind metoda

curbelor eliptice este aceea ca ele pot fi usor puse in paralel , pentru ca putem

lasa multe calculatoare sa factorizeze acelasi numar N folosind curbe eliptice

diferite.

CONCLUZII

1.Complexitatea algoritmului depinde este O(exp(c(ln(p)ln(ln(p)))1/2)

(ln(n))2), unde c este aproximativ 2 (valoarea lui este constanta) , n este numarul

ce trebuie descompus, p este un factor nontrivial al lui n. Este un timp sub-

exponential care depinde de lungimea factorului p.

2.Proiectul ECMNET ,inceput in 1998 ,pentru a gasi factori mari folosind

ECM a avut succes,gasindu-se factori cu 50 de cifre(166 de biti) si mai mult.

Cel mai mare factor prim gasit folosind ECM are 54 de cifre(180 de biti)

si este: 484061254276878368125726870789180231995964870094916937,

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.

3.In 1995 a fost descoperita descompunerea numarului lui Fermat

F10=220+1 de 309 cifre(1025 biti).

F10=45592577*6487031809*46597757852200185432645607430767781

92897*p252, unde 4659…92897 are 40 de cifre.Descompunerea a luat 240

Page 14: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

Mips-ani.Un Mips-an este multimea de descompuneri ce pot fi facute intr-un an de un singur DEC\VAX11\80.

In cadrul proiectului ECMNET s–au gasit urmatorii factori:

digits factor from B1 sigma date who

66 709601635082267320966424084955776789770864725643996885415676682297 3466+1 110000000 1875377824 06 Apr 2005 B. Dodson

62 31069150378873790895208046895771360949463293546412105951449429 22034+1 11e7 1507467457 10 Apr 2005 B. Dodson

59 20131492120828919814484857298874674155298711142397769181347 10233-1 260000000 4114600819 20 Feb 2005 B. Dodson

57 105778944142118900777500898708378586145093313765798058097 371937-1 11e6 20538780 22 Apr 2005 P. Ochem

56 12577428828773105721352890258033044293734071019770385547 10064811804113-1 5e7 3294558376 12 Apr 2005 P. Ochem

54140183614482450346632384931984512181340021597814186079

21083-1 43000000 426275289 28 Jan 2005 K. Aoki

54 126524320109965088424895868811 7272+1 43e6 2895810102 21 Apr 2005 B. Dodson

Page 15: Metoda Curbelor Eliptice - 3x.rocopiatac.3x.ro/Proiecte_AC/StanescuAna/Metoda Curbelor... · Web viewCurbele eliptice pot fi definite peste orice multime K,definitia formala a unei

796346209735189444854017

54 110995096534055033775812456877810354806490499839538741

31683+1 11e7 3941580871 03 May 2005 J. Becker

51 285808992196770201430795577666066511096880150440101

HP300(95) 43e6 2976576632 20 Mar 2005 A. Michon

51 155137816977180947152785562601502526330318743274151

21105-1 43000000 2895414225 09 May 2005 K. Aoki