Universit a tea Politehnic dinBucure³ti [615894]
Universit a tea Politehnic dinBucure³ti
F a cul t a tea de ti inµe Aplica te
CURBE ELIPTICE PESTE CORPURIFINITE
Coordona tor ³ti inµific,
Conf. dr. Emil Simion
Masterand: [anonimizat]-V er onic a Chir ob o c e a
2017
BUCURETI
1 Preliminarii
1.1 Notaµii
Fp – corpul cu p elemen te, unde p este n um r natural prim;
E(Fp) – curba eliptic p este corpul Fp sub forma W eierstrass;
Fp[X] – inelul de p olinome în tr-o nedeterminat cu co ecienµi în corpul Fp ;
1.2 Deniµii, T eoreme
Deniµie (Grup) :
FieG o m ulµime nevid ³i "" o op eraµie algebric p e G ::GG !G .
Not m(x;y) =xy .(G;) se n ume³te grup dac :
1)"" este lege in tern p e G :8x;y2G)xy2G ;
2)"" este aso ciativ :8x;y;z2G:x(yz) = (xy)z ;
3)"" admite elemen t neutru: 9e2G:8x2G xe=ex=x ;
4) orice elemen t din G e in v ersabil:8x2G9x 12G:
xx 1=x 1x=e:
Dac este com utativ (i.e. 8x;y2G; xy=yx ) atunciG se n ume³te
grup com utativ sau ab elian.
T eorema de clasicare a grupurilor ab eliene nite :
Fie(G;) un grup ab elian nit cu card(G) =n ; atunciG'Zd1:::Zds ,
unde 1<d 1; d1j:::jds (divizibilitatea are lo c în N ) ,d1:::ds=n .
Deniµie (Subgrup) :
Fie(G;) grup ³iH o subm ulµime nevid a lui G ;H se n ume³te subgrup
inG dac :
1)"" e lege in tern în H ;
2)(H;) este grup.
Notaµie:HG .
Deniµie (Subgrup generat de o m ulµime) :
Fie(G;) grup ³iM o subm ulµime nevid a lui G ; se n ume³te subgrupul
generat de m ulµimea M , notat<M > , m ulµimea
fg2G:g=x1x2:::xn , unden0 ,xi2M saux 1
i2M;i = 1;:::;ng .
1
În particular, dac m ulµimea M este format din tr-un singur elemen t,
M=fxg , se n ume³te subgrupul generat de un elemen t
<x> =fg2G:g=x1x2:::xn , unden0 ,xi=x sauxi=x 1;
i= 1;:::;ng .
Observ aµie :
(<M >;) este grup.
Deniµie (Ordin ul un ui elemen t) :
Fie(G;) grup ³ix2G ; se n ume³te ordin ul lui x , notat cuord(x) , car-
dinalul subgrupului generat de x înG .
T eorema lui Lagrange :
Fie(G;) grup nit cu card(G) =n ³iH subgrup în G ; atunci:
1)card(H)jcard(G) ;
2)ord(x)jcard(G)8x2G .
Deniµie (Grup ciclic) :
Un grupG se n ume³te grup ciclic dac exist un elemen t a2G:
<a> =G .
Deniµie (Morsm de grupuri) :
Fie(G1;) ³i(G2;) grupuri; o funcµie f:G1 !G2 se n ume³te morsm
de grupuri dac f(xy) =f(x)f(y)8x;y2G1 .
Deniµie (Izomorsm de grupuri) :
Fie(A;);(B;) dou grupuri; un morsm de grupuri se n ume³te izomor-
sm dac e funcµie bijectiv .
T eorem :
Fie(G1;) ³i(G2;) grupuri nite, f:G1 !G2 o funcµie; urm toarele
armaµii sun t ec hiv alen te:
1.f este injectiv
2.f este surjectiv
3.f este bijectiv
Observ aµie :
2
În particular, daca f este un morsm injectiv de grupuri atunci f este
izomorsm de grupuri.
Deniµie (Nucleul un ui morsm) :
Fie(G1;);(G2;) grupuri ³i funcµia f:G1 !G2 un morsm de gru-
puri; se n ume³te n ucleul lui f , notat cuKer(f) , m ulµimea
fx2G1:f(x) =e2g:
(Am notat cu e2 elemen tul neutru din grupul G2 .)
Deniµie (Inel) :
FieA o m ulµime nevid înzestrat cu dou legi de comp oziµie, notate cu
" + " ³i"" ;(A;+;) se n ume³te inel dac :
1)(A;+) este grup com utativ;
2)"" este aso ciativ :8x;y;z2A:x(yz) = (xy)z ;
3)"" este distributiv faµ de "+" :8x;y;z2A:x(y+z) =xy+xz .
Dac "" este com utativ (i.e. 8x;y2A:xy=yx ) atunciA este inel
com utativ.
Dac "" admite elemen t neutru atunci A este inel unitar.
Notaµii:
0 elemen tul neutru la " + " ;
1 elemen tul neutru la "" (p e care îl v om n umi elemen tul unitate al
inelului).
Deniµie (Elemen t in v ersabil) :
Fie(A;+;) un inel unitar; un elemen t x dinA se n ume³te elemen t in-
v ersabil dac :9y2A:yx=xy= 1 ;
Notaµie:U(A) =fx2A:x este elemen t in v ersabil}
Deniµie (Corp) :
Fie(A;+;) inel unitar; A se n ume³te corp dac U(A) =Anf0g .
Am notat cu 1A elemen tul unitate al inelului A ³i cu 1B elemen tul unitate
al ineluluiB .
Deniµie (Caracteristica un ui corp) :
Fie(K;+;) un corp;
1) Dac n1K6= 0K8n2Znf0g atunci denim caracteristica corpului
K , notat cu char(K) , ca ind 0 ;
3
2) Dac 9n2Nnf0g:n1K= 0 , ep cel mai mic n um r natural cu
aceast proprietate, atunci denim caracteristica lui K ca indp .
Observ aµie :
Caracteristica un ui corp este sau 0 saup , undep este un n um r natural
prim.
T eorema lui F rob enius :
FieK corp com utativ cu char(K) =p ; atunci (x+y)p=xp+yp8x;y2K .
Observ aµie :
FieK corp com uativ cu char(K) =p ; atunciK conµine corpul cu p ele-
men te Fp .
Deniµie (Extindere de corpuri) :
Fie(E;+;) ,(K;+;) corpuri;E se n ume³te extindere a lui K dac exist
un morsm nen ul în tre ele. Un morsm de corpuri nen ul este injectiv, deci
v om iden tica corpul K cu un sub corp în E .
În particular, dac K este sub corp în E atunciKE este extindere de
corpuri.
Deniµie (Elemen t algebric) :
FieKE o extindere de corpuri com utativ e; un elemen t x dinE se
n ume³te algebric p este K dac 9g2K[X] :g6= 0;g(x) = 0 .
Deniµie (Extindere algebric ) :
FieKE o extindere de corpuri com utativ e; extinderea se n ume³te
algebric dac orice elemen t din E este algebric p este K .
Deniµie (Corp algebric înc his) :
CorpulK se n ume³te corp algebric înc his dac este corp com utativ ³i orice
p olinomf2K[X];grad (f) =n >0 aren r d cini (n u neap rat distincte)
înK .
Deniµie (Înc hidere algebric ) :
FieK corp com utativ; se n ume³te înc hiderea algebric a lui K un corp
L cu urm toarele propriet µi:
1)KL este extindere algebric ;
4
2)L este corp algebric înc his.
T eorem :
Orice corp com utativ K admite o înc hidere algebric L , adic p en tru orice
p olinomf2K[X] ecuaµiaf(X) = 0 are toate r d cinile în L .
Deniµii (R d cin m ultipl , r d cin simpl ) :
FieK corp com utativ, L înc hiderea algebric a lui K ,f2K[X];
grad(f)1 ³i2L o r d cin a lui f ; se n ume³te r d cin m ultipl
dac 9s2 : (X )sjf . În caz con trar, se n ume³te r d cin simpl .
Deniµie (Deriv ata formal ) :
CumK[X] este spaµiu v ectorial p este corpul K putem deni aplicaµia
liniar d:K[X] !K[X] astfel:
1)d(Xi) =iXi 18i1;
2)d(1) = 0 .
Notaµie:d(f) =f0.
Observ aµie :
FieK corp com utativ, L înc hiderea algebric a lui K ,f2K[X];
grad(f)1 ³i2L o r d cin a lui f ; atunci este r d cin m ultipl
dac ³i n umai dac f() =f0() = 0 .
Deniµie (Curb eliptic )
FieK corp com utativ, f(X) =X3+aX+b2K[X] un p olinom. Not m
cuO punctul de la innit. V om deni noµiunea de curb eliptic p este corpul
K în urm toarele mo duri în funcµie de caracteristica corpului:
P en tru caracteristic 2 m ulµimea
E(K) =f(x;y)2K2:y2+y=f(x)g[fOg
se n ume³te curb eliptic p este corpul K ;
P en tru caracteristic 3 m ulµimea
E(K) =f(x;y)2K2:y2=X3+aX2+bX+cg[fOg
se n ume³te curb eliptic p este corpul K ;
P en tru caracteristic diferit de 2 ³i3 m ulµimea
E(K) =f(x;y)2K2:y2=f(x)g[fOg
5
se n ume³te curb eliptic p este corpul K ;
Menµion m c în ultimele dou cazuri p olinom ul cubic trebuie s n u aib
r d cini m ultiple. De asemenea deniµia este dat p en tru curb e eliptice sub
forma W eierstrass.
Observ aµie :
FieK un corp com utativ, f2K[X] un p olinom; atunci f n u are r d –
cini m ultiple dac ³i n umai dac discriminan tul p olinom ului este diferit de
elemen tul zero al corpului K . Dac p olinom ul f este de forma X3+aX+b
atunci discriminan tul p olinom ului este 4a3 27b2.
T eorema Hasse :
Fiep un n um r prim ³i E curb eliptic p este corpul Fp . A tunci:
jp+ 1 card(E(Fp))j<2pp:
6
2 Capitolul 1
Studiul curb elor eliptice în domeniile: algebr , geometrie algebric , teoria
n umerelor a început la jum tatea secolului al XIX-lea.
V om prezen ta în con tin uare imp ortanµa curb elor eliptice în rezolv area
unor probleme div erse din matematic .
1. Problema n umerelor congruen te
Problema n umerelor congruen te a ap rut in secolul X, în tr-un man uscris
arab, în care s-a pus urm toarea problem : Fie n n um r în treg p ozitiv, s
se g seasc a un n um r raµional p ozitiv astfel încât a2+n ³ia2 n s e
p tratele unor n umere raµionale.
Deniµie : Un n um r în treg se n ume³te conguen t dac exist a2Q f0g
astfel încât a2+n ³ia2 n s e p tratele unor n umere raµionale.
Ulterior aceast problem s-a demonstrat a ec hiv alen t cu urm toarea: Fie
n n um r în treg p ozitiv, S se gaseasc tripletul de n umere raµionale p ozitiv e
(a;b;c ) astfel încât a;b;c p ot lungimile laturilor un ui triunghi dreptunghic
de arien .
Exemple :
1.5 este n um r congruen t deoarece este aria triunghiului dreptunghic
format de laturile de lungimi20
3;3
2;41
6.
2.1 n u este n um r congruen t (demonstrat de F ermat).
Probleme desc hise:
1. G sirea un ui criteriu prin care s se determine când un n um r este
congruen t.
2. Dat ind un n um r congruen t n s se gaseasc cu a jutorul un ui algo-
ritm lungimile laturilor triunghilui dreptunghic de arie n .
Leg tura curb elor eliptice cu n umerele congruen te
Problema n umerelor congruen te este ec hiv alen t cu urm toarea problem
din teoria curb elor eliptice:
Fien un n um r în treg p ozitiv; s se g seasc un punct raµonal p e curba
eliptic y2=x3 n2x p en truy diferit de 0 .
7
Cu a jutorul curb elor eliptice au fost en unµate câtev a rezultate prin care se
p oate decide dac an umite n umere sun t congruen te sau n u, îns problema
r mâne desc his .
2. Demonstraµia marii teoreme a lui F ermat
Marea teorem a lui F ermat a fost en unµat de Pierre de F ermat în an ul
1637 p e marginea unei copii a "Arithmetica", unde se menµiona c demon-
straµia acestui fapt este prea mare p en tru a scris p e acea margine.
Marea teorem a lui F ermat :
Fiea;b;c2Z f0g;n2Z;n > 2 atunci ecuaµia an+bn=cnn u are
soluµii.
În an ul 1995 matematician ul englez Andrew John Wiles public o demon-
straµie a urm torului fapt: T oate curb ele eliptice semistabile p este m ulµimea
n umerelor raµionale sun t mo dulare. Marea teorem a lui F ermat urmeaz ca
un corolar a v ând în v edere m unca an terioar a matematicienilor F rey , Serre
³i Rib et.
3. Criptograe p e curb e eliptice
Mai m ult atenµie a fost îndreptat spre folosirea curb ele eliptice în crip-
tograa cu c heie public , prima oar ind propus în lucr rile lui K oblitz ³i
Miller în an ul 1985. Motiv aµia utiliz rii curb elor eliptice în criptograe o con-
stituie inexsistenµa un ui algoritm sub-exp onenµial care s rezolv e problema
agloritm ului discret p e o curb eliptic .
Problema algoritm ului discret: Fie (G;) un grup ciclic de ordin n ³ig
un generator al grupului. Fiind date g;n c heia priv at x este selectat aleator
în tre 1 ³in 1 . Cheia public se obµine astfel y=gx. Problema algoritm ului
discret presupune aarea lui x ind cunoscute grupul G ³ig;y;n .
Un a v an ta j al utiliz rii curb elor eliptice în criptograa cu c heie public
este acela c p en tru a asigura acela³i niv el de securitate este necesar o c heie
de lungime mai mic . În tab elul de mai jos prezen t m comparativ lungimile
c heilor necesare p en tru RSA aplicat în Zn ³i p e curb e eliptice p en tru niv ele
de securitate diferite.
8
lungimile c heilor în bits RSAmodulon EC de ordin n
80 1024 160
112 2048 224
128 3072 256
192 8192 384
256 15360 512
9
3 Legea grupal p e curb e eliptice p este corpuri
nite
P e baza form ulelor de adunare a punctelor p e curb e eliptice deduse din pro-
iectul [2], construim un algoritm care s adune puncte p e curb e eliptice p este
corpuri nite. V om prezen ta mai în tâi co dul ³i ulterior v om da explicaµiile
necesare. Menµion m c lim ba jul de programre folosit este Python. De ase-
menea a v em în v edere c lucr m cu forma W eierstrass a curb elor eliptice,
deci p olinom ul cubic v a de forma X3+aX+b .
Observ aµie : A cest program lucreaz cu corpuri de caracteristic diferit
de2 ³i3 .
from pip._vendor.distlib.compat import raw_input
a = int(raw_input("Introduceti primul coeficient: "))
b = int(raw_input("Introduceti al doilea coeficient: "))
x1 = int(raw_input("Abscisa primului punct: "))
y1 = int(raw_input("Ordonata primului punct: "))
x2 = int(raw_input("Abscisa al doilea punct: "))
y2 = int(raw_input("Ordonata al doilea punct: "))
p = int(raw_input("Numarul prim: "))
def gcd(a,b):
if a == 0:
return (b,0,1)
else:
g, x, y = gcd(b%a, a)
return (g, y – (b//a) *x, x)
def modularInverse(a,b):
g, x, _ = gcd(a,b);
if g == 1:
return (x%b)
def notMultipleRoots(a,b,p):
i=1
discriminant = -4 *a**3 – 27 *b**2
if (discriminant%p == 0):
i=0
return (i)
def pointsOnCurve(a, b, x1, x2, y1, y2, p):
10
v = x1 **3 + a *x1 + b
w = x2 **3 + a *x2 + b
j=1
if (v%p != (y1 **2)%p or w%p != (y2 **2)%p):
j=0
return (j)
def AddPoints(a, b, x1, x2, y1, y2, p):
if(x1 != x2):
if(x1<x2):
inv1 = modularInverse((x2-x1),p)
else:
inv1 = modularInverse((x2-x1+p),p)
y = y2-y1
slope = inv1 *y
x3 = (slope **2-x1-x2)%p
y3 = (slope *(x1-x3)-y1)%p
return (x3, y3)
elif (y1%p == y2%p):
if(y1%p == 0):
return ("Punctul de la infinit")
else:
inv2 = modularInverse(2 *y1, p)
slope = (3 *x1**2 + a) *inv2
x3 = (slope **2-x1-x2)%p
y3 = (slope *(x1-x3)-y1)%p
return(x3, y3)
else:
return("Punctul de la infinit")
def verifyEllipticCurve(a, b, x1, x2, y1, y2, p):
if( notMultipleRoots(a,b) == 0 ):
return("Nu este curba eliptica")
elif(pointsOnCurve(a, b, x1, x2, y1, y2, p) == 0):
return("Un punct nu se afla pe curba eliptica")
else:
return(AddPoints(a, b, x1, x2, y1, y2, p))
print (verifyEllipticCurve(a, b, x1, x2, y1, y2, p))
De la utilizitor se primesc ca input 7 n umere ³i an ume:
-a;b sun t co ecienµii corespunz tori p olinom ului cubic
X3+aX+b2Fp[X] ;
-x1;y1 sun t co ordonatele prim ului punct;
-x2;y2 sun t co ordonatele celui de-al doilea punct;
11
-p este n um r natural prim corespunz tor corpului Fp p este care lucr m.
F uncµiagcd(a;b) determin , dup cum îi sugereaz n umele, cel mai mare
divizor com un al n umerelor a ³ib .
Exemplu :gcd(3456;76543) ia v aloarea 1 .
F uncµiamodularInverse (a;b) determin prin recursivitate in v ersul lui amodulob ,
dac acesta exist . P en tru a v erica dac in v ersul lui amodulob exist pu-
nem condiµia ca cel mai mare divizor com un al celor dou n umere s e
1 .
Exemplu :modularInverse (3456;76543) ia v aloarea 5692 .
F uncµianotMultipleRoots (a;b;p ) v eric cu a jutorul discriminan tului dac
p olinom ul cubic X3+aX+b are r d cini m ultiple. inem con t de faptul
c p en tru un p olinom cubic de aceast form , discriminan tul are v aloarea
( 4)a3 27b2. Dac v aloarea discriminan tul este 0 în corpul dat atunci
p olinom ul are r d cini m ultiple, ceea ce înseamn c n u p oate deni o curb
eliptic .
Exemplu :notMultipleRoots (7;4;71) ia v aloarea 1i:e:
E(F71) =f(x;y)2F2
71:y2=x3+ 7x+ 4g[fOg
este o curb eliptic .
F uncµiapointsOnCurve (a;b;x 1;x2;y1;y2;p) v eric dac cele dou puncte
date de utilizator sun t p e curba eliptic .
Exemplu :pointsOnCurve (7;4;15;17;43;24;71) ia v aloarea 1i:e: punc-
teleP(15;17);Q(43;24) sun t p e curba eliptic E(F71) denit mai sus.
F uncµiaAddPoints (a;b;x 1;x2;y1;y2;p) adun dou puncte de p e curba elip-
tic urmând algoritm ul din proiectul "X".
Exemple :
AddPoints (7;4;15;17;43;24;71) ia v aloarea (53;9) ;
AddPoints (7;4;15;17;15;17;71) ia v aloarea (66;25) ;
AddPoints (1;3;12;3;11;6;17) ia v aloarea (3;4) ;
AddPoints (1;3;12;3;12;14;17) a³eaz "Punctul de la innit".
F uncµiaverifyEllipticCurve se folose³te de funcµiile notMultipleRoots ³i
12
pointsOnCurve ca s v erice c toate condiµiile necesare p en tru adunarea
punctelor p e curba eliptic sun t îndeplinite. Dac sun t îndeplinit condiµiile
ap eleaz funcµia AddPoints p enn tru a a³a rezultatul adun rii.
13
4 Izomorsme de grupuri
P en tru o mai bun înµelegere a noµiunii de curb eliptic ne in tereseaz s
v edem izomorsme în tre grupurile de curb e eliptice ³i grupuri deja cunoscute.
V om a v ea nev oie de urm toarele rezultate.
T eorema de clasicare a grupurilor ab eliene nite :
Fie(G;) un grup ab elian nit cu card(G) =n ; atunciG'Zd1:::Zds ,
unde 1<d 1; d1j:::jds (divizibilitatea are lo c în N ) ,d1:::ds=n .
Lem :
Fiep prim impar astfel încât p2 (mod 3) ³iE(Fp) o curb eliptic
dat de ecuaµia y2=x3+b . A tuncicard(E(Fp)) =p+ 1 .
Demonstraµie:
Ecuaµiay2=x3+b este ec hiv alen t cu x3=y2 b . Consider m funcµia
f:Z
p!Z
p
f(x) =x3:
Se observ c funcµia f este morsm de grupuri.
Presupunem prin absurd c f n u este injectiv i:e:9x2Ker(f);
x6= 1)x3= 1)ord(x) = 3 Din teorema lui Lagrange rezult c 3
dividecard(Z
p)) =p 1 Obµinem con tradicµia din faptul c 3 trebuie s un
elemen t de forma 3k+ 1 , undek este natural. Deci, f este injectiv .
Cumf este morsm în tre dou grupuri nite ³i este injectiv rezult c
f este c hiar bijectiv .
D m v alori lui y2f0;1;;p 1g ³i rezult c exist exact p puncte
nite de forma (3p
y2 b;y) . A d ug m ³i punctul de la innit ³i obµinem
p+ 1 puncte.
Exemplu :
Fie curba eliptic E(F11) =f(x;y)2F11F11:y2=x3+ 3g: P en tru
a g si un izomorsm, a m mai în tâi cardinalul grupului E(F11) . Conform
lemei, a v em 12 elemen te în grup. Ne in tereseaz cum arat aceste elemen te,
iar p en tru aceasta v om în to cmi urm torul tab el:
14
xx3+ 3yPuncte
0 3 5;6(0;5);(0;6)
1 4 2;9(1;2);(1;9)
2 0 0 (2;0)
3 8
4 1 1;10(4;1);(4;10)
5 7
6 10
7 5 4;7(7;4);(7;7)
8 9 3;8(8;3);(8;8)
9 6
10 2
Nu uit m s punem la calcul ³i punctul de la innit, notat cu O . Conform
teoremei de clasiare a grupurilor nite a v em c E(F11) este izomorf cu Z12
sau cu Z2Z6 .
Cu a jutorul program ului de adunare a punctelor p e curb e elptice facem
tab ela adun rii p en tru E(F11) (v ezi pagina urm toare).
P en tru a decide care este izomorsm ul, ne uit m la ordinele elemen telor:
2(0;5) = (0;5) + (0;5) = (0;6) ;
3(0;5) = (0;5) + 2(0;5) = (0;5) + (0;6) =O .
Rezult c ordin ul elemen tului este 3.
La fel pro ced m ³i p en tru celelalte puncte ³i obµinem:
ord((0;6)) = 3; ord ((1;2)) = 4; ord ((1;9)) = 4; ord ((2;0)) = 2;
ord((4;1)) = 12etc:
Deoarece grupul are 12 elemen te ³i a v em un elemen t de ordin 12 îmseamn
c grupul este ciclic. Cum din tre cele dou grupuri, Z12;Z2Z6 , doar Z12
este ciclic r mâne c grupul E(F11) este izomorf cu Z12 .
15
+O (0;5) (0;6) (1;2) (1;9) (2;0) (4;1) (4;10) (7;4) (7;7) (8;3) (8;8)
OO (0;5) (0;6) (1;2) (1;9) (2;0) )(4;1)(4;10) (7;4) (7;7) (8;3) (8;8)
(0;5) (0;5) (0;6)O (8;8) (4;1) (7;7) (8;3) (1;2) (2;0) (7;4) (1;9) (4;10)
(0;6) (0;6)O (0;5) (4;10) (8;3) (7;4) (1;9) (8;8) (7;7) (2;0) (4;1) (1;2)
(1;2) (1;2) (8;8) (4;10) (2;0)O (1;9) (0;5) (7;4) (8;3) (4;1) (0;6) (7;7)
(1;9) (1;9) (4;1) (8;3)O (2;0) (1;2) (7;7) (0;6) (4;10) (8;8) (7;4) (0;5)
(2;0) (2;0) (7;7) (7;4) (1;9) (1;2)O (8;8) (8;3) (0;6) (0;5) (4;10) (4;1)
(4;1) (4;1) (8;3) (1;9) (0;5) (7;7) (8;8) (7;4)O (1;2) (4;10) (2;0) (0;6)
(4;10) (4;10) (1;2) (8;8) (7;4) (0;6) (8;3)O (7;7) (4;1) (1;9) (0;5) (2;0)
(7;4) (7;4) (2;0) (7;7) (8;3) (4;10) (0;6) (1;2) (4;1) (0;5)O (8;8) (1;9)
(7;7) (7;7) (7;4) (2;0) (4;1) (8;8) (0;5) (4;10) (1;9)O (0;6) (1;2) (8;3)
(8;3) (8;3) (1;9) (4;1) (0;6) (7;4) (4;10) (2;0) (0;5) (8;8) (1;2) (7;7)O
(8;8) (8;8) (4;10) (1;2) (7;7) (0;5) (4;1) (0;6) (2;0) (1;9) (8;3)O (7;4)
16
Exemplu :
Fie curba eliptic E(F7) =f(x;y)2F7F7:y2=x3+ 1g: P en tru a g si
un izomorsm, a m mai în tâi cardinalul grupului E(F7) . Pro ced m la fel ca
în exemplul an terior ³i construim tab elul p en tru a v edea elemen tele grupului.
xx3+ 1yPuncte
0 1 1;6(0;1);(0;6)
1 2 3;4(1;3);(1;4)
2 2 3;4(2;3);(2;4)
3 0 0 (3;0)
4 2 3;4(4;3);(4;4)
5 0 0 (5;0)
6 0 0 (6;0)
Ob esrv m c grupul are 12 elemen te. Conform teoremei de clasicare
a grupurilor nite rezult c E(Z7) p oate izomorf cu Z12 sau cu Z2Z6 .
Calculând ordinele elemen telor obµinem c n u exist nici un elemen t de ordin
12 , deci grupul dat n u p oate izomorf cu Z12 R mâne c E(Z7) este izomorf
cuZ2Z6 .
Comen tariu :
Ne in tereseaz aceste izomorsme de grupuri deoarece unele grupuri n u
sun t ciclice, v ezi exemplul an terior. Spre exemplu, în algoritm ul p en tru sem-
n turi digitale Die Hellman p e curb e eliptice ni se cere un generator al
grupului, iar dac grupul n u este ciclic acesta n u exist . Deci n u putem
aplica algoritm ul Die Hellman p e orice curb eliptic .
Comen tariu :
Ne în treb m dac exist o curb eliptic izomorf cu grupul Z2Z6Z12 .
R spunsul la aceast în trebare ni-l ofer urm toarea teorem .
T eorem :
FieE(Fq) o curb eliptic p este corpul nit Fq ; atunciE(Fq) este izomorf
cuZn , unden ste cardinlui curb ei eliptice, sau E(Fq) este izomorf cu Zn1
Zn2 , unde
n1;n1>1;n1jn2;n1jq 1;n2jq 1
.
17
5 Num rul de puncte al unei curb e eliptice
Am observ at c o dat ce cunoa³ten cardinalul unei curb e eliptice p este un
corp nit este u³or de spus cu ce grup este izomorf aplicând teorema de
clasicare a grupurilor nite.
P en tru curb e eliptice p este corpuri nite cu un n um r mic de elemen te
am prezen tat în capitolul an terior o v arian t p en tru a v edea punctele curb ei.
Îns p en tru n umere mai acea meto d este inecien t .
Ne propunem în cn tin uare s prezen t m un algoritm mai ecien t de a n u-
m ra punctele unei curb e eliptice p este un corp nit. P en tru aceasta a v em
nev oie de câtev a rezultate.
Observ aµie : Fiep n um r prim, Fp corpul nit cu p elemen te,L o înc hi-
dere algebric a lui Fp . A tunci p olinom ul f2L[X];
f(X) =Xp X:
arep r d cini diferite în L .
Demonstraµie: Deriv ata formal a acestui p olinom este
f0(X) =pXp 1 1 = 1;
cum deriv ata formal n u se an uleaz a v em c toate r d cinile lui f sun t
simple. tim c în tr-o înc hiderea algebric un p olinom de grad q are cel m ult
p r d cini. Din cele dou armaµii obµinem c p olinom ul
f(X) =Xp X:
arep r d cini diferite în L .
Algoritm p olinomial Consider m curba eliptic E(Fp) m ulµimea punctelor
ce satisfac ecuctia Y2=X3+AX+B înFp .
Este u³or de calculat card(E(Fp))mod2 . Conform teoremei lui Lagrange
este sucien t s a m fac m ulµimea conµine elemen te de ordin 2 sau n u.
Dac exist cel puµin un elemen t de ordin 2 atuncicard(E(Fp))mod2 = 0 ,
altfelcard(E(Fp))mod2 = 1 . V om detalia pro cedeul de g sire a elemn telor
de ordin ul 2 ulterior în tr-un exemplu.
Datorit teoremei Hasse este sucien t s calcul m card(E(Fp))modl unde
l este prim ³i satisface proprietatea
Y
ll>4sqrt(p):
18
P en tru a alfa n um rul de puncte al curb ei eliptice rezolv m sistem ul ob-
µin ut cu lema c hinez a resturilor. De menµionat este faptul c o s obµinem
o soluµie unic a sistem ului deoarece l urile folosite sun t toate prime în tre
ele deoarece toate l urile sun t prime.
P en tru o mai bun înµelegere a algoritm ului v om prezen ta un exemplu:
Fie curba eliptic Y2=X3+X+ 13 p esteF31 . Observ m c v om calcula
card(E(Fp))modl p en trul2f2;3;5g . P en trul= 2 : V eric m dac exist
puncte de ordin ul 2 . tim c aceste puncte sun t de forma (x;0) ceea ce este
ec hiv alen t cu a spune c x este r d cin a p olinom ului X3+X+13 înF31[X] .
tim din observ aµie c p olinom ul
X31 X
are toate r d cinile din mathbbF 31 . P en tru a v erica dac p olinoam ul X3+
X+13 are r d cini în F31 este sucien t s v eric m dac cele dou p olinoame
au r d cini com une. A cest lucru se reduce la a v erica dac
g:c:d(X31 X;X3+X+ 13)
.
calcule
R mâne c card(E(Fp)mod2 = 0 .
Prin pro cedee asem n toare obµinem:
card(E(Fp)mod3 = 1;
card(E(Fp)mod35 = 4
V om notacard(E(Fp) =x .
Aplic m lema c hinez a resturilor p en tru:8
><
>:xmod 2 = 0
xmod 3 = 1
xmod 5 = 4Calcul m
N= 235 = 30;
n1= 2)M1= 15 = 1mod2))y1= 15 1mod2 = 1
19
n2= 3)M2= 10 = 1mod3))y2= 10 1mod3 = 1
n3= 5)M3= 6 = 1mod5))y3= 6 1mod5 = 1
Rezult c
x= 0151 + 1101 + 461 = 34:
Conform teoremei de clasicare a grupurilor nite obµinem c E(Fp) este
izomorf cu F34 .
20
Bibliograe
[1] C t lin Gherghe, Dorin P op escu, Cripto gr ae. Co duri. A lgoritmi , Editura
Univ ersit µii din Bucure³ti, 2005
[2] Anca Miron, Carmen Vîjiac, Gabriela Chirob o cea, Curb e eliptic e , 2017
[3] Ion D. Ion, Nicolae Radu, A lgebr , Editura Didactic ³i P edagogic Bu-
cure³ti, 1991
[4] Andrew John Wiles, Mo dular el liptic curves and F ermat's L ast The or em ,
Annals of Mathematics, 1995
[5] Rene Sc ho of, Counting p oints on el liptic curve over nite elds , Journal
de theorie des nom bres de Bordeaux, 1995
[6] P an Y an Congruent Numb ers and El liptic Curves 2014
[7] Ian Blak e, Gadiel Seroussi, Nigel Smart, El liptic Curves in Crypto gr aphy ,
London Mathematical So ciet y Lecture Note Series, 1999
[8] Gabriela Chirob o cea, Corpuri nite , 2016
[9] h ttp://stac k o v ero w.com/questions/4798654/mo dular-m ultiplicativ e-
in v erse-function-in-p ython
21
Cuprins
1 Preliminarii 1
1.1 Notaµii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Deniµii, T eoreme . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Capitolul 1 7
3 Legea grupal p e curb e eliptice p este corpuri nite 10
4 Izomorsme de grupuri 14
5 Num rul de puncte al unei curb e eliptice 18
Bibliograe 21
22
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Universit a tea Politehnic dinBucure³ti [615894] (ID: 615894)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
