You are on page 1of 84

Matematiqki fakultet u Beogradu

Master rad
O TESTOVIMA
PRIMALNOSTI
STUDENT MENTOR
Marko Radovanovi dr arko Mijajlovi
1007/2008
Beograd 2009.
Sadraj
1 Osnovne teoreme i algoritmi teorije brojeva 1
1.1 Euklidov algoritam . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Mala Fermaova i Ojlerova teorema . . . . . . . . . . . . . . 2
1.3 Kineska teorema o ostacima . . . . . . . . . . . . . . . . . . . 3
1.4 Grupa U(Z/nZ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Konaqna poa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Aritmetika nad polinomima . . . . . . . . . . . . . . . . . . . 9
1.7 Distribucija prostih brojeva . . . . . . . . . . . . . . . . . . 11
2 Brzi algoritmi za velike brojeve 14
2.1 Diskretna Furijeova transformacija . . . . . . . . . . . . . 14
2.2 Teorija konvolucija . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Brzi probabilistiqki testovi primalnosti 19
3.1 Solovej - Xtrasenov test primalnosti . . . . . . . . . . . . . 19
3.1.1 Leandrov i Jakobijev simbol . . . . . . . . . . . . . 20
3.1.2 Algoritam i sloenost . . . . . . . . . . . . . . . . . . 27
3.1.3 ,,Deterministiqka verzija algoritma . . . . . . . . . 28
3.2 Rabin-Milerov test primalnosti . . . . . . . . . . . . . . . . 30
4 Test primalnosti pomou Gausovih suma 33
4.1 Karakteri i Gausove sume . . . . . . . . . . . . . . . . . . . . . 33
4.2 Algoritam, dokaz ispravnosti i sloenost . . . . . . . . . . 36
4.3 Jakobijeve sume i mogunost poboxaa algoritma . . . . . 39
5 Testovi primalnosti sa delimiqnom faktorizacijom 48
5.1 Pepinov test primalnosti . . . . . . . . . . . . . . . . . . . . 48
5.2 Testovi sa delimiqnom faktorizacijom broja n 1 . . . . . 49
5.3 Mersenovi brojevi . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4 Testovi sa delimiqnom faktorizacijom broja n + 1 . . . . . 52
6 Test primalnosti pomou konaqnih poa 56
6.1 Ireducibilni polinomi nad konaqnim poima . . . . . . . . 56
6.2 Test primalnosti . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7 AKS test primalnosti 61
7.1 Ideja algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.2 Algoritam i dokaz egove ispravnosti . . . . . . . . . . . . . 62
7.3 Analiza sloenosti algoritma . . . . . . . . . . . . . . . . . 66
i
8 Eliptiqke krive i testovi primalnosti 68
8.1 Eliptiqke krive . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8.2 Odreivae broja taqaka na E(Z
p
) . . . . . . . . . . . . . . . 71
8.3 Test primalnosti pomou eliptiqkih krivih . . . . . . . . . 74
8.4 Etkin-Morenov test primalnosti . . . . . . . . . . . . . . . . 76
ii
Uvod
Posebnu ulogu u teoriji brojeva zauzimaju tzv. prosti brojevi, tj.
oni prirodni brojevi vei od jedan koji su deivi samo sa 1 i samim
sobom. Iako se definicija qini dosta jednostavna, sam proces utvivaa
da li je neki broj prost ili ne to svakako nije. I dan danas ostali su
otvoreni mnogi klasiqni problemi vezani za proste brojeve, kao xto je
npr. pronalaee bilo kakve formule kojom bi mogao da se sraquna n-ti
prost broj. U ovom tekstu daemo neke od najpoznatijih i najefikasni-
jih algortitama za utvrivae da li broj prost ili ne, tzv. testove
prmalnosti.
Siguran i jednostavan naqin da proverimo da li je broj n prost je da
ispitamo da li je deiv brojevima od 2 do n 1 i ukoliko nije moemo
tvrditi da je n prost. Uz primedbu da sloen broj n mora imati prostog
delioca maeg od

n, prethodni algoritam moemo poboxati proverom
deivosti brojevima od 2 do [

n]. Ovako zadat algoritam bez problema


moemo koristiti za male brojeve, qak i bez upotrebe raqunara. Me-
utim, zbog velike primene prostih brojeva pre svega u kriptografiji,
potrebni su nam testovi primalnosti koji mogu raditi sa brojevima koji
imaju i preko 1000 cifara
1
, pa ovakav test nije primeiv.
Drugi klasniqni naqin za testirae primalnosti je tzv. Eratosteno-
vo
2
sito. Ovim sitom primalnost broja n ispitujemo na sledei naqin:
zapixemo sve brojeve od 2 do n u niz. Zatim precrtavamo sve brojeve koji
su deivi sa 2. Posle toga biramo najmai neprecrtani broj i precr-
tavamo sve brojeve koji su deivi tim brojem. Ovaj proces nastavamo
sve dok ne ostane samo n - tada je n prost, ili dok n ne precrtamo - tada
je n sloen. Ovako zadat test takoe je vrlo neefikasan. Meutim, on
nam daje vixe, jer ime moemo da odredimo sve proste brojeve ne vee
od n.
Za prethodna dva algoritma kaemo da su eksponencijalne sloenosti,
jer vreme potrebno da se oni izvrxe polinomijalno zavisi od n. Nama od
interesa nee biti ovakvi algoritmi, nego tzv. algoritmi polinomijalne
sloenosti, tj. oni koji se izvrxavaju u vremenu koje polinomijalno za-
visi od ln n. Skoro svi testovi koje emo dati u ovom tekstu bie upravo
polinomijalne sloenosti.
U teksti e biti razmatrani deterministiqki i probabilistiqki
testovi primalnosti. Definiciju ovih pojmova emo dati kasnije. Treba
1
ovakvi brojevi nazivaju se titanski
2
E - grqki matematiqar 276-195 p.n.e.
napomenuti da je tek 2002. godine dat prvi polinomijalni deterministi-
qki algoritam i time je dokazano da su prosti brojevi u klasi T pro-
blema.
Osim teorijskog osvrta na sloenost algoritma, tj. razmatraa asim-
ptotske sloenosti, za svaki algoritam bie razmatrana i egova pra-
ktiqna primena, tj. ,,realna efikasnost.
U tekstu e biti korixene standardne oznake sloenosti O(n) i
(n), gde O(n) oznaqava da je za dovono veliko n za izvrxee algo-
ritma potrebno ne vixe od k n operacija (k je neka konstanta), dok (n)
oznaqava da je za dovono veliko n za izvrxee algoritma potrebno ne
mae od k n operacija.
Veina algoritama e biti data i u pseudo-kodu koji potsea na kod
programskog jezika C.
2
Deo 1
Osnovne teoreme i algoritmi teorije brojeva
U ovom poglavu daemo pregled teorema i algoritama koji e biti sas-
tavni deo gotovo svih narednih algoritama. Komplikovanije i znaqajnije
teoreme bie date sa dokazom, dok e one opxte poznate i jednostavne
biti ili podrazumevane ili date bez dokaza.
1.1 Euklidov algoritam
Qesto e za prirodne brojeve m i n biti potrebno odrediti ihov naj-
vei zajedniqki delilac, u oznaci NZD(a, b) ili samo (a, b). Jedan od
najpoznatijih, a ujedno i veoma efikasan naqin za odreivae NZD-a
dva broja je Euklidov algoritam, koji u pseudo-kodu moemo dati sa:
Algoritam 1.1. (Euklidov
1
algoritam)
while (y > 0) (x, y) = (y, x mod y);
vrati x;
Paivijim uvidom u Euklidov algoritam zakuqujemo da on daje i
rexee linearne Diofantove jednaqine
ax +by = (x, y).
Ovaj algoritam nazivaemo produeni Euklidov algoritam, a u pseudo-
kodu ga moemo zapisati kao:
Algoritam 1.2. (Produeni Euklidov algoritam)
(a, b, g, u, v, w) = (1, 0, x, 0, 1, y);
while (w > 0)
q = [g/w];
1
E - grqki matematiqar 323-283 p.n.e.
1
(a, b, u, v, w) = (u, v, w, a qa, b qv, g qw);

vrati (a, b, g);


Specijalno, ukoliko je (x, y) = 1, ovim algoritmom odreujemo broj a
takav da je ax 1 (mod y).
Vreme rada algoritma je O(ln x ln y), tj. srazmerno je proizvodu ci-
fara brojeva qiji NZD odreujemo. Postoje razne varijante Euklidovog
algoritma koje u praksi daju boe rezultate. Meutim, svi ovi algo-
ritmi imaju isto asimptotsko vreme rada, koje je za ,,male brojeve pri-
hvativo. Za ,,velike brojeve ipak postoje efikasniji algoritmi sa
asimptotski kraim vremenom rada. Ovakvi algoritmi su zasnovani na
idejama koje su date u drugom poglavu.
1.2 Mala Fermaova i Ojlerova teorema
Neka je za prirodan broj n sa (n) oznaqen broj prirodnih brojeva ma-
ih od n koji su uzajamno prosti sa n. Ovu funkciju nazivamo Ojlerova
2
funkcija i ona predstava jednu od najznaqajnijih funkcija teorije bro-
jeva. Ukoliko je n = p
a
1
1
p
a
2
2
. . . p
a
k
k
kanonsko predstavae broja n, vai
(n) = n
_
1
1
p
1
_
. . .
_
1
1
p
k
_
.
Znaqaj funkcije daje quvena Ojlerova teorema:
Teorema 1. Za prirodne brojeve a i n, takve da je (a, n) = 1, vai
a
(n)
1 (mod n).
Dokaz. Posmatrajmo skup A = x [ (x, n) = 1 i skup B = ax [ (x, n) = 1.
Jasno je da u skupu B ne postoje dva elementa koja daju isti ostatak po
modulu n i da su svi elementi iz B uzajamno prosti sa n. Samim tim
skup A i skup B su jednaki po modulu n, pa vai

xA
x

xA
ax (mod n).
Kako je [A[ = [B[ = (n), to skraivaem jednakih qlanova sa leve i desne
strane kongruencije dobijamo eenu kongruenciju. 2
U sluqaju da je n prost broj dobijamo Malu Fermaovu
3
teoremu (MFT):
2
Leonhard Paul Euler - xvajcarski matematiqar 1707-1783.
3
Pierre de Fermat - francuski matematiqar 1601-1665.
2
Posledica 1. Za prost broj p i prirodan broj a vai
a
p
a (mod p).
Prethodna teorema daje potreban uslov da broj bude prost. Moemo
primetiti da se prilikom ove provere java potreba za izraqunavae
ostatka stepena nekog broja. Jedan od algoritama kojim se ovo moe
efikasno izvrxiti je:
Algoritam 1.3. (Stepen po modulu)
pow(x, n)
if (n = 1) vrati x;
if (2 [ n) vrati pow(x
2
, n/2);
else vrati x pow(x
2
, (n 1)/2);

Treba napomenuti da se gotovo svi testovi primalnosti zasnivaju na


teoremama koje su inspirisane Malom Fermaovom teoremom.
1.3 Kineska teorema o ostacima
Kineska teorema o ostacima daje naqin za rexavae sistema kongruenci-
ja:
x a
1
(mod n
1
)
x a
2
(mod n
2
)
. . .
x a
k
(mod n
k
)
gde su n
1
, n
2
, . . . , n
k
u parovima uzajamno prosti brojevi.
Teorema 1. Neka je N =
k

i=1
n
k
, N
i
= N/n
i
i v
i
N
i
1 (mod n
i
), za 1 i k.
Tada je
x
k

i=1
a
i
v
i
N
i
(mod N).
2
Kako iz produenog Euklidovog algoritma moemo odrediti brojeve
v
i
prethodne teoreme, to moemo dati i algoritam zasnovan na Kineskoj
teoremi o ostacima:
3
Algoritam 1.4. (Kineska teorema o ostacima (KTO))
for (1 i k)

i
=

i1
j=1
m
j
;
c
i

i
1 (mod n
i
);

M =
k
m
k
;
x = a
1
;
for (1 i k)
u = ((a
i
x)c
i
) mod n
i
;
x = x +u
i
;

x = x mod N;
vrati x;
Prethodni algoritam nije direktno izveden iz Kineske teoreme o osta-
cima, ali nije texko primetiti da daje istovetan rezultat. Pri tome
ovaj algoritam je daleko efikasniji.
1.4 Grupa U(Z/nZ)
Neka je sa U(Z/nZ) oznaqen skup svi invertibilnih elemenata prstena
Z/nZ. Jasno je da je ova struktura grupa. U ovom poglavu ispitaemo
osobine ove grupe.
Naredna teorema daje odgovor u sluqaju prostih brojeva:
Teorema 1. Ukoliko je p prost broj Z/pZ je poe, a U(Z/pZ) = (Z/pZ)

je cikliqna grupa.
Dokaz. Za prvi deo tvrea dovono je pokazati da svaki nenula element
a Z/pZ ima inverz. Ovo sledi iz qienice da meu brojevima ax, x
Z/pZ, nema jednakih, pa mora postojati jedan koji je jednak 1.
Iz prethodnog zakuqujemo da je U(Z/pZ) grupa, a en red je p 1. Da
bismo dokazali da je ona cikliqna, dovono je pokazati da u oj postoji
element reda p 1. Oznaqimo zato za d [ p 1 sa (d) broj elemenata qiji
je red d. Jasno je

d|n
(d) = n. Neka je a neki broj qiji je d. Tada su
a
0
, a
1
, . . . , a
d1
rexea kongruencije x
d
1 (mod p), pa su ovo i jedina
rexea. Meutim, red broja a
k
je d samo ako je (k, d) = 1. Samim tim,
zakuqujemo da je (d) (d). Kako je po poznatom Ojlerovom identitetu

d|p1
(d) = p 1,
to je (d) = (d), za sve d [ p 1. Specijalno (p 1) = (p 1) > 0. 2
4
Generatore grupe U(Z/pZ) nazivaemo primitivni koreni po modulu
p. Opxtije:
Definicija 1. Ceo broj a je primitivni koren po modulu n ukoliko
generixe grupu U(Z/nZ).
U nastavku emo dokazati da primitivni koreni postoje samo za po-
tencije prostih brojeva razliqitih od 2, kao i za 2 i 4. Pri dokazu ovog
tvrea bie nam od koristi sledee teoreme:
Teorema 2. Ukoliko je l 1 i a b (mod p
l
), tada je i a
p
b
p
(mod p
l+1
).
Dokaz. Iz datog uslova je a = b+p
l
k, za neki prirodan broj k, pa primenom
binomnog obrazca dobijamo
a
p
=
p

i=0
_
p
i
_
b
pi
p
li
k
i
.
Jasno je da su za i 1 qlanovi prethodnog razvoja deivi sa p
l+1
, pa je
a
p
b
p
(mod p
l+1
), xto je i trebalo dokazati. 2
Teorema 3. Ukoliko je l 2 i p > 2, tada (1 + ap)
p
l2
1 + ap
l1
(mod p
l
)
za sve cele brojeve a.
Dokaz. Dokaz izvodimo indukcijom po l. Za l = 2 tvree je oqigledno
taqno. Pretpostavimo zato da je (1+ap)
p
l2
1+ap
l1
(mod p
l
) i dokaimo
da je (1 +ap)
p
l1
1 +ap
l
(mod p
l+1
). Iz prethodne teoreme je
(1 +ap)
p
l1
=
_
(1 +ap)
p
l2
_
p
(1 +ap
l1
)
p
(mod p
l+1
). ()
Iz binomnog obrazca je (1 +ap
l1
)
p
=
p

i=0
a
i
p
(l1)i
, pa kako p [
_
p
2
_
to su za
i2 svi qlanovi ovog razvoja deivi sa p
l+1
. Samim tim (1+ap
l1
)
p
1+ap
l
(mod p
l+1
), xto zajedno sa () daje traeni rezultat. 2
Kometar. Na sliqan nain dokazuje se da je za p = 2 i l 3 ispueno
(1 + 4a)
2
l3
1 +a2
l1
(mod 2
l
).
Teorema 4. Neka je a U(Z/p
l
Z) i p > 2. Poredak 1+ap U(Z/p
l
Z) jednak
je p
l1
.
Dokaz. Iz prethodne teoreme je (1 + ap)
p
l1
1 (mod p
l
), pa poredak broja
1 + ap deli p
l1
. Meutim, poredak ne moe biti delilac p
l2
, jer po
prethodnoj teoremi (1 +ap)
p
l2
1 +ap
l1
, 1 (mod p
l
). 2
Teorema 5. Ukoliko je l prirodan broj grupa U(Z/p
l
Z) (p > 2) je ci-
kliqna. Ekvivalentno, postoji primitivan koren po modulu p
l
.
5
Dokaz. Prema Teoremi 1 postoji primitivni koren po modulu p. Uko-
liko je to g, tada je i g + p takoe primitivni koren po istom modulu.
Dokaimo da je jedan od ih primitivni koren po modulu p
2
. U supro-
tnom je g
p1
1 (mod p
2
) i (g + p)
p1
1 (mod p
2
). Meutim, iz binomnog
razvoja je (g + p)
p1
g
p1
+ (p 1)g
p2
p (mod p
2
), xto je oqigledna kon-
tradikcija.
Ovim je tvree dokazano u sluqaju l = 2. Dokaimo da je primitivni
koren g po modulu p
2
ujedno i primitivni koren po modulu p
l
, za sve
l 2. Neka je zato g
n
1 (mod p
l
) i dokaimo da p
l1
(p 1) [ n. Kako je g
primitivni koren po modulu p
2
, to p(p 1) [ n, i pri tome g
p1
= 1 + ap,
gde p a. Meutim, po Teoremi 4 poredak broja 1 +ap po modulu p
l
jednak
je p
l1
, qime je teorema u potpunosti dokazana. 2
Izgled grupe U(Z/2
l
Z) daje sledea teorema:
Teorema 6. Primitivni koreni po modulu 2
l
postoje ukoliko je l = 1 ili
l = 2, dok za l 3 ne postoje. Za l 3 grupa U(Z/2
l
Z) je direktan proizvod
cikliqne grupe reda 2 i cikliqne grupe reda 2
l2
.
Dokaz. 1 je primitini koren po modulu 2, a 3 po modulu 4. Neka je dae
l 3.
Na osnovu komentara posle Teoreme 3 zakuqujemo da je 5
2
l3
1 +2
l1
(mod 2
l
). Sada je 5
2
l2
1 (mod 2
l
), pa 5 nije primitivni koren po modulu
2
l
. Dae, meu brojevima (1)
a
5
b
[ 0a1, 0b < 2
l2
nema kongruentnih
po modulu 2
l
, pa su to upravo svi neparni ostaci po modulu 2
l
. Kako
nijedan od ih nije primitivni koren, to po modulu 2
l
nema primitivnih
korena. Prethodno predstavae dokazuje i da je grupa U(Z/2
l
Z) direktan
proizvod cikliqne grupe reda 2 i cikliqne grupe reda 2
l2
. 2
Iz Teorema 5 i 6 i Kineske teoreme o ostacima dobijamo opis grupe
U(Z/nZ), za proizvoan prirodan broj n:
Teorema 7. Neka je n = 2
a
p
a
1
1
. . . p
a
k
k
kanonsko predstavae broja n.
Tada je
U(Z/nZ)

= U(Z/2
a
Z) U(Z/p
a
1
1
Z) . . . U(Z/p
a
k
k
Z),
gde je U(Z/p
a
i
i
Z) cikliqna grupa reda p
a
i
1
i
(p
i
1). Grupa U(Z/2
a
Z) je cik-
liqna grupa reda 2
a1
za a 2, a za a > 2 je direktan proizvod cikliqne
grupe reda 2 i cikliqne grupe reda 2
a2
. 2
Na kraju ovog poglava dajemo i teoremu koja daje spisak svih modula
po kojima postoji primitivni koren:
Teorema 8. Jedini moduli po kojima postoje primitivni koreni su 1, 2,
4, p
k
i 2 p
k
, za p > 2 prost broj i k prirodan broj.
Dokaz. Teoreme 5 i 6 daju odgovor za koje od brojeva oblika p
k
, gde je p
prost broj, postoji primitivan koren.
6
Pretpostavimo zato da je n = n
1
n
2
, gde je n
1
, n
2
> 2 i (n
1
, n
2
) = 1. Iz
Teoreme 7 je U(Z/nZ)

= U(Z/n
1
Z) U(Z/n
2
Z) i pri tome svaka od grupa
U(Z/n
1
Z) i U(Z/n
2
Z) ima element reda 2. Kako cikliqna grupa ne moe
imati vixe od jednog elementa reda 2, to U(Z/nZ) nije cikliqna.
Ostaje jox da ispitamo sluqaj n = 2p
k
, gde je p > 2 prost broj. Kako je
U(Z/2p
k
Z)

= U(Z/2Z) U(Z/p
k
Z)

= U(Z/p
k
Z), to je U(Z/2p
k
Z) cikliqna, pa
postoji primitivni koren po modulu 2p
k
. 2
Kako je primitivni koren generator odgovarajue grupe, od velikog
znaqaja nam je pronalaee ovakvog elementa. Ukoliko su nam poznati
prosti delioci broja p 1 (p je prost broj), sledeom jednostavnom teo-
remom moemo testirati da li je broj primitivni koren po modulu p:
Teorema 9. Broj g je primitivni koren po modulu p ukoliko
g
(p1)/q
, 1 (mod p)
za sve proste delioce q broja p 1. 2
U pseudo-kodu ovaj test moe zapisati kao:
Algoritam 1.5. (Da li je element primitivni koren?)
for (q prost i q [ p 1)
if (g
(p1)/q
1 (mod p)) ispi si NE;
ispi si DA;
Na kraju poglava daemo zadatak qiji je autor potpisnik ovog teksta:
Zadatak 1. Odrediti sve prirodne brojeve a i b takve da
a
b
[ b
a
1.
Rexee. Oqigledno je par (a, 1) rexee. Zato pretpostavimo da je b > 1.
Neka je prvo a neparan broj. Predstavimo broj a kao a =

n
i=1
p
k
i
i
, gde su
p
i
razliqiti prosti brojevi. Neka je bez umaea opxtosti p
1
najmai
prost broj koji deli a. Sada je jasno da
p
k
1
b
1
[ b
a
1,
pa ako je t
1
najvea potencija broja p
1
koja deli b
a
1, to je t
1
k
1
b. Dae,
ako stavimo da je c
1
= a/p
k
1
1
, iz Teoreme 3 dobijamo da
p
t
1
k
1
1
| b
c
1
1.
4
4
p
k
| a ako i samo ako p
k
[ a i p
k+1
a
7
Neka je s
1
poredak broj a po modulu p
1
. Tada s
1
[ p
1
1 i s
1
[ c
1
, pa kako je
p
1
minimalan prost delilac broja a, to je s
1
= 1. Sada mora biti
p
t
1
k
1
1
| b 1.
Dae, dobijamo je
p
b1
1
p
k
1
bk
1
1
p
t
1
k
1
1
b 1.
Meutim, za svaki prirodan x broj vei od 1 i nenegativan ceo broj t
je x
t
> t, pa dobijamo oqiglednu kontradikciju. Znaqi ne postoji rexee
kod koga je b > 1 i a neparan.
Neka je sada a paran i to a = 2
k
t, gde je t neparan broj. Jasno je da je
broj b neparan. Sada
2
kb
[ b
2
k
t
1,
pa prema komentaru posle Teoreme 3 vai 2
kbk+1
[ b
2
1. Zato mora biti
2
b
2
kbk+1
< b
2
, xto jednostavnom indukcijom dobijamo da ne vai za b > 3.
Jedina mogunost je b = 3. Takoe, jedino je mogue k = 1.
Sada t
3
[ 9
t
1. Sliqno kao u sluqaju da je a neparan dobijamo da
najmai neparan prost delilac broja t mora da deli 9 1 = 8, xto je
nemogue za t > 1. Za t = 1 rexee je a = 2, b = 3.
Sva rexea datog problema su parovi (a, 1) i (2, 3). 2
1.5 Konaqna poa
U proxlom delu poglava dokazali smo da je za proste brojeve p skup
Z/pZ poe. Ovo je dat primer jednog konaqnog poa.
U ovom delu poglava detanije emo ispitati konaqna poa, jer e
nam ona biti od velikog znaqaja u daem delu teksta. Osnovne osobine
dajemo u sledeoj teoremi:
Teorema 1. (a) Svako konaqno poe mora imati p
k
elemenata, gde je p
prost, a k prirodan broj.
(b) Multiplikativna grupa konaqnog poa je cikliqna.
(v) Za sve proste brojeve p i prirodne brojeve k postoji poe sa p
k
eleme-
nata i sva ovakva poa su izomorfna. Poe sa p
k
elemenata oznaqavamo
sa F
p
k.
(g) Poe F
p
k je potpoe poa F
p
l ako i samo ako k [ l.
Dokaz. (a) Jasno je da svako konaqno poe mora imati nenula karakte-
ristiku i ona mora biti prost broj p. Meutim, tada se ovo poe moe
shvatiti kao vektorski prostor nad Z
p
. Ukoliko egova baza ima k ele-
menata, to dato poe ima p
k
elemenata.
8
(b) Neka je E

multiplikativna grupa datog poa. Svaka konaqna


grupa je proizvod cikliqnih grupa. Pretpostavimo da u tom proizvodu
postoje neke grupe C
m
i C
n
, takve da je (m, n) > 1. Ako p [ m, n, to pos-
toje elemnti a C
m
i b C
n
reda p. Kako je C
m
C
n
= 1, to u skupu
1, a, a
2
, . . . , a
p1
, b, b
2
, . . . , b
p1
nema jednakih. Meutim, tako dobijamo 2p 1
nula polinoma x
p
1, xto je oqigledna kontradikcija. Znaqi, E

se za-
pisuje kao proizvod cikliqnih grupa sa uzajamno prostim redovima. Kako
za (m, n) = 1 vai C
m
C
n
= C
mn
, to je E

zaista cikliqna grupa.


(v) Neka je E korensko poe polinoma f(x) = x
p
k
x Z
p
[X]. Jasno je
E karakteristike p, jer je Z
p
E (po MFT), pa je samim tim prema (a)
[E[ = p
l
. Neka je H = a E [ a
p
k
= a. Kako je H skup svih korena poli-
noma f, to je [H[ = p
k
. Dae, H 0 je jasno podgrupa multiplikativne
grupe E

. Dokaimo i da je H grupa u odnosu na sabirae. Iz binomnog


razvoja je (x + y)
p
= x
p
+ y
p
, pa indukcijom dobijamo (x + y)
p
k
= x
p
k
+ y
p
k
.
Poslede daje da je H zatvoreno u odnosu na sabirae, odnosno da je H
i aditivna grupa. Znaqi H je potpoe poa E, pa kako ono sadri sve
korene polinoma f, to je E = H.
Dokaimo i da su sva poa sa p
k
elemenata meusobno izomorfna, tj.
da su sva korenska poa polinoma f. Ukoliko je F konaqno poe, prema (b)
je F

cikliqna grupa, odnosno F

=< b >. Meutim, tada vai b


p
k
1
= 1,
pa za sve a = b
i
vai a
p
k
= a, a kako ovo vai i za 0, to je F potpoe poa
E. Ovo znaqi da je F = E.
(g) Ukoliko je F
p
k potpoe poa F
p
l , to je F

p
k
podgrupa grupe F

p
l
. Kako
su obe ove grupe prema (b) cikliqne, to broj elemenata jedne deli broj
elemenata druge, odnosno p
k
1 [ p
l
1. Nije texko dokazati da je poslede
ekvivalentno sa k [ l. 2
Iz prethodne teoreme zakuqujemo da su multiplikativne grupe kona-
qnih poa cikliqne. Sledea teorema, analogna Teoremi 9 iz prethodnog
dela, testira da li je neki element poa generator egove multiplika-
tivne grupe:
Teorema 2. Element g F

p
k
je generator ukoliko
g
(p
k
1)/q
,= 1
za sve proste delioce q broja p
k
1. 2
1.6 Aritmetika nad polinomima
U ovom poglavu obratiemo pau na polinome. Za prstene polinoma
F[X], gde je F poe, vai teorema o deeu sa ostatkom, koja tvrdi da za
9
sve nenula polinome f, g F[X] postoje jedinstveni polinomi q, r F[X]
tako da je
f = gq +r, deg r < deg g.
Ova teorema, kao i u sluqaju prstena Z, omoguuje da NZD polinoma
odreujemo Euklidovim algoritmom.
Ukoliko posmatramo polinome nad F[X], gde F nije poe, stvar se
znaqajno komplikuje. Ipak od koristi e nam biti sluqaj F = Z. Neka od
svojstava Z[X] koja emo qesto koristiti dajemo u sledeoj teoremi:
Teorema 1. Neka su p i r razliqiti prosti brojevi. Tada vai:
(a) Ukoliko je f(x) Z[X] tada je
f(x
p
) f(x)
p
(mod p).
(b) Neka je h(x) bilo koji faktor polinoma x
r
1 i m m
r
(mod r). Tada
je
x
m
x
mr
(mod h(x)).
(v) Neka je o
r
(p) poredak broja p u grupi F
r
. U pou F
p
[X] polinom
x
r
1
x 1
faktorixe se na polinome stepena o
r
(p).
Dokaz. (a) Iz binomnog razvoja je (a+b)
p
a
p
+b
p
(mod p), pa je indukcijom
(a
1
+a
2
+. . . +a
n
)
p
a
p
1
+a
p
2
+. . . +a
p
n
(mod p), za proizvoan prirodan broj
n. Iz ovoga direktno sledi tvree ovog dela teoreme.
(b) Jasno je da za svako d deivo sa r vai x
r
1 [ x
d
1, pa samim tim
x
r
1 [ x
mmr
1. Odavde je jasno x
m
x
mr
(mod h(x)), jer h(x) [ x
r
1.
(v) Neka je h(x) ireducibilni faktor stepena k polinoma
x
r
1
x 1
. Tada
je F
p
[X]/h(x) poe sa p
k
elemenata qija je multiplikativna grupa ci-
kliqna sa generatorom g(x). Prema delu (a) ove teoreme imamo
g(x)
p
d
g(x
p
d
) (mod g(x)),
pa samim tim p
d
1 deli red g(x). Znaqi p
k
1 [ p
d
1, tj. k [ d.
Primetimo da u F
p
[X]/h(x) vai x
r
1, pa i r [ p
k
1. Kako je o
r
(p) = d,
to d [ k. Znaqi k = d, xto je i trebalo dokazati. 2
Prvi pokuxaji da se odredi formula za n-ti prost broj bili su u
obliku polinoma. Jedan takav zanimiv primer je i polinom x
2
+x + 31,
koji je prost za sve brojeve 0 x29. Sledei zadatak ipak garantuje da
je traee formule u ovom obliku na neki naqin besmisleno:
Zadatak 1. Za svaki nekonstantni polinom f(x) Z[X], postoji beskonaqno
mnogo prirodnih brojeva n tako da broj [f(n)[ nije prost.
10
Rexee. Pretpostavimo suprotno. Neka 2 [ deg f (analogno razmatramo
i sluqaj 2 deg f). Tada postoji prirodan broj n takav da je P(n) > 0
i niz P(m)
mn
rastui. Svaki od qlanova ovog niza je prost, odnosno
P(m) = p
m
, i neka je p
n
= p. Tada iz
n +p n [ P(n +p) P(n) = p
n+p
p,
pa p [ p
n+p
. Meutim, to mora znaqiti da je p = p
n+p
, xto je oqigledna
kontradikcija. 2
1.7 Distribucija prostih brojeva
Jedno od klasiqnih pitaa vezanih za proste brojeve je kako su oni ras-
poreeni, tj. koliko ima prostih brojeva ne veih od datog prirodnog
broja n. Ovu funkciju oznaqiemo sa (n). Sledea teorema daje jednu
lepu ocenu za (n):
Teorema 1. Za svaki prirodan broj n 2 vai
1
6

n
log n
< (n) < 6
n
log n
.
Dokaz. Dokaimo prvo nejednakost
2
n

_
2n
n
_
< 4
n
. ()
Desna nejednakost sledi iz binomnog razvoja (1 + 1)
2n
=
2n

i=0
_
2n
i
_
>
_
2n
n
_
,
dok levu dokazujemo matematiqkom indukcijom. Kako je
_
2n
n
_
=
(2n)!
n! n!
, to
je logaritmovaem leva stana nejednakosti () ekvivalentna sa
nlog 2 log(2n)! 2 log n!. ()
Najvei stepen broja p koji deli n! je (p) =
[
log n
log p
]

k=1
_
n
p
k
_
, pa je
log n! =

pn
(p) log p.
11
Samim tim je log(2n)! log n! =

p2n
[
log n
log p
]

k=1
__
2n
p
k
_
2
_
n
p
k
__
log p, pa kako je
[2x] 2[x] 1, to je iz nejednakosti () i prethodne jednakosti
nlog 2

p2n
_
_
_
[
log n
log p
]

k=1
1
_
_
_
log p

p2n
log 2n = (2n) log 2n.
Posleda nejednakost daje (2n)
2n
log 2n

log 2
2
>
1
4

2n
log 2n
. Dae,
(2n + 1) (2n) >
1
4

2n
log 2n
>
1
6

2n + 1
log(2n + 1)
,
gde posleda nejednakost vai jer je
2n
2n + 1
>
2
3
, za n 2. Ovim neje-
dnakostima dokazana je leva strana poqetne nejednakosti.
Dokaimo i desnu stranu nejednakosti. Vai
log(2n)! log n! =

p2n
[
log n
log p
]

k=1
__
2n
p
k
_
2
_
n
p
k
__
log p

p2n
__
2n
p
_
2
_
n
p
__
log p.
Kako za svaki prost broj n < p < 2n vai
_
2n
p
_
2
_
n
p
_
= 1, to iz prethodne
nejednakosti dobijamo
log(2n)! log n!

n<p2n
log p.
Oznaqimo sa (n) =

pn
log p. Prethodna nejednakost zajedno sa () daje
(2n) (n) < nlog 4.
Specijalno, ukoliko prethodnu teoremu primenimo za n = 2
r
, dobijamo
(2
r+1
) (2
r
) < 2
r
log 4. Sabiraem ovakvih nejednakosti za r = 0, 1, . . . , k
dobijamo nejednakost (2
k+1
) < 2
k+2
log 2. Samim tim za 2
k
n < 2
k+1
vai
(n) (2
k+1
) < 2
k+2
log 2 < 4nlog 2.
Neka je 0 < < 1. Kako za svaki prost broj p > n

trivijalno vai
log p > log n

, to je
((n) (n

)) log n

<

<p<n
log p (n) < 4nlog 2,
12
odnosno
(n) <
4nlog 2
log n
+(n

) <
4nlog 2
log n
+n

=
n
log n
_
4 log 2

+
log n
n
1
_
.
Nije texko videti da funkcija f(x) =
log x
x
1
dostie maksimum za x =
e
1/(1)
i taj maksimum je
1
e(1 )
. Odabirom =
2
3
dobijamo traenu
nejednakost, tj.
(n) <
n
log n
_
6 log 2 +
3
e
_
< 6
n
log n
.
2
Prethodna teorema daje nam goru i dou granicu za (n). Sledea
teorema daje taqno asimptotsko ponaxae funkcije (n):
Teorema 2.
lim
n+
(n) log n
n
= 1.
13
Deo 2
Brzi algoritmi za velike brojeve
Osnovni algoritmi za mnoee brojeva sa N cifara rade u vremenu
O(N
2
). Iako su ovi algoritmi dovono dobri za ,,male brojeve, oni
nisu pogodni za raqunae sa ,,velikim brojevima. U ovom poglavu da-
jemo asimptotski znaqajno bre algoritme za ova izraqunavaa.
2.1 Diskretna Furijeova transformacija
Pod ,,signalom podrazumevaemo konaqan niz elemenata iz nekog skupa,
tj. signal je x = (x
0
, . . . , x
D1
), gde je D duina signala. Pretpostavimo
da su elementi signala x iz nekog algebarskog domena u kome postoji D
1
i neka je g primitivni D-ti koren u tom domenu (tj. g
k
= 1 ako i samo ako
D [ k). Tada moemo definisati diskretnu Furijeovu
1
transformaciju
DFT
2
:
Definicija 1. Diskretna Furijeova transformacija signala x je si-
gnal X = DFT(x) dat sa
X
k
=
D1

j=0
x
j
g
jk
,
sa inverznom transformacijom DFT
1
(X) = x
x
k
=
1
D
D1

j=0
X
j
g
jk
.
Poznati primeri DFT su:
(1) Kompleksna DFT: x, X C
D
, g je D-ti koren iz jedinice, odnosno
g = e
2i/D
;
1
Jean Baptiste Joseph Fourier - francuski matematiqar i fiziqar, 1768-1830
2
discrete Fourier transformation
14
(2) DFT na konaqnim polima: x, X F
D
p
k
, g je D-ti koren iz jedinice u
pou;
Algoritme koji se zasnivaju na DFT nazivaemo brze Furijeove trans-
formacije, skraeno FFT
3
. Sama FFT bazira se na sledeem jednostavnom
identitetu, ukoliko je D paran broj:
DFT(x) =
D/21

j=0
x
2j
(g
2
)
jk
+g
k
D/21

j=0
x
2j+1
(g
2
)
jk
.
Sada moemo dati rekurzivni FFT za signal x duine D = 2
d
:
Algoritam 2.1 (FFT algoritam)
FFT(x)
n = duzina(x);
if (n = 1) vrati x;
m = n/2;
X = (x
2j
)
m1
j=0
;
Y = (x
2j+1
)
m1
j=0
;
X = FFT(X);
Y = FFT(Y );
U = (X
k mod m
)
n1
k=0
;
V = (g
k
Y
k mod m
)
n1
k=0
;
vrati U +V ;

Kompleksnost ovog algoritma je jasno O(Dln D).


2.2 Teorija konvolucija
Neka su data dva signala x i y duine D. Definiximo osnovne oblike
konvolucija za ih:
Definicija 1. Cikliqna konvolucija, u oznaci z = xy, duine D data
je sa
z
n
=

i+jn (mod D)
x
i
y
j
.
Negacikliqna konvolucija, u oznaci v = x

y, duine D data je sa
v
n
=

i+j=n
x
i
y
j

i+j=n+D
x
i
y
j
.
3
fast Fourier transformation
15
Acikliqna konvolucija, u oznaci u = x
A
y, duine 2D data je sa
u
n
=

i+j=n
x
i
y
j
,
za n 0, 1, . . . , 2D 2 pri qemu je u
2D1
= 0.
Polu-cikliqna konvolucija, u oznaci x
H
y, duine D sastavena je od
prvih D elemenata acikliqne konvolucije u.
Odmah primeujmo da je proizvod dva broja, koji su duine D u bazi
sa osnovom B, jedna acikliqna konvolucija duine 2D. Zato u nastavku
dajemo teoreme koje e omoguiti brzo raqunae konvolucija. Neka je za
dva signala x i y duine D sa z = x y dat signal duine D takav da je
z
n
= x
n
y
n
.
Teorema 1. Neka su x i y signali duine D. Cikliqna konvolucija
ovih signala zadovoava jednakost
x y = DFT
1
(DFT(x) DFT(y)),
tj.
(x y)
n
=
1
D
D1

k=0
X
k
Y
k
g
kn
.
Dokaz. Iz definicije DFT je
1
D
D1

k=0
X
k
Y
k
g
kn
=
1
D
D1

k=0
g
kn
D1

i=0
x
i
g
ik
D1

j=0
y
j
g
jk
=
1
D
D1

i=0
D1

j=0
x
i
y
j
D1

k=0
g
k(nij)
.
Kako je vrednost
D1

k=0
g
k(nij)
jednaka 0 kada je n , i +j (mod D), a D kada
je n i +j (mod D), to je
1
D
D1

k=0
X
k
Y
k
g
kn
=

i+jn
x
i
y
j
= (x y)
n
.
2
Primenom FFT algoritama, ova teorema omoguuje brzo raqunae
cikliqne konvolucije. Sledeom teoremom daemo vezu izmeu razli-
qitih vrsta konvolucija, xto e nam dati i brz algoritam za mnoee
brojeva. Pri tome z = xy je signal takav da je z
n
= x
n
y
n
, dok je u = qx,
za konstantu q, signal takav da je z
n
= qx
n
. Takoe, neka je v = x y
spajae dva signala od levog ka desnom.
Teorema 2. Neka su x i y signali duine D. Ukoliko u odgovarajuem
domenu postoji 2
1
vae sledee veze izmeu konvolucija:
16
(a) x
H
y =
1
2
((x y) + (x

y)).
(b) x
A
y = (x
H
y)
1
2
((x y) (x

y)).
Dokaz. (a) Iz definicija konvolucija i osnovnih operacija nad signalima
dobijamo
_
1
2
((x y) + (x

y))
_
n
=
1
2
_

i+j=n
x
i
y
j
+

i+j=n+D
x
i
x
j
+

i+j=n
x
i
y
j

i+j=n+D
x
i
y
j
_
=

i+j=n
x
i
y
j
,
xto je upravo n-ti element konvolucije x
H
y.
(b) Po definiciji, prvih D elemenata signala x
A
y i x
H
y su jednaki,
dok za ostale vai
_
1
2
((x y) (x

y))
_
n
=
1
2
_

i+j=n
x
i
y
j
+

i+j=n+D
x
i
x
j

i+j=n
x
i
y
j
+

i+j=n+D
x
i
y
j
_
=

i+j=n+D
x
i
y
j
= (x
A
y)
n+D
,
xto je i trebalo dokazati. 2
Algoritam 2.2. (FFT mnoee)
1. [Inicijalizacija]
Dopuniti x i y nulama tako da su du zine 2D, tako da cikli cna
konvolucija novih brojeva sadrzi aciklicnu prethodnih;
2. [Transformacije]
X = DFT(x);
Y = DFT(y);
Z = X Y ;
z = DFT
1
(Z);
z = zaokruzhi(z); // Zaokru zujemo elemente do najbli zeg celog broja
3. [Prenos u bazi B]
prenos = 0;
for(0 n < 2D)
v = z
n
+prenos;
z
n
= v mod B;
prenos = [v/B];

4. [Korekcije]
Ako je prenos > 0 dodavanje te cifre kao vode ce;
17
Izbrisati vodece nule;
vrati z;
Zbog zaokruivaa brojeva, ovaj algoritam moe dati pogrexan rezul-
tat, ali je on od velikog znaqaja, jer se izvedeni oblici FFT mnoea
baziraju na emu.
Iz kompleksnosti FFT algoritma zakuqujemo i da je kompleksnost
ovog algoritma O(Dln D). Meutim, nas zanima sloenost u odnosu na
broj cifara brojeva koje mnoimo. Pokazuje se da je kompleksnost algo-
ritma, ukoliko mnoimo brojeve sa n cifara
O(n(C ln n)(C ln ln n) ),
gde je C konstanta, a mnoimo sa ln ln . . . n sve dok je taj broj vei od
1. Iako postoje algoritmi kojima se mnoee moe izvrxiti u vremenu
O(nln nln ln n), zbog sporog rasta funkcija ln ln ln n kompleksnost ovog algo-
ritma nije mnogo loxija. Ovaj (osnovni) oblik FFT mnoea korixen
je prilikom dokazivaa primalnosti nekih od najveih poznatih prostih
brojeva.
18
Deo 3
Brzi probabilistiqki testovi primalnosti
Jedna od osnovnih podela testovi primalnost je na deterministiqke i
probabilistiqke. Kod prvih rezultat testa je uvek taqna vrednost, dok
kod drugih znamo samo da je rezultat taqan sa nekom verovatnoom. Iako
su prednosti deterministiqkih algoritama jasne, u praksi se qesto pri-
meuju i probabilistiqki algoritmi, jer je vreme ihovog izvrxavaa
qesto krae od vremena izvrxavaa deterministiqkih algoritama.
Postoji vixe tipova probabilistiqkih algoritama. Algoritmi koje
emo koristiti u ovom poglavu zasnivaju se na problemu odluke, tj.
rezultat koji e davati moe biti da ili ne (tj. PROST ili SLO

ZEN).
Posebno, koristiemo Monte-Karlo algoritme, qiju definiciju moemo
dati sa:
Definicija 2. ,,DA-usmeren Monte - Karlo algoritam je algoritam
za problem odluke kod koga je odgovor ,,da uvek taqan, ali odgovor
,,ne ne mora biti. Kaemo da DA-usmeren Monte - Karlo algoritam ima
verovatnou grexke , ako za svaki ulaz za koji je odgovor ,,da, algori-
tam vraa vrednost ,,ne sa verovatnoom najvixe .
Komentar. Sliqno moemo definisati i ,,NE-usmerene Monte-Karlo
algoritme.
3.1 Solovej - Xtrasenov test primalnosti
Prvi u nizu probabilistiqkih algoritama koje emo izloiti u ovom
poglavu je algoritam Solovej
1
- Xtrasena
2
. On je baziran na Lean-
drovom
3
i Jakobijevom
4
simbolu qije definicije i svojstva dajemo u pr-
vom delu ovog potpoglava.
1
Robert Martin Solovay - ameriqki matematiqar 1938-
2
Volker Strassen- nemaqki matematiqar 1936-
3
Adrien-Marie Legendre - francuski matematiqar 1752-1833
4
Carl Gustav Jacob Jacobi - nemaqki matematiqar 1804-1851
19
3.1.1 Leandrov i Jakobijev simbol
Definicija 1. Neka je n Z. Za broj a koji nije deiv sa n kaemo
da je kvadratni ostatak po modulu n ako kongurncija x
2
a (mod n) ima
rexea, a inaqe kaemo da je kvadratni neostatak.
Sledea teorema govori o broju kvadratnih ostataka i neostataka po
prostim modulima:
Teorema 1. Neka je p neparan prost broj. Broj kvadratnih ostataka i
neostataka po modulu p jednak je
p 1
2
.
Dokaz. Posmatrajmo brojeve 1
2
, 2
2
, . . . , (p1)
2
. Jasno je da je svaki od ih
kvadratni ostatak, pa je dovono odrediti koliko meu ovim brojevima
ima razliqitih. Neka je zato x
2
y
2
(mod p), za neke x, y F
p
. Tada je
(x y)(x +y) 0 (mod p), pa je x y (mod p) ili x y (mod p). Znaqi, u
skupu x
2
[ 1xp1 po modulu p imamo parove jednakih, tj. ukupan broj
kvadratnih ostataka je
p 1
2
. Broj kvadratnih neostataka je p1
p 1
2
=
p 1
2
. Ovim je teorema u potpunosti dokazana. 2
Uvedimo sada i Leandrov simbol:
Definicija 2. Neka je p neparan prost broj, a a ceo broj. Leandrov
simbol
_
a
p
_
definisan je sa:
_
a
p
_
=
_
_
_
0, p [ a
1, a je kvadratni ostatak
1, a nije kvadratni ostatak
Sledea teorema, poznata i kao Ojlerov kriterijum, bie nam od ve-
like vanosti u nastavku teksta:
Teorema 2. (Ojlerov kriterijum) Za neparan prost broj p vai
a
p1
2

_
a
p
_
(mod p).
Dokaz. Neka je g primitivni koren modula p i k broj takav da je g
k
a
(mod p). Tada je a kvadratni ostatak akko je k paran, pa je
_
a
p
_
= (1)
k
.
Sa druge strane je a
p1
2
g
k
p1
2
(g
p1
2
)
k
(1)
k
(mod p), qime je tvree
dokazano. 2
20
Osnovna svojstva Leandrovog simbola dajemo u sledeoj teoremi:
Teorema 3. Neka je p neparan prost broj. Tada vai:
(a)
_
1
p
_
= 1,
_
1
p
_
= (1)
p1
2
i
_
2
p
_
= (1)
p
2
1
2
;
(b) Ako je m
1
m
2
(mod p), tada
_
m
1
p
_
=
_
m
2
p
_
;
(v)
_
m
1
m
2
p
_
=
_
m
1
p
_

_
m
2
p
_
;
Dokaz.
(a) Prvo tvree slede iz qienica da je 1
2
= 1, dok je drugo direk-
tna posledica Ojlerovog kriterijuma. Tree tvree dokazaemo
nexto kasnije, u sklopu dokaza Gausovog zakona reciprociteta.
(b) Ovo tvree direktno sledi iz definicije.
(v) Iskoristimo Ojlerov kriterijum. Naime,
_
m
1
m
2
p
_
(m
1
m
2
)
p1
2
= m
p1
2
1
m
p1
2
2

_
m
1
p
_

_
m
2
p
_
(mod p).
2
Sledei zadatak ilustruje upotrebu kvadratnih ostataka. Autor je
potpisnik ovog teksta.
Zadatak 1. Odrediti sve parove x i n prirodnih brojeva takve da je
x
3
+ 2x + 1 = 2
n
.
Rexee. Dokazaemo da je jedino rexee ove jednaqine par (1, 2). Za
n = 1 nema rexee, pa je dovono ispitati sluqaj n 3.
Kako je x(x
2
+2) uvek deivo sa 3 to broj n mora biti paran. Dokaimo
da za n 3 broj n ne moe biti ni paran.
Neka je n paran. Dodavaem obema stranama jednakosti broj 2 i ras-
tavaem dobijamo (x+1)(x
2
x+3) = 2
n
+2. Kako desna strana jednakosti
za n 3 nije deiva sa 4 to nije ni leva, pa je x oblika 8k +1 ili 8k +5.
Ukoliko je x oblika 8k +1, dobijamo da je leva strana jednakosti kongru-
entna sa 6 po modulu 8, xto je oqigledna kontradikcija. Znaqi x = 8k +5,
za neki ceo broj k. Kako je n paran, to je i 2
n
+ 2 = 2(2y
2
+ 1), pa je
-2 kvadratni ostatak po svakom prostom neparnom deliocu broja 2
n
+ 2,
posebno po svakom neparnom prostom deliocu broju x
2
x + 3. Kako je
21
x = 8k + 5, to je x
2
x + 3
8
7, pa mora imati prostog delioca p oblika
8s + 5 ili 8s + 7. Meutim, tada je
_
2
p
_
=
_
1
p
__
2
p
_
= (1)
(p1)/2
(1)
(p
2
1)/8
= (1)
(p1)(p+5)/8
= 1,
odakle -2 nije kvadratni ostatak po modulu p. Kontradikcija. 2
U nastavku ovog dela poglava ci nam je dokaz Gausovog
5
zakona re-
ciprociteta. Dokaimo zato prvo sledeu teoremu:
Teorema 4. (Gausova lema) Neka je broj ostataka u skupu ak, 1 k
p 1
2
, qija je vrednost vea od
p 1
2
. Tada je
_
a
p
_
= (1)

.
Dokaz. Neka je la m
l
(mod p), gde je 1 m
l

p 1
2
. Kako k l , 0
(mod p), za 1 k < l
p 1
2
, to je m
l
,= m
k
, za sve 1 k < l
p 1
2
. Znaqi
_
1, 2, . . . ,
p 1
2
_
= m
1
, m
2
, . . . , m
(p1)/2
, pa mnoeem kongruencija la m
l
(mod p) dobijamo
_
p 1
2
_
! a
(p1)/2

_
p 1
2
_
! (1)

(mod p).
Tvree sada sledi na osnovu Ojlerovog kriterijuma. 2
Sledee klasiqno tvree, moda i jedno od najpoznatijih tvrea
teorije brojeva, poznato je kao Gausov zakon reciprociteta:
Teorema 5. (Gausov zakon reciprociteta) Za neparne proste brojeve
p i q vai
_
p
q
_
= (1)
p1
2

q1
2
_
q
p
_
.
Dokaz. Dokaimo da za svaka dva broja x i y i neparan prirodan broj n
vai jednakost
x
n
y
n
=
n1

k=0
(
k
x
k
y), ()
5
Carl Friedrich Gauss - nemaqki matematiqar 1777-1855
22
gde je = e
2i/n
. Naime, skup 2k, za 0 k n 1, qini potpun sistem
ostatka po modulu n, pa je x
n
y
n
=

n1
k=0
(x
2k
y). Kako je
(1+2+...+n1)
=

n(n1)/2
= 1, to je
x
n
y
n
=
n1

k=0
(x
2k
y) =
n1

k=0
(
k
x
k
y).
Neka je sada f(z) = e
2iz
e
2iz
. Dokaimo da je
f(nz)
f(z)
=
(n1)/2

k=1
f
_
z +
k
n
_
f
_
z
k
n
_
. ()
Prema () imamo da je
f(nz) =
n1

k=0
f
_
z +
k
n
_
.
Kako je f(z +k/n) = f(z +k/n 1) = f(z (n k)/n), to je
f(nz)
f(z)
=
(n1)/2

k=1
f
_
z +
k
n
_

n1

k=(n+1)/2
f
_
z +
k
n
_
=
(n1)/2

k=1
f
_
z +
k
n
_

n1

k=(n+1)/2
f
_
z
n k
n
_
=
(n1)/2

k=1
f
_
z +
k
n
_
f
_
z
k
n
_
.
Na kraju dokaimo da je
(p1)/2

l=1
f
_
la
p
_
=
_
a
p
_(p1)/2

l=1
f
_
l
p
_
. ( )
Neka je la m
l
(mod p), gde je 1 m
l

p 1
2
. Kako se
la
p
i
m
l
p
razlikuju
za ceo broj, to je f
_
la
p
_
= f
_

m
l
p
_
, pa jednakost ( ) sledi na osnovu
Gausove leme. Specijalno, vai
(p1)/2

l=1
f
_
lq
p
_
=
_
q
p
_(p1)/2

l=1
f
_
l
p
_
.
23
Takoe, prema () vai
f(ql/p)
f(l/p)
=
(q1)/2

k=1
f
_
l
p
+
m
q
_
f
_
l
p

m
q
_
,
pa je
_
q
p
_
=
(q1)/2

m=1
(p1)/2

l=1
f
_
l
p
+
m
q
_
f
_
l
p

m
q
_
.
Sliqno je
_
p
q
_
=
(q1)/2

m=1
(p1)/2

l=1
f
_
m
q
+
l
p
_
f
_
m
q

l
p
_
,
pa kako je f(m/q l/p) = f(l/p m/q), to je zaista
_
p
q
_
= (1)
p1
2

q1
2
_
q
p
_
.
Dokaimo i posledi deo Teoreme 3(a). Koristiemo Gausovu lemu.
Broj jednak je broju elemenata skupa 2 1, 2 2, . . . , 2
p 1
2
, koji su vei
od
p 1
2
. Jasno je:
(1) = 2k za p = 8k + 1;
(2) = 2k + 2 za p = 8k + 7;
(3) = 2k + 1 za p = 8k + 3;
(4) = 2k + 1 za p = 8k + 5.
Iz prethodnog tvree teoreme je oqigledno. 2
Sledei zadatak ilustruje primenu prethodne teoreme. Autor zadatka
je potpisnik ovog teksta:
Zadatak 2. Dokazati da za proste brojeve p i q, takve da 4 pq brojevi
p
q
1 i q
p
1,
ne mogu imati sve iste proste delioce.
Rexee. Pretpostavimo suprotno.
Primetimo da brojevi p i q ne mogu biti jednaki 2, jer bi tada jedan
od p
q
1 i q
p
1 bio paran, a drugi neparan, pa ne bi imali sve iste proste
delioce. Takoe, po uslovu zadatka p i q ne mogu davati isti ostatak po
modulu 4, pa je jedan od ih npr. q oblika 4t + 3, a drugi oblika 4u + 1.
Neka je r bilo koji prost broj koji deli i q
p
1 i p
q
1. Pretpostavimo
da r [ q 1 i da je h poredak broja p po modulu r. Tada r [ p
h
1, pa kako
r [ p
q
1, to h [ q. Znaqi ili je h = 1 ili je h = q. Ako je h = q iz h [ r 1
24
imamo da q [ r 1, meutim ovo je nemogue jer r [ q 1. Znaqi h = 1,
tj. r [ p 1. Pretpostavimo jox i da r

| p 1. Kako je (r, q) = 1, to je i
r

| p
q
1. Razmatrajui i sve delioce broja q 1 nalazimo da se brojevi
p
q
1 i q
p
1 mogu zapisati kao
p
q
1 = p

1
1
p

2
2
. . . p

k
k
q

1
1
q

2
2
. . . q

l
l
, q
p
1 = p

1
1
p

2
2
. . . p

k
k
q

1
1
q

2
2
. . . q

l
l
,
gde su p
i
svi delioci p 1 i pri tome je i p

i
i
| p 1, p

i
i
| q 1, p
i
,= q
j
.
Posmatrajmo sada delioce q
i
. Neka je poredak broja p po modulu q
i
jednak
s. Tada q
i
[ p
q
1 i q
i
[ p
s
1, pa s [ q. Kako q
i
nije neki od delioca broja
p 1, to h ,= 1, tj. h = q. Znaqi q [ q
i
1 i sliqno p [ q
i
1, pa kako je
(p, q) = 1, to pq [ q
i
1. Posmatrajmo sada q
i
[ q
p
1 [ q
p+1
q. Kako je
p + 1 paran, to je broj q kvadratni ostatak po modulu q
i
, tj.
_
q
q
i
_
= 1.
Primenom Gausovog zakona reciprociteta dobijamo
_
q
q
i
_
=
_
q
i
q
_
(1)
q1
2
q
i
1
2
= (1)
q
i
1
2
,
jer je q = 4t + 3 i q [ q
i
1. Znaqi svaki od brojeva q
i
mora biti oblika
4v + 1. Sada je
p
q
1
p 1
= q

1
1
q

2
2
. . . q

l
l

4
1.
Meutim, sa druge strane imamo
p
q
1
p 1
= p
q1
+p
q2
+. . . + 1
4
q 1
4
3,
xto dovodi do oqigledne kontradikcije. 2
Na neki naqin uopxtee Leandrovog simbola na sve neparne brojeve
je Jakobijev simbol:
Definicija 3. Neka su n i m prirodni brojevi, pri qemu je m neparan
i m = p
a
1
1
p
a
2
2
. . . p
a
k
k
egova kanonska reprezentacija. Tada je
_
n
m
_
=
k

i=1
_
n
p
i
_
a
i
.
Iz definicije i Teorema 3 i 5, direktno se izvodi sledea teorema
koja daje osnovna svojstva Jakobijevog simbola:
Teorema 6. Neka su n i m prirodni brojevi, gde je m neparan. Tada
vai:
25
(a)
_
1
m
_
= 1,
_
1
m
_
= (1)
m1
2
i
_
2
m
_
= (1)
m
2
1
2
;
(b) Ako je n
1
n
2
(mod m), tada
_
n
1
m
_
=
_
n
2
m
_
;
(v)
_
n
1
n
2
m
_
=
_
n
1
m
_

_
n
2
m
_
;
(g) Ako je i n neparni broj vai
_
n
m
_

_
m
n
_
= (1)
m1
2

n1
2
.
2
Na osnovu prethodne teoreme moemo dati i algoritam za raqunae
Jakobijevog simbola
_
n
m
_
:
Algoritam 3.1. (Odreivae Jakobijevog simbola)
if (n = 0) vrati 0;
if (n = 1) vrati 1;
if (n = 1)
if (m 1 (mod 4)) vrati 1;
else vrati 1;

if (n = 2)
if (m 1 (mod 8) ili m 7 (mod 8)) vrati 1;
else vrati 1;

if (n > m) vrati
_
n mod m
m
_
;
if (2 [ n)
Zapi si n = 2
t
k, gde 2 t;
vrati
_
k
m
_

_
2
m
_
t
;

if (n 3 (mod 4) i m 3 (mod 4)) vrati


_
m
n
_
;
else vrati
_
m
n
_
;
Teorema 7. Sloenost algoritma za odreivae Jakobijevog simbola
je O(ln
2+
m), za svako > 0.
Dokaz. Jasno je da se algoritam izvrxava u najvixe O(ln m) koraka. U
svakom koraku odgovarajua operacija se, korixeem algoritama iz
26
prethodnog poglava, moe izvrxiti u vremenu O(ln mln ln m). Samim
tim algoritam se moe izvrxiti u vremenu O(ln
2+
m). 2
3.1.2 Algoritam i sloenost
U pseudo-kodu Solovej - Xtrasenov test primalnosti moe se zapisati
kao:
Algoritam 3.2. (Solovej - Xtrasenov test primalnosti)
Izabrati slucajan broj a, 2 a n 1;
x =
_
a
n
_
;
if (x = 0) ispi si SLO

ZEN;
y = a
n1
2
mod n;
if (x y (mod n)) ispisi PROST;
else ispisi SLO

ZEN;
Teorema 8. Solovej - Xtrasenov test primalnosti je za sloene brojeve
,,DA-usmeren Monte-Karlo algoritam. Verovatnoa grexke je najvixe
0,5.
Dokaz. Prvi deo teoreme je direktna posledica Ojlerovog kriterijuma,
dok drugi deo teoreme sledi iz qienice da postoji najvixe pola kvadra-
tnih ostataka.
Sledea teorema pokazuje da je ovaj algoritam polinomijane sloenosti:
Teorema 9. Algoritam Solovej - Xtrasena se moe izvrxiti u vremenu
O(ln
2+
n), za sve > 0.
Dokaz. Ova teorema je direktna posledica Teoreme 7. 2
Kao i kod veine probabilistiqkih algoritama, testirae treba vr-
xiti vixe od jednom, pa je od interesa oceniti verovatnou da za neki
(dovono veliki) sloen broj n algoritam m puta uzastopno ispixe
PROST, tj. da m puta uzastopno pogrexi. Ovu ocenu dajemo u sledeoj
teoremi:
Teorema 10. Verovatnoa da za neparan broj n algoritam m puta uza-
stopno pogrexi je najvixe
ln n
ln 2 + 2
m+1
.
Dokaz. Neka je X dogaaj da je broj sloen, a Y dogaaj da je algoritam m
puta uzastopno ispisao PROST. Prema Teoremi 8 je jasno P Y [ X 2
m
,
27
pa je po formuli za uslovnu verovatnoi i Bajesovoj formuli
P X [ Y =
P Y [ X PX
PY
=
P Y [ X PX
PY [ X PX +PY [ X PX
. ()
Odredimo PX. Neka je Nn2N. Prema Teoremi 1 iz 1.7, broj prostih
brojeva izmeu N i 2N se moe aproksimirati sa
2N
ln 2N

N
ln N
,
pa kako neparnih brojeva izmeu N i 2N ima N/2 to je
PX = 1 2
_
2
ln 2N

1
ln N
_
1
2
ln N
.
Kako je PY [ X 1, to je iz jednakosti ()
PX [ Y
PY [ X
_
1
2
ln N
_
PY [ X
_
1
2
ln N
_
+
2
ln N

2
m
(ln N 2)
2
m
(ln N 2) + 2
=
ln N 2
ln N 2 + 2
m+1
.
2
Iz datog algoritma jasno je da je za m = 100 verovatnoa grexke gotovo
jednaka nuli, pa je vreme potrebno da bi se ovim algoritmom utvrdilo
da li je neki broj prost ili ne po Teoremi 9 jednako O(ln
2+
n).
3.1.3 ,,Deterministiqka verzija algoritma
Na kraju ovog poglava pokazaemo kako se uz pretpostavku Produene
Rimanove
6
hipoteze Solovej - Xtrasenov algoritam algoritam moe do-
puniti do polinomilanog deterministiqkog algoritma. Za poqetak da-
emo formulaciju Rimanove hipoteze:
Produena Rimanova hipoteza. Neka su n i a uazajmno prosti prirodni
brojevi. Za svako vai
(x, n, a) =
li(x)
(n)
+O(x
1/2+
),
gde je (x, n, a) broj prostih brojeva ne veih od x i a (mod n), a li(x) =
_
x
2
d t
log t
.
Pod pretpostavkom Produene Rimanove hipoteze vae sledee teoreme:
6
Georg Friedrich Bernhard Riemann- nemaqki matematiqar 1826-1866
28
Teorema 11. Neka je
G(n) = minx [ Z

n
je generisana prostim brojevima x.
Tada je G(n) = O((log n)
2
).
Teorema 12. Neka je G netrivijalna podgrupa grupe Z

n
. Tada postoji
m > 0 i m , G, tako da je m2(log
2
n)
2
.
Sledea teorema, koja takoe vai pod pretpostavkom Produene Ri-
manove hipoteze, bie osnova deterministiqkog algoritma:
Teorema 13. Ako je n neparan sloen broj, tada postoji prirodan broj
a < n takav da je a 2(log
2
n)
2
, za koji je taqno barem jedno od:
(1) (a, n) ,= 1;
(2)
_
a
n
_
, a
(n1)/2
(mod n).
Dokaz. Neka je
E(n) =
_
a Z

n
[
_
a
n
_
a
(n1)/2
(mod n)
_
.
Dokaimo da je E(n) prava podgrupa grupe Z

n
. Pretpostavimo suprotno,
tj. da je E(n) = Z

n
. Tada za svako a Z

n
vai 1 =
_
a
n
_
2
a
n1
(mod n).
Pretpostavimo da postoji neparan prost broj tako da p
2
[ n. Kako je
Z

p
2
cikliqna to za en generator g vai g
p(p1)
1 (mod p
2
), a iz date
pretpostavke p(p 1) [ n 1. Meutim, p n 1, xto dovodi do oqigledne
kontradikcije. Znaqi n = pr, gde je p prost i p r. Sada ako g nije
kvadrat u Z

p
, to prema KTO postoji a tako da je a g (mod p) i a 1
(mod r). Meutim, za ovako odabrano a vai
_
a
n
_
=
_
g
p
_

_
1
r
_
= 1,
pa bi moralo da bude a
(n1)/2
1 (mod r), xto je u kontradikciji sa
odabirom broja a. Ovim je dokazano da E(n) mora biti prava podgrupa
grupe Z

n
.
Sada, prema Teoremi 11, postoji a Z

n
E(n) i a = O((log n)
2
). Samim
tim ili a , Z

n
(tj. (a, n) ,= 1) ili a , E(n). Prema Teoremi 12 vai
a 2(log
2
n)
2
, qime je teorema u potpunosti dokazana. 2
Na osnovu prethone teoreme dobijamo i deterministiqki oblik Solovej -
Xtrasenovog algoritma:
Algoritam 3.3. (Deterministiqki Solovej - Xtrasenov algoritam)
while (2 a minn 1, 2(log
2
n)
2
)
29
x =
_
a
n
_
;
if (x = 0) ispisi SLO

ZEN;
y = a
n1
2
mod n;
if (x , y (mod n)) ispi si SLO

ZEN;

ispi si PROST;
Na osnovu Teoreme 13 jasno je da je sloenost deterministiqkog Solovej -
Xtrasenovog algoritma O(ln
4+
n).
3.2 Rabin-Milerov test primalnosti
Poimo od samog algoritma:
Algoritam 3.4. (Rabin
7
- Milerov
8
test primalnosti)
Zapisati n 1 = 2
m
t, gde 2 t;
Izabrati slucajan broj a, 2 a n 1;
b = a
t
mod n;
if (b = 1) ispi si PROST;
for (0 i m1)
if (b 1 (mod n)) ispi si PROST;
else b = b
2
mod n;

ispi si SLO

ZEN;
Teorema 1. Rabin-Milerov test primalnosti je za sloene brojeve ,,DA-
usmeren Monte-Karlo algoritam. Verovatnoa grexke je najvixe 0,25.
Dokaz. Dovono je dokazati da algoritam ne moe ispisati SLO

ZEN za
prost broj n. U suprotnom, iz algoritma zakuqujemo da a
t
, 1 (mod n)
i da niti jedan od brojeva a
t
, a
2t
, . . . , a
2
m1
t
nije kongruentan sa 1 po
modulu n. Sa druge strane, iz Male Fermaove teoreme je a
2
m
t
1 (mod n),
pa je a
2
m
t
1 = (a
2
m1
t
1)(a
2
m1
t
+ 1) 0 (mod n), odnosno
a
2
m1
t
1 (mod n) ili a
2
m1
t
1 (mod n).
Kako druga kongruencija po pretpostavci ne vai, to mora biti a
2
m1
t
1
(mod n). Nastavajui ovaj postupak dobijamo da je a
2
i
t
1 (mod n), za
sve 0 i m. Meutim, ovo je nemogue jer je po pretpostavci a
t
, 1
(mod n). Ovim je prvi deo tvrea dokazan.
7
Gary Miller - ameriqki informatiqar
8
Michael Oser Rabin- izraelski informatiqar 1931-
30
Dokazimo i drugi deo tvrea. Neka je n neparan sloen broj, n1 =
2
m
t gde 2 t i
S(n) = a Z

n
[ a
t
1 (mod n) ili a
2
r
t
1 (mod n), za neko 0 r < m.
Dovono je dokazati da je [S(n)[
n 1
4
.
Neka je k najvei broj takav da postoji b tako da je b
2
k
1 (mod n) (k
je dobro definisano, jer je (1)
2
0
= 1) i neka je n

= 2
k
t. Takoe, neka
je n = p
a
1
1
p
a
2
2
. . . p
a
j
j
. Kako je p
i
1 (mod 2
k+1
), to je n 1 (mod 2
k+1
) i samim
tim 2n

[ n 1.
Posmatrajmo skupove J = a Z

n
[ a
n1
1 (mod n), K = a Z

n
[ a
n

1 (mod p
a
i
i
) za sve i, L = a Z

n
[ a
n

1 (mod n), M = a Z

n
[ a
n

1
(mod n). Jasno su J, K, L, M podgrupe grupe Z

n
i vai M L K
J Z

n
. Kako je S(n) L, dovono je dokazati da je indeks grupe L u Z

n
barem 4.
Kako je [K : M] = 2
j
i [L : M] = 2, to je [K : L] = 2
j1
. Razmotrimo
sledea tri sluqaja:
(1) j 3. Kako je [Z

n
: L] [Z

n
: J] [K : L] 4, to je u ovom sluqaju tvree
dokazano.
(2) j = 2. Dokaimo da je J prava podgrupa grupe Z

n
. Ukoliko je suprotno
tome Z

n
= J iz dokaza Teoreme 13 zakuqujemo da n nije deiv kvadratom,
pa je n = pq, gde su p > q neki prosti brojevi. Meutim, ako je g generator
Z

p
i g
n1
1 (mod p), to p 1 [ n1, odnosno p 1 [ q 1. Ovo je nemogue,
jer je p 1 > q 1. Znaqi [Z

n
: J] 2, pa [Z

n
: L] [Z

n
: J] [K : L] 4, xto je
i trebalo dokazati.
(3) j = 1. U ovom sluqaju je n = p
a
, za a 2. Meutim, kako je a
n1
a
p1
(mod p
2
), to je [J[ = p1, a samim tim [Z

n
: J] = p
a1
2, odnosno [Z

n
: L] 4.
2
Sledea teorema pokazuje da je Rabin - ov test iste sloenosti kao i
Solovej - Xtrasenov:
Teorema 2. Algoritam Rabin - Milerov se moe izvrxiti u vremenu
O(ln
2+
n). 2
Sliqno kao u prethodnom poglavu moemo dokazati da vai:
Teorema 3. Verovatnoa da za neparan broj n algoritam m puta uza-
stopno pogrexi je najvixe
ln n
ln 2 + 2 4
m
.
2
31
Iz dokaza Teoreme 1 zakuqujemo da je L prava podgupa grupe Z

n
.
Samim tim, uz pretpostavku Produene Rimanove hipoteze, korixeem
Teoreme 13 iz prethodnog poglava, Rabin-Milerov test se na sliqan
naqin kao i Solovej-Xtrasenov test moe dopuniti do deterministiqkog.
Kako zbog mae verovatnoe grexke, lakxeg koda, a i iz drugih ra-
zloga, u praksi se Rabin - Milerov test pokazuje kao boi nego test
Solovej - Xtrasena.
32
Deo 4
Test primalnosti pomou Gausovih suma
U ovom poglavu predstaviemo deterministiqki test koji je 1981. go-
dine otkrio Lenstra
1
. Vreme rada ovog algoritma je ograniqeno odozgo
sa (ln n)
c ln ln ln n
za neku konstantu c, pa s obzirom na spori rast funkcije
ln ln ln n moe se rei da je vreme rada (ln n)
O(1)
, odnosno da je algoritam
,,skoro polinomijalne sloenosti.
4.1 Karakteri i Gausove sume
Multiplikativni karakter na F

p
je preslikavae : F

p
C0 koje
zadovoava uslov
(ab) = (a) (b), za sve a, b F

p
.
Nekada je zgodno proxiriti na F
p
uzimaem da je (0) = 0.
Jedan od klasiqnih primera karaktera je Leandrov simbol (a) =
_
a
p
_
.
Drugi (trivijalni) primer karaktera je (a) = 1 za sve a F

p
. Nije texko
dokazati da svaki karakter ima sledea svojstva:
Teorema 1. Neka je multiplikativni karakter i a F

p
. Tada vai:
(a) (1) = 1;
(b) (a) je (p 1)-vi koren jedinice;
(v) (a
1
) = (a)
1
= (a).
(g) ako je ,= , tada

tFp
(t) = 0.
1
Hendrik Willem Lenstra - holandski matematiqar 1949-
33
Dokaz. (a) Iz definicije je (1) (1) = (1), pa je jasno (1) = 1.
(b) Neka je g primitivni koren po modulu p. Kako je g
p1
= 1, iz mul-
tiplikativnosti dobijamo 1 = (1) = (g
p1
) = (g)
p1
, pa je (g) jasno
(p 1)-vi koren iz jedinice. Kako za svako a F

p
postoji prirodan broj k
tako da je a = g
k
, to je (a) = (g
k
) = (g)
k
, pa je i (a) (p 1)-vi koren iz
jedinice.
(v) Imamo (a
1
) = (a
p11
) = (a)
p2
= (a)
1
, a kako je [(a)[ = 1, jer je
(a) koren jedinice, to je i (a)
1
= (a).
(g) Iz dokaza dela pod (b) zakuqujemo da je

tFp
(t) =
p1

k=0
(g
k
) =
p2

k=0
(g)
k
=
(g)
p1
1
(g) 1
= 0.
2
Uvedimo na skupu svih karaktera mnoee: za karaktere i kara-
kter definiximo sa ()(a) = (a) (a). Takoe, moemo uvesti i
inverz karaktera
1
sa
1
(a) = (a)
1
, za a F

p
. Ovako definisana
struktura je grupa, taqnije:
Teorema 2. Grupa karaktera je cikliqna grupa reda p 1. Za svaki
broja a F

p
, a ,= 1, postoji karakter tako da je (a) ,= 1.
Dokaz. Posmatrajmo funkciju (g
k
) =
k
p1
, gde je
p1
= e
2i/(p1)
, a g pri-
mitivni koren po modulu p. Jasno je da je multiplikativni karakter
i da je (a) ,= 1, za sve a ,= 1, pa je drugi deo teoreme dokazan. Takoe,
iz dokaza Teoreme 1 zakuqujemo da je (g) =
l
p1
, za svaki karakter i
neki prirodan broj l, pa je jasno =
l
. Ovim je dokazano da je grupa
karaktera cikliqna sa generatorom , a kako je (g)
p1
= (g
p1
) = 1, to je
en red p 1. 2
Uvedimo i pojam Gausove sume:
Definicija. Neka je p prost broj, a F
p
i karakter na F
p
. Izraz
G
a
() =

tFp
(t)
at
p
,
gde je
p
= e
2i/p
naziva se Gausova suma na F
p
koja odgovara karakteru .
Sledea teorema pokazuje kako se svaka Gausova suma G
a
() moe pred-
staviti preko Gausove sume G
1
():
Teorema 3. Za karakter i a F
p
vai
G
a
() =
_

_
(a
1
) G
1
(), ako je a ,= 0 i ,= ;
0, ako je a ,= 0 i = ;
0, ako je a = 0 i ,= ;
p, ako je a = 0 i =
.
34
Dokaz. Ukoliko je = imamo G
a
() =

tFp

at
p
, a ova suma je 0 kada je
a ,= 0, odnosno p kada je a = 0. Ukoliko je a = 0 i ,= po delu (g) Teoreme
1 vai G
a
() =

tFp
(t) = 0.
Ispitajmo i sluqaj a ,= 0 i ,= . Tada je
G
a
() =

tFp
(t)
at
p
=

tFp
(a
1
)(at)
at
p
= (a
1
) G
1
(),
gde posleda jednakost vai jer brojevi at, za 0 t p 1, qine potpun
sistem ostataka po modulu p. 2
Zbog prethodne teoreme uvodimo oznaku G
1
() = G(). Sledea teorema
pokazuje da je u netrivijalnim sluqajevima vrednost [G()[ (pa samim tim
i [G
a
()[) jednaka

p, odnosno:
Teorema 4. Za ,= vai [G()[ =

p.
Dokaz. Izraqunaemo vrednost izraza S =

aFp
G
a
()G
a
() na dva naqina.
Prema prethodnoj teoremi za a ,= 0 vai G
a
() = (a
1
)G() = (a)G() i
G
a
() = (a
1
)G(). Samim tim je G
a
()G
a
() = [G()[
2
i kako je G
0
() = 0
zakuqujemo da je

aFp
G
a
()G
a
() = (p 1) [G()[
2
.
Sa druge strane, iz definicije G
a
() zakuqujemo da je
S =

aFp

xF

yFp
(x)(y)
axay
p
=

xF

yFp
(x)(y)

aFp

axay
p
=

xFp

yFp
(x)(y)(x, y)p = p(p 1),
gde pretposledu jednakost vai, jer skup a(x y) [ 0 a p 1 qini
potpun sistem ostataka po modulu p ako i samo ako je x ,= y. Ovde je
Kronekerova funkcija ((x, x) = 1 i (x, y) = 0 za x ,= y).
Iz dva predstavaa date sume lako nalazimo da je [G()[ =

p. 2
U algoritmu koji e ovde biti izloen od velikog znaqaja bie kara-
kteri
p,q
na F
q
definisani sa
p,q
(g
q
) =
p
, gde su p i q prosti brojevi takvi
da p [ q 1, g
q
primitivni koren po modulu q i
p
= e
2i/p
. Odgovarajuu
Gausovu sumu oznaqavaemo sa G(p, q), odnosno G(p, q) =

tFq

p,q
(t)
t
q
.
Dokazaemo i sledeu teoremu koja e predstavati osnovu algo-
ritma:
35
Teorema 5. Neka su p, q i n prosti brojevi, takvi da p [ q1 i (pq, n) = 1.
Tada je
G(p, q)
n
p1
1

p,q
(n) (mod n).
Dokaz. Primetimo prvo da ukoliko je k l (mod p), da je i (m)
k
= (m)
l
,
jer je (m) stepen p-tog korena iz jedinice. Takoe, vai (a +b)
n
a
n
+b
n
(mod n), a iz Male Fermaove teoreme i n
p1
1 (mod p), pa dobijamo
sledei niz kongruencija i jednakosti
G(p, q)
n
p1
=
_
_

tFq
(t)
t
q
_
_
n
p1

tFq
(t)
n
p1

tn
p1
q
=

tFq
(t)
tn
p1
q
= (n
(p1)
)

tFq
(t n
p1
)
tn
p1
q
= (n) G(p, q) (mod n),
gde posleda jednakost sledi iz (n
(p1)
) = (n) i qienice da brojevi
t n
p1
, za 0 t q 1, qine potpun sistem ostataka po modulu q, jer je
(p, n) = 1. Deeem dobijamo traenu kongruenciju. 2
Na kraju navedimo i jednu teoremu koja nije direktno povezana sa
karakterima i Gausovim sumama, ali koja e nam biti korisna u dokazu
ispravnosti algoritma:
Teorema 6. Ako su m i n prirodni brojevi pri qemu n m, tada iz

j
m

k
m
(mod n) sledi
j
m
=
k
m
.
Dokaz. Ukoliko podelimo kongruenciju i datu jednakost sa
k
m
, jasno je
da je dati problem dovono rexiti u sluqaju k = 0. Pretpostavimo da
tada tvree ne vai, tj. da je
j
m
1 (mod n) i da
j
m
,= 1. Posmatrajmo
polinom P(x) =
x
m
1
x 1
=
m1

i=1
(x
i
m
). Kako
j
m
,= 1, to postoji 1 i m1,
tako da je
j
m
=
i
m
, pa iz date kongruncije vai n [ P(1) = m, xto je
suprotno pretpostavci da n ne deli m. 2
4.2 Algoritam, dokaz ispravnosti i sloenost
Deterministiqki test preko Gausovih suma moe se opisati na sledei
naqin:
Algoritam 4.1. (Test primalnosti Gausovim sumama)
1. [Priprema]
I = 0; F = 1;
36
while(F
2
n)
I = I + 2;
Isprobavanjem predstaviti I kao proizvod razli citih
prostih delioca;
F je proizvod svih prostih q takvih da q 1 [ I;

if (n je prost delilac od IF) ispi si PROST;


if ((n,IF)>1) ispi si SLO

ZEN;
for (prost q [ F) na ci najmanji primitivni koren g
q
od q;
2. [Odredivanje stepena]
for (prost p [ I) predstaviti n
p1
1 = p
sp
u
p
gde p u
p
;
for (prosti p, q takvi da p [ I, q [ F, p [ q 1)
Odrediti najmanji broj (p, q) s
p
tako da
G(p, q)
p
(p,q)
up

j
p
(mod n) za neki ceo broj j;
if (broj (p, q) ne postoji) ispi si SLO

ZEN;

3. [Tra zenje najve ceg stepena]


for (prost p [ I) neka je (p) maksimum od svih w(p, q) za sve q [ F,
gde p [ q 1 i neka je q
0
(p) minimalno q za koje je (p) = (p, q);
for (prosti p, q takvi da p [ I, q [ F, p [ q 1) odrediti ceo
broj l(p, q) [0, p 1] tako da je
G(p, q)
p
(p)
up

l(p,q)
p
(mod n);
4. [Test uzajamne prostosti sa n]
for (prost p [ I, (p) 2 i l(p, q) = 0 uvek kada q [ F, p [ q 1)
for (0 j < p)
if ((G(p, q
0
(p))
p
(p)1
up

j
p
, n) ,= 1) ispi si SLO

ZEN;

5. [Tra zenje delioca]


for (prost q [ F) pomocu Kineske teoreme o ostacima odrediti ceo broj
l(q) tako da je
l(q) l(p, q) (mod p) za sve p [ q 1;
Pomo cu Kineske teoreme o ostacima odrediti ceo broj l tako da je
l g
l(q)
q
(mod q) za sve proste q [ F;
for (1 j < I)
if (l
j
mod F netrivijalni delilac od n) ispisi SLO

ZEN;
37
ispi si PROST;
Sledee dve teoreme dokazuju da je algoritam zaista deterministiqki:
Teorema 1. Ukoliko je broj n prost algoritam ispisuje PROST.
Dokaz. Neka je n prost broj. Jasno je da u delu Priprema ne moe doi
do ispisa SLO

ZEN, jer je tada (n, IF) > 1, a I, F < n. Takoe, do ispisa


SLO

ZEN ne moe doi ni u delu Odreivae stepena, xto sledi iz Teo-


reme 5 prethodnog dela poglava. Dae, u delu Test uzajamne prostosti
sa n ne moe doi do ispisa SLO

ZEN, jer bi tada postojao delilac broja n


koji bi zbog naqina odabira brojeva (p) i (p, q) bio mai od n. Konaqno,
kako je jasno da ni u delu Traee delioca ne moe doi do ispisa
SLO

ZEN (tada bi n imao netrivijalnog delioca), za prost broj n algori-


tam ispisuje PROST. 2
Teorema 2. Ukoliko je broj n sloen algoritam ispisuje SLO

ZEN.
Dokaz. Pretpostavimo suprotno, tj. da je za sloen broj n algoritam
ispisao PROST. Neka je r najmai prost delilac broja n. Dokaimo da
p
(p)
[ r
p1
1.
Prema Maloj Fermaovoj teoremi tvree je taqno za (p) = 1, pa moemo
da pretpostavimo da je (p) 2. Neka je prvo l(p, q) ,= 0. Kako r [ n, to je
G(p, q)
p
(p)
up

l(p,q)
p
, 1 (mod r),
pa stepenovaem na p dobijamo da je poredak broja G(p, q) po modulu r
deiv sa p
(p)+1
. Sa druge strane, prema Teoremi 5 prethodnog dela
poglava, poredak deli p (r
p1
1), qime je tvree u sluqaju l(p, q) ,= 0
dokazano. Ukoliko je l(p, q) = 0, to iz delova Odreivae stepena i Test
uzajamne prostosti sa n dobijamo da poredak broja G(p, q) po modulu r
deli p
(p)
u
p
i da nije jednak p
(p)1
u
p
, pa samim tim mora biti deiv sa
p
(p)
. Ponovnim korixeem Teoreme 5 prethodnog dela poglava i iz
dela Test uzajamne prostosti sa n zakuqujemo da poredak deli r
p1
1,
pa je tvree i u ovom sluqaju dokazano.
Dokazana deivost pokazuje da za svaki prost broj p [ I postoje brojevi
a
p
i b
p
takvi da je
r
p1
1
p
(p)
u
p
=
a
p
b
p
, b
p
1 (mod p).
Iz Kineske teoreme o ostacima, odredimo a tako da je a a
p
(mod p), za
sve p [ I i dokaimo da je
r l
a
(mod F).
38
Iz konstrukcije brojeva l(q) i l u delu Traee delioca, dobijamo niz
kongruencija
G(p, q)
p
(p)
up

l(p,q)
p

l(q)
p

p,q
(g
l(q)
q
)
p,q
(l) (mod n).
Dae, prema Teoremi 5 prethodnog dela poglava i konstrukciji broja
b
p
dobijamo

p,q
(r) =
p,q
(r)
bp
G(p, q)
(r
p1
1)bp
G(p, q)
p
(p)
upap

p,q
(l)
ap
=
p,q
(l
a
) (mod r),
pa na osnovu Teoreme 6 vai
p,q
(r) =
p,q
(l
a
) za sve q [ F i p [ q 1. Samim
tim, ako je r g
q
q
(mod q) i l g
l(q)
q
(mod q), to je
q
l(q)a (mod p).
Meutim, ovo vai za sve proste delioce p broja q 1, pa kako je q 1
delilac beskvadratnog broja I, to je i q 1 beskvadratan i samim tim

q
l(q)a (mod q 1). Sada je jasno i g
q
q
g
l(q)a
q
(mod q), pa je r l
a
(mod q). Kako je F beskvadratan, to je i r l
a
(mod F).
Meutim, ovo je nemogue, jer bi u koraku Traee delioca zbog
F >

n r (r je najmai prost delilac od n) doxlo do ispisa SLO

ZEN.
Ovim je tvree u potpunosti dokazano. 2
Teorema 3. Vreme rada algoritma ograniqeno je odozgo sa (ln n)
c ln ln ln n
za neku konstantu c.
Dokaz. Kako je vreme rada algoritma ograniqeno sa nekim stepenom broja
I, to je ovo tvree direktna posledica sledee teoreme iz analitiqke
teorije brojeva:
Teorema 4. Neka je I(x) najmai beskvadratan prirodan broj I, tako da
je proizvod svih prostih brojeva p sa p 1 [ I vei od x. Tada postoji
broj c takav da je I(x) < (ln x)
c ln ln ln x
, za sve x > 16.
4.3 Jakobijeve sume i mogunost poboxaa algoritma
U prethodnom delu ovog poglava dat je asimptotski veoma brz algo-
ritam, ali je on daleko od praktiqnog. Najvei problem je xto se sve
operacije vrxe u prstenu Z[
p
k,
q
]. Ovo se moe popraviti korixeem
Jakobijevih suma:
Definicija 1. Ako su i karakteri na F
p
izraz
J(, ) =

a+b=1
(a)(b)
39
nazivamo Jakobijeva suma.
Odmah moemo primetiti da je J(, ) Z
p
[
n
], gde n [ (p). Ovo e
biti kuqno za poboxae algoritma, jer je raqunae u prstenu Z[
n
]
znatno lakxe nego u prstenu Z[
n
,
m
].
Sledea teorema daje osnovna svojstva Jakobijevih suma:
Teorema 1. Neka su i netrivijalni karakteri na F
p
. Tada vai:
(a) J(, ) = p;
(b) J(, ) = 0;
(v) J(,
1
) = (1);
(g) J(, ) =
G()G()
G()
.
Dokaz. Deo pod (a) je trivijalan, dok deo (b) sledi iz Teoreme 1(a).
Dokaimo preostale delove.
(v) Iz definicije dobijamo
J(,
1
) =

a+b=1
(a)
1
(b) =

a=0

_
a
1 a
_
.
Ako je c =
a
1 a
i c ,= 1, to je a =
c
1 +c
, pa samim tim kada a prolazi
skupom F
p
0, tada c prolazi skupom F
p
1. Sada, na osnovu Teoreme
1(a)
J(,
1
) =

c=1
(c) = (1).
(g) Primetimo da je
G()G() =
_

x
(x)
x
__

y
(y)
y
_
=

x,y
(x)(y)
x+y
=

t
_

x+y=t
(x)(y)
_

t
.
Ako je t = 0 imamo

x+y=0
(x)(y) =

x
(x)(x) = (1)

x
(x) = 0
( ,= ). Ako t ,= 0 smenom x = tx

i y = ty

dobijamo

x+y=t
(x)(y) =

+y

=1
(tx

)(ty

) = (t)J(, ).
Sumiraem po t dobijamo traenu formulu. 2
40
Direktno iz Teoreme 4 sledi i sledee tvree:
Teorema 2. Ako su , i razliqiti od vai [J(, )[ =

p. 2
Neka je G Galoaova grupa raxirea Q(
n
) poa Q. Tada je
G =
a
[ (a, n) = 1,
a
(
n
) =
a
n
.
Kako je Q(
n
)

= Q[X]/
n
(x), gde je
n
(X) minimalni polinom za
n
nad Q
(ovo je ciklotomiqni polinom), to
a
G moemo zapisati kao
a
(X) = X
a
u Q[X]/
n
(x). Sada moemo uvesti grupa prsten:
Definicija 2. Grupa prsten Z[G] definisan je kao skup svih f =

G
f

,
gde su f

neki celi brojevi, sa operacijama


f g =

G
(f

+g

)
f g =

,G
(f

)()
Definiximo i dejstvo Z(G) na Q(
n
):
Definicija 3. Za x Q(
n
) i f Z[G] dejstvo f na x definixemo sa
x
f
=

G
(x)
f
,
za x ,= 0 i 0
f
= 0.
Zaista, nije texko proveriti da vai sledea teorema, qime je opra-
vdana prethodna definicija:
Teorema 3. Ukoliko je x
1
, x
2
Q(
n
) i f
1
, f
2
Z[G] vai:
(a) x
f
1
+f
2
= x
f
1
x
f
2
;
(b) x
f
1
f
2
= (x
f
1
)
f
2
= (x
f
2
)
f
1
;
(v) (x
1
+x
2
)
f
= x
f
1
+x
f
2
;
(g) (x
1
x
2
)
f
= x
f
1
x
f
2
. 2
Nama je od interesa sluqaj n = p
k
, gde je p neki prost broj. Kako je G
komutativna, to je i Z[G] komutativni prsten. Neka je
T = f Z[G] [
f
p
= 1.
41
Posmatrajmo f =

G
f

T. Jasno je

a(Z/nZ)

af
a

p
0, pa je T ideal u
Z[G]. Ovaj ideal je i prost i generisan je sa p 1 i a 1
a
, gde je 1
jediniqno preslikavae. U nastavku emo k 1 Z[G] oznaqavati samo sa
k.
Kuq testa qini sledea teorema, koja predstava analog Teoreme 5
iz poglava 4.2:
Teorema 4. Neka je karakter na F
q
reda p
k
, neka su a i b celi brojevi
takvi da p ab(a +b) i neka je E = (Z/p
k
Z)

. Takoe, neka je
=

xE
_
Nx
p
k
_

1
x
i
=

xE
__
xa
p
k
_
+
_
xb
p
k
_

_
x(a +b)
p
k
__

1
x
.
Tada je
G()
(N
N
)
= J(
a
,
b
)

.
Dokaz. Neka je =

xE
x
1
x
i neka p r. Tada je
(
r
r) =

xE
x
x
1
r

xE
xr
x
1 =

xE
(xr)
p
k
x
1

xE
xr
x
1,
gde je (xr)
p
k ostatak xr pri deeu sa p
k
. Sada je jasno
(
r
r) = p
k

xE
_
xr
p
k
_

1
x
.
Specijalno, za r = N dobijamo (
r
r) = p
k
, odnosno
(
a
+
b

a+b
) = (
a
a +
b
b (
a+b
(a +b))) = p
k
,
tj. (N
N
) = (
a
+
b

a+b
). Po Teoremi 1(g) iz 4.1 je
J(
a
,
b
) = G()
a+
b

a+b
,
pa tvree zaista vai. 2
Da bismo iskoristili ovu teoremu potrebno je odrediti pogodne a i
b tako da , T. Jasno je da sam uslov p ab(a +b) ne moe biti zadovoen
za p = 2, pa emo za poqetak pretpostaviti da je p 3. Uz oznake iz
prethodne teoreme, vai:
Teorema 5. Potreban i dovoan uslov da , T je
a
p
+b
p
, (a +b)
p
(mod p
2
).
42
Dokaz. Neka je
K =

xE
__
xa
p
k
_
+
_
xb
p
k
_

_
x(a +b)
p
k
__
x
1
.
Jasno je da je , T ekvivalentno sa p K. Kako p a, to je skup ostataka
brojeva ax, x E, jednak skupu E. Dokaimo da je

xE
_
xa
p
k
_
x
1
a
a
(p1)p
k1
1
p
k
(mod p
k
). ()
Posmatrajamo proizvod brojeva ax, za x E, po modulu p
2k
. Tada je

xE
xa =

xE
__
xa
p
k
_
p
k
+ (ax)
p
k
_
p
k

xE
_
xa
p
k
_

y=x
ay +

xE
(ax)
p
k (mod p
2k
),
gde je (ax)
p
k ostatak pri deeu ax sa p
2k
. Kako je

yE
y 1 (mod p
k
), to
je

y=x, yE
ay a
1
x
1
(mod p
k
). Dae, kako je

xE
(ax)
p
k =

xE
x, to je
iz prethodne kongruencije
a
(p1)p
k1
1
p
k

xE
x

xE
_
xa
p
k
_
a
1
x
1
(mod p
k
).
Kako je

xE
x 1 (mod p
k
), to je () dokazano.
Dokaimo i da je
a
(p1)p
k1
1
p
k

a
p1
1
p
(mod p). ()
Neka je a
p1
= Ap + 1. Iz binomne formule i p
k+1
[
_
p
k1
m
_
(Ap)
m
, za m2,
zakuqujemo da je a
(p1)p
k1
Ap
k
+ 1 (mod p
k
), xto dokazuje ().
Dato tvree sada direktno sledi iz () i (). 2
Iz prethodne teoreme dobijamo i naredno tvree, koje se direktno
koristi u testu:
Teorema 6. Ako je 3p < 6 10
9
i p ,= 1093, 3511 i ako u Teoremi 3 uzmemo
a = b = 1 vai , T. Taqnije za
=

p
k
/2<x<p
k
, px

1
x
vai , T i
J(, )

(N)
cN
(mod N),
43
gde je
=

xE
_
Nx
p
k
_

1
x
i
c = 2
2
(p1)p
k1
1
p
k
.
Dokaz. U prethodnoj teoremi dokazano je da , T ako i samo ako vai
2
p
, 2 (mod p
2
). Ova kongruecija je detano ispitivana i dobijeno je da
su ena jedina rexea maa od 6 10
9
bax p = 1093, 3511. Ostatak teoreme
sledi na osnovu relacije (). 2
Iako se qini da prethodnu teoremu moemo ograniqeno primeivati,
ena ograniqea su u praksi nebitna. Naime, jox uvek nismo ni blizu
mogunosti da faktorixemo brojeve sa 10
9
dekadnih cifara, a i ukoliko
bismo to mogli ne bi nam bili potrebni prosti brojevi vei ili jednaki
od 1093.
Vratimo se na sluqaj p = 2. Ve smo napomenuli da ovaj sluqaj ne
moemo rexiti na isti naqin kao p ,= 2. U ovoj situaciji od koristi e
nam biti trostruka Jakobijeva suma, tj.
J(
1
,
2
,
3
) =

x+y+z=1

1
(x)
2
(y)
3
(z).
Sliqno kao u dokazu Teoreme 1 moe se pokazati da je
J(
1
,
2
,
3
) =
G(
1
)G(
2
)G(
3
)
G(
1

3
)
i specijalno za
1
=
2
=
3
=
J(, , ) = G()
3
3
.
Sledea teorema je analog Teoreme 4:
Teorema 7. Neka je karakter modula q qiji je red 2
k
, gde je k3. Neka
je sa E oznaqen skup svih brojeva x takvih da je 1x < 2
k
i x kongruentno
sa 1 ili 3 po modulu 8. Takoe, neka je
=

xE
_
Nx
2
k
_

1
x
i
=

xE
_
3x
2
k
_

1
x
.
44
Tada, ukoliko N daje ostatak 1 ili 3 po modulu 8 vai
G()
(N
N
)
= J(, , )

.
Takoe, , T.
Dokaz. Dokaz je sliqan kao dokaz Teoreme 4. Osnovna razlika je xto
(Z/2
k
Z)

nije cikliqna, nego ima cikliqnu grupu indeksa 2, pa je uslov


za N neophodan. 2
Ukoliko je N kongruentno sa 3 ili 7 po modulu 8, ideja je da N za-
menimo sa N (N je kongruentno sa 1 ili 3 po modulu 8). Vai
G()

N
+N
= G()
N
N
G(
N
)G(
N
) = (Prema Teoremi 1(v)) = G()
N
N
q.
Sada moemo dati ,,dopunu Teoreme 7:
Teorema 8. Neka je karakter modula q qiji je red 2
k
, gde je k3. Neka
je sa E oznaqen skup svih brojeva x takvih da je 1x < 2
k
i x kongruentno
sa 1 ili 3 po modulu 8. Takoe, neka je
=

xE
__
Nx
2
k
_
+ 1
_

1
x
i
=

xE
_
3x
2
k
_

1
x
.
Tada, ukoliko N daje ostatak 5 ili 7 po modulu 8 vai
G()
(N
N
)
= J(, , )

(q)

.
Takoe, , T. 2
Iz definicije trostruke Gausove sume i enih osnovnih osobina do-
bijamo da je
J(, , ) = J(, ) J(,
2
),
xto nam daje efikasniji naqin za raqunae J(, , ). Daemo i sledee
dve teoreme:
Teorema 9. Neka je proizvoni karakter i
1
karakter reda m. Tada
vai

0x<m
G(
x
1
) = G(
m
)
m
(m)

0x<m
G(
x
1
).
Na osnovu ove teoreme dokazujemo i:
45
Teorema 10. Ukoliko je =

xE

1
x
i d = 2
k2
1, tada
J(, , )

= q
d
J
2
(
2
k3
,
32
2
k3
).
Dokaz. Iz formule za predstavae trostruke Jakobijeve sume preko
Gausovih suma dobijamo
J(, , )

xE
G
2
(
x
).
Primenimo sada prethodnu teoremu za =
a
i
1
=
2
kl
. Indukcijom po
l dokazujemo da je

0n<2
l
G
2
(
a+n2
kl
) = q
2
l1
G
2
(
2
l
a
)(2)
al2
l+1
.
Pomnoimo li date identite za l = k 3 u sluqajevma a = 1 i a = 3,
primenom Teoreme 1 dobijamo dato tvree. 2
Sada moemo dokazati i teoremu koja predstava analog Teoreme 5 iz
4.2 poglava za p = 2. Oznake su kao u Teoremama 7 i 8:
Teorema 11. Neka je
N
= 0 ako je N kongruentno sa 1 ili 3 po modulu
8 i
N
= 1 ako je N kongruentno sa 5 ili 7 po modulu 8. Vai
(J(, ) J(,
2
))

J
2
N
(
2
k3
,
32
k3
) (1)

N
(N)
cN
(mod N),
gde je
=

xE
_
Nx
2
k
_

1
x
i
c = 3
3
2
k2
1
2
k
.
Dokaz. Prvo J(, , ) = J(, ) J(,
2
), gde je izraz sa desne strane dat
(kao xto je ve i napomenuto) jer je ovakav naqin izraunavaa efika-
sniji.
Ukoliko je N kongruentno sa 1 ili 3 po modulu 8, teorema sledi na
osnovu Teoreme 7 i kongruencije () za a = 3. Iz Teoreme 8, kongruencije
() i identiteta

xE
_
3x
2
k
_
= 2
k2
1
dobijamo
J(, , )

1
(N)
cN
(q)
d
(mod N),
46
gde je d = 2
k2
1 i
1
=

xE
__
Nx
2
k
_
+ 1
_

1
x
. Tvree sada sledi na
osnovu prethodne teoreme. 2
Dokazom Teoreme 4 i Teoreme 11 preostaju jox sluqajevi p
k
, za p = 2
i k 2. ih razrexava sledea teorema, koja je posledica Teoreme 1:
Teorema 12. Za p = 2 i k = 1 vai
q
(N1)/2
(N) (mod N).
Za p = 2 i k = 2, ukoliko je N 1 (mod 4) vai
J(, )
(N1)/2
q
(N1)/4
(N)
1
(mod N),
a ukoliko je N 3 (mod 4) vai
J(, )
(N+1)/2
q
(N3)/4
(N) (mod N).
2
Teoremama 4, 11 i 12 dat je potpun analog Teoreme 5 iz 4.2. Test
Jakobijevim sumama izvodimo analogno kao i test Gausovim, samo xto
primenu Teoreme 5 prethodnog dela poglava zameujemo odgovarajuom
od Teorema 4, 11 ili 12 ovog poglava.
Zajedno sa testovima eliptiqkim krivama (koji su dati u posledem
poglavu) test Jakobijevim sumama se najqexe primeuje prilikom doka-
za primalnosti velikih brojeva. Ovim testom se moe dokazivati pri-
malnost brojeva sa vixe od 1000 cifara.
47
Deo 5
Testovi primalnosti sa delimiqnom
faktorizacijom
U praksi se najqexe ne koriste osnovni oblici testova primalnosti,
nego se meusobno kombinuju kako bi dali xto boe rezultate. U ovom
poglavu daemo mogua poboxaa algoritama ukoliko je poznata de-
limiqna faktorizacija broja n 1 ili n + 1.
5.1 Pepinov test primalnosti
Kao xto je napomenuto u uvodu, jox od davnina udi su tragali za for-
mulom za proste brojeve ili za formulom koja daje neke proste brojeve.
Tako su nastali i Fermaovi brojevi F
k
= 2
2
k
+1, za koje je Ferma mislio
da su prosti. Meutim, iako egova pretpostavka nije taqna (F
5
nije
prost), od velike je vaosti ispitati da li je neki Fermaov broj prost.
Prvo emo dati Lukasovu
1
teoremu:
Teorema 1. Ako su a i n > 1 prirodni brojevi takvi da je
a
n1
1 (mod n) i a
n1
q
, 1 (mod n) za sve proste brojeve q [ n 1,
onda je n prost broj.
Dokaz. Drugi uslov garantuje da red elementa a u Z

n
nije pravi delilac
broja n 1, xto nam zajedno sa prvim uslovom daje da je taj red jednak
n 1. Meutim, kako je n 1 (n) jedino ukoliko je n prost broj (tada
vai jednakost), to je jasno n prost broj. 2
Sada moemo dati i test primalnosti za Fermaove brojeve:
1
Francois

Edouard Anatole Lucas - francuski matematiqar 1841-1891
48
Teorema 2. Neka je k 1. Broj F
k
= 2
2
k
+ 1 je prost ako i samo ako je
3
(F
k
1)/2
1 (mod F
k
).
Dokaz. Pretpostavimo prvo da je F
k
prost broj. Iz Ojlerovog kriterijuma
i Gausovog zakona reciprociteta je
3
(F
k
1)/2

_
3
F
k
_
= (1)
F
k
1
2

31
2
_
F
k
3
_
=
_
2
3
_
= 1 (mod F
k
),
gde pretposleda jednakost vai iz qienice da je 2
2
k
1 (mod 3).
Obrat teoreme je direktna posledica Teoreme 1. 2
Ovaj test poznat je kao Pepinov test. Najvei broj za koji je ovim
testom odreeno da li je prost je F
24
. Taj broj je sloen, a interesantno
je da su takvi i svi brojevi F
k
, za 5 k 24, za koje je odreeno da li su
prosti ili sloeni.
5.2 Testovi sa delimiqnom faktorizacijom broja n 1
Neka za prirodan broj n koji ispitujemo znamo da je n 1 = FR, gde je
faktorizacija broja F poznata. Sledea teorema nam daje osnovu testa:
Teorema 1. (Poklingtonova
2
teorema) Neka je a prirodan broj takav
da je
a
n1
1 (mod n) i (a
(n1)/q
1, n) = 1 za sve proste q [ F. (1)
Tada je svaki prost delilac broja n kongurentan sa 1 po modulu F.
Dokaz. Neka je r neki delilac broja n. Posmatrajmo broj a
R
. Kako je iz
prve kongruencije (a
R
)
F
1 (mod r), to je poredak broja a
R
delilac broja
F. Iz drugog uslova zakuqujemo da poredak ne moe biti niti jedan
pravi delilac od F, pa je poredak jednak F. Samim tim F [ r 1, xto je
i trebalo dokazati. 2
Ukoliko je F

n iz prethodne teoreme moemo zakuqiti da je n


prost broj. Iz naredne teoreme sliqan rezultat imamo i za mae vre-
dnosti F:
Teorema 2. Neka vai (1),
3

n F <

n i neka je n = c
2
F
2
+ c
1
F + 1, gde
su c
1
, c
2
[0, F 1]. Tada je n prost ako i samo ako c
2
1
4c
2
nije kvadrat.
Dokaz. Kako su svi prosti delioci broja n oblika aF +1, to n zaista ima
datu prezentaciju u bazi F, a kako je F
3

n, to n moe imati najvixe


dva prosta faktora.
2
Henry Cabourn Pocklington- engleski matematiqar 1870-1952
49
Pretpostavimo da n nije prost, tj. da je n = pq, gde je p = aF + 1 i
q = bF + 1. Samim tim
c
2
F
2
+c
1
F + 1 = abF
2
+ (a +b)F + 1.
Dokazaemo da je c
2
= ab i c
1
= a+b, odakle moemo zakuqiti da je c
2
1
4c
2
kvadrat.
Prvo, kako je F
3
pq > abF
2
, to je ab < F, a kako je ab a + b 1, to je
jasno a +b F, pri qemu jednakost moe vaiti jedino ukoliko je a = 1 i
b = F1 (ili obrnuto). Meutim, tada je n = (F+1)(F
2
F+1) = F
3
+1 > n,
pa mora biti a +b < F, xto dokazuje naxu tvrdu.
Neka je sada c
2
1
4c
2
= u
2
za neki prirodan broj u. Tada je jasno
n =
_
c
1
+u
2
F + 1
_

_
c
1
u
2
F + 1
_
,
pa je n sloen. Ovim je dokaz u potpunosti zavrxen. 2
Poslede dve teoreme daju jednostavan test primalnosti:
Algoritam 5.1. (Test sa delimiqnom faktorizacijom n 1)
1. [Pocklington test]
Izabrati proizvoljan broj a [2, n 1];
if (a
n1
, 1 (mod n)) ispisi SLO

ZEN;
for (prost q [ F)
d = (a
(n1)/q
1, n);
if (1 < d < n) ispisi d;
if (d = n) goto [Pocklington test];

2. [Test prve veli cine]


if (F

n) ispi si PROST;
3. [Test druge veli cine]
if (
3

n F <

n)
Predstaviti n = c
2
F
2
+c
1
F + 1;
if (c
2
1
4c
2
nije kvadrat) ispi si PROST;
else ispisi SLO

ZEN;

5.3 Mersenovi brojevi


Sliqno kao i u sluqaju Fermaovih brojevi nastao je i niz brojeva koji
se nazivaju Mersenovi
3
. Ovaj niz zadat je formulom M
n
= 2
n
1. Jasno je
3
Marin Mersenne - francuski matematiqar 1588-1648
50
da ukoliko je M
n
prost da i n mora biti prost. Sledea teorema daje do-
voan uslov da je Mersenov broj prost, a samim tim i test primalnosti
za Mersenove brojeve. Ova teorema poznata je kao Lukas - Lemerova
4
teo-
rema:
Teorema 1. Neka je n neparan broj i niz L
m
definisan sa L
1
= 4 i
L
m+1
= L
2
m
2.
Broj M
n
je prost ako i samo ako je L
n1
0 (mod M
n
).
Dokaz. Neka je q prost delilac broja M
n
i , F
q
2 nule polinoma
f(x) = x
2
2
(n+1)/2
x 1
nad F
q
. Iz Vietovih
5
formula je + = 2
(n+1)/2
i = 1.
Neka je L
m
ostatak broja L
m
po modulu q i V
m
=
m
+
m
. Dokaimo
indukcijom da je L
m
= V
2
m.
Za m = 1 dobijamo
V
2
=
2
+
2
= ( +)
2
2 = 2
n+1
+ 2 4 = L
1
(mod q),
xto je i trebalo dokazati. Pretpostavimo dae da je L
m
= V
2
m =
2
m
+
2
m
.
Tada je
L
m+1
= (
2
m
+
2
m
)
2
2 =
2
m+1
+
2
m+1
+ 2
2
m

2
m
2 =
2
m+1
+
2
m+1
= V
2
m+1.
Preimo na dokaz datog tvrea. Pretpostavimo prvo da je M
n
prost.
Dokaimo da je f(x) ireducibilan u F
Mn
, odnosno da diskriminanta =
2
p+1
+4 6 (mod M)
n
nije kvadrat u F
Mn
. Kako je
_
2
M
n
_
= 1 i
_
3
M
n
_
= 1,
to je
_

M
n
_
=
_
2
M
n
__
3
M
n
_
= 1, pa zaista nije kvadrat. Kako je f(x)
ireducibilan, to je Z
Mn
/(f(x))

= F
M
2
n
, pa je sa x
Mn
dat jedan automorfizam
ovog poa. Automorfizmi permutuju nule polinoma f(x), pa kako su one
x i 2
(n+1)/2
x, to je x
Mn
= 2
(n+1)/2
x. Specijalno, ukoliko prethodnu
jednakost zapisanu za pomnoimo sa dobijamo
Mn+1
= 1 (u F
M
2
n
) i
sliqno
Mn+1
= 1.
Sada je L
n
=
Mn+1
+
Mn+1
= 2. Kako je L
n
= L
2
n1
2, to mora biti
L
n1
0 (mod M
n
).
Dokaimo i drugi deo tvrea, tako xto emo pretpostaviti suprotno.
Neka je L
n1
0 (mod M
n
) i neka je q najmai prost delilac broja M
n
.
Tada je L
n1
0 (mod q) i q
2
n. Takoe
2
n1
+
2
n1
= 0, pa mnoeem
4
Derrick Henry Lehmer - ameriqki matematiqar 1905-1991
5
Francois Vi`ete - francuski matematiqar 1540-1603
51
sa
2
n1
dobijamo
2
n
= 1. Znaqi red elementa u F
q
2 je 2
n+1
, pa je
2
n+1
q
2
1 < 2
n
, xto je oqigledna kontradikcija. 2
Iz prethodne teoreme moemo zakuqiti da je vreme potrebno za test-
irae primalnosti broja M
n
jednako O(n
2+
).
Najvei poznati Mersenovi prosti brojevi su M
43112609
i M
37156667
, sa
12978189, odnosno 11185272 cifara. Ovo su i najvei poznati prosti bro-
jevi.
5.4 Testovi sa delimiqnom faktorizacijom broja n + 1
Sliqno kao u sluqaju da nam je poznata delimiqna faktorizacija broja
n 1, od koristi nam moe biti i poznavae delimiqne faktorizacije
broja n + 1. U ovom poglavu daemo jedan ovakav test.
Neka su a i b brojevi takvi da broj = a
2
4b nije kvadrat u Z
n
. Tada
koreni jednaqine x
2
ax +b = 0 moraju biti razliqiti i jedan od ih je
r =
a +

2
. Sledea teorema daje jedno interesantno svojstvo brojeva
r
k
:
Teorema 1. Vai r
k
=
V
k
+U
k

2
, gde su U
m
i V
m
nizovi zadati sa
U
0
= 0, U
1
= 1, U
k+2
= aU
k+1
bU
k
V
0
= 2, V
1
= a, V
k+2
= aV
k+1
bV
k
, k 0.
Dokaz. Opxti qlanovi ovih nizova dati su sa
U
k
=
r
k
r
k

, V
k
= r
k
+r
k
,
gde je r

=
a

2
, odakle sledi dato tvree. 2
Ovako definisani nizovi U
m
i V
m
imaju i sledee svojstvo koje
e nam biti od velike koristi za brzo raqunae U
k
:
Teorema 2. Za svako k 0 vai
U
2k
= U
k
V
k
, V
2k
= V
2
k
2q
k
.
Dokaz. Ovo tvrene direktno dobijamo zamenom opxtih qlanova nizova U
k
i V
k
. 2
Uvedimo brojeve r(m) sledeom definicijom:
52
Definicija 1. Za prirodan broj m, takav da je (m, 2b) = 1, sa r(m)
oznaqavamo minimalan broj r takav da je U
r
deivo sa m.
Iz opxteg qlana niza zakuqujemo da ukoliko k [ l tada i U
k
[ U
l
.
Samim tim, uzimajui u obzir prethodnu definiciju, zakuqujemo da je
U
k
deivo sa m ako i samo ako je k deivo sa r(m).
Sledea teorema daje analog Male Fermaove teoreme:
Teorema 3. Ako je p prost broj i =
_

p
_
, tada je U
p
0 (mod p), a
samim tim r(p) [ p .
Dokaz. Iz binomnog razvoja r
p
i r
p
dobijamo
U
p
=
p

k=0
_
p
k
_
a
pk

(k1)/2
(1 (1)
k
). ()
Razmotrimo dva sluqaja:
1

= 1. Moemo pretpostaviti da p a, jer je u suprotnom oqigledno U


p1
deivo sa p. Dae, kako je iz Vilsonove
6
teoreme
_
p1
k
_
(1)
k
(mod p), i
kako su u razvoju () jedini nenula qlanovi za neparne k, to je
U
p
2
(p3)/2

k=0
a
p12k1

k
2a
1
(p3)/2

k=0
b
k
(mod p),
gde je b

= a
2
(a
2
4b). Samim tim, iz
(p3)/2

k=0
b
k
=
b
(p1)/2
1
b

1
, dobijamo
U
p1
0 (mod p), jer je po Ojlerovom kriterijumu b
(p1)/2
1 (mod p).
2

= 1. Kako je
_
p+1
k
_
0 (mod p), za 2 k p 1, i kako su u razvoju ()
jedini nenula qlanovi za neparne k, to je
U
p
2(a
p
+a
(p1)/2
) 0 (mod p).
Posleda kongurencija sledi iz Male Fermaove teoreme i Ojlerovog
kriterijuma, jer nije kvadratni ostatak. 2
Neka su oznake kao u prethodnom delu poglava. Test se bazira na
sledeem analogu Poklingtonove teoreme:
Teorema 4. Neka je n prirodan broj, (n, 2b) = 1 i neka nije kvadrat u
Z
n
. Ako je F delilac broja n + 1 i ako vai
U
n+1
0 (mod n), (U
(n+1)/r
, n) = 1 za svaki prost r [ F,
6
John Wilson- engleski matematiqar 1741-1793
53
tada svaki prost delilac p od n zadovoava p
_

p
_
(mod F). Speci-
jalno, ukoliko je F >

n + 1, tada je n prost.
Dokaz. Neka je p najmai prost delilac broja n i =
_

p
_
. Prema Teo-
remi 3 r(p) [ p . Takoe, prema drugom uslovu teoreme, broj r(p) mora
biti deiv sa F. U suprotnom postojao bi prost broj q koji deli F, a ne
deli r(p), xto je nemogue, jer tada p deli U
(n+1)/q
. Iz prethdnog zakuqu-
jemo da F [ p , xto je i trebalo dokazati. Takoe, ako je F >

n + 1,
tada je i p >

n, pa kako je p najmai prost delilac od n, to mora biti
n = p. 2
Sliqni testovi se mogu dati i za brojeve oblika n
2
n1, n
2
+1, itd.
U sledeim zadacima daemo testove za dva specifiqna skupa brojeva:
Zadatak 1. Nai deterministiqki polinomijalni algoritam za testi-
rae brojeva iz skupa n[ (n) je stepen broja 2.
Rexee. Neka je n =
k

i=1
p
a
i
i
kanonska faktorizacija nekog broja iz datog
skupa. Kako je 2
t
= (n), to iz formule za (n) dobijamo
2
t
=
k

i=1
p
a
i
i
(p
i
1).
Kako 2
t
nije deiv niti jednim prostim brojem razliqitim od 2, to je
a
i
1 = 0 i p
i
1 = 2
n
i
, za sve 1 i k. Iz posledeg zakuqujemo da su
svi p
i
neki Fermaovi prosti brojevi, tj. p
i
= 2
2
m
i
+ 1. Samim tim, broj n
je prost ako i samo ako je Fermaov prost. Dakle, dovono je n testirati
Pepinovim testom. 2
Zadatak 2. Nai deterministiqki polinomijalni algoritam za testi-
rae brojeva iz skupa n[ (n) je stepen broja 2, gde je sa (n) oznaqen
zbir pozitivnih delilaca prirodnog broja n.
Rexee. Neka je n =
k

i=1
p
a
i
i
kanonska faktorizacija nekog broja iz datog
skupa. Kako je 2
t
= (n), to iz formule za (n) dobijamo
2
t
=
k

i=1
p
a
i
+1
i
1
p
i
1
. ()
Dokaimo da a
i
+1 ne moe imati neparnog delioca veeg od 1. U supro-
54
tnom, ako je a
i
+ 1 = s
i
t
i
, gde 2 s
i
, to je
p
a
i
+1
i
1
p
i
1
=
(p
s
i
i
1)(p
s
i
(t
i
1)
i
+p
s
i
(t
i
2)
i
+. . . + 1)
p
i
1
= (p
s
i
1
i
+p
s
i
2
i
+. . . + 1)(p
s
i
(t
i
1)
i
+p
s
i
(t
i
2)
i
+. . . + 1).
Meutim, tada je p
s
i
1
i
+ p
s
i
2
i
+ . . . + 1 neparan broj vei od 1, xto je
nemogue.
Zakuqujemo da je a
i
+ 1 = 2
n
i
, za sve 1 i k. Sada je p
a
i
+1
i
1 =
(p
i
1)

n
i
1
j=0
(p
2
j
i
+ 1), pa kako p
2
j
i
+ 1 nije deivo sa 4 za j 1, to je n
i
= 1,
za sve 1 i k. Sada se () svodi na
2
t
=
k

i=1
(p
i
+ 1),
pa je svaki p
i
neki Mersenov prost broj. Znaqi, n je prost broj ako i
samo ako je Mersenov prost broj. Samim tim, broj n je dovono testirati
Lukas-Lemerovim testom. 2
55
Deo 6
Test primalnosti pomou konaqnih poa
U prethodnom poglavu dali smo neke testove koji su se bazirali na
pretpostavci da znamo faktorizaciju broja n 1 (odnosno n +1). U ovom
poglavu daemo jedno uopxte, tj. test primalnosti ukoliko broj n
I
1
ima ,,veliki faktor, za neki ,,ne previxe veliki broj I.
6.1 Ireducibilni polinomi nad konaqnim poima
Neka je p prost broj. Primetimo da je za proizvoan broj k poe F
p
k
izomorfno pou Z
p
[X]/(f), gde je f Z
p
[X] proizvoan ireducibilan
polinom stepena k. Samim tim, korixeem poznatih osobina poa F
p
k
dobiemo i neke osobine prstena Z
p
[X], koje e nam biti od velike ko-
risti u nastavku poglava.
Osnovno pitae na koje emo dati odgovor u ovom potpoglavu je ko-
liko ima i kako odrediti ireducibilne polinome u Z
p
[X]. Poe F
p
k je
korensko poe polinoma x
p
k
x. Samim tim svi ireducibilni polinomi
u Z
p
[X] moraju biti delioci polinoma x
p
k
x. Uz to ihov stepen mora
deliti k, jer je F
p
d potpoe poa F
p
k ako i samo ako d [ k. Ako je sa
N
d
(p) oznaqen broj moniqnih ireducibilnih polinoma iz Z
p
[X] stepena d,
prethodno nam daje

k|d
dN
d
(p) = p
k
.
Prema Mebijusovoj
1
formuli inverzije dobijamo formulu za N
k
(p), tj.
N
k
(p) =
1
k

d|k
p
d
(k/d).
Kako je [(m)[ 1, za sve m N, to je za dovono velike p vrednost N
k
(p)
priblino
p
k
k
. Samim tim potrebno je isprobati O(k) sluqajno izabranih
1
August Ferdinand Mobius - nemaqki matematiqar 1790-1868
56
polinoma da bismo dobili ireducibilan polinom. Naravno, postava se
i pitae kako prepoznati ireducibilan polinom. Odgovor daje sledea
teorema:
Teorema 1. Polinom f Z
p
[X] stepena k je ireducibilan ako i samo ako
je
(f(x), x
p
j
x) = 1, za j = 1, 2, . . . , k/2|.
Dokaz. Polinom f ima ireducibilan faktor g stepena d ako i samo ako
g [ x
p
d
x i d [ k.
Pretpostavimo sada da je f ireducibilan. Ukoliko bi za neko 1 j
k/2| vailo g(x) [ (f(x), x
p
j
x), kako je f ireducibilan, to mora biti
f(x) = g(x), pa samim tim i j = d. Ovim dobijamo oqiglednu kontradi-
kciju.
Pretpostavimo da vai uslov iz teoreme i neka je g(x) ireducibilni
faktor od f(x) stepena d < k. Kako d [ k, to je d k/2|, xto je u supro-
tnosti sa datim uslovom. 2
Sada moemo dati algoritam za utvrivae ireducibilnosti u Z
p
[X]
polinoma f stepena k:
Algoritam 6.1. (Ireducibilnost polinoma)
g(x) = x;
for (1 j k/2|)
g(x) = g(x)
p
(mod f(x));
d(x) = (g(x), f(x));
if (d(x) ,= 1) vrati NE;

vrati DA;
6.2 Test primalnosti
Osnovu testa qini sledea teorema:
Teorema 1. Neka su dati brojevi n, I, F N takvi da je n > 1 i F [ n
I
1.
Neka su f, g Z
n
[x] takvi da je:
(1) f deli g
n
I
1
1 u Z
n
[x];
(2) f i g
(n
I
1)/q
1 su uzajamno prosti za sve proste q [ F;
(3) svaki od I elementarnih simetriqnih polinoma od g, g
2
, . . . , g
n
I
1
kongruentan je po modulu f nekom elementu iz Z
n
.
57
Tada je svaki prost delilac od n kongruentan sa n
j
po modulu F, za neko
j [0, I 1].
Dokaz. Neka je r neki prost delilac broja n. Neka je f
1
neki ireducibilni
faktor polinoma f nad F
r
. Tada je Z
r
[x]/(f
1
) = F poe. Neka je g element
poa F koji odgovara g. Po (1) je g
n
I
1
= 1, a po (2) g
(n
I
1)/q
,= 1 za svaki
prost q [ F. Samim tim red broja g u grupi F

je deiv sa F.
Posmatrajmo polinom p(T) = (T g)(T g
n
) . . . (T g
n
I1
) F[T]. Prema
(3) je p Z
r
[T], pa je za svaku nulu polinoma p i
r
nula tog polinoma.
Samim tim g
r
= g
n
j
za neko j [0, I 1], pa je jasno r n
j
(mod F), xto je
i trebalo dokazati. 2
Naravno, postava se pitae kako efikasno odrediti polinome f i g i
da li je to uopxte mogue. Sledea teorema daje odgovor na ovo pitae:
Teorema 2. Za svaki ireducibilni polinom f Z
n
[X] stepena deg f = I
i polinom g Z
n
[X] tako da je (f, g) = 1 zadovoeni su uslovi (1) i (3)
prethodne teoreme.
Dokaz. (1) je svakako zadovoeno, jer poe F

= (Z
n
/(f))

ima n
I
1 eleme-
nata. Za dokaz (3) posmatrajmo Galoaovu
2
grupu poa F nad Z
n
. Ona je
reda I i odreena je Frobenijusovim
3
automorfizmima
n
j
. Samim tim,
svaki simetriqan izraz po g, g
n
, g
n
2
, . . . , g
n
I1
fiksira se automorfizmom
na F, pa mora biti u fiksnom pou, odnosno u Z
n
. 2
Ostaje jox da g izaberemo tako da je zadovoeno i (2). Jasno je da
svaki genereator poa F zadovoava relaciju (2), a kako generator nije
texko odrediti sluqajnom pretragom to je ovaj naqin i efikasan. Naime,
postoji (n
I
1) generatora grupe F, pa je verovatnoa da je sluqajno
izabrani polinom generator jednaka
(n
I
1)
n
I
1
. Samim tim u O(ln ln(n
I
))
pokuxaja moemo odrediti traeni polinom g. Prema algoritmu iz
prethodnog dela poglava ni za odreivae ireducibilnog polinoma ste-
pena I nije potrebno previxe vremena, pa ima smisla napraviti test na
osnovu Teoreme 1.
Pretpostavimo da su dati prirodni brojevi n, I, F tako da F [ n
I
1
i F
3

n. Test primalnosti pomou konaqnih poa moemo dati sa:


Algoritam 6.2. (Test primalnosti pomou konaqnih poa)
1. [Odredivanje ireducibilnog polinoma stepena I]
Izabrati proizvoljan polinom monican g Z
n
[x] stepena I;
Ispitati da li je g ireducibilan;
2

Evariste Galois - francuski matematiqar 1811-1832


3
Ferdinand Gregor Frobenius - nemaqki matematiqar 1849-1917
58
2. [Odredivanje primitivnog korena]
Izabrati prozivoljan moni can g Z
n
[x], gde je deg g < I;
if (g
n
I
1
,= 1) ispi si SLO

ZEN;
for (prost q [ F)
if ((g
(n
I
1)/q
1, f) ,= 1) goto [Odredivanje primitivnog korena]

3. [Test simetri cnih polinoma]


Zapisati (T g)(T g
n
). . .(T g
n
I1
) = T
I
+c
I1
T
I1
+. . .+c
0
u Z
n
[T]/(f);
for (0 j < I)
if (deg c
j
> 0) ispi si SLO

ZEN;
4. [Tra zenje delioca]
for (1 j < I)
Odrediti delilac broja n koji je n
j
(mod F) i ako takav broj
postoji ispisi SLO

ZEN;

ispi si PROST;
Iz prethodnog nije texko zakuqiti da je vreme da algoritam ispixe
PROST jednako O(I
c
+ ln n
c
), za neku pozitivnu konstantu c. Neemo raz-
matrati vreme potrebno da algoritam ispixe SLO

ZEN, jer nam ovaj algo-


ritam slui samo za dokazivae da su brojevi za koje je (brim) proba-
bilistiqkim algoritmima iz treeg poglava utvreno da su verovatno
prosti, zaista prosti.
Sledee pitae koje se jasno postava je kako odabrati I tako da je F
dovono veliko. Naime, u algoritmu smo zahtevali da je Fn
1/3
, pa treba
odrediti da li postoji prihvativo I koje nam moe obezbediti faktor
od n
I
1 traene veliqine. Kako svaki prost broj p takav da p 1 [ I
deli n
I
1, Teorema 3 iz poglava 3.3 garantuje da postoji traeni broj
I mai (ln n)
c

ln ln n
. Ovo nam daje i ocenu sloenosti algoritma za proste
brojeve n:
Teorema 3. Postoji pozitivna konstanta c tako da je vreme za koje al-
goritam utvruje da je n prost broj mae od (ln n)
c ln ln n
.
Iako ovaj algoritam ima asimptotski istu sloenost kao algoritmi
iz Dela 4, u praksi se pokazuje da je on dosta loxiji, i da samim tim
nije praktiqan.
U sledeem zadatku pokazaemo kako se uz pomo poznavaa prostih
faktora broja n1 do neke granice B u nekim sluqajevima moe ispitati
primalnost broja n:
Zadatak 1. Neka je n 1 = FR rastavae broja n 1 tako da R nije
59
deiv prostim brojem maim od B. Ukoliko za prirodan broj a vai
a
n1
1 (mod n), (a
(n1)/q
, n) = 1 za sve proste q [ F
i (a
F
1, n) = 1, tada je svaki prost faktor od n vei od BF. Specijalno,
ukoliko je BF n
1/2
, tada je n prost.
Rexee. Neka je p najmai prost delilac broja n, i neka je h poredak
broja a po modulu p. Jasno h [ p 1. Iz drugog uslova F [ h, dok iz treeg
zakuqujemo da ne moe biti (h, R) = 1. Samim tim postoji prost broj
koji deli h i R, pa kako je on barem B i uzajamno je prost sa F, to je
p h + 1 > BF.
Ukoliko je BF

n, to je p >

n. Kako je p najmai prost delilac
broja n, to mora biti n = p, tj. n je zaista prost. 2
60
Deo 7
AKS test primalnosti
U 2002. godini tri indijska matematiqara, Manindra Agraval
1
, Niraj
Kajal
2
i Nitin Saksena
3
, ostvarili su ci ihovih prethodnika. Oni su
predloili deterministiqki algoritam polinomijalne sloenosti qija
se korektnost moe dokazati korixeem samo fakultetskih znaa iz
algebre. Ovaj algoritam i dokaz egove korektnosti bie izloeni u
ovom poglavu.
7.1 Ideja algoritma
Kao i kod mnogih prethodnih testova, ovaj algoritam zasniva se na sledeem
dobro poznatom identitetu:
Identitet. Neka su a i p uzajamno prosti prirodni brojevi. Tada je
broj p prost ako i samo ako je
(x a)
p
x
p
a (mod p). (1)
Dokaz. Neka je prvo p prost broj. Tada iz binomnog razvoja i qienice
da je
_
p
k
_
deivo sa p, za 1 k p 1, dobijamo (x a)
p
x
p
a
p
(mod p).
Traeno sada sledi na osnovu Male Fermaove teoreme.
Dokaimo i drugi smer. Pretpostavimo suprotno, tj. da je p sloen i
da q
k
| p, za neki prost broj q. Tada
_
p
q
_
nije deivo sa p, pa koeficijent
uz x
q
u binomnom razvoju leve strane nije 0. Ovim smo dobili eenu
kontradikciju, tj. broj p je prost. 2
1
Manindra Agrawal - indijski matematiqar 1981-
2
Neeraj Kayal - indijski matematiqar 1966-
3
Nitin Saxena - indijski matematiqar 1981-
61
Prema prethodnoj teoremi, da bismo dokazali da je p prost broj do-
vono je proveriti da li prethodni Identitet vai. Meutim, u naj-
gorem sluqaju moraemo da sraqunamo p koeficijenata leve strane jedna-
kosti, pa je vreme algoritma (p). Zato emo datu jednakost posmatrati
i po modulu polinoma oblika x
r
1. Jasno je da iz datog identiteta za
sve a i r mora vaiti jednakost
(x a)
p
x
p
a (mod x
r
1, p). (2)
Meutim, postoje i sloeni brojevi p za koje (2) vai za neke parove (a, r).
Jasno je da se data kongruencija moe proveriti u vremenu O(r
2
log
3
p),
ukoliko koristimo uzastopna stepenovaa, ili O(r log
2
p) korixeem
metoda iz drugog poglava. Dakle, osnovni problem je povoan odabir
broja r. U narednom poglavu pokazaemo kako emo to uqiniti.
Sledea teorema analitiqke teorije brojeva bie od velike koristi
prilikom odabira broja r. Napomenimo da e od sada za bazu svih loga-
ritama biti uziman broj 2.
Teorema 1. Neka je sa P(n) oznaqen najvei prost delilac broja n. Tada
postoji konstanta c > 0 i prirodan broj n
0
takav da za sve prirodne
brojeve x n
0
vai

p [ p je prost, p x i P(p 1) > x


2/3

c
x
log x
.
7.2 Algoritam i dokaz egove ispravnosti
Prikaimo prvo algoritam:
Algoritam 7.1. (AKS test primalnosti)
if (n oblika a
b
, b > 1) ispisati SLO

ZEN;
r=2;
while (r < n)
if ( NZD(n, r) ,= 1 ) ispisati SLO

ZEN;
if (r je prost)
q je najveci prost delilac od r 1;
if ( q 4

r log n ) i ( n
n1
q
, 1 (mod r) )
break;
r = r + 1;

for a = 1 to 2

r log n
if ( (x a)
n
, x
n
a (mod x
r
1, n) ) ispisati SLO

ZEN;
ispisati PROST;
62
Ci ovog poglava je dokaz sledee teoreme:
TEOREMA. Algoritam vraa vrednost PROST ako i samo ako je n prost.
Ovu teoremu dokazaemo u nekoliko koraka, kroz nekoliko teorema.
Sledea teorema objaxava izgled while ciklusa i bie od velike ko-
risti u sledeem poglavu. Sa o
r
(n) oznaqen je red broja n po modulu
r:
Teorema 1. Postoje pozitivne konstante c
1
i c
2
za koje postoji prost
broj r u intervalu
[c
1
(log n)
6
, c
2
(log n)
6
]
takav da r 1 ima prost faktor q 4

r log n i q [ o
r
(n).
Dokaz. Iskoristiemo Teoremu 1 prethodnog dela poglava. Broj prostih
brojeva r (zvaemo ih specijalni) izmeu c
1
(log n)
6
i c
2
(log n)
6
takvih da je
P(r 1) > (c
2
(log n)
6
)
2
3
> r
2
3
za dovono veliko r je
broj specijalnih prostih u [1, c
2
(log n)
6
] broj prostih u [1, c
1
(log n)
6
]

cc
2
(log n)
6
7 log log n

6c
1
(log n)
6
6 log log n
(po Teoremi 1 iz 1.7)
=
(log n)
6
log log n
_
cc
2
7
c
1
_
.
Izaberimo c
1
i c
2
tako da je izraz u zagradi, c
3
, pozitivan. Neka je
x = c
2
(log n)
6
. Posmatrajmo proizvod
= (n 1)(n
2
1) (n
x
1
3
1).
Kako je svaki prirodan broj m deiv sa najvixe log m razliqitih prostih
brojeva, to sadri najvixe log n + log n
2
+ . . . + log n
x
1
3
< x
2
3
log n prostih
faktora. Kako je
x
2
3
log n <
c
3
(log n
6
)
log log n
,
to postoji specijalni prost broj r koji ne deli .
Primetimo da ukoliko izaberemo c
1
4
6
, to je r upravo traeni broj.
Naime, r 1 ima prost faktor q r
2
3
4

r log n, a q [ o
r
(n) jer je inaqe
o
r
(n)
r 1
q
< r
1
3
, pa bi bilo deivo sa r. 2
Sada nije texko videti da algoritam vraa taqnu vrednost ukoliko
je n prost broj:
Teorema 2. Ukoliko je n prost, algoritam vraa PROST.
63
Dokaz. Kako je za sve r c
2
(log n)
6
i n prost zaista (x, r) = 1, to se u
while ciklusu ne moe dobiti SLO

ZEN. Prema prethodnoj teoremi ni u for


ciklusu se ne moe dobiti SLO

ZEN. 2
Iz Teoreme 2 vidimo da je potrebno jox samo ispitati ispravnost
algoritma za sloene brojeve n. Obratimo pau na r koje dobijamo iz
while ciklusa (ovo je upravo jedan od brojeva r koji se dobijaju iz Teoreme
1). Neka je n =

i
i
faktorizacija broja n na proste faktore. Kako
o
r
(n) [ NZS(o
r
(p

i
i
)
i
), to postoji prost delilac p od n za koji q [ o
r
(p

),
pa samim tim i p [ o
r
(p), jer je (, r) = 1. Neka je u nastavku p upravo ovaj
prost broj.
Po zavrxetku while ciklusa, for ciklus uzima dobijenu vrednost za r
i raquna binome (x a)
n
, za 1 a 2

r log n. Prema delu (v) Teoreme 1 iz


1.6 postoji faktor polinoma
x
r
1
x 1
, polinom h(x), koji je stepena d = o
r
(p)
i ireducibilan u F
p
. Kako
(x a)
n
x
n
a (mod x
r
1, n) (x a)
n
x
n
a (mod h(x), p),
to identiteti sa binomima vae i u pou F
p
[X]/h(x). Sledea teorema
karakterixe grupu koju qine l = 2

r log n binoma x a, za 1 a l:
Teorema 3. U pou F
p
[X]/h(x), grupa generisana polinomima (x a), za
1 a l, tj.
G =

1al
(x a)
a
[
a
0 ,
je cikliqna i reda veeg od n
2

r
.
Dokaz. Kako je G podgrupa grupe (F
p
[X]/h(x))

, ona je cikliqna.
Dokaimo da su svi elemnti skupa
S =

1al
(x a)
a
[

1al

a
d 1,
a
0,
razliqiti u F
p
[X]/h(x). Kako je r > q > 4

r log n > l, to ne postoje dva a


koja su kongruntna po modulu p, jer je inaqe p < l < r, xto je nemogue
s obzirom da onda u algoritmu mora biti (p, n) = 1. Znaqi, svaka dva
elementa u S su razliqita po modulu p, pa kako imaju stepen mai od d,
to su oni razliqiti i u F
p
[X]/h(x). Kardinalnost skupa S je
_
l +d 1
l
_
=
(l +d 1)(l +d 2) d
l !
>
_
d
l
_
l
.
Kako je d q = 2l i kako je S podskup od G, to je dokaz u potpunosti
zavrxen. 2
64
Neka je nadae g(x) generator grupe G i neka je
I
g(x)
= m[ g(x)
m
g(x
m
) (mod x
r
1, p).
Sledee teoreme pokazuju osobine skupa I
g(x)
:
Teorema 4. Skup I
g(x)
zatvoren je za mnoee.
Dokaz. Neka je m
1
, m
2
I
g(x)
. Tada je
g(x)
m
1
g(x
m
1
) (mod x
r
1, p) g(x)
m
2
g(x
m
2
) (mod x
r
1, p),
pa zamenom x
m
1
u drugu jednakost dobijamo
g(x
m
1
)
m
2
g(x
m
1
m
2
) (mod x
m
1
r
1, p) g(x
m
1
)
m
2
g(x
m
1
m
2
) (mod x
r
1, p),
jer r [ m
1
r. Sada je jasno i
g(x)
m
1
m
2
g(x
m
1
)
m
2
g(x
m
1
m
2
) (mod x
r
1, p),
xto zavrxava nax dokaz. 2
Teorema 5. Neka je red elementa g(x) u F
p
[X]/h(x) jednak o
g
i m
1
, m
2

I
g(x)
. Tada
m
1
m
2
(mod r) m
1
m
2
(mod o
g
).
Dokaz. Kako iz m
1

r
m
2
sledi x
m
1
x
m
2
(mod x
r
1, p), to je
g(x)
m
1
g(x)
kr
= g(x)
m
2
g(x
m
2
) g(x
m
1
) (mod x
r
1, p),
gde je m
2
= m
1
+kr. Kako g(x) , 0 to se g(x)
m
1
moe skratiti sa obe strane
kongruencije, tj.
g(x)
kr
1 (mod x
r
1, p).
Znaqi o
g
[ kr, pa samim tim m
1
m
2
(mod o
g
). 2
Prethodna teorema bie od velikog znaqaju u dokazu sledee teoreme,
kojom zavrxavamo dokaz ispravnosti algoritma:
Teorema 6. Ukoliko je n sloen, algoritam vraa SLO

ZEN.
Dokaz. Pretpostavimo suprotno, tj. da algoritam vraa PROST. Tada u
for ciklusu uvek vai jednakost, tj. za sve 1 a 2

r log n,
(x a)
n
x
n
a (mod x
r
1, p).
Kako je g(x) proizvod nekih binoma (x a), za 1 a l, to je prema pret-
postavci
g(x)
n
g(x
n
) (mod x
r
1, p).
65
Znaqi n I
g(x)
. Prema delu (a) Teoreme 1 iz 1.6 je p I
g(x)
i trivi-
jalno 1 I
g(x)
. Dokaimo korixeem Teoreme 4 da je ovo u suprotnosti
sa Teoremom 5. Naime, prema ovoj teoremi postoji najvixe r elemenata
skupa I
g(x)
koji su mai od o
g
, a mi emo dokazati da ih pod datim pret-
postavkama mora biti vixe.
Posmatrajmo skup
E = n
i
p
j
[ 0 i, j [

r].
Prema Teoremi 4 je E I
g(x)
. Kako je [E[ = (1 + [

r])
2
> r, to postoje
n
i
1
p
j
1
i n
i
2
p
j
2
, gde je (i
1
, j
1
) ,= (i
2
, j
2
), takvi da je n
i
1
p
j
1

r
n
i
2
p
j
2
. Tada prema
Teoremi 5 vai i n
i
1
p
j
1
n
i
2
p
j
2
(mod o
g
) odnosno
n
i
1
n
j
2
p
j
2
j
1
(mod o
g
),
jer je (p, o
g
) = 1. Meutim, kako je o
g
n
2

r
, a n
i
1
< n

r
i n
|i
2
|
p
|j
2
j
1
|
n

r
p

n
2

r
, to se prethodna kongruencija moe zapisati i kao jednakost, pa je p
jedini prost delilac broja n. Meutim, tada je ili n = p ili n = p
k
, za
k 2, a u oba sluqaja dobijamo kontradikciju. 2
7.3 Analiza sloenosti algoritma
Neka je sa

O(t(n)) oznaqeno O(t(n)poly(log t(n))).
Teorema 1. Sloenost algoritma je

O(log
12
n).
Dokaz. Prvi korak algoritma, tj. odreivae da li je n potpun stepen za-
hteva vreme O(log
3
n). Prema Teoremi 2 prethodnog poglava while ciklus
izvrxi O(log
6
n) iteracija.
Odredimo koliko je vreme potrebno za izvrxee jedne iteracije u
while ciklusu. Za prvi korak while ciklusa potrebno je asimptotsko
vreme poly(log log r). Za sledea dva koraka (ispitivae da li je r prost
i odreivae najveeg prostog delioca od r 1) potrebno je vreme r
1
2

poly(log log n). Za sledea tri koraka while ciklusa potrebno je vreme
poly(log log n), pa je ukupno vreme while ciklusa

O(log
6
n r
1
2
) =

O(log
9
n).
Odredimo i vreme for ciklusa. Za jednu iteraciju, tj. za raqu-
naa koeficijenata u (xa)
n
x
n
a (mod x
r
, n), korixeem uzastopnih
kvadriraa i brzog Furijevog mnoea potrebno je asimptotsko vreme

O(log n r log n). Znaqi, ukupno vreme for ciklusa je



O(r
3
2
log
3
n) =

O(log
12
n),
xto je i vreme algoritma. 2
Meutim, u praksi ovaj algoritam radi mnogo bre. Dokazaemo
da pod pretpostavkom sledee hipoteze ovaj algoritam radi u vremenu

O(log
6
n).
66
Definicija 1. Ukoliko su r i
r 1
2
oba prosti, broj
r 1
2
nazivamo
Sofi-ermenov
4
prost broj. Broj r nazivaemo ko-Sofi-ermenov prost
broj.
Hipoteza. Broj ko-Sofi-ermenovih prostih brojeva asimptotski se
ponaxa kao
Dx
log
2
x
, gde je D = 0.660 . . . konstanta prostih brojeva blizanaca.
Pod pretpostavkom da je prethodna hipoteza taqna, dokazaemo slede-
u teoremu, koju kasnije koristimo umesto slabije Teoreme 2 iz pretho-
dnog poglava:
Teorema 2. Postoji specijalan prost broj r u intervalu
[64 log
2
n, c
2
log
2
n],
za sve n > n
0
, gde su n
0
i c
2
pozitivne konstante.
Dokaz. Primetimo da ukoliko je q =
r 1
2
Sofi-ermenov prost broj,
tada je o
r
(n) 1, 2, q, r1. Kako n
2
1 moe imati najvixe 2 log n razliqi-
tih prostih delilaca, to je i broj prostih brojeva za koji je o
r
(n) 1, 2
mai od 2 log n. Posmatrajmo ko-Sofi-ermenove proste brojeve r koji
nisu meu ovim brojevima. Dovono je da
r 1
2
4

r log n, tj. r 64 log


2
n.
Dokaimo zato da za dovono veliku konstantu c
2
postoji barem jedan
ko-Sofi-ermenov prost broj u intervalu [64 log
2
n, c 2 log
2
n]. Prema
prethodnoj hipotezi konstantu c
2
je dovono izabrati tako da je
Dc
2
log
2
n
log
2
(c
2
log
2
n)
>
D 64 log
2
n
log
2
(64 log
2
n))
+ 2 log n.
Za dovono veliko n posleda nejednakost sigurno vai za c
2
> 64 +
8
D
.2
Sada je pod pretpostavkom Hipoteze vreme algoritma jednako

O(r
1
2
(log
2
n))(za while ciklus) +

O(r
3
2
log
3
n)(za for ciklus) =

O(log
6
n).
4
Marie-Sophie Germain- francuska matematiqarka 1776-1831
67
Deo 8
Eliptiqke krive i testovi primalnosti
U do sada datim testovima raqunaa smo vrxili u poima F
p
, F
p
[
n
] ili
F
p
[X]/(f). U ovom delu razmotriemo eliptiqke krive, te za ih uvesti
odgovarajue grupe i te grupe koristiti u daim raqunaima.
8.1 Eliptiqke krive
Poimo od definicije eliptiqke krive:
Definicija 1. Neka je K proizvono poe karakteristike razliqite
od 2 i 3. Ukoliko polinom x
3
+ax +b (a, b K) nema vixestrukih korena,
tada pod eliptiqkom krivom nad poem K podrazumevamo skup taqaka
(x, y) K koji zadovoavaju jednaqinu
y
2
= x
3
+ax +b
dopuen taqkom O koju nazivamo taqka u beskonaqnosti.
Komentari. (1) Uslov da polinom x
3
+ ax + b nema vixestrukih korena
ekvivalentan je regularnosti krive F(x, y) = y
2
x
3
ax b, odnosno da
parcijalni izvodi
F
x
i
F
y
budu svuda razliqiti od 0 (izvode polinoma
nad proizvonim poem moemo uvesti na uobiqajeni naqin). Poslede
je ekvivalentno sa 4a
3
+ 27b
2
,= 0. Broj 4a
3
+ 27b
2
nazivamo diskriminanta
eliptiqke krive.
(2) Eliptiqke krive moemo posmatrati u projektivnoj ravni, kao krivu
zadatu jednaqinom
Y
2
= X
3
+aXZ
2
+bZ
3
.
Taqka O odgovara taqki (0 : 1 : 0).
Kao xto smo i naveli u uvodu ovog poglava, eliptiqku krivu emo
snabdeti operacijom sabiraa, tako da tako dobijena struktura bude
68
grupa.
Definicija 2. Neka su date taqke P = (x
1
, y
1
) i Q = (x
2
, y
2
) eliptiqke
krive E. Ukoliko je x
2
= x
1
i y
2
= y
1
tada je P + Q = O. Inaqe P + Q =
(x
3
, y
3
), gde je
x
3
=
2
x
1
x
2
y
3
= (x
1
x
3
) y
1
i
=
_
(y
2
y
1
)(x
2
x
1
)
1
, P ,= Q
(3x
2
1
+a)(2y
1
)
1
, P = Q
Konaqno P +O = O +P = P.
Teorema 1. Struktura (E(Z
p
), +) je komutativna grupa.
Dokaz. Iz definicije sabiraa jasno je da je neutral za sabirae O i
da je inverz taqke (x
1
, y
1
) taqka (x
1
, y
1
). Takoe, komutativnost direktno
sledi iz definicije sabiraa, pa je dovono proveriti da vai aso-
cijativni zakon. Ovo se neposredno proverava korixeem formula iz
definicije sabiraa. 2
O broju elemenata i strukturi grupe E(Z
p
) govore sledee teoreme:
Teorema 2. (Haseova
1
teorema) Ako je [E(Z
p
)[ = p + 1 t, tada je
[ t [ 2

p.
Teorema 3. Vai
E(Z
p
)

= Z
n
1
Z
n
2
,
gde n
1
[ n
2
i n
1
[ p 1.
Na sledeem primeru pokazaemo primenu prethodnih teorema:
Zadatak 1. Neka su E i E

eliptiqke krive nad F


229
zadate jednaqinama
y
2
= x
3
1, y
2
= x
3
8.
Odrediti [E[, [E

[ i strukture ovih grupa.


Dokaz. Neka je y
2
= x
3
+ ax + b proizvona eliptiqka kriva nad F
p
. Iz
definicije Leandrovog simbola broj taqaka na ovoj krivoj moemo dati
sa
1 +
p1

x=0
_
1 +
_
x
3
+ax +b
p
__
= p + 1 +
p1

x=0
_
x
3
+ax +b
p
_
.
1
Helmut Hasse - nemaqki matematiqar 1898-1979
69
Odredimo prvo [E[ i strukturu grupe E. Neka je
(x
3
1)
(2291)/2
=
342

i=0
a
i
x
i
.
Prema prethodnom, koristei Ojlerov kriterijum, broj taqaka na E je
230 +
228

x=0
_
x
3
1
229
_
1 +
228

x=0
(x
3
1)
114
= 1 +
342

i=0
228

x=0
a
i
x
i
(mod 229).
Kako je svako x F

229
oblika g
k
, gde je g primitivni koren po modulu 229,
to je
228

x=0
x
i

229
_
0, 228 i
1, 228 [ i
.
Samim tim vai
[E[ 1 a
228
= 1
_
114
76
_
(mod 229).
Kako je [[E[ 230[ 2

229, to je [E[ = 252.


Odredimo i strukturu grupe E. Prvo, svaka taqka P = (x, y) iz E
takva da je (2) P = O je jednaka O ili je y = 0. Znaqi, ukoliko je P ,= O
mora vaiti 0 = x
3
1 = (x1)(x
2
+x+1). Ova jednaqina ima tri rexea
ako i samo ako jednaqina x
2
+ x + 1 = 0 ima rexee u F
229
. Mnoeem sa
4 dobijamo ekvivalentnu jednaqinu (2x +1)
2
+3 = 0, a ona ima rexea jer
je
_
3
229
_
= 1. Samim tim, u E postoje barem tri elementa reda 2, pa E
nije cikliqna. Znaqi E

= Z
n
1
Z
n
2
, gde n
1
[ n
2
, n
1
[ 228 i n
1
n
2
= 252. Iz
ovih relacija je jasno da n
1
[ 6, a iz prethodnog da 2 [ n
1
.
Odredimo i broj elemenata reda 3. Neka je P = (x, y) taqka reda 3.
Tada je x-koordinata taqke 2P jednaka x-koordinati taqke P, odnosno
9x
4
4y
2
2x = x. Zamenom y
2
= x
3
1 dobijamo x(5x
3
+ 4) = 0. Kako se sva
qetiri rexea ove jednaqine nalaze na krivi, to postoji 8 taqaka reda
3. Odavde zakuqujemo da 3 [ n
1
, pa je jasno
E

= Z
6
Z
42
.
Na sliqan naqin kao i u sluqaju krive E, pronalazimo da je
[E

[ 1 2
114
_
114
38
_
(mod 229),
odnosno zbog [[E

[ 230[ 2

229, da je [E

[ = 252. Takoe, na sliqan naqin


zakuqujemo i da jednaqina 0 = x
3
8 ima tri rexea, pa na krivoj postoje
70
tri taqke reda 2. Samim tim, E

nije cikliqna i ukoliko je E


= Z
n
1
Z
n
2
,
to 2 [ n
1
, n
2
. Takoe, zakuqujemo i da taqka P = (x, y) reda 3 zadovoava
jednaqinu
x(5x
4
+ 32) = 0.
Meutim, rexee x = 0 ove jednaqine se ne nalazi na krivoj, jer
_
8
229
_
=
1, pa postoji najvixe 6 taqaka reda 3. Samim tim 3 n
1
, pa n
1
[ 4. Znaqi,
dovono je odrediti da li je n
1
= 2 ili n
1
= 4. Poslede odreujemo
posmatraem broja taqaka reda 4. Za svaku taqku P = (x, y) reda 4 je
y-koordinata taqke (2) P jednaka 0, odnosno
y +
3x
2
2y
_
3x
9x
4
4y
2
_
= 0.
Sreivaem dobijamo jednaqinu x
6
32x
3
64 = 0, koja je ekvivalentna
sa x
6
4x
3
1 = 0. Ova jednaqina ima 6 rexea, kojima odgovaraju taqke
reda 2 i 4. Samim tim 4 [ n
1
, odnosno
E


= Z
4
Z
52
.
2
8.2 Odreivae broja taqaka na E(Z
p
)
U ovom poglavu daemo polinomijani algoritam za raqunae reda grupe
E(F
p
).
Primetimo da su koordinate zbira dve taqke eliptiqke krive raci-
onalne funkcije koordinata sabiraka. Samim tim, homomorfizam na
F
p
indukovae prirodno i homomorfizam na E(F
p
). Posmatrajmo zato
Frobenijusov homomorfizam i odgovarajui homomorfizam na E(F
p
)
((x, y) = (x
p
, y
p
) i (O) = O). Ukoliko sa (n) P oznaqimo zbir n taqaka
P, vai sledea teorema:
Teorema 1. Ukoliko je [E(F
p
)[ = p + 1 t, tada je

2
(P) (t) (P) + (p) P = 0,
za svaku taqku P E(F
p
), gde je F
p
algebarsko zatvoree poa F
p
.
Razmotrimo sada taqke P E(F
p
) takve da je (n) P = O, za dati
prirodan broj n. Za ovaj skup, u oznaci E[n], vai:
Teorema 2. (1) E[n] je podgrupa grupe E(F
p
).
(2) slika E[n] u sebe.
71
Dokaz. (1) Iz komutativnosti, ukoliko je (n) P = O i (n) Q = O jasno je
i (n) (P +Q) = O.
(2) Kako je sabirae racionalna funkcija na koordinatama i homomo-
rfizam, to iz (n) P = O zaista sledi (n) (P) = O. 2
Prethodne dve teoreme daju

2
(P) (t mod n) (P) + (p mod n) P = 0, za sve P E[n]. ()
Osnovna ideja algoritma je da za razne (male) vrednosti odredimo t mod
n isprobavaem. Sledei polinomi pomoi e u testirau uslova ():
Definicija 1. Eliptiqkoj krivoj E(F
p
) sa jednaqinom Y
2
= X
3
+aX +b
dodelimo polinome
n
(x, y) F
p
[X, Y ]/(Y
2
X
3
aXb) na sledei naqin:

1
= 1,
0
= 0,
1
= 1,
2
= 2Y,

3
= 3X
4
+6aX
2
+12bXa
2
,
4
= 4Y (X
6
+5aX
4
+20bX
3
5a
2
X
2
4abX8b
2
a
3
),
odnosno u ostalim sluqajevima sa

2n
=
n
(
n+2

2
n1

n2

2
n+1
)/(2Y ),

2n+1
=
n+2

3
n

3
n+1

n1
.
Osnovne osobine polinoma
n
, kao i ihovu vezu sa (n) P daje sledea
teorema. Dokaz teoreme izvodi se direktno iz definicije sabiraa u
E(F
p
) i date rekurentne relacije za polinome
n
.
Teorema 3. Za neparno n
n
(X, Y ) je polinom samo po X, a za parno n

n
(X, Y ) je Y puta polinom samo po X. Ako je n neparno i p n vai
deg
n
= (n
2
1)/2, a ako je n parno i p n stepen
n
po X je (n
2
4)/2. Za
taqku (x, y) E(F
p
) E[2] vai (n) (x, y) = O ako i samo ako je
n
(x, y) = 0.
Takoe, ako je (x, y) E(F
p
) E[n] vai
(n) (x, y) =
_
x

n1

n+1

2
n
,

n+2

2
n1

n2

2
n+1
4y
3
n
_
.
2
Iz relacije () jasno je da postoji jedinstven prirodan broj t [0, l 1]
tako da je
(x
p
2
, y
p
2
) + (p mod l) (x, y) = (t) (x
p
, y
p
). za sve (x, y) E[l] O. ()
Ukoliko bismo ovo jedinstveno t mogli da odredimo, znali bismo i da je
ostatak pri deeu E(F
p
) sa l jednak p + 1 t.
72
Sada moemo da postupamo na sledei naqin. Taqke na krivi pred-
stavimo kao parove polinoma po X i Y . Polinome redukujemo po Y
2
X
3

aX b, tako da je stepen Y najvixe 1. Kako su sve taqke u E[n], polinome


zatim redukujemo po
n
koje izraqunavamo iz prethodne teoreme.
Na kraju dajemo naqin na koji moemo izbei eksplicitno izraqu-
navae inverza polinoma (koje inaqe radimo Euklidovim algoritmom).
Razmatraemo racionalni oblik eliptiqke krive. Taqku emo posma-
trati kao P = (U/V, F/G), gde su U, V , F i G polinomi po promenivama
X i Y . Ispostava se da uz date redukcije, taqke koje razmatramo moraju
biti oblika
P = (N(X)/D(X), Y M(X)/C(X)).
Sada moemo dati i sam algoritam. Algoritam vraa ostatak pri
deeu E(F
p
) sa l, gde je l prost broj kojim vrximo testirae (l je mnogo
mae od p). Ovaj algoritam zatim ponavamo za razne l, sve dok

l nije
vee od 4

p i zatim Kineskom teoremom o ostacima odreujemo E(F


p
).
Algoritam 8.1. (Odreivae [E(F
p
)[)
1. [Slu caj l = 2]
if (l = 2)
g(X) = (X
p
X, X
3
+aX +b); //NZD polinoma
if (g(X) = 1) vrati 0;
vrati 1;

2. [Relacija (**)]
p = p mod l;
u(X) = X
p
mod (
l
, p);
v(X) = (X
3
+ax +b)
(p1)/2
mod (
l
, p);
P
0
= (u(X), Y v(X));
P
1
= (u(X)
p
mod (
l
, p), Y v(X)
p+1
mod (
l
, p));
Pomo cu Teoreme 3 predstavi P
2
= (p) (X, Y )
u obliku (N(X)/D(X), Y M(X)/C(X));
if (P
1
+P
2
= O) vrati 0;
P
3
= P
0
;
for (1 k l/2)
if (X-koordinate P
1
+P
2
i P
3
jednake)
if (Y -koordinate jednake) vrati k;
vrati l k;

P
3
= P
3
+P
0
;

73
Vreme rada ovog algoritma je O(ln
8
n). Paivijim biraem brojeva
l i polinoma f
l
koji dele
l
, vreme rada algoritma se moe spustiti na
O(ln
5+
n).
8.3 Test primalnosti pomou eliptiqkih krivih
Kao xto je u prethodnim poglavima napomenuto, za test primalnosti je
dovono da za dati broj, koji je skoro sigurno prost, dokazuje da je on
zaista prost. Zato emo broj koji testiramo tretirati kao prost broj.
Osnovu testa qini sledei analog Poklingtonove teoreme:
Teorema 1. Neka je N > 1 ceo broj uzajamno prost sa 6 i E eliptiqka
kriva po modulu N. Ukoliko ceo broj m i taqka P E(Z
N
) zadovoavaju
uslove:
(1) Postoji prost delilac q od m takav da je
q > (
4

N + 1)
2
;
(2) (m) P = O;
(3) (m/q) P = (x : y : t) gde je t Z

N
;
tada je N prost.
Dokaz. Neka je p najmai prost delilac broja N. Redukovaem po modulu
p zakuqujemo da je red taqke P u grupi E(Z
p
) delilac broja m, ali da
nije delilac broja m/q. Kako je q prost zauqujemo da je red taqke P u
E(Z
p
) deiv sa q, pa je q [E(Z
p
)[. Prema Haseovoj teoremi zakuqujemo
da je q < (

p + 1)
2
. Sada, ukoliko je N sloen vai

N p, xto dovodi
do oqigledne kontradikcije. 2
Da bismo ovu teoremu mogli praktiqno da iskoristimo moramo znati
tri stvari: kako izabrati eliptiqku krivu, kako odrediti taqku P i
kako nai broj m, naravno ukoliko oni uopxte postoje. Sledea teorema
daje nam odgovor na tree, ujedno i najtee pitae:
Teorema 2. Neka je N prirodan broj uzajamno prost sa 6, E eliptiqka
kriva nad Z
N
i m = [E(Z
N
)[. Ukoliko je m prost delilac broja q takav
da je
q > (
4

N + 1)
2
,
tada postoji taqka P E(Z
N
) tako da je
(m) P = O i (m/q) P = (x : y : t) gde je t Z

N
.
Dokaz. Kako je m red grupe E(Z
N
), to je prvi uslov zadovoen za sve taqke
P E(Z
N
). Kako je u algoritmu pretpostaveno da je N prost, dovono
je da P odredimo tako da (m/q) P ,= O.
74
Pretpostavimo da eena taqka ne postoji. Tada red svakog elementa
u grupi E(Z
N
) mora biti delilac broja m/q, pa je eksponent grupe E(Z
N
)
delilac broja m/q. Dae, prema Teoremi 3 prvog dela ovog poglava,
vai
E(Z
N
) = Z
d
1
Z
d
2
, d
2
[ d
1
.
Prema tome eksponent grupe E(Z
N
) je d
1
, pa je m = [E(Z
N
)[ = d
1
d
2
d
2
1

(m/q)
2
, odnosno q
2
m. Meutim, na osnovu Haseove teoreme imamo da je
m < (

N + 1)
2
, xto daje kontradikciju sa odabirom broja q. 2
U prethodnom delu poglava dali smo efikasni (polinomijalni) al-
goritam za raqunae reda grupe eliptiqke krive E(Z
p
), pa sada moemo
dati i test primalnosti:
Algoritam 8.2. (Test primalnosti pomou eliptiqkih krivih)
i = 0;
N
0
= N;
1. [Test]
while (N
i
> 2
30
)
Proizvoljno izabrati a i b iz Z
N
i
tako da je (4a
3
+ 27b
2
, N
i
) = 1;
//E je elipticka kriva sa jedacinom y
2
= x
3
+ax +b
m = [E(Z
N
i
)[;
q = m/2;
if (q ne prolazi Rabin-Milerov test ili q (
4

N
i
+ 1)
2
) continue;
repeat
Izabrati proizvoljan x Z
N
i
tako da je
_
x
3
+ax +b
N
i
_
0 ili 1;
Odrediti y tako da je y
2
= x
3
+ax +b;
if ((m) P ,= O) goto Povratak;
until ((m/q) P ,= O)
i = i + 1;
N
i
= q;

for (p prost, p 2
15
)
if (p [ N
i
) goto Povratak;
2. [Povratak]
if (i = 0) vrati SLO

ZEN;
else
i = i 1;
goto Test;

vrati PROST;
75
Jasno je da je dati algoritam polinomijalni. Ispostva se da je e-
govo vreme rada O(ln
12
n), pa on nije praktiqan. U nastavku poglava
prikazaemo ideje na kojima se zasniva praktiqna verzija ovog algo-
ritma.
8.4 Etkin-Morenov test primalnosti
U prethodnom testu koristili smo fiksiranu eliptiqku krivu i zatim
raqunali red ene grupe. Osnovna ideja kod Atkin
2
-Moren
3
-ovog testa
je da uradimo obrnuto, tj. da za fiksirani broj naemo eliptiqku krivu
qiji e red grupe biti bax taj broj.
Presudnu ulogu u pronalaeu adekvatnih redova grupa imaju kva-
dratna predstava, odnosno, za D < 0, D 0, 1 (mod 4) i p prost broj,
predstavaa u obliku
x
2
+[D[y
2
= 4p.
Neka je za jedno takvo predstavae =
x +y

D
2
, a samim tim i = p.
Pokazaju se da je za prost broj N tada
m = [E(Z/NZ)[ = N + 1 = N + 1 x,
gde je E eliptiqka kriva koja jednostavno zavisi od D. Ipak, iako imamo
red grupe E(Z/NZ), treba ispitati je da li on zadovoava uslove Teoreme
1 iz prethodnog poglava. Ukoliko to nije sluqaj uzimamo novu vrednost
za D, sve dok ne pronaemo odgovarajue m.
Neka su pogodni m i odgovarjua diskriminanta D pronaeni. Sledee
xto je potrebno odrediti je eksplicitnu krivu nad kojom emo vrxiti
testirae. Pokazuje se da za D = 4 postoje qetiri izomorfne klase
krivih, da za D = 3 postoji xest, a za D ,= 3, 4 postoje dve klase
izomorfnih krivih qija je to diskriminanta.
Poslede xto je potrebno uraditi je za dato D odrediti koja klasa
krivih je zadovoavajua. Za D = 3, 4 direktan uslov nije texko dati,
dok je sliqan uslov gotovo nemogue dati u treem sluqaju. Tada za razne
(sluqajne) taqke P sa krive odreujemo da li je (m) P = O i ako nije
tu krivu odbacujemo. Ukoliko taj uslov jeste zadovoen to nam ne daje
garanciju da je kriva pronaena, ali ipak tu krivu verovatno moemo
koristiti u Teoremi 1 iz prethodnog poglava.
Ovaj test nije deterministiqki, ali je praktiqan. egovo vreme rada
je O(ln
5+
n). Uz test Jakobijevim sumama, ovaj test se pokazuje kao najbo-
i za dokazivae primalnosti brojeva za koje smo prethodno utvrdili
2
Arthur Oliver Lonsadale Atkin- engeski matematiqar 1925-2008
3
Francois Morain- francuski matematiqar
76
da su skoro sigurno prosti. Ovim algoritmom moe se dokazivati pri-
malnost brojeva sa vixe od 1000 cifara u dekadnom zapisu. Najvei broj
qija je primalnost dokazana ovim algoritmom ima 20562 cifre i jednak
je:
(((((((2
3
+ 3)
3
+ 30)
3
+ 6)
3
+ 12)
3
+ 894)
3
+ 3636)
3
+ 70756)
3
+ 97220.
77
Literatura
[1] O. N. Vasilenko, Teoretiko-qislovye algoritmy v kriptografii, MC-
NMO, 2003.
[2] Duxan uki, Zoran Kadelburg, Vladimir Mii, Uvod u teoriju
brojeva, Druxtvo matematiqara Srbije, 2004.
[3] Gojko Kalaji, Algebra, Matematiqki fakultet, 2004.
[4] arko Mijajlovi, Algebra 2, Skripta, 2001.
[5] A. B. Qeremuxkin, Lekcii po arifmetiqeskim algoritmam v krip-
tografii, MCNMO, 2004.
[6] L.M. Adleman, C. Pomerance, R.S. Rumely, On distinguishing prime numbers
from composite numbers, Ann. of Math, 1983.
[7] M. Agrawal, N. Kayan, N. Saxena, PRIMES is in P, Preprint, 2003.
[8] Tom Apostol, Introduction to Analytic Number Theory, Springer, 1976.
[9] Eric Bach, Jerey Shallit, Algorithmic Number Theory, Volume I: Ecient Al-
gorithms, The MIT Press, 1996.
[10] Alan Baker, A Concise Introduction to the Theory of Numbers, Cambridge Uni-
versity Press, 1986.
[11] Richard Crandall, Carl Pomerance, Prime numbers: A Computational Perspec-
tive, Springer, 2001.
[12] Henry Cohen, A Course in Computational Algebraic Number Theory, Springer,
1993.
[13] Harold Davenport, Multiplicative Number Theory, Springer, 1980.
[14] Martin Dietzfelbinger, Primality Testing in Polynomial Time, Springer, 2004.
78
[15] G. H. Hardy, E. M. Wright, An Introduction to the Theory of Numbers, Oxford:
Clarendon Press, 1960.
[16] Kenneth Ireland, Michael Rosen, A Classical Introduction to Modern Number
Theory, Springer, 1982.
[17] Neal Koblitz, A Course in Number Theory and Cryptography, Springer, 1994.
[18] Serge Lang, Algebra, Springer, 2002.
[19] H.W. Lentra, Primality testing algorithms, Seminaire Bourbaki, 1980-1981.
[20] H. L. Montgomery, I. Niven, H. S. Zucherman, An Introduction to the Theory
of Numbers, John Wiley and Sons, 1991.
[21] Yuri Ivanovic Manin, Alexei Panchishkin, Introduction to Modern Number The-
ory, Springer, 2005.
[22] Victor Shoup, A Computational Introduction to Number Theory and Algebra,
book draft, 2003.
[23] Douglas Stinson, Cryptography: Theory and Practice, Chapman and Hall/CRC,
2006.
79

You might also like