Vous êtes sur la page 1sur 119

Algoritmi za eliptike krivulje

Andrej Dujella
Poslijediplomski kolegij 2008/2009
Sadraj
1 Uvod i motivacija 2
1.1 Uvod u eliptike krivulje . . . . . . . . . . . . . . . . . . . . . 2
1.2 Kriptograja javnog kljua i eliptike krivulje . . . . . . . . . 8
2 Eliptike krivulje nad poljem racionalnih brojeva 14
2.1 Jednadbe eliptike krivulje . . . . . . . . . . . . . . . . . . . 14
2.2 Minimalna Weierstrassova jednadba . . . . . . . . . . . . . . 21
2.3 Eliptike krivulje u programskom paketu PARI/GP . . . . . . 27
2.4 Raunanje torzijske grupe . . . . . . . . . . . . . . . . . . . . 30
2.5 Konstrukcija krivulja sa zadanom torzijskom grupom . . . . . 37
2.6 Kanonska visina . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.7 LLL-algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.8 Raunanje ranga - krivulje s tokom reda 2 . . . . . . . . . . 55
2.9 Raunanje ranga - opi 2-silazak . . . . . . . . . . . . . . . . 68
2.10 Konstrukcija eliptikih krivulja velikog ranga . . . . . . . . . 71
2.11 Mordell-Weilova baza . . . . . . . . . . . . . . . . . . . . . . . 77
2.12 Cjelobrojne toke na eliptikim krivuljama . . . . . . . . . . . 82
2.12.1 Elementarni rezultati o Mordellovoj jednadbi . . . . . 82
2.12.2 Transformacija eliptikih krivulja u Thueove jednadbe 83
2.12.3 Primjena eliptikih logaritama . . . . . . . . . . . . . 85
3 Primjena eliptikih krivulja nad konanim poljima 90
3.1 Konana polja . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.2 Eliptike krivulje nad konanim poljima . . . . . . . . . . . . 92
3.3 Odreivanje reda grupe E(F
q
) . . . . . . . . . . . . . . . . . . 97
3.4 Problem diskretnog logaritma . . . . . . . . . . . . . . . . . . 101
3.4.1 Index calculus metoda . . . . . . . . . . . . . . . . . . 101
3.4.2 Problem diskretnog logaritma za eliptike krivulje . . . 102
3.4.3 Izbor parametara u ECC . . . . . . . . . . . . . . . . 106
3.4.4 Usporedba kriptosustava s javnim kljuem . . . . . . . 107
3.5 Dokazivanje prostosti pomou eliptikih krivulja . . . . . . . . 111
3.6 Faktorizacija pomou eliptikih krivulja . . . . . . . . . . . . 115
1
Poglavlje 1
Uvod i motivacija
1.1 Uvod u eliptike krivulje
Neka je K polje. Eliptika krivulja nad K je nesingularna projektivna kubna
krivulja nad K s barem jednom (K-racionalnom) tokom. Ona ima (anu)
jednadbu oblika
F(x, y) = ax
3
+bx
2
y +cxy
2
+dy
3
+ex
2
+fxy +gy
2
+hx +iy +j = 0,
gdje su koecijenti a, b, c, . . . , j K, a nesingularnost znai da je u svakoj
toki na krivulji, promatranoj u projektivnoj ravnini P
2
(K) nad algebarskim
zatvorenjem od K, barem jedna parcijalna derivacija funkcije F razliita od 0.
Svaka takva jednadba moe se biracionalnim transformacijama (racionalnim
transformacijama iji je inverz takoer racionalna transformacija) svesti na
oblik
y
2
+a
1
xy +a
3
y = x
3
+a
2
x
2
+a
4
x +a
6
,
koji nazivamo Weierstrassova forma. Nadalje, ako je karakteristika polja K
razliita od 2 i 3 (pa smijemo nadopunjavati na potpun kvadrat i potpun kub,
dijelei s 2 i 3 ako je potrebno), onda se ova jednadba moe transformirati
u oblik
y
2
= x
3
+ax +b,
koji nazivamo kratka Weierstrassova forma. Uvjet nesingularnosti je sada da
kubni polinom f(x) = x
3
+ax+b nema viestrukih nultoaka (u algebarskom
zatvorenju K), a to je pak ekvivalentno uvjetu da je diskriminanta D =
4a
3
27b
2
razliita od 0.
Mi emo esto pod eliptikom krivuljom nad poljem K (karakteristike
razliite od 2 i 3) podrazumijevati skup svih toaka (x, y) K K koji
zadovoljavaju jednadbu
E : y
2
= x
3
+ax +b,
gdje su a, b K i 4a
3
+27b
2
,= 0, zajedno s tokom u beskonanosti O. Taj
skup emo oznaavati s E(K).
2
Algoritmi za eliptike krivulje 3
Toka u beskonanosti se pojavljuje prirodno ukoliko eliptiku krivulju
prikaemo u projektivnoj ravnini. Projektivnu ravninu P
2
(K) dobijemo tako
da na skupu K
3
(0, 0, 0) uvedemo relaciju ekvivalencije (X, Y, Z) (kX, kY, kZ),
k K, k ,= 0. Ako u (anoj) jednadbi eliptike krivulje uvedemo supstitu-
ciju x =
X
Z
, y =
Y
Z
, dobivamo projektivnu jednadbu
Y
2
Z = X
3
+aXZ
2
+bZ
3
.
Ako je Z ,= 0, onda klasa ekvivalencije od (X, Y, Z) ima reprezentant (x, y, 1),
pa tu klasu moemo identicirati s (x, y). Meutim, postoji i jedna klasa ek-
vivalencije koja sadri toke za koje je Z = 0. Ona ima reprezentant (0, 1, 0)
i tu klasu identiciramo s tokom u beskonanosti O.
Jedno od najvanijih svojstava eliptikih krivulja jest da se na njima
moe, na prirodan nain, uvesti operacija uz koju one postaju Abelove grupe.
Da bismo to objasnili, uzmimo da je K = R polje realnih brojeva. Tada elip-
tiku krivulju E(R) (bez toke u beskonanosti) moemo prikazati kao pod-
skup ravnine. Polinom f(x) moe imati ili 1 ili 3 realna korijena. U ovisnosti
o tome, graf pripadne eliptike krivulje ima jednu ili dvije komponente, kao
to je prikazano na sljedeim slikama.
1 komponenta 2 komponente
Denirat emo operaciju zbrajanja na E(R). Neka su P, Q E(R).
Povucimo pravac kroz toke P i Q. On sijee krivulju E u tri toke. Treu
toku oznaimo s P Q. Sada deniramo da je P +Q osnosimetrina toka
toki P Q obzirom na os x. Ako je P = Q, onda umjesto sekante povlaimo
tangentu kroz toku P. Po deniciji stavljamo da je P +O = O+P = P za
svaki P E(R).
Algoritmi za eliptike krivulje 4
sekanta tangenta
Dakle, operacija (zbrajanje) na skupu E(R) se uvodi geometrijski, tako
da su tri toke na krivulji E kolinearne ako i samo ako im je suma jednaka
neutralnom elementu O. Naravno da se ovaj geometrijski zakon moe opisati
i eksplicitnim formulama za koordinate zbroja toaka. Tako dobivene formule
onda mogu posluiti za deniciju zbrajanja toaka na eliptikoj krivulji nad
proizvoljnim poljem (uz malu modikaciju ako je karakteristika polja 2 ili
3). Navedimo sada te formule.
Neka je P = (x
1
, y
1
), Q = (x
2
, y
2
). Tada je
1) O = O;
2) P = (x
1
, y
1
);
3) O +P = P;
4) ako je Q = P, onda je P +Q = O;
5) ako je Q ,= P, onda je P +Q = (x
3
, y
3
), gdje je
x
3
=
2
x
1
x
2
, y
3
= y
1
+(x
1
x
3
),
=
_
y
2
y
1
x
2
x
1
, ako je x
2
,= x
1
,
3x
2
1
+a
2y
1
, ako je x
2
= x
1
.
Broj je koecijent smjera pravca kroz P i Q, odnosno tangente u toki P
u sluaju P = Q.
Pokazuje se da je (E(K), +) Abelova grupa. Sva svojstva Abelove grupe
su evidentna, osim asocijativnosti iji je dokaz neto kompliciraniji.
Za primjene u kriptograji, najvaniji je sluaj kada je K konano polje
F
q
. Posebno su vani sluajevi q = p (prost broj) i q = 2
k
. S druge strane, u
teoriji brojeva najvaniju ulogu imaju eliptike krivulje nad poljem racional-
nih brojeva Q.
Algoritmi za eliptike krivulje 5
Moemo se pitati od kud dolazi naziv eliptika krivulja. Veza izmeu
eliptikih krivulja i elipse dolazi preko problema raunanja opsega elipse.
Neka je elipsa zadana jednadbom q
2
x
2
+p
2
y
2
= p
2
q
2
. Tada je njezin opseg
jednak vrijednosti integrala
4p
_
1
0
1 (p
2
q
2
)t
2
_
(1 t
2
)(1 (p
2
q
2
)t
2
)
dt.
Pomou racionalne supstitucije, ovaj se integral moe svesti na slian in-
tegral u kojem se pod korijenom nalazi kubna funkcija. Openito se inte-
grali u kojima je javljaju drugi korijeni polinoma treeg ili etvrtog stupnja
nazivaju eliptiki integrali. Oni se ne mogu izraziti pomou elementarnih
funkcija. Meutim, mogue ih je izraziti pomou Weierstrassove -funkcije.
Ova funkcija zadovoljava diferencijalnu jednadbu oblika
_

2
_
2
=
3
+a +b.
Ovdje je njena uloga analogna ulozi funkcije sinus u raunanju integrala
kod kojih se ispod korijena javljaju kvadratne funkcije. Naime, funkcija
y = sinx zadovoljava diferencijalnu jednadbu y
2
+ (y

)
2
= 1. Slino kao
to jedininu krunicu moemo parametrizirati pomou (cos t, sint), tako se
kompleksne toke na eliptikoj krivulji y
2
= x
3
+ax+b mogu parametrizirati
pomou ((t),
1
2

(t)). tovie, pokazuje se da ako je P = ((t),


1
2

(t)) i
Q = ((u),
1
2

(u)), onda je P + Q = ((t + u),


1
2

(t + u)). Dakle, zbra-


janje toaka na E(C) odgovara zbrajanju kompleksnih brojeva. Poznavanje
te injenice daje elegantni dokaz asocijativnosti zbrajanja toaka na elip-
tikoj krivulji.
Kad se promatra nad poljem R, eliptika krivulja je stvarno krivulja, tj.
1-dimenzionalni objekt. No, promatrana nad C ona postaje 2-dimenzionalni
objekt (ploha) u 4-dimenzionalnom prostoru. Pokuajmo vizualizirati tu
plohu.
Tu nam moe pomoi funkcija . Ona posjeduje mnoga vana svojstva.
Jedno njih jest da je dvostruko periodina, tj. postoje kompleksni brojevi
1
i
2
(takvi da
1
/
2
, R) sa svojstvom (z+m
1
+n
2
) = (z) za sve cijele
brojeve m, n. Oznaimo s L reetku svih toaka oblika m
1
+n
2
. Funkcija
je analitika u svim tokama kompleksne ravnine, osim u tokama iz reetke
L u kojima ima pol drugog reda (tj. je meromorfna funkcija). Openito se
meromorfne, dvostruko periodine funkcije nazivaju eliptike funkcije.
Gore navedena parametrizacija toaka na eliptikoj krivulji pomou funk-
cije predstavlja zapravo izomorzam grupa E(C) i C/L. Funkcija je
u potpunosti odreena svojim vrijednostima u fundamentalnom paralel-
ogramu koji se sastoji od svih kompleksnih brojeva oblika m
1
+ n
2
,
0 m, n < 1.
Algoritmi za eliptike krivulje 6
fundamentalni paralelogram
Razlika toaka koje se nalaze nasuprot jedna drugoj na paralelnim strani-
cama tog paralelograma je element iz L. Stoga su te toke poistovjeene
u skupu C/L. Da bi vizualizirali taj skup, moemo zamisliti da smo naj-
prije slijepili dvije suprotne stranice paralelograma. Tako dobivamo valjak.
Nakon toga slijepimo baze toga valjka. Tako dobivamo torus:
torus
Torus moemo zamisliti i kao sferu s rupom. Pokazuje se da se svaka
algebarska krivulja moe prikazati u trodimenzionalnom prostoru kao sfera
s konano mnogo rupa.
2-torus
Taj broj rupa se naziva genus ili rod krivulje. Alternativna (ira) deni-
cija eliptike krivulje je da je to algebarska krivulja genusa jednakog 1. Ova
denicija ukljuuje ne samo nesingularne kubne krivulje, ve i sve one krivulje
koje su im biracionalnog ekvivalentne. Biracionalne transformacije uvaju
genus krivulje, ali ne uvaju njezin stupanj.
Ako krivulja ima stupanj n, onda je njezin genus (n 1)(n 2)/2,
s time da ako je krivulja nesingularna, onda joj je genus upravo jednak
(n 1)(n 2)/2. Poznato je da tzv. hipereliptike krivulje ija je jednadba
y
2
= f(x), gdje je f(x) polinom stupnja n 3 bez viestrukih korijena,
imaju genus (n 1)/2|. To posebno znai da, pored sluaja kada je n = 3,
Algoritmi za eliptike krivulje 7
i u sluaju kad je n = 4 takoer imamo eliptiku krivulju. Uvjerimo se u to
na jednom primjeru. Neka je C krivulja zadana jednadbom
y
2
= x
4
+ 3x
2
+ 2x.
Uvedimo suptituciju x =
2
s1
, y =
2t
(s1)
2
. Inverzna transformacija je s =
x+2
x
, t =
2y
x
2
. Stoga je ovo biracionalna transformacija. Ona prevodi krivulju
C u eliptiku krivulju danu jednadbom
t
2
= s
3
3s + 6.
Genus krivulje igra vanu ulogu kod klasikacije diofantskih jednadbi.
Naime, o njemu ovisi broj cjelobrojnih, odnosno racionalnih rjeenja jed-
nadbe, te struktura skupa tih rjeenja.
Krivulje genusa 0 su upravo one koje posjeduju parametrizaciju pomou
racionalnih funkcija. Svaka krivulja drugog stupnja (konika) ima genus 0.
Npr. krivulja x
2
+y
2
= 1 ima racionalnu parametrizaciju
x =
2t
t
2
+ 1
, y =
t
2
1
t
2
+ 1
.
Kubne singularne krivulje takoer imaju genus 0. Npr. krivulja y
2
= x
3
ima singularnu toku (0, 0). Stoga ova kubna krivulja nije eliptika. Njezina
racionalna parametrizacija je x = t
2
, y = t
3
. Kao drugi primjer navedimo
krivulju y
2
= x
3
+ 2x
2
. Ona je takoer singularna i ima racionalnu parame-
trizaciju x = t
2
2, y = t
3
2t.
singularna krivulja singularna krivulja
Oito je da ove dvije kubne krivulje imaju beskonano mnogo cjelobro-
jnih toaka. Pellova jednadba x
2
dy
2
= 1 (d prirodan broj koji nije pot-
pun kvadrat) je primjer krivulje drugog stupnja koja ima beskonano mnogo
cjelobrojnih toaka. Krivulja genusa 1 moe imati samo konano mnogo cjelo-
brojnih toaka. Racionalnih toaka moe biti beskonano mnogo, ali su kon-
ano generirane (sve se mogu dobiti iz konano toaka primjenom grupovne
Algoritmi za eliptike krivulje 8
operacije na eliptikoj krivulji). Jedna od vanijih tema koju emo obra-
diti u ovom kolegiju bit e algoritmi za odreivanje broja generatora (tzv.
ranga). Krivulja genusa veeg od 1 moe imati samo konano mnogo racional-
nih toaka. Ova tvrdnja je poznata Mordellova slutnja koju je 1983. godine
dokazao Faltings.
1.2 Kriptograja javnog kljua i eliptike krivulje
Osnovni zadatak kriptograje je omoguavanje komunikacije dvaju osoba
(zovemo ih poiljalac i primalac - u kriptografskoj literaturi za njih su rez-
ervirana imena Alice i Bob) na takav nain da trea osoba (njihov protivnik -
u literaturi se najee zove Eva ili Oskar), koja moe nadzirati komunikaci-
jski kanal, ne moe razumjeti njihove poruke.
Poruku koju poiljalac eli poslati primaocu zovemo otvoreni tekst. Poi-
ljalac transformira otvoreni tekst koristei unaprijed dogovoreni klju K. Taj
se postupak zove ifriranje, a dobiveni rezultat ifrat. Nakon toga poiljalac
poalje ifrat preko nekog komunikacijskog kanala. Protivnik prislukujui
moe saznati sadraj ifrata, ali kako ne zna klju, ne moe odrediti otvoreni
tekst. Za razliku od njega, primalac zna klju kojim je ifrirana poruka, pa
moe deifrirati ifrat i odrediti otvoreni tekst.
shema simetrine kriptograje
U tzv. simetrinim ili konvencionalnim kriptosustavima, funkcije koje se
koriste za ifriranje e
K
i deifriranje d
K
ovise o kljuu K kojeg Alice i Bob
moraju tajno razmjeniti prije same komunikacije. Kako njima nije dostupan
siguran komunikacijski kanal, ovo moe biti veliki problem.
Godine 1976. Die i Hellman su ponudili jedno mogue rjeenje problema
razmjene kljueva, zasnovano na injenici da je u nekim grupama potenci-
ranje puno jednostavnije od logaritmiranja. Die i Hellman se smatraju za-
etnicima kriptograje javnog kljua. Ideja javnog kljua se sastoji u tome da
se konstruiraju kriptosustavi kod kojih bi iz poznavanja funkcije ifriranja e
K
bilo praktiki nemogue (u nekom razumnom vremenu) izraunati funkciju
deifriranja d
K
. Tada bi funkcija e
K
mogla biti javna. Dakle, u kriptosustavu
s javnim kljuem svaki korisnik K ima dva kljua: javni e
K
i tajni d
K
. Ako
Alice elji poslati Bobu poruku x, onda je ona ifrira pomou Bobovog javnog
kljua e
B
, tj. poalje Bobu ifrat y = e
B
(x). Bob deifrira ifrat koristei svoj
Algoritmi za eliptike krivulje 9
tajni klju d
B
, d
B
(y) = d
B
(e
B
(x)) = x. Uoimo da Bob mora posjedovati
neku dodatnu informaciju (tzv. trapdoor - skriveni ulaz) o funkciji e
B
, da
bi samo on mogao izraunati njezin inverz d
B
, dok je svima drugima (a
posebno Evi) to nemogue. Takve funkcije iji je inverz teko izraunati bez
poznavanja nekog dodatnog podatka zovu se osobne jednosmjerne funkcije.
Napomenimo da su kriptosustavi s javnim kljuem puno sporiji od mod-
ernih simetrinih kriptosustava (DES, IDEA, AES), pa se stoga u praksi ne
koriste za ifriranje poruka, ve za ifriranje kljueva, koji se potom koriste
u komunikaciji pomou nekog simetrinog kriptosustava.
Druga vana primjena kriptosustava s javnim kljuem dolazi od toga da
oni omoguavaju da se poruka digitalno potpie. Naime, ako Alice poalje
Bobu ifrat z = d
A
(e
B
(x)), onda Bob moe biti siguran da je poruku poslala
Alice (jer samo ona zna funkciju d
A
), a takoer jednakost e
A
(z) = e
B
(x)
predstavlja i dokaz da je poruku poslala Alice, pa ona to ne moe kasnije
zanijekati.
Neka je G konana Abelova grupa. Da bi bila prikladna za primjene u
kriptograji javnog kljua, grupa G bi trebala imati svojstvo da su operacije
mnoenja i potenciranja u njoj jednostavne, dok bi logaritmiranje (inverzna
operacija od potenciranja) bilo vrlo teko. Takoer bi trebalo biti mogue
generirati sluajne elemente grupe na gotovo uniforman nain. Ipak, cen-
tralno pitanje jest koliko je teak problem diskretnog logaritma u grupi G.
Problem diskretnog logaritma. Neka je (G, ) konana grupa,
g G, H = g
i
: i 0 podgrupa od G generirana s g, te h H.
Treba nai najmanji nenegativni cijeli broj x takav da je h = g
x
,
gdje je
g
x
= g g ... g
. .
x puta
.
Taj broj x se naziva diskretni logaritam i oznaava s log
g
h.
injenicu da postoje grupe u kojima je problem diskretnog logaritma
teak, iskoristili su Die i Hellman 1976. godine u svom rjeenju problema
razmjene kljueva.
Pretpostavimo da se Alice i Bob ele dogovoriti o jednom tajnom sluaj-
nom elementu u grupi G, kojeg bi onda poslije mogli koristiti kao klju za
ifriranje u nekom simetrinom kriptosustavu. Oni taj svoj dogovor moraju
provesti preko nekog nesigurnog komunikacijskog kanala, a da prethodno nisu
razmijenili nikakvu informaciju. Jedina informacija koju imaju jest grupa
G i njezin generator g (pretpostavimo zbog jednostavnosti da je grupa G
ciklika).
Algoritmi za eliptike krivulje 10
Slijedi opis Die-Hellmanovog protokola. S [G[ ili #G emo oznaavati
broj elemenata u grupi G.
Die-Hellmanov protokol za razmjenu kljueva.
1. Alice generira sluajan prirodan broj a 1, 2, ..., [G[ 1,
te poalje Bobu element g
a
.
2. Bob generira sluajan prirodan broj b 1, 2, ..., [G[ 1, te
poalje Alice element g
b
.
3. Alice izrauna (g
b
)
a
= g
ab
.
4. Bob izrauna (g
a
)
b
= g
ab
.
Sada je njihov tajni klju K = g
ab
.
Njihov protivnik (Eva), koji moe prislukivati njihovu komunikaciju
preko nesigurnog komunikacijskog kanala, zna sljedee podatke: G, g, g
a
,
g
b
. Eve treba iz ovih podataka izraunati g
ab
(kae se da Eva treba rijeiti
Die-Hellmanov problem (DHP)). Ako Eva iz poznavanja g i g
a
moe izrau-
nati a (tj. ako moe rijeiti problem diskretnog logaritma (DLP)), onda i ona
moe pomou a i g
b
izraunati g
ab
. Vjeruje se da su za veinu grupa, koje
se koriste u kriptograji, ova dva problema, DHP i DLP, ekvivalentni (tj. da
postoje polinomijalni algoritmi koji svode jedan problem na drugi).
U originalnoj deniciji Die-Hellmanovog protokola za grupu G uzima
se multiplikativna grupa Z

p
svih ne-nul ostataka modulo p, gdje je p dovoljno
velik prost broj. Poznato je da je grupa Z

p
ciklika. Generator ove grupe se
naziva primitivni korijen modulo p. Broj g 1, 2, ..., p 1 je primitivni
korijen modulo p ako je g
p1
najmanja potencija broja g koja daje ostatak
1 pri djeljenju s p.
Sada emo opisati ElGamalov kriptosustav iz 1985. godine, koji je zasno-
van na tekoi raunanja diskretnog logaritma u grupi (Z

p
,
p
).
Pokazuje se da je ovaj problem priblino iste teine kao problem fakto-
rizacije sloenog broja n (ako su p i n istog reda veliine), a i neke od metoda
koje se koriste u najboljim poznatim algoritmima za rjeavanje tih problema
su vrlo sline.
Algoritmi za eliptike krivulje 11
ElGamalov kriptosustav. Neka je p prost broj i Z

p
primi-
tivni korijen modulo p. Neka je T = Z

p
, ( = Z

p
Z

p
i
/ = (p, , a, ) : =
a
mod p.
Vrijednosti p, , su javne, a vrijednost a je tajna.
Za K / i tajni sluajni broj k 0, 1, . . . , p 1 deniramo
e
K
(x, k) = (
k
mod p, x
k
mod p).
Za y
1
, y
2
Z

p
deniramo
d
K
(y
1
, y
2
) = y
2
(y
a
1
)
1
mod p.
Mogli bismo rei da se otvoreni tekst x zamaskira mnoei s
k
. Onaj
tko poznaje tajni eksponent a moe iz
k
izraunati
k
i ukloniti masku.
Da bi eksponent a stvarno bio tajan, prost broj p mora biti dovoljno
velik da bi u Z

p
problem diskretnog logaritma bio praktiki nerjeiv. Stoga
se danas preporua koritenje prostih brojeva od oko 1024 bita. Takoer bi
red grupe, tj. broj p 1, trebao imati barem jedan veliki prosti faktor (od
barem 160 bitova).
Vano je primijetiti da se operacija potenciranja modulo p moe ekasno
provesti metodom kvadriraj i mnoi, a takoer se inverz modulo p moe
ekasno izraunati i to primjenom (proirenog) Euklidovog algoritma.
No, nije Z

p
jedina grupa kod koje je potenciranje puno lake od loga-
ritmiranja. Dapae, ima grupa, poput grupe eliptike krivulje nad konanim
poljem, kod kojih je razlika u teini ova dva problema (potenciranja i logar-
itmiranja) jo vea.
Ideju o tome da bi eliptike krivulje mogle biti korisne u konstrukciji
kriptosustava s javnim kljuem prvi su javno iznijeli Koblitz i Miller 1985.
godine.
Svi kriptosustavi koji u svojoj originalnoj deniciji koriste grupu Z

p
,
kao to je npr. ElGamalov, mogu se vrlo lako modicirati tako da koriste
grupu E(Z
p
). No, doslovno prevoenje ElGamalovog kriptosustava u elip-
tike krivulje ima nekoliko nedostataka.
Prvi je da prije ifriranja moramo elemente otvorenog teksta prebaciti
u toke na eliptikoj krivulji. Za to ne postoji zadovoljavajui determinis-
tiki algoritam. No, postoji vjerojatnosni algoritam, koji koristi injenicu da
kvadrati u konanom polju predstavljaju 50% svih elemenata. To znai da
s priblinom vjerojatnou 1
1
2
k
moemo oekivati da emo iz k pokuaja
pronai broj x takav da je x
3
+ax +b kvadrat u Z
p
. Za k = 30 to je sasvim
Algoritmi za eliptike krivulje 12
zadovoljavajua vjerojatnost. Pretpostavimo sada da su nam osnovne je-
dinice otvorenog teksta cijeli brojevi izmeu 0 i M. Pretpostavimo nadalje
da je p > Mk. Sada otvorenom tekstu m pridruujemo toku na eliptikoj
krivulji E(Z
p
) na sljedei nain. Za brojeve x oblika mk +j, j = 1, 2, . . . , k
provjeravamo je li x
3
+ax+b kvadrat u Z
p
. Kad naemo takav broj, izrau-
namo y Z
p
koji zadovoljava da je y
2
x
3
+ ax + b (mod p), te broju m
pridruimo toku (x, y) na E(Z
p
). Obrnuto, iz toke (x, y) pripadni otvoreni
tekst m moemo dobiti po formuli
m =
_
x 1
k
_
.
Drugi problem je da se ifrat jednog elementa otvorenog teksta kod ove
varijante ElGamalovog kriptosustava sastoji od ureenog para toaka na
eliptikoj krivulji. To znai da, prilikom ifriranja, poruka postane otprilike
4 puta dulja.
Navest emo jednu varijantu ElGamalovog kriptosustava koja koristi
eliptike krivulje. Naziva se Menezes-Vanstoneov kriptosustav. U njemu se
eliptike krivulje koriste samo za maskiranje, dok su otvoreni tekstovi i
ifrati proizvoljni ureeni parovi elemenata iz polja (a ne nuno parovi koji
odgovaraju tokama na eliptikoj krivulji). Kod ovog kriptosustava, ifrirana
poruka je (samo) 2 puta dulja od originalne poruke.
Menezes-Vanstoneov kriptosustav: Neka je E eliptika
krivulja nad Z
p
(p > 3 prost), te H ciklika podgrupa od E gener-
irana s . Neka je T = Z

p
Z

p
, ( = E Z

p
Z

p
i
/ = (E, , a, ) : = a,
gdje a oznaava ++ + (a puta), a + je zbrajanje toaka
na eliptikoj krivulji.
Vrijednosti E, , su javne, a vrijednost a je tajna.
Za K / i tajni sluajni broj k 0, 1, . . . , [H[ 1, te za x =
(x
1
, x
2
) Z

p
Z

p
deniramo
e
K
(x, k) = (y
0
, y
1
, y
2
),
gdje je y
0
= k, (c
1
, c
2
) = k, y
1
= c
1
x
1
mod p, y
2
= c
2
x
2
mod p.
Za ifrat y = (y
0
, y
1
, y
2
) deniramo
d
K
(y) = (y
1
(c
1
)
1
mod p, y
2
(c
2
)
1
mod p),
gdje je ay
0
= (c
1
, c
2
).
Algoritmi za eliptike krivulje 13
Kao to smo ve spomenuli, glavni razlog za uvoenje eliptikih krivulja
u kriptograju javnog kljua jest taj da je problem diskretnog logaritma u
grupi E(Z
p
) jo tei od problema diskretnog logaritma u grupi Z

p
.
To pak znai da se ista sigurnost moe postii s manjim kljuem. Tako je
npr. umjesto kljua duljine 1024 bita, dovoljan klju duljine 160 bitova. To
je osobito vano kod onih medija kod kojih je prostor za pohranu kljueva
vrlo ogranien, kao to su pametne kartice.
Poglavlje 2
Eliptike krivulje nad poljem
racionalnih brojeva
2.1 Jednadbe eliptike krivulje
Iako e u ovom poglavlju biti uglavnom rijei o eliptikim krivuljama na pol-
jem Q, zapoet emo s razmatranjima koja su valjana u bilo kojem polju
karakteristike razliite od 2 i 3, a i za te karakteristike se mogu dobiti
analogni rezultati uz manje modikacije. Zanimat e nas najprije kako se
razliite jednadbe eliptikih krivulja (od kojih smo neke ve vidjeli u uvod-
nom poglavlju) mogu transformirati u Weierstrassov oblik.
Neka je K polje karakteristike razliite od 2 i promotrimo kubnu krivulju
s koecijentima iz polja K koja ima barem jednu K-racionalnu toku (p, q).
Opisat emo Nagellov algoritam pomou kojeg se jednadba krivulje moe
transformirati u Weierstrassovu formu (ili ustanoviti da je krivulja singu-
larna, pa nije eliptika).
Zamjenom u sa u+p i v sa v+q, moemo pretpostaviti da je K-racionalna
toka upravo (0, 0). Dakle, imamo jednadbu
f(u, v) = s
1
u
3
+s
2
u
2
v +s
3
uv
2
+s
4
v
3
+s
5
u
2
+s
6
uv +s
7
v
2
+s
8
u +s
9
v = 0.
(2.1)
Ako bi bilo s
8
= s
9
= 0, onda bi toka (0, 0) bila singularna. Stoga (zamjen-
jujui u i v ako je potrebno) moemo pretpostaviti da je s
9
,= 0. Uvedimo
projektivne koordinate: u =
U
W
, v =
V
W
, te prikaimo jednadbu u obliku
F = F
3
+F
2
W +F
1
W
2
= 0,
gdje su F
i
, i = 1, 2, 3, homogeni polinomi stupnja i:
F
3
= s
1
U
3
+s
2
U
2
V +s
3
UV
2
+s
4
V
3
,
F
2
= s
5
U
2
+s
6
UV +s
7
V
2
,
F
1
= s
8
U +s
9
V.
14
Algoritmi za eliptike krivulje 15
Racionalna toka P = (u, v) = (0, 0) sada ima koordinate (U, V, W) =
(0, 0, 1). Tangenta u toki P je dana jednadbom F
1
= 0 i sijee krivulju
u toki Q = (e
2
s
9
, e
2
s
8
, e
3
), gdje je e
i
= F
i
(s
9
, s
8
) za i = 2, 3. Uoimo da
e
2
i e
3
ne mogu oba biti 0, jer bi tada tangenta bila komponenta krivulje, pa
ne bismo imali eliptiku krivulju (e
2
= 0 bi znailo da je P = Q toka in-
eksije, dok bi e
3
= 0 znailo da je Q toka u beskonanosti). Ako je e
3
,= 0,
uvodimo supstituciju
U = U


s
9
e
2
e
3
W

, V = V

+
s
8
e
2
e
3
W

, W = W

,
a ako je e
3
= 0, onda uvodimo supstituciju
U = U

s
9
W

, V = V

+s
8
W

, W = U

.
U oba sluaja toka Qje u ishoditu novog koordinatnog sustava (U

, V

, W

) =
(0, 0, 1), a tangenta u toki P ima jednadbu s
8
U

+s
9
V

.
Sada se moemo vratiti na ane koordinate u

=
U

, v

=
V

W

, jer su nam
projektivne koordinate u biti trebale samo da razrijeimo sluaj kada je Q
bila toka u beskonanosti u originalnim koordinatama.
Prikaimo jednadbu u u

i v

kao f

= f

1
+ f

2
+ f

3
= 0, gdje su f

i
=
f

i
(u, v) homogeni djelovi od f

stupnja i. Dakle, imamo


u
2
f
3
(1, t) +u

f
2
(1, t) +f
1
(1, t) = 0, (2.2)
gdje je t =
v

. Jednadbu (2.2) moemo shvatiti kao kvadratnu jednadbu


po u

. Rjeenja su joj
u

=

2

2
3
, (2.3)
gdje je
i
= f

i
(1, t) i =
2
2
4
1

3
. Vrijednosti od t za koje je = 0
su koecijenti smjera tangenata na krivulju koje prolaze tokom Q = (0, 0)
(jer pravci kroz Q imaju jednadbu v

= tu

). Jedna od tih vrijednosti je


t
0
=
s
8
s
9
. Vidimo da polinom etvrtog stupnja ija je jedna nultoka t
0
.
Stavimo t = t
0
+
1

, pa je =
4
kubni polinom u .
Konano, ako je
= c
3
+d
2
+e +k,
onda mora biti c ,= 0 (jer za c = 0 ne bi imali eliptiku krivulju), pa nam
supstitucije =
x
c
, =
y
2
c
2
daju Weierstrassovu jednadbu
y
2
= x
3
+dx
2
+cex +c
2
k.
Veza originalnih varijabli u, v sa x, y se moe dobiti preko (2.3), gdje je
t = t
0
+
c
x
, =
c
2
y
2
x
4
.
esto se eliptike krivulje prikazuju u (dugoj) Weierstrassovoj formi
y
2
+a
1
xy +a
3
y = x
3
+a
2
x
2
+a
4
x +a
6
.
Algoritmi za eliptike krivulje 16
Ta je forma dobra nad svakim poljem (bez obzira na karakteristiku), a vrlo
je prikladna za opis eliptikih krivulja nad Q s toakama zadanog konanog
reda. Pokaimo kao se od nje (u karakteristici razliitoj od 2 i 3) dobiva kratka
Weierstrassova forma. Supstitucijom y
1
2
(y a
1
x a
3
) eliminiramo sve
lanove koji sadre y, osim y
2
(ovo moemo napraviti ako karakteristika nije
2, pa smijemo dijeliti s 2). Dobivamo
y
2
= 4x
3
+b
2
x
2
+ 2b
4
x +b
6
,
gdje je
b
2
= a
2
1
+ 4a
2
,
b
4
= a
1
a
3
+ 2a
4
,
b
6
= a
2
3
+ 4a
6
.
Jo se denira i b
8
=
1
4
(b
2
b
6
b
2
4
) = a
2
1
a
6
a
1
a
3
a
4
+4a
2
a
6
+a
2
a
2
3
a
2
4
. Uoimo
da ako svakom a
i
pridijelimo teinu i, onda je svaki od b
i
-ova homogeni
izraz teine i.
Ako je karakteristika razliita i od 3, onda moemo uvesti supstitucije
x
x3b
2
36
, y
y
108
, te dobiti jednadbu u kratkoj Weirstrassovoj formi
y
2
= x
3
27c
4
x 54c
6
,
gdje je
c
4
= b
2
2
24b
4
,
c
6
= b
3
2
+ 36b
2
b
4
216b
6
.
U razliitim situacijama (posebno kod konstrukcije krivulja velikog ranga)
pojavljuju se krivulje oblika
v
2
= au
4
+bu
3
+cu
2
+du +e, a ,= 0. (2.4)
Pretpostavimo da je krivulja (2.4) nesingularna (polinom na desnoj strani
nema viestrukih nultoaka) i da ima barem jednu toku (p, q) s koordi-
natama iz K. Tada se (2.4) moe transformirati u Weierstrassovu formu
pomou biracionalnih trasformacija (s koecijentima u K). Zamjenom u sa
u+p moemo pretpostaviti da je p = 0, tj. da je K-racionalna toka na (2.4)
toka (0, q).
Pretpostavimo najprije da je q = 0. Tada je e = 0, pa zbog nesingu-
larnosti mora biti d ,= 0. Mnoenjem (2.4) sa
d
2
u
4
dobivamo
_
dv
u
2
_
2
=
_
d
u
_
3
+c
_
d
u
_
2
+bd
_
d
u
_
+ad
2
,
tj. Weierstrassovu jednadbu u
d
u
i
dv
u
2
. Toka (0, 0) odgovara toki u beskon-
anosti O.
Sluaj q ,= 0 je kompliciraniji, no direktnim raunom se provjerava
Algoritmi za eliptike krivulje 17
Propozicija 2.1. Neka je K polje karakteristike razliite od 2. Promotrimo
jednadbu
v
2
= au
4
+bu
3
+cu
2
+du +q
2
,
gdje su a, b, c, d, q K. Neka je
x =
2q(v +q) +du
u
2
, y =
4q
2
(v +q) + 2q(du +cu
2
)
d
2
u
2
2q
u
3
,
te deniramo
a
1
=
d
q
, a
2
= c
d
2
4q
2
, a
3
= 2qb, a
4
= 4q
2
a, a
6
= a
2
a
4
.
Tada je
y
2
+a
1
xy +a
3
y = x
3
+a
2
x
2
+a
4
x +a
6
.
Inverzna transformacija je dana sa
u =
2q(x +c)
d
2
2q
y
, v = q +
u(ux d)
2q
.
Toka (u, v) = (0, q) odgovara toki u beskonanosti O, a toka (u, v) =
(0, q) odgovara toki (x, y) = (a
2
, a
1
a
2
a
3
).
Primjer 2.1. Promotrimo krivulju C danu jednadbom
v
2
= u
4
+ 1. (2.5)
Ovdje je Q-racionalna toka (0, 1). Supstitucijom
x =
2(v + 1)
u
2
, y =
4(v + 1)
u
3
,
dobivamo eliptiku krivulju E danu jednadbom
y
2
= x
3
4x.
Inverzne transformacije su
u =
2x
y
, v = 1 +
2x
3
y
2
.
Kasnije emo pokazati da je E(Q) = O, (0, 0), (2, 0), (2, 0). Ove etiri
toke odgovaraju na krivulji C tokama (u, v) = (0, 1), (0, 1), te tokama
u beskonanosti. Da bi vidjeli to se dogaa s tokama u beskonanosti na
C, zapiimo je u projektivnim koordinatama:
F(U, V, W) = V
2
W
2
U
4
W
4
= 0.
Algoritmi za eliptike krivulje 18
Toke u beskonanosti su one u kojima je W = 0. No, tada je U = 0 i
dobivamo samo jednu toku u beskonanosti (0, 1, 0). Uoimo da je ta toka
singularna, jer je u njoj
F
U
=
F
V
=
F
W
= 0. U toki (0, 1, 0) sijeku se dvije
grane krivulje:
v = u
2
_
1 +
1
u
4
i v = u
2
_
1 +
1
u
4
.
u
2
= v
4
+ 1
Izraunamo li limes od x =
2(v+1)
u
2
za u po prvoj grani, dobivamo
da
x =
2(1 +u
2
_
1 +
1
u
4
)
u
2
2,
dok po drugoj grani dobivamo da x 2. U oba sluaja imamo da y 0,
pa vidimo da toke (2, 0) i (2, 0) na E odgovaraju (singularnoj) toki u
beskonanosti na C.
Rekli smo da su jedine konane racionalne toke na C toke (0, 1). Taj
je rezultat u uskoj vezi s Fermatovom jednadbom za eksponent 4. Zaista,
pretpostavimo da postoje prirodni brojevi a, b, c takvi da je a
4
+ b
4
= c
2
.
Tada je
_
a
b
,
c
b
2
_
racionalna toka na C s koordinatama razliitim od 0, to je
kontradikcija.
Formula za zbrajanje dvaju toaka na eliptikoj krivulji u kratkoj Weier-
strassovoj formi zahtjeva dva mnoenja, jedno kvadriranje i jedno dijeljenje u
polju. Budui da je dijeljenje obino znatno sporije od mnoenja, od interesa
su alternativne jednadbe (koordinate) u kojima dijeljenje ne bi bilo nuno.
I zaista, dijeljenje se moe izbjei koritenjem projektivnih koordinata.
Za tu svrhu mogu se iskoristiti ve i standarne projektivne koordinate, tj.
one u kojima projektivnoj toki (X, Y, Z) odgovara ana toka (
X
Z
,
Y
Z
). No,
pokazuje se da jedna modikacija projektivnih koordinata vodi do ekasnijih
Algoritmi za eliptike krivulje 19
formula za zbrajanje, a naroito za dupliciranje toaka. To su Jacobijeve ili
teinske projektivne koordinate u kojima projektivnoj toki (X, Y, Z) odgo-
vara ana toka (
X
Z
2
,
Y
Z
3
) (prvoj koordinati smo dali teinu 2, a drugoj 3).
Tada jednadba eliptike krivulje postaje
Y
2
= X
3
+aXZ
4
+bZ
6
. (2.6)
Toka u beskonanosti sada ima koordinate (1, 1, 0).
U ovim novim koordinatama se kod raunanja zbroja toaka uope ne
pojavljuje dijeljenje. Neka su P = (X
1
, Y
1
, Z
1
), Q = (X
2
, Y
2
, Z
2
) toke za
krivulji (2.6). Tada se koordinate toke P +Q = (X
3
, Y
3
, Z
3
) mogu izraunati
pomou:
r = X
1
Z
2
2
, s = X
2
Z
2
1
, t = Y
1
Z
3
2
, u = Y
2
Z
3
1
, v = s r, w = u t,
X
3
= v
3
2rv
2
+w
2
, Y
3
= tv
3
+ (rv
2
X
3
)w, Z
3
= vZ
1
Z
2
.
dok se koordinate toke P +P = (X
4
, Y
4
, Z
4
) dobivaju na sljedei nain:
v = 4X
1
Y
2
1
, w = 3X
2
1
+aZ
4
1
,
X
4
= 2v +w
2
, Y
4
= 8Y
4
1
+ (v X
3
)w, Z
4
= 2Y
1
Z
1
.
Zbroj P + Q se moe izraunati uz 16 mnoenja (preciznije: 12 mnoenja i
4 kvadriranja), a zbroj P + P uz 10 mnoenja (preciznije: 4 mnoenja i 6
kvadriranja). U primjenama se ponekad izabire parametar a = 3. Razlog
je taj da se kod P +P u raunanju veliine w moe utediti jedno mnoenje
zbog
w = 3(X
2
1
Z
4
1
) = 3(X
1
+Z
2
1
)(X
1
Z
2
1
).
Edwards je 2007. godine opisao novi zanimljiv oblik jednadbe eliptike
krivulje. Zanimljivost kod tog oblika jest da doputa jednistvene formule za
zbrajanje toaka, tj. ne treba razlikovati sluajeve P + Q, P ,= Q i P + P.
Nadalje, pokazalo se da taj oblik nudi i neke prednosti kod implementacije
(manji broj mnoenja u polju za raunanje zbroja toaka). Stoga su Ed-
wardsove koordinate predmet vrlo velikog interesa i istraivanja u zadnje
dvije godine (vidi npr.
http://www.hyperelliptic.org/tanja/newelliptic/newelliptic.html).
I ovdje je potrebno razlikovati sluaj karakteristike 2. Stoga emo ovdje
dati Edwardsovu jednadbu samo za sluaj polja karakteristike razliite od
2.
Propozicija 2.2. Neka je K polje karakteristike razliite od 2. Neka su c, d
K

i d nije kvadrat u K. Tada je krivulja


C : u
2
+v
2
= c
2
(1 +du
2
v
2
)
Algoritmi za eliptike krivulje 20
izomorfna eliptikoj krivulji
E : y
2
= (x c
4
d 1)(x
2
4c
4
d),
pri emu su pripadne supstitucije dane sa
x =
2c(w c)
u
2
, y =
4c
2
(w c) + 2c(c
4
d + 1)u
2
u
3
,
gdje je w = (c
2
du
2
1)v.
Toka (0, c) je neutralni element za zbrajanje na krivulji C. Suprotni el-
ement od (u, v) je (u, v) = (u, v), a zakon zbrajanja je dan sljedeom
formulom:
(u
1
, v
1
) + (u
2
, v
2
) =
_
u
1
v
2
+u
2
v
1
c(1 +du
1
u
2
v
1
v
2
)
,
v
1
v
2
u
1
u
2
c(1 du
1
u
2
v
1
v
2
)
_
,
za sve toke (u
i
, v
i
) C(K).
u
2
+v
2
= 4(1 u
2
v
2
)
Jednadba krivulje C moe se zapisati u obliku
u
2
c
2
= (c
2
du
2
1)v
2
=
w
2
c
2
du
2
1
,
odnosno
w
2
= c
2
du
4
(c
4
d + 1)u
2
+c
2
.
Ova se kvartika, s racionalnom tokom (0, c), sada na gore opisani nain
moe transformirati u Weierstrassovu jednadbu.
Provjerimo da su nazivnici u formuli za zbrajanje razliiti od 0. Pret-
postavimo da je du
1
u
2
v
1
v
2
= 1 (sluaj du
1
u
2
v
1
v
2
= 1 je slian). Tada je
u
1
v
1
=
1
du
2
v
2
, te uvrtavanjem u jednadbu od C dobivamo:
u
2
1
+v
2
1
= c
2
_
1 +
1
du
2
2
v
2
2
_
=
u
2
2
+v
2
2
du
2
2
v
2
2
.
Algoritmi za eliptike krivulje 21
Odavde je
(u
1
+v
1
)
2
=
1
d
_
u
2
2
+v
2
2
2u
2
v
2
u
2
2
v
2
2
_
=
1
d
(u
2
v
2
)
2
(u
2
v
2
)
2
.
Budui da po pretpostavci d nije kvadrat, odavde slijedi da je u
1
+ v
1
=
u
2
v
2
= 0. Analogno se iz
(u
1
v
1
)
2
=
1
d
(u
2
+v
2
)
2
(u
2
v
2
)
2
dobiva u
1
v
1
= u
2
+ v
2
= 0. Dobili smo da je u
1
= v
1
= u
2
= v
2
= 0, to
je u kontradikciji s du
1
u
2
v
1
v
2
= 1.
2.2 Minimalna Weierstrassova jednadba
Vratimo se sada na Weierstrassovu jednadbu
y
2
+a
1
xy +a
3
y = x
3
+a
2
x
2
+a
4
x +a
6
.
Pomou njenih koecijenata a
1
, a
2
, a
3
, a
4
, a
6
, u prethodnom poglavlju deni-
rali smo veliine b
2
, b
4
, b
6
, b
8
, c
4
, c
6
. Pomou njih moemo denirati jo dvije
vane veliine:
diskriminantu = b
2
2
b
8
8b
3
4
27b
2
6
+ 9b
2
b
4
b
6
=
c
3
4
c
2
6
1728
,
j-invarijantu j =
c
3
4

.
Krivulja je nesingularna ako i samo ako je ,= 0. Ovako denirana diskrim-
inanta je jednaka 16 (diskriminanta polinoma 4x
3
+ b
2
x
2
+ 2b
4
x + b
6
).
Openito se diskriminanta polinoma f stupnja n s vodeim koecijentom a
n
i korijenima x
1
, . . . , x
n
(iz K) denira kao
Dis(f) = (1)
n(n1)/2
Resultant(f, f

)/a
n
= a
2n2
n
n

i<j
(x
i
x
j
)
2
i jednaka je 0 ako i samo ako f i f

imaju zajednikih korijena, tj. ako i samo


ako f ima viestrukih korijena. Ako je eliptika krivulja dana jednadbom
y
2
= x
3
+ ax + b, onda je = 16(4a
3
+ 27b
2
). Za krivulje denirane nad
R, predznak diskriminante nam govori koliko komponenti ima graf krivulje:
ako je < 0, onda imamo jednu komponentu, a ako je > 0, onda imamo
dvije komponente.
Naziv j-invarijanta dolazi od toga to izomorfne krivulje imaju iste j-
invarijante. Najopenitiji oblik izomorzma izmeu dvaju eliptikih krivulja
danih opom Weierstrassovom formom je
x = u
2
x

+r,
y = u
3
y

+su
2
x

+t,
Algoritmi za eliptike krivulje 22
gdje je r, s, t Q i u Q

. Efekt ovih supstitucija na koecijente a


i
je
ua

1
= a
1
+ 2s,
u
2
a

2
= a
2
sa
1
+ 3r s
2
,
u
3
a

3
= a
3
+ra
1
+ 2t,
u
4
a

4
= a
4
sa
3
+ 2ra
2
(t +rs)a
1
+ 3r
2
2st,
u
6
a

6
= a
6
+ra
4
+r
2
a
2
+r
3
ta
3
t
2
rta
1
,
odakle se dobiva da vrijedi
u
4
c

4
= c
4
, u
6
c

6
= c
6
, u
12

= , j

= j.
U sluaju kratkih Weierstrassovih formi jedine dopustive supstitucije su
x = u
2
x

, y = u
3
y

, u Q

.
Vrijedi i svojevrstan obrat ovog svojstva j-invarijanti. Naime, dvije eliptike
krivulje su izomorfne nad algebarskim proirenjem Q ako i samo ako imaju
istu j-invarijantu.
Ako promatramo krivulje nad algebarski zatvorenim poljem, onda nam
j-invarijanta govori jesu li krivulje izomorfne. No, ako polje nije algebarski
zatvoreno, primjerice ako su promatramo krivulje nad Q, onda dvije krivulje
mogu imati jednake j-invarijante, ali da se ne mogu transformirati jedna u
drugu pomou racionalnih funkcija s koecijentima iz Q. Na primjer, krivulje
y
2
= x
3
4x i y
2
= x
3
25x obje imaju j = 1728. Prva od njih ima
konano mnogo racionalnih toaka, dok ih druga ima beskonano mnogo
(toka (4, 6) je beskonanog reda). Dakle, ove krivulje nisu izomorfne nad
Q, ali jesu nad Q(

10) (supstitucije su (x, y) (u


2
x, u
3
y), u =

10
2
).
Za j ,= 0, 1728, krivulja
y
2
= x
3
+
3j
j 1728
x +
2j
j 1728
ima j-invarijantu upravo jednaku j. Krivulje oblika y
2
= x
3
+ b imaju j-
invarijantu jednaku 0, dok krivulje oblika y
2
= x
3
+ ax imaju j invarijantu
jednaku 1728 = 12
3
.
Neka je E eliptika krivulja denirana nad Q. Promjenom varijabli, ako
je potrebno, moemo pretpostaviti da je E dana jednadbom
y
2
= x
3
+ax +b, (2.7)
gdje su a, b Z. Za prost broj p > 3, moemo promatrati jednadbu
y
2
= x
3
+ ax + b (mod p). Ako je ovom jednadbom denirana eliptika
krivulja nad poljem F
p
, onda kaemo da E ima dobru redukciju modulo p.
Algoritmi za eliptike krivulje 23
Kod prostih brojeva s loom redukcijom, kubni polinom x
3
+ ax + b ima
viestruki korijen modulo p. Ako polinom ima trostruki korijen, kaemo da
E ima aditivnu redukciju, a ako polinom ima dvostruki korijen, onda kaemo
da E ima multiplikativnu redukciju. Dodatno se razlikuje rascjepiva i nerasc-
jepiva multiplikativna redukcija. Rascjepiva je ako su koecijenti smjera tan-
genata u singularnoj toki iz F
p
, a nerascjepiva inae. Ovo posljednje se moe
odrediti tako da se jednadba krivulje napie u obliku y
2
= x
2
(x + c). Jed-
nadbe tangenti u singularnoj toki (0, 0) su y =

cx, pa vidimo da emo


imati rascjepivu multiplikativnu redukciju ako i samo ako je c kvadrat u F
p
.
Uoimo da za krivulju E postoji vie izbora za a, b Z u prikazu (2.7).
U gornjim (neformalnim) denicijama pretpostavljamo da su a, b izabrani
tako da E ima najbolja mogua svojstva. Dakle, za svaki p traimo a, b
sa svojstvom da kubni polinom x
3
+ ax + b ima to vie razliitih korijena
modulo p, te da je diskriminanta 16(4a
3
+ 27b
2
) djeljiva sa to manjom
potencijom broja p. Kaemo da je takva jednadba minimalna za p. Pokazuje
se da je mogue izabrati takve a, b koji imaju ovo svojstvo da sve p. Pripadna
jednadba se naziva (globalna) minimalna Weirstrassova jednadba od E.
Da bi se analogni pojmovi denirali za p = 2 i p = 3, trebamo gledati
opu (dugu) Weierstrassovu formu.
Primjer 2.2. Promotrimo eliptiku krivulju nad Q zadanu jednadbom
y
2
= x
3
270000x + 128250000.
Njezina diskriminanta je = 2
12
3
12
5
12
11. Zakljuujemo da E ima do-
bru redukciju svugdje, osim moda u 2, 3, 5, 11. Takoer, odmah vidimo da
se loa redukcija u p = 11 nee moi ukloniti (jer se diskriminante izomorfnih
krivulja razlikuju za faktor u
12
), dok je za 2, 3, 5 to moda mogue. Supsti-
tucijama
x = 25x
1
, y = 125y
1
dobivamo jednadbu
y
2
1
= x
3
1
432x
1
+ 8208,
ija je diskriminanta 2
12
3
12
11, pa E ima dobru redukciju u 5.
Kod razmatranja redukcije u 2 i 3 morat emo odustati od kratke Weier-
strassove forme. Supstitucijama
x
1
= 9x
2
12, y
1
= 27y
2
dobivamo jednadbu
y
2
2
= x
3
2
4x
2
2
+ 16, (2.8)
ija je diskriminanta 2
12
11, pa E ima dobru redukciju i u 3.
Konano, supstitucijom
x
2
= 4x
3
, y
2
= 8y
3
+ 4
Algoritmi za eliptike krivulje 24
dobivamo jednadbu
y
2
3
+y
3
= x
3
3
x
2
3
. (2.9)
Ova krivulja je nesingularna za p = 2, jer joj je diskriminanta jednaka 11
(drugi nain da se to vidi je iz parcijalne derivacije po y, tj. 2y +1 = 1, koja
je uvijek razliita od nule). Stoga E ima dobru redukciju u 2.
Zakljuujemo da E ima dobru redukciju u svim prostim brojevima, osim
u p = 11, gdje ima lou redukciju. Jednadba (2.9) je minimalna Weier-
strassova jednadba od E.
Promotrimo jo malo situaciju za p = 11, i to preko jednadbe (2.8). U
F
11
imamo:
x
3
2
4x
2
2
+ 16 = (x
2
+ 1)
2
(x
2
+ 5),
pa vidimo da E ima multiplikativnu redukciju u p = 11. Tangente u sin-
gularnoj toki (x
2
, y
2
) = (1, 0) imaju koecijente smjera 2 F
11
(jer
jednadba
2
= 4 ima rjeenja u F
11
), pa E ima rascjepivu multiplikativnu
redukciju u p = 11.
Globalna minimalna jednadba od E ima svojstvo da joj je [[ mini-
malno meu svim cjelobrojnim modelima od E. U izomorzmu izmeu dvije
minimalne jednadbe mora biti u = 1, dok su r, s, t Z. Izborom para-
metara r, s, t uvijek se moe postii da je a
1
, a
3
0, 1, a
2
1, 0, 1.
Jednadba koja zadovoljava ove uvjete zove se reducirana. Nije teko za vid-
jeti da je jedina transformacija (osim identitete) koja jednu reduciranu jed-
nadbu preslikava u drugu reduciranu jednadbu transformacija (r, s, t, u) =
(0, a
1
, a
3
, 1); to je transformacija koja toki (x, y) pridruuje njezin in-
verz (x, y) = (x, y a
1
x a
3
) i ne mijenja jednadbu.
Zakljuujemo da svaka eliptika krivulja ima jedinstvenu reduciranu mini-
malnu Weierstrassovu jednadbu. Ova injenica omoguava vrlo lako razliko-
vanje krivulja. Tako da se u razliitim tablicama s podacima o konkretnim
eliptikim krivuljama najee nalaze samo podaci za reducirane minimalne
jednadbe.
Neka je eliptika krivulja dana jednadbom s cjelobrojnim koecijentima.
Ako je ord
p
() < 12 ili ord
p
(c
4
) < 4 ili ord
p
(c
6
) < 6, onda je ta jednadba
minimalna za prost broj p. Ako je p ,= 2, 3, onda vrijedi i obrat: ako je
ord
p
() 12 i ord
p
(c
4
) 4, onda jednadba nije minimalna za p. Situacija
s p = 2 i p = 3 je kompliciranija. Tu se minimalna jednadba za p moe
izraunati Tateovim algoritmom. To je algoritam koji rauna minimalne jed-
nadbe za svaki p, globalnu minimalnu jednadbu, konduktor, Kodairine
simbole, te lokalne indekse c
p
.
Za krivulju deniranu nad Q se denira veliina povezana s diskriminan-
tom koja se naziva konduktor:
N =

p
p
f
p
,
Algoritmi za eliptike krivulje 25
gdje je f
p
= ord
p
() + 1 n
p
, a n
p
je broj povezan s tzv. minimalnim
Nronovim modelom od E u p. Ako je p ,= 2, 3, onda se f
p
moe lako odrediti
iz minimalnog Weierstrassovog modela za E:
f
p
= 0 ako p ;
f
p
= 1 ako p[ i p c
4
;
f
p
2 ako p[ i p[c
4
; ako je p ,= 2, 3, onda je f
p
= 2.
Ako elimo samo nai globalnu minimalnu Weierstrassovu jednadbu, a
nisu nam potrebni ostali lokalni podaci koje daje Tateov algoritam, onda se
moe koristiti dosta jednostavniji Laska-Kraus-Connellov algoritam.
Originalni Laskin algoritam kree od jednadbe s cjelobrojnim koecijen-
tima. Zatim za sve prirodne brojeve u, takve da su c

4
= c
4
/u
4
i c

6
= c
6
/u
6
cijeli brojevi, testira jesu li c

4
i c

6
c-koecijenti neke eliptike krivulje deni-
rane nad Z. U ovom testiranju su korisni Krausovi uvjeti:
Propozicija 2.3. Neka su c
4
i c
6
cijeli brojevi takvi da je =
c
3
4
c
2
6
1728
cijeli
broj razliit od 0. Da bi postojala eliptika krivulja E s cjelobrojnim koeci-
jentima a
1
, a
2
, a
3
, a
4
, a
6
u Weierstrassovoj formi iji su c-koecijenti upravo
c
4
i c
6
, nuno je i dovoljno da vrijedi
1) c
6
, 9 (mod 27);
2) ili je c
6
1 (mod 4), ili je c
4
0 (mod 16) i c
6
0, 8 (mod 32).
Ako su Krausovi uvjeti ispunjeni, onda se koecijenti a
i
reduciranog min-
imalnog modela dobivaju na sljedei nain:
b
2
= c
6
mod 12 5, 4, . . . , 5, 6;
b
4
= (b
2
2
c
4
)/24;
b
6
= (b
3
2
+ 36b
2
b
4
c
6
)/216;
a
1
= b
2
mod 2 0, 1;
a
3
= b
6
mod 2 0, 1;
a
2
= (b
2
a
1
)/4;
a
4
= (b
4
a
1
a
3
)/2;
a
6
= (b
6
a
3
)/4.
Krausovi uvjeti osiguravaju da su sva dijeljenja koja se pojavljuju u ovim
formulama dijeljenja bez ostatka. Formule slijede direktno iz formula koje
povezuju a-koecijente, b-koecijente i c-koecijente, te iz pretpostavke da su
a
i
-ovi koecijenti reduciranog modela. Naime, iz a
1
0, 1, a
2
1, 0, 1
slijedi da je b
2
= a
2
1
+4a
2
4, 3, 0, 1, 4, 5. A za takve b
2
vrijedi b
2
b
3
2
(mod 12), pa iz c
6
b
3
2
(mod 12), slijedi da je b
2
= c
6
mod 12.
Algoritmi za eliptike krivulje 26
Laska-Kraus-Conellov algoritam
Ulazni podaci: c
4
, c
6
Izlazni podaci: a
1
, a
2
, a
3
, a
4
, a
6
= (c
3
4
c
2
6
)/1728;
u = 1; g = nzd(c
2
6
, );
plist = primedivisors(g);
for p in plist do
d = ord
p
(g)/12|;
if p = 2 then
a = c
4
/2
2d
mod 16; b = c
6
/2
6d
mod 32;
if (b mod 4 ,= 1) and not (a = 0 and (b = 0 or b = 8))
then d = d 1
else if p = 3 then if ord
3
(c
6
) = 6d + 2 then d = d 1
u = up
d
c
4
= c
4
/u
4
; c
6
= c
6
/u
6
;
b
2
= c
6
mod 12; b
4
= (b
2
2
c
4
)/24; b
6
= (b
3
2
+36b
2
b
4
c
6
)/216;
a
1
= b
2
mod 2;
a
3
= b
6
mod 2;
a
2
= (b
2
a
1
)/4;
a
4
= (b
4
a
1
a
3
)/2;
a
6
= (b
6
a
3
)/4
U tablicama eliptikih krivulja, od kojih su najpoznatije one Cremonine
(http://www.warwick.ac.uk/masgaj/book/fulltext/index.html,
http://www.warwick.ac.uk/staff/J.E.Cremona/ftp/data/INDEX.html,
http://www.math.utexas.edu/users/tornaria/cnt/cremona.html),
uglavnom se navode samo minimalne Weierstrassove jednadbe krivulje, dok
su krivulje obino sortirane prema svom konduktoru. Najmanji N za kojeg
postoje krivulje s konduktorom jednakim N je N = 11. Sljedee krivulje
imaju konduktor 11:
y
2
+y = x
3
x
2
,
y
2
+y = x
3
x
2
10x 20,
y
2
+y = x
3
x
2
7820x 263580.
Diskriminante su im redom: 11, 11
5
, 11. Prve dvije imaju toke reda 5,
dok zadnja nema netrivijalnih racionalnih toaka. Trea krivulja je zanimljiva
i po tome to predstavlja jedini poznati primjer krivulje ija minimalna jed-
nadba zadovoljava [a
4
[ >
3
.
Algoritmi za eliptike krivulje 27
Sljedee mogunosti za konduktor su N = 14, 15, 17, 20, 21, 24, 26, . . ..
Sve krivulje s konduktorom manjim od 37 imaju samo konano mnogo racional-
nih toaka (imaju rang jednak 0). Jedna od krivulja s konduktorom 37,
y
2
+y = x
3
x,
ima toku beskonanog reda (0, 0) (i rang jednak 1).
2.3 Eliptike krivulje u programskom paketu PARI/GP
U programskom paketu PARI/GP (http://pari.math.u-bordeaux.fr/) im-
plementiran je vei broj vanijih funkcija vezanih uz eliptike krivulje. Sada
emo navesti samo neke, dok emo ostale spomenuti onda kada se prirodno
pojave u gradivu koje emo obraivati (popis svih funkcija vezanih uz elip-
tike krivulje moe se dobiti sa ?5).
Pretpostavljamo da je krivulja dana u Weierstrassovoj formi
y
2
+a
1
xy +a
3
y = x
3
+a
2
x
2
+a
4
x +a
6
,
te ju u PARI-ju reprezentiramo kao pet-komponentni vektor
e = [a
1
, a
2
, a
3
, a
4
, a
6
].
Toke na E su reprezentirane kao dvo-komponentni vektori [x, y], osim toke
u beskonanosti koja je reprezentirana kao jedno-komponentni vektor [0].
Prije primjene bilo koje od ostalih funkcija, eliptiku krivulje inicijal-
iziramo pomou funkcije ellinit.
E = ellinit(e): rauna sljedee podatke za eliptiku krivulju nad Q:
a
1
, a
2
, a
3
, a
4
, a
6
, b
2
, b
4
, b
6
, b
8
, c
4
, c
6
, , j.
Npr. diskriminanta od E se moe dobiti kao E[12] ili E.disc, dok je j-
invarijanta E[13] ili E.j. Koecijenti c
4
i c
6
se dobivaju kao E.c4 i E.c6.
Sljedeih 6 podataka je opcionalno (i ovise nad kojim poljem je denirana
krivulja, a ako ih ne trebamo, onda moemo koristiti ellinit(E, 1)):
E[14] ili E.roots je vektor ije su komponente korijeni polinoma na
desnoj strani pridruene Weierstrassove jednadbe
(y +a
1
x/2 +a
3
/2)
2
= g(x).
E[15] ili E.omega[1] je realni, a E[16] ili E.omega[2] je kompleksni pe-
riod od E. Drugim rijeima,
1
= E[15] i
2
= E[16] ine bazu kom-
pleksne reetke od E.
E[17] i E[18] (ili E.eta) su vrijednosti
1
i
2
za koje vrijedi
1

2
= i.
Algoritmi za eliptike krivulje 28
E[19] ili E.area je povrina fundamentalnog paralelograma od E.
elladd(E, P1, P2): zbroj toaka P1 i P2 na eliptikoj krivulji E.
ellsub(E, P1, P2): razlika P1 P2 toaka na eliptikoj krivulji E.
ellpow(E, P, n): viekratnik nP toke P na eliptikoj krivulji E.
ellordinate(E, x): daje vektor koji sadri y-koordinate toka na eliptikoj
krivulji E ija je x-koordinata jednaka x.
ellisoncurve(E, P): daje 1 (tj. istina) ako je P toka na E, a 0 (tj. la)
inae.
ellchangecurve(E, v): daje eliptiku krivulju koja se iz E dobije pomou
supstitucija koje su odreene vektorom v = [u, r, s, t], tj. veza starih koordi-
nata x, y i novih x

, y

je dana sa x = u
2
x

+r, y = u
3
y

+su
2
x

+t.
ellminimalmodel(E, &v): daje reducirani minimalni model za eliptiku krivulju
nad Q. Opcionalnoj varijabli v pridruuje se vektor [u, r, s, t] koji daje odgo-
varajuu promjenu varijabli, tako da je krivulja koja se dobije pomou ove
funkcije upravo ellchangecurve(E, v).
ellglobalred(E): rauna konduktor, globalni minimalni model od E i glob-
alni Tamagawin broj c. Rezultat ove funkcije je tro-komponentni vektor
[N, v, c], gdje je N konduktor, v daje promjenu varijabli pomou koje se
iz E dobiva minimalni integralni model (ellminimalmodel), dok je c pro-
dukt lokalnih Tamagawinih brojeva c
p
, to je veliina koja se pojavljuje u
eksplicitnoj verziji Birch i Swinnerton-Dyerove slutnje.
ellwp(E, z = x): rauna vrijednost u z Weierstrassove funkcije pridrune
eliptikoj krivulji E (zadanoj sa ellinit ili kao reetka [
1
,
2
]).
ellpointtoz(E, P): rauna kompleksan broj t (modulo reetka odreena sa
E) koji odgovara toki P (njezin parametar), tj. (t) = P[1],

(t) = P[2].
ellztopoint(E, z): rauna koordinate [x, y] toke na eliptikoj krivulji E
koja odgovara kompleksnom broju z. Dakle, ovo je inverzna funkcija od
ellpointtoz. Toka [x, y] prikazuje vrijednost Weierstrassove funkcije i
njezine derivacije u toki z. Ako je z toka reetke koja denira E nad C,
onda je rezultat ove funkcije toka u beskonanosti [0].
Primjer 2.3. Ilustrirat emo koritenje nekih funkcija iz PARI-ja na prim-
jeru eliptike krivulje iz Primjera 2.9.
? E=ellinit([0,0,0,-270000,128250000],1)
%1 = [0, 0, 0, -270000, 128250000, 0, -540000, 513000000, -72900000000,
12960000, -110808000000, -5845851000000000000, -4096/11]
? factor(E.disc)
%2 = [-1 1] [2 12] [3 12] [5 12] [11 1]
Algoritmi za eliptike krivulje 29
? F=ellminimalmodel(E, &v);
? [F.a1,F.a2,F.a3,F.a4,F.a6]
%3 = [0, -1, 1, 0, 0]
? v
%4 = [30, -300, 0, 13500]
? ellordinate(F,0)
%5 = [0, -1]
? P = [0, 0]; for(n=2,5,print(ellpow(F,P,n)))
[1, -1] [1, 0] [0, -1] [0]
Primjer 2.4. U ovom primjeru emo uzeti krivulju
y
2
+y = x
3
x,
za koju smo rekli da je krivulja s najmanjim konduktorom koja ima beskon-
ano mnogo cjelobrojnih toaka.
? E=ellinit([0,0,1,-1,0],1)
%1 = [0, 0, 1, -1, 0, 0, -2, 1, -1, 48, -216, 37, 110592/37]
? P = [0,0]
%2 = [0,0]
? ellisoncurve(E,P)
%3 = 1
? for(n=2,8,print(ellpow(E,P,n)))
[1, 0] [-1, -1] [2, -3] [1/4, -5/8] [6, 14] [-5/9, 8/27] [21/25,
-69/125]
? E=ellinit([0,0,1,-1,0]);
? t1 = ellpointtoz(E,P)
%4 = 0.92959271528539567440519934445895800606 +
1.2256946909933950304271124159332626127*I
? t2 = ellpointtoz(E,[2, -3])
%5 = 0.72491221490962306778878739838332384646 +
1.5930919111324522771 E-58*I
? t2 - 4*t1
%6 = -2.9934586462319596298320099794525081778 -
4.9027787639735801217084496637330504507*I
? E.omega[1]
%7 = 2.9934586462319596298320099794525081778
? 2*E.omega[2]
4.9027787639735801217084496637330504507*I
? G=ellglobalred(E)
%8 = [37, [1, 0, 0, 0], 1]
? cond = G[1]
%9 = 37
Algoritmi za eliptike krivulje 30
2.4 Raunanje torzijske grupe
Najvanija injenica o eliptikim krivuljama nad Q jest Mordell-Weilov teo-
rem.
Teorem 2.1 (Mordell-Weil). Grupa E(Q) je konano generirana Abelova
grupa.
Mordell-Weilov teorem nam, drugim rijeima, kae da postoji konaan
skup racionalnih toaka P
1
, . . . , P
k
na E iz kojih se sve ostale racionalne toke
na E mogu dobiti povlaei sekante i tangente. Kako je svaka konano generi-
rana abelova grupa izomorfna produktu ciklikih grupa (preciznije, produktu
oblika Z
n
Z
k
1
Z
k
m
tako da k
1
[ k
2
[ [ k
m
, gdje je Z
k
= Z/kZ),
dobivamo sljedeu neposrednu posljedicu Mordell-Weilovog teorema.
Korolar 2.1.
E(Q)

= E(Q)
tors
Z
r
Podgrupa E(Q)
tors
od E(Q) koja se sastoji od svih toaka konanog reda
naziva se torzijska grupa od E, a nenegativni cijeli broj r se naziva rang od
E i oznaava se s rank(E) (preciznije rank(E(Q))). Korolar nam kae da
postoji r racionalnih toaka P
1
, . . . , P
r
beskonanog reda na krivulji E sa
svojstvom da se svaka racionalna toka P na E moe prikazati u obliku
P = T +m
1
P
1
+ +m
r
P
r
,
gdje je T neka toka konanog reda, a m
1
, . . . , m
r
cijeli brojevi. Ovdje m
1
P
1
oznaava sumu P
1
+ +P
1
od m
1
pribrojnika, koja se esto oznaava i sa
[m
1
]P
1
.
Postavlja se pitanje koje sve vrijednosti mogu poprimiti E(Q)
tors
i rank(E).
Nadalje, pitanje je kako ih izraunati za konkretnu krivulju E. Pokazuje se
da je puno lake dati odgovore na ova pitanja za torzijsku grupu, nego za
rang.
Promotrimo na trenutak toke konanog reda nad C i R. Rekli smo da
se eliptika krivulja nad C moe poistovijetiti s kvocijentnom grupom C/L,
gdje je L = m
1

1
+m
2

2
: m
1
, m
2
Z. Stoga je nP = O ako i samo ako
je parametar od P oblika
m
1
n

1
+
m
2
n

2
, 0 m
1
, m
2
< n. Dakle, rjeenja
jednadbe nP = O ine grupu izomorfnu sa Z
n
Z
n
.
Openito se za krivulju E nad poljem K i prirodan broj n denira
E[n] = P E(K) : nP = O.
Moe se pokazati da vrijedi:
ako karakteristika od K ne dijeli n ili je jednaka 0, onda je E[n]

=
Z
n
Z
n
;
Algoritmi za eliptike krivulje 31
ako karakteristika p od K dijeli n i n = p
r
n

uz p n

, onda je E[n]

=
Z
n
Z
n
ili E[n]

= Z
n
Z
n
.
U sluaju krivulje s realnim koecijentima, jedan od perioda, recimo
1
,
je realan, dok je drugi,
2
, isto imaginaran. Tokama iz E(R) odgovaraju
parametri t [0,
1
), te u sluaju kad graf od E ima dvije komponente jo i
t
1
2

2
[0,
1
). Dakle, grupa E(R) je izomorfna ili grupi krunice S
1
(kada
je < 0) ili Z
2
S
1
(kada je > 0). Rjeenja jednadbe nP = O ine
grupu izomorfnu sa Z
n
ili Z
2
Z
n
.
Vratimo se sada na krivulje nad Q. Iz onoga to smo do sada pokazali,
slijedi da bi grupa E(Q)
tors
trebala biti konana podgrupa od S
1
ili Z
2
S
1
.
No, poznato je da su sve konane podgrupe od S
1
ciklike. Stoga je E(Q)
tors
izomorfno jednoj od grupa oblika Z
k
ili Z
2
Z
2k
(ako je k neparan onda je
Z
2
Z
k

= Z
2k
).
Mazur je 1978. godine dokazao da postoji tono 15 moguih torzijskih
grupa za eliptike krivulje nad Q. To su grupe:
Z
k
, za k = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12
Z
2
Z
k
, za k = 2, 4, 6, 8.
Toke reda 2 na krivulji y
2
= x
3
+ ax
2
+ bx + c, su upravo toke s y-
koordinatom jednakom 0. Moemo imati 0, 1 ili 3 takve toke, to ovisi o
broju racionalnih nultoaka polinoma x
3
+ ax
2
+ bx + c. Te toke, zajedno
s tokom O, ine podgrupu od E(Q)
tors
koja je ili trivijalna ili jednaka Z
2
ili jednaka Z
2
Z
2
. Ostale toke konanog reda moemo nai pomou Lutz-
Nagellovog teorema. Ideja je nai model krivulje u kome e sve torzijske toke
biti cjelobrojne. To je upravo model s jednadbom y
2
= x
3
+ ax
2
+ bx + c
kojeg dobijemo s ope Weierstrassove jednadbe eliminirajui lanove uz
xy i y (supstitucijama s u = 2 ako je potrebno). Ako je a
1
= a
3
= 0,
onda ve Weierstrassova jednadba ima eljeni oblik; inae stavimo a =
b
2
, b = 8b
4
, c = 16b
6
. Potom se za torzijsku toku P = (x, y) iskoristi
injenica da i P i 2P imaju cjelobrojne koordinate da bi se dobila ocjena
za y. esto se Lutz-Nagellov teorem navodi na jednadbu oblika y
2
= x
3
+
ax +b, to nije gubitak openitosti budui da se lan uz x
2
moe eliminirati
nadopunjavanjem na potpun kub, meutim, to eliminiraniranje ukljuuje
dodatno skaliranje koordinata, te za rezultat ima (nepotrebno) veu ocjenu
za y. Primijetimo da kod krivulje s opom Weierstrassovom jednadbom za
toku konanog reda P(x, y) vrijedi da su 4x i 8y cijeli brojevi.
Teorem 2.2 (Lutz-Nagell). Neka je E eliptika krivulja zadana jednadbom
y
2
= f(x) = x
3
+ax
2
+bx +c, (2.10)
gdje su a, b, c Z. Ako je P = (x
1
, y
1
) toka konanog reda u E(Q), tada su
x
1
, y
1
Z.
Algoritmi za eliptike krivulje 32
Propozicija 2.4. Neka je E eliptika krivulja zadana jednadbom (2.10),
gdje su a, b, c Z. Ako je P = (x
1
, y
1
) toka konanog reda u E(Q), tada je
ili y
1
= 0 ili y
2
1
[
0
, gdje je
0
= /16 = 27c
2
+4a
3
c +4b
3
a
2
b
2
18abc.
.
Dokaz: Ako je 2P = O, onda je P = P = (x
1
, y
1
), pa je y
1
= 0. U
protivnom je 2P = (x
2
, y
2
), gdje je po Lutz-Nagellovom teoremu x
2
, y
2
Z.
Iz formule za zbrajanje na E imamo 2x
1
+ x
2
=
2
a, gdje je =
f

(x
1
)
2y
1
koecijent smjera tangente na E u toki P. Vidimo da je Z, to povlai
da je y
1
[f

(x
1
). Sada iz formule

0
= (27f(x) + 54c + 4a
3
18ab)f(x) + (f

(x) + 3b a
2
)f

(x)
2
(2.11)
i y
2
1
= f(x
1
) slijedi da y
2
1
[
0
. Formula (2.11) se dobije primjenom (proirenog)
Euklidovog algoritma na polinome f(x) i (f

(x))
2
(u PARI-ju, funkcija bezout(f, g)
daje 3-komponentni vektor [u, v, d] tako da je d = nzd(f, g), te u f +v g =
d).
Lutz-Nagellov teorem nam daje konanu listu kandidata za torzijske
toke. Tonije, daje nam kandidate za y-koordinate toaka. No, da dani y,
nije teko nai cjelobrojna rjeenja jednadbe x
3
+ax
2
+bx +c y
2
= 0 (ili
ispitivanjem faktora od y
2
c ili preko Cardanovih formula za rjeenja kubne
jednadbe). Ako je P torzijska toka, onda za svaki prirodan broj n, toka
nP mora biti ili O ili jedna od toaka s liste. Budui je lista konana, ili emo
dobiti da je nP = mP za neke m ,= n, u kojem je sluaju (n m)P = O i
toka P torzijska, ili e neki viekratnik nP biti izvan liste pa P nije torzi-
jska. Alternativno, moemo koristiti i Mazurov teorem, po kojem je red svake
torzijske toke 12. Stoga, ako je nP ,= O za n 12, onda P nije torzijska.
Primijetimo da je za krivulju oblika y
2
= x
3
+ax +b,
0
= 4a
3
+ 27b
2
.
Pretpostavimo da smo nali sve torzijske toke, te da nakon toga elimo
odrediti strukturu torzijske grupe. Prema Mazurovom teoremu jedini slua-
jevi kada red grupe ne odreuje u potpunosti strukturu grupe su sluajevi
[E(Q)
tors
[ = 4, 8 i 12, kada imamo dvije mogunosti: Z
4k
ili Z
2
Z
2k
. Ako
imamo jednu toku reda 2, onda je E(Q)
tors

= Z
4k
, a ako imamo tri toke
reda dva, onda je E(Q)
tors

= Z
2
Z
2k
.
Primjer 2.5. Odredimo torzijsku grupu eliptike krivulje
E : y
2
= x
3
+x.
Rjeenje: Imamo
0
= 4. Stoga svaka torzijska toka P = (x, y) mora
zadovoljavati ili y = 0, ili y[2. Dakle, y 0, 1, 1, 2, 2. Lako se vidi
da jednadbe x
3
+ x = 1 i x
3
+ x = 4 nemaju cjelobrojnih rjeenja, dok
je x = 0 jedino cjelobrojno rjeenje jednadbe x
3
+ x = 0. To znai da je
E(Q)
tors
= O, (0, 0)

= Z
2
.
Algoritmi za eliptike krivulje 33
Primjer 2.6. Odredimo torzijsku grupu eliptike krivulje
E : y
2
= x
3
+ 8.
Rjeenje: Ovdje je
0
= 1728. Ako je y = 0, onda je x = 2, pa imamo
toku (0, 2) reda 2. Ako je y ,= 0, onda y
2
[1728, tj. y[24. Testiranjem svih
mogunosti, nalazimo sljedee dvije toke s cjelobrojnim koordinatama: P
1
=
(1, 3), P
2
= (2, 4), P
1
= (1, 3), P
2
= (2, 4). Raunajui viekratnike
dobivamo
2P
1
=
_

7
4
,
13
8
_
, 2P
2
=
_

7
4
,
13
8
_
.
Budui da koordinate toaka 2P
1
i 2P
2
nisu cjelobrojne, zakljuujemo da su
toke P
1
i P
2
beskonanog reda. Dakle, E(Q)
tors
= O, (0, 2)

= Z
2
.
Problem s primjenom Lutz-Nagellovog teorem moe se javiti ukoliko je
teko faktorizirati diskriminantu , ili ukoliko ona ima jako puno kvadratnih
faktora.
Tada nam moe pomoi sljedea injenica
Propozicija 2.5. Neka je E eliptika krivulja zadana jednadbom
y
2
= f(x) = x
3
+ax
2
+bx +c,
gdje su a, b, c Z. Neka je p neparan prost broj takav da p
0
, te neka je

p
: E(Q) E(F
p
)
redukcija modulo p. Ako je toka P E(Q) konanog reda i
p
(P) = O,
onda je P = O.
Dokaz: Po Lutz-Nagellovom teoremu sve torzijske toke (osim O) imaju
cjelobrojne koordinate, pa se kod redukcije modulo p ne reduciraju u O.
Po Propoziciji 2.5, jezgra restrikcije preslikavanja
p
na E(Q)
tors
je triv-
ijalna. Slika te restrikcije je podgrupa od E(F
p
), pa kako red podrupe dijeli
red grupe, zakljuujemo da [E(Q)
tors
[ dijeli [E(F
p
)[. Ako uzmemo nekoliko
vrijednosti od p, tada najvei zajedniki dijelitelj g pripadnih vrijednosti od
[E(F
p
)[ mora biti viekratnik od [E(Q)
tors
[.
Kasnije emo govoriti detaljnije o ekasnim metoda za raunanje reda
od E(F
p
) za velike p-ove. No, u primjenama na raunanje torzijske grupe
p-ovi su u pravilu vrlo mali (biramo najmanje neparne p-ove koji ne dijele
diskriminantu), tako da je tu za raunanje [E(F
p
)[ sasvim zadovoljavajua
sljedea formula pomou Legendreovog simbola:
[E(F
p
)[ = p + 1 +

xF
p
_
x
3
+ax +b
p
_
.
Algoritmi za eliptike krivulje 34
U PARI-ju se [E(F
p
)[ moe dobiti kao p + 1 ellap(E, p). Verzija
ellap(E, p, 1) koristi upravo navedenu formulu pomou Legendreovih sim-
bola, dok ellap(E, p, 0) ili ellap(E, p) koristi Shanks-Mestreovu metodu
koja je ekasnija za p > 100.
Primjer 2.7. Odredimo torzijsku grupu eliptike krivulje
E : y
2
= x
3
+ 18x + 72.
Rjeenje: Ovdje je
0
= 4 18
3
+ 27 72
2
= 16396 = 2
5
3
6
7. Koristei
Lutz-Nagellov teorem trebali bismo testirati sve djelitelje y[108. Umjesto
toga, moemo provjeriti da je [E(F
5
)[ = 5 i [E(F
11
)[ = 8, odakle, budui da
je nzd(5, 8) = 1, direktno slijedi da je torzijska grupa od E(Q) trivijalna.
U prethodnom primjeru je bilo g = 1, pa nismo trebali traiti torzi-
jske toke. Postavlja se pitanje, ukoliko postoje netrivijalne torzijske toke,
moemo li ih nai bez koritenja Lutz-Nagellovog teorema (i pripadne fak-
torizacije). Promatramo djelitelje n od g, krenuvi od najveeg prema naj-
manjem, i traimo toku reda n na E (uzimajui u obzir koji n-ovi su mogui
prema Mazurovom teoremu).
Koristit emo vezu s kompleksnim, odnosno realnim tokama od E. Ve
smo rekli da toke u fundamentalnom paralelogramu koje odgovaraju real-
nim, pa onda i racionalnim, tokama lee na segmentu [0,
1
), te u sluaju
kad graf od E ima dvije komponente jo i na segmentu
1
2

2
+[0,
1
). Duplici-
ranjem toke iz drugog segmenta, dobiva se toka iz prvog segmenta. Dakle,
ako je n neparan, sve toke P reda n dolaze od parametara sa segmenta
[0,
1
). Preciznije, parametar im je oblika
m
n

1
, gdje je nzd(m, n) = 1. Neka
je mm

1 (mod n). Onda je i m

P toka reda n, a njezin parametar je


1
n

1
. Stoga vrijednost (
1
n

1
) mora biti cijeli broj.
Ako je n paran, onda slino kao gore dobivamo da jedan od brojeva
(
1
n

1
), (
1
n

1
+
1
2

2
) ili (
1
n

1
+
1
2

1
+
1
2

2
) mora biti cijeli.
Dakle, algoritam (Doudov algoritam iz 1998. godine) je sljedei: rau-
namo
(
1
n

1
) ako je n neparan ili ako je < 0;
(
1
n

1
), (
1
n

1
+
1
2

2
), (
1
n

1
+
1
2

1
+
1
2

2
) ako je n paran i > 0
za svaki djelitelj od g. Naravno, vrijednost funkcije ne moemo izraunati
egzaktno, ve s odreenom preciznou. Ako naemo da je neka od vrijed-
nosti -funkcije vrlo blizu cijelog broja, onda testiramo hoe li taj cijeli broj
x dati cijelobrojnu vrijednost y koja zadovoljava jednadbu eliptike krivulje.
Za tako dobivenu toku P = (x, y), raunamo nP da provjerimo je li stvarno
P toka reda n. Ako je tako, onda smo dobili najveu cikliku podgrupu
torzijske grupe, te jo samo trebamo vidjeti postoji li neka toka reda 2
koja nije sadrana u toj ciklikoj podgrupi. Ako dobijemo da je nP ,= O,
Algoritmi za eliptike krivulje 35
onda nastavljamo s manjim djeliteljima od g. Ovim postupkom dobivamo
sve torzijske toke od E(Q).
Za primjenu ovog algoritma, trebamo moi ekasno izraunati periode

1
i
2
, a takoer i vrijednost funkcije . Kao to smo ve spominjali, u
PARI-ju postoje gotove funkcije za njihovo raunanje. Rei emo ukratko
neto o algoritmima koji se pritom koriste.
Periode emo dovesti u vezu s eliptikim integralima
K(k) =
_
1
0
dt
_
(1 t
2
)(1 k
2
t
2
)
,
a njihove vrijednosti se ekasno mogu izraunati pomou aritmetiko-geo-
metrijske sredine.
Neka je E eliptika krivulja nad R i pretpostavimo najprije da graf od
E(R) ima dvije komponente. Jednadbu od E moemo zapisati u obliku
y
2
= 4x
3
g
2
x g
3
= 4(x e
1
)(x e
2
)(x e
3
),
gdje su e
1
< e
2
< e
3
realni brojevi. Moemo pretpostaviti da je
1
R,

1
> 0 i
2
iR, (
2
) > 0. Pokazuje se da vrijedi

1
=
_

e
3
dx
_
(x e
1
)(x e
2
)(x e
3
)
=
4

e
3
e
1
+

e
3
e
2
K(k),

2
=
2i

e
3
e
1
+

e
3
e
2
K(
_
1 k
2
),
gdje je
k =

e
3
e
1

e
3
e
2

e
3
e
1
+

e
3
e
2
.
Aritmetiko-geometrijsku sredinu pozitivnih realnih brojeva a i b, uveo
je Gauss, upravo u svrhu raunanja eliptikih integrala. Deniramo dva niza
brojeva (a
n
) i (b
n
) sa
a
0
= a, b
0
= b, a
n
=
1
2
(a
n1
+b
n1
), b
n
=
_
a
n1
b
n1
.
Propozicija 2.6. Pretpostavimo da je a b > 0. Tada vrijedi
b
n1
b
n
a
n
a
n1
, 0 a
n
b
n

1
2
(a
n1
b
n1
).
Stoga limesi lim
n
a
n
i lim
n
b
n
postoje i jednaki su. Nadalje, ako je
b 1, onda vrijedi
a
n
b
n
8

_
a
n1
b
n1
8
_
2
. (2.12)
Algoritmi za eliptike krivulje 36
Zajedniki limes iz prethodne propozicije zove se aritmetiko-geometrijska
sredina (AGM) brojeva a i b, te se oznaava s M(a, b). Zbog M(ca, cb) =
cM(a, b) i M(b, a) = M(a, b), moemo lako postii da je b 1 i a b. Nejed-
nakost (2.12) nam pokazuje da kod aproksimacije M(a, b) pomou a
n
i b
n
,
u svakoj sljedeoj iteracija broj tokih decimalnih mjesta se udvostruuje.
Veza aritmetiko-geometrijske sredine i eliptikih integrala dolazi preko
sljedeeg integrala:
I(a, b) =
_
/2
0
d
_
a
2
cos
2
+b
2
sin
2

.
Pokazuje se da vrijedi:
I
_
a +b
2
,

ab
_
= I(a, b), I(a, b) =
/2
M(a, b)
,
K(k) = I(1,
_
k
2
1) = I(1 +k, 1 k).
Konano, dobivamo vezu perioda i aritmetiko-geometrijske sredine:
w
1
=

M(

e
3
e
1
,

e
3
e
2
)
, w
2
=
i
M(

e
3
e
1
,

e
2
e
1
)
.
U sluaju kada polinom 4x
3
g
2
x g
3
ima samo jedan realni korijen e
1
,
mogu se dobiti sline formule.
Weierstrassova funkcija , koja odgovara reetki , denira se sa
(z) =
1
z
2
+

, =0
_
1
(z )
2

1

2
_
.
Jedan od naina da se ekasno izrauna vrijednost funkcije je pomou
slijedee formule:
(z) =
_
2i

1
_
2
_
1
12
+
u
(1 u)
2
+

n=1
q
n
_
u
(1 q
n
u)
2
+
u
(q
n
u)
2

2
(1 q
n
)
2
_
_
,
gdje je u = e
2iz/
1
, =
2
/
1
i q = e
2i
.
Primjer 2.8. Odredimo torzijsku grupu eliptike krivulje
E : y
2
= x
3
58347x + 3954150.
Rjeenje: Imamo da je 4a
3
+27b
2
= 372386507784192 = 2
18
3
17
11.
Primijetimo da u naem rjeenju neemo koristiti ovu faktorizaciju. Moemo
najprije uzeti p = 5. Dobivamo da je [E(F
5
)[ = 10. Zatim dobivamo [E(F
7
)[ =
10. I bez poznavanja potpune faktorizacije, lako bismo provjeriti da 11 dijeli
diskriminantu. Stoga nastavljamo s p = 13. Dobivamo da je [E(F
13
)[ = 10.
Algoritmi za eliptike krivulje 37
Zatim uzimamo p = 17 i dobivamo da je [E(F
17
)[ = 20. Zakljuujemo da red
torzijske grupe dijeli broj 10. Koristei AGM, raunamo periode

1
= 0.198602 . . .
2
= 0.156713 . . . i.
Odavde dobivamo
= 0.789080 . . . i, q = 0.00702741 . . . .
Raunamo
(
1
10

1
) = 2539.825532 . . . ,
to vidimo da nije blizu cijelog broja. Meutim,
(
1
10

1
+
1
2

2
) = 213.000000 . . .
ima traeno svojstvo i daje nam racionalnu toku
(x, y) = (213, 2592)
na krivulji E (za (
1
10

1
+
1
2

1
+
1
2

2
) se dobije 58.174468 . . .). Sada se lako
provjeri da ova toka ima red 10.
Budui da smo ve prije zakljuili da red torzijske grupe dijeli 10, do-
bivamo da je torzijska grupa izomorfna sa Z
10
s generatorom (213, 2592).
Konano raunamo viekratnike ove toke i dobivamo
E(Q)
tors
= O, (213, 2592), (651, 15552), (3, 1944), (219, 1296), (75, 0),
(219, 1296), (3, 1944), (641, 15552), (213, 2592).

Metode za odreivanje torzijske grupe eliptike krivulje nad Q koje smo


opisali u ovom poglavlju implementirane su u programskom paketu PARI/GP
preko funkcije elltors. Verzija elltors(E, 1) koristi Lutz-Nagellov teorem,
dok elltors(E, 0) ili elltors(E) koristi Doudov algoritam. Rezultat je 3-
komponentni vektor [t, v1, v2], gdje je t red torzijske grupe, v1 daje strukturu
torzijske grupe kao produkta ciklikih grupa, dok v2 daje generatore tih cik-
likih grupa.
2.5 Konstrukcija krivulja sa zadanom torzijskom
grupom
Ve smo spomenuli da je 1978. godine Mazur dokazao sljedei teorem
Teorem 2.3. Postoji tono 15 moguih torzijskih grupa za eliptike krivulje
nad Q. To su grupe:
Z
k
, za k = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12
Z
2
Z
k
, za k = 2, 4, 6, 8.
Algoritmi za eliptike krivulje 38
Teina ovog rezultata lei u dokazivanju da se grupe koje nisu navedene
u teoremu ne mogu pojaviti kao torzijske grupe eliptike krivulje nad Q.
Mi emo sada pokazati kako se za svaku od 15 grupa navedenih u Mazu-
rovom teoremu moe konstruirati beskonano mnogo eliptikih krivulja s
tom torzijskom (pod)grupom. Najprije emo promotriti cikliki sluaj, tj.
torzijske grupe oblika Z
k
.
Eliptike krivulje emo traiti u (dugoj) Weierstrassovoj formi
y
2
+a
1
xy +a
3
y = x
3
+a
2
x
2
+a
4
x +a
6
. (2.13)
Stoga navedimo formule za zbrajanje toaka na krivulji danoj sa (2.13): ako
je P
1
= (x
1
, y
1
), P
2
= (x
2
, y
2
), onda je P
1
+P
2
= (x
3
, y
3
), gdje je
x
3
=
2
+a
1
a
2
x
1
x
2
,
y
3
= ( +a
1
)x
3
a
3
,
=
_
y
2
y
1
x
2
x
1
, ako je x
2
,= x
1
,
3x
2
1
+2a
2
x
1
+a
4
a
1
y
1
2y
1
+a
1
x
1
+a
3
, ako je P
2
= P
1
,
=
_
y
1
x
2
y
2
x
1
x
2
x
1
, ako je x
2
,= x
1
,
x
3
1
+a
4
x
1
+2a
6
a
3
y
1
2y
1
+a
1
x
1
+a
3
, ako je P
2
= P
1
.
Nadalje, P
1
= (x
1
, y
1
a
1
x
1
a
3
).
Neka je P toka iz E(Q) reda k. Bez smanjenja openitosti moemo
pretpostaviti da je P = (0, 0) (supstitucijom, tj. translacijom, (x, y) (x
x
P
, y y
p
)). Tada je u jednadbi (2.13) a
6
= 0, a zbog nesingularnosti je
jedan od brojeva a
3
i a
4
razliit od nule.
Pretpostavimo najprije da je P toka reda 2. To znai da je P = P =
(0, a
3
), pa je a
3
= 0. Dakle, za krivulje s jednadbom
y
2
+a
1
xy = x
3
+a
2
x
2
+a
4
x
je toka P = (0, 0) drugog reda.
Ako toka P nije toka drugog reda, onda moemo pretpostaviti da je
a
4
= 0 (pa mora biti a
3
,= 0) (linearnom supstitucijom (x, y) (x, y +
a
1
3
a
4
x) koja uva toku (0, 0)). Dakle, ubudue emo promatrati krivulje
oblika
y
2
+a
1
xy +a
3
y = x
3
+a
2
x
2
.
Pretpostavimo da je P toka na toj krivulji reda 3. Tada je P = 2P, pa iz
P = (0, a
3
) i 2P = (a
2
, a
1
a
2
a
3
), zakljuujemo da je 3P = O ako i
samo ako je a
2
= 0. Dakle, krivulje s jednadbom
y
2
+a
1
xy +a
3
y = x
3
imaju torzijsku podgrupu izomorfnu sa Z
3
.
Algoritmi za eliptike krivulje 39
U preostalim sluajevima moemo pretpostaviti da su a
2
i a
3
razliiti od
nule. Stavimo u = a
1
3
a
2
. Supstitucija (x, y)
_
x
u
2
,
y
u
3
_
uva toku P =
(0, 0), dok jednadba krivulje postaje
y
2
+a
1
3
a
1
a
2
xy +a
2
3
a
3
2
y = x
3
+a
2
3
a
3
2
x
2
.
Uvodimo oznake b = a
2
3
a
3
2
, c = 1 a
1
3
a
1
a
2
, te dobivamo jednadbu
krivulje u Tateovoj normalnoj formi
y
2
+ (1 c)xy by = x
3
bx
2
(2.14)
(primijetimo da su koecijenti b i c teine 0). U ovim jednadbama, prvih
nekoliko viekratnika toke P ima vrlo jednostavne koordinate. Nama e
trebati koordinate toaka P, 2P, . . . 6P (da bismo preko njih izrazili
uvjete kP = O za k = 4, 5, . . . , 10, 12). Dobivamo:
P = (0, b), 2P = (b, bc), 2P = (b, 0), 3P = (c, b c), 3P = (c, c
2
),
4P =
_
b(b c)
c
2
,
b
2
(b c c
2
c
3
_
, 4P =
_
b(b c)
c
2
,
b(b c)
2
c
3
_
,
5P =
_
bc(b c c
2
)
(b c)
2
,
bc
2
(b
2
bc c
3
)
(b c)
3
_
,
5P =
_
bc(b c c
2
)
(b c)
2
,
b
2
(b c c
2
)
2
(b c)
3
_
,
6P =
_
(c b)(c
3
+bc b
2
)
(c b +c
2
)
2
,
c(c b)
2
(bc
2
c
2
+ 3bc 2b
2
)
(c b +c
2
)
3
_
,
6P =
_
(c b)(c
3
+bc b
2
)
(c b +c
2
)
2
,
c(c
3
+bc b
2
)
2
(c b +c
2
)
3
_
.
Iz koordinata ovih toaka zakljuujemo redom:
Toka P je reda 4, tj. 2P = 2P ako i samo ako je c = 0. Dakle, opi
oblik krivulje s torzijskom podgrupom Z
4
je
y
2
+xy by = x
3
bx
2
, b Q.
Toka P je reda 5, tj. 3P = 2P ako i samo ako je b = c. Dakle, opi
oblik krivulje s torzijskom grupom Z
5
je
y
2
+ (1 b)xy by = x
3
bx
2
, b Q.
Toka P je reda 6, tj. 3P = 3P ako i samo ako je b = c +c
2
. Dakle,
opi oblik krivulje s torzijskom podgrupom Z
6
je
y
2
+ (1 c)xy (c +c
2
)y = x
3
(c +c
2
)x
2
, c Q.
Algoritmi za eliptike krivulje 40
Toka P je reda 7, tj. 4P = 3P ako i samo ako je b(b c) = c
3
. Jed-
nadbu b
2
bc = c
3
moemo shvatiti kao jednadbu singularne kubike,
sa singularitetom u (b, c) = (0, 0). Uvrstimo b = cd u jednadbu, pa
dobivamo parametrizaciju c = d
2
d, b = d
3
d
2
. Dakle, opi oblik
krivulje s torzijskom grupom Z
7
je
y
2
+ (1 c)xy by = x
3
bx
2
, b = d
3
d
2
, c = d
2
d, d Q.
Toka P je reda 8, tj. 4P = 4P ako i samo ako je b(b c c
2
) =
(b c)
2
. Ponovo smo dobili singularnu jednadbu sa singularitetom u
(b, c) = (0, 0). Uvrtavanjem b = cd, dobivamo cd = 2d
2
3d + 1 =
(2d 1)(d 1), pa je c =
(2d1)(d1)
d
, b = (2d 1)(d 1). Dakle, opi
oblik krivulje s torzijskom grupom Z
8
je
y
2
+ (1 c)xy by = x
3
bx
2
,
b = (2d 1)(d 1), c =
(2d1)(d1)
d
, d Q.
Toka P je reda 9, tj. 5P = 4P ako i samo ako je c
3
(b c c
2
) =
(b c)
3
. Uvrtavanjem b = cd, dobivamo c
2
(d 1)c = (d 1)
3
.
Ovo je singularna kubika sa singularitetom u (c, d) = (0, 1). Stavimo
c = (d 1)f, te uvrstimo u zadnju jednadbu. Dobivamo da je d =
f
2
f + 1. Dakle, opi oblik krivulje s torzijskom grupom Z
9
je
y
2
+ (1 c)xy by = x
3
bx
2
,
b = cd, c = (d 1)f, d = f
2
f + 1, f Q.
Toka P je reda 10, tj. 5P = 5P ako i samo ako je bc
2
(b
2
bc c
3
) =
b
2
(bcc
2
)
2
. Ponovo uvodimo supstitucije b = cd i c = (d1)f, te tako
dobivamo da je d =
f
2
f
2
3f+1
. Dakle, opi oblik krivulje s torzijskom
grupom Z
10
je
y
2
+ (1 c)xy by = x
3
bx
2
,
b = cd, c = (d 1)f, d =
f
2
f
2
3f+1
, f Q.
Konano, toka P je reda 12, tj. 6P = 6P ako i samo ako je (c
b)
2
(bc
2
c
2
+3bc 2b
2
) = (c
3
+bc b
2
)
2
. Nakon uvrtanja supstitucija
b = cd i c = (d1)f u ovu jednadbu, dobivamo 3d
2
fd
2
3dfd+
f
2
+ 1 = 0. Diskriminanta ove kvadratne jednadbe (4f 3)(f 1)
2
mora biti kvadrat. Dakle, opet nam se kao uvjet pojavila singularna
kubika. Odavde je f =
t
2
+3
4
, pa uvrtavanjem dobivamo d =
t
2
+2t+5
2(t+3)
.
Zakljuujemo da je opi oblik krivulje s torzijskom grupom Z
12
y
2
+ (1 c)xy by = x
3
bx
2
,
b = cd, c = (d 1)f, d =
t
2
+2t+5
2(t+3)
, f =
t
2
+3
4
, t Q.
Algoritmi za eliptike krivulje 41
Razmotrit emo sada torzijske grupe Z
2
Z
k
za k = 2, 4, 6, 8. Sve takve
krivulje imaju tri toke reda 2. Stoga emo ovdje promatrati krivulje s jed-
nadbom
y
2
= (x )(x )(x ), , , Q. (2.15)
Jednadba (2.15) ima tri racionalne toke reda 2, pa stoga ima torzijsku
podgrupu izomorfnu sa Z
2
Z
2
.
U konstrukciji krivulja s torzijskom grupom Z
2
Z
4
koristimo sljedeu
injenicu
Teorem 2.4. Neka je E eliptika krivulja nad poljem K, char K ,= 2, 3. Neka
je
E : y
2
= (x )(x )(x ), , , K.
Za toku Q = (x
2
, y
2
) E(K) postoji toka P = (x
1
, y
1
) E(K) takva da je
2P = Q ako i samo ako su x
2
, x
2
i x
2
potpuni kvadrati u K.
Dokaz: Dokazat emo jedan smjer ovog teorema i to onaj da ako postoji
toka P takva da je P = 2Q, onda su x
2
, x
2
i x
2
kvadrati.
Neka je P = (x
1
, y
1
) toka s traenim svojstvom, te neka je y = x +
tangenta u P. Promotrimo jednadbu
(x )(x )(x ) (x +)
2
= 0.
Njezini korijeni su x
1
(korijen kratnosti 2) i x
2
(jer toka Q = (x
2
, y
2
)
lei na tangenti). Dakle,
(x )(x )(x ) (x +)
2
= (x x
1
)
2
(x x
2
). (2.16)
Uvrstimo x = u (2.16), pa dobivamo
( +)
2
= ( x
1
)
2
( x
2
),
odakle zakljuujemo da je x
2
kvadrat. Uvrtavanjem x = , odnosno
x = , dobivamo da i x
2
i x
2
kvadrati.
Vratimo se sada na konstrukciju krivulja s torzijskom grupom Z
2
Z
4
.
Bez smanjenja openitosti moemo pretpostaviti da je toka P = (0, 0) jedna
od toaka reda 2 i to upravo ona toka za koju postoji Q E(Q) takva da
je 2Q = P. To znai da krivulja ima jednadbu
y
2
= x(x )(x ),
te da su brojevi i kvadrati u Q. Dakle, opi oblik krivulje s torzijskom
podgrupom Z
2
Z
4
je
y
2
= x(x +r
2
)(x +s
2
), r, s Q. (2.17)
Algoritmi za eliptike krivulje 42
Toka reda 4 na (2.17) je toka Q = (rs, rs(r +s)). Da bi dobili krivulju
s torzijskom grupom Z
2
Z
8
, trebala bi postojati toka R (reda 8) takva da
je 2R = Q. Prema Teoremu 2.4, nuan i dovoljan uvjet za postojanje takve
toke jest da rs, r(r +s) i s(r +s) budu kvadrati racionalnih brojeva. Dakle,
imamo: rs = u
2
i r
2
+ u
2
= v
2
. Odavde je r = t
2
1, u = 2t za neki Q.
Stoga je opi oblik krivulje s torzijskom podgrupom Z
2
Z
8
y
2
= x(x +r
2
)(x +s
2
), r = t
2
1, s =
4t
2
t
2
1
, t Q.
Preostala nam je torzijska grupa Z
2
Z
6
. Da bi nju dobili, trebali bi na
njoj imati toku P reda 3 (bez smanjenja openitosti moemo pretpostaviti
da joj je prva koordinata jednaka 0) za koju postoji toka Q reda 6 takva da
je 2Q = P. Po Teoremu 2.4, tada u (2.15) moramo imati = r
2
, = s
2
,
= t
2
. Dakle, dobili smo krivulju
y
2
= (x +r
2
)(x +s
2
)(x +t
2
), (2.18)
koja pored triju toaka drugog reda, ima jo jednu oitu racionalnu toku
P = (0, rst). Ako bi toka P bila reda 3, onda bismo dobili traenu torzijsku
grupu. Dakle, moramo zadovoljiti uvjet P = 2P, koji daje
(r
2
s
2
+s
2
t
2
+s
2
t
2
)
2
4r
2
s
2
t
2
r
2
s
2
t
2
= 0,
tj.
(sr +ts +tr)(sr +ts +tr)(sr +ts tr)(sr +ts tr) = 0.
Moemo uzeti da je t =
rs
rs
, pa dobivamo da je opi oblik krivulje s torzi-
jskom podgrupom Z
2
Z
6
y
2
= (x +r
2
)(x +s
2
)
_
x +
r
2
s
2
(r s)
2
_
, r, s Q.
Algoritmi za eliptike krivulje 43
2.6 Kanonska visina
Dva osnovna koraka u dokazu Mordell-Weilovog teorema su
dokaz da je indeks [E(Q) : 2E(Q)] konaan;
svojstva visine h, denirane sa h(P) = lnH(x), gdje je P = (x, y) i
H(
m
n
) = max[m[, [n[, dok je h(O) = 0.
Funkcija H je ponekad naziva i naivna visina, a h logaritamska visina.
Oito je da je za svaku konstantu c skup
P E(Q) : h(P) C
konaan (nema vie od 2(2e
C
+ 1) elemenata).
elimo vidjeti koja je veza izmeu visina toaka P i 2P (ugrubo koliko
se puta povea broj znamenaka u prikazu toke 2P u odnosu na prikaz toke
P). Neka je krivulja dana jednadbom y
2
= x
3
+ax+b i P = (x, y) E(Q).
Tada je x-koordinata toke 2P
x(2P) =
x
4
2ax
2
8bx +a
2
4(x
3
+ax +b)
.
Budui da se kvadriranjem broja, njegova visina udvostruuje, a najvea
potencija od x koja se pojavljuje u izrazu od x(2P) je x
4
, zakljuujemo da
je h(2P) 4h(P).
Primjer 2.9. Za krivulju
E : y
2
+y = x
3
x
i toku P = (0, 0) imamo:
2P = (1, 0), 4P = (2, 3), 8P =
_
21
25
,
69
125
_
, 16P =
_
480106
4225
,
332513754
274625
_
,
32P =
_
53139223644814624290821
1870098771536627436025
,
12201668323950325956888219182513256
80871745605559864852893980186125
_
.
Slino bi iz formule za zbrajanje toaka zakljuili da ako ksiramo toku
P
0
, onda je h(P + P
0
) h(2P). Ova razmatranja se mogu precizirati, kao
to pokazuje sljedea propozicija.
Propozicija 2.7.
a) Postoji konstanta c
0
(koja ovisi samo o E) takva da za svaku toku
P E(Q) vrijedi
[h(2P) 4h(P)[ c
0
.
b) Postoji konstanta c
1
(koja ovisi samo o E) takva da za sve P
1
, P
2

E(Q) vrijedi
h(P
1
+P
2
) +h(P
1
P
2
) 2h(P
1
) + 2h(P
2
) +c
1
.
Algoritmi za eliptike krivulje 44
Ve su ova svojstva visine h dovoljna za dovretak dokaza Mordell-Weiovog
teorema. No, jo bolja i vanija svojstva ima kanonska ili Nron-Tateova
visina

h koju emo denirati u sljedeem teoremu. Za nju e nejednakosti iz
Propozicije 2.7 postati jednakosti (uz c
0
= c
1
= 0).
Teorem 2.5. Neka je E eliptika krivulja nad Q. Postoji jedinstvena funkcija

h : E(Q) R
sa svojstvima
1) postoji konstanta c takva da je [

h(P) h(P)[ c za svaki P E(Q);


2)

h(2P) = 4

h(P),
i ona je denirana s

h(P) = lim
n
h(2
n
P)
4
n
. (2.19)
Nadalje, funkcija

h ima jo i sljedea svojstva:
3) Za sve P E(Q) vrijedi

h(P) 0.
4) Za svaku konstantu C je skup P E(Q) :

h(P) C konaan.
5) Jednakost

h(P) = 0 ako i samo ako je P E(Q)
tors
.
6) Za sve P, Q E(Q) vrijedi relacija paralelograma

h(P +Q) +

h(P Q) = 2

h(P) + 2

h(Q). (2.20)
Dokaz: Pretpostavimo da

h zadovoljava svojstva 1) i 2). Tada vrijedi
[4
n

h(P) h(2
n
P)[ = [

h(2
n
P) h(2
n
P)[ c.
Stoga je

h(P)
h(2
n
P)
4
n

c
4
n
,
pa

h (ako postoji) mora zadovoljavati (2.19), ime smo dokazali jedinstvenost.
Da bi dokazali egzistenciju, moramo najprije pokazati da je niz
h(2
n
P)
4
n
.
To emo napraviti tako to emo dokazati da je ovaj niz Cauchyjev. Uzmimo
n m 0 i P E(Q). Koristei Propoziciju 2.7a), imamo:

h(2
n
P)
4
n

h(2
m
P)
4
m

n1

i=m
_
h(2
i+1
P)
4
i+1

h(2
i
P)
4
i
_

n1

i=m
1
4
i+1
[h(2
i+1
P) 4h(2
i
P)[
n1

i=m
c
0
4
i+1
<
c
0
3 4
m
. (2.21)
Algoritmi za eliptike krivulje 45
Pustimo li m u (2.21), vidimo da je niz
h(2
n
P)
4
n
Cauchyjev, pa je sa
(2.19) dobro denirana funkcija

h. Dokazat emo da ona ima svojstva 1)
6).
Stavimo li m = 0 i pustimo n u (2.21), dobivamo
[

h(P) h(P)[
c
0
3
, (2.22)
to dokazuje 1).
Dokaimo 2):

h(2P) = lim
n
h(2
n+1
P)
4
n
= 4 lim
n
h(2
n+1
P)
4
n+1
= 4

h(P).
Iz denicije je za sve P ,= O, H(x) prirodan broj, pa je h(P) 0, te
stoga i

h(P) 0.
Ako je

h(P) C, onda je, zbog (2.22), h(P) C +
c
0
3
, pa postoji samo
konano mnogo toaka koji zadovoljavaju polaznu nejednakost.
Promotrimo skup o = 2
n
P : n 0. Ako je P E(Q)
tors
, onda je
skup o konaan, pa postoji konstanta c
2
takva da je

(P) c
2
za sve R o.
Koristei svojstvo 2), dobivamo za svaki n 0 vrijedi

h(P) =

h(2
n
P)
4
n

c
2
4
n
,
pa mora biti

h(P) = 0. Ako je P toka beskonanog reda, onda je skup
o beskonaan, pa zbog svojstva 4), mora postojati n sa svojstvom da je

h(2
n
P) > 1. No, tada je

h(P) =

h(2
n
P)
4
n
>
1
4
n
> 0.
U dokazu svojstva 6), koristit emo Propoziciju 2.7b). Uzmimo da je
P
1
= 2
n
P, P
2
= 2
n
Q, te podijelimo dobivenu nejednakost sa 4
n
i nakon toga
pustimo n . Dobivamo da za sve P, Q E(Q) vrijedi

h(P +Q) +

h(P Q) 2

h(P) + 2

h(Q). (2.23)
Uvrstimo sada u (2.23) da je P = P

+ Q

i Q = P

. Dobivamo da za
sve P

, Q

E(Q) vrijedi

h(2P

) +

h(2Q

) 2

h(P

+Q

) + 2

h(P

).
Koristei svojstvo 2), te dijelei sa 2, dobivamo
2

h(P

) + 2

h(Q

)

h(P

+Q

) +

h(P

),
to je upravo obrnuta nejednakost od (2.23), te smo time dokazali relaciju
paralelograma.
Dokaz Mordell-Weilovog teorema (uz pretpostavku da je indeks [E(Q) :
2E(Q)] konaan):
Algoritmi za eliptike krivulje 46
Neka je R
1
, R
2
, . . . , R
n
skup reprezentanata iz E(Q)/2E(Q), tj.
E(Q) = (R
1
+ 2E(Q)) (R
2
+ 2E(Q)) (R
n
+ 2E(Q)), (2.24)
te neka je k = max
i
(

h(R
i
)). Neka su Q
1
, . . . , Q
m
sve toke iz E(Q) za koje je

h(Q
i
) k (pokazali smo u Teoremu 2.5 da je skup takvih toaka konaan).
Neka je G podrupa od E(Q) generirana tokama
R
1
, . . . , R
n
, Q
1
, . . . , Q
m
.
Tvrdimo da je G = E(Q). Pretpostavimo suprotno, tj. da postoji P E(Q)
takav da P , G. Budui da postoji samo konano mnogo toaka s kanonskom
visinom manjom od

h(P), bez smanjenja openitosti moemo pretpostaviti
da je P toka s najmanjom visinom za koju vrijedi P , G. Iz (2.24) imamo
da za neki indeks i i toku P
1
E(Q) vrijedi
P = R
i
+ 2P
1
.
Po Teoremu 2.5, te zbog injenice da je

h(P) > k (zato to je P ,= Q
i
),
imamo:
4

h(P
1
) =

h(2P
1
) =

h(P R
i
) = 2

h(P) + 2

h(R
i
)

h(P +R
i
)
2

h(P) + 2k < 2

h(P) + 2

h(P) = 4

h(P).
Dakle,

h(P
1
) <

h(P), pa budui da je P toka s najmanjom kanonskom
visinom koja nije u G, to mora biti da je P
1
G. No, tada je i P = R
i
+2P
1

G, te smo dobili kontradikciju. Stoga je G = E(Q), to dokazuje da je grupa
E(Q) konano generirana.
Recimo sada neto o raunanju kanonske visine. Jedna mogunost je
raunanje

h(P) po deniciji (preko limesa).
Primjer 2.10. Neka je krivulja E zadana jednadbom
y
2
+y = x
3
+x,
te promotrimo na njoj toku P = (0, 0) beskonanog reda.
Raunanjem redom vrijednosti

h(2
n
P)
4
n
, dobivamo sljedee rezultate
n

h(2
n
P)/4
n
1 0
2 0
3 0.0433
4 0.05029
5 0.0511006
6 0.0511008
7 0.0511014
8 0.0511034
9 0.05111065
10 0.05111140815
Algoritmi za eliptike krivulje 47
Tona vrijednost od

h(P) (na 11 decimala) je 0.05111140824. Konvergencija
i ne izgleda jako spora, meutim, problem s ovakvim raunanjem je da ve
brojnik i nazivnik od x(2
10
P) imaju vie od 5800 znamenaka, a moramo
ih egzaktno izraunati jer na u iduem koraku trebaju vrijednosti brojnika
i nazivnika nakon eventualnih kraenja (a samo iz priblinih vrijednosti ne
moemo znati koja e kraenja nastupiti.
Opisat emo sada Silvermanov algoritam iz 1988. godine za raunanje
kanonske visine. Ideja je prikazati globalnu visinu

h(P) kao sumu lokalnih
visina

h
p
(P), gdje je p prost broj ili je p = :

h(P) =

h
p
(P). (2.25)
Za toku P = (x, y) E(Q) denirajmo

2
(P) = 2y +a
1
x +a
3
,
3
(P) = 3x
4
+b
2
x
3
+ 3b
4
x
2
+ 3b
6
x +b
8
.
Iz formula za zbrajanje toka na eliptikoj krivulji danoj Weierstrassovom
jednadbom vidi se da je
2
isezava upravo u tokama reda 2. Moe se
provjeriti da
3
isezava upravo u tokama reda 3.
Propozicija 2.8. Neka je E eliptika krivulja nad Q dana Weierstrassovom
jednadbom koja je minimalna za prost broj p, te neka je P = (x, y) E(Q).
a) Ako je ord
p
(3x
2
+2a
2
x+a
4
a
1
y) 0 ili ord
p
(2y +a
1
+a
3
) 0, tada
je

h
p
(P) = max0, ord
p
(x) lnp.
b) Inae, ako je ord
p
(c
4
) = 0, stavimo
N = ord
p
() i M = minord
p
(
2
(P),
1
2
N,
te imamo

h
p
(P) =
M(M N)
N
lnp.
c) Inae, ako je ord
p
(
3
(P)) 3 ord
p
(
2
(P)), onda je

h
p
(P) =
2
3
ord
p
(
2
(P)) lnp,
a ako je ord
p
(
3
(P)) < 3 ord
p
(
2
(P)), onda je

h
p
(P) =
1
4
ord
p
(
3
(P)) lnp
Algoritmi za eliptike krivulje 48
U Propoziciji 2.8, dio a) se odnosi na proste brojeve p u kojima E ima
dobru redukciju, a takoer i one proste brojeve za koje imamo lou redukciju
(imamo singularnu toku), ali P nije singularna toka. Dio b) se odnosi na
proste brojeve p u kojima imamo multiplikativnu redukciju, a dio na c) na
one p-ove u kojima imamo aditivnu redukciju. Ako je P = (x, y), x =
m
n
,
onda je

h
p
(P) = 0 za sve proste brojeve p koji ne dijele ni ni n. Ukupan
doprinos p-ova koji dijele n je (iz dijela a)) jednak lnn. Tako dobivamo
praktiniju verziju formule (2.25):

h(P) =

h

(P) + lnn +

p|, pn

h
p
(P). (2.26)
Preostaje izraunati visinu

h

(P) (realnu komponentu kanonske visine).


Tu se moe koristiti Tateov razvoj

(P) = ln[x[ +
1
4

n=0
4
n
c
n
,
gdje su koecijenti c
n
omeeni ukoliko na E(R) nema toaka s x-koordinatom
0. Silvermanov algoritam koristi alternirano parametre x i x

= x+1. Dobiva
se red slinog tipa, za kojeg se pokazuje da ako je uzme prvih N lanova,
gdje je
N
5
3
d +
1
2
+
3
4
ln(7 +
4
3
lnH +
1
3
lnmax1, [[
1
),
H = max4, [b
2
[, 2[b
4
[, 2[b
6
[, [b
8
[,
onda je greka manja od
1
2
10
d
. U algoritmu se koriste i koecijenti b

2
, b

4
, b

6
, b

8
koji odgovaraju krivulji dobivenoj iz E supstitucijom x

= x + 1:
b

2
= b
2
12, b

4
= b
4
b
2
+6, b

6
= b
6
2b
4
+b
2
4, b

8
= b
8
3b
6
+3b
4
b
2
+3.
Algoritam za realnu komponentu kanonske visine:
if [x[ < 0.5
then t = 1/(x + 1); i = 0
else t = 1/x; i = 1
= ln[t[; f = 1;
for n = 0 to N
f = f/4;
if i = 1 then
w = b
6
t
4
+ 2b
4
t
3
+b
2
t
2
+ 4t;
z = 1 b
4
t
2
2b
6
t
3
b
8
t
4
;
u = z +w
else
w = b

6
t
4
+ 2b

4
t
3
+b

2
t
2
+ 4t;
Algoritmi za eliptike krivulje 49
z = 1 b

4
t
2
2b

6
t
3
b

8
t
4
;
u = z w
if [w[ 2[z[
then = +f ln[z[, t = z/w
else = +f ln[u[, t = w/u; i = 1 i
return
U PARI-ju je ovaj algoritam implementiran u funkciji ellheight.
Relacija paralelograma (2.20) sugerira da emo, analogno ako u sluaju
norme koja zadovoljava istoimenu relaciju, pomou kanonske visine moi
denirati neku varijantu skalarnog produkta.
Denicija 2.1. Nron-Tateovo sparivanje visina toaka P, Q E(Q) je
< P, Q > =
1
2
(

h(P +Q)

h(P)

h(Q))
=
1
4
(

h(P +Q)

h(P Q)).
Iz

h(2P) = 4

h(P) slijedi da je

h(P) =< P, P >.
Propozicija 2.9. Kanonska visina

h je kvadratna forma na E(Q), tj. vrijedi
1)

h je parna,

h(P) =

h(P),
2) Nron-Tateovo sparivanje visina je simetrino i bilinearno.
Dokaz: Svojstvo 1) slijedi iz x(P) = x(P). Simetrinost je oita, pa
ostaje jo dokazati linearnost. Deniramo
T(P, Q, R) = < P +Q, R > < P, R > < Q, R >
=

h(P +Q+R)

h(P +Q)

h(P +R)

h(Q+R)
+

h(P) +

h(Q) +

h(R).
Trebamo dokazati da je T(P, Q, R) = 0. Svojstvo 1) povlai da je
T(P, Q, R) = T(P, Q, R). (2.27)
S druge strane, primjenom relacije paralelograma dobivamo
T(P, Q, R) +T(P, Q, R)
=

h(P +Q+R) +

h(P +QR) 2

h(P +Q)

h(P +R)

h(P R)

h(Q+R)

h(QR) + 2

h(P) + 2

h(Q) + 2

h(R)
= 2

h(P +Q) + 2

h(R) 2

h(P +Q) 2

h(P) 2

h(R) 2

h(Q) 2

h(R)
+ 2

h(P) + 2

h(Q) + 2

h(R) = 0.
Algoritmi za eliptike krivulje 50
Dakle, T(P, Q, R) = T(P, Q, R) pa, jer je T simetrina funkcija, dobi-
vamo da je T(P, Q, R) = (1)
3
T(P, Q, R) = T(P, Q, R). Usporedimo
li ovo sa (2.27), zakljuujemo da je T(P, Q, R) = 0.
Iz prethodne propozicije dobivamo sljedee poopenje formule

h(2P) =
4

h(P):

h(mP) =< mP, mP >= m


2
< P, P >= m
2

h(P).
Odavde dobivamo da se umjesto niza 2
n
P u deniciji kanonske visine moe
uzeti i jednostavno niz nP. Naime, vrijedi
lim
n
h(nP)
n
2
= lim
n

nP +O(1)
n
2
= lim
n
_

h(P) +
O(1)
n
2
_
=

h(P).
Propozicija 2.10. Ako je T torzijska toka, a P bilo koja toka na E(Q),
onda vrijedi

h(P +T) =

h(P) i < P, T >= 0.
Dokaz: Neka je T toka reda m. Tada je

h(P +T) =

h(m(P +T))
m
2
=

h(mP)
m
2
=

h(P),
pa je
< P, T >=
1
2
(

h(P)

h(P) 0) = 0.
Otvoreno je pitanje vrijedi li obrat druge tvrdnje iz Propozicije 2.10, tj.
ako je < P, Q >= 0, mora li barem jedna od toaka P, Q biti konanog reda.
Denirat emo sada analogon Gramove determinante skalarnih produkata.
Denicija 2.2. Determinanta visina toaka P
1
, . . . , P
m
je det(< P
i
, P
j
>).
U PARI-ju se determinanta visina moe izraunati pomou funkcije
ellheightmatrix.
Vrijedi da je

h(n
1
P
1
+ +n
m
P
m
) = N(< P
i
, P
j
>)N

,
gdje je N = (n
1
, . . . , n
m
).
Nadalje, toke P
1
, . . . , P
m
su zavisne mod E(Q)
tors
, tj. postoje cijeli bro-
jevi n
1
, . . . , n
m
koji nisu svi jednaki 0 tako da je n
1
P
1
+ n
m
P
m
E(Q)
tors
,
ako i samo ako je det(< P
i
, P
j
>) = 0.
Posebno vaan sluaj nezavisnih toaka je Mordell-Weilova baza. Mordell-
Weilova baza Q
1
, . . . , Q
r
za E(Q) je Z-baza za E(Q) mod E(Q)
tors
, tj. svaki
P E(Q) se na jedinstven nain moe prikazati kao
P = n
1
Q
1
+ +n
r
Q
r
+T, n
i
Z, T E(Q)
tors
.
Algoritmi za eliptike krivulje 51
Regulator od E je Reg(E) = det(< Q
i
, Q
j
>), gdje je Q
1
, . . . , Q
r
Mordell-
Weilova baza. Ako je r = 0, onda se po deniciji stavlja da je Reg(E) = 1.
Iz nezavisnosti toaka u bazi slijedi da je Reg(E) ,= 0, no moe se pokazati
da uvijek vrijedi Reg(E) > 0.
Ako su P
1
, . . . , P
r
r nezavisnih toaka mod E(Q)
tors
, te pretpostavimo
da P
1
, . . . , P
r
E(Q)
tors
generira podgrupu G od E(Q) indeksa q. Tada je
det(< P
i
, P
j
>) = q
2
Reg(E).
Dakle, Reg(E) je najmanja determinanta visina od r nezavisnih toaka na
E(Q). Nadalje, r nezavisnih toaka ini bazu ako i samo ako im je determi-
nanta visina jednaka regulatoru.
Sljedei rezultat je koristan pri dokazivanju da je dani skup nezavisnih
toaka Mordell-Weilova baza.
Propozicija 2.11. Neka za > 0 skup S = P E(Q) :

h(P)
sadri r nezavisnih toaka P
1
, . . . , P
r
, takvih da podgrupa H generirana sa
P
1
, . . . , P
r
E(Q)
tors
sadri S. Tada je H = E(Q), tj. P
1
, . . . , P
r
je
Mordell-Weilova baza.
2.7 LLL-algoritam
LLL-algoritam e igrati vanu ulogu kod algoritama za nalaenje svih cjelo-
brojnih toaka na eliptikim krivuljama. Tom temom emo se pozabaviti
neto kasnije. Sada emo rei neto openito o tom algoritmu, te prikazati
njegovu primjenu na nalaenje Mordell-Weilove baze s elementima male vi-
sine.
Neka su b
1
, . . . , b
n
linearno nezavisni vektori u R
n
. Reetka L razapeta
ovim vektorima je skup svih njihovih cjelobrojnih linearnih kombinacija:
L =
_
n

i=1
n
i
b
i
: n
i
Z
_
.
Npr. u R
2
, ako je b
1
= (1, 0), b
2
= (0, 1), onda je L reetka svih toaka u
ravnini s cjelobrojnim koordinatama. Kae se da je B = b
1
, . . . , b
n
baza
reetke L. Jedna reetka moe imati vie razliitih baza, pa se pitamo moemo
li izabrati bazu koja bi imala neko dodatno dobro svojstvo. Jasno je da
B predstavlja bazu vektorskog prostora R
n
. Znamo da Gram-Schmidtovim
postupkom moemo dobiti ortogonalnu bazu za isti vektorski prostor (b

i
=
b
i


i1
j=1

ij
b

j
, i = 1, . . . , n, gdje je
ij
=
b
i
,b

j
,b

). No, ta nova baza ne


mora razapinjati istu reetku kao polazna baza B, jer koecijenti
ij
ne
moraju biti cijeli brojevi. Openito, reetka ni ne mora imati ortogonalnu
bazu. A. K. Lenstra, H. W. Lenstra i L. Lovsz uveli su pojam LLL-reducirane
baze, koja ima svojstva:
Algoritmi za eliptike krivulje 52
1) [
i,j
[
1
2
, 1 j < i n;
2) |b

i
|
2
(
3
4

2
i,i1
)|b

i1
|
2
.
Prvi uvjet se moe interpretirati tako da se kae da je LLL-reducirana baza
skoro ortogonalna, dok drugi uvjet govori da niz normi vektora |b

i
| skoro
raste. Dodatno vano svojstvo LLL-reducirane baze je da je prvi vektor u toj
bazi vrlo kratak, tj. ima malu normu. Moe se dokazati da uvijek vrijedi da
je |b
1
| 2
(n1)/2
|x|, za sve ne-nul vektore x L, no, u praksi se vrlo esto
dogaa da je |b
1
| upravo najkrai ne-nul vektor iz L. To emo precizirati u
sljedeoj lemi. U njoj se pojavljuje broj (L) = [ det(b
1
, . . . , b
n
)[ koji zovemo
determinanta reetke. Moe se pokazati da (L) ne ovisi o izboru baze (zato
to prelazak iz baze u bazu odgovara mnoenju zdesna matricom iz GL
n
(Z).)
Propozicija 2.12. Neka je b
1
, . . . , b
n
LLL-reducirana baza, te b

1
, . . . , b

pripadna Gram-Schmidtova baza. Tada vrijedi:


1) |b
j
|
2
2
i1
|b

i
|
2
, 1 j i n;
2) (L)

n
i=1
|b
i
| 2
n(n1)
4
(L);
3) |b
1
| 2
n1
4
((L))
1
n
;
4) za svaki x L, x ,= 0, vrijedi |b
1
|
2
c
1
|x|
2
, gdje je
c
1
= max
_
|b
1
|
2
|b

i
|
2
: 1 i n
_
2
n1
.
5) Za vektor y , L deniramo = B
1
y, gdje je B matrica iji su
stupci b
1
, . . . , b
n
. Neka je i
0
najvei indeks takav da
i
0
, Z, te
i
0

udaljenost od
i
0
do najblieg cijelog broja. Tada za svaki x L vrijedi
|x y|
2
c
1
1

i
0
|b
1
|
2
.
U svom lanku iz 1982. godine, Lenstra, Lenstra i Lovsz prikazali su poli-
nomijalni algoritam za konstrukciju LLL-reducirane baze iz proizvoljne baze
reetke (po njima nazvan LLL-algoritam). Algoritam je ubrzo naao brojne
primjene, npr. u faktorizaciji polinoma s racionalnim koecijentima, krip-
toanalizi RSA kriptosustava s malim javnim ili tajnim eksponentom, prob-
lemu ruksaka, te diofantskim aproksimacijama i diofantskim jednadbama.
Godine 1989. je de Weger dao varijantu LLL-algoritma koja koristi samo
cjelobrojnu aritmetiku (ukoliko su ulazni podaci cjelobrojni).
U PARI-ju je LLL-algoritam implementiran pomou funkcije qflll(x),
koja kao rezultat vraa transformacijsku matricu T takvu da je xT LLL-
reducirana baza reetke generirane stupcima matrice x. Postoji i funkcija
qflllgram(x), koja radi isto to i qflll, osim to je ovdje x Gramova ma-
trica skalarnih produkata vektora reetke, a ne matrica koordinata vektora.
Algoritmi za eliptike krivulje 53
Rezultat je ponovo transformacijska matrica T iji stupci daju vezu izmeu
inicijalnih vektora i vektora u reduciranoj bazi.
Ukoliko je poznata Mordell-Weilova baza P
1
, . . . , P
r
eliptike krivulje (ili
barem neki nezavisan skup toaka), esto je od interesa pronai bazu (ili skup
toaka koji generira istu podgrupu kao polazni skup toaka) s elementima sa
to manjim (kanonskim) visinama. Za to se moe iskoristiti LLL-algoritam,
gdje e ulogu Gramove matrice odigrati matrica visina (< P
i
, P
j
>). Tu je
ideju iznio i realizirao Rathbun 2003. godine
Reducirana Mordell-Weilova baza
ellLreduce(e, plist)=
e = ellinit(e);
n = length(plist);
u = qllgram(ellheightmatrix(e, plist));
newplist = vector(n, j, [0]);
for(i = 1, n, for(j = 1, n,
newplist[i] = elladd(e, newplist[i], ellpow(e, plist[j], u[j, i]))));
Primjer 2.11. Promotrimo krivulju
y
2
+xy = x
3
3913976067656937637459249967383835x
+80614222594310898664080091661625700445673557913297.
To je krivulja s najmanjim konduktorom od svih poznatih krivulja ija je
Mordell-Weilova grupa izomorfna Z
10
Z
4
(Dujella, 2005).
Pomou Cremoninog programa MWRANK dobivamo da je rang jednak
4, te da je Mordell-Weilova grupa generirana tokama
P
1
=
_
630272629397544948862684139017006
13379318255014009
,
1362337891324372518369815288517415904396055887491
1547572403377170172063027

,
P
2
=
_
10108627618965508383032350174
590486201761
,
1958345587631673357656809634618006468198497
453747902505406991

,
P
3
=
_
274744516784750223364738024346686
4890306578748529
,
2109509179115283921846521060093792639782906789639
341982694304767383150583

,
P
4
=
_
50839337272548006001
64
,
361396441648280727979552767371
512

.
Kanonske visine toaka P
1
, P
2
, P
3
, P
4
su redom 34.02261806, 26.72628169,
45.34998979, 21.98466653.
Primijenimo li Rathbunov algoritam, dobivamo novu Mordell-Weilovu
bazu:
Q
1
=
_

343612010825901006209
6724
,
6688993067364877005732976215769
551368

,
Q
2
=
_

10216528923584657172449
145924
,
188670390447140092406122946589739
55742968

,
Q
3
= [71051466385703906, 134428832419254188216207] ,
Q
4
=
_
31277549200969930230818734
515244601
,
95528222879953330428431251943396378467
11695537198099

,
Algoritmi za eliptike krivulje 54
s visinama 10.27648431, 12.33469261, 15.949425, 24.802228. Transformacij-
ska matrica je
u =
_
_
_
_
1 1 0 1
1 1 1 2
0 0 1 0
0 1 0 1
_
_
_
_
.
To znai da je Q
1
= P
1
+ P
2
, Q
2
= P
1
+ P
2
+ P
4
, Q
3
= P
2
+ P
3
,
Q
4
= P
1
+ 2P
2
+P
3
.
Do sada nismo koristili torzijske toke. Iz Propozicije 2.10 znamo da
nam one ne mogu promijeniti kanonske visine toaka. No, one ipak mogu
pojednostavniti bazu, u smislu da smanje naivnu visinu toaka ili da toke s
racionalnim koordinatama zamijene s tokama s cjelobrojnim koordinatama.
Budui da je u naem primjeru torzijska grupa velika (Z
10
), izgledno je da e
se na taj nain barem neka od toaka pojednostavniti. Konano dobivamo
sljedeu Mordell-Weilovu bazu:
R
1
= [8185642345602334, 7008872315854122124478833],
R
2
= [12386639730434786, 11278065707632343668729487],
R
3
= [71051466385703906, 134428832419254188216207],
R
4
=
_
145126829591796568531936
528529
,
53943123228441855079366471262433889
384240583

Algoritmi za eliptike krivulje 55


2.8 Raunanje ranga - krivulje s tokom reda 2
Pitanja koja se tiu ranga su puno tea od pitanja vezanih uz torzijske grupe,
a zadovoljavajui odgovori jo uvijek nisu poznati. Vjeruje se da rang moe
biti proizvoljno velik, tj. da za svaki M N postoji eliptika krivulja E nad Q
takva da je rank(E) M. No, danas se tek zna da postoji eliptika krivulja
ranga 28. Tu je krivulju 2006. godine pronaao Noam Elkies. Jednadba
(minimalna) joj je:
y
2
+xy +y = x
3
x
2

20067762415575526585033208209338542750930230312178956502x+
34481611795030556467032985690390720374855944359319180361266008296291939448732243429
a 28 nezavisnih toaka beskonanog reda (krivulja nema netrivijalnih torzi-
jskih toaka):
P
1
=[2124150091254381073292137463,259854492051899599030515511070780628911531]
P
2
=[2334509866034701756884754537,18872004195494469180868316552803627931531]
P
3
=[1671736054062369063879038663,251709377261144287808506947241319126049131]
P
4
=[2139130260139156666492982137,36639509171439729202421459692941297527531]
P
5
=[1534706764467120723885477337,85429585346017694289021032862781072799531]
P
6
=[2731079487875677033341575063,262521815484332191641284072623902143387531]
P
7
=[2775726266844571649705458537,12845755474014060248869487699082640369931]
P
8
=[1494385729327188957541833817,88486605527733405986116494514049233411451]
P
9
=[1868438228620887358509065257,59237403214437708712725140393059358589131]
P
10
=[2008945108825743774866542537,47690677880125552882151750781541424711531]
P
11
=[2348360540918025169651632937,17492930006200557857340332476448804363531]
P
12
=[1472084007090481174470008663,246643450653503714199947441549759798469131]
P
13
=[2924128607708061213363288937,28350264431488878501488356474767375899531]
P
14
=[5374993891066061893293934537,286188908427263386451175031916479893731531]
P
15
=[1709690768233354523334008557,71898834974686089466159700529215980921631]
P
16
=[2450954011353593144072595187,4445228173532634357049262550610714736531]
P
17
=[2969254709273559167464674937,32766893075366270801333682543160469687531]
P
18
=[2711914934941692601332882937,2068436612778381698650413981506590613531]
P
19
=[20078586077996854528778328937,2779608541137806604656051725624624030091531]
P
20
=[2158082450240734774317810697,34994373401964026809969662241800901254731]
P
21
=[2004645458247059022403224937,48049329780704645522439866999888475467531]
Algoritmi za eliptike krivulje 56
P
22
=[2975749450947996264947091337,33398989826075322320208934410104857869131]
P
23
=[2102490467686285150147347863,259576391459875789571677393171687203227531]
P
24
=[311583179915063034902194537,168104385229980603540109472915660153473931]
P
25
=[2773931008341865231443771817,12632162834649921002414116273769275813451]
P
26
=[2156581188143768409363461387,35125092964022908897004150516375178087331]
P
27
=[3866330499872412508815659137,121197755655944226293036926715025847322531]
P
28
=[2230868289773576023778678737,28558760030597485663387020600768640028531]
Pregled pronalazaka rekordnih krivulja dan je u sljedeoj tablici
(detalji o rekordnim krivuljama mogu se nai na web stranici
http://web.math.hr/duje/tors/rankhist.html):
rank year Author(s)
3 1938 Billing
4 1945 Wiman
6 1974 Penney & Pomerance
7 1975 Penney & Pomerance
8 1977 Grunewald & Zimmert
9 1977 Brumer - Kramer
12 1982 Mestre
14 1986 Mestre
15 1992 Mestre
17 1992 Nagao
19 1992 Fermigier
20 1993 Nagao
21 1994 Nagao & Kouya
22 1997 Fermigier
23 1998 Martin & McMillen
24 2000 Martin & McMillen
28 2006 Elkies
Striktno govorei, nije poznat niti jedan algoritam za raunanje ranga.
Naime, za algoritme (uobiajeno ih je ipak tako nazivati) koji se koriste
za raunanje, od kojih emo neke sada i prikazati, nema garancije da e
dati rezultat u svim sluajevima. Vaan dio tih algoritama ukljuuje odluku
ima li racionalnih toaka na izvjesnoj krivulji genusa 1 za koju je poznato
da ima toaka svugdje lokalno (tj. nad R, te na p-adskim poljem Q
p
za
sve proste brojeve p). No, nije poznat algoritam koji bi dao odgovor na to
pitanje. Nadalje, ak i ako zanemarimo ovaj problem (jer nam se moda nee
pojaviti za konkretnu krivulju koju promatramo), kod krivulja koje nemaju
Algoritmi za eliptike krivulje 57
racionalnih toaka reda 2 i imaju velike koecijente, poznati algoritmi nisu
dovoljno ekasni za praktinu primjenu.
Pretpostavimo da E ima toku reda 2. U tom sluaju je raunanje ranga
obino lake nego u opem sluaju. Opisat emo metodu za raunanje ranga
koja se naziva silazak pomou 2-izogenije. Promjenom koordinata moemo
pretpostaviti da je toka reda 2 upravo toka (0, 0), te da E ima jednadbu
y
2
= x
3
+ax
2
+bx, (2.28)
gdje su a, b Z. Ako je polazna krivulja bila dana jednadbom y
2
= x
3
+
a
2
x
2
+a
4
x +a
6
, te ako je x
0
nultoka polinoma x
3
+a
2
x
2
+a
4
x +a
6
, onda
stavimo a = 3x
0
+ a
2
, b = (a + a
2
)x
0
+ a
4
. A ako je polazna krivulja bila
dana pomou Weierstrassove jednadbe, onda za x
0
uzimamo korijen kubnog
polinoma x
3
+b
2
x
2
+8b
4
x+16b
6
i stavimo a = 3x
0
+b
2
, b = (a+b
2
)x
0
+8b
4
.
Uvjet nesingularnosti za krivulju E je = 16b
2
(a
2
4b) ,= 0.
Za krivulju E

koja ima jednadbu


y
2
= x
3
+a

x
2
+b

x, (2.29)
gdje je a

= 2a i b

= a
2
4b, kaemo da je 2-izogena krivulji E. Uvjet
nesingularnosti za obje krivulje E i E

je isti i moe se iskazati u obliku


bb

,= 0. Openito, izogenijom zovemo homomorzam izmeu dvije eliptike


krivulje koji je dan pomou racionalnih funkcija. U naem sluaju, radi se o
preslikavanju : E E

, (P) = (
y
2
x
2
,
y(x
2
b)
x
2
) za P = (x, y) ,= O, (0, 0), a
(P) = O inae. Analogno se denira : E

E sa (P

) = (
y
2
4x
2
,
y

(x
2
b

)
8x
2
)
za P

= (x

, y

) ,= O, (0, 0), a (P

) = O inae. . Vrijedi ( )(P) = 2P za


sve P E i ( )(P

) = 2P

za sve P

.
Denirajmo jo i preslikavanja : E(Q) Q

/Q
2
, : E

(Q)
Q

/Q
2
, sa (O) = 1 Q
2
, (0, 0) = b Q
2
, (x, y) = x Q
2
za P = (x, y) ,=
O, (0, 0), te sasvim analogno za . Jasno je da je Ker() = O, (0, 0),
Ker() = O, (0, 0), a pokazuje se da vrijedi Im() = Ker() i Im() =
Ker(). Broj 2 u nazivu 2-izogenija dolazi od toga to su jezgre od i
dvolane.
Ova preslikavanja se koriste u prvom koraku dokaza Mordell-Weilovog
teorema, tj. u dokazu da podgrupa 2E(Q) ima konaan indeks u grupi
E(Q). Naime, lako se vidi da ta tvrdnja slijedi iz konanosti indeksa [E(Q) :
(E

(Q)] i [E

(Q) : (E(Q)], a to pak, po teoremu o izomorzmu grupa,


slijedi iz konanosti grupa Im() i Im(). Zapravo je veza ovih preslikavanja
s rangom jo eksplicitnija. Naime, vrijedi
2
r
=
[E(Q) : (E

(Q)] [E

(Q) : (E(Q)]
4
=
[Im()[ [Im()[
4
,
gdje je r = rank(E(Q)). Vrijedi i da je r = rank(E

(Q)), no torzijske
grupe od E i E

openito ne moraju biti izomorfne, ve vrijedi [E(Q)


tors
[ =
2
i
[E

(Q)
tors
[, gdje je i 1, 0, 1.
Algoritmi za eliptike krivulje 58
elimo dobiti opis elementa iz Im(). Sa x emo oznaiti klasu od x u
Q/Q
2
.
Neka je (x, y) E(Q). Ako je x = 0, onda je (x, y) = (0, 0) i (x, y) =

b.
Ako je x ,= 0, zapiimo x i y u obliku x =
m
e
2
, y =
n
e
3
, nzd(m, e) = nzd(n, e) =
1, te ih uvrstimo u jednadbu od E. Dobivamo:
n
2
= m(m
2
+ame
2
+be
4
).
Stavimo b
1
= nzd(m, b), gdje je predznak odabran tako da je mb
1
> 0.
Tada je m = b
1
m
1
, b = b
1
b
2
, n = b
1
n
1
, pa dobivamo
n
2
1
= m
1
(b
1
m
2
1
+am
1
e
2
+b
2
e
4
).
Budui da su faktori na desnoj strani posljednje jednadbe relativno prosti,
te m
1
> 0, zakljuujemo da postoje cijeli brojevi M i N tako da vrijedi
m
1
= M
2
, b
1
m
2
1
+am
1
e
2
+b
2
e
4
= N
2
, te tako konano dobivamo jednadbu
N
2
= b
1
M
4
+aM
2
e
2
+b
2
e
4
(2.30)
u kojoj su nepoznanice M, e i N. Sada je (x, y) = (
b
1
M
2
e
2
) Q
2
=

b
1
.
Zakljuujemo da se Im() sastoji od

1,

b, te od svih

b
1
gdje je b
1
djelitelj
broja b za kojeg jednadba
N
2
= b
1
M
4
+aM
2
e
2
+b
2
e
4
,
gdje je b
1
b
2
= b, ima rjeenja N, M, e Z, e ,= 0. Tada je (
b
1
M
2
e
2
,
b
1
MN
e
3
)
E(Q). Uoimo da jednadba (2.30) uvijek ima rjeenja za b
1
= 1, a to je
(M, e, N) = (1, 0, 1) i za b
1
= b, a to je (M, e, N) = (0, 1, 1).
Pri ispitivanju rjeivosti jednadbe (2.30) moemo pretpostaviti da je
nzd(M, e) = 1. Takoer, nije gubitak openitosti ako se gledaju samo oni
djelitelji b
1
koji su kvadratno slobodni. Alternativno, ako se gledaju svi
djelitelji b
1
, onda se moe traiti samo rjeenja koja zadovoljavaju nzd(N, e) =
nzd(M, N) = 1.
Imamo sljedei algoritam za raunanje ranga eliptike krivulje E koja
ima racionalnu toku reda 2, tj. ima jednadbu oblika (2.28). Za svaku fak-
torizaciju b = b
1
b
2
, gdje je b
1
kvadratno slobodan cijeli broj, napiemo jed-
nadbu (2.30). Pokuamo odrediti ima li ta jednadba netrivijalnih cjelo-
brojnih rjeenja (uoimo da za ovakve jednadbe ne mora vrijediti lokalno-
globalni princip Hassea i Minkowskog, to znai da zapravo nemamo algori-
tam koji bi sa sigurnou odgovorio na ovo pitanje). Svako rjeenje (M, e, N)
jednadbe (2.30) inducira toku na krivulji E s koordinatama x =
b
1
M
2
e
2
,
y =
b
1
MN
e
3
. Neka je r
1
broj faktorizacija za koje pripadna jednadba (2.30)
ima rjeenja, te neka je r
2
broj deniran na isti nain za krivulju E

. Tada
postoje nenegativni cijeli brojevi e
1
i e
2
takvi da je r
1
= 2
e
1
, r
2
= 2
e
2
i
pritom vrijedi da je
rank (E) = e
1
+e
2
2.
Algoritmi za eliptike krivulje 59
Primjer 2.12. Izraunajmo rang eliptike krivulje
E : y
2
= x
3
5x.
Rjeenje: Ovdje je pripadna 2-izogena krivulja
E

: y
2
= x
3
+ 20x.
Za krivulju E, mogunosti za broj b
1
su 1, 5. Za b
1
= 1 i b
1
= 5 ne
trebamo gledati jer znamo su pripadne jednadbe sigurno rjeive. Preostaju
b
1
= 1, b
1
= 5 i pripadne diofantske jednadbe N
2
= M
4
+ 5e
4
, N
2
=
5M
4
e
4
, Budui da je 2
2
= 1
4
+5 1
4
, zakljuujemo da je r
1
= 4 i e
1
= 2.
Za E

je b

1
1, 2, 4, 5, 10, 20. Meutim, ako uzmemo da
je b

1
je kvadratno slobodan, te uvaimo da oito b

1
i b

2
ne mogu oba biti
negativni, dobijemo da je b

1
1, 2, 5, 10. Za 1 i 5 ne trebamo gledati jer
je

5 =

20, pa moramo jo samo odrediti ima li jednadba
N
2
= 2M
4
+ 10e
4
rjeenja. Budui da su M i e relativno prosti, moemo pretpostaviti da je
nzd(M, 5) = 1. Tada je po Malom Fermatovom teoremu M
4
1 (mod 5) i
N
2
2 (mod 5). No, to je nemogue jer kvadrati cijelih brojeva pri djeljenju
s 5 daju ostatke 0, 1 ili 4. Zakljuujemo da je r
2
= 2 i e
2
= 1. Konano je
rank (E) = 2 + 1 2 = 1.

Uoimo da smo u prethodnom primjeru kod eliminiranja b


1
-ova za koje
pripadna diofantska jednadba nema rjeenja koristili injenice da negativan
broj ne moe biti kvadrat u R, te da broj 2 nije kvadrat u Z
5
. No, kod
diofantskih jednadbi stupnja veeg od 2 moe se dogoditi da one imaju
rjeenja u R, te da imaju rjeenja u Z
m
za svaki cijeli broj m, ali da ipak
nemaju netrivijalnih rjeenja u Q. Jedan takav primjer je jednadba
N
2
= 17M
4
4e
4
koja se pojavljuje kod raunanja ranga eliptike krivulje y
2
= x
3
+ 17x. U
takvim sluajevima je odreivanje ranga znatno tee.
Oznaimo sa (b) broj razliitih prostih faktora od b. Tada b ima 2
(b)+1
(pozitivnih i negativnih) kvadratno slobodnih faktora. Sada iz formule 2
r
=
|Im()||Im()|
4
, slijedi direktno da je r (b) +(b

). No, iz jednadbe (2.30)


slijedi da ako je a 0 i b > 0, onda b
1
mora biti pozitivan. Analogno, ako je
a

0 i b

> 0, onda b

1
mora biti pozitivan. Isto tako iz
N
2
= b
1
(M
2
+
ae
2
2b
1
)
2

e
4
4b
1
Algoritmi za eliptike krivulje 60
slijedi da ako je b

< 0, onda b
1
mora biti pozitivan, te analogno ako je b < 0,
onda b

1
mora biti pozitivan. Uoimo da b i b

ne mogu biti istovremeno nega-


tivni, jer je 4b +b

= a
2
. Oito je a 0 ili a

0. Stoga se negativni djelitelji


ne mogu pojaviti u barem jednom od skupova Im(), Im(). Zakljuujemo
da je
r (b) +(b

) 1.
U sluaju kada je rang jednak 0 (i mi to uspijemo dokazati), pomou Lutz-
Nagellovog teorema mogu se nai sve racionalne, pa onda i sve cjelobrojne
toke na toj eliptikoj krivulji.
O nalaenju svih cjelobrojnih toaka na eliptikoj krivulji pozitivnog
ranga (takvih toaka ima konano mnogo) bit e rijei neto kasnije.
Primjer 2.13. Promotrimo skup 1, 2, 5. On je tzv. D(1)-trojka. Naime,
1 2 1, 1 5 1 i 2 5 1 su potpuni kvadrati. Postavlja se pitanje, moe li
se ovaj skup proiriti do etvorke s istim svojstvom, tj. postoji li x Z takav
da su
1 x 1, 2 x 1, 5 x 1
kvadrati cijelih brojeva. Pokazat emo da je jedino rjeenje x = 1, pa jer
je 1 1, 2, 5, to e znaiti da se skup 1, 2, 5 ne moe proiriti D(1)-
etvorke. Ova se tvrdnja moe dokazati transformacijom problema na rjeava-
nje sustava pellovskih jednadbi Bakerovom metodom. No, mi emo ovdje ri-
jeiti i neto openitiji problem nalaenja svih cjelobrojnih (ak svih racional-
nih) toaka na eliptikoj krivulji
y
2
= (x 1)(2x 1)(5x 1). (2.31)
Rjeenje: Dovedimo najprije krivulju u Weierstrassov oblik, mnoenjem
obje strane jednadbe s 10
2
i supstitucijom 10y y, 10x x. Dobivamo
y
2
= x
3
17x
2
+ 80x 100.
Translacijom x x + 5, dovedimo krivulju u oblik prikladan za raunanje
ranga:
E : y
2
= x
3
2x
2
15x.
Njezina 2-izogena krivulja je
E

: y
2
= x
3
+ 4x
2
+ 64x.
Za krivulju E, mogunosti za broj b
1
su 1, 3, 5, 15. Pripadne dio-
fantske jednadbe su N
2
= M
4
2M
2
e
2
15e
4
, N
2
= M
4
2M
2
e
2
+
15e
4
, N
2
= 3M
4
2M
2
e
2
5e
4
, N
2
= 3M
4
2M
2
e
2
+ 5e
4
, N
2
=
5M
4
2M
2
e
2
3e
4
, N
2
= 5M
4
2M
2
e
2
+ 3e
4
, N
2
= 15M
4
2M
2
e
2

e
4
, N
2
= 15M
4
2M
2
e
2
+ e
4
. Zbog simetrinosti, dovoljno je ispitati
Algoritmi za eliptike krivulje 61
rjeivost prve etiri jednadbe. Za prvu jednadbu ve znamo da ima rjeenje
(M, e, N) = (1, 0, 1), dok etvrta ima rjeenje (M, e, N) = (1, 1, 0). Druga
jednadba je ekvivalentna sa N
2
= (3e
2
M
2
)(5e
2
+M
2
). Lako se vidi da je
nzd(3e
2
M
2
, 5e
2
+M
2
) 1, 2, pa imamo dvije mogunosti: ili su oba fak-
tora kvadrati ili su oba dvostruki kvadrati. No, 3e
2
M
2
= s
2
je nemogue
modulo 3, jer je (
1
3
) = 1, dok je 5e
2
+M
2
= 2t
2
nemogue modulo 5, jer je
(
2
5
) = 1. Trea jednadba je ekvivalentna sa N
2
= (M
2
+e
2
)(3M
2
5e
2
).
Ponovo imamo iste dvije mogunosti za faktore u zadnjem izrazu, i ponovo
obje mogunosti otpadaju: 3M
2
5e
2
= t
2
je nemogue modulo 5, jer je
(
3
5
) = 1, dok je 3M
2
5e
2
= 2t
2
nemogue modulo 8, jer je 3M
2
5e
2
6
(mod 8), a 2t
2
2 (mod 8) (kvadrat neparnog broja daje ostatak 1 pri
dijeljenju s 8). Dakle, e
1
= 2.
Za E

je b

1
1, 2, pa su pripadne diofantske jednadbe N
2
=
M
4
+4M
2
e
2
+64e
4
, N
2
= M
4
+4M
2
e
2
64e
4
, N
2
= 2M
4
+4M
2
e
2
+32e
4
i N
2
= 2M
4
+ 4M
2
e
2
32e
4
. Za prvu jednadbu znamo da ima rjeenje
(M, e, N) = (1, 0, 1). Primijetimo da je ovdje

b

=

64 =

1. Druga i etvrta
jednadba su ekvivalentna s N
2
= (M
2
2e
2
)
2
60e
4
, odnosno N
2
=
2(M
2
e
2
)
2
30N
2
, te oito nemaju netrivijalnih rjeenja. Trea jednadba
je ekvivalentna sa 2 (N/2)
2
= (M
2
+e
2
)
2
+ 15e
4
, te nema rjeenja modulo
5, jer je (
2
5
) = 1. Dakle, e
2
= 0.
Zakljuak: rank (E) = 2 + 0 2 = 0.
Dakle, treba jo samo nai torzijske toke na E. Ona ima tri toke reda
2: (0, 0), (3, 0), (5, 0). Za ostale torzijske toke (x, y) bi trebalo vrijediti
y
2
[D = 14400, tj. y[120. Moemo provjeriti da jednadbe x(x 3)(x + 5) =
1, 4, 9, . . . , 144000 nemaju cjelobrojnih rjeenja. Alternativno, moemo uoiti
da je [E(F
7
)[ = 4. Dakle, jedine racionalne toke na E su O, (0, 0), (3, 0),
(5, 0), pa su jedine racionalne toke na krivulji (2.31): O, (1, 0), (
1
2
, 0), (
1
5
, 0).
Stoga je jedini cijeli broj x sa svojstvom da su 1 x 1, 2 x 1 i 5 x 1
potpuni kvadrati, broj x = 1.
U implementaciji metode silaska pomou 2-izogenije, tj. u testiranju
rjeivosti pripadnih jednadbi (2.30), obino postupamo tako da najprije te-
stiramo ima li jednadba rjeenja s malim visinama. Ako tako ne naemo
rjeenje, onda provjeravamo ima li jednadba rjeenja svugdje lokalno. Ako
ima rjeenja svugdje lokalno, onda pokuamo nai globalno rjeenje s veom
visinom. Kao to smo ve naglasili, ovaj korak ne mora biti uspjean jer
se moe dogoditi da iako je jednadba rjeiva svugdje lokalno, nije rjeiva
globalno ili da najmanje globalno rjeenje ima jako veliku visinu.
Recimo neto o nainu traenja rjeenja jednadbe (2.30) s relativno
malim visinama. Openitije, moemo se pitati kako traiti racionalne toke
na krivulji oblika Y
2
= F(X), gdje je F polinom s cjelobrojnim koecijen-
tima (stupnja m; u naim primjenama je stupanj 4) takve da je h(X) B.
Ono to bi mogli nazvati naivna metoda bilo bi redom za sve racionalne
brojeve X = u/v takve da je max[u[, [v[ e
B
, testirati je li broj F(u, v) =
Algoritmi za eliptike krivulje 62
v
m
F(X) potpun kvadrat (ako je stupanj m neparan, onda gledamo F(u, v) =
v
m+1
F(X)). (Naravno, moemo uzeti da je v 0, a ako je polinom F paran,
onda moemo pretpostaviti i da je u 0.) Ekasnije metode koriste in-
jenicu da ako je prirodan broj n potpun kvadrat, onda je n kvadratni os-
tatak modulo p za svaki prost broj p. Budui da je sluaj prirodan broj
kvadratni ostatak modulo p (za neparan prost broj p) s vjerojatnou 50%,
moemo oekivati da emo za svaki ksni prosti broj moi eliminirati oko
polovicu moguih parova (u, v). Potom koristimo ideju slinu onoj iz Er-
atostenovog sita za generiranje prostih brojeva, tj. uzmemo konaan skup
neparnih prostih brojeva P (p = 2 moemo ukljuiti u test tako da pro-
matramo jednadbu modulo 16) te izbacimo sve one parove (u, v) koji ne
zadovoljavaju uvjet da je F(u, v) kvadrat modulo p za sve p P (i modulo
16), pa samo za one parove koji preostanu nakon svih eliminacija testiramo
je li zaista F(u, v) potpun kvadrat. Npr. ako je F(X) = a
m
X
m
+ i a
m
nije kvadrat, onda moemo eliminirati sve nazivnike v koji su djeljivi s bilo
kojim prostim brojem p takvim da je (
a
m
p
) = 1. Nadalje, pretraga se moe
ograniiti samo na one parove za koje je F(u, v) 0. Najpoznatija imple-
mentacija ove ideje jest program RATPOINTS autora M. Stolla.
Mi emo ovdje dati jedan jednostavni rekurzivni algoritam koji takoer
koristi istu ideju. Sljedei algoritam sito (u
0
, v
0
, R) nalazi rjeenja jednadbe
Y
2
= F(X), koja zadovoljavaju nejednakost h(X) B, te za X = u/v
vrijedi da je u u
0
(mod R), v v
0
(mod R).
Rekurzivni algoritam sita za jednadbu Y
2
= F(X)
sito (u
0
, v
0
, R) =
p najmanji prost broj koji ne dijeli R
for v
1
= v
0
to pR step R,
for u
1
= u
0
to pR step R,
if (p u
1
or p v
1
) then
if (F(u
1
, v
1
) je kvadrat modulo p) then
if (pR > 2e
B
) then
provjeri je li u
1
/v
1
ili (u
1
pR)/v
1
rjeenje jednadbe
else
sito (u
1
, v
1
, pR)
Algoritam se poziva sa sito (0, 0, 1). Radi rekurzivno, pretpostavljajui
da postoji rjeenje (u
0
, v
0
) modulo R, podie ga do rjeenja modulo pR,
gdje je p prost broj koji ne dijeli R. Za svako pronaeno rjeenje modulo
pR, algoritam se ponovo poziva, te se tako nastavlja sve dok modul ne bude
vei od 2e
B
. Tada se rjeenja po tom modulu testiraju da se vidi daju li
stvarno globalno rjeenje. Naime, iz u u
1
(mod pR), [u[ < e
B
, 0 u
1
<
pR i pR > 2e
B
slijedi da je u = u
1
ili u = u
1
pR. Ocjenimo ugrubo
koliko emo prostih brojeva trebati koristiti. Recimo da koristimo sve proste
Algoritmi za eliptike krivulje 63
brojeve B
0
. elimo da produkt tih prostih brojeva bude vei od 2e
B
,
tj.

pB
0
log p > B + log(2), a budui da je

pB
0
log p = (B
0
) B
0
,
imamo da je B
0
B, pa je broj koritenih prostih brojeva priblino B/ log B.
Sloenost algoritma je ugrubo
p
2
1
(1 +
p
2
2
2
(1 +
p
2
3
2
(1 + ))) B
2
(1 +
B
2
2
(1 +
B
2
2
(1 + )))
=

B/ log B
i=1
B
2i
2
i1
= 2B
2
(B
2
/2)
B/ log B
1
B
2
2
= O((B
2
/2)
B/ log B
).
Ovo je malo bolje od naivne metode, ali ve za B = 20 i ovaj algoritam
postaje vremenski prezahtjevan.
Recimo sada neto u provjeravanju lokalne rjeivosti jednadbe
N
2
= b
1
M
4
+aM
2
e
2
+b
2
e
4
, (2.32)
odnosno njoj pridruene (ane) jednadbe
u
2
= b
1
v
4
+av
2
+b
2
. (2.33)
Openito, kriterij za rjeivost nad R (tj. za p = ) jednadbe Y
2
= g(X)
je vrlo jednostavan: polinom g mora u nekoj toki x poprimiti pozitivnu
vrijednost. To e sigurno biti zadovoljeno ako ako g ima realnih korijena, a
ako g nema realnih korijena, onda vodei koecijent od g mora biti pozitivan.
to se tie rjeivosti jednadbe (2.33) u Q
p
(odnosno jednadbe (2.32)
modulo p
k
za svaki k 1), dovoljno je promatrati samo one proste brojeve p
za koje vrijedi p[2. Naime, pokazuje se da su za sve ostale p-ove jednadbe
sigurno rjeive.
Jednadbu (2.32) moemo zapisati i u obliku
N
2
= b
1
_
M
2
+
ae
2
2b
1
_
2

e
4
4b
1
,
odakle dobivamo uvjet da za svaki neparni prosti djelitelj p od b

mora za
Legendreov simbol vrijediti (
b
1
p
) = 1. Naravno, ovo daje samo nuni, a ne
i dovoljni uvjet za rjeivost u Q
p
. Opi algoritam koristi Henselovu lemu,
tako da za dano rjeenje modulo p
k
provjerava moe li se to rjeenje podii
do rjeenja modulo p
k+1
. im je k dovoljno velik (k > ord
p
()), algoritam
sigurno daje odgovor na to pitanje, te tako rjeava pitanje rjeivosti u Q
p
.
Pretpostavimo sada da smo u gore opisanom algoritmu silaska pomou
2-izogenije naili na jednadbu (homogeno mjesto, torzor)
u
2
= b
1
v
4
+av
2
+b
2
, b
1
b
2
= b (2.34)
koja je svugdje lokalno rjeiva, ali nismo na njoj uspjeli nai racionalnu
toku. Opisat emo sada metodu drugog silaska, pomou koje se moe
ponekad pronai racionalnu toku (u, v) na (2.34) ili dokazati da (2.34) nema
Algoritmi za eliptike krivulje 64
racionalnih toaka. Ideja je da budui je (2.34) svugdje lokalno rjeiva, onda
je i pripadna konika
u
2
= b
1
w
2
+aw +b
2
, (2.35)
svugdje lokalno rjeiva. No, za ovakve kvadratne jednadbe vrijedi princip
Hassea i Minkowskoga, koji povlai da tada (2.35) i globalno rjeiva, tj. da
ima racionalnu toku (u
0
, w
0
). Moemo pretpostaviti da je w
0
,= 0, jer ako
je w
0
= 0, onda je b
2
kvadrat, pa jednadba (2.34) sigurno ima rjeenja. Sve
racionalne toke na (2.35) mogu se dobiti sljedeim parametarskim formu-
lama:
w =
w
0
t
2
2u
0
t +a +b
1
w
0
t
2
b
1
,
u =
u
0
t
2
+ (a + 2b
1
w
0
)t u
0
b
1
t
2
b
1
.
elimo nai (ili dokazati da ne postoji) racionalan broj t takav da je w =
f(t)
g(t)
kvadrat racionalnog broja. Dakle, imamo uvjet
f(t) = 2, g(t) = 2, (2.36)
za neki cijeli broj (moemo pretpostaviti da je kvadratno slobodan i
razliit od nule). Oznaimo s k nazivnik od w
0
. Tada je ku
0
Z, pa je
kf Z[t]. Vrijedi
kf +kg = R,
gdje je R resultanta polinoma kf i kg. Dobije se da je R = k
4
b

, (t) =
k
2
(2u
0
t +a + 2b
1
w
0
), (t) = k
2
(2u
0
w
0
t + 4u
2
0
aw
0
2b
1
w
2
0
).
Pretpostavimo da je t = t
1
/t
2
, gdje je nzd(t
1
, t
2
) = 1, rjeenje sustava
(2.36). Tada je
(t
2
(t)) (t
2
2
kf(t)) + (t
2
(t)) (t
2
2
kg(t)) = t
3
2
k
4
b

i svi izrazi u zagradama su cijeli brojevi. Stoga dijeli t


3
2
k
4
b

. Nadalje,
iz t
2
2
g(t) = t
2
1
b
1
t
2
2
= 2, pretpostavke da je kvadratno slobodan i
gcd(t
1
, t
2
) = 1 slijedi da je nzd(, t
2
) = 1. Zakljuujemo da dijeli kb

, to
daje konaan skup moguih kandidata za .
Za = 1 imamo t
2
b
1
= s
2
, odnosno u homegenim koordinatama
T
2
b
1
U
2
= S
2
to ima rjeenje (T, U, Z) = (1, 0, 1). Ope rjeenje je
t =

2
+b
1
2
, Q,
koje onda uvrtavamo u f(t) = 2, te dobivamo uvjet oblika kvartika u
= 2.
Za ,= 1, dobivamo jednadbu
t
2
b
1
= s
2
(2.37)
Algoritmi za eliptike krivulje 65
Provjerimo najprije je li svugdje lokalno rjeiva (treba gledati p = i proste
djelitelje od b
1
). Ako je svugdje lokalno rjeiva, onda ima globalno rjeenje
(s
0
, t
0
). Ako je f(t
0
) = 2, onda smo gotovi jer smo nali racionalnu toku
na polaznoj kvartiki. U protivnom, promotrimo ope rjenje
t =
t
0

2
2s
0
+t
0

, Q.
Uvrstimo li ovo u f(t) = 2, ponovo dobivamo uvjet oblika kvartika u
= 2.
Ovako dobivene kvartike se zovu izvedene (ili sputene) kvartike. Sada
se s njima ponavlja postupak ispitivanja lokalne rjeivosti, te traenja rjeenja
s relativnom malom visinom. Ponovo nema garancije da emo u svakom
sluaju dobiti odgovor.
Primjer 2.14. Izraunajmo rang krivulje
E : y
2
= x
3
8x
2
+x.
Rjeenje: Njezina 2-izogena krivulja je
E

: y
2
= x
3
+ 16x
2
+ 60x.
Imamo da je a = 8, b = 1, a

= 16, b

= 60, te dobivamo sljedee kandidate


za b
1
i b

1
: b
1
1, b

1
1, 2, 3, 5, 6, 10, 15, 30. Dakle, ve
znamo da je e
1
= 0, te jo treba odrediti e
2
. Zbog e
1
+ e
2
2, znamo da
mora vrijediti e
2
2. Zaista, na E

imamo jo dvije toke reda 2: (6, 0) i


(10, 0). To nam daje da su 1, 6, 10, 15 sigurno u Im(). Zakljuujemo
da je 2 e
2
4, to daje ocjenu za rang: 0 r 2. Moe se provjeriti da je
svih 16 torzora koji odgovaraju mogunostima za b

1
svugdje lokalno rjeivo.
Primijenimo drugi silazak na
u
2
= v
4
+ 16v
2
60.
Na pridruenoj koniki u
2
= w
2
+16w60 imamo racionalnu toku (u
0
, w
0
) =
(0, 6), pa je k = 1 i
w =
6t
2
+ 10
t
2
+ 1
.
Uoimo da ovdje prije opisanu metodu drugog silaska primijenjujemo na E

,
te da je (b

= 16. Mogunosti za su 1 i 2.
Za = 1, imamo t =

2
1
2
, te dobivamo izvedenu kvatriku
6
4
+ 28
2
+ 6 = 2.
Ona nema rjeenja u Q
2
. Zaista, za =
1
/
2
, ako je
1
ili
2
paran, imamo
6
4
1
+ 28
2
1

2
2
+ 6
4
2
6 (mod 8), a ako su
1
i
2
neparni, onda je 6
4
1
+
28
2
1

2
2
+ 6
4
2
8 (mod 16).
Algoritmi za eliptike krivulje 66
Za = 2, pripadna jednadba (2.37) ima rjeenje (s
0
, t
0
) = (2, 1), pa
imamo
t =

2
4 + 2

2
2
.
Izvedena kvartika je sada
2(
4
3
3
+ 5
2
6 + 4) = 2.
Nije teko vidjeti da ova kvartika nema rjeenja u Q
2
. Uvrtavanjem svih
moguosti da
1
,
2
mod 16 dobije se da 2(
4
3
3
+5
2
6 +4) nije nikad
kvadrat modulo 16 (kvadrati modulo 16 su 0, 1, 4, 9). Dakle, pokazali smo
da b

1
= 1 , Im(), to povlai da je 0 r 1. (Slutnja koju emo malo
kasnije spomenuti ve odavde povlai da je r = 0.)
Pogledajmo sada torzor
u
2
= 2v
4
+ 16v
2
30.
Pripadna konika ima racionalnu toku (u
0
, w
0
) = (0, 3), pa je k = 1,
f(t) = 3t
2
+ 10, g(t) = t
2
+ 2.
Ponovo je R = 16, mora biti pozitivan, pa imamo mogunosti = 1 ili
= 2. Pokazuje se da niti jedna od pripadne dvije izvedene kvartike nije
rjeiva nad Q
2
. Dakle, 2 , Im().
Analogno se pokazuje da 2 , Im(). Promatra se torzor u
2
= 2v
4
+16v
2
+
30 s racionalnom tokom na pripadnoj koniki (u
0
, w
0
) = (4, 1). Ovdje su
mogunosti za = 1, 2.
Sada znamo da 1, 6, 10, 15 Im(), te 1, 2, 2 , Im(). No, ako
je i Im(), j , Im(), onda i j , Im(). Tako dobivamo da niti jedan
od elemenata 6 (2) = 3, 6 2 = 3, 10 (2) = 5, 10 2 = 5,
6 (1) = 6, 15 (1) = 15, 15 2 = 30, 15 (2) = 30 (sve operacije
su Q/Q

) nije u Im(). Stoga je Im() = 1, 6, 10, 15 i r = 0.


Skup svih b
1
za koje je jednadba (2.30) svugdje lokalno rjeiva takoer
ini grupu (i analogno za b

1
). Ako su pripadni redovi 2
f
1
i 2
f
2
, onda se broj
s = f
1
+f
2
2 naziva Selmerov rang od E. Jasno je da je r s. Vidjeli smo
na primjerima da moe biti r = s, ali i r < s. Slutnja je da je r s (mod 2).
Program MWRANK autora Johna Cremone predstavlja danas najbolju
slobodno dostupnu implementaciju algoritama navedenih u ovom poglavlju.
Ukljuen je u programski paket SAGE.
Primjerice za krivulju
y
2
+xy +y = x
3
+ 34318214642441646362435632562579908747x
+ 3184376895814127197244886284686214848599453811643486936756
Algoritmi za eliptike krivulje 67
(Dujella, 2002) za manje od 10 sekundi dobijemo rezultat da je rang jednak
15. Uz opcije mwrank -v 0 -o dobivamo output u obliku prikladnom za
interakciju s PARI-jem:
[[15],
[[1932582037583921429525068139/20052484, 85266017462824901833206386641046403974733/89795023352],
[13070363183130396895, 22426720593885250315808361822],
[9078914752207548334164879/3724900, 411883550391942617366531307703144678657/7189057000],
[7007445993440694361372245/34969, 18561410601719170080618893537906456866/6539203],
[13355269496967217795, 18546130994061497511090240822],
[149870247957012331948105845/5678689, 2028605859078953898287470255223606071114/13532315887],
[733136262557597968336021008/3052009, 19858937569077402700127984270443452206044/5331859723],
[64477624322529690869079745/31427236, 9817780211323241387273625449736313512927/176181085016],
[400403178044680851773070/29929, 402332496020048427677508364465518374/5177717],
[644032321294427950393722414045/23860363024, 568304660161464498684456724621287778818542621/3685662555591232],
[77907613083308505969942914720/10871607289, 69861217834666589660130540792904754692492236/1133549877202163],
[2336794052323119040528950866670/2250838249, 3572219934150181057098017887493794635552612154/106786519047307],
[17800941052090028988748755/1281424, 7527801861977928071320713933862221929/1450571968],
[4221484502164642865015109720/2199289, 274283649415183707195607637459232322865764/3261545587],
[4800885649600334123495970/516961, 16889638094480540858475491871421774702/371694959]]]
Ova je krivulja 2002. bila krivulja s najveim rangom za koju je rang egza-
ktno izraunat (a ne samo donja ograda za rang). Danas je takva rekordna
krivulja, krivulja ranga 18 koju je pronaao Elkies 2006. godine:
y
2
+xy = x
3
26175960092705884096311701787701203903556438969515x
+ 51069381476131486489742177100373772089779103253890567848326775119094885041.
I za ovu krivulju MWRANK vrlo brzo (za oko 45 sekundi) daje odgovor.
Primijetimo da je u oba navedena primjera s krivuljama velik ranga, Selmerov
rang jednak pravom rangu, tj. sve pripadne kvartike koje su svugdje lokalno
rjeive su i globalno rjeive.
Moda je zanimljivo spomenuti primjer krivulje
y
2
+xy = x
3
5196566226657436778923246749269557870259563525x
+ 108524435536789180832145744969499820261395235797502340579377262254657
iji je Selmerov rang jednak 16, ali se primjenom drugog silaska gornja ograda
za rang smanji na 12, to je ujedno i tona vrijednost za rang (MWRANK
ga izrauna za 11 sekundi).
Navedimo jo i ovaj primjer:
y
2
= x
3
330103617743579212924464480x
1027948247276714893717139585833323941772.
Za ovu krivulju standardna verzija MWRANK-a daje (nakon drugog silaska)
gornju ogradu za rang 3, ali nalazi samo dvije nezavisne toke. Budui da je
Selmerov rang jednak 5, oekujemo da bi rang trebao biti neparan, tj. jednak
3. O takvom sluaju ima smisla poveati ogradu na visinu toaka u pretrazi
za racionalnim toakama na svugdje lokalno rjeivim kvartikama (moe biti
korisno i poveati preciznost). Tako da mwrank -p 50 -b 16 pronalazi treu
nezavisnu toku i dokazuje da je rang jednak 3.
Algoritmi za eliptike krivulje 68
2.9 Raunanje ranga - opi 2-silazak
Opisat emo sada algoritam za raunanje ranga u opem sluaju, dakle,
kada E ne mora imati toku reda 2. Osnovu za algoritam predstavlja rad
Bircha i Swinnerton-Dyera iz 1963. godine, dok je za implementaciju zasluan
Cremona, te je i ovaj algoritam sadran u MWRANK-u (iako radi znatno
neekasnije od verzije za krivulje s tokom reda 2). Ponovo je ideja pridruiti
krivulji E familiju kvartika. U ovom sluaju one imaju openitiji oblik:
H : y
2
= g(x) = ax
4
+bx
3
+cx
2
+dx +e. (2.38)
Ovdje su a, b, c, d, e Q i to takvi da za invarijante
I = 12ae 3bd +c
2
, J = 72ace + 9bcd 27ad
2
27eb
2
2c
3
vrijedi I =
4
c
4
, J = 2
6
c
6
za neki Q. Takve dvije kvartike y
2
= g
1
(x)
i y
2
= g
2
(x) su ekvivalentne ako postoje , , , , Q takvi da je ,= 0,
,= 0 i vrijedi
g
2
(x) =
2
(x +)
4
g
1
(
x +
x +
).
Tada su im invarijante povezane relacijama
I(g
2
) =
4
( )
4
I(g
1
), J(g
2
) =
6
( )
6
J(g
1
).
Stavimo = 4I
3
J
2
= 27disc(g).
Skaliranjem koecijenata moemo postii da su invarijante I i J cjelo-
brojne. Koritenjem slinog algoritma kao kod nalaenje minimalne Weier-
strassove jednadbe, za danu kvartiku moe se nai ekvivalentna kvartika s
minimalnim invarijantama. U stvari, ako koecijenti c
4
i c
6
odgovaraju min-
imalnom Weierstrassovom modelu od E, onda su I = c
4
i J = 2c
6
takoer
minimalni, osim moda u p = 2 (minimalnost u p = 2 se moe izgubiti jer
u (2.38) nismo uzeli najopenitiji oblik kvartike s lanovima uz y, xy i x
2
y,
koji se za p ,= 2 mogu eliminirati nadopunjavanjem na potpun kvadrat).
Ako su c
4
i c
6
koecijenti krivulje E, stavimo I = c
4
, J = 2c
6
, te zami-
jenimo E s izomorfnom krivuljom
E
I,J :
Y
2
= F(X) = X
3
27IX 27J (2.39)
(ponekad emo i ovu krivulju jednostavno zvati E).
Svakoj kvartiki y
2
= g(x) mogu se pridruiti dvije kovarijante:
g
4
(X, Y ) = (3b
2
8ac)X
4
+ 4(bc 6ad)X
3
Y + 2(2c
2
24ae 3bd)X
2
Y
2
+ 4(cd 6be)XY
3
+ (3d
2
8ce)Y
4
,
g
6
(X, Y ) = (b
3
+ 8a
2
d 4abc)X
6
+ 2(16a
2
e + 2abd 4ac
2
+b
2
c)X
5
Y
+ 5(8abe +b
2
d 4acd)X
4
Y
2
+ 20(b
2
e ad
2
)X
3
Y
3
5(8ade +bd
2
4bce)X
2
Y
4
2(16ae
2
+ 2bde 4c
2
e +cd
2
)XY
5
(d
3
+ 8be
2
4cde)Y
6
.
Algoritmi za eliptike krivulje 69
Homogenirani polinom g emo oznaavati istim slovom: g(X, Y ) = aX
4
+
bX
3
Y + cX
2
Y
2
+ dXY
3
+ eY
4
. Ova tri homogena polinoma zadovoljavaju
identitet, tzv. syzygy:
27g
2
6
= g
3
4
48Ig
2
g
4
64Jg
3
. (2.40)
Pojednostavljeni syzygy se dobije uvrtavanjem (X, Y ) = (1, 0). Tada za
semivarijante p = g
4
(1, 0) = 3b
2
8ac, r = g
6
(1, 0) = b
3
+8a
2
d4abc vrijedi
27r
2
= p
3
48Ia
2
p 64Ja
3
. (2.41)
Iz formule (2.40), dobivamo preslikavanje : H(Q) E
I,J
(Q), stupnja
4, koje toki (x, y) na krivulji H (danoj jednadbom y
2
= g(x, 1)) pridruuje
toku
_
3g
4
(x, 1)
(2y)
2
,
27g
6
(x, 1)
(2y)
3
_
(2.42)
na krivulji E
I,J
(pritom se toke u beskonanosti na H preslikavaju u (
3p
4a
,
27r
(4a)
3/2
),
to su racionalne toke ako i samo ako je a kvadrat).
Vrijede sljedee injenice:
Ako je R H(Q) i P = (R) E
I,J
(Q), onda klasa od P mod-
ulo 2E
I,J
(Q) ne ovisi o izboru od R. Takoer, odgovarajue toke na
ekvivalentnim kvartikama imaju iste slike u E
I,J
(Q).
Svaka toka P = (x, y) E
I,J
(Q) je slika neke toke na nekoj kvartiki g
s invarijantama I i J. Zaista, moemo uzeti racionalnu toku u beskon-
anosti na kvartiki s koecientima (a, b, c, d, e) = (1, 0,
x
6
,
y
27
,
I
2

x
2
432
).
Klasa ekvivalencije od g odreena je s P modulo 2E
I,J
(Q).
Skup klasa ekvivalencije svugdje lokalno rjeivih kvartika s invarijan-
tama I i J ini konanu grupu (tzv. 2-Selmerova grupa S
(2)
(E/Q)).
Skup klasa ekvivalencije (globalno) rjeivih kvartika s invarijantama I
i J ini konanu grupu izomorfnu s E(Q)/2E(Q). Jedinini element u
grupi je trivijalna klasa, koja se sastoji od kvartika kod kojih g(x) ima
racionalni korijen.
Dakle, imamo sljedeu klasikaciju klasa ekvivalencije kvartika s invari-
jantama I i J:
(0) trivijalna klasa koja se sastoji od kvartika y
2
= g(x) kod kojih g(x)
ima racionalni korijen. Te su kvartike izomorfne E nad Q;
(1) kvartike koje imaju racionalnu toku - to su eliptike krivulje koje su
twistovi od E;
(2) kvartike koje imaju toku svugdje lokalno;
Algoritmi za eliptike krivulje 70
(3) kvartike koje nemaju toku svugdje lokalno.
Oznaimo broj neekvivalentnih kvartika se svojstvima (1) i (2) redom sa n
1
i n
2
. Zbog strukture pripadnih grupa, znamo da postoje e
i
, i = 1, 2, takvi
da je n
i
= 2
e
i
.
Imamo egzaktni niz
0 E(Q)/2E(Q) S
(2)
(E/Q) X(E/Q)[2] 0.
Ovdje je X(E/Q)[2] 2-torzijska podgrupa Tate-afarevieve grupe X(E/Q).
Njezini eventualni netrivijalni elementi odgovaraju kvartikama koje su svugdje
lokalno rjeive, ali nemaju globalno rjeenje. Imamo: [X(E/Q)[2][ =
n
2
n
1
.
Krivulja najmanjeg konduktora (bez toaka reda 2) za koju je n
1
< n
2
je
krivulja
y
2
+y = x
3
x
2
929x 10595
konduktora 571, za koju je n
1
= 1 i n
2
= 4.
Algoritam radi na sljedei nain. Najprije se odredi jedan ili vie parova
invarijanti (I, J) sa svojstvom da je svaka kvartika pridruena naoj krivulji
E ekvivalentna kvartiki s upravo tim invarijantama (vidjet emo da e biti
jedan ili dva takva para). Postupak je slian nalaenju minimalne Wier-
strassove jednadbe. Za danu cjelobrojnu kvartiku g s invarijantama I i
J pitamo se postoji li ekvivalentna cjelobrojna kvartika s manjim invari-
jantama. Za par (I, J) kaemo da je p-reducibilan ako je svaka cjelobrojna
kvartika s tim invarijantama koje je p-adski rjeiva ekvivalentna nekoj cjelo-
brojnoj kvartiki s invarijantama p
4
I i p
6
J. Pitanje p-reducibilnosti je skoro
u potpunosti rjeeno sa sljedeim rezultatom.
Propozicija 2.13. Neka su I i J cijeli brojevi takvi da je = 4I
3
J
2
,= 0.
(1) Ako je p prost i p 5, onda je (I, J) p-reducibilan ako i samo ako p
4
[I
i p
6
[J.
(2) Par (I, J) je 3-reducibilan ako i samo ako ili (3
5
[I i 3
9
[J) ili (3
4
[[I,
3
6
[[J i 3
15
[.
(3) Par (I, J) je 2-reducibilan ako 2
6
[I, 2
9
[J i 2
10
[(8I +J).
Uoimo da samo za p = 2 propozicija daje samo dovoljan, a ne i nuan
uvjet za reducibilnost. Zbog toga e u nekim sluajevima trebati promatrati
dva para: manji (I
0
, J
0
) i vei (16I
0
, 64J
0
).
Sada za svaki par (I, J) naemo konaan skup kvartika s invarijantama
(I, J) sa svojstvom da je svaka netrijalna svugdje rjeiva kvartika s tim in-
varijantama ekvivalentna jednoj kvartiki iz tog skupa. Ovaj dio je vremenski
najzahtjevniji, te ga je praktiki nemogue napraviti u razumnom vremenu,
ukoliko su invarijante I i J velike. Za razliku od silaska preko 2-izogenije,
gdje smo kvartike dobili jednostavno faktorizacijom koecijenata b i b

, ovdje
Algoritmi za eliptike krivulje 71
imamo tek donje i gornje ograde za koecijente a, b, c (potom se d i e lako
odrede). Ove ograde ovise o broju realnih korijena polinoma g(x) (ako je
< 0, onda imamo 2 realna korijena, a ako je > 0, onda imamo 0 ili
4 realnih korijena). Kad se formira inicijalna lista kvartika, onda se prov-
jera jesu li u parovima meusobno neekvivalentne. Potom postupamo slino
kao u prethodnom poglavlju: najprije traimo racionalne toke male visine,
pa testiramo lokalnu rjeivost, pa za one kvartike koje su svugdje lokalno
rjeive pokuavamo nai racionalnu toku s veom visinom. I ponovo, kao u
prethodnom poglavlju, nema garancije da emo ovaj korak uspjeti naprav-
iti, jer svugdje lokalno rjeiva kvartika ne mora biti globalno rjeiva. Dakle,
u principu (ako imamo dovoljno raunalnog vremena) imamo algoritam za
nalaenje n
2
, dok emo openito za n
1
dobiti samo donju i gornju ogradu.
No, ako ipak uspijemo odrediti n
1
, onda moemo izraunati i rang r. Naime,
budui da je n
1
= [E(Q)/2E(Q)[, ako E nema racionalnu toku reda 2 (ako
ima takvu toku, onda emo najvjerojatnije koristi algoritam iz prethodnog
poglavlja, a ne ovaj), onda imamo da 2
r
= n
1
.
Konano, ako smo uspjeli izraunati rang, eljeli bi dobiti odgovarajue
nezavisne toke bekonanog reda na krivulji E. Njih emo dobiti tako da
racionalnu toku R = (x, y) na rjeivoj kvartiki y
2
= g(x) prebacimo u
toku P = (R) na E (tj. na E
I,J
) preko formula (2.42).
Primjer 2.15. Izraunajmo rang krivulje
E : y
2
+y = x
3
7x + 6.
Rjeenje: Dat emo samo neke detalje iz raunanja ranga programom
MWRANK. Imamo samo jedan par (I, J) i to (I, J) = (336, 10800).
Najprije traimo svugdje rjeive kvartike tipa 2 (4 realna korijena) i
odmah testiramo imaju li racionalnu toku male visine. Dobivamo:
(1,0,-24,52,-20) nontrivial...(x:y:z) = (1 : 1 : 0)
(1,0,-12,4,16) nontrivial...(x:y:z) = (1 : 1 : 0)
Gledamo kvartike tipa 1 (bez realnih korijena):
(1,0,6,28,25) nontrivial...(x:y:z) = (1 : 1 : 0)
Prebacimo toke s kvartika na polaznu eliptiku krivulju:
Generator 1 is [1:-1:1]; height 0.668205165651928
Generator 2 is [-2:3:1]; height 1.36857250535393
Generator 3 is [-14:25:8]; height 2.71735939281229
Regulator = 0.417143558758385
2.10 Konstrukcija eliptikih krivulja velikog ranga
Izaberemo li eliptiku krivulju na sluajan nain, ona e najvjerojatnije
imati trivijalnu torzijsku grupu i vrlo mali rang (0 ili 1). Ranije smo vidjeli
kako moemo osigurati da krivulja ima unaprijed zadanu torzijsku podgrupu.
Algoritmi za eliptike krivulje 72
Sada emo razmotriti metode za nalaenje eliptikih krivulja relativno ve-
likog ranga (jako velik rang ne moemo oekivati imajui u vidu da trenutno
nije poznata niti jedna eliptika krivulja s rangom veim od 28). Ako to smo
ve spomenuli, iako nam nisu poznati primjeri krivulja s vrlo velikim ranga,
slutnja je da ipak rang moe biti proizvoljno velik. Jedan teoretski rezultat
koji daje izvjesnu potporu toj slutnji je rezultat Tatea i afarevia koji kae
da rang eliptikih krivulja nad poljem F
q
(t) (polje funkcija od jedne varijable
nad konanim poljem) neogranien.
Opa metoda za nalaenje krivulja s velikim rangom se sastoji od sljedee
tri faze:
Konstrukcija: Generiramo familiju eliptikih krivulja nad Q(npr. krivulju
nad Q(t)) za koju vjerujemo (ili znamo) da sadri eliptike krivulje ve-
likog ranga (npr. zato to je generiki rang krivulje nad Q(t) relativno
velik).
Sito: Za svaku krivulju u promatranoj familiji izraunamo neke podatke
koje nam daju izvjesne informacije o rangu (npr. donju i gornju ogradu
za rang - mogue pretpostavljajui da vrijedi neka od ope prihvaenih
slutnji). Ovdje je bitno za se te, (premda moda dosta neprecizne)
informacije o rangu mogu izraunati puno bre od samog ranga. Na
osnovu tih informacija, izabiremo u promatranoj familiji mali podskup
najboljih kandidata za veliki rang.
Raunanje: Za svaku krivulju iz (malog) skupa najboljih kandidata
pokuavamo egzaktno izraunati rang ili barem to bolju donju ogradu
za rang, da bi potvrdili da ta krivulja stvarno ima velik rang.
Veinu metoda koje se i danas koriste u prve dvije faze uveo je Jean-
Francois Mestre izmeu 1982. i 1992. godine.
Prikazat emo jednu njegovu konstrukciju kojom je 1991. godine dobio
beskonano mnogo eliptikih krivulja ranga 11. Ta konstrukcija se obino
naziva Mestreova polinomijalna metoda. Polazite u konstrukciji je sljedea
injenica.
Lema 2.1. Neka je p(x) Q[x] normiran polinom i deg p = 2n. Tada postoje
jedinstveni polinomi q(x), r(x) Q[x] takvi da je p = q
2
r i deg r n 1.
Polinomq moemo nai sukcesivnim raunanjem koecijenata ili iz asimp-
totskog razvoja od

p.
Pretpostavimo sada da je p(x) =

2n
i=1
(xa
i
), gdje su a
1
, . . . , a
2n
razliiti
racionalni brojevi. Tada na krivulji
C : y
2
= r(x)
lee toke (a
i
, q(a
i
)), i = 1, . . . , 2n. Ako je deg r = 3 ili 4, te r(x) nema
viestrukih korijena, onda C predstavlja eliptiku krivulju. Za deg r = 3 to
Algoritmi za eliptike krivulje 73
je sasvim jasno. Ako je deg r = 4, onda izaberemo jednu racionalnu toku na
C (npr. (a
1
, q(a
1
))) za toku u beskonanosti i transformiramo C u eliptiku
krivulju.
Za n = 5 skoro svi izbori a
i
-ova daju deg r = 4. Tada C ima 10 racionalnih
toaka oblika (a
i
, q(a
i
)) i moemo oekivati da emo dobiti eliptiku krivulju
ranga 9. Mestre je konstruirao familiju eliptikih krivulja (tj. eliptiku
krivulju nad poljem racionalnih funkcija Q(t)) ranga 11, tako da je uzeo
n = 6 i a
i
= b
i
+t, i = 1, . . . 6; a
i
= b
i6
t, i = 7, . . . , 12. Sada polinom r(x)
openito ima stupanj 5. Zato moemo pokuati izabrati brojeve b
1
, . . . , b
6
tako da koecijent uz x
5
bude jednak 0. U prvom Mestreovom primjeru iz
1991. godine bilo je b
1
= 17, b
2
= 16, b
3
= 10, b
4
= 11, b
5
= 14, b
6
= 17.
Kasnije su Mestre, Nagao i Kihara, koristei sline konstrukcije, poboljali
ovaj rezultat, te konstruirali krivulje nad Q(t) ranga 14. Nedavno je, koristei
bitno drugaije metode, koje svoje izvorite imaju u algebarskoj geometriji,
Elkies uspio konstruirati krivulju nad Q(t) ranga 18. Sve ove krivulje imaju
trivijalnu torzijsku grupu. Fermigier, Kulesz i Lecacheux su modicirali Mestre-
ovu metodu, te dobili familije krivulja s (relativno) velikim rangom i netriv-
ijalnom torzijskom grupom.
U drugoj fazi, sijanju, gruba ideja je da je izglednije da e krivulja imati
puno racionalnih toaka (tj. veliki rang) ako ima puno toaka pri redukciji
modulo p (tj. ako je broj N
p
= [E(F
p
)[ velik) za veinu p-ova. Napomenimo
da po Hasseovom teoremu vrijedi:
p + 1 2

p N
p
p + 1 + 2

p,
pa to da je broj N
p
velik, zapravo znai da je blizu gornje ograde iz Hasseovog
teorema.
Puno preciznija verzija ove grube ideje je uvena Birch i Swinnerton-
Dyerova (BSD) slutnja:

pX, p2
N
p
p
const (log X)
r
,
gdje je r = rank(E). BSD slutnja se obino iskazuje pomou L-funkcije, koja
je denirana sa
L(E, s) =

p
_
1 a
p
p
s
+p
12s
_
1

p|
_
1 a
p
p
s
_
1
,
gdje je a
p
= p + 1 N
p
za p-ove u kojima E ima dobru redukciju, a
p
= 0 u
sluaju aditivne redukcije, a
p
= 1 u sluaju multiplikativne rascjepive, a a
p
=
1 u sluaju multiplikativne nerascjepive redukcije. Ovu funkciju moemo
shvatiti kao analogon Riemannove funkcije, ako se prisjetimo Eulerove
formule (s) =

n=1
1
n
s
=

p
(1 p
s
)
1
. Funkcija L(E, s) ima analitiko
Algoritmi za eliptike krivulje 74
produljenje na cijelu kompleksnu ravninu C, te zadovoljava funkcionalnu
jednadbu
(s) = w
E
(2 s),
gdje je w
E
1, 1, dok je
(s) = N
s/2
(2)
s
(s)L(E, s),
a N oznaava konduktor od E.
Sada se BSD slutnja moe iskazati tako da je red izezavanja od L(E, s)
u s = 1 (tzv. analitiki rang od E) jednak rangu r, tj. da je
L(E, s) = const (s 1)
r
+ lanovi vieg reda.
Poznato je da slutnja vrijedi ako je analitiki rang jednak 0 ili 1 (Kolyvagin
(1990)).
Slutnja je da vrijednost w
E
odreuje parnost ranga: w
E
= (1)
r
, tj. ako
je w
E
= 1, onda je rank paran, a ako je w
E
= 1, onda je rank neparan (to
je naziva Parity Conjecture i omoguava nam da uvjetno odredimo rang u
sluajevima kad ostalim metodama dobijemo zakljuak da je r r

, r

+1
za neki r

. Vrijednost w
E
se moe izraunati u PARI-ju pomou funkcije
ellrootno. Vrijedi: w
E
=

p|

p
, gdje su
p
lokalni faktori. Ako je p
prost broj s multiplikativnom redukcijom, onda je
p
= 1 ako je redukcija
rascjepiva, a
p
= 1 ako je nerascjepiva. Ako E u p ima aditivnu redukciju i

p
(j) < 0, onda je
p
= (
1
p
) za p neparan, a
2
=

b, gdje je

b 1, 1,

b b (mod 4), c
6
= 2
a
b.
Iako je sama Birch i Swinnerton-Dyerova slutnja izuzetno vana za razum-
jevanje ranga eliptikih krivulja, ona nije prikladna za direktno raunanje
(makar uvjetno) ranga. Zato se u fazi sijanja obino koriste neke druge
varijacije gore spomenute grube ideje.
Moemo ksirati konaan skup prostih brojeva T, pa za svaki p T nai
sve vrijednosti parametara modp koje maksimiziraju N
p
. (Ako promatramo
krivulju oblika y
2
= x
3
+ax +b, parametri i biti (a, b) F
2
p
, a maksimalni
N
p
je p + 1 + 2

p|. Ako traimo krivulje velikog ranga sa zadanom torzi-


jskom grupom, onda koristimo odgovarauje prije navedene parametrizacije,
a maksimalni N
p
je [E(Q)
tors
[
_
p+1+2

p
|E(Q)
tors
|
_
.) Nakon toga, pomou Kineskog
teorema o ostacima, konstruiramo listu s parametrima koji maksimiziraju
N
p
za sve p T. Ovo se naziva metoda konanog polja.
Mestre i Nagao su dali heuristike argumente (motivirane BSD slutnjom)
koji sugeriraju da bi za krivulje velikom ranga izvjesne sume trebale popri-
mati velike vrijednosti (najvee u promatranoj familiji). Neke od tih suma
su
S
1
(X) =

pX
N
p
+ 1 p
N
p
log p,
Algoritmi za eliptike krivulje 75
S
2
(X) =

pX
N
p
+ 1 p
N
p
,
S
3
(X) =

pX
(N
p
p 1) log p.
U primjenama ove ideje izabere se nekoliko prirodnih brojeva X
1
< X
2
<
< X
k
, te se rauna S
i
(X
1
), S
i
(X
2
), . . ., ali tako da se u svakom koraku
odbaci recimo 80% najloijih krivulja, tj. onih s najmanjom vrijednou
pripadne sume. Uoimo da za ekasnu implementaciju ove metode X
k
ne bi
smio biti prevelik (recimo X
k
< 100000) jer nemamo vrlo ekasan algoritam
za raunanje N
p
za vrlo velike p-ove. O metodama za raunje broja N
p
za
velike p-ove e biti vie rijei kasnije. U PARI-ju se broj a
p
moe izraunati
pomou funkcije ellap(E, p), pa se N
p
dobije kao N
p
= p + 1 a
p
.
Pogledajmo koji heuristiki argument povezuje sumu S
1
(N) i BSD slut-
nju. BSD slutnja povlai da je L(E, s) = L(s) = (s 1)
r
g(s), gdje je
g(1) ,= 0. (U stvari, preciznija verzija BSD slutnje tono predvia emu je
jednako g(1). U opisu, se pored ostalih veliina, pojavljuju redovi torzijske i
Tate-afarevieve grupe, te regulator.) Logaritamska derivacija daje
L

(s)
L(s)
=
r
s 1
+
g

(s)
g(s)
,
Dakle, oekujemo da za logaritamska derivacije od L kad s tei u 1 bre tei
u beskonano to je rang vei. Sada emo promotriti produkt
L(s, N) =

pN
(1 a
p
p
s
+p
12s
)
1
koji se od L(s) razlikuje po tome to smo produkt prerezali u N, te to
smo ignorirali razliku u faktorima izmeu prostih brojeva s dobrom i loom
redukcijom. Stavimo f(s, N) = log L(s, N). Tada je
f

(s, N) =

pN
a
p
p
s
2p
12s
1 a
p
p
s
+p
12s
log p.
ini se da je razumno uzeti da je lim
N
f

(s, N) dobra aproksimacija za


L

(s)
L(s)
. Stoga brzina divergencije limesa
lim
s1
lim
N
f

(s, N) (2.43)
moe biti indikator veliine ranga. Kad bismo smjeli zamijeniti poredak
limesa u (2.43), dobili bismo upravo
lim
N
f

(1, N) = lim
N

a
p
2
p + 1 a
p
log p = lim
N
S
1
(N),
Algoritmi za eliptike krivulje 76
ime smo pokazali najavljenu vezu izme BSD slutnje i sume S
1
(N).
Vidjeli smo ranije da u sluaju kada E ima racionalnu toku reda 2,
imamo vrlo jednostavnu gornju ogradu za rang: r (b)+(b

)1, a takoer
i r s, gdje je s Selmerov rang. Openito, u sluaju kada E ima toku
konanog reda, mogue je dati jednostavnu gornju ogradu za rang. Ukoliko
imamo toliko sree da se ta gornja ograda podudara s donjom ogradom koju
dobijemo pretragom za tokama s malom visinom, na taj nain moemo
dobiti egzaktnu vrijednost za rang bez primjene metode opeg 2-silaska.
Spomenuta gornja ograda se naziva Mazurova ograda. Neka je E eliptika
krivulja nad Q zadana sa svojom minimalnom Weierstrassovom jednadbom,
te neka je E ima racionalnu toku neparnog prostog reda p. Tada vrijedi
r m
p
= b +a m1,
gdje je
b broj prostih brojeva s loom redukcijom;
a prostih brojeva s aditivnom redukcijom;
m broj prostih brojeva q s multiplikativnom redukcijom za koje do-
datno vrijedi da p ne dijeli eksponent od q u i da je q , 1 (mod p).
Primjer 2.16. Izraunajmo rang krivulje
E : y
2
+y = x
3
+x
2
1712371016075117860x+885787957535691389512940164
(Dujella-Lecacheux (2001)).
Rjeenje: Imamo:
E(Q)
tors
= O, [888689186, 8116714362487],
[139719349, 33500922231893], [139719349, 33500922231892],
[888689186, 8116714362488]

= Z
5
.
Zato moemo izraunati Mazurovu ogradu m
5
. Diskriminanta je
= 3
15
5
5
7
5
11
5
19
5
41
5
127
5
1409 10864429,
pa imamo: b = 9, a = 0, m = 2, te dobivamo da je r m
5
= 6.
Pretragom za tokama P = (x, y) na E s cjelobrojnim koordinatama i
[x[ < 10
9
, nalazimo sljedeih 6 nezavisnih toaka modulo E(Q)
tors
:
[624069446, 7758948474007], [763273511, 4842863582287]
[680848091, 5960986525147], [294497588, 20175238652299]
[206499124, 35079702960532], [676477901, 6080971505482],
Algoritmi za eliptike krivulje 77
ime smo dokazali da je rank(E) = 6 (ovo je trenutno krivulja najveeg
poznatog ranga s torzijskom grupom Z
5
).
Neka je G jedna od 15 moguih torzijskih grupa za eliptiku krivulju nad
Q (prema Mazurovom teoremu). Deniramo
B(G) = suprank (E(Q)) : E(Q)
tors
= G.
Slutnja je da je B(G) neogranino za sve G. Meutim, danas znamo tek da
je B(G) 3 za sve G. U sljedeoj tablici su dani trenutno najbolje poznate
donje ograde za B(G). Veina rezultata iz ove tablice je dobivena nekom kom-
binacijom metoda opisanih u ovom poglavlju. Detalji o rekordnim krivuljama
se mogu nai na web stranici http://web.math.hr/duje/tors/tors.html.
G B(G) Author(s)
0 28 Elkies (2006)
Z/2Z 18 Elkies (2006)
Z/3Z 13 Eroshkin (2007,2008)
Z/4Z 12 Elkies (2006)
Z/5Z 6 Dujella & Lecacheux (2001)
Z/6Z 8 Eroshkin (2008), Dujella & Eroshkin (2008), Elkies (2008), Dujella (2008)
Z/7Z 5 Dujella & Kulesz (2001), Elkies (2006)
Z/8Z 6 Elkies (2006)
Z/9Z 4 Fisher (2009)
Z/10Z 4 Dujella (2005,2008), Elkies (2006)
Z/12Z 4 Fisher (2008)
Z/2Z Z/2Z 14 Elkies (2005)
Z/2Z Z/4Z 8 Elkies (2005), , Eroshkin (2008), Dujella & Eroshkin (2008)
Z/2Z Z/6Z 6 Elkies (2006)
Z/2Z Z/8Z 3 Connell (2000), Dujella (2000,2001,2006, 2008),
Campbell & Goins (2003), Rathbun (2003,2006), Dujella - Rathbun (2006),
Flores - Jones - Rollick - Weigandt - Rathbun (2007), Fisher (2009)
2.11 Mordell-Weilova baza
Pretpostavimo da smo uspjeli izraunati rang r eliptike krivulje E nekom od
metoda iz prethodnih poglavlja. Te metode e nam uglavnom dati i r toaka
P
1
, . . . , P
r
na E koje su nezavisne modulo E(Q)
tors
. No, to ne znai da e
nuno P
1
, . . . , P
r
E(Q)
tors
generirati cijelu grupu E(Q), ve moda samo
neku njezinu podgrupu konanog indeksa. Tu podgrupu emo oznaiti s H.
eljeli bismo, ako je mogue, nai generatore cijele Mordell-Weilove grupe, tj.
Mordell-Weilovu bazu Q
1
, . . . , Q
r
(tako da se svaka toka P E(Q) moe,
na jedinstven nain, prikazati u obliku P = n
1
Q
1
+ +n
r
Q
r
+T, n
i
Z,
T E(Q)
tors
).
Pogledat emo najprije jedan jednostavan sluaj kada je r = 1 (pa se
Mordell-Weilova grupa sastoji od jedne toke, koja se zove slobodni genera-
tor) i > 0. Tada E ima jednadbu oblika y
2
= (x e
1
)(x e
2
)(x e
3
),
Algoritmi za eliptike krivulje 78
gdje su e
i
R. Neka je e
1
< e
2
< e
3
. Tada je E
0
(Q) = (x, y) E(Q) : x
e
3
O podgrupa od E(Q) koja se zove parna ili neutralna komponentna,
dok se E
gg
(Q) = (x, y) E(Q) : e
1
x e
2
zove neparna kompo-
nenta (jaje). Neparna komponenta moe biti prazna, a ako je neprazna,
onda E
0
(Q) ima indeks 2 u E(Q). Primijetimo da u reetki C/L toke na
E
0
(R) odgovaraju parametrima z R, dok toke na E
gg
(R) odgovaraju
parametrima z (iz fundametalnog pravokutnika) za koje je z
2
/2 R.
Propozicija 2.14. Neka eliptika krivulja E s cjelobrojnim koecijentima
zadovoljava sljedee uvjete:
(i) rank(E(Q)) = 1;
(ii) E(Q) ima toku P beskonanog reda takvu da P + T ima cjelobrojne
koordinate za sve T E(Q)
tors
;
(iii) > 0;
(iv) neparna komponenta je neprazna.
Tada se jedan slobodni generator Q neka od konano mnogo toaka s cjelo-
brojnim koordinatama na neparnoj komponenti.
Dokaz: Neka je Q slobodni generator. Tada je nQ = P +T za neki n Z
i neku torzijsku toku T. Po pretpostavci (ii), toka nQ ima cjelobrojne
koordinate. No, tada i toka Q = (x, y) ima cjelobrojne koordinate.
To slijedi iz injenice koja se koristi i u dokazu Lutz-Nagellovog teorema.
Naime, pretpostavimo da je
p
(x) < 0 za neki prost broj p. Tada je
p
(x) =
2k,
p
(y) = 3k za neki k N. injenica koja ovdje trebamo jest da je
E(p
k
) := (x, y) E(Q) :
p
(x) 2k O
podgrupa od E(Q). Stoga iz Q E(p
k
) slijedi nQ E(p
k
), to je u suprot-
nosti i time na nQ ima cjelobrojne koordinate.
Za svaki T

E(Q)
tors
je toka Q+T

slobodni generator, pa po upravo


dokazanom ima cjelobrojne koordinate. Tvrdimo da se barem jedna od tih
toaka nalazi u neparnoj komponenti. Pretpostavimo suprotno. Tada je Q u
parnoj komponenti, a takoer i svi T

E(Q)
tors
su u parnoj komponeneti.
Ali E(Q) je generiran s Q i E(Q)
tors
, pa bi tada bio sadran u svojoj parnoj
komponenti, to je u suprotnosti s pretpostavkom (iv).
Toaka s cjelobrojnim koordinatama u neparnoj komponenti oito ima
samo konano mnogo, jer im se x-koordinate nalaze u segmentu [e
1
, e
2
].
Primjer 2.17. Naimo slobodni generator krivulje
E : y
2
= x
3
5x.
Algoritmi za eliptike krivulje 79
Rjeenje: U Primjeru 2.12 vidjeli smo da je rang od E jednak 1. Algo-
ritam nam je dao i jednu toku P = (1, 2) beskonanog reda. Ta toka
se nalazi u neparnoj komponenti. Jedina netrivijalna torzijska toka je T =
(0, 0). Imamo: P + T = (5, 10). Stoga su zadovoljeni svi uvjeti Propozicije
2.14. Lako se vidi da su jedine toke s cjelobrojnim koordinatama ija je
x-koordinata iz segmenta [

5, 0] upravo toke P = (1, 2) i T. Za-


kljuujemo da P slobodni generator od E(Q) (ostali slobodni generatori su
P, P +T i P +T).
Pogledajmo sada openiti sluaj. Imamo r nezavisnih toaka na E(Q) i
one zajedno sa E(Q)
tors
generiraju podgrupu H od E(Q). Te nezavisne toke
smo mogli dobiti kao produkt algoritma 2-silaska ili pretragom za toaka
malih visina na E(Q). eljeli bismo podgrupu H uveati do cijele grupe
E(Q).
U tu svrhu, trebamo eksplicitne ocjene za razliku izmeu naivne i kanonske
visine. Navest emo jedan opi rezultat takvog tipa kojeg je dokazao Silver-
man 1990. godine. Napomenimo da je za konkretne krivulje esto mogue
dobiti i znatno bolje ograde. Koristimo oznaku log
+
(x) = log max1, [x[ za
x R.
Propozicija 2.15. Neka je E eliptika krivulja zadana Weierstrassovom
jednadbom s cjelobrojnim koecijentima, te neka je diskriminanta, a j
njena j-invarijanta. Stavimo 2

= 2 ako je b
2
,= 0, a 2

= 1 ako je b
2
= 0,
te denirajmo
(E) =
1
6
(log [[ + log
+
(j)) + log
+
(b
2
/12) + log(2

).
Tada za svaki P E(Q) vrijedi

1
12
h(j) (E) 1.922

h(P) h(P) (E) + 2.14.
Propoziciju je vrlo jednostano primijeniti ako krivulja ima rang 1, a mi
znamo jednu toku P beskonanog reda. Ako P nije slobodni generator,
onda je P = kQ + T za generator Q i k 2. Stoga je

h(Q)
1
4

h(P), pa
nam Propozicija 2.15 daje gornju ogradu B za naivnu visinu od Q. Ukoliko
ne naemo niti jednu racionalnu toku s h(Q) B, onda znamo da je P
generator, a inae je generator neka od pronaenih toaka.
Uoimo da nam Propozicija 2.15 daje jo jednu metodu da nalaenje
torzijskih toaka. Naime, budui da torzijske toke imaju kanonsku visinu 0,
to je njihova naivna visina manja od
1
12
h(j) +(E) + 1.922.
Propozicija 2.16. Neka je B > 0, te neka skup
S = P E(Q) :

h(P) B
sadri reprezentante svih klasa od E(Q)/2E(Q). Tada S generira E(Q).
Algoritmi za eliptike krivulje 80
Dokaz: Neka je H podgrupa od E(Q) generirana s tokama iz S. Pret-
postavimo da je H prava podgrupa od E(Q). Tada moemo izabrati Q
E(Q) H za koju je

h(Q) minimalno meu svim takvim tokama. Po pret-
postavci, postoje P H i R E(Q) takvi da je Q = P +2R. Oito R , H,
pa je zbog minimalnosti od Q,

h(R)

h(Q). Sada iz svojstava kanonske
visine dobivamo:

h(P) =
1
2
(

h(Q+P) +

h(QP))

h(Q)
1
2

h(2R)

h(Q)
= 2

h(R)

h(Q)

h(Q) > B,
to je kontradikcija.
U praksi emo esto prilikom raunanja ranga (metodom 2-silaska) ve
dobiti reprezentante klasa od E(Q)/2E(Q). Raunajui kanonske visine tih
toaka, dobivamo broj B (maksimum tih visina) za kojeg vrijedi pretpostavka
Propozicije 2.16. Sada pomou broja B i Propozicije 2.15 dobivamo gornju
ogradu B

za naivnu visinu generatora, pa ih nalazimo pretraivanjem po


svim tokama s h(P) B

. Primijetimo da postoji mogunost da se manja


ograda B (pa time i B

) dobije tako da se na polazni skup nezavisnih tokaka


primjeni LLL-algoritam (vidi Poglavlje 2.7), ime se nee promijeniti pod-
grupa koju te toke generiraju, ali novo dobivene toke mogu imati (znatno)
manje kanonske visine.
Ukoliko imamo r proizvoljnih nezavisnih toaka P
1
, . . . , P
r
, onda prov-
jeramo je li suma nekog podskupa od tih toaka iz 2E(Q). Ako dobijemo da
je suma nekih P
i
-ova jednaka 2R, onda jedan od P
i
-ova zamijenimo sa R.
Nakon konano mnogo ovakvih koraka, dobivamo r nezavisnih toaka koje
su nezavisne modulo 2E(Q), pa na njih moemo primijeniti Propozicija 2.16.
Primjer 2.18. Odredimo Mordell-Weilovu bazu za eliptiku krivulju
E : y
2
+y = x
3
7x + 6.
Rjeenje: U Primjeru 2.15 vidjeli smo da je rang od E jednak 3, te nali
3 nezavisne toke beskonanog reda:
P
1
= (1, 1), P
2
= (2, 3), P
3
= (7/4, 25/8).
Iz konstrukcije znamo da su ove toke nezavisne modulo 2E(Q). Stoga moemo
primijeniti Propozicija 2.16 uz B =

h(P
3
) 2.71736. Imamo = 5077,
j = 37933056/5077, (E) 2.90856, pa iz Propozicije 2.15 dobivamo:
6.28483

h(P) h(P) 5.04856.
Zakljuujemo da za naivne visine generatora vrijedi
h(P) 9.00219.
Algoritmi za eliptike krivulje 81
Dakle, traimo sve racionalne toke (x
1
/x
2
, y) na E sa svojstvom da je [x
i
[
8121. Dobivamo 92 para toaka. Tri toke s najmanjim kanonskim visinama
su Q
1
= (1, 0), Q
2
= (2, 0), Q
3
= (0, 2). Pokazuje da se sve dobivene toke
mogu prikazati u obliku n
1
Q
1
+n
2
Q
2
+n
3
Q
3
, n
i
Z. Detalje emo dati samo
za cjelobrojne toke, kojih smo u danom segmentu pronali 18 (parova):
(3, 0) = Q
1
Q
1
, (2, 3) = Q
1
+Q
2
, (1, 3) = Q
2
Q
3
,
(0, 2) = Q
3
, (1, 0) = Q
1
, (2, 0) = Q
2
, (3, 3) = Q
1
+Q
3
,
(4, 6) = Q
1
Q
2
Q
3
, (8, 21) = Q
1
+Q
3
, (11, 35) = Q
1
+Q
2
Q
3
,
(14, 51) = 2Q
1
, (21, 95) = 2Q
2
, (37, 224) = Q
2
2Q
3
,
(52, 374) = Q
1
+ 2Q
2
+Q
3
, (93, 896) = 2Q
1
+Q
2
+ 2Q
3
,
(342, 6324) = Q
2
+ 2Q
3
, (406, 8180) = 2Q
1
+ 2Q
2
,
(816, 23309) = 3Q
1
+Q
2
Q
3
.
Time smo dokazali da je Q
1
, Q
2
, Q
3
jedna Mordell-Weilova baza od E(Q).
Recimo neto o tome kako se moe nai prikaz toke P u obliku n
1
Q
1
+
n
2
Q
2
+n
3
Q
3
. Najprije provjerimo jesu ti toke Q
1
, Q
2
, Q
3
, P nezavisne. Ako
su zavisne, onda je pripadna determinanta visina jednaka 0. Razvojem de-
terminante primjerice po zadnjem retku, dobijemo linearnu kombinaciju ob-
lika
1
Q
1
+
2
Q
2
+
3
Q
4
+
4
P, gdje su
i
R. Podijelimo lijevu stranu
ove jednakosti s najmanjim [
i
[ koji je razliit od 0, te tako dobivene ko-
ecijente aproksimiramo racionalnim brojevima (najee je sasvim jasno o
kojim se racionalnim brojevima radi, a u opem sluaju moemo koristiti
verine razlomke ili LLL-algoritam). Tako dobijemo linearnu kombinaciju
oblika m
1
Q
1
+ m
2
Q
2
+ m
3
Q
4
+ m
4
P = O (mod E(Q)
tors
), za koju onda
direktno provjerimo je li stvarno zadovoljena.
Na primjer, za toku P = (816, 23309), ovom metodom dobivamo najprije
1.25143Q
1
0.41714Q
2
+ 0.41714Q
3
+ 0.41714P,
a potom
3Q
1
Q
2
+Q
3
+P = O
(jer je torzijska grupa od E trivijalna).
Algoritmi za eliptike krivulje 82
2.12 Cjelobrojne toke na eliptikim krivuljama
2.12.1 Elementarni rezultati o Mordellovoj jednadbi
Mordell je 1922. godine dokazao da je broj cjelobrojnih toaka na elip-
tikoj krivulji konaan. Godine 1929., Siegel je dokazao analogan rezultat za
sve krivulje genusa 1 denirane nad Q. Prvu eksplicitnu ocjenu za veliinu
rjeenja (tj. max[x[, [y[) dao je Baker 1966. godine. Prije nego ro neto
kaemo o ovim dubokim rezultatima, prikazat emo neke elementarne rezul-
tate za tzv. Mordellove krivulje. To su krivulje oblika y
2
= x
3
+k.
Propozicija 2.17. Neka je k = (4b1)
3
4a
2
, gdje je a cijeli broj koji nema
prostih faktora oblika 4l + 3. Tada jednadba y
2
= x
3
+ k nema cjelobrojnih
rjeenja.
Dokaz: Imamo k 1 (mod 4), pa je y
2
x
3
1 (mod 4). Budui da
je y
2
0 ili 1 (mod 4), x ne moe biti paran niti kongruentan 1 modulo
4. Stoga je x 1 (mod 4). Zapiimo jednadbu y
2
= x
3
+ (4b 1)
3
4a
2
u
obliku
y
2
+ 4a
2
= x
3
+ (4b 1)
3
= (x + 4b 1)(x
2
x(4b 1) + (4b 1)
2
).
Zadnji faktor x
2
x(4b 1) + (4b 1)
2
je kongruentan 3 modulo 4. Stoga
on mora imati barem jedan prosti faktor p koji je takoer kongruentan 3
modulo 4. No, taj prosti faktor p moe dijeliti zbroj dva kvadrata y
2
+ 4a
2
jedino ako su i y i a djeljivi s p (jer je s jedne strane Legendeov simbol
(
1
p
) = (1)
(p1)/2
= 1, a s druge strane bi bilo (
1
p
) = (
4a
2
p
) = (
y
2
p
) = 1),
a to je u suprotnosti s pretpostavkom da a nema prostih faktora oblika
4l + 3.
Navedimo nekoliko cijelih brojeva k koji zadovoljavaju uvjete Propozicije
2.17: k = 5, 11, 23, 73.
Sljedei rezultat se dokazuje sasvim analogno kao Propozicija 2.17.
Propozicija 2.18. Neka je k = (4b + 2)
3
(2a + 1)
2
, te neka su svi prosti
faktori od 2a+1 oblika 4l +1. Tada jednadba y
2
= x
3
+k nema cjelobrojnih
rjeenja.
Propozicija 2.19. Neka je k = 2b
2
a
3
, gdje je a 2, 4 (mod 8), b 1
(mod 2) i svi prosti faktori od b su oblika 8l 1. Tada jednadba y
2
= x
3
+k
nema cjelobrojnih rjeenja.
Dokaz: Imamo y
2
x
3
+ 2 (mod 4), pa je x , 0 (mod 2) i x , 1
(mod 4). Stoga je x 3 (mod 4), tj. x 3 ili 7 (mod 8). Nadalje,
y
2
2b
2
= x
3
a
3
= (x a)(x
2
+ax +a
2
).
Algoritmi za eliptike krivulje 83
Ako je x 3 (mod 8), onda je x
2
+ax+a
2
1+3a+a
2
3 (mod 8),
pa x
2
+ax+a
2
ima barem jedan prosti faktor p oblika 8l 3. Po pretpostavci,
p ne dijeli b, pa dobivamo
_
2
p
_
=
_
2b
2
p
_
=
_
y
2
p
_
= 1.
Dobili smo kontradikciju jer je (
2
p
) = 1 akko p 1 (mod 8).
Ako je x 7 (mod 8), onda je xa 7a 3 (mod 8), pa xa mora
imati barem jedan prosti faktor oblika 8l 3, iz ega dobivamo kontradikciju
na sasvim isti nain kao i u prethodnom sluaju.
Nekoliko vrijednosti od k koje zadovoljavaju uvjete Propozicije 2.19 su
k = 6, 34, 58, 62, 66, 90.
Sasvim analogno prethodnoj propoziciji dokazuje se sljedei rezultat.
Propozicija 2.20. Neka je k = 2b
2
a
3
, gdje je a 4 (mod 8), b 1
(mod 2) i svi prosti faktori od b su oblika 8l + 1 ili 8l + 3. Tada jednadba
y
2
= x
3
+k nema cjelobrojnih rjeenja.
Daljnji rezultati o Mordellovoj jednadbi mogu se dobiti primjenom fak-
torizacije u kvadratnim poljima. Detaljnije o tome se moe vidjeti u skripti iz
kolegija Diofantske jednadbe. Ovdje navodimo samo jedan primjer rezul-
tata koji se moe dobiti tom metodom.
Propozicija 2.21. Neka je k < 1 kvadratno slobodan cijeli broj, k 2, 3
(mod 4) i h(Q(

k)) , 0 (mod 3).


a) Ako je k oblika k = 13a
2
, onda su sva cjelobrojna rjeenja jednadbe
y
2
= x
3
+k dana sa
x = 4a
2
1, y = (3a 8a
3
).
b) Ako je k oblika k = 13a
2
, onda su sva cjelobrojna rjeenja jednadbe
y
2
= x
3
+k dana sa
x = 4a
2
+ 1, y = (3a + 8a
3
).
c) Ako je k ,= 1 3a
2
, onda jednadba y
2
= x
3
+ k nema cjelobrojnih
rjeenja.
2.12.2 Transformacija eliptikih krivulja u Thueove jednadbe
Promotrimo openitu jednadbu oblika
y
2
= x
3
+ax
2
+bx +c,
Algoritmi za eliptike krivulje 84
gdje su koecijenti a, b, c cijeli brojevi, a kubni polinom na desnoj strani nema
viestrukih korijena. Prikazat emo Mordellov argument kojim je pokazao da
takva jednadba ima samo konano mnogo cjelobrojih rjeenja. Istovremeno,
to je i vaan korak u jednoj od opih metoda za nalaenje svih cjelobrojnih
toaka na eliptikoj krivulji.
Ideja je faktorizirati polinom
f(x) = x
3
+ax
2
+bx +c = (x
1
)(x
2
)(x
3
). (2.44)
Tako dobivamo polja Q(
i
) u kojima promatramo jednadbu (2.44). Mogua
su tri sluaja:
1) sva tri korijena od f su racionalni (pa onda i cijeli);
2) jedan korijen od f je racionalan, a ostala dva su kvadratne iracional-
nosti;
3) f je ireducibilan nad Q, korijeni su mu algebarski cijeli brojevi 3. stup-
nja.
Promatramo jednadbu (2.44) u polju K = Q(
i
). Dat emo neke detalje
samo za trei sluaj, kad je kubni polinom f(x) ireducibilan. Transformacija
eliptike krivulje u Thueove jednadbe u preostala dva sluaja provodi se na
slian nain. Podsjetimo se da u Z vrijedi: ako je XY = Z
l
i nzd(X, Y ) = 1,
onda postoje U, V Z tako da je X = U
l
, Y = V
l
. Taj rezultat se moe
poopiti na cijele brojeve u polju algebarskih brojeva K. Tako se iz (2.44)
dobije relacija
x
i
= m(r +s
i
+t
2
i
)
2
, (2.45)
gdje su r, s, t Z, a m poprima konano mnogo vrijednosti iz Q(
i
). I broj m
(svaki od konano mnogo njih) moemo zapisati u obliku m = r
0
+s
0

i
+t
0

2
i
,
gdje su r
0
, s
0
, t
0
Q. Uvrstimo to u (2.45), izmnoimo, te
3
i
i
4
i
prikaemo
pomou 1,
i
,
2
i
. Usporedimo li koecijente uz 1,
i
i
2
i
na obje strane
jednadbe, dobivamo tri jednadbe oblika
f
1
(r, s, t) = 0, f
2
(r, s, t) = 1, f
3
(r, s, t) = x,
gdje su f
1
, f
2
, f
3
ternarne kvadratne forme s racionalnim koecijentima. Do-
bro je poznato da se rjeivost jednadbe f
1
(r, s, t) = 0 moe ekasno us-
tanoviti. Ako netrivijalno rjeenje postoji, onda su sva rjeenja dana s
gr = q
1
(u, v), gs = q
2
(u, v), gt = q
3
(u, v),
gdje su q
1
, q
2
, q
3
binarne kvadratne forme s cjelobrojnim koecijentima, a g
poprima konano mnogo cjelobrojnih vrijednosti. Uvrstimo li to u jednadbu
f
2
(r, s, t) = 1, dobivamo konano mnogo jednadbi oblika
h(u, v) = g
2
, (2.46)
Algoritmi za eliptike krivulje 85
gdje je h homogeni polinom 4. stupnja s cjelobrojnim koecijentima. Moe se
provjeriti da h nije kvadrat polinoma 2. stupnja. Jednadba (2.46) je Thueova
jednadba. Takve jednadbe su nazvane po Thueu koji je dokazao da imaju
samo konano mnogo rjeenja. Stoga i polazna eliptika krivulja ima samo
konano mnogo cjelobrojnih toaka (koje dobijemo iz f
3
(r, s, t) = x).
Vie detalja o ovoj metodi, a i o rjeavanju Thueovih jednadbi, moe se
nai u skripti iz kolegija Diofantske jednadbe.
2.12.3 Primjena eliptikih logaritama
Prethodno opisane metode nisu koristile Mordell-Weilovu grupu. Pokazat
emo sada kako se poznavanje ranga i Mordell-Weilove grupe moe iskoristiti
za nalaenje cjelobrojnih toaka na eliptikoj krivulji.
Kao to smo ve bili rekli, u sluaju kada je rang jednak 0 (i mi to uspi-
jemo dokazati), pomou Lutz-Nagellovog teorema mogu se nai sve racionalne,
pa onda i sve cjelobrojne toke na toj eliptikoj krivulji.
U opem sluaju se primjenom tzv. eliptikih logaritama moe se dobiti
ocjena N N
0
za N = max[n
1
[, . . . , [n
r
[ u prikazu cjelobrojne toke u ob-
liku P = n
1
P
1
+ +n
r
P
r
+T. Potom se ova ograda, moe znaajno smanjiti
pomou LLL-algoritma. Ovu metodu su predloili 1994. godine Gebel, Peth
i Zimmer, te Stroeker i Tzanakis. No, za ovu metodu je nuno poznavati i
rang i generatore P
1
, . . . , P
r
, to smo vidjeli da moe biti vrlo teak problem.
Promotrimo eliptiku krivulju zadanu Weierstrassovom jednadbom s
cjelobrojnim koecijentima
E : y
2
+a
1
xy +a
3
y = x
3
+a
2
x
2
+a
4
x +a
6
.
Ona je izomorfna krivulji s jednadbom
E

: Y
2
= 4X
3
g
2
X g
3
,
to je upravo jednadba koju zadovoljavaju Weierstrassova -funkcija i njez-
ina derivacija. Rekli smo ve da je funkcija dvostruko periodina. Moemo
pretpostaviti da njezini periodi zadovoljavaju
1
R i (
1
/
2
) > 0. Neka
je L reetka koja odgovara
1
i
2
. Imamo izomorzam : C/L E, dan
sa
z
_
((z)
b
2
12
, (

(z) a
1
x a
3
)/2), z , L,
O, z L,
gdje je b
2
= a
2
1
+ 4a
2
. Inverzno preslikavanje se zove eliptiki logaritam.
Moe se izraunati kao
(P) =
_
x+b
2
/12

dt
_
4t
3
g
2
t g
3
(mod L) (2.47)
(koristei aritmetiko-geometrijsku sredinu). Spominjanje logaritama u nazivu
opravdano je sljedeim svojstvom
(P +Q) = (P) +(Q) (mod L).
Algoritmi za eliptike krivulje 86
Neka je P cjelobrojna toka na krivulji E. Toku P moemo zapisati u
obliku P = n
1
P
1
+ + n
r
P
r
+ T, gdje je T E(Q)
tors
, a P
1
, . . . , P
r
je
Mordell-Weilova baza od E(Q). eljeli bismo nai gornju ogradu za broj N =
max[n
1
[, . . . , [n
r
[, jer bismo imali konano mnogo linearnih kombinacija za
ispitati, te bi (u principu) mogli nai sve cjelobrojne toke.
Cjelobrojne toke na neparnoj (kompaktnoj) komponenti E
gg
(Q) je lako
nai, pa emo u daljnjem pretpostaviti da je P E
0
(Q). eljeli bismo i
elemente Mordell-Weilove baze prebaciti u parnu komponentu. U tu svrhu
deniramo: m
i
= 1 ako je P
i
E
0
(Q), a m
i
= 2 inae. Tada za sve i =
1, . . . , r imamo da je Q
i
= m
i
P
i
E
0
(Q). Nadalje, deniramo brojeve q
i
, r
i
sa:
n
i
= m
i
q
i
+r
i
, 0 r
i
< m
i
.
Ako sada stavimo U = r
1
P
1
+ r
r
P
r
, tada cjelobrojnu toku P moemo
prikazati u obliku
P = q
1
Q
1
+ +q
r
Q
r
+T +U.
Budui da je P E
0
(Q) i Q
i
E
0
(Q), to mora biti i T + U E
0
(Q).
Uvodimo oznaku Q
r+1
= T + U. Za Q
r+1
imamo samo konano mnogo
mogunosti, koje moemo efektivno odrediti (ako znamo torzijsku grupu i
Mordell-Weilovu bazu). Stavimo H = max[q
i
[ : i = 1, . . . r. Jasno je da
je H N. Ako uspijemo nai gornju ogradu za H, to emo biti dovoljno za
rjeenje naeg problema.
Polazite nam je ocjena iz sljedee leme. Ovdje i do kraja ovom pot-
poglavlja, konstante c
1
, c
2
, . . . ovise samo o E i njezinoj Mordell-Weilovoj
bazi.
Lema 2.2. Za svaku cjelobrojnu toku P, uz gornje oznake vrijedi
1
x(P)
c
1
e
c
2
H
2
. (2.48)
Rjeenje: Budui da toka P ima cjelobrojne koordinate, to je h(P) =
log [x(P)[. Prema Propoziciji 2.15, postoji konstanta c
3
takva da je h(P)

h(P)c
3
, pa je log [x(P)[

h(P)c
3
. Neka je R = (< P
i
, P
j
>) regulator od
E. Tada je

h(P) = nRn

, gdje je n = (n
1
, . . . , n
m
). Matrica R je simetrina,
pa se moe prikazati u obliku ODO

, gdje je O ortogonalna matrica, a D


dijagonalna matrica koja se sastoji od (realnih, pozitivnih) svojstvenih vri-
jednosti od R. Stavimo c
2
= minD
i,i
: i = 1, . . . r, te m = nO. Tada
Algoritmi za eliptike krivulje 87
je

h(P) = nRn

= mDm

=
r

i=1
D
i,i
m
2
i
c
2
r

i=1
m
2
i
= c
2
mm

= c
2
nOO

= c
2
nn

= c
2
r

i=1
n
2
i
c
2
N
2
.
Stavimo li da je c
1
= e
c
3
, te uvaimo da je N H, dobivamo nejednakost
(2.48).
S druge strane, ispitivanjem integrala koji se pojavljuje u (2.47), moe se
dobiti da nejednakost
[(P)[
2

c
5
[x(P)[
. (2.49)
vrijedi da sve toke P E
0
(Q) i [x(P) + b
2
/12[ > c
4
. Ovdje se moe uzeti
da je c
4
= 2 max[e
1
[, [e
2
[, [e
3
[, gdje su e
i
nultoke polinoma f(X) = 4X
3

g
2
X g
3
, te da je c
5
= 8 +
|
2
1
b
2
|
12
.
Kombiniranjem nejednakosti (2.48) i (2.49) dobivamo da za sve cjelobro-
jne toke P E
0
(Q) za koje je [x(P) +b
2
/12[ > c
4
vrijedi
[(P)[

c
5
c
1
e
c
2
H
2
/2
= c
6
e
c
7
H
2
. (2.50)
Imamo
(P) = q
1
(Q
1
) + +q
r
(Q
r
) +(Q
r+1
) +m
1
,
gdje je [m[ rN + 2.
Sada moemo iskoristiti duboki rezultat Davida iz 1995. godine (moe
se shvatiti kao analogon Bakerovih rezultata o linearnim formama u logarit-
mima algebarskih brojeva), koji nam daje nejednakost oblika:
[(P)[ > e
c
8
(log H+c
9
)(log log H+c
10
)
r+2
. (2.51)
Usporedbom (2.50) i (2.51) dobivamo da je H H
0
, gdje je H
0
(vrlo velika)
konstanta (obino neto kao 10
100
). Meutim, koritenjem LLL-redukcije,
ova ogromna gornja ograda moe se znaajno smanjiti. Tako se dobije nova
ograda H H
1
, gdje je H
1
obino oko 10 (H
1
je reda veliine

log H
0
).
Stoga, ukoliko rang r nije prevelik (recimo ako je r 8), onda moemo
testirati svih (2H
1
+ 1)
r
kandidata i nai sve cjelobrojne toke na polaznoj
eliptikoj krivulji E.
Primjer 2.19. Odredimo sve cjelobrojne toke na eliptikoj krivulji
E : y
2
+y = x
3
7x + 6.
Algoritmi za eliptike krivulje 88
Rjeenje: U Primjeru 2.15 smo vidjeli da je rang od E(Q) jednak 3, a u
Primjeru 2.18 da je jedna Mordell-Weilova baza od E dana sa Q
1
= (1, 0),
Q
2
= (2, 0), Q
3
= (0, 2). Supstitucijom Y = 2y + 1, X = x, dobivamo
jednadbu
Y
2
= 4X
3
28X + 25 = f(X).
Nultoke polinoma f(X) su e
1
= 3.0124, e
2
= 1.0658, e
3
= 1.9466. Dakle,
cjelobrojne toke na E
gg
(Q) zadovoljavaju 3 x(P) 1, i lako je vidjeti da
su sve takve toke (3, 0), (2, 3), (1, 3), (0, 2), (1, 0) (i njihove negativne
toke).
Vidimo da su toke Q
1
i Q
3
iz E
gg
(Q). Slijedei (Cohen, 8.7.4), zamijenit
emo ih s tokama Q

1
= Q
1
Q
2
Q
3
= (4, 6), Q

3
= 2Q
2
2Q
3
=
(
114
49
,
720
343
) iz E
0
(Q). Dakle, toke P traimo u obliku P = q
1
Q

1
+ q
2
Q
2
+
q
3
Q

3
+ U. Budui da E ima trivijalnu torzijsku grupu, to je U = O ili
Q
2
Q
3
, pa budui da traimo toke iz E
0
(Q) imamo da je u stvari U = O.
Primjenom gore opisane metode, dobije se ograda H H
0
= 10
60
.
Sada se ova vrlo velika gornja ograda moe znaajno smanjiti primjenom
LLL-redukcije.
Prikazati emo de Wegerov algoritam (1988) koji se moe primijeniti i u
mnogim drugim slinim situacijama. Promotrimo nejednadbu oblika
[
0
+x
1

1
+ x
n

n
[ < C
2
e
C
3
X
q
, (2.52)
gdje su
i
dani realni ili kompleksni brojevi, C
2
i C
3
pozitivne realne kon-
stante, q N, te X = max[x
1
[, . . . , [x
n
[. Rjeenja traimo u cijelim broje-
vima x
1
, . . . , x
n
. Pretpostavimo da je poznato da je X X
0
, gdje je X
0
neka
(velika) konstanta. elimo dobiti novu gornju ogradu oblika X
q
c lnX
0
.
Razmotrit emo sluaj kada su svi
i
realni.
Odaberimo konstantu C X
n
0
. Linearnoj formi
0
+

n
i=1
x
i

i
pridruimo
reetku L generiranu stupcima matrice
A =
_

_
1 0 0
.
.
.
.
.
.
0 0
0 1 0
[C
1
] [C
n1
] [C
n
]
_

_
.
Ovdje [] oznaava najblii cijeli broj realnom broju . Konstantu C smo
izabrali da bude priblino jednaka X
n
0
, jer tada po Lemi 2.12.3) moemo
oekivati da e najmanji vektor LLL-reducirane baze imati normu priblino
X
0
. Koristei LLL-algoritam moemo nai donju ogradu C
4
za veliinu
l(L, y) =
_
min|x y| : x L, y , L
min|x| : x L, x ,= 0, y L,
gdje je y = [0, . . . , 0, [C
0
]]

.
Algoritmi za eliptike krivulje 89
Lema 2.3. Neka je S = (n1)X
2
0
i T =
1+nX
0
2
. Ako je C
2
4
T
2
+S, onda
vrijedi
X
q

1
C
3
_
ln(CC
2
) ln(
_
C
2
4
S T)
_
,
ili je x
1
= = x
n1
, x
n
=
[C
0
]
[C
n
]
.
Dokaz: Neka je = [C
0
] +

n
i=1
x
i
[C
i
]. Tada je
[ C(
0
+
n

i=1
x
i

i
)[
1
2
+
n

i=1
X
0
2
= T.
Stoga je [[ T +C C
2
e
C
3
X
q
. Neka je x = [x
1
, . . . , x
n
]

, te z = Ax. Tada
je z y = [x
1
, . . . , x
n1
, ]

. Budui da je z L, imamo da je ili z = y (pa


je x
1
= = x
n1
= 0 i x
n
=
[C
0
]
[C
n
]
) ili
C
2
4
l(L, y)
2

n1

i=1
x
2
i
+
2
S +
_
T +CC
2
e
C
3
X
q
_
2
.
Po pretpostavci je C
2
4
S, pa dobivamo
e
C
3
X
q

1
CC
2
(
_
C
2
4
S T). (2.53)
Koristei pretpostavku da je C
2
4
T
2
+ S, iz (2.53) logaritmiranjem dobi-
vamo
X
q

1
C
3
_
ln(CC
2
) ln(
_
C
2
4
S T)
_
.
Vratimo se na na primjer. Nejednakost (2.52) ima oblik
[m
1
+q
1
(Q

1
) +q
2
(Q
2
) +q
3
(Q

3
)[ 58.21e
0.1614H
2
(dobivena je uz uvjet [x(P)[ 7). Izaberimo C = 10
250
, te primjenimo
postupak iz Leme 2.3. Dobivamo novu, bitno manju, gornju ogradu H 51.
Postupak se moe nastaviti, te ova ograda jo dodatno smanjiti. Uzmemo li
C = 10
9
, dobivamo da je H H
1
= 11.
Sada nam preostaje nai sve cjelobrojne toke na E
0
(Q) koje zadovolja-
vaju [x(P)[ 6, te sve cjelobrojne toke oblika q
1
Q

1
+q
2
Q
2
+q
3
Q

3
, [q
i
[ 11
(ukupno 23
3
= 12167 mogunosti). Dobivamo da su sve cjelobrojne toke na
E upravo cjelobrojne toke navedene u Primjeru 2.18.
Opisana metoda koja koristi eliptike logaritme za nalaenje cjelobro-
jnih toaka na eliptikoj krivulji implimentirana je u programskim paketima
SAGE (program integral_points) i MAGMA (program IntegralPoints).
Poglavlje 3
Primjena eliptikih krivulja
nad konanim poljima
3.1 Konana polja
Konano polje s q elemenata oznaavat emo s F
q
(koristi se jo i oznaka
GF(q) koja dolazi od Galoisovog polja). Konano polje ne moe biti karak-
teristike 0, stoga neka je p karakteristika od F
q
. Tada F
q
sadri prosto polje
F
p
= Z/pZ. Nadalje, F
q
je konano dimenzionalan vektorski prostor nad
F
p
. Neka je k njegova dimenzija, a e
1
, . . . , e
k
baza. Tada se svaki element
a F
q
moe na jednoznaan nain prikazati u obliku linearne kombinacije
a =
1
e
1
+
k
e
k
,
gdje su
i
Z
p
. Na taj nain svakom a F
q
moemo bijektivno pridruiti
ureenu k-torku (
1
, . . . ,
k
) (Z
p
)
k
. Stoga je q = p
k
.
Vrijedi i obrat: za svaku potenciju prostog broja q = p
k
postoji polje od
q elemenata, i ono je jedinstveno do na izomorzam.
Elementi polja F
q
razliiti od nule tvore abelovu grupu s obzirom na
mnoenje. Tu grupu oznaavamo sa F

q
. Iz Lagrangeovog teorema slijedi da
red svakog elementa a F

q
dijeli q 1. Grupa F

q
je ciklika. Ako je g
generator od F

q
, onda je g
j
takoer generator ako i samo ako je nzd(j, q1) =
1. Stoga postoji tono (q 1) generatora grupe F

q
.
Postavlja se pitanje kako efektivno realizirati konano polje s p
k
eleme-
nata (ako je k > 1), te operacije na njemu. Polje F
q
za q = p
k
moemo
realizirati kao kvocijentni prsten Z
p
[t]/(g(t)), gdje je g(t) neki normirani ire-
ducibilni polinom stupnja n u Z
p
[t], a (g(t)) oznaava glavni ideal generiran
s g(t) (ovaj prsten je polje zbog toga to je g(t) ireducibilan). Elemente ovog
polja se moe prikazati kao polinome nad Z
p
stupnja k 1, dok su pri-
padne operacije zbrajanje i mnoenje polinoma u Z
p
[t], s time da se nakon
mnoenja rauna ostatak pri dijeljenju s polinomom g(t).
90
Algoritmi za eliptike krivulje 91
Uoimo da su F
p
k i Z
p
k za k 2 bitno razliite strukture. U F
p
k su svi ne-
nul elementi invertibilni, dok u Z
p
k ima tono (p
k
) = p
k
p
k1
invertibilnih
elemenata.
Na ovom mjestu se moemo pitati kako nai ireducibilni polinom stupnja
k nad Z
p
(i imali li uope takvih polinoma). Pokazuje se da normiranih
ireducibilnih polinoma stupnja k nad Z
p
ima priblino p
k
/k, tj. otprilike
svaki k-ti normirani polinom stupnja k nad Z
p
je ireducibilan. Npr. ako
je k prost broj, onda postoji tono
p
k
p
k
razliitih normiranih ireducibilnih
polinoma stupnja k u Z
p
[t]. Testiranje je li konkretni polinom ireducibilan
zasniva se na injenici da je polinom g(t) stupnja k nad Z
p
ireducibilan ako
i samo ako je nzd(g(t), t
p
j
t) = 1 za j = 1, 2, . . . k/2|. Posljednji uvjet se
provjerava Euklidovim algoritmom za polinome. Da bi operacije u polju F
q
bile to ekasnije, obino se polinom g(t) bira tako da ima to manju teinu
W (broj koecijenata razliitih od 0). U sluaju q = 2
k
, koji je najzanimljiviji
za primjene u kriptograji, ini se da je uvijek mogue postii da je W = 3
ili W = 5. Primjerice, u ifriranju pomou Advanced Encryption Standarda
(AES) koristi se polje F
2
8, denirano pomou ireducibilnog polinoma x
8
+
x
4
+x
3
+x + 1.
Kako smo ve rekli, polje F
2
k jest vektorski prostor nad F
2
dimenzije k.
Postoji mnogo razliitih baza tog vektorskog prostora. Mi emo spomeniti
dva tipa takvih baza: trinomijalne baze i normalne baze.
Ako je g(x) ireducibilni polinom stupnja k nad F
2
, tada se polje F
2
k moe
reprezentirati kao skup svih polinoma nad F
2
stupnja manjeg od k, s operaci-
jama modulo g(x). To se naziva reprezentacija pomou polinomijalne baze.
Reprezentacija pomou trinomijalne baze je specijalni sluaj reprezentacije
pomou polinomijalne baze u kojem polinom g(x) ima oblik g(x) = x
k
+
x
m
+ 1, tj. W = 3. Prednost takve reprezentacije jest ekasnost provoenja
redukcije modulo g(x). Za neke k-ove (npr. za k 0 (mod 8)), trinomijalna
baza ne postoji. Eksperimentalno je pokazano da trinomijalna baza postoji
za neto vie od pola k-ova manjih od 1000.
Sljedei algoritam rauna ostatak pri dijeljenju polinoma a(x) = a
0
+
a
1
x + a
2
x
2
+ + a
2k2
x
2k2
F
2
[X] s polinomom g(x) = x
k
+ x
m
+ 1
(0 < m < k).
Redukcija modulo g(x) = x
k
+x
m
+ 1:
for i = 2k 2 to k by 1 do
a
ik
= a
ik
+a
i
a
ik+m
= a
ik+m
+a
i
Normalna baza od F
2
k nad F
2
je baza oblika
b, b
2
, b
2
2
, . . . , b
2
k1
,
Algoritmi za eliptike krivulje 92
gdje je b F
2
k. Takva baza uvijek postoji. U reprezentaciji pomou normalne
baze, kvadriranje u polju postaje trivijalno: ako je a = (a
0
, a
1
, . . . , a
k1
),
onda je a
2
= (a
k1
, a
0
, a
1
, . . . , a
k2
). Dakle, kvadriranje nije nita drugo
nego cikliki pomak udesno. Meutim, za openitu normalnu bazu, mnoenje
u polju je znatno kompliciranije. Stoga su od interesa one normalne baze
kod kojih je mnoenje to jednostavnije. Takve baze se nazivaju optimalne
normalne baze (ONB). Alternativna karakterizacija kae da b generira ONB
ako i samo ako za sve i
1
, i
2
, 0 i
1
< i
2
k 1, postoje cijeli brojevi j
1
, j
2
takvi da vrijedi
b
2
i
1
+2
i
2
= b
2
j
1
+b
2
j
2
.
Optimalna normalna baza ne mora postojati. Jedan od nunih uvjeta
za postojanje ONB je da je barem jedan od brojeva k + 1 i 2k + 1 prost.
Primjerice, ako je k + 1 prost i 2 primitivni korijen modulo k + 1, tada k
netrivijalnih (k + 1)-vih korijena iz jedinice tvore ONB od F
2
k nad F
2
.
3.2 Eliptike krivulje nad konanim poljima
Eliptike krivulje nad konanim poljima vrlo su vane za primjene u krip-
tograji, a imaju primjene i na probleme faktorizacije i dokazivanja prostosti.
Neka je E eliptika krivulja nad konanim poljem F
q
, q = p
k
. Kao to
smo ve vidjeli, ako je p > 3, onda E ima jednadbu oblika
y
2
= x
3
+ax +b.
Ako je p = 3, onda E ima jednadbu oblika
y
2
= x
3
+ax
2
+bx +c,
a ako je p = 2, onda se E moe transformirati u jedan od sljedea dva oblika
y
2
+cy = x
3
+ax +b ili y
2
+xy = x
3
+ax
2
+b.
Sada emo rei neto o najvanijim svojstvima eliptikih krivulja deni-
ranih nad konanim poljima. Krenimo s jednim primjerom.
Primjer 3.1. Promotrimo eliptiku krivulju
E : y
2
= x
3
+x + 3
nad poljem F
7
. Odredimo elemente i strukturu grupe E(F
7
).
Rjeenje: Uoimo da su 0, 1, 2 i 4 svi kvadrati u polju F
7
. Uvrtavamo
x = 0, 1, 2, 3, 4, 5, 6 u jednadbu krivulje E, te dobivamo redom jednadbe
Algoritmi za eliptike krivulje 93
y
2
= 3, 5, 6, 5, 1, 0, 1 u F
7
. Zakljuujemo da samo za x = 4, 5 i 6 pripadne
jednadbe imaju rjeenja. Konano dobivamo da je
E(F
7
) = O, (4, 1), (4, 6), (5, 0), (6, 1), (6, 6).
Odredimo sada strukturu grupe E(F
7
). Uzmimo toku P = (4, 1) i izra-
unajmo njezine viekratnike. Imamo:
[2]P = (6, 6), [3]P = (5, 0), [4]P = (6, 1), [5]P = (4, 6), [6]P = O.
Dakle, E(F
7
) je ciklika grupa reda 6, a toka P joj je generator.
Postavlja se pitanje, to se moe rei openito o grupi E(F
q
), tj. o njezi-
nom redu [E(F
q
)[ i strukturi. Lako je zakljuiti da je [E(F
q
)[ [1, 2q + 1].
Naime, na E imamo toku O, a pored toga svakom od q moguih x-eva
odgovaraju najvie dva y-a. No, samo pola elemenata od F
q
imaju kvadratni
korijen (to su elementi oblika g
2n
, gdje je g generator (ciklike) grupe F

q
), pa
moemo oekivati da je [E(F
q
)[ q + 1. Preciznu informaciju o redu grupe
E(F
q
) daje uveni Hasseov teorem.
Teorem 3.1 (Hasse).
q + 1 2

q [E(F
q
)[ q + 1 + 2

q
Veliina t = q +1[E(F
q
)[ naziva se Frobeniusov trag. Prema Hasseovom
teoremu je [t[ 2

q.
Vrijedi i svojevrstan obrat Hasseovog teorema (Deuringov teorem) koji
kae da za svaki prirodan broj
m p + 1 2

p, p + 1 + 2

p)
postoji eliptika krivulja nad F
p
takva da je [E(F
p
)[ = m.
U primjenama eliptikih krivulja, esto biramo eliptike krivulje iji red
ima neko zadano aritmetiko svojstvo (prost je, ima samo male proste fak-
tore, i sl.). Pritom je jako vana injenica, koju je dokazao H. W. Lenstra,
a koja kae da su redovi [E(F
p
)[, za (a, b) F
p
F
p
, skoro uniformno
distribuirani unutar intervala p + 1

p, p + 1 +

p) (centralne polovice
Hasseovog intervala). To znai da e red sluajno odabrane eliptike krivulje
nad F
p
imati zadano svojstvo s priblino istom vjerojatnou kao i sluajno
odabran prirodan broj reda veliine kao p.
O moguim redovima grupe E(F
q
) u opem sluaju q = p
k
, govori sljedei
teorem.
Teorem 3.2. Neka je q = p
k
. Tada postoji eliptika krivulja E nad F
q
takva
da je [E(F
q
)[ = q + 1 t ako i samo ako je [t[ 2

q i t zadovoljava jedan
od uvjeta:
1) nzd(t, p) = 1
Algoritmi za eliptike krivulje 94
2) k je paran i t = 2

q ili (t =

q i p , 1 (mod 3)) ili


(t = 0 i p , 1 (mod 4))
3) k je neparan i t = 0 ili (t =

2q i p = 2) ili (t =

3q i p = 3).
O strukturi grupa E(F
q
) govori sljedei teorem.
Teorem 3.3. Neka je E eliptika krivulja nad F
q
. Tada je
E(F
q
)

= Z
n
1
Z
n
2
,
gdje su n
1
i n
2
prirodni brojevi i vrijedi n
1
[n
2
i n
1
[q 1.
Ako je n
1
= 1, onda je grupa E(F
q
) ciklika. Iz uvjeta da n
1
[ nzd(n
2
, q
1), zakljuujemo da se moe oekivati da e openito n
1
biti mali prirodan
broj, a grupa E(F
q
) skoro ciklika.
Recimo neto o implementaciji grupovne operacije na E(F
q
), ponajprije
za sluajeve q = p (p > 3) i q = 2
k
koji su najzanimljiviji za primjene. Ako
zbroj dvije toke P +Q raunamo po formuli za zbrajanje toaka na krivulji
zadanoj anom jednadbom, vidimo da trebamo raunati inverz. Inverz se
moe izraunati pomou (proirenog) Euklidovog algoritma (obina verz-
ija u sluaju q = p, a polinomijalna u sluaju q = 2
k
). Iako je sloenost
Euklidovog algoritma teoretski istog reda veliine kao sloenost mnoenja, u
praksi je mnoenje ipak znatno bre od raunanja inverza. Vidjeli smo ve da
se raunanje inverza moe izbjei koritenjem Jacobijevih teinskih projek-
tivnih koordinata u kojima projektivnoj toki (X, Y, Z) odgovara ana toka
(
X
Z
2
,
Y
Z
3
). Tada jednadba eliptike krivulje (za q = p gdje moemo koristiti
kratku Weierstrassovu jednadbu) postaje
Y
2
= X
3
+aXZ
4
+bZ
6
.
U ovim novim koordinatama se kod raunanja zbroja toaka uope ne po-
javljuje dijeljenje. Zbroj P + Q se moe izraunati uz 16 mnoenja, a zbroj
P + P uz 10 mnoenja. Dodatna uteda se moe dobiti ako se koriste mi-
jeane koordinate. Npr. ako je toka P zapie u Jacobijevim koordinatama,
toka Q u aninim, a rezultat P + Q ponovo u Jacobijevim, za raunanje
koordinata toke P +Q treba samo 11 mnoenja.
U sluaju q = 2
k
, tj. krivulja u polju s karakteristikom 2, rekli smo ve
da moemo pretpostaviti da eliptika krivulja ima anu jednadbu jednog
od ova dva oblika:
y
2
+cy = x
3
+ax +b, (3.1)
y
2
+xy = x
3
+ax
2
+b. (3.2)
Krivulje oblika (3.1) su tzv. supersingularne krivulje i nisu od veeg interesa
za primjene u kriptograji, pa emo mi govoriti uglavnom o krivuljama oblika
Algoritmi za eliptike krivulje 95
(3.2). Ovdje se nadalje moe uzeti da je a 0, , gdje je F
2
k sa
svojstvom da je Tr() = +
2
+
2
2
+ +
2
k1
= 1. Posebno, ako je
k neparan, onda moemo uzeti da je a 0, 1. I u ovom sluaju mogu se
koristiti Jacobijeve koordinate. Jednadba (3.2) poprima oblik
Y
2
+XY Z = X
3
+aX
2
Z
2
+bZ
6
.
U ovim koordinatama za raunanje P + Q treba 14 mnoenja (odnosno 10
mijeanim koordinatama), dok za P +Q treba 5 mnoenja. U ovoj situaciji
jo neto bolji efekt se dobije koritenjem druge verzije teinskih koordinata.
To su tzv. Lpez-Dahabove koordinate u kojima projektivnoj toki (X, Y, Z)
odgovara ana toka (
X
Z
,
Y
Z
2
). Jednadba (3.2) tada postaje
Y
2
+XY Z = X
3
Z +aX
2
Z
2
+bZ
4
,
a broj operacija je za raunanje P +Q 14 mnoenja (8 u mijeanim koordi-
natama), a za P +Q 4 mnoenja.
U primjenama eliptikih krivulja esto je potrebno izraunati viekratnik
neke toke P, tj. toku
mP = P +P + +P
. .
m pribrojnika
.
To se moe napraviti pomou opih algoritama za ekasno potenciranje u
Abelovim grupama. Najjednostavniji i najstariji takav algoritam je algoritam
kvadriraj i mnoi (u multiplikativnoj notaciji), odnosno dupliciraj i zbra-
jaj (u aditivnoj notaciji koju koristimo kod eliptikih krivulja). Algoritam
se jo naziva i binarne ljestve, jer koristi binarni zapis broja m. Recimo da
elimo izraunati 13P. Binarni zapis od 13 je (1 1 0 1)
2
. Sada 13P moemo
izraunati kao
13P = P + 2(2P) + 2(2(2P)).
Mogli bi rei da smo binarni zapis itali s desna na lijevo. Ako isti zapis
proitamo s lijeva na desno, onda imamo
13P = 2(2(P + 2P)) +P.
Dakle, imamo sljedea dva algoritma za raunanje Q = mP, gdje je m =
(m
d
, . . . , m
0
)
2
.
Binarne ljestve (s desna na lijevo):
Q = O; R = P
for i = 0 to d 1
if (m
i
= 1) then Q = Q+R
R = 2R
Q = Q+R
Algoritmi za eliptike krivulje 96
Binarne ljestve (s lijeva na desno):
Q = P
for i = d 1 to 0 by 1
Q = 2Q
if (m
i
= 1) then Q = Q+P
Obje varijante binarne metode imaju isti broj operacija: d dupliciranja,
te mnoenja onoliko koliko ima jedinica u binarnom zapisu od m (to je
d + 1, a u prosjenom sluaju je oko d/2). Prednost druge varijante (s
lijeva na desno) je u tome da se u koraku Q = Q + P dodaje uvijek ista
toka P, to se moe pokuati iskorisiti u implementaciji. Broj operacija za
raunanje mP za eliptiku krivulju nad poljem F
q
je O(lnmln
2
q).
Postoje razliita opa poboljanja binarne metode, no mi emo spomenuti
jednu koja je specina za eliptike krivulje. Naime, jedna od specinosti
grupe toka na eliptikoj krivulji je da u njoj inverzna operacija (oduzi-
manje) nije nimalo kompliciranija od originalne grupovne operacije (zbra-
janja): (x, y) = (x, y), odnosno u karakteristici 2, (x, y) = (x, x + y).
Ova injenica se moe iskoristiti za ekasnije multipliciranje). Glavna ideja je
zamjena binarnog zapisa sa zapisom u kojem su doputene znamenke 1, 0,
1. Prikaz broja m u obliku m =

d
i
0
s
i
2
i
, s
i
1, 0, 1, zovemo SD (signed
digit) prikaz od m. Jasno je da SD prikaz nije jedinstven. Naime, imamo
3
d+1
kombinacija, a samo 2
d+1
1 brojeva koji se mogu prikazati s d + 1
znamenkom. Npr. 3 = (0 1 1) = (1 0 -1). Ova vieznanost nam sugerira
da pokuamo izabrati prikaz koji e imati to vie nula, a to e rezultirati
ekasnijim multipliciranjem.
Rei emo da je SD prikaz rijedak ili nesusjedan (non-adjacent form,
krae: NAF prikaz) ako nema susjednih znamenaka razliitih od 0, tj. ako
je s
i
s
i+1
= 0 za svaki i. Moe se pokazati da svaki prirodan broj n ima
jedinstveni NAF prikaz. Nadalje, NAF ima najmanju teinu (broj znamenki
razliitih od 0) meu svim SD prikazima od n, a najvie za jednu znamenku
je dulji od najkraeg SD prikaza od n. Oekivana (prosjena) teina NAF
prikaza je d/3, za razliku od binarnog prikaza kod kojeg je oekivana teina
d/2.
Sljedei algoritam iz poznatog binarnog zapisa (n
d1
, . . . , n
0
)
2
broja n
rauna njegov NAF prikaz (s
d
, . . . , s
0
).
Algoritam za NAF prikaz
c
0
= 0
for i = 0 to d
c
i+1
= (n
i
+n
i+1
+c
i
)/2|
s
i
= n
i
+c
i
2c
i+1
Umjesto formula iz ovog algoritma, moemo koristiti sljedeu tablicu koja
za sve mogue vrijednosti ulaznih podataka u i-tom koraku (n
i
, c
i
, n
i+1
) daje
odgovarajue vrijednosti izlaznih podataka (c
i+1
, s
i
).
Algoritmi za eliptike krivulje 97
n
i
0 0 0 0 1 1 1 1
c
i
0 0 1 1 0 0 1 1
n
i+1
0 1 0 1 0 1 0 1
c
i+1
0 0 0 1 0 1 1 1
s
i
0 0 1 -1 1 -1 0 0
Sve metode za potenciranje zasnovane na binarnom prikazu, mogu se
jednostavno modicirati za NAF prikaz. Prikaimo to za binarnu metodu (s
lijeva na desno).
Binarne ljestve s predznakom (aditivna verzija):
Q = P
for i = d 1 to 0 by 1
Q = 2Q
if (m
i
= 1) then Q = Q+P
if (m
i
= 1) then Q = QP
3.3 Odreivanje reda grupe E(F
q
)
Hoe li konkretna eliptika krivulja biti prikladna za primjene u kriptograji,
ovisi prvenstveno o redu grupe E(F
q
). Da bi problem diskretnog logaritma
u toj grupi bio dovoljno teak, [E(F
q
)[ trebao bi imati barem jedan prosti
faktor vei od 2
160
. Nadalje, za krivulje specijalnog oblika poznati su ekasni
algoritmi za problem diskretnog logaritma. To su anomalne krivulje kod kojih
je [E(F
q
)[ = q, te supersingularne krivulje kod kojih p[t, to za p > 3 znai
da je [E(F
p
)[ = p +1 (a za q = 2
k
da je j(E) = 0). Stoga takve krivulje nisu
prikladne za primjene u kriptograji.
Rei emo sada neto o metodama za odreivanje reda [E(F
q
)[.
Prva metoda koju emo spomenuti koristi Legendreov simbol (odnosno
njegovo poopenje za F
q
), tj. formulu
[E(F
p
)[ = p + 1 +

xF
p
_
x
3
+ax +b
p
_
.
Sloenost ovog algoritma je O(p ln
2
p), to moemo pisati i kao O(p
1+
), gdje
je proizvoljno mala pozitivna konstanta. Ovaj algoritam je ekasan samo
za vrlo male p-ove, a praktiki je neprimjenjiv za p > 10000.
Prikazat emo sada Shanks-Mestreovu metodu, ija je sloenost O(p
1/4+
)
i koja je u praksi primjenjiva za p < 10
30
.
Iz Hasseova teorema znamo da je [E(F
p
)[ = p+1t, [t[ 2

p. Izaberimo
sluajnu toku P E(F
p
). elimo nai broj N p +1 2

p, p +1 +2

p)
takav da je [N]P = O. Takav broj N sigurno postoji jer, po Lagrangeovu
Algoritmi za eliptike krivulje 98
teoremu, red od P dijeli [E(F
p
)[. Ako je red od P vei od 4

p, onda je
takav N jedinstven i jednak je [E(F
p
)[. Naivan nain za pronalaenje broja
N bio bi da ispitamo svih 4

p| moguih brojeva. Bolji nain se zasniva


na Shanksovoj metodi malih i velikih koraka (engl. baby step - giant step
(BSGS)). Neka je Q = [p+1+2

p|]P. Tada za broj n = p+1+2

p|N
vrijedi da je 0 n 4

p i
[n]P = [p + 1 +2

p| N]P = Q.
Dakle, zapravo trebamo rijeiti problem diskretnog logaritma. Iako za taj
problem nemamo jako ekasan algoritam, ipak ga BSGS metodom moemo
rijeiti ekasnije nego da redom uvrtavamo sve mogue n-ove. Neka je m =
2p
1/4
|. Tada je n < m
2
, pa n moemo prikazati u obliku
n = im+j, 0 i m1, 0 j m1.
Mali koraci (engl. baby steps) se sastoje u raunanju toaka [j]P, 0
j m 1 (nova toka dobiva se iz stare dodavanjem P - mali korak).
Veliki koraci (engl. giant steps) se sastoje u raunanju toaka Q[i]([m]P),
0 i m 1 (nova toka dobiva se iz stare oduzimanjem [m]P - veliki
korak). Za svaki i testiramo postoji li j takav da je
Q[i]([m]P) = [j]P.
Kada takve i, j pronaemo, tada je traeni n jednak im + j. Dakle, imamo
sljedei algoritam:
Shanks-Mestreova metoda):
m = 2p
1/4
|
P E(F
p
), [P[ > 4

p
Q = [p + 1 +2

p|]P
for j = 0 to m1
izraunaj i spremi [j]P
for i = 0 to m1
if (Q[i]([m]P) = [j]P za neki 0 j m1) then
t = im+j 2

p|
return t
Primjer 3.2. Zadana je krivulja
E : y
2
= x
3
+ 3x + 5
nad poljem F
163
. Odrediti red grupe E(F
163
).
Ovdje je m = 8. Uzmimo P = (1, 3). Tada je Q = [163 + 1 + 25]P =
(106, 61). U sljedeoj tablici su prikazani mali koraci:
Algoritmi za eliptike krivulje 99
j 0 1 2 3 4 5 6 7
[j]P O (1, 3) (162, 162) (4, 154) (11, 37) (143, 101) (77, 80) (118, 5)
Izraunamo R = [8]P = (97, 150). Veliki koraci su prikazani u sljedeoj
tablici:
i 0 1 2 3 4 5 6 7
Q[i]R (106, 61) (79, 83) (145, 65) (118, 5) (1, 160) (142, 61) (7, 83) (124, 8)
Dakle, n = 3 8 + 7 = 31, t = 31 25 = 6 i konano [E(F
163
)[ =
163 + 1 6 = 158.
Ako je red toke P manji od 4

p, onda e nam ovaj algoritam dati


vie moguih kandidata za red grupe [E(F
p
)[. Dakle, postavlja se pitanje
postoji li toka P E(F
p
) iji je red P vei od 4

p. Potvrdan odgovor na
ovo pitanje dao je Mestre. Da bismo formulirali njegov rezultat, treba nam
pojam zakretanja (engl. twist) eliptike krivulje. Za eliptiku krivulju E
nad poljem K danu jednadbom y
2
= x
3
+ax+b i g K

, (kvadratni) twist
od E s g je eliptika krivulja ija je jednadba gy
2
= x
3
+ ax + b, odnosno
(uz supstituciju X = gx, Y = g
2
y) Y
2
= X
3
+ g
2
aX + g
3
b. U sluaju kada
je K = F
p
, svi twistovi od E ine dvije klase izomorfnih krivulja. One kod
kojih je g kvadratni ostatak modulo p izomorfne su s E, dok su sve one kod
kojih je g kvadratni neostatak modulo p izomorfne jednoj drugoj krivulji
koju emo oznaiti s E

. Iz formule za prikaz [E(F


p
)[ pomou Legendreovih
simbola, direktno slijedi da je
[E(F
p
)[ +[E

(F
p
)[ = 2p + 2.
To znai da ako znamo red [E(F
p
)[, onda znamo i red od [E

(F
p
)[, i obrnuto.
Sada moemo navesti gore najavljeni Mestreov rezultat koji kae da ako je
p > 457, onda postoji toka reda veeg od 4

p na barem jednoj od krivulja E


i E

. tovie, takvih toaka ima relativno mnogo (ima ih vie od c lnp/ lnlnp
za neku konstantu c).
Prvi polinomijalni algoritam za raunanje reda grupe E(F
q
) dao je Schoof
1995. godine. Taj je algoritam imao sloenost O(ln
8
q). Kasnije su Atkin
i Elkies poboljali Schoofov algoritam do sloenosti O(ln
6
q), pa je danas
mogue izraunati red grupe E(F
p
) za proste brojeve p < 10
500
. Vrlo kratko
emo spomenuti neke od ideja koje se koriste u Schoofovom algoritmu. Po-
lazna ideja je raunanje broja t tako da se izrauna t mod l za male proste
brojeve l. Ako je l
max
najmanji prost broj takav da je

l prost
l l
max
l > 4

q,
Algoritmi za eliptike krivulje 100
onda iz poznavanja t mod l za 2 l l
max
, pomou Kineskog teorema o
ostatcima moemo izraunati t. Broj l
max
je reda veliine O(lnq), pa je broj
kongruencija u pripadnom sustavu O(
ln q
ln lnq
). U odreivanju t mod l koristi
se tzv. Frobeniousov endomorzam. To je preslikavanje : E(F
q
) E(F
q
)
zadano sa (x, y) = (x
q
, y
q
), (O) = O. Frobeniusov endomorzam i
Frobeniusov trag t povezani su relacijom

2
[t] + [q] = [0],
tj. za svaku toku P = (x, y) E(F
q
) vrijedi
(x
q
2
, y
q
2
) [t](x
q
, y
q
) + [q](x, y) = O.
Neka je toka P E(F
q
) takva da je [l]P = O, te neka je q
l
= q mod l. Ako
za 0, 1, . . . , l 1 vrijedi
2
(P) +[q
l
]P = [](P), onda je t mod l = .
Algoritmi za eliptike krivulje 101
3.4 Problem diskretnog logaritma
3.4.1 Index calculus metoda
Najekasniji poznati algoritmi za problem diskretnog algoritma u grupi F

p
zasnovani su na tzv. index calculus metodi. Sama metoda se moe denirati
za proizvoljnu grupu G, no njezina ekasnost bitno ovisi o svojstvima te
grupe. Ponajprije, moramo biti u stanju izabrati relativno mali podskup B
grupe G (tzv. faktorsku bazu) koji ima svojstvo da se velik broj elemenata
iz G moe ekasno prikazati kao produkt elemenata iz B.
Za ekasnost ove metode u grupi F

p
presudna su svojstva distribucije
prostih brojeva, ponajprije injenica da ih ima beskonano mnogo. Preciznije,
broj prostih brojeva, koji su manji od realnog broja x, asimptotski je jed-
nak
x
ln x
. Vidjet emo da tekoa nalaenja eliptikih krivulja velikog ranga,
predstavlja najvaniji ograniavajui faktor za primjenu ove metode na grupe
eliptikih krivulja nad konanim poljem. Ovo je upravo i predstavljalo mo-
tivaciju za uvoenje eliptikih krivulja u kriptograju.
Opisat emo sada algoritam koji za cikliku grupu G reda n s genera-
torom g, rauna diskretni logaritam log
g
h proizvoljnog elementa h grupe G
(diskretni logaritam se jo naziva i indeks, pa odatle dolazi naziv metode).
Index calculus algoritam:
1. Izbor faktorske baze
Izaberemo podskup B = p
1
, p
2
, . . . , p
m
od G sa svojstvom
da se relativno velik broj elemenata iz G moe prikazati kao
produkt elemenata iz B.
2. Linearne relacije u logaritmima
Za sluajan broj k, 0 k n 1, izraunamo g
k
, te ga
pokuamo prikazati kao produkt elemenata iz B:
g
k
=
m

i=1
p
c
i
i
, c
i
0.
Ukoliko smo u tome uspjeli, logaritmiramo dobivenu relaciju,
te tako prikaemo k mod n kao linearnu kombinaciju loga-
ritama:
k
m

i=1
c
i
log
g
p
i
(mod n).
Ponavljamo ovaj postupak sve dok ne dobijemo barem m
takvih relacija. Obino se zadovoljavamo s m+ 10 relacija,
jer tada s velikom vjerojatnou pripadni sustav od m+ 10
jednadbi s m nepoznanica ima jedinstveno rjeenje.
Algoritmi za eliptike krivulje 102
3. Rjeavanje sustava
Rijeimo linearni sustav od, recimo, m + 10 jednadbi s m
nepoznanica, te tako dobijemo vrijednosti log
g
p
i
.
4. Raunanje x = log
g
h
Za sluajan broj k, 0 k n 1, izraunamo h g
k
, te ga
pokuamo prikazati kao produkt elemenata iz B:
h g
k
=
m

i=1
p
d
i
i
, d
i
0.
Ukoliko nismo u tome uspjeli, izaberemo novi k, a ukoliko
smo uspjeli, logaritmiramo dobivenu relaciju, te tako dobi-
jemo da je
x = log
g
h =
_
m

i=1
d
i
log
g
p
i
k
_
mod n.
U primjeni index calculus metode na grupu F

p
, koja je ciklika grupa
reda n = p 1, za faktorsku bazu B uzimamo prvih m prostih brojeva.
Potom pokuavamo brojeve oblika r = g
k
mod p prikazati kao produkt po-
tencija prvih m prostih brojeva. Jasno je da to vei m izaberemo, to je vea
vjerojatnost da e se r moi rastaviti kao produkt potencija prvih m prostih
brojeva. S druge strane, vei m znai da e rjeavanje sustava u 3. koraku
algoritma biti tee. Pokazuje se da je optimalan izbor ako odaberemo da je
najvei element faktorske baze p
m
priblino jednak
L(p) = e

lnp lnln p
.
Na taj nain, algoritam index calculus postaje subeksponencijalni algoritam
za raunanje diskretnog logaritma u grupi F

p
.
3.4.2 Problem diskretnog logaritma za eliptike krivulje
Nije F

p
jedina grupa kod koje je potenciranje puno lake od logaritmiranja.
Dapae, ima grupa, poput grupe eliptike krivulje nad konanim poljem, kod
kojih je razlika u teini ova dva problema (potenciranja i logaritmiranja) jo
vea.
Ideju o tome da bi eliptike krivulje mogle biti korisne u konstrukciji
kriptosustava s javnim kljuem prvi su javno iznijeli Koblitz i Miller 1985.
godine. Glavni razlog za uvoenje eliptikih krivulja u kriptograju javnog
kljua jest taj da je problem diskretnog logaritma u grupi E(F
p
) jo tei od
problema diskretnog logaritma u grupi F

p
. To pak znai da se ista sigurnost
moe postii s manjim kljuem. Tako je npr. umjesto kljua duljine 1024
bita, dovoljan klju duljine 160 bitova. To je osobito vano kod onih medija
Algoritmi za eliptike krivulje 103
kod kojih je prostor za pohranu kljueva vrlo ogranien. U daljnjem tekstu
emo precizirati ova razmatranja.
Recimo sada neto o poznatim algoritmima za rjeavanje problema dis-
kretnog logaritma u grupi eliptike krivulje nad konanim poljem (ECDLP).
Opisat emo najprije Pohlig-Hellmanov algoritam redukcije koji se temelji
na tome da se odreivanje broja m svodi na odreivanje vrijednosti od m
modulo svaki prosti faktor od n. Direktna posljedica postojanja ovog algo-
ritma jest da ako elimo da kriptosustav zasnovan na ECDLP bude siguran,
onda n mora imati veliki prosti faktor.
Pohlig-Hellmanov algoritam se moe primijeniti u bilo kojoj Abelovoj
grupi G. Neka je red n od G djeljiv s prostim brojem p, te pretpostavimo da
elimo rijeiti problem diskretnog logaritma Q = mP. Neka je je n

= n/p,
m m
0
(mod p), te Q

= n

Q i P

= n

P. Tada je P

toka reda p, pa je
mP

= m
0
P

. Sada se problem diskretnog logaritma Q = mP u G reducira


na podgrupu od G reda p, tako to se rjeava problem
Q

= n

Q = n

mP = m
0
P

.
Rjeenjem ovog novog problema odreujemo vrijednost m
0
, tj. odreujemo
m modulo p.
Vrijednosti od m modulo p
2
, p
3
, . . . , p
c
(gdje je p
c
najvea potencija od p
koja dijeli n) odreuju se na sljedei nain. Pretpostavimo da je poznato da
je m m
i1
(mod p
i
). Tada je m = m
i1
+kp
i
, za neki cijeli broj k. Tako
dobivamo problem
R = Qm
i1
P = k(p
i
P) = kS,
gdje su R i S poznati i S ima red s = n/p
i
. Vrijednost od k
i1
= k mod p
odreuje se na isti nain kao to je gore odreena vrijednost od m modulo
p, pa dobivamo da je m m
i
(mod p
i+1
), gdje je m
i
= m
i1
+k
i1
p
i
.
Nastavljajui ovaj postupak, rjeavanjem problema diskretnog logaritma
u podgrupama reda p, mi na kraju odreujemo vrijednost m modulo p
c
.
Nakon to izraunamo ovu vrijednost za sve proste djelitelje od n, sam broj
m, tj. rjeenje originalnog problema diskretnog logaritma, nalazimo prim-
jenom Kineskog teorema o ostatcima.
Primjer 3.3. Neka je dana eliptika krivulja
E : y
2
= x
3
+ 71x + 602
nad F
1009
. Red grupe E(F
1009
) je 1060 = 2
2
5 53. Zadane su toke P =
(1, 237), Q = (190, 271). Treba rijeiti problem eliptikog diskretnog logaritma
Q = [m]P.
Algoritmi za eliptike krivulje 104
Rjeenje: Toka P ima red 530 = 2 5 53 u grupi E(F
1009
). Dakle, kod
nas je n = 530 i pomou Pohlig-Hellmanovog algoritma raunanje broja m
se reducira na raunanje od m modulo 2, 5 i 53.
Modulo 2: Mnoei toke P i Q s 530/2 = 265, dobivamo toke P
2
=
[265]P = (50, 0) i Q
2
= [265]Q = (50, 0). Dobivamo problem
Q
2
= (m mod 2)P
2
,
otkud oito slijedi da je m 1 (mod 2).
Modulo 5: Mnoei toke P i Q s 530/5 = 106, dobivamo toke P
5
=
[106]P = (639, 160) i Q
5
= [106]Q = (639, 849). Oito je Q
5
= P
5
, to
povlai m 1 4 (mod 5).
Modulo 53: Sada se toke mnoe s 530/53 = 10. Tako se dobivaju toke
P
53
= [10]P = (32, 737) i Q
53
= [10]Q = (592, 97). Dobili smo problem
diskretnog logaritma u grupi reda 53, koji emo rijeiti malo kasnije kao
ilustraciju BSGS metode. Rezultat je m 48 (mod 53).
Rjeenje originalnog problema Q = [m]P, za P = (1, 237), Q = (190, 271),
dobivamo rjeavanjem sustava kongruencija
m 1 (mod 2), m 4 (mod 5), m 48 (mod 53),
ije je rjeenje, po Kineskom teoremu o ostacima, m = 419.
Poznato je nekoliko metoda za rjeavanje ECDLP koje imaju sloenost
O(

n). Danas se najboljom smatra Pollardova -metoda, kod koje je za


odreivanje diskretnog logaritma potrebno priblino

n
2
zbrajanja toaka
na eliptikoj krivulji. Mi emo ovdje opisati Shanksovu baby step - giant
step (BSGS) metodu. Ova metoda je primjenjiva na problem diskretnog
logaritma u proizvoljnoj Abelovoj grupi G. Njezina kompleksnost je takoer
O(

n), gdje je n red grupe G, a pripadna konstanta je ak i neto bolja


nego kod -metode. No, za razliku od -metode, BSGS metoda zahtjeva i
pohranjivanje u memoriju O(

n) elemenata grupe.
Slijedi opis BSGS metode. Neka su P, Q elementi grupe G, te neka je
Q = mP. Po teoremu o dijeljenju s ostatkom, znamo da se m moe zapisati
u obliku
m =

n|a +b, gdje je 0 a, b <



n.
Trebamo odrediti vrijednosti od a i b. Jednadbu Q = mP moemo sada
zapisati u obliku
(QbP) = a(

n|P).
Na prvi pogled se moe initi da smo samo dodatno zakomplicirali prob-
lem, meutim ovakav prikaz jednadbe nam omoguava rjeavanje problema
balansiranjem zahtjeva za prostor i vrijeme. Najprije izraunamo tablicu
baby stepova. Ta se tablica sastoji od svih vrijednosti
R
b
= QbP, za b = 0, 1, . . . ,

n| 1.
Algoritmi za eliptike krivulje 105
Tablica se sortira, te spremi u memoriju tako da moe biti ekasno pretrai-
vana. Nakon toga raunamo redom giant stepove:
S
a
= a(

n|P), za a = 0, 1, . . . ,

n| 1.
Nakon svakog raunanja giant stepa, provjerimo pojavljuje li se S
a
u tablici.
Ako se pojavljuje, onda smo otkrili vrijednosti od a i b. Ovaj postupak mora
zavriti prije nego to a dosegne vrijednost

n|.
Primjer 3.4. Nastavak primjera 3.3: U gornjem primjeru, promatrali smo
eliptiku krivulju
E : y
2
= x
3
+ 71x + 602
nad F
1009
. Nakon primjene Pohlig-Hellmanovog algoritma, originalni prob-
lem smo sveli na odreivanje broja m
0
za kojeg vrijedi Q

= [m
0
]P

, gdje je
Q

= (592, 97), P

= (32, 737).
Rjeenje: Znamo da je red od P

jednak 53. Kako je

53| = 8, trebamo
napraviti osam baby stepova. Dobivamo sljedeu tablicu:
b R
b
= Q

[b]P

0 (592, 97)
1 (728, 450)
2 (537, 344)
3 (996, 154)
4 (817, 136)
5 (365, 715)
6 (627, 606)
7 (150, 413)
Sada raunamo giant stepove:
a S
a
= [a]([8]P

)
1 (996, 855)
2 (200, 652)
3 (378, 304)
4 (609, 357)
5 (304, 583)
6 (592, 97)
Primjeujemo poklapanje za a = 6 i b = 0, to povlai m
0
= 8a+b = 48.
(Ve iz a = 1 smo mogli zakljuiti da je S
1
= R
3
, otkud je [8]P

= Q +
[3]P

, to ponovo povlai da je m 5 48 (mod 53).)


Napomenimo da za eliptike krivulje specijalnih oblika postoje i ekas-
niji algoritmi za ECDLP od gore navedenih. Poznavanje tih algoritama je
vano jer nam oni pokazuju koje eliptike krivulje trebamo izbjegavati u
kriptografskim primjenama.
Algoritmi za eliptike krivulje 106
3.4.3 Izbor parametara u ECC
Dva su osnovna koraka kod izbora parametara za kriptosustav zasnovan na
eliptikim krivuljama:
izbor konanog polja F
q
;
izbor eliptike krivulje E nad F
q
.
Kod izbora polja, dvije su osnovne mogunosti: ili je q = p prost broj ili
q = 2
k
potencija broja 2. Ako su p i 2
k
priblino iste veliine, ova dva izbora
pruaju istu razinu sigurnosti.
Meu poljima F
p
, da bi se minimiziralo vrijeme potrebno za modularno
mnoenje, preporua se da p ima oblik 2
k
c za neki mali prirodni broj c
(npr. Mersenneovi prosti brojevi oblika 2
k
1, brojevi 2
160
+ 7, 2
255
+ 95, i
sl.).
Kod polja karakteristike 2, osim broja elemenata, moramo odabrati i
nain reprezentacije elemenata. Najee se koriste trinomijalne i optimalne
normalne baze. Izbor takvih baza omoguuje ekasniju implementaciju. No,
takve baze ne postoje za svako konano polje karakteristike 2, pa i to utjee
na izbor polja. Neki popularni izbori su npr. 2
163
, 2
191
, 2
239
i 2
431
.
Kod izbora eliptike krivulje trebamo paziti da problem diskretnog log-
aritma bude teak. Kako smo ve napomenuli, ECDLP je, prema svemu
to nam je danas poznato, vrlo teak problem. Meutim, postoje tipovi elip-
tikih krivulja kod kojih je taj problem neto (ali ak puno) laki. Zato takve
krivulje treba izbjegavati. Situacija je vrlo slina kao kod kriptosustava koji
svoju sigurnost zasnivaju na tekoi faktorizacije velikih prirodnih brojeva
(npr. RSA ili Rabinov). I tamo je tvrdnja da je broj oblika pq, gdje su p
i q veliki prosti brojevi, teko rastaviti na faktore tona samo ako se p i q
odaberu paljivo (npr. p i q ne smiju biti jako bliski; brojevi p 1 i q 1
moraju imati barem jedan veliki prosti faktor).
Navest emo sada tipove eliptikih krivulja koje treba izbjegavati:
Pohlig-Hellmanov algoritam implicira da trebamo izbjegavati eliptike
krivulje kod kojih red grupe E(F
q
) nema niti jedan veliki prosti faktor.
Preciznije, [E(F
q
)[ bi trebao imati barem jedan prosti faktor n vei od
2
160
, jer bismo u protivnom ECDLP mogli rijeiti, npr. Pollardovom
metodom. Obino se krivulja E odabire tako da broj [E(F
q
)[ bude
oblika h r, gdje je r prost broj, a h = 1, 2 ili 4.
Eliptika krivulja naziva se anomalna ako joj je Frobeniusov trag t =
q+1[E(F
q
)[ jednak 1, tj. ako je [E(F
q
)[ = q. Za takve krivulje postoji
polinomijalni algoritam za ECDLP koji su otkrili Smart, Satoh, Araki
i Semaev. Stoga se analomalne krivulje nikako ne bi smjele koristiti u
ovom kontekstu.
Algoritmi za eliptike krivulje 107
Za eliptiku krivulju E nad F
q
, gdje je q = p
k
, kaemo da je supersin-
gularna ako p dijeli t. Za krivulje nad F
p
za p 5 to znai da je t = 0,
tj. [E(F
p
)[ = p + 1. Za takve krivulje postoji MOV-napad (Menezes,
Okamoto, Vanstone) koji u polinomijalnom vremenu reducira ECDLP
u polju E(F
q
) na (obian) DLP u polju F
q
2. Zbog toga bi supersin-
gularne krivulje trebalo izbjegavati. Nadalje, trebalo bi izbjegavati sve
krivulje za koje postoji mali prirodni broj k (recimo k 20) takav da
je q
k
1 (mod [E(F
q
)[), zato to u tom sluaju MOV-napad reducira
ECDLP na DLP u polju F
q
k.
Vidimo da je lako odluiti je li konkretna eliptika krivulja dobra za
primjenu u kriptograji ukoliko znamo red grupe E(F
q
).
Primjer 3.5. Navest emo jedan primjer koji zadovoljava sve gore navedene
savjete i zahtjeve za izbor polja i eliptike krivulje. Neka je krivulja E zadana
jednadbom
y
2
= x
3
+x + 1010685925500572430206879608558642904226772615919
nad poljem F
p
, gdje je p = 2
160
+ 7. Tada je
[E(F
p
)[ = 1461501637330902918203683038630093524408650319587.
Moe se dokazati (npr. metodom dokazivanja prostosti pomou eliptikih
krivulja) da su brojevi p i #E(F
p
) prosti.
3.4.4 Usporedba kriptosustava s javnim kljuem
Osnovna motivacija za koritenje eliptikih krivulja dolazi iz nepostojanja
subeksponencijalnog algoritma za rjeavanje problema diskretnog logaritma
za eliptike krivulje, dok se problem diskretnog logaritma u multiplikativnoj
grupi konanog polja moe se rijeiti u subeksponencijalnom vremenu ko-
ritenjem index calculus metode. Glavni razlozi zato je index calculus metoda
neprimjenjiva na eliptike krivulje lee u tome to
teko je nai eliptiku krivulju nad Q velikog ranga;
teko je nai eliptiku krivulju generiranu tokama s malim brojnicima
i nazivnicima;
teko je podii toke iz E(F
p
) do toaka iz E(Q).
Kad bi bilo mogue rijeiti ove teke probleme, onda bi mogli primijeniti
analogon index calculus metode u kojem bi skup prostih brojeva zamijenili
s generatorima neke eliptike krivulje nad Q velikog ranga. Spomenimo da
je procijenjeno da bi za primjenu ove ideje za p priblino jednak 2
160
trebali
koristiti krivulju ranga veeg od 180. Budui da danas nije poznata niti jedna
krivulja ranga veeg od 28, jasno je da ova ideja vrlo nerealistina.
Algoritmi za eliptike krivulje 108
Zbog toga moemo oekivati da emo kod kriptosustava zasnovanih na
eliptikim krivuljama postii zadovoljavajuu sigurnost s (puno) kraim kljuem
nego kod kriptosustava zasnovanih na faktorizaciji ili obinom problemu
diskretnog logaritma. Sada emo pokuati malo precizirati ovo razmatranje.
Pretpostavimo da imamo jedan kriptosustav zasnovan na DLP u grupi
F

p
, te drugi zasnovan na ECDLP u grupi E(F
q
). Ovdje su p i q prosti brojevi.
Neka je M broj bitova od p, a N broj bitova od q. Brojeve M i N moemo in-
terpretirati kao duljine kljueva u pripadnim kriptosustavima. Stoga elimo
nai odnos izmeu M i N, uz pretpostavku da su pripadni kriptosustavi pod-
jednako sigurni, tj. da su pripadni problemi diskretnog logaritma podjednako
teki.
Najbolji poznati algoritmi za problem eliptikog diskretnog logaritma
trebaju O(

n) operacija, gdje je n red grupe E(F


q
). Kako je n vrlo blizu
q, zakljuujemo da je sloenost promatranog ECDLP proporcionalna s 2
N/2
.
S druge strane, sloenost najboljeg poznatog algoritma za problem obinog
DLP je priblino
e
1.92M
1/3
(ln(M ln2))
2/3
.
Primijetimo da najbolji poznati algoritmi za faktorizaciju velikih brojeva
imaju vrlo slinu sloenost. Stoga e zakljuci, koje emo dobiti, biti prim-
jenjivi i na usporedbu kriptosustava zasnovanih na eliptikim krivuljama s
onima zasnovanima na faktorizaciji (kao to je npr. RSA).
Usporedbom gore navedenih sloenosti (zanemarujui konstante), dobi-
vamo sljedei odnos izmeu M i N:
N 4.91M
1/3
(ln(M ln2))
2/3
.
Dakle, uz dananja saznanja o najboljim algoritmima za problem diskretnog
logaritma, za istu razinu sigurnosti, duljina kljua N je ugrubo trei korijen
duljine kljua M. Naravno, naa komparacija nije bila sasvim precizna, pr-
venstveno zbog toga to je implementacija grupovnih operacija kompleksnija
u sluaju eliptikih krivulja. Ali ona svakako pokazuje prednost kriptosus-
tava zasnovanih na eliptikim krivuljama (ECC kriptosustava) u odnosu na
RSA ili ElGamalov kriptosustav. No, vie nego za asimptotski odnos izmeu
M i N, zainteresirani smo za njihovu usporedbu kod standarnih vrijednosti,
koje odgovaraju dananjim potrebama za sigurnou. Tako za postizanje iste
razine sigurnosti kao kod RSA kriptosustava (a za ElGamalov vrijedi isto)
s duljinom kljua od 1024 (a to je standardna vrijednost), kod eliptikih
krivulja je dovoljno uzeti klju duljine 160 bitova (to je standardna vrijed-
nost za ECC).
U lanku iz 2001. godine, Lenstra i Verheul su dali preporuke za duljine
kljueva koje bi trebalo koristiti da bi se postigla zadovoljavajua sigurnost.
Takoer su dali predvianja o tome kako bi se te duljine kljueva trebale
Algoritmi za eliptike krivulje 109
kretati u budunosti. U svojim preporukama su uzeli u obzir vie varija-
bilnih parametara. Jedan od osnovnih parametara uzima u obzir razumnu
pretpostavku da najbolji javno objavljeni rezultati u razbijanju pojedinih
kriptosustava ne predstavljaju garanciju da ne postoje i bolji (neobjavljeni)
rezultati. Za parametar koji uzima ovu pretpostavku u obzir, uzeli su zad-
nju godinu u kojoj se smatra da je najpopularniji simetrini kriptosustav
DES bio siguran. DES je kao standard prihvaen 1976. godine. Kod njega
je duljina kljua 56 bitova. Ve su tada neki kriptogra smatrali da je ta
duljina kljua premala, meutim do javnog razbijanja DES-a dolo je tek
1997. godine. U podatcima u sljedeoj tablici koristi se pretpostavka da je
zadnja godina u kojoj je DES bio siguran bila 1982. godina. Napomenimo da
njihova predvianja ne uzimaju u obzir moguu konstrukciju kvantnih rau-
nala, koja bi skoro sve kriptosustave javnog kljua koji su danas u uporabi
uinila nesigurnima.
U tablici su dane preporuene duljine kljua u bitovima za simetrine
kriptosustave (DES, AES), kriptosustave zasnovane na faktorizaciji ili diskret-
nom logaritmu u konanom polju (RSA, ElGamal), te kriptosustave zasno-
vane na eliptikim krivuljama. Uz to, dana je procjena kompjuterskog vre-
mena potrebnog za razbijanje ifre u MIPS godinama. Jedna MIPS (engl.
million-instructions-per-second) godina se denira kao koliina raunanja
koje se moe provesti u godinu dana na raunalu sposobnom provesti milijun
naredbi u sekundi.
Godina DES duljina kljua RSA duljina kljua ECC duljina kljua MIPS godina
1990 63 622 117 3.51 10
7
2000 70 952 132 7.13 10
9
2010 78 1369 146 1.45 10
12
2020 86 1881 161 2.94 10
14
2030 93 2493 176 5.98 10
16
2040 101 3214 191 1.22 10
19
Moemo zakljuiti da kriposustavi zasnovani na eliptikim krivuljama,
trenutno, uz 7 puta manju duljinu kljua pruaju istu sigurnost kao RSA
kriptosustav, a u budunosti se moe oekivati da e taj omjer biti jo po-
voljniji za ECC. To je osobito vano kod onih primjena (kao to su pametne
kartice) kod kojih je prostor za pohranu kljueva vrlo ogranien. Jasno je
da su zbog toga eliptike krivulje u posljednje vrijeme od velikog interesa za
kriptografe. Njihovim intenzivnijim prouavanjem moe se oekivati da e
nestati i jedan od rijetkih argumenata protiv njihove uporabe u kriptograji,
a to je da su problemi na kojima je zasnovana uporaba eliptikih krivulja u
kriptograji slabije istraeni, i puno krae u aritu interesa kriptografa, od
recimo, problema faktorizacije.
Algoritmi za eliptike krivulje 110
Multiplikativna grupa konanog polja i grupa toaka na eliptikoj krivulji
nad konanim poljem su dva najvaija tipa grpa koje se koriste u krip-
tograji javnog kljua. Pored njih, jo su dva tipa grupa prouavana u ovom
kontekstu. Prvi tip su grupe klasa ideala u imaginarnim kvadratnim poljima
(ili, to je ekvivalentno, grupe klsa pozitivno denitnih kvadratnih formi).
No, nakon to je McCurley 1989. godine pronaao ekasan algoritam za
problem diskretnog logaritma u njima, interes za primjenu ovih grupa u
kriptograji je znatno smanjen.
Drugi tip su tzv. Jacobijani hipereliptikih krivulja, ija je mogua prim-
jena u kriptograji predmet intenzivnog istraivanja posljednjih godina.
Algoritmi za eliptike krivulje 111
3.5 Dokazivanje prostosti pomou eliptikih krivulja
Ukoliko broj n proe nekoliko dobrih testova prostosti (npr. Miller-Rabinov
test za nekoliko razliitih baza), onda moemo biti prilino sigurni da je
n prost. Meutim, ti testovi nam ne daju dokaz da je n prost. to se tie
relevantnosti ovog problema za primjene u kriptograji, treba razlikovati dva
razliita naina na koje se pojavljuje potreba za velikim prostim brojevima.
Npr. kod izbora tajnih prostih brojeva p i q za RSA kriptosustav, elimo to
bre generirati takve brojeve i tu se zadovoljavamo s time da je vrlo velika
vjerojatnost da su prosti. S druge strane, kod izbora polja koje e se koristiti
za ifriranje u npr. ElGamalovom kriptosustavu, radi se o prostom broju koji
e se preporuiti kao standard za uporabu moda i na nekoliko godina, pa
tu elimo biti sigurni (imati dokaz) da je broj stvarno prost. Sada emo rei
neto o metodama kojima se moe dokazati da je dani broj prost.
Teorem 3.4 (Pocklington). Neka je s djelitelj od n 1 koji je vei od

n.
Pretpostavimo da postoji prirodan broj a takav da vrijedi
a
n1
1 (mod n),
nzd(a
(n1)/q
1, n) = 1 za svaki prosti djelitelj q od s.
Tada je n prost.
Dokaz: Pretpostavimo suprotno, tj. da je n sloen. Tada on ima prosti
faktor p

n. Stavimo b = a
(n1)/s
. Tada je
b
s
a
n1
1 (mod n),
pa je i b
s
1 (mod p). Tvrdimo da je s red od b modulo p. Zaista, pret-
postavimo da za neki djelitelj q od s vrijedi b
s/q
1 (mod p). Tada bi p
dijelio n i b
s/q
1, tj. a
(n1)/q
1, to je u suprotnosti s pretpostavkom da
su n i a
(n1)/q
1 relativno prosti. Kako je iz Malog Fermatova teorema
b
p1
1 (mod p), zakljuujemo da s dijeli p1. No, to je nemogue budui
da je s >

n, a p

n.
Primjer 3.6. Dokaimo da je broj n = 213173 prost.
Rjeenje: Imamo n 1 = 2
2
137 389, pa moemo uzeti s = 4 137.
Prosti djelitelji od s su 2 i 137. Moemo uzeti a = 2 jer je 2
n1
1 (mod n),
nzd(2
(n1)/2
1, n) = 1, nzd(2
(n1)/137
1, n) = 1. Stoga Pocklingtonov
teorem povlai da je n prost. Ovdje smo implicitno koristili da je 137 prost.
Da bismo dokazali prostost od 137, moemo postupiti na isti nain. Imamo
137 1 = 136 = 2
3
17, pa uzmimo s = 17. Tada iz 2
136
1 (mod 137) i
nzd(2
8
1, 137) = 1 slijedi da je 137 prost (uz pretpostavku da je broj 17
prost).
Algoritmi za eliptike krivulje 112
U prethodnom smo primjeru vidjeli da primjenom Pocklingtonova teo-
rema pitanje o prostosti jednog broja svodimo na isto pitanje za jedan ili
vie manjih brojeva, i taj postupak nastavljamo sve dok brojevi ne postanu
dovoljno mali.
Da bismo dokazali prostost broja n pomou Pocklingtova teorema, moramo
poznavati barem djelominu faktorizaciju broja n 1. No, faktorizacija ve-
likih brojeva je openito teak problem. Ipak, ova metoda je vrlo prikladna
u sluaju brojeva specijalnog oblika, kod kojih je poznata faktorizacija do-
voljno velikog faktora od n 1.
Teorem 3.5 (Proth). Neka je l 2, k 1, k , 0 (mod 3) i k 2
l
+ 1.
Tada je broj n = k 2
l
+ 1 prost ako i samo ako je 3
k2
l1
1 (mod n).
Dokaz: Pretpostavimo da je 3
k2
l1
1 (mod n). Stavimo s = 2
l
, a =
3, n = k 2
l
+ 1. Tada je a
n1
= 3
k2
l
(1)
2
1 (mod n) i a
(n1)/2
1
(mod n). Budui da n dijeli a
(n1)/2
+1, on je relativno prost s a
(n1)/2
1.
Po Pocklingtonovu teoremu zakljuujemo da je broj n prost.
Dokaimo sada obrat. Neka je n prost. Tada je, zato to 3 ne dijeli k,
n 2 (mod 3), pa imamo
3
k2
l1
= 3
(n1)/2

_
3
n
_

_
n
3
_

_
2
3
_
1 (mod n).
Postoje metode za dokazivanje prostosti koje se zasnivaju na faktorizaciji
od n + 1, umjesto od n 1. Spomenimo samo Lucas-Lehmerovu metodu za
dokazivanje prostosti Mersenneovih brojeva. Brojevi M
p
= 2
p
1, gdje je p
prost, nazivaju se Mersenneovi brojevi. Neki Mersennovi brojevi su prosti,
kao npr. M
7
= 127, a neki su sloeni, kao npr. M
11
= 2047 = 23 89. Slutnja
je da prostih Mersennovih brojeva ima beskonano mnogo.
Teorem 3.6 (Lucas-Lehmer). Neka je niz (v
k
) zadan sa
v
0
= 4, v
k+1
= v
2
k
2.
Neka je p neparan prost broj. Tada je M
p
= 2
p
1 prost ako i samo ako M
p
dijeli v
p2
.
Najvei poznati prosti Mersennov broj je M
43112609
. To je ujedno i najvei
danas poznati prosti broj (ima 12978189 znamenaka; otkrili su ga 23.8.2008.
Smith, Woltman i Kurowski u okviru Great Internet Mersenne Prime Search
(GIMPS)).
Kao to smo ve napomenuli, problem s primjenom Pocklingtonova teo-
rema je u tome to zahtjeva (djelominu) faktorizaciju broja n1. Ovaj broj
n1 se moe shvatiti kao red grupe Z

n
(ako je n prost). Jedna od ideja kako
Algoritmi za eliptike krivulje 113
rijeiti ovaj problem je zamjena grupe Z

n
s grupom E(Z
n
), gdje je E neka
eliptika krivulja nad Z
n
. Naime, kod moguih redova grupe E(Z
n
) imamo
veu eksibilnost, pa se moemo nadati da emo nai eliptiku krivulju iji e
red biti lako faktorizirati. Ideju o koritenju eliptikih krivulja za dokazivanje
prostosti su uveli Goldwasser i Killian 1986. godine.
Dakle, promatrat emo eliptike krivulje nad prstenom Z
n
. Budui da n
ne mora biti prost, moe se dogoditi da neke toke na E(Z
n
) neemo moi
zbrojiti jer e se u formuli za zbrajanje toaka u nazivniku pojaviti broj koji
nije invertibilan modulo n. No, to nam nee biti problem jer e to znaiti da je
n sloen. tovie, moi emo mu nai netrivijalni faktor tako da izraunamo
najvei zajedniki djelitelj tog nazivnika i broja n.
Teorem 3.7. Neka je E eliptika krivulja nad Z
n
, gdje je nzd(6, n) = 1 i
n > 1, dana jednadbom y
2
= x
3
+ax +b. Neka je m prirodan broj koji ima
prosti faktor q > (n
1/4
+ 1)
2
. Ako postoji toka P E(Z
n
) takva da je
[m]P = O i [m/q]P ,= O,
onda je broj n prost.
Dokaz: Ako je n sloen, onda ima prosti faktor p

n. Promotrimo
eliptiku krivulju E

nad Z
p
danu istom jednadbom kao i E. Neka je m

red
grupe E

(Z
p
). Po Hasseovu teoremu je
m

p + 1 + 2

p = (

p + 1)
2
(n
1/4
+ 1)
2
< q.
Stoga je nzd(m

, q) = 1, pa postoji u Z takav da je uq 1 (mod m

).
Neka je P

(Z
p
) toka dobivena iz P redukcijom koordinata modulo p.
Budui da je po uvjetu teorema [m/q]P denirano i razliito od O modulo
n, sasvim istim postupkom modulo p dobivamo da je [m/q]P

,= O. No, s
druge strane imamo
[m/q]P

= [uq
m
q
]P

= [um]P

= [u]([m]P

) = O,
pa smo dobili kontradikciju.
Primjer 3.7. Dokaimo da je broj n = 907 prost.
Rjeenje: Neka je E eliptika krivulja zadana jednadbom y
2
= x
3
+
10x 2 nad Z
n
. Red od E(Z
n
) je m = 923 = 71 13. Uzmimo P = (56, 62)
i q = 71. Tada je [13]P = (338, 305) ,= O i [923]P = [71]([13]P) = O
(za raunanje moemo koristiti algoritme iz Poglavlja 3.2; primijetimo da
su NAF prikazi 13 = (1, 0, 1, 0, 1), 71 = (1, 0, 0, 1, 0, 0, 1)). Budui da je
71 > (907
1/4
+ 1)
2
, odavde slijedi da je broj 907 prost (ako je poznato da je
broj 71 prost).
U praksi je kod velikih brojeva n najproblematiiji dio algoritma pro-
nalaenje eliptike krivulje za koju e red grupe E(Z
n
), a to e biti broj
Algoritmi za eliptike krivulje 114
m iz teorema, imati dovoljno veliki prosti faktor. Jedna je mogunost bi-
ranje krivulja na sluajan nain, pa raunanje njihovih redova Schoofovim
algoritmom. Da bismo ocijenili kolika je vjerojatnost uspjeha pronalaenja
odgovarajue krivulje, trebali bismo znati neto o distribuciji prostih brojeva
u intevalu oblika [x +1 2

x, x +1 +2

x]. Naalost, o tome postoje samo


(nedokazane) slutnje. Ako bi vrijedilo
(x + 1 + 2

x) (x + 1 2

x) > A

x
lnx
,
za neku konstantu A (to je slutnja za koju se vjeruje da bi trebala vrijediti,
a motivirana je teoremom o prostim brojevima), onda bi oekivani broj op-
eracija u Goldwasser-Killianovu algoritmu bio O(ln
10
n). Mogli bismo rei da
je interval iz Hasseova teorema dovoljno velik za praksu, ali ne i za trenutno
stanje teorije. Adleman i Huang su 1992. godine predloili algoritam koji
umjesto eliptikih krivulja koristi Jacobijane hipereliptikih krivulja, a za
koji se koritenjem poznatih rezultata o distribuciji prostih brojeva u inter-
valu oblika [x, x + x
3/4
] moe dokazati da mu je oekivani broj operacija
polinomijan.
Atkin i Morain su 1993. godine predloili jednu varijantu dokazivanja
prostosti pomou eliptikih krivulja, za koju se danas smatra da je najekas-
nija u praksi. Pomou te se metode danas moe ekasno dokazati prostost
brojeva s oko 1000 znamenaka. Metoda koristi eliptike krivulje s komplek-
snim mnoenjem, s pripadnim imaginarnim kvadratnim poljem Q(

d). Za
takve krivulje E vrijedi da ako je 4p = x
2
+ dy
2
, onda su mogui redovi
od E nad Z
p
brojevi p + 1 x. Dakle, ove brojeve moemo ekasno izrau-
nati, te vidjeti imaju li dovoljno veliki prosti faktor. Kad pronaemo red koji
nas zadovoljava, samu krivulju konstruiramo koristei teoriju kompleksnog
mnoenja, posebno j-invarijante.
Spomenimo jo da su 2002. godine Agrawal, Kayal i Saxena pronali prvi
polinomijalni algoritam za dokazivanje prostosti, po njima nazvan AKS al-
goritam (lanak su objavili 2004. godine u jednom od najprestinijih matem-
atikih asopisa Annals of Mathematics). Kao i veina algoritama za testi-
ranje ili dokazivanje prostosti, i AKS algoritam se zasniva na jednoj varijanti
Malog Fermatovog teorema. Tonije, polazite mu je sljedei rezultat. Neka
su a i n cijeli brojevi, n 2 i nzd(a, n) = 1. Tada je broj n prost ako i samo
ako vrijedi
(X +a)
n
X
n
+a (mod n), (3.3)
tj. ako i samo ako su odgovarajui koecijenti polinoma na lijevoj i desnoj
strani kongruencije (3.3) kongruentni modulo n.
Algoritmi za eliptike krivulje 115
3.6 Faktorizacija pomou eliptikih krivulja
Ako prirodan broj n ne proe neki od testova prostosti, onda znamo da
je n sigurno sloen. Meutim, ti nam testovi uglavnom ne daju niti jedan
netrivijalni faktor od n. Stoga se postavlja pitanje kako nai netrivijalni
faktor velikog sloenog broja. To se smatra tekim problemom i na njegovoj
su teini zasnovani neki od najvanijih kriptosustava s javnim kljuem.
Metode faktorizacije moemo podijeliti na ope i specijalne. Kod opih
metoda oekivani broj operacija ovisi samo o veliini broja n, dok kod speci-
jalnih ovisi takoer i o svojstvima faktora od n.
Naivna metoda faktorizacije broja n jest dijeljenje broja n sa svim pros-
tim brojevima

n. Broj potrebnih dijeljenja je u najloijem sluaju oko
2

n
ln n
, pa je sloenost ove metode O(

nlnn). Kod ove smo ocjene pretpostavili


da nam je dostupna tablica svih prostih brojeva

n. U protivnom, di-
jelili bismo s 2, te sa svim neparnim brojevima, ili samo s neparnim bro-
jevima koji zadovoljavaju odreene kongruencije (npr. 1, 5 (mod 6) ili
1, 7, 11, 13, 17, 19, 23, 29 (mod 30)). U svakom sluaju, ova metoda je vrlo
neekasna za velike n-ove. Meutim, dobro ju je koristiti u kombinaciji s
boljim metodama faktorizacije, za uklanjanje eventualnih malih faktora od
n.
Pollardova p1 metoda iz 1974. godine spada u specijalne metode faktor-
izacije. Njezino polazite je ponovno Mali Fermatov teorem. Neka je n sloen
broj koji elimo faktorizirati, te neka je p neki njegov prosti faktor. Tada je
a
p1
1 (mod p) za nzd(a, p) = 1. tovie, vrijedi a
m
1 (mod p) za svaki
viekratnik m od p1. Ako naemo m, onda nam nzd(a
m
1, n) daje faktor
(nadamo se netrivijalni) od n. No, pitanje je kako nai viekratnik od p 1
kad ne znamo p. To moemo ekasno napraviti u sluaju kada broj p 1
ima samo male proste faktore. Za prirodan broj kaemo da je B-gladak ako
su mu svi prosti faktori B. Pretpostavimo dodatno da su sve potencije
prostih brojeva, koje dijele p 1, manje ili jednake B. Tada za m moemo
uzeti najmanji zajedniki viekratnik brojeva 1, 2, . . . , B. Za ovako odabrani
m, broj operacija za raunanje a
m
mod n je O(BlnBln
2
n + ln
3
n). U naj-
gorem sluaju, a to je kada je broj
p1
2
prost, ova metoda nije nita bolja od
obinog dijeljenja.
Primjer 3.8. Neka je n = 846631. Izaberimo B = 8 i a = 2. Tada je m =
2
3
3 5 7 = 840. Imamo da je 2
840
mod n = 346905 i nzd(346904, n) = 421.
Zaista, n = 421 2011.
Pomou p1 metode je Baillie 1980. godine naao 25-znamenkasti faktor
Mersenneovog broja 2
257
1.
Uspjeh p1 metode direktno ovisi o glatkoi broja p1. Postoje varijante
ove metode koje koriste glatkou brojeva p+1, p
2
+p+1, p
2
+1 ili p
2
p+1.
Algoritmi za eliptike krivulje 116
No, najvanija modikacija p 1 metode je Lenstrina metoda faktorizacije
pomou eliptikih krivulja. U njoj se, ponovo, grupa F

p
reda p1 zamjenjuje
grupom E(F
p
), iji red varira unutar intervala [p + 1 2

p, p + 1 + 2

p],
pa se moemo nadati da emo pronai eliptiku krivulju nad F
p
dovoljno
glatkog reda.
Godine 1987. H. W. Lenstra je predloio modikaciju Pollardove p 1
metode koja koristi eliptike krivulje. Kao rezultat je dobio subeksponen-
cijalni algoritam koji i danas predstavlja jedan od najekasnijih poznatih
algoritama za faktorizaciju.
Slino kao kod metode dokazivanja prostosti pomou eliptikih krivulja,
i ovdje emo raditi s eliptikim krivuljama nad prstenom Z
n
. Dok je kod
dokazivanja prostosti postojala (mala) mogunosti da je n sloen (tj. da Z
n
nije polje), ovdje emo od poetka biti sigurni da je n sloen. Pretpostavit
emo da je nzd(n, 6) = 1, te emo promatrati eliptike krivulje oblika
E
a,b
: y
2
= x
3
+ax +b,
gdje je nzd(4a
3
+ 27b
2
, n) = 1. Kada je n prost, onda na eliptikoj krivulji
postoji samo jedna projektivna toka koja ne odgovara nekoj anoj toki
(toka u beskonanosti). U sluaju kada je n sloen, takvih toaka moe biti
vie.
Opiimo sada osnovne korake u Lenstrinom algoritmu za faktorizaciju
(Elliptic Curve Method - ECM).
1. Izbor eliptike krivulje.
Postoji vie naina za izbor odgovarajue eliptike krivulje. Na primjer,
moemo sluajno izabrati elemente a, x, y Z
n
, pa izraunati b =
(y
2
x
3
ax) mod n. Neka je g = nzd(4a
3
+27b
2
, n). Ako je 1 < g < n,
onda smo nali netrivijalni faktor od n. Ako je g = n, onda biramo nove
a, x, y. Ako je g = 1, onda smo nali eliptiku krivulju E
a,b
nad Z
n
i
toku P = (x, y) na njoj.
2. Neka je k najmanji zajedniki viekratnik brojeva 1, 2, . . . , B, za prik-
ladno odabranu granicu B. U praksi se obino uzima najprije B =
10000, a potom se granica po potrebi poveava.
3. Raunamo [k]P E
a,b
(Z
n
) koristei formule za zbrajanje toaka:
(x
3
, y
3
) = (
2
x
1
x
2
mod n, (x
1
x
3
) y
1
mod n),
gdje je = (3x
2
1
+ a) (2y
1
)
1
mod n ako su toke jednake, a =
(y
1
y
2
)(x
1
x
2
)
1
mod n, inae.
Algoritmi za eliptike krivulje 117
4. Ako se u raunanju [k]P dogodi da neki zbroj toaka ne moemo izrau-
nati zato to ne moemo izraunati d
1
jer d nema inverz modulo n,
onda izraunamo g = nzd(d, n). Ako je g ,= n, onda smo nali netrivi-
jalni faktor od n.
5. U sluaju neuspjeha, moemo izabrati novu eliptiku krivulju ili poveati
granicu B.
Primjer 3.9. Faktorizirati broj n = 209.
Rjeenje: Neka je B = 3, pa je k = 6. Izaberimo eliptiku krivulju y
2
=
x
3
+ 4x + 9 i oitu toku na njoj P = (0, 3). Raunamo [6]P = [2](P +
[2]P). Najprije raunamo [2]P. Pripadni je 4 6
1
= 140 mod 209, pa
dobivamo [2]P = (163, 169). Zatim raunamo [3]P = P + [2]P. Pripadni
je 166 163
1
= 60 mod 209, pa je [3]P = (148, 143). Konano, raunamo
[6]P = [2]([3]P). Pripadni je 9077
1
. Kod raunanja inverza od 77 modulo
209, dobivamo da taj inverz ne postoji jer je nzd(77, 209) = 11. Odavde
zakljuujemo da je 11 faktor od 209. Zaista, 209 = 11 19.
O emu ovisi uspjeh ovog algoritma? Slino kao kod p1 metode, i ovdje
bi k trebao biti viekratnik reda pripadne grupe. U ovom bi sluaju k trebao
biti viekratnik od [E(F
p
)[, gdje je p neki prosti faktor od n. Zaista, u tom
sluaju e kod raunanja [k]P pripadni nazivnik biti djeljiv s p, pa nee biti
invertibilan modulo n. Naime, u E(F
p
) e vrijediti da je [k]P = O.
Kod ocjene sloenosti ovog algoritma kljuno je pitanje kako optimalno
odabrati granicu B. Uvedimo oznaku
(x, y) = #1 n x : n je y-gladak.
Koristei injenicu da su redovi [E(F
p
)[ skoro uniformno distribuirani unu-
tar Hasseova intervala, dolazimo do sljedee ocjene za vjerojatnost uspjeha
algoritma:
prob(B) > c
(p + 1 + 2

p, B) (p + 1 2

p, B)

p lnp
.
Kako je, s druge strane, broj operacija potrebnih za pokuaj faktorizacije po-
mou jedne krivulje proporcionalan s B, eljeli bismo minimizirati vrijednost
B/prob(B). Pokazuje se da se minimum postie za
B = e
(

2/2+o(1))

lnp lnln p
,
dok je sloenost algoritma
e
(

2+o(1))

ln p ln ln p
.
U najloijem sluaju (kada je p = O(

n)), sloenost metode faktorizacije


pomou eliptikih krivulja je e
O(

ln nlnln n)
. Dakle, to je subeksponencijalni
algoritam.
Algoritmi za eliptike krivulje 118
Iako postoje algoritmi bolje sloenosti (algoritam sita polja brojeva),
vano svojstvo ECM je da njezina sloenost ovisi o najmanjem prostom
faktoru od n. Zato ona nije najprikladnija za faktorizaciju RSA modula,
tj. brojeva oblika n = pq, gdje su p i q bliski prosti brojevi. Meutim, kod
faktorizacije sluajnih brojeva, ECM esto daje bolje rezultate od ostalih
metoda, jer takvi brojevi obino imaju neki prosti faktor koji je znatno manji
od

n. ak i kod primjene asimptotski boljih metoda, unutar tih algoritama
potrebno je faktorizirati neke pomone brojeve, za koje moemo oekivati da
se ponaaju kao sluajni brojevi, pa se tu ECM moe koristiti kao pomona
metoda.
Meu faktorizacijama dobivenim pomou ECM, spomenimo nalaenje
33-znamenkastog faktora Fermatovog broja 2
2
15
+1 (Crandall, van Halewyn,
1997.), te nalaenje 49-znamenkastog faktora Mersenneovog broja 2
2071
1
(Zimmermann, 1998.).

Vous aimerez peut-être aussi