Está en la página 1de 73

PMF U Sarajevu

Odsjek za matematiku

ALGEBARSKE OSNOVE
KOMPJUTERSKE NAUKE

-SKRIPTA-

ALGEBRASKE OSNOVE KOMPJUTERSKIH NAUKA

Pojam grupoida, polugrupe i grupe


Definicija: Neka je S neprazan skup, preslikavanje : S S S koje svakom paru
(x,y) iz S pridruuje element iz S se naziva unutranja binarna
kompozicija (ili binarna kompozicija ) na skupu S. Za skup S
kaemo da je zatvoren u odnosu na .
Definicija: Algebarska struktura je neprazan skup S sa jednom ili vie
binarnih operacija nad tim skupom.
Definicija: Grupoid je ureen par (S,), gdje je skup S zatvoren u odnosu na
operaciju .
Definicija: Neka je (S,) grupoid. Za operaciju kaemo da je asocijativna ako
i samo ako za svako a,b,c S vrijedi jednakost
(ab)c=a(bc).
Definicija: Ako je operacija asocijativna tada se grupoid (S,) naziva
polugrupa.
Definicija: Za operaciju kaemo da je komutativna ako za svako a, b S
vrijedi jednakost
ab=ba.
U tom sluaju se (S,) naziva komutativni grupoid.
Za elemente a1 , a 2 , , a n S definiramo a1 a 2 a n (a1 a 2 a n 1 ) a n .
Definicija: Element e' S se naziva lijevi neutralni element grupoida (S,)
ako i samo ako za svako x S vrijedi
e x x .
Element e S se naziva desni neutralni element grupoida (S,)
ako i samo ako za svako x S vrijedi
x e x .
Ako je e i lijevi i desni neutralni element grupoida tada se naziva
neutralni element.
Tvrdnja: Ako u grupoidu postoje i lijevi idesni neutralni element tada su oni
jednaki.
Dokaz: Kako je e lijevi neutralni element uzimajui u definiciji x=e dobivamo
da je e e e . Slino kako je e desni neutralni element uzimajui u

definiciji x=e dobivamo e e e . Sada je e e e e to je i


trebalo dokazati.
Definicija: Neka je (S,) polugrupa sa neutralnim elementom e. Za element
a S kaemo da ima lijevi inverzni element, ako i samo ako
postoji element a S takav da a a e . Za element a S kaemo da
ima desni inverzni element, ako i samo ako postoji element
a S takav da vrijedi a a e .
Tvrdnja: Ako u polugrupi sa neutralnim elementom e, elemenat a ima i lijevi i
desni inverzni elemenat, tada su oni jednaki.
a a e a (a a) (a a) a e a a .
Dokaz:
Definicija: Za elemenat a S kaemo da je invertibilan ako postoji elemenat
b S takav da je a b b a e . Tada se element b naziva inverzni
element elementa a.
Definicija *: Polugrupu sa neutralnim elementom e nazivamo grupa ako i
samo ako je svaki elemenat iz S invertibilan.
Definicija : Grupa (S,) se naziva Abelova ili komutativna grupa ako je
operacija komutativna na S.
Invertibilni element u grupi (S,) elementa a se oznaava sa a 1 . Za elemente
a, b S imamo da je ( a b) 1 b 1 a 1 , a ukoliko je (S,) Abelova grupa tada je i
( a b) 1 a 1 b 1 . Zaista,
(a b) (b 1 a 1 ) a (b (b 1 a 1 )) a ((b b 1 ) a 1 ) a (e a 1 ) a a 1 e ,
(b 1 a 1 ) ( a b) ((b 1 a 1 ) a ) b (b 1 ( a 1 a )) b (b 1 e) b b 1 b e .
Generalnije (a1 a 2 a n ) 1 a n1 a n11 a11 .
Ako je S=Q, tada su i (Q,) i (Q,+) grupe. Iz tog razloga se za grupu koriste oznake
(S,) i (S,+). U prvom sluaju kaemo da je grupa multiplikativna i tada se inverz
elementa a oznaava sa a 1 a neutralni element se oznaava sa e ili sa 1 i naziva
jedinini element ili jednostavno jedinica. U drugom sluaju kaemo da je grupa
aditivna. U aditivnoj grupi se neutralni element se naziva nula i oznaava sa 0 a
inverz elementa a se oznaava sa a.
Napomenimo da je tada (a+b)=-b-a.
Neka je n prirodan broj. U multiplikativnoj grupi moemo posmatrati n ti stepen
n

n
broja a definisan sa a a a a a , to u

aditivnoj grupi odgovara sumi

i 1

na a a a a .
i 1

Sada emo koristiti muliplikaciju da oznaimo binarnu operaciju u grupi (G,), a


grupu emo jednostavno oznaavati sa G.
Sada emo dati neto drugaiju definiciju grupe.

Definicija **: Neprazan skup G sa binarnom operacijom na G se naziva


grupa ako vrijedi sljedee:
(i)
(ii)
(iii)

a(bc)=(ab)c za sve a, b, c G .
Postoji element e G takav da ea=a za sve a G
.
Za svako a G postoji element a G takav da aa=e.

Moramo pokazati da su ove dvije definicije ekvivalentne.


Ako skup G zadovoljava uslove Definicije* tada on zadovoljava uslove i
Definicije **. Neka sada G zadovoljava uslove definicije **. Tada je zbog (i), G
polugrupa.
Neka su a lijevi inverz od elementa a , a a lijevi inverz od elementa a. Tada je a
a=e=aa. Odavde je
aa=eaa=aaaa=a(aa)a=aea=aa=e.
Dakle aje takoer i desni inverz od elementa a.
Moramo pokazati da je i e takoer desni neutrani element. Imamo ae=aaa=ea=a,
za svako a iz G. Dakle definicije su ekvivalentne.
Vrijedi sljedee:
Teorema: Polugrupa G je grupa ako i samo ako za sve a,b u G, svaka od
jednaina ax=b i ya=b ima rjeenje.
Dokaz: Neka je G grupa. Mnoenjem
a 1
ax b dobivamo rjeenje x a 1b i
ya b
a 1
dobivamo rjeenje y ba 1 .
Predpostavimo sada da je G polugrupa i da jednaine imaju rjeenja za sve a, b u
G. Specijalno za fiksno a jednaina ya=a ima rjeenje koje emo oznaiti sa y=e.
Za proizvoljno b iz G jednaina ax=b ima rjeenje koje oznaavamo sa x0. Sada je
eb=e(ax0)=(ea)x0=ax0=b. Dakle, e je lijevi neutralni elemenat za svako b iz G. Poto
jednaina yb=e ima rjeenje za svako b, to svaki elementat iz G ima i lijevi inverz.
Iz Definicije** slijedi da je G grupa.
Za grupu ( ili polugrupu) kaemo da je konana ako je skup G konaan.
Kardinalnost skupa G se naziva red grupe (polugrupe) G i oznaava se sa |G| ili
(G ). Ako je skup G beskonaan tada kaemo da je grupa (polugrupa ) G
beskonana.
Teorema: Konana polugrupa G je grupa ako i samo ako vrijede zakoni
skraivanja za sve elemente iz G, tj.
ab ac b c i ba ca b c za sve a, b, c G.

Dokaz: Ako je G grupa, tada zakoni skraivanja trivijalno vrijede ( mnoenje sa


a 1 sa lijeva i desna). Predpostavimo sada da je G konana polugrupa i da vrijede
zakoni skraivanja. Neka su a,b proizvoljni elementi iz G. Dokazaemo da

jednaine ya=b i ax=b imaju rjeenja te po prethodnom teoremu slijedi da je G


grupa.

Neka je

Posmatrajmo skup

G {a1, a2 ,, an
H {aa1, aa2 ,, aan

} , gdje su elementi a i meusobno razliiti.

}. Tada H G . Ali zbog zakona skraivanja

aai aa k ai a k to znai da su elementi skupa H meusobno razliiti. Dakle, H


ima n elemenata te je G=H. Sada i b H te postoji elemenat ai G takav da je
aai b to znai da jednaina ax=b ima rjeenje. Dokaz za jednainu ya=b je

slian, te je G grupa.
Direktni proizvod grupa
Neka je G1 , G 2 , , Gn familija grupa. Tada je kartezijev proizvod G1 G2 Gn
grupa sa binarnom operacijom po koordinatama tj
( g 1 , , g n )(d 1 , , d n ) ( g 1 d 1 , , g n d n )

gdje g i , d i Gi za 1 i n . Ova grupa se naziva priozvod grupa G1 , G 2 , , Gn i


n

ponekad se oznaava sa

. Jedinini element produkta je (e1 , e2 , , en ) gdje

i 1

su ei jedinini elementi grupa Gi , a inverzni elemenat je dat sa


( g1 , g 2 , , g n ) 1 ( g11 , g 21 , , g n1 ) .

Homomorfizmi
Definicija: Neka su G,H grupe. Preslikavanje : G H se naziva
homomorfizam ako za sve x, y G
( xy ) ( x) ( y ) .
Ako je bijektivan tada se naziva izomorfizam sa G na H, i tada
piemo G H. Ako je injektivno tada ga nazivamo
monomorfizam ( ili izomorfizam sa G u H). Ako je sirjektivno,
tada se naziva epimorfizam. Homomorfizam grupe G u samu sebe
se naziva endomorfizam od G. Ako je bijektivni endomorzizam
tada se naziva automorfizam od G.
Teorema: Neka su G i H grupe sa jedinicama e i e respektivno, i neka je
: G H homomorfizam. Tada
(i) (e) e
(ii) ( x 1 ) ( x) 1 za svako x G .
Dokaz:
(i)
Poto
je

homomorfizam
imamo
da
je
(e) (e) (ee) (e) e (e).
Skraivanjem
slijedi
(e) e .
5

(ii) ( x ) ( x 1 ) ( xx 1 ) (e) e . Dakle, ( x 1 ) ( x) 1 .


Dakle homomorfizam ne samo da sauva operaciju grupe nego i jednini element
preslika u jedinini elemenat, a inverz u inverz.
Definicija: Neka su G i H grupe, i : G H homomorfizam. Jezgro (kernel) od
se definie sa
Ker x G ( x) e .
Poto je (e) e , jezgro Ker nije prazan skup.
Teorema: Homomorfizam : G H je injektivan ako i samo ako je
Ker ={e}.
Dokaz: Neka je injektivan, i neka x Ker . Tada je ( x ) e (e) , odakle
injektivnost daje x=e. Dakle, Ker ={e}.
Suprotno, neka je Ker ={e}. Tada ( x) ( y ) ( xy 1 ) ( x) ( y ) 1 e

xy 1 Ker xy

e x y . Dakle je injektivno.

Ako su f : G H i g : H K homomorfizmi ( izomorfizmi) grupa, tada je i njihova


kompozicija g f : G K takoe homomorfizam (izomorfizam). Dalje, ako je
f : G H izomorfizam sa G na H tada je inverzno preslikavanje f 1 : H G takoer
izomorfizam. Svaka grupa je izomorfna samoj sebi
( identitet je izomorfizam) , te je izomorfizam relacija ekvivalencije.

Podgrupe
Definicija: Neka je (G,) grupa, i H podskup od G. H se naziva podgrupa
grupe G, to se oznaava sa H<G, ako je H grupa u odnosu na
binarnu operaciju iz G.
Za svaku grupu skupovi {e} i G su podgrupe grupe G, koje nazivamo trivijalne
podgrupe od G. Podgrupa H se naziva netrivijalna podgrupa ako H G, H e .
Jedinini element grupe i podgrupe moraju biti jednaki.
Teorema : Neka je G grupa. Neprazan podskup H od G je podgrupa od G ako i
samo ako vrijedi jedno od
(i)
Za sve a, b H , imamo ab H , i a 1 H .
(ii)
Za sve a, b H , imamo ab 1 H .
Dokaz: Ako je H podgrupa, (i) i (ii) su oigledno tani. Predpostavimo da vrijedi
(i). Za a H , a 1 H , pa je i e aa 1 H , te je H podgrupa. Predpostavimo da
vrijedi (ii). Za a H , e aa 1 H , i a 1 ea 1 H , te je H podgrupa.
Mnogo je lake provjeriti da je neto podgrupa generalnije grupe koristei
prethodni teorem nego pokazati da je grupa. Npr. asocijativnost se nasljeuje.

Teorema : Podskup S grupe G je podgrupa ako i samo ako 1 S i s, t S


implicira da st 1 S .
Dokaz: Ako s S , tada i 1s 1 s 1 S , i za s, t S , s (t 1 ) 1 st S .
Definicija : Ako je G grupa i a G , tada je ciklika grupa generisana sa
elementom a, u oznaci <a>, skup svih stepena od a. Grupa G se
naziva ciklika grupa ako postoji a G takvo da G=<a>, tj., G se
sastoji od svih stepena elementa a.
Razliiti elemeni mogu generisati istu grupu npr.

a a 1 .

Definicija : Ako je G grupa i a G , tada je red elementa a jednak

a,

broju elemenata od <a>.


Teorema : Ako je G grupa i a G ima konaan red m, tada je m najmanji
pozitivan cio broj takav da a m 1 .
Dokaz: Ako je a=1, tada je m=1. Ako je a 1 , tada postoji cio broj k>1 takav da su
1, a, a 2 , , a k 1 razliiti elementi u G i za neko i, 0 i k 1 , vrijedi a k a i . Sada
je a k i 1 . Po predpostavci svi elementi 1, a, a 2 , , a k 1 su razliiti pa ako je i>0
imamo kontradikciju. Dakle i=0 i a k a 0 1 . Dakle, k je najmanji broj takav da je

1, a, , a a . Sa druge strane, za
proizvoljni cio broj l postoje brojevi q i r takvi da je l=qk+r, gdje
. Sada je

. Dakle 1, a, , a a , tj . k=m.
k 1

a k 1 . Dalje oigledno vrijedi da je

0rk

a l a qk r (a k ) q a r 1q a r a r 1, a, , a k 1

k 1

Ako je S n napisana kao priozvod disjunktnih ciklusa, npr. 1 2 n , gdje


je i ciklus od ri elemenata za svako i, tada je red elementa najmanji zajedniki
djeljenik brojeva r1 , r2 , , rn .
Posljedica : Ako je G konana grupa, tada je neprazan podskup S od G
podgrupa ako i samo ako s, t S implicira da je st S .
Dokaz. Oigledno je da je uslov potreban. Da bi dokazali i da je dovoljan treba da
pokaemo da s S s 1 S . Indukcijom slijedi da S sadri sve stepene od s. Poto
je G konana grupa to i s ima konaan red m. Dakle 1 s m S i s 1 s m 1 S .
Ako su G grupe, tada su G i {1} podgrupe od G. Grupa {1} se obino
oznaava sa 1 i naziva se trivijalna podgrupa od G. Ako je H razliito od 1 i G
podgupa od G tada se H naziva prava podgrupa od G i to se oznaava sa H<G.
Neka je f : G H homomorfizam. Definiemo
ker f a G : f (a ) 1

im f h H : a G, h f (a )

Tada su ker f i im f pogrupe od G i H respektivno. Zaista, ako


f(ab)=f(a)f(b)=1 pa
Slino ako

ab ker f i

a 1 ker f.

f (a 1 ) ( f ( a )) 1 11 1 te

h, k im f tada postoje

hk=f(a)f(b)=f(ab) odakle slijedi da

a, b G

a, b ker f, tada je i

takvi da je h=f(a) i k=f(b). Sada je

hk im f, a h

( f (a)) 1 f ( a 1 ) pa i

h 1

im f.
Teorema : Presjek bilo koje familije podgrupa grupe G je takoer podgrupa od
G.
Dokaz. Neka je S i : i I familija podgrupa grupe G. Sada 1 S i , i I pa i
1 S i
iI

S i , tada
. Takoer, ako a, b
iI

a, b S i , i I ab S i , i I ab S i
iI

. Dakle

iI

Posljedica : Neka je X podskup grupe G. Tada postoji najmanj podgrupa H<G


koja sadri X, tj. ako je S<G i X S , tada H<S.
Dokaz. Poto je G podgrupa same sebe i sadri X, familija podgrupa od G koja
sadri X nije prazna. H je prijesjek te familije. Tada je H oito najmanja podgrupa
koja sadri X.
Definicija : Ako je X podskup grupe G, tada se najmanja podgrupa od G koja
sadri X, naziva podgrupa generisana sa X i oznaava sa <X>.
Kaemo i da X generie <X>.
Ako su H i K podgrupe od G, tada se podgrupa

H K oznaava sa H K .

Ako se X sastoji od jednog elementa a , tada je <X>=<a>, ciklika grupa generisana


sa a. Ako je X konaan skup X a1 , a 2 , , a n tada moemo pisati X a1 , , a n
Definicija. Ako je X neprazan podskup od G, tada je rije na X elemenat w G
ija je forma

w x1e1 x 2e2 x nen


gdje xi X , ei 1, n 1 . Elementi se mogu i ponavljati.
Teorema. Neka je X podskup grupe G. Ako je X tada je <X>=1. U suprotnom
se <X> sastoji od svih rijei na X.
Definicija. Neka je X podskup grupe F. Tada F nazivamo slobodnom grupom sa
bazom X ako za svaku grupu G i svaku funkciju f : X G , postoji
jednistven homomorfizam : F G koji proiruje f.
F se sastoji od svih rijei na X. Pored rijei moemo zadati i relacije. To je familija
rijei koje su jednake 1. Tada (X|) se naziva prezentacija grupe.
Primjer : Grupa Z 6 ima generator x i relaciju x 6 1 . Prezentacija grupe nije
3
2
1 1
jedinstvena npr. druga prezentacija grupe Z 6 x, y x 1, y 1, xyx y 1 .

Ako je w x1 1 x 22 x nn rije tada je njen inverz w x n n x1 1 . Kaemo da je rije


redukovana ako x i x 1 nisu napisani jedan pored drugog za sve x iz X.
e

Lagrangeov teorem

Definicija. Ako je S podgrupa grupe G i t G , tada je desna klasa podgrupe S


odreena elementom t, podskup od G definisan sa St st s S ,a
lijeva klasa je podskup tS ts s S .
Ako grupa nije komutativna tada ove klase ne moraju biti iste. Za elemenat t
kaemo da odreuje klasu.
Lema : Ako S G , tada je Sa=Sb ako i samo ako ab 1 S ( aS=bS ako i samo ako
b 1 a S .
Dokaz. Ako je Sa=Sb, tada a=1a, (1 S ), a Sa Sb . To znai da postoji s S
takav da a=sb. Sada ab 1 sbb 1 s1 s S . Obratno, ako ab 1 S , tada za s S
sa sab 1b ( sab 1 )b sb Sb Sa Sb . Slino i Sb Sa Sa Sb .
Teorema: Neka je S G . Tada su svake dvije desne (lijeve) klase ili identine ili
disjunktne.
Dokaz. Neka x Sa Sb . Tada postoje elementi s, t S takvi da je x=sa=tb. Odavde
slijedi da je ab 1 s 1t S to znai da je Sa=Sb.
Dakle desne klase pogrupe S ine particiju skupa G.
Teorema : Neka je S G . Broj desnih i lijevih klasa od S u G je jednak.
Dokaz. Preslikavanje sa skupa desnih klasa u skup lijevih klasa definisano sa
f ( Sa ) a 1 S je bijekcija.
Definicija : Neka je S G . Indeks od S u G je broj desnih (lijevih) klasa od S u G i
oznaava se sa [G:S].
Definicija. Neka je G grupa. Red grupe G, u oznaci |G| , je broj elemenata u G.
Teorem (Lagrange) : Neka je G konana grupa i S G , tada |S| dijeli |G | i
[G:S]=|G|/|S|.
Dokaz.
Znamo da je G St1 St 2 St n particija. Kako je preslikavanje
f i : S St i ,
f ( s ) st i bijekcija to imamo da je S St i , i, pa je sada
n

i 1

i 1

G St i S n S , odakle slijedi teorem.

Posljedica : Ako je G konana grupa i a G tada red elementa a dijeli red grupe
G.
Dokaz. Kako je red elementa a, |<a>| rezultat slijedi iz Lagrangeove teoreme.
Definicija : Eksponent grupe G je (najmanji) broj n takav da x n 1, x G .
Iz Lagrangeovog teorema slijedi da ako je red grupe G n tada je n i eksponent od G.
Posljedica : Ako je p prost broj i |G|=p, tada je G ciklika grupa.
Dokaz. Neka je a G , a 1 . Tada

1, a a pa je |<a>|>1 djeljitelj prostog broja

p odakle slijedi da |<a>|=p i G=<a>.


Grupe Zm
Lema : Neka su n i k cijeli brojevi i (n,k)=d. Tada jednaina xn+yk=d ima
cjelobrojna rjeenja. Ako jednaina xn+yk=c , gdje je c pozitivan cio broj
ima cjelobrojno rjeenje tada d|c.
Dokaz. Oigledno postoji najmanji pozitivan cio broj za koji jednaina xn+yk=c ima
rjeenje. Kako d|n i d|k, d mora dijeliti i desnu stranu jednakosti tj. d|c.
Posmatrajmo sada brojeve k, 2k, 3k, ... u Z n 0 . Poto je Z n konana mora
vrijediti ik=jkmod n tj. n|(i-j)k pa (n/d)|(i-j). Dakle n/d-1 brojeva k, 2k, 3k, ... su
meusobno razliiti u Z n 0 i svi su djeljivi sa d. Ali brojeva koji su djeljivi sa d u
Z n 0 ima upravo toliko: to su brojevi d, 2d, ..., (n/d-1)d, pa dakle za neki broj s
mora vrijediti sk=d mod n, to dalje znai da je sk=d+tn za neki cio broj t pa
dobivamo rjeenja y=k i x=-t.
Neka je m pozitivan cio broj. Tada je (Zm,+) grupa.
Ako je U(Zm) skup svih nenultih brojeva manjih od m koji su relativno prosti sa m,
tada je i (U(Zm),) grupa. Zaista ako s, t U ( Z m ) tada su (s,m)=1 i (t,m)=1 pa i
(st,m)=1 tj. st U ( Z m ) . Sa druge strane postoji rjeenje jednaine xs+ym=1, pa
uzimamo da je s 1 x , a injenica da ako sada x smatramo koeficijentom a s
nepoznatom Diofantova jednaina ima rjeenje vodi do zakljuka da je (x,m)=1.
*
Dakle s 1 U ( Z m ) . Specijalno ako je m=p prost broj tada je Z p Z p 0
multiplikativna grupa.
Sa [a] oznaavamo klase ekvivalencije po modulu m, tj. [a]=[b] znai a b mod m

Posljedica (Fermat): Ako je p prost i a cio broj, tada a p a mod p .


Dokaz. Neka je G U ( Z p ) multiplikativna grupa nenultih elemenata iz Z p . Kako
je p prost, G je grupa reda p-1. To znai da je a p 1 1 odakle mnoenjem sa a
dobivamo a p a a p a mod p .

10

Definicija . Eulerova -funkcija je definisana sa


(1) 1,

( n) k : 1 k n, g .c.d .(n, k ) 1 .

Moe se pokazati da je za
n p n , (n) p n p n 1 .

n rs,

g .c.d .(r , s ) 1,

(n) (r ) ( s )

a za

Posljedica (Euler) : Ako je g.c.d.(s,r)=1, tada s ( r ) 1 mod r .


Dokaz. Red grupe jedinica U ( Z r ) je upravo (r ) a (s,r)=1 implicira da je i
s U (Z r ) . Tada s ( r ) 1 s ( r ) 1 mod r .

Primjena : RSA algoritam. (Kriptografija javnog kljua)


Neka je x poruka koju elimo da poaljemo osobi A. Poznat nam je javni klju K
osobe A. Mi raunamo y e K (x) i aljemo poruku y. Osoba A izraunava
x d K ( y ) poslanu poruku.
Neka su p i q veliki prosti brojevi i n=pq. Za izabrani broj e, gdje je e<(n) i
(e,(n))=1 izraunamo broj d takav da je de 1 mod (n) . Poznato je da
(n) ( p 1)(q 1) .
Sada je funkcija e K ( x) x e mod n y a funkcija d k ( y ) y d mod n .
Pokaimo da su ove funkcije meusobno inverzne. Neka je g.c.d.(n,x)=1
d K ( y ) d K (e K ( x )) ( x e ) d mod n x ed mod n x k ( n ) 1 mod n ( x ( n ) ) k x mod n x jer je
po Eulerovom teoremu x ( n ) 1 mod n .
Ako je g.c.d.(n,x)=n, tada x de mod n 0 x mod n .
x de 0 x mod p ,
Ako
je
g.c.d.(n,x)=p,
tada
je
x de x ( x p 1 ) ( q 1) k x 1 mod q x mod q. To znai da je jednaina x de x aq sada
djeljiva sa p jer je x dljeivo sa p pa je i a djeljivo sa p. Sada je i x de x mod n to
znai da je d K (e K ( x)) x . Sluaj (n,x)=q je slian.
Smatra se da korisnik koji ne zna brojeve p i q ne moe nai inverznu funkciju d k jer
je faktorizacija dugotrajan proces. Javne vrijednosti su e i n, a samo korisnik A zna
vrijednost d, p i q.
RSA algoritam se koristi da se poalju tajni kljuevi izmeu korisnika.

11

Ciklike grupe
Lema : Neka je G=<a> ciklika grupa reda n. Tada je

a a k

za svako k<n

takvo da je (k,n)=1. Odavde je broj generatora grupe G upravo (n).


Dokaz. Ako je (k,n)=1, postoje cijeli brojevi m i t takvi da mk=1+nt. Sada za svaki
cio broj l vrijedi (ml)k=l+(tl)n pa je

a l a l (a n ) tl a l n(tl ) (a k ) ml a k
odakle je

a a k .

Oigledno je

a k a a a k .

Poto ima (n)

brojeva k takvih da je (n,k)=1 i broj generatora grupe G je (n).


Lema : Neka je G ciklika grupa reda n. Tada za svako d|n, postoji jedinstvna
podgrupa reda d.
n
Dokaz. Prvo pokaimo egzistenciju. Ako je G=<a>, tada je
podgrupa reda
d

d. Zaista (a d ) d a n 1 i d je najmanji takav broj. Sada pokaimo jednistvenost.


Neka je S<G neka podgrupa grupe G reda d. Neka je k najmanji pozitivan broj takav
da je a k S . Tada a k S . Ako postoji m takvo da

a m S a k tada je m=kq+r,

0 r k , pa i a r a m (a k ) q S odakle slijedi da je r=0 jer je k najmanji takav


kq
k . Dakle S je
prirodan broj i m=kq to je kontradikcija jer tada m

a a a

ciklika grupa. Ako S ima red d i S=<b>, tada b 1 . Postoji broj m takav da je
b a m . Ali a md 1 a nk za neko k tj, md=nk, pa je m=k(n/d) to implicira da i
n
n
d . Kako je red grupa isti to dobivamo da je
d . Dakle postoji
d

b a

jednstvena podgrupa reda d.

S a

( n) .
Teorema : Neka je n pozitivan cio broj. Tada n
d n

Dokaz. Neka je G ciklika grupa reda n. Neka je C ciklika podgrupa grupe G i neka
je gen(C) skup svih generatora od C. Tada je G gen(C ) gdje je unija po svim
ciklikim podgrupama od G. Jasno je da su ovi podskupovi meusobno disjunktni.
Dalje po La Grangeovom teoremu red podgrupe dijeli n. Po prethodnoj lemi ako d|
n tada postoji jedinstvena podgrupa C d reda d.
Zbog toga je sada
n G gen(C d )
d n

. Sa druge strane gen(C d ) (d ) , odakle slijedi i tvrdnja

teorema.
Teorema : Grupa G reda n je ciklika ako i samo ako, za svaki djeljitelj d od n,
postoji najvie jedna podgrupa G koja ima red d.
12

Dokaz. Ako je G ciklika tada rezultat slijedi iz prethodne leme.


Obratno, ve smo vidjeli da je G gen(C ) . Naime ako poredamo sve elemente od
G i formiramo sve ciklike podgrupe od G tada za svaki elemenat a iz G on pripada
gen(C d ) ( d ) n
<a>. Odavde slijedi da n G
gdje smo koristili
d n
d n

prethodni teorem i predpostavku da G ima najvie jednu cikliku podgrupu za


svako d. Dakle G mora imati cikliku podgrupu reda d za svako d|n i specijalno za
d=n, odakle slijedi da je G ciklika grupa.

Normalne podgrupe
Definicija : Ako su S i T neprazni podskupovi od grupe G, tada definiemo
ST st : s S , t T .

Ako je S G, T t , tada je ST desna klasa u G. Primjetimo da ovako definisano


mnoenje podskupova od G sa skupom P (G ) , svih particija skupa G ini
polugrupu. Zatvorenost je oigledna a asocijativnost se nasljeuje tj.
u U , s S , t T u ( st ) (us )t U ( ST ) (US )T .
Teorem (Produkt formula): Ako su S i T podgrupe konane grupe G tada
ST S T S T .

Dokaz. Definiimo funkciju : S T ST , : ( s, t ) st . Oito je sirjekcija. Neka


sada x ST . Ako su ( s, t ), ( , ) 1 ( x) tada
st x d 1 s t 1 S T .
Tada su s ( s 1 ) sd 1 i t 1t dt . Dakle 1 ( x) ( sd 1 , dt ) : d S T .
Kako je obrnuta inkluzija oigledna to imamo
1 ( x) ( sd 1 , d t ) : d S T 1 ( x) S T ST S T S T .

Definicija: Podgupa K G se naziva normalna podgrupa, to se oznaava sa


K G , ako je gKg 1 K za svako g G .
Ako je K G i vrijedi gKg 1 K za svako g G tada imamo K G . Naime
zamijena g sa g 1 daje K gKg 1 . Neka je dat homomorfizam f : G H . Tada je
njegovo jezgro u oznaci K normalna podgrupa. Zaista, neka je a K , tada f(a)=1.
g G ,
Za
svako
f ( gag 1 ) f ( g ) f (a )( f )( g )) 1 f ( g )1( f ( g )) 1 1 gag 1 K gKg 1 K K G.

Kada je K normalna podgrupa od G, tada je svaka lijeva klasa ujedno i desna klasa.
Naime za klasu Ka imamo Ka (aKa 1 )a aK . to se tie elemenata ovo znai da
imamo parcijalnu komutaciju tj. za svako g i k postoji elemenat k u K, takav da
je gk=kg. To ne znai da g komutira sa svakim elementom podgrupe K. Normalne
podgrupe su takoe vezane za konjugaciju a : G G , gdje a ( x ) axa 1 .

13

Kvocijentne grupe
Teorema:

Neka je N G , tada klase od N u G formiraju grupu, koja se


oznaava sa G/N, reda [G:N].

Dokaz. Da definiemo grupu, potrebni su skup i operacija. Skup ine klase, a


operacija je definisana sa XY xy : x X , y Y . Ova operacija je asocijativna.
Treba da pokaemo zatvorenost:
NaNb Na ( a 1 Na )b NNab Nab .
Oigledno je N1=N je identitet a inverz od Na je Na 1 . Ova grupa se oznaava sa
G/N i po definiciji indeksa imamo da |G/N|=[G:N].
Posljedica : Ako je N G , tada je prirodno preslikavanje, tj funkcija definisana sa
v : G G / N,
v(a ) Na sirjektivni homomorfizan sa jezgrom N.
Iz ove posljedice slijedi da je svaka normalna podgrupa jezgro nekog
homomorfizma. Razliiti homomorfizmi mogu imati isto jezgro.
Ako je n fiksirani cio broj, tada je [a], klasa kongurencije a mod n. Kako je Z
abelova grupa to je a Z i kvocijentna grupa G/N je isto to i grupa Z n .
Definicija: Ako su a, b G , komutator od a i b koji se oznaava sa [a,b] je

a, b aba 1b 1 .

Komutatorska podgrupa od G, u oznaci G, je podgrupa generisana


sa svim komutatorima u G.
Komutatorska podgrupa nije skup svih komutatora. To je normalna podgrupa u G.

Prva teorema izomorfizma : Neka je f : G H homomorfizam sa jezgrom K.


Tada je K normalna podgrupa od G i G / K imf .
Dokaz ne radimo.
Kao posljedicu prvog teorema izomorfizma imamo da ako su G=<g>, i H=<h>
ciklike grupe reda n tada je G H . Zaista moemo definisati homomorfizam
f : Z G, f : n g n .
Imamo f (n m) g n m g n g m f (n) f (m) .
Jezgro tog
homomorfizma je <n>=nZ, pa je Z / n Z n imf G . Slino je i Z n H te su ove
grupe izomorfne, odnosno svaka ciklika grupa reda n je izomorfna sa Z n .
Druga teorema izomorfizma : Neka su N i T podgrupe grupe G gdje je N
normalna podgrupa. Tada je i N T normalna u T i
T /( N T ) NT / N .

14

Trea teorema izomorfizma : Neka je K H G , gdje su obije K i H normalne


podgrupe od G. Tada je H/K normalna podgrupa od G/K i
(G / K ) /( H / K ) G / H .

Definicija : Za grupu G kaemo da je jednostavna ako osim 1 i G nema drugih


podgrupa.
Teorema : Neka je G grupa sa normalnim podgrupama H i K. Ako je HK=G i
H K 1 , tada je G H K .
Ako je grupa G napisana kao G=HK u smislu prethodne teoreme tada kaemo da je
ona unutranji direktni priozvod grupa H i K , a za proizvod H K kaemo da je
vanjski direktni proizvod grupa. U sluaju normalnih podgrupa kao u prethodnoj
teoremi nema razloga praviti razliku izmeu vanjskog i unutranjeg priozvoda jer je
( H 1) ( H K ),

(1 K ) ( H K ).

Lema : Ako je (m,n)=1 tada je Z mn Z m Z n , ali Z p Z p Z p .


2

Teorema : Svaka konana abelova grupa je direktni proizvod ciklikih grupa, ie.
G Z pa Z pb Z p s .
1
2
n
Primjer Z 6 Z 3 Z 2.
Teorema

Ako

su

A H

B K,

( H K ) /( A B ) ( H / A) ( K / B ).

tada

( A B) ( H K )

Primjer:
Posmatrajmo ahovsku tablu na kojoj se figura moe kretati naprijed, nazad, lijevo i
desno. Kada doe do kraja table, pokret naprijed znai da se vratimo na poetak
datog reda ili kolone.
2

15

Tako bi potez naprijed znailo pomjeranje na polje B1 a tri poteza naprijed bi


znailo vraanje na isto polje. Dva poteza desno bi dovelo figuru na polje A0.
Ako formiramo grupu generisanu sa <naprijed, desno: naprijed desno=desno
naprijed, 3naprijed =0 i 3 desno =0> tada su elementi ove grupe sve putanje figure
na ovoj tabli. Ova grupa je izomorfna sa Z 3 Z 3 . Naime izomorfizam preslikava
element naprijed u (1,0) a element desno u (0,1). Tada je elemenat
Naprijed lijevo naprijed desno naprijed nazad
preslikano u

(1,0)+(0,-1)+(1,0)+(0,1)+(1,0)+(-1,0)=(2,0)

to odgovara 2 naprijed. Kako imamo 9 elemenata grupe Z 3 Z 3 to imamo devet


skraenih putanja figure. Kako je 2 =-1 po modulu tri to najdua putanja ima samo
dva pokreta. Identifikacija strana tj. moduo 3 znai da su suprotne strane
pravougaonika sljepljene. Topoloki , opisali smo kretanje na ahovskoj tabli
dimenzija 3 3 koja je nacrtana na toku.

Djelovanje grupe na skup


Djelovanje

grupe

na neprazan
skup X
je preslikavanje
:G X X,
(a, x) a x , za koje vrijede sljedea dva uvjeta:
a

(
b

x) (ab) x , a, b G, x X ;
i)
ii) 1 x x , x X .
Ako grupa G djeluje na skup X, onda kaemo da je X, G-skup. Djelovanje grupe na
skup X je isto to i permutiranje elemenata skupa X.
Za svaki x X orbita elementa x u odnosu na G definira se izrazom
O x x G X ,
a
stabilizator
elementa
x
definira
se
sa
G x g G g x x G . Skup svih orbita u X ini particiju skupa X i vrijedi
X G : G x , gdje je C podsup od X koji sadri tano po jedan elemenat iz
xC

svake orbite, tj. skup predstavnika svake od orbita.


Burnsideova lema: Neka je X konaan G-skup i N broj orbita. Neka je
dalje ( ) broj elemenata skupa X fiksiranih sa permutacijom . Tada
je
N

1
G

( ) ,

to znai da je broj orbita jednak prosjenom broju fiksnih taaka.


Dokaz: Neka je
S ( , x ) G X x x .
Prebrojimo elemente skupa S. Za neki fiksni G , broj parova ( , x) S je
( ) .
Dakle, S ( ) .
G

S druge strane, za fiksni x X , broj parova ( , x) S je

Gx

, pa dobijamo

16

x X

( )

Dakle vrijedi

x X

x X

x X

Oa , odakle dobijamo
Orbite ine particiju skupa X tako da je X a
C
1

x X

O
aC

yOa

1

a

O
aC

yOa

Dakle vrijedi
( ) G N , to implicira N 1

G
G


aC

1
Oa

Oa

C N.

aC

( ) .

Primjer 1. Navest emo primjer primjene Burnsideove leme.


Namjera nam je da napravimo algoritam pravljenja zastava sa trakama jednake
duine koje su obojene sa q datih boja. Koliko ovakvih zastava moemo da
formiramo?
Neka je ci bilo koja od q boja. Neka zastave imaju n traka kao to je predstavljeno
u slijedeoj tabeli.

c1

c 2 c n 1

cn

cn

c n 1 c 2

c1

Napomenimo da je zastava

ista kao i prethodna, jer je samo okrenuta za 180 . Dakle, zastavama odgovaraju
razliiti redoslijedi boja, odnosno ureene n-torke c (c1 , c 2 , , c n ). Neka je data
permutacija
n
1 2
.

n n 1 1
i (c) daju istu
Ova permutacija predstavlja okretanje zastave za 180 , te c
2
zastavu. Kako je 1 , grupa koja djeluje na skup ureenih n-torki je G : 1,
. Broj razliitih zastava je upravo broj orbita N, u odnosu na grupu G.
Identitet 1 fiksira sve ureene n-torke c, pa je (1) q n .
Permutacija ima razliitu formu u odnosu na parnost broja n i fiksira one
ureene n-torke za koje vrijedi c1 c n , c 2 c n 1, itd.
Ako je n=2k tada je (1, n)(2, n 1) (k , k 1) i broj elemenata fiksiranih
sa

je ( ) q

. Ukoliko je n neparan broj, tj n=2k+1, tada je

(1, n)(2, n 1) (k , k 2)(k 1) , pa je broj elemenata fiksiran sa


n 1
n 12
2

( ) q

. U oba sluaja vrijedi da je ( ) q

jednak

Primjenom Burnsideove leme dobijamo da je broj N razliitih zastava koje se mogu


napraviti koritenjem q boja, dat izrazom

1
n1
N (q n q 2 ) .
2

17

Prsten

Definicija : Prsten je R neprazan podskup sa dvije operacije + i , takve da


vrijedi
i)
(R,+) je Abelova grupa
ii)
(R,) je polugrupa
iii)
mnoenje je distributivno u odnosu na sabiranje tj.
a (b c) a b a c
( a b) c a c b c,

a, b, c R

mnoenje piemo krae ab=ab. Neutralni elemenat aditivne grupe nazivamo nula
elemenat i oznaavamo sa 0, a inverzni elemenat elementa a oznaavamo sa -a.
Takoer a+(-b) piemo a-b .
Ako je polugrupa (R,) komutativna kaemo da je prsten R komutativan.
Ako multiplikativna polugrupa prstena ima neutralni element on se obino
oznaava sa e ili 1 i naziva jedinini elemenat i tada kaemo da je R prsten sa
jedininim elementom.
Primjeri prstena su (Z,+,), (R,+,), (C([0,1]),+,), ( Z n ,+,).
Za a 0 definiemo a 0 e .

Teorema : Neka je R prsten. Tada za svako a,b,cR vrijedi


i)
a0=0=0a
ii)
a(-b)=-(ab)=(-a)b
iii)
(-a)(-b)=ab
iv)
a(b-c)=ab-ac
v)
(a-b)c=ac-bc
Dokaz.
i) a0=a(0+0)=a0+a0
(-a0)
0=a0
ii) 0=a0=a(b-b)=a(b+(-b))=ab+a(-b) slijedi a(-b)=-(ab)...
iii) iz ii) dobivamo (-a)(-b)= -(a(-b))= -(-(ab))=ab
iv)
a(b-c)=a(b+(-c))=ab+a(-c)=ab+(-(ac))=ab-ac
Propozicija : Neka su n i m prirodni brojevi. Za sve elemente prstena vrijedi
a m a n a mn ,

(a n ) m a nm

a ako su n i m cijeli brojevi tada jo vrijedi


ma na (n m)a,

m(na) (mn)a,

(ma)(nb) (mn)ab .

18

Definicija : Ako je (R,) grupa tada se R naziva tijelo a ako je komutativna


grupa tada se R naziva polje.
Definicija : Prsten sa jedinicom e se naziva oblast ako je

R i xy 0 x 0 ili

y=0. Komutativna oblast se naziva oblast cijelih.

Teorema : Svako polje je oblast cijelih.


Dokaz. Neka je F polje i neka je xy=0. Ako je x 0 , tada i x 1 F , pa je
0 x 1 0 x 1 ( xy ) ( x 1 x) y ey y.
Obratno ne mora da vrijedi. Naime Z je oblast cijelih ali nije polje.
Definicija : Neka je (R,+,) prsten i S neprazan podskup od R. Tada se S naziva
podprsten od R ako je i samo (S,+,) prsten.
Svaki prsten ima trivijalne podprstene {0} i R.
Jedinica podprstena i prstena ne mora biti ista. Primjer ( Z 10 ,,) je prsten sa
jedinicom 1 a podskup S={0,2,4,6,8} je podprsten sa jedinicom 6.
Teorem : Neprazan podskup S je podprsten od R ako i samo ako za svako a,b S
vrijedi a-bS i abS.
Dokaz. Ako je S podprsten tada tvrdnja vrijedi. Obratno ako za svako a,bS vrijedi
a-bS i abS tada je (S,+) podgrupa od (R,+) a (S,) grupoid. Meutim,
asocjativnost i distributivnost se nasljeuju iz R.
Definicija : Neka je R prsten. Skup Z(R)={aR|xa=ax za svako xR} se zove
centar prstena R.
Propozicija : Centar prstena je podprsten.
Propozicija : Neka je R prsten i Ri i I neprazna familija podprstena od R.
Dokaz.

Ri podprsten od R.
Tada je i
iI
Za
sve
elemente
a
i
b

iz

imamo

a, b Ri a, b Ri , i a b, ab Ri , i a b, ab Ri
iI

iI

da
.

Definicija : Neka je S podskup od R. Tada najmanji podprsten koji sadri S se


naziva podprsten generisan skupom S.
Podprsten koji je generisan sa 0 je {0} a podprsten generisan elementom a sadri
sve elemente oblika n1a n2 a 2 nk a k gdje su n1 , n 2 , , n k cijeli brojevi.
Definicija : Ako postoji prirodan broj n takav da je na=0 za svako a iz R, tada
najmanji takav broj nazivamo karakteristikom prstena R. Ako takav
broj ne postoji tada kaemo da prsten ima karakteristiku 0.
Karakteristiku prstena R oznaavamo sa charR.

19

Prsten cijelih brojeva ima karakteristiku 0 a prsten Z n ima karakteristiku n.


Teorema : Karakteristika polja je nula ili prost broj.
Dokaz. Neka je n karakteristika polja i neka je n=n1n2, n 0 . Tada je ne=0, gdje je e
jedinica polja F. Sada imamo da je
0=ne=(n1n2)e=(n1e)(n2e).
Kako je F polje to je i oblast tj. nema netrivijalnih djeljitelja nule pa mora biti n1e=0
ili n2e=0, odakle je n1=n ili n2=n, pa je n prost broj

Direktni proizvod prstena


Neka je Ri iI neka familija prstena. Konstruiimo skup R (ai ) iI ai Ri (ako je
I konana to je skup ureenih n-tirki, ako je prebrojiva tada su to nizovi itd.).
Operacije se definiu po komponentama (ai ) (bi ) ( ai bi ), (ai )(bi ) ( ai bi ) .
Tada je R prsten. Ovaj prsten nazivamo direktni proizvod familije prstena R i i
oznaavamo ga sa

iI

. Jedinini i invertibilni elementi se nasljeuju po

komponentama.
Ako je S podskup prstena R takav da (ai ) S ako i samo ako su sve komponente ai
jednake nuli izuzev konano mnogo njih tada je S takoer prsten koji se naziva
direktna suma familije Ri i oznaava se sa i Ri . Ako svaki od Ri ima jedinicu ipak S
nema jedinicu. U sluaju konane familije direktni proizvod i suma su jednaki.

Ideali
Definicija : Neka je R prsten. Neprazan podskup U prstena R zove se lijevi
(desni) ideal prstena R ako i samo ako za svako a i b iz U i svako r iz
R vrijedi a-bU, raU(arU).
Ako je U i lijevi i desni ideal tada kaemo da je U ideal prstena R.
Ako je prsten komutativan nema razlike izmeu lijevih i desnih ideala. Ako je U
ideal tada je U i podprsten prstena R. Svako prsten R ima trivijalne ideale {0} i R.
Lako se dokazuje sljedee:
Teorema : Neka je (U i ) iI familija lijevih (desnih ) ideala u R tada je i

U lijevi (desni) ideal u R.


i

iI

Neka je SR, S, i neka je A={ U|U je desni (lijevi) ideal koji sadri S}. Tada RA,
pa A. Za ideal

U kaemo da je generisan sa skupom S i to oznaavamo

U A

20

sa (S)r (desni), (S) l (lijevi), (S) ideal. Ako je ideal generisan samo sa jednim
elementom a, tada ga nazivamo glavnim idealom i obiljeavamo sa (a). Vrijedi
(a)

r as

ra as na r , s, ri , si R, n Z

( a ) r ar na r R, n Z

( a ) l ra na r R, n Z .

Ako R ima jedinicu tada

ri asi ri , si R
i
( a ) r ar r R
(a)

( a ) l ra r R.

gdje su sve sume konane.


Prsten u kome su svi ideali glavni naziva se prsten glavnih ideala (PGI).
U grupama faktorske grupe su se formirale u odnosu na normalne podgrupe. U
prstenima tu ulogu imaju ideali.
Neka je U ideal prstena R. Definiemo a b(modU ) ako i samo ako a-bU. Ovo je
klasa ekvivalencije (poto je (U,+) podgrupa a-a=0U, -(a-b)=b-aU, i (a-b)U,
(b-c)U(a-b)+(b-c)=a-cU,aa(modU),ab(modU)ba(modU),
ab(modU),bc(modU)ac(modU)).
Neka je R/U skup svih klasa ekvivalencije. Kalsa a R / U je a+u={a+x|xU}. U
skupu R/U definiramo a b a b, a b ab. Tada je (R/U,+,) prsten koji nazivamo
faktorski prsten prstena R po idealu U.
Neka je :R R/U prslikavanje koje svakom elementu iz R pridrui klasu kojoj
pripada u R/U tj. (a) a a U . Tada je (a b) a b a b (a ) (b) i
( ab ) ab a b (a ) (b) . Ovo nas vodi do sljedee definicije.
Definicija :Neka su R i S prsteni. Preslikavanje f:R S zove se homomorfizam
prstena ako vrijedi
f (a b) f ( a) f (b)
f (ab) f ( a) f (b),
a, b R.

Teorema : Neka je f:R S homomorfizam prstena. Tada vrijedi:


a) Ako je 0 nula prstena R, tada je f(0) nula prstena S.
b) Ako je aR, tada je f(-a)=-f(a).
c) Skup {f(a)|aR} je podprsten prstena S i zove se slika prstena R u
odnosu na homomorfizam f, a oznaava se sa Im(f), ili f(R).
d) Skup {aR|f(a)=0} je ideal prstena R i zove se jezgro
homomorfizma f, a oznaava se sa Ker(f).
e) Ako je e jedinica prstena R, tada je f(e) jedinica prstena S.
f) Ako je R komutativan prsten, tada je i f(R) komutativan prsten.
g) F je injektivno ako i samo ako je Ker(f)={0}.

21

Dokaz uraditi za vjebu.


Teorema : Neka je f:R S homomorfizam prstena ija je jezgra Ker(f). Tada je
R/Ker(f)Im(f).
Teorema : Ako je B ideal prstena R, tada je svaki ideal prstena R/B oblika U/B
za neki ideal prstena R koji sadri B.

Suma i proizvod ideala


Neka su U 1 , U 2 , , U n ideali prstena R, tada je najmanji ideal koji sadri sve ove
ideale
U u1 u 2 u n u i U i i naziva se suma ideala U i. Ovu sumu oznaavamo sa
U 1 U 2 U n ili sa

U
i 1

. Ako se svaki elemenat u iz sume moe na jedinstven

nain napisati kao u u1 u 2 u n tada kaemo da je suma direktna i piemo


U1U2...Un ili Ui . Slino se definie i priozvod ideala sa

UB

a b

i
i
konaon suma

ai U , bi B . .

Za ideale vrijedi (UB)C=U(BC), U(B+C)=UB+UC, (B+C)U=BU+CU.

Definicija: Ideal M prstena R naziva se maksimalan ako je M R i za svaki ideal


B vrijedi implikacija
B M ( B R B M ).

Teorema: Za svaki prsten R i svaki ideal M R prstena R sljedei uslovi su


ekvivalentni:
(a) M je maksimalan ideal u R.
(b) Faktorski prsten R/M nema netrivijalnih ideala.
(c) Za svaki element xR, xM, vrijedi M+(x)=R.
Dokaz. (a)(b) Ideali u prstenu R/M su oblika U/M za neki ideal UM. Kako je M
maksimalan to je U=m ili U=R pa u R/M nema netrivijalnih ideala.
(b)(c) Neka je xR-M. Tada je M+(x) ideal u R koji strogo sadri M pa je (M+
(x))/M ideal u R/M koji nije nula ideal. Dakle, (M+(x))/M=R/M pa je i R=M+(x).
(c)(a) Neka je B ideal prstena R takav da je MB. Ako je BM tada postoji xBM, pa je M+(x)=R. Sada je R=M+(x)BR pa je B=R.

Teorema: Neka je R komutativan prsten sa jedinicom e. Ideal M prstena R je


maksimalan ako i samo ako je R/M polje.
Dokaz. Neka je M maksimalan ideal. Neka je x x M 0 M . Kako je M+(x)=R to
postoje yM i rR takvi da je y+rx=e. Sada posmatrajmo r r M . Imamo
x r xr M (e y ) M e ( y M ) e M .

Dakle, svaki nenulti element u R/M je invertibilan pa je R/M polje.

22

Obratno, neka je R/M polje. Ni jedno polje nema netrivijalnih ideala. Naime ako je
F polje i U ideal u F takav da je U{0}, tada postoji element xU, x0. Ali po
definiciji ideala i x 1 x e U y F , y ye U U F .
Ako je sada B ideal prstena R takav da je MB, tada je i B/M ideal polja R/M pa je
B/M={0} ili B/M=R tj. B=M ili B=R, pa je M maksimalan.
Primjer: Neka je Z prsten cijelih brojeva. Pokazaemo da je Z prsten glavih ideala i
da je ideal (n) maksimalan u Z ako i samo ako je n prost broj. Neka je U ideal u Z i x
najmanji nenegativan cio broj sadran u U. Tada (x)U. Ako postoji yU-(x) (y
uzmimo pozitivan broj) tada postoje nenegativni cijeli brojevi m i r takvi da je
y=mx+r gdje je r<x. Ali mxU i r=y-mxU. Kako je x najmanji pozitivan broj iz U
to r=0 i yU to je kontradikcija. Dakle U=(x) pa je Z prsten glanvih ideala.
Neka je sada ideal (n) maksimalan u R. Predpostavimo da je n=pq. Tada (n)(p) i
(n)(q) odakle je (p)=Z ili (q)=Z, odakle je p=1 ili q=1 a q=n ili p=n. Dakle n mora
biti prost broj.
Ako je p prost, i (p)B. Tada postoji prirodan broj n takav da je B=(n). Ali (p)(n)
implicira da je p=nk. Kako je p prost to je n=p ili n=1. U prvom sljuaju (n)=(p) a u
drugom (n)=Z. Dakle (p) je maksimalan ideal.
Definicija: Ideal B prstena R zove se prost ideal ako za svaka dva ideala U i V
prstena R vrijedi UV B U B V B.
Ideal (p) u prstenu cijelih brojeva je prost ako i samo ako je p prost broj. Vrijedi
sljedee:
Teorema : Ako je R prsten sa jedinicom e, tada je svaki maksimalan ideal prost.
Obratno ne mora da vrijedi.
Teorema: Ako je R komutativan prsten, tada je ideal B prstena R prost ako i
ab B a B b B,
a, b R.
samo ako
Teorema : Ako je R oblast cijelih i ujedno prsten glavnih ideala, tada je ideal B
prost ako i samo ako je maksimalan.

Kodiranje
Kodiranje je nain zapisa podataka koji je najprikladniji datoj aplikaciji.
Posmatrajmo primjer

23

satelit

Signali sa setelita na
zemlju se alju
elektromagnetnim
talasima. Kada je oblano
vrijeme, usljed smanjene
propusnosti atmosfere svi
signali nee stii na
zemlju ili e stii
promjenjeni.

Zemlja

U komjuterima se koriste samo dvije cifre 0 i 1, a prilikom slanja sa setelita


moemo koristiti i tri signala -1,0,1.
Neka je S alfabet tj. skup znakova koji koristimo, n duina koda. Skup S n se
naziva skup svih rijei gdje su rijei ureene n-torke znakova iz alfabeta. Kod je
skup CS.
Na primjer, neka je alfabet skup svih slova abecede i znak praznog mjesta
koji se dodaje na kraju. Ako predpostavimo da najdua rije ima 20 slova moemo
uzeti da je duina koda n=20. Tada je n-torka : AGCIJLUVNK
rije. Ova rije
n
pripada skupu S ali nema znaenje. Sve rijei naeg jezika koje imaju neko
znaenje bi bile kod CS.
Pri digitalnom zapisu podataka koristimo S={0,1}. U ASCI kodu n=8 a u
UNICODE n=16. Zbog greki koje se javljaju pri prenosu podataka esto se koriste
kodovi koji ispravljaju ili primjeuju greke. U personalnim kompjuterima se svih
npr. 8 bitova koristi za zapis podataka ali u profesionalnim kompjuterima jedna
cifra slui za provjeru pariteta. To je npr. posljednja cifra u zapisu. Ako je paran broj
jedinica ta cifra ima vrijednost 0 a ako je neparan ima vrijednost 1. Ako je jedna
cifra u zapisu pogrena tada se mijenja paritet pa moemo primjetiti greku i poslati
zahtjev da se podatak ponovo poalje.
U mreama, prilikom prenosa podata dolazi do pojave greki i koriste se
cikliki kodovi za njegovo ispravljanje. Podatci se alju u blokovima od 256 bitova.
U ciklikim kodovima koristimo generatorski polinom g(x) stepena r iji su
koeficijenti 0 i 1. Podatak koji aljemo u stvari ima duinu 256-r, dakle mi aljemo
256-k bitova :
(bk , bk 1 , , b0 ) .
Ovom nizu se pridrui polinom
f ( x) bk x k bk 1 x k 1 b1 x b0 .
Stepen k je izbran tako da je r+k=255.
Ovaj polinom pomnoimo sa x r . aljemo polinom
h( x) x r f ( x ) x r f ( x )(mod g ( x )). . Koeficijenti su bitovi koje aljemo. Kada signal
h(x) stigne u modem, h(x) se dijeli sa g(x). Ukoliko dobijemo ostatak pri dijeljenju
24

jednak nuli tada modem dobiveni podatak alje u kompjuter a ako je ostatak pri
dijeljenju nije nula tada alje zahtjev da se blok h(x) poalje ponovo. Ovi kodovi se
nazivaju CRC kodovi. Aritmetika koja se koristi je aritmetika nad poljem Z2. U
praksi koristimo generatorske polinome :
CRC-12= x12 x11 x 3 x 2 x 1,
CRC-16= x 16 x 15 x 2 1, i
CRC-CCITT= x16 x12 x 5 1 .
Na alost broj greki koji prolaze neopaeno i nije toliko zanemariv, a sa druge
strane upravo dijeljenje tj. provjera podataka koja se obavlja u modemu je razlog
sporosti mree. Pokazana upotreba polinoma nam daje motivaciju za izuavanje
prestena polinoma nad poljima (prestenima).

Prsten polinoma
Neka je R prsten. Prsten polinoma je skup R[x] svih polinoma iji su koeficijenti iz
R.
2
m
Dakle R[x]={ a 0 a1 x a 2 x a m x m N , a0 , a1 , , a m R }.
Nula polinom ima sve koeficijente jednake 0, inverzni polinom polinoma
f ( x ) a0 a1 x a m x m je polinom f ( x ) a 0 a1 x a m x m . Sabiranje
polinoma se definie po komponentama tj. za dva polinoma imamo
f ( x) a 0 a1 x a n x n ,

g ( x ) b0 b1 x bn x n ,

f ( x) g ( x ) (a 0 b0 ) (a1 b1 ) x (a n bn ) x n

Ako stepeni polinoma nisu jednaki u ovom formalnom zapisu na kraju polinoma sa
manjim stepenom dodamo dovoljan broj nula koeficijenata. Lako se pokazuje da je
(R[x],+) komutativna grupa. Mnoenje polinoma je definisano na uobiajen nain.
Naime k-ti koeficijent proizvoda f(x)g(x) je dat sa
ck

a b

i j k

Ako je R komutativan prsten tada je i r[x] komutativan prsten. Ako R ima jedinicu e
tada i R[x] ima jedinicu f(x)=e. Asocijativnost i distributivnost se lako pokau.
Napomenimo da se polinomi mogu identifikovati sa nizovima (a 0 , a1 , , a m ,0,0,) .
Stepen polinoma je najvei prirodan broj n takav da je n-ti koeficijent razliit od
nula. Stepen nula polinoma se oznaava sa -.
Ako je R oblast cijelih tada je R[x] oblast cijelih. Polinomi u R[x] nemaju
invertibilne elemente izuzev polinoma nultog stepena tj. R*[x]=R*.
Teorema : Neka je R prsten sa jedinicom e i R[x] prsten polinoma nad R. Neka je
f ( x) a 0 a1 x a m x m R x ,

g ( x) b0 b1 x bn x R x ,
n

am 0
bn R * .

25

Tada postoje jedinstveni polinomi q1 ( x) i r(x) R[x] takvi da je


f(x)=q1(x)g(x)+r(x), pri emu je deg(r)<deg(g).
Dokaz. Ako je m<n tada uzimamo f(x)=0g(x)+f(x) i prikaz je jedinstven. Neka je
sada mn. Dokaz vrimo indukcijom po m. Ako je m=0, tada je n=0 ili n=-. Poto
je vodei koeficijent od g(x) invertibilan to je n=0 i imamo f ( x) (b01 f ( x))b0 0.
Predpostavimo sada da je m>0 i da tvrdnja vrijeda za sve polinome manjeg stepena.
1
Definiimo polinom f1 ( x) f ( x) a m bn x n m g ( x) . Posmatrajmo n-ti koeficijent
ovog polinoma. Imamo a m (a m bn1 )bn 0 . Dakle polinom ima manji stepen od m
deg(r1 ) deg( g ) .
pa po pretpostavci indukcije vrijedi f1 ( x ) q ( x) g ( x ) r1 ( x),
Sada je
f ( x) f 1 ( x ) a m bn1 x m n g ( x ) q ( x) g ( x ) r1 ( x ) a m bn1 x m n g ( x ) ( q ( x ) a m bn1 x m n ) g ( x) r1 ( x).

Moramo je pokazati i jedinstvenost ovog prikaza:


Neka je f ( x) q1 ( x) g ( x) r1 ( x) q 2 ( x) g ( x) r2 ( x). Tada je i
(q1 ( x) q 2 ( x)) g ( x) r2 ( x) r1 ( x) . Kako ostatci pri djeljenju ri(x) imaju manji
r1 ( x) r2 ( x ) ime
stepen od g(x), ovo je mogue ako i samo ako je q1 ( x) q 2 ( x ),
je dokazana i jednistvenost.

Euklidovi prsteni i prsteni glavnih ideala


Neka je R oblast cijelih. Uvedimo oznaku R=R-{0}.
Definicija: Obast cijeli R nazivamo Euklidova oblast, ako postoji preslikavanje
: R N 0 koje zadovoljava sljedee uvjete:
(i) Za svako a,b,Rje (ab)(a).
(ii) Za svaki par elemenata a,bR, b0, postoje elementi q, rR takvi
da je a=bq+r, pri emu je r=0 ili je (r)<(b).
Primjeri : Ako u oblasto Z cijelih brojeva posmatramo apsolutnu vrijednost tada je Z
Euklidova oblast. U prstenu polinoma nad poljem K, uzmemo preslikavanje
( f ) 2 deg( f ) , tada je K[x], Euklidova oblast.
Teorem: Svaka Euklidova oblast je oblast glavnih ideala.
Dokaz. Neka je R Euklidova oblast i U ideal. Ako je U nula ideal tada je generiran sa
0 pa je i glavni. Predpostavimo da je U {0}. Skup {(a)|aU,a0} nije prazan i
ogranien je odozdo pa ima minimum. Neka je sada dU takvo da je (d) minimum
ovog skupa. Tada (d)U. Ako postoji xU-(d), tada kako je R Euklidova oblast
postoje i elementi q i r iz R takvi da je x=qd+r, gdje (r)<(d). Sada i r U odakle je
(r)=0 zbog naina izbora elementa d. Imamo da je x=qd to znai da je x(d) a to
je kontradikcija sa izborom elementa x. Dakle U=(d).

Gausove podgrupe
Neka je G komutativna polugrupa sa jedinicom u kojoj vrijedi zakon skraivanja.
Neka je G* skup jedinica (invertibilnih elemenata) polugrupe G.

26

Definicija: Neka su a,bG. Kaemo da je elemnt a djeljiv elementom b, ili da


element b dijeli element a ako i samo ako postoji element c G takav
da je a=bc. U tom sluaju piemo b|a ili a 0(mod b). U sluaju da a|b
i b|a, kaemo da su elementi a i b asocirani i piemo a~b.
Relacija djeljivosti je refleksivna i tranzitivna, a relacija asociranosti je relacia
ekvivalencije u polugrupi G.
Definicija: Za nenulti element pG-G* kaemo da je prost ako vrijedi p|abp|a
ili p|b.
Za element pG-G* kaemo da je ireducibilan ili nesvodljiv ako vrijedi
p=abaG* ili bG*.
Dakle, element p polugrupe G je nesvodljiv ako nema netrivijalnih faktora, tj.
faktora koji nisu invertibilni u G ili asocirani sa p.
Teorema : Svaki prost element polugrupe G je nesvodljiv.
Dokaz. Neka je p prost i p=ab. Tada kako p|p, slijedi da p|ab. Poto je p prost to p|a
ili p|b. No iz p=ab slijedi da a|p i b|p. Prema tome imamo da je p~a ili p~b.
Obratno ne vrijedi.
Definicija : Neka je G komutativna polugrupa sa jedininim elementom e u kojoj
vrijedi zakon skraivanja. Ako je a G i a up1 p 2 p r gdje uG* a
p1 , p 2 , , p r su nesvodljivi elementi, tada ovaj prikaz nazivamo
razlaganje elementa na nesvodljive faktore. Ako pored ovog
razlaganja imamo i razlaganje a vq1 q 2 q s gdje je vG* a
elementi q1 , q 2 , , q s su nesvodljivi, tada kaemo da su ova dva
razlaganja ekvivalentna ako je s=r i postoji permutaticja S r
takva da je p i ~ p (i ) i=1,2,...,r. Polugrupa u kojoj se svaki element
moe razloiti na nesvodljive faktore i to tako da su svaka takva
dva razlaganja ekvivalentna, zove se polugrupa sa jednoznanom
faktorizacijom ili Gaussova polugrupa.
Definicija: Neka je G komutativna polugrupa sa jedininim elementom e u kojoj
vrijedi zakon skraivanja. Kaemo da u polugrupi G vrijedi zakon
stacionarnosti
ako
za
svaki
niz
a1 , a 2 , , a i , ( a i G , a i 1 a i , i 1,2, )

postoji prirodan broj n takav da je ai~an (i=n+1,n+2,...).


Teorema : Ako u polugrupi vrijedi zakon stacionarnosti, tada se svaki element
polugrupe G moe razloiti na prizvod nesvodljivih faktora.
Teorema: Neka je G komutativna polugrupa sa jedininim elementom e u kojoj
vrijedi zakon skraivanja i neka je svaki njen nesvodljiv element prost.
Tada su, za svaki element a G, svaka dva razlaganja elementa a na
nesvodljive faktore ekvivalentna.

27

Teorema : Ako je G Gaussova polugrupa tada su ispunjeni uslov stacionarnosti i


svaki nesvodljiv element je prost.
Budui da je G komutativna polugrupa razlaganje elemenata a i b moemo pisati
kao

a up1e1 p 2e2 p rer ,

b vp1f1 p 2f 2 p rf r ,

f i nenegativni cijeli brojevi, u i v inveribilni elementi a pi nesvodljivi


gdje su ei ,
elementi u G.
Neka je g i min ei , f i , i I r . Element d p1g1 p 2g 2 p rg r dijeli elemente a i b i to je

najvei zajedniki djelilac elemenata a i b, tj. ako c|a i c|b tada c|d.
Najvei zajedniki djelilac obiljeavamo sa <a,b,> ili NZD(a,b).
Svaki konaan broj elemenata iz G ima najvei zajedniki djelilac, za svako
a, b, c G vrijedi <a,<b,c,>>=<<a,b>,c>,
c<a,b>=<ca,cb>, i
<a,b>~e, <a,c>~e<a,bc>~e.

Gaussovi prsteni
Neka je R komutativna oblast sa jedinicom. Tada je G=R=R-{0} multiplikativna
polugrupa. Smatramo da je 0 djeljiva sa svakim elementom prstena R.
Definicija: Komutativna oblast R sa jedininim elementom se zove prsten sa
jednoznanom faktorizacijom ili Gaussov prsten ako i samo ako je R
Gaussova polugrupa.
Tada vrijedi
Teorema : Neka je R Gaussov prsten i neka su a,b, p i u proizvoljni elementi iz R.
Tada vrijedi:
(a) a|b (a) (b).
(b) a~b (a)=(b).
(c) uR* (u)=R.
(d) p je prost element ako i samo ako je ideal (p) netrivijalan prost
ideal u R.
(e) p je nsvodljiv element ako i samo ako je ideal (p) maksimalan
nenulti glavni ideal prstena R.
Dokaz. 1) Ako a|b, onda postoji cR takav da je b=ca. To znai da b(a), pa je
(b)(a). Obrnuto, neka je (b) (a). Tada b(a), pa postoji cR takav da je b=ca tj. a|
b.
2) Kako a~b to a|b i b|a to je iz 1) ekvivalntno sa (b)(a) i (a)(b)tj. (a)=(b).
3) Ako uR* to postoji u 1 R , pa je e= u 1u R . Tada za svako xR ,x=xe(u), pa
je R(u). Kako je trivijalno i (u)R to je R=(u).

28

Obratno, ako je R=(u) tada postoji bR takvo da je bu=e, pa je u invertibilan


element.
4) Neka je p prost element iz R tj p|ab p|a ili p|b. Kako je p0 , (p)(0) i kako
pR* tp (p)R, pa je ideal (p) netrivijalan. Neka je sada xy(p). Tada postoji rR
takav da je xy=rp. To znai da p|xy p|x ili p|y a to znai da je x(p) ili y(p) pa je
ideal (p) prost.
Obratno neka je ideal (p) netrivijalan prost ideal u R. Poto (p)R, to pR*. Neka p|
ab. Kako je (p) prost, to a(p) ili b(p) pa p|a ili p|b pa je p prost.
5) Neka je p nesvodljiv element prstena R. Tada je p0 i pR* to implicira da je
(p)(0) i (p)R pa je (p) netrivijalan ideal. Predpostavimo da je (p)(a) za neki
element a iz R. Tada iz 1) a|p. Kako je p nesvodljiv ili je aR* ili a~p. Ako je aR*
tada je iz 3), (a)=R, a ako je a~p tada je iz 2) (a)=(p). Dakle (p) je maksimalan glavni
ideal prstena R.
Obratno, ako je (p) maksimalan glavni ideal prstena R i netrivijalan, to p0, pR*.
Neka je p=ab. Tada je (p)(a) i (p)(b) pa je (a)=R ili (a)=(p) i isto za b. To znai da
je aR* ili a~p tj ili je aR* ili bR*.
Vrijedi
Teorema : Svaka komutativna oblast glavnih ideala sa jedininim elementom je
oblast sa jednoznanom faktorizacijom.
Svaki Euklidov prsten je Gaussov prsten.

Prsteni polinoma nad Gaussovim prstenima


Ako je K polje, tada je K[x] Euklidov prsten tj. prsten glavnih ideala, pa dakle i
Gaussov prsten. Generalno vrijedi, ako je R Gaussov prsten tada je i R[x]
Gaussov prsten.
Definicija: Neka je R Gaussov prsten, a
f ( x ) a n x n a n 1 x n 1 a1 x a0 R x .
Tada se element m(f)=NZD( a 0 , a1 , , a n ) naziva mjera polinoma

f(x). Ako je m(f)=1 tada se kae da je polinom f(x) primitivan.


Gausova lema : Priozvod dva primitivna polinoma je primitivan polinom.
Nesvodljivi elementi prstena R[x] stepena veeg od nule se nazivaju
nesvodljivi polinomi.
Teorema : Neka je R oblast cijelih. Svaki netrivijalan prosti ideal prstena
polinoma R[x] je maksimalan ako i samo ako je R polje.
Za odreivanje nesvodljivosit polinoma koristan je Eisensteinov kriterij

29

Eisensteinov

kriterij:

Gaussov
prsten
i
f ( x ) a n x a n 1 x a1 x a0 R x . Ako postoji prost
p a1 , , p n 1 ali p a n i
element p prstena R takav da p a 0 ,
2
p a 0 , tada ne postoje polinomi u R[x] stepena veeg od nula
takvi da je f(x)=g(x)h(x)h.
Dokaz: Predpostavimo da je f(x)=g(x)h(x) i da su uslovi kriterija zadovoljeni. Neka
n

su g ( x ) bi x ,
i 0

Neka

je

n 1

nm

h( x) ci x i . Tada kako je p prost, p|a0=b0c0 i p a 02 , p


i 0

dijeli samo jedan od koeficijenata b0 i c0. Neka p|b0 i pco. Sa druge strane p
a n bm c n m p bm . Odavde postoji takvo i, 0im-1 da p|bj za 0j<i i pbi . Za
koeficijent ai (b0 ci bi 1c1 ) b1c0 prvi sabirak je djeljiv sa p a drugi nije to je
kontradikcija jer je ovaj koeficijent po pretpostavci djeljiv sa p. Dakle polinom f(x)
je nesvodljiv.
Slino se pokazuje
Poopetni

Eisensteinov

kriterij:

Neka

je

Gaussov

prsten

f ( x ) a n x n a n 1 x n 1 a1 x a0 R x . . Predpostavimo da za

neki prost element p prstena R vrijedi


p ai
(0 i n m), p a n m i p 2 a 0 .
Ako se polinom f(x) moe faktorisati u R[x], onda bar jedan od
njegovih faktora mora imati stepen manji ili jednak od m.

Bzuotov kriterij : Neka je f(x)K[x], deg(f)1. Tada je a nula polinoma f(x) u K


ako i samo ako (x-a)|f(x).
Dokaz: Neka je a iz K nuila polinoma f(x). Poto je f(x)=g(x)(x-a)+r, gdje rK,
uvrtavanjem x=a dobivamo 0=r. Obratno je trivijalno.
Definicija : Neka je K polje, f(x)K[x], deg(f)1. Kaemo da aK predstavlja nulu
polinoma f(x) viestrukosti v, ako
f ( x).
( x a ) v f ( x ) i ( x a ) v1
Teorema : Polinom f(x)k[x] stepena deg(f)=n1 ima u polju najvie n nula. Ako
su a1 , a 2 , , a m sve razliite nule polinoma f(x) u K sa
viestrukostima v1 , , v m respektivno, tada vrijedi

f ( x) ( x a1 ) v1 ( x a 2 ) v2 ( x a m ) vm g ( x)
pri emu je v1 v 2 v m n i polinom g(x) nema nula u polju K.
Teorema : Redukcioni kriterij. Neka je f(x) polinom sa cjelobrojnim
koeficijentima i p prost prirodan broj koji ne dijeli a n . Ako je polinom f ( x)
nesvodljiv u Z p x , tada je f(x) nesvodljiv u Z[x].

30

Napomenimo jo i sljedee : Svaki polinom iz C[x] gdje je C skup kompleksnih


brojeva ima bar jednu nulu u C. Za svako n u polju racionalnih brojeva postoji
nesvodljiv polionom stepena n. Nesvodljivi polinomi nad poljem realnih brojeva
su linearni ili kvadratni polinomi.

Moduli i vektorski prostori


Definicija :Neka je R prsten., M aditivna abelova grupa i preslikavanje R M u M
dato sa (r,m)rm takvo da vrijedi
(i)
r(m+n)=rm+rn,
(ii)
(r+p)m=rm+pm
(iii) (rp)m=r(pm)
(iv) 1m=m,
za sve r,pR i m,nM. Tada se M naziva lijevi R-modul, to se esto
zapisuje sa RM.
Ako je R tijelo tada se R-modul naziva lijevi vektorski prostor. Desni R-modul sa
definie na slian nain. Ako je R komutativan prsten tada su lijevi i desni R-moduli
identini i tada samo kaemo da je M, R-modul.
Neke od osnovnih osobina R-modula su
(i)
0m=m, mM,
Zaista, 0m=(0+0)m=0m+0m. Ako oduzmemo 0m na obije strane jednakosti
dobijamo 0=om.
(ii)
a0=0, aR.
Kako je am=a(m+0)=am+a0 Oduzimanjem am na obije strane dobijamo
0=a0.
(iii) (-a)m=-(am)=a(-m), aR,mM.
0=0m=(a-a)m=am+(-a)m (-a)m= - (am).
0=a0=a(m-m)=am+a(-m) a(-m)= - (am).
Primjeri modula:
a) Neka je A abelova grupa. Tada je ona i Z modul jer na=a+a+...+a zadovoljava
sve uslove definicije.
b) Ako je R prsten tada je on i R-modul sa preslikavanjem (r,m) rm, to je
proizvod ovih elemenata u prstenu R.
c) Ako je M skup matrica nad prstenom R (elementi matrice su elementi iz R)
sa uobiajenim sabiranjem, tada je M, R-modul gdje je preslikavanje rm
klasino mnoenje matrice sa skalarom.
d) Direktni proizvod modula. Neka su M i N oba R-moduli. Kartezijanski
priozvod M N , definiemo sa
(x,y)+(x,y)=(x+x,y+y)
r(x,y)=(rx,ry).
Za sve x, xM, y,yN, i r R. Tada je M N, R-modul, koji se naziva
direktni priozvod R-modula M i N.

31

Definicija : Neprazan podskup N od R-modula M se naziva R-podmodul od M


ako
(i)
a-bN za sve a,bN ( (N,+) je podgrupa grupe (M,+).)
(ii)
raN za sve aN, rR.
Jasno, (0), ili jednostavno 0, i M su R-podmoduli koji se nazivaju
trivijalnim podmodulima. Ako je M vektorski prostor tada se N
naziva podprostor. Ako je N, R-podmodul od M, tada je N takoer i
R-modul.
Primjeri : a) Svaki lijevi ideal u prstenu R je takoe i lijevi R-podmodul.
b) Podskup W={(a,0,0), aF} je podprostor prostora F3.
c) Ako je M, R-modul, tada za neko xM definiemo skup Rx={rx|rR}. Ovaj skup
je R-podmodul od M.
d) Neka je M, R-modul i xM, tada je skup K={rx+nx|rR, nZ} R-podmodul od
M, koji sadri x. Jasno je RxK. Ako prsten R sadri jedinicu tada vrijedi i obratno.
K je najmanji podmodul koji sadri x pa kaemo da je generisan sa elementom x i
piemo K=(x).
Teorem : Neka je ( N i ) iI familija R-podmodula od M. Tada je i
podmodul od M.

iI

R-

Neka je S neprazan podskup od M i I familija svih R-podmodula od M koji sadre


poskup S. Kako je MI, ova familija nije prazna. Presjek svih ovih podmodula je
najmanji podmodul koji sadri skup S i naziva se podmodul generisan skupm S i
oznaava sa (S). Za modul M kaemo da je konano generisan ako postoje elementi
x1 , x 2 , , x n M takvi da je M= ( x1 , x 2 , , x n ) . Ako je M generisan sa samo jednim
elementom kaemo da je cikliki modul.
Teorema : Ako je M R-modul generisan sa skupom x1 , x 2 , , x n , i 1R, tada je
M r1 x1 rn x n r1 , , rn R . Ovo se simboliki zapisuje sa
n

M Rxi .
i 1

Definicija : Neka je ( N i ) iI konana familija R-podmodula od M. Podmodul


Ni
generisan sa
se naziva suma podmodula N i , i I . i obiljeava
iI

N .
x x

se sa
Teorema :

N
iI

iI

xi N i

Ako familija I nije konana, tada na desnoj strani uzimamo samo konane sume.
Definicija : Neka je f preslikavanje R-modula M na R-modul N takvo da vrijedi
(i)
f(x+y)=f(x)+f(y)
(ii)
f(rx)=rf(x)
za sve x,yM, rR. Tada se f naziva R-linearno preslikavanje ( ili
jednostavno linearno preslikavanje) ili R-homomorfizam sa M u N.

32

Skup svih homomorfizama sa M u N se oznaava sa Hom R(M,N).


Ako je M=N, tada se f naziva endomorfizam od M, a skup svih
endomorfizama se oznaava sa End R(M). Ako je R tijelo, tada se f
naziva i linearna transformacija vektorskog prostora M u vektorski
prostor N.
Za homomorfizam f specjalno vrijedi
f(0)=0 ,
f(-x)=-f(x), f(x-y)=f(x)-f(y)

Definicija : Neka je f:MN R-homomorfizam. Tada


(i)
Skup Ker(f)={xM|f(x)=0} se naziva jezgro homomorfizma
f.
(ii)
Skup Im(f)=f(M)={yN|xM, f(x)=y} se naziva slika
homomorfizma f.
Lako se provjeri da su oba ova skupa podmoduli modula M i N respektivno.
Ako je f bijektivno preslikavanje tada se za homomorfizam kae da je izomorfizam
a za module M i N da su izomorfni to se obiljeava sa MN. Izomorfizam je
relacija ekvivalencije.
Vrijedi fundamentalni teorem R-homomorfizama.
Teorema : Neka je f:MN, R-homomorfizam. Tada vrijedi M / Ker ( f ) Im( f ).
Definicija : Za podskup B R-modula M kaemo da je baza ako je M generisan sa
B i ako je skup B linearno nezavistan. Ako modul M ima bazu kaemo
da je M slobodni modul.
Teorema : Ako je V nenulti konano generisan vektorski prostor nad poljem F,
tada V doputa konanu bazu.
O bazama i linearnim transformacijama se uilo u kursu linearna algebra, te ih
ovdje neemo detaljnije raditi.

Uvod u kriptografiju
Istorijski gledano kriptografija se pojavljuje jo u Starom Egiptu kada je tokom
ratova bilo potrebno prenositi poruke sa jednog mjesta na drugo a da ih neprijatelj
ne sazna. Jedan od prvih naina prenosa tih poruka bio je da se rob oia na elavo,
te da mu se poruka istetovira na glavi. Nakon to mu kosa naraste, pusti se da ode
do mjesta gdje treba isporuiti poruku. U staroj Grkoj se koristio tap tano
odreene debljine. Kada se traka namota na tap, poruka se ispie na traci. Zatim se
traka odmota i preostala mjesta se ispune proizvoljnim slovima ukoliko je potrebno
(moe se koristiti i vie redova za poruku). Prenosi se traka sa slovima na njoj. Da bi
se poruka proitala bilo je potrebno imati tap iste irine na koji bi se obmotala
traka i slova bi se poredala kao u poruci. Dalje su se koristile supstitucijske ifre. U
supstitucijskim iframa zamjenimo slova npr. umjesto A piemo K, umjesto B
piemo F i td. Dakle svakom slovu dodjelimo jednoznano slovo koje piemo
umjesto originalnog slova.

33

A
K

B
F

C
R

D
A

D
E

E
P

F....
...

Tako bi rije ADA pisali KAK


Kriptoanaliza je nauka razbijnja ifri. Statistikom analizom velikog teksta ( ili niza
tekstova) moe se utvrditi koliko se procentualno svako slovo pojavljuje u tekstu.
Tako bi na primjer u nekom jeziku dobili da se slova nalaze sa sljedeim procentima
A
33%

B
12%

C
7%

0.5%

0.2%

D
3%

2%

D
0.6%

E
26%

F...
4%...

Ako imamo npr. ifrirani tekst


KPKAFPPAFKK
Vidimo da se K pojavljuje najvei broj puta pa uzimamo da je AK, P se pojavljuje
3 puta pa predpostavljamo da je PE i td. Ako je ifrirani tekst dovoljno veliki
( poto se ifre ne mogu razmijenjivati uvijek koristimo iste pa neprijatelj moe doi
u posjed velikog broja ifrata) ova statistika e se priblino poklapati tj. moemo sa
sigurnou odrediti zamjene za pojedina slova i predpostaviti zamjene za preostala.
Dalje je iz konteksta lako obrediti ifru a time i itati poruke.
Supstitucijska ifra se moe koristiti i za grupe ( od npr. dva znaka) ali je
kriptoanaliza ista.
Dalje se koristila Viegnerova ifra (1586). Uzmemo rije duine m. Dalje, svakom
slovu alfabeta pridruimo broj koji oznaava njegovo mjesto u abecedi.
Tekst koji elimo da ifriramo podijelimo na blokove od m slova i slino svakom
slovu pridruimo dogovarajui broj. Tom broju se dodaje broj u kljuu po modulu
30(broj slova u abecedi).
Neka je npr. kljuna rije JAJE. Njen numeriki ekvivalent je K=(13,0,13,8). Ako
elimo da ifriramo rije AIDA iji je numeriki koeficijent R=(0,12,5,0) tada
dobivamo ifrat
K=(13,0,13,8)+
R=(0,12,5,0)=
13,12,18,8 to odgovara tekstu JINE. U ifriranom tekstu slovo A se preslikalo u
slova J i E to oteava kriptoanalizu.
Postoji jo niz slinih istorijskih ifri. Kriptoanaliza se pojavljuje u II svjetckom ratu
kada britanci razbijaju njemaku mainu za ifriranje ENIGMU.
Za ifriranje moemo uvesti osnovne pojmove:

34

KLJU
Otvoreni
tekst
POILJALAC

KLJU
Otvoreni
tekst

ifrat
IFRIRANJE

DEIFRIRANJEE

PRIMALAC

PROTIVNIK

Zadatak kriptografije je komuniciranje poiljaoca i primalaca tako da protivnik nije


u stanju da ita njihove poruke. Taj postupak ima dva procesa, ifriranje i
deifriranje poruka. Kriptoanaliza je otkrivanje otvorenog teksta bez poznavanja
kljua. Kriptografija i kriptoanaliza zajedno ine kriptologiju.
Kriptografski algoritam ili ifra je algoritam koji slui za ifrovanje odnosno
deifrovanje poruka. Obino su to neke matematike funkcije koje zavise od
kljueva. Skup svih vrijednosti koje kljuevi mogu uzeti se naziva prostor kljueva.
Kriptosistem se sastoji od kriptografskog algoritma i svih moguih otvorenih
tekstova, ifrata i kljueva.
Definicija: Kriptosistem je ureena petorka (P, C, K, E, D) gdje su
(a) P je konaan skup svih moguih elemenata otvorenog teksta
(b) C je konaan skup svih osnovnoh elemenata ifrata
(c) K je prostor kljueva, tj. konaan skup svih moguih kljueva
(d) Za svaki kK, postoje funkcije ifrovanja i deifrovanja ek E , d k D
respektivno sa osobinom da za svaki element otvorenog teksta x P
vrijedi
d k (ek ( x)) x .
Napomenimo da se dananja kriptografija jo pored ifriranja bavi i problemem
digitalnih potpisa, autentinosti poruka, utvrivanjem pinova u bankama i sl.
U dananje vrijeme se koristi digitalni zapis tj. niz nula i jedinica.
Ako imamo tekst duine n ( n bitova) teorijski ako bacamo novi n puta i
zapisujemo rezultate, vjerovatnoa da emo pogoditi ovih n bitova je 1

2n

. Zbog

toga se ifrovanje smatra sigurnim ukoliko je vjerovatnoa pogaanja teksta upravo


reda 1

2n

Neka je sada dat niz 0 i 1 duine n. Za klju uzmemo proizvoljnu ureenu n-torku i
nakon toga vrimo operaciju XOR po komponentama.
Primjer neka je klju K=(1,1, 0,1, 0,0, 1,0) i niz koji ifriramo N=(0,0,1,1,1,1,0,0) kao
rezultat dobijamo
K XOR N=(1,1,1,0,1,1,1,0).
Poto je klju nepoznat za svako mjesto imamo dvije mogunosti 0 i 1 tako da je
vjerovatnoa pogaanja originalne n-torke upravo 1

2n

35

Napomenimo da operacija XOR u kompjuterskoj nauci je zadana sa


XOR

a u Z 2 operacija sabiranja sa

Dakle ove operacije su identine. Sada moemo posmatrati direktni proizvod grupa
Z 2 Z 2 Z 2 Z 2n sa nasljeenom operacijom sabiranja. XOR ifriranje se svodi
na sljedee: Uzmemo proizvoljan element K Z 2n da bude klju. Element N
ifriramo tako da izvrimo sabiranje N+K a deifrovanje je N=(N+K)+K.

Nedostatak XOR ifriranja je taj to duina kljua mora biti jednaka duini
otvorenog teksta da bi zadrali najmanju vjerovatnou pogaanja teksta. Ukoliko
isti klju, duine n, primjenjujemo na blokove duine n, tada je vjerovatnoa
pogaanja teksta opet 1

2n

, ali je duina otvorenog teksta monogo vea.

Napomenimo jo da u kompjuterskoj nauci imamo operaciju AND definisanu sa


AND 0

a mnoenje u Z 2

je definisano sa

0 0

dakle bitovi sa operacijama XOR i AND odgovaraju polju ( Z 2 ,+,) (izomorfizam), a


vrenje ovih operacija po komponentama odgovara direktnom proizvodu polja
( Z 2n , +,).

36

Ekstenzije polja
Neka je F polje i f[x] polje polinoma u x nad F. Znamo da je F[x] oblast cijelih sa
jedininim elementom 1 koja sadri F kao potpolje. Polinom f(x) iz F[x] se naziva
nesvodljiv ako je deg(f)1 i kad god f(x)=g(x)h(x) za neke polinome g(x), h(x)F[x]
tada g(x)F ili h(x)F. Ako polinom nije nesvodljiv, tada se naziva svodljiv
polinom.
Osobina svodljivosti zavisi od polja. Tako je npr. polinom x 2 1 nesvodljiv nad R,
ali je svodljiv nad C i Z 2 .
Osobine od F[x]
Podsjetimo se osnovnih osobina od F[x]:
1.) Algoritam za dijeljenje vrijedi u F[x], tj. za svaka dva polinoma f(x) i g(x) iz
F[x] postoje polinomi h(x) i r(x) iz F[x] takvi da je f(x)=g(x)h(x)+r(x) pri
emu je deg(r)<deg(g).
2.) F[x] je prsten glanih ideala
3.) F[x] je domen sa jednoznanom faktorizacijom
4.) Invertibilni elementi u F[x] su nenulti elementi polja F[x].
5.) Ako je p(x) nesvodljiv u F[x], tada je F[x]/(p(x)) polje i obratno.
Vrijedi.
Propozicija : Ako je f(x) F[x] polinom stepena >1. Ako je f(a)=0 za neko a F,
tada je f(x) svodljiv nad F[x].
Dokaz. Ako je f(a)=0 tada (x-a)|f(x) pa je f(x)=(x-a) g(x) za neko g(x) F[x] i
oigledno 0<deg(g)<deg(f) pa je f(x) svodljiv.
Propozicija : Neka je f(x)F[x] polinom stepena 2 ili 3. Tada je f(x) svodljiv ako i
samo ako f(x) ima korijen u F.
Dokaz. Neka je f(x) svodljiv tj. f(x)=g(x)h(x) gdje su oba polinoma g(x) i h(x)
stepena >0. Tada bar jedna od njih ima stepen 1 tj. bar jedan od njih je linearan.
y a 1b
Neka
je
to
g(x)=ax+b,
a,bF.
Sada
za
vrijedi
1
ay b a ( a b) b b b 0 pa je f(y)=0. Obratno slijedi iz prole propozicije.
Primjer:
Formirati sve polinome stepena 4 nad Z 2 i odrediti koji su nesvodljivi.
Koeficijenti polinoma nad Z 2 su elementi iz Z 2 te mogu biti samo nula i jedan.
Dakle polinomi stepena 4 su

f 1 ( x) x 4 ,

f 2 ( x) x 4 x 3 ,

f 6 ( x) x 4 x 3 x 2 ,

g1 ( x) x 4 1,

f 3 ( x) x 4 x 2 ,

f 7 ( x ) x 4 x 2 x,

g 2 ( x) x 4 x 3 1,

g 5 ( x) x 4 x 3 x 1,

f 4 ( x ) x 4 x,

f 5 ( x) x 4 x 3 x

f 8 ( x) x 4 x 3 x 2 x

g 3 ( x) x 4 x 2 1,

g 6 ( x) x 4 x 3 x 2 1,

g 4 ( x) x 4 x 1,

g 7 ( x) x 4 x 2 x 1,

g 8 ( x ) x 4 x 3 x 2 x 1.

37

Polinomi f i (x ) su svi djeljivi sa x tj. imaju korijen 0 pa nisu nesvodljivi. Polinomi


g i (x) sa parnim brojem nenultih koeficijenata imaju korijen 1 pa nisu nesvodljivi.
Dakle ostaje da provjerimo nesvodljivost polinoma g 2 , g 3 , g 4 , g 8 . Poto ni 0 ni 1
nisu nule ovih polinoma oni nemaju linearnih faktora pa treba provjeriti imaju li
kvdratne faktore.
g 2 ( x) x 4 x 3 1 (ax 2 bx c)(dx 2 ex f )
adx 4 (ae bd ) x 3 (af be cd ) x 2 (bf ce) x cf
a d 1,

c f 1,

e b 1,

be 0,

b e 0,

to je nemogue, dakle polinom je nesvodljiv.


g 3 ( x) x 4 x 2 1 (ax 2 bx c)(dx 2 ex f )
adx 4 (ae bd ) x 3 (af be cd ) x 2 (bf ce) x cf

a d 1, c f 1, e b 0, be 1, b e 0
pa je polinom svodljiv.

b e 1

g 4 ( x ) x 4 x 1 (ax 2 bx c )(dx 2 ex f )
adx 4 (ae bd ) x 3 (af be cd ) x 2 (bf ce) x cf

a d 1, c f 1, e b 0, be 0, b e 1,

to je nemogue pa je polinom nesvodljiv.


g 8 ( x ) x 4 x 3 x 2 x 1 (ax 2 bx c )(dx 2 ex f )
adx 4 (ae bd ) x 3 (af be cd ) x 2 (bf ce) x cf

a d 1, c f 1, e b 1, be 1, b e 1

to je nemogue pa je polinom nesvodljiv.


Z 2 x
polje sa elementima {0,1,x,x+1, x 2 , x 2 1, x 2 x, x 2 x 1, x 3 ,
( x x 1)
x 3 1, x 3 x, x 3 x 2 , x 3 x 1, x 3 x 2 x, x 3 x 2 1, x 3 x 2 x 1 }. Operacije sabiranja u
ovom polju je jednostavno sabiranje polinoma npr.

Sada je npr.

( x 3 x 1) ( x 2 x) x 3 x 2 ( x x) 1 x 3 x 2 2 x 1 x 3 x 2 1 .

A mnoenje se vri po modulu g ( x) x 4 x 1 npr.


( x 3 x 1)( x 2 x) x 5 x 4 x 3 2 x 2 x x 5 x 4 x 3 x x( x 4 x 1) x 4 x 3 x 2
( x 1)( x 4 x 1) x 3 x 2 x 1

pa

je

( x 3 x 1) x 2 x) x 3 x 2 x .

Raunanje po modulu je esto komplikovano pa se koristi matrini raun. Naime


ako elimo da pomnoimo dva polinoma f ( x) a n x n a n1 x n 1 a 0 i
g ( x) bn x n bn 1 x n 1 b0 tada od koeficijenata polinoma f(x) formiramo
matricu

38

an
a
n 1

a
0

0

bn
b
n 1

a n 0 0

. Koeficijente polinoma g(x) sada stavimo u vektor kolonu
a1 a n


0 a 0
. Mnoenjem ove matrice sa vektor kolonom daje koeficijente proizvoda

b0
polinoma f(x) i g(x). Napomenimo da matrica ima dimenzije 2n+1 (n+1) .

Ako vrimo mnoenje po modulu h( x) c n 1 x n 1 c n x n c1 x c 0 , tada treba da


redukujemo matricu na sljedei nain:
Prvi red mnoimo sa koeficijentom c j i dodajemo (n+2-j)-tom redu. U prvom redu
emo dobiti sve nule pa taj postupak nastavljamo sa drugim redom, i td. sve do
(n+1)-vog reda. Kao rezultat imamo matricu koja daje proizvod polinoma f(x) i g(x)
po modulu h(x). Napomenimo da se ovaj postupak moe generalizirati na polinome
sa proizvoljnim stepenima, tako da prvobitna matrica ima upravo kolona koliko i
g(x) koeficijenata, a redukciju u toj matrici vrimo sve do deg(h)+1-og reda.
Primjer:
Polinomu x 3 x 1 odgovara matrica
1 0 0 0
0 1 0 0

1 0 1 0
1 1 0 1 pa klasino mnoenje sa polinomom x 2 x realizujemo sa

0 1 1 0
0 0 1 1
0 0 0 1
1 0 0 0
0 1 0 0


1 0 1 0
1 1 0 1


0 1 1 0
0 0 1 1
0 0 0 1

0
1

1

1 to odgovara polinomu x 5 x 4 x 3 x .
1
0

1
0

0
1

Mnoenje po modulu x 4 x 1 se realizuje pomou redukovane matrice sa

39

1 1 0 0 0 0 0 0 0 0 0

0
1 0 1 0 0 0 0 0 0 0

0 1 0 0

0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0
1 1 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1
1
1 0 1 1 0 0 0 0 1 0 0 0 1 0
0 1 1 0

0 0 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1
0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1

Sada imamo mnoenje


0
0

1
0
1
0

0
0

0
1
0
1

1
0
1

0
1
1

1
1
1


0
1

to daje upravo eljeni polinom. Ako sada elimo da opet

koristimo mnoenje polinoma f(x) u istom polju, matricu ne moramo ponovo


formirati jer ne zavisi od g(x) . Tako npr. f(x)(x+1) realizujemo sa
1 0
1

1
0 1 0 0
pa dobivamo polinom ( x 3 x 2 x) . Zaista,
1
1 0 1 1


0 1 1 1
0
3
4
( x x 1)( x 1) x x 3 x 2 x x 1 ( x 4 x 1) x 3 x 2 x x 3 x 2 x(mod x 4 x 1)
0

Definicija: Ako je F potpolje polja E tada kaemo da je E ekstenzija polja F.


Ako je E ekstenzija polja F tada to dijagramom obino predstavljamo sa
E

F
Ako je E ekstenzija nad F tada je trivijalno E vektorski prostor nad F. Dimenzija tog
vektorskog prostora se naziva stepen od E nad F i obiljeava sa [E:F]. Ako je
[E:F]<, kaemo da je E konana ekstenzija nad F a u suprotnom kaemo da je
beskonana.

40

Teorem: Neka su FEK polja. Ako su [K:E]< i [E:F]<, tada


(i)
[K:F]<
(ii)
[K:F]=[K:E][E:F].
Teorem: Neka je p(x) nesvodljiv polinom u F[x]. Tada postoji ekstenzija E polja F
u kojoj p(x) ima korijen.
Dokaz. Poto je p(x) nesvodljiv, E=F[x]/(p(x)) je polje. Svaki element a iz F moemo
identifikovati sa a a ( p ( x)) pa je E ekstenzija polja F. Sa druge strane ako je
n

p ( x) a i x i
i 0

polinom

p ( x) ai x i

=0 pa je element x x ( p ( x )) nula

i 0

polinoma p(x).
Kao posljedicu imamo: Za svaki nekonstantan polinom iz F[x] postoji ekstenzija
polja F u kojoj taj polinom ima nulu.
Neka je p(x) nesvodljiv polinom u F[x] koji ima korijen koji oznaavamo sa u
u ekstenziji E polja F. Sa F(u) oznaimo potpolje od E generisano sa F i u tj., F(u) je
najmanje potpolje od E koje sadri polje F i elemenat u. Posmatrajmo preslikavanje
:F[x] E definisano sa
(b0 b1 x bm x m ) b0 b1u bm u m ,

gdje b0 b1 x bm x m F x . Oigledno je homomorfizam ije jezgro sadri


polinom p(x) jer je p(u)=0. Pokazaemo da je ker=(p(u)). Poto je F[x] prsten
glavnih ideala postoji polinom g(x) takav da je ker=(g(x)). Poto p(x)ker to
postoji polinom h(x) nad F takava da je p(x)=h(x)g(x). Kako je p(x) nesvodljiv
g(x)F ili h(x)F. Polinom g(x) ne moe biti konstantan jer bi tada jezgro
homomorfizma bilo itav prsten F[x] pa je h(x) konstantan polinom a polinomi p(x)
i g(x) su asocirani odakle slijedi da je ker=(g(x))=(p(x)). Po fundamentalnom
teoremu homomorfizma sada imamo da je
m
m
F[x]/(p(x))Im()={ b0 b1u bm u E b0 b1 x bm x F x }=F[u].
Poto je F[x]/(p(x)) polje i F[u] je polje. Oogledno je to najmanje polje koje sadri i
F i u, pa je F[u]=F(u). Neka je n stepen polinoma p(x). Kako u nije nula ni jednog
polinoma nad F stepena manjeg od n ( jer tada p(x) ne bi bio nesvodljiv) skup {
1, u , u 2 , , u n 1 } ini bazu vektorskog prostora F(u) nad F i [F(u):F]=n. Ovim smo
dokazali sljedei teorem:
Teorem: Neka je p(x) nesvodljiv polinom u F[x] i u korijen od p(x) u proirenju E
polja F. Tada
(i)
F(u), potpolje generisano sa F i u je skup
m
m
F[x]={ b0 b1u bm u E b0 b1 x bm x F x }
(ii)
Ako je stepen polinoma p(x) jednak n, tada skup { 1, u , u 2 , , u n 1
} ini bazu od F(u) nad F, tj. svaki element iz F(u) se na
jednistven nain moe napisati kao c0 c1u c n 1u n 1 , ci F
i [F(u):F]=n.
Primjeri: a) Proirenje polja R sa korijenom polinoma x 2 1 koji se naziva
imaginarna jedinica ima elemente oblika a+bi, a,bR. Ovo polje je polje
kompleksnih brojeva.
41

b) Polinom x 2 x 1 Z 3 x je nesvodljiv i proirenje polja Z 3 koje sadri korijen


ovog polinoma ima devet elemenata.

Algebarska proirenja polja


Definicija: Neka je E proirenje polja F. Za element E kaemo da je algebarski
(n 1) iz F, od kojih nisu svi
nad F ako postoje elementi a 0 , a1 , , a n
jednaki nula, takvi da je
a0 a1 a n n 0.
Drugim rijeima, element E je algebarski nad F ako postoji ne
konstantan polinom p(x)F[x] takav da je p()=0.
Teorem: Neka je E proirenje polja F i uE algebarski element nad F. Neka je
p(x)F[x] polinom najmanjeg stepena takav da je p(u)=0. Tada
(i)
p(x) je nesvodljiv nad F.
(ii)
Ako je g(x)F[x] takav da je g(u)=0 tada p(x)|g(x).
(iii) Postoji tano jedan moniki polinom p(x) F[x ] najmanjeg
stepena takav da je p(u)=0.
(iv)
Definicija: Moniki nesvodljiv polinom najmanjeg stepena iji je korijen u se
naziva minimalni polinom elementa u.
Definicija: Proirenje E polja F se naziva algebarsko ako je svaki element od E
algebarski nad F. Proirenja koja nisu algebraska se nazivaju
transcedentna.
Teorem: Ako je E konano proirenje polja F, tada je algebrasko proirenje.
Teorem: Ako je E proirenje polja F i u E alebarski and F, tada je F(u)
algebarsko proirenje polja F.
Napomenimo da svako algebarsko proirenje polja ne mora biti konano.

42

Ako je proirenje polja F generisano sa n elementata tada to proirenje ne mora biti


algebarsko, ali ako su svi elementi iz generatorskog skupa algebarski nad F, tada je i
proirenje algebarsko nad F. Za polje kaemo da je algebarski zatvoreno ako nema
pravih algebarskih proirenja. U tom sluaju je svaki nesvodljiv polinom linearan,
svaki polinom se kompletno razlae na linearne faktore i svaki polinom nad tim
poljem ima bar jedan korijen. Primjer takvog polja je polje kompleksnih brojeva.
Definicija: Neka je f(x) polinom u F[x] stepena 1. Tada proirenje E polja F se
naziva polje razlaganja polinoma f(x) ako
(i)
se f(x) razlae na linearne faktore nad E tj.
f ( x ) c( x 1 ) ( x n ) , gdje 1 , , n E .
(ii)
E=K( 1 , , n )
(iii)
Polje razlaganja je konano te odavde i algebarsko proirenje polja F. Sva polja
razlaganja polinoma f(x) nad F su meusobno izomorfna nad F.

Viestruki korijeni
n

i
Neka je f ( x) ai x polinom nad poljem F. Definiimo derivativ od f(x) sa
i 0

f ( x) iai x i 1 . Napomenimo da tvrdnje za izvode u analizi I ovdje ponekad ne


i 0

vrijede. Npr. Ako je karakteristika polja 5 tada f ( x) x 5 f ( x) 5 x 4 0, iako f(x)


nije konstantan.
Sa druge strane vrijedi
(af(x)+bg(x))'=af'(x)+bg'(x)
(f(x)g(x))'=f'(x)g(x)+f(x)g'(x)
odakle slijedi teorema
Teorema: je viestruki korijen od f(x) ako i samo ako je f'()=0.
Dalje vrijedi: Ako je f(x) nesvodljiv polinom nad F, tada f(x) ima viestruki korijen
ako i samo ako f'(x)=0. Naime ako je u viestruki korijen od f(x) tada je f(u)=0 i
f'(u)=0. Ali deg(f ')<deg(f) je kontradikcija sa injenicom da je f(x) minimalan
polinom od u.
Specijalno vrijedi da nesvodljivi polinomi polja karakteristike nula imaju samo
jednostruke korijene, a nesvodljivi polinom f(x) polja F karakteristike p0 ima
viestruke korijene ako i samo ako postoji polinom g(x)F[x] takav da je f(x)=g(x p
).
Teorema: Svi korijeni nesvodljivog polinoma imaju istu viestrukost.

43

Konana polja i polinomi nad konanim poljima


Teorem : Neka je F konano polje. Tada je F* ciklika grupa.
Dokaz. Neka je |F*|=n. Neka je d|n i aF takvo da je a d 1. Tada je a korijen
polinoma x d 1 F x . Ovaj polinom ima samo d nula u F( to su elementi <a>).
Ako bi postojale dvije ciklike grupe reda d njihova unija bi imala vie od d
elemenata. Dakle F* ima najvie jednu cikliku podgrupu reda d pa je F* ciklika
grupa.
Odavde slijedi da moemo nai element koji generie cikliku grupu F*.
Poznato je da je Z p konano polje reda p ako je p prost broj. Ako je F konano polje
tada je njegova karakteristika prost broj p. Neka je red polja F jednak n. Tada p|n.
Naime kako grupa (F,+) ima red n svaki element ove grupe ima red djeljiv sa n, tj.
za svaki element x iz F vrijedni nx=0. Sada je n=mp+r, 0r<p, pa iz nx=m(px)+rx
slijedi 0=rx to je kontradikcija sa definicijom karakteristike p.
Definicija : Polje F se naziva prosto polje ako nema pravih podpolja.
Teorema : Prosto potpolje polja F je izomorfno sa Q ili sa Zp.
Dokaz. Neka je e jedinini element od F. Posmatrajmo preslikavanje f:Z F dato sa
f(n)=ne. Oito je f(n) homomorfizam. Ako je Ker(f)={0} tada je preslikavanje
sirjektivno i itav skup cijelih brojeva se moe umetnuti u F. Poto je Q najmanje
potpolje koje sadri Z i cijli skup Q se moe umetnuti u F pa je F najmanje
netrivijalno potpolje u F.
Ako je Ker(f)0, tada je Ker(f) ideal. Kako je Z prsten glavnih ideala postoji broj m
takav da je Ker(f)=(m). Ali sada je Z/(m)Im f. Kako je Im(f) potprsten polja F koji
nema netrivijalnih djeljitelja nule, m mora biti prosti broj p. Dakle umetnuli smo Z p
u F tj. prosto potpolje polja F je izomorfno sa Zp.
Teorema : Neka je F konano polje. Tada
(i)
Karakteristika polja je prost broj p i F sadri potpolje izomorfno sa
Zp.
(ii)
Broj elemenata od F je pn za neki pozitivan cio broj n.
Dokaz: (i) je ve dokazano. Za dokaz (ii) posmatrajmo polje F kao vektorski prostor
nad njegovim prostim potpoljem Fp. Neka je ( e1 , e2 , , e n )
baza tog vektorskog
prostora. Tada se svaki element iz F moe na jednistven nain napisati kao
a a1e1 a n en , ai F p , i 1, , n .
n
Kako imamo p ovakvih zapisa, to imamo i toliko elemenata polja F.
Konano polje reda q se naziva jo i Galoovo polje (Galois) i obiljeava se sa F q ili
GF(pn). Kako je grupa F* ciklika i ima q-1 element to svi njeni elementi su rjeenja
jednaine x q 1 1 0 . Pomoimo ovo sa x dobivamo jednainu x q x 0 koju
zadovoljavaju svi elementi polja F q. Sa druge strane ova jednaina ima samo q
rjeenja pa je polje sa q elemenata polje razlaganja polinoma x q x nad Z p .
Odavde slijedi da su svaka dva polja istog reda izomorfna.

44

Teorema: Za svki prost broj p i pozitivni cio broj n korijeni polinoma f(x)=
x p x Z p x
n

u polju razlaganja ovog polinoma su meusobno razliiti i ine polje sa


elemenata.

Dokaz:
Neka je E polje razlaganja polinoma f(x). Kako je f'(x)= p n x p 1 1 1 0 polinom
f(x) ima samo jednostruke nule pa su svi njegovi korijeni meusobno razliiti i ima
ih upravo p n . Neka su sada a i b korijeni ovog polinoma. Kako je
a 1b
(a b) p a p b p a b, (a 1b) p (a p ) 1 b p a 1b to su i elementi a b,
korijeni polinoma f(x) pa skup svih korijena ovog polinoma ini polje sa p n
elemenata.
n

pn

0 mod p za i 0, p n .
Napomenimo da je svaki binomni koeficijent oblika

i
Teorema: Neka je F konano polje sa p n elemenata i m prirodan broj. Tada
postoji proirenje E polja F takvo da je [E:F]=m, i sva ova proirenja
su izomorfna.
Dokaz: Posmatrajmo polinom f ( x) x mn x F x . Za elemenat 0 u F slijedi da
je u p 1 1 . Poto n|nm to i p n 1 p nm 1 te odavde u p 1 1 u p u . Dakle
elementi iz F su korijeni od f(x). Iz prethodnog teorema postoji polje E sa p nm
elemenata koji su korijeni polinoma f(x) pa sada imamo da je F potpolje polja E i
[E:F]=m.
n

nm

nm

Teorema: Neka je E konano proirenje polja F tada E=F(a).


Dokaz. Kako je E* ciklika grupa ona je generisana sa elementom a. Najmanje polje
koje sadri i a i F tj polje F(a) je upravo E.
Teorema: Neka je F konano polje. Tada za svako n postoji nesvodljiv polinom
stepena n nad F.

Za dva polinoma f(x),g(x) F[x] kaemo da induciraju isto preslikavanje nad F ako
je f(a)=g(a) za svaki element a iz F.
Ako je stepen polinoma f(x)F[x], n=deg(f) manji od q tada polinom f(x) ima
najvie n nula u F. Polinomi f(x) i g(x) induciraju isto preslikavanje na F ako i samo
ako vrijedi
f ( x ) g ( x)(mod x q x) . Zaista, ako su kongurentni tada f(x)-g(x)=(x q-x)m(x) .
Uvrtavanjem bilo kojeg elementa a iz F imamo da je f(a)=g(a). Obratno, ako je
f(a)=g(a) za svaki element polja F tada x q x f ( x ) g ( x) .
Dakle, da bi smo posmatrali preslikavanja nad konanim poljem F treba da
posmatramo samo polinome stepena manjeg od q.

45

Neka je : F F proizvoljno preslikavanje polja u samog sebe. Tada postoji


polinom f(x)F[x] takav da je f(a)=(a) za svako aF. Polinom f(x) jednostavno
dobivamo LaGrangeovom interpolacionom formulom

f ( x)

( x w)

wF , w s

sF

(s)

( s w)

wF , w s

ili pomou formule


f ( x) (1 ( x s ) q 1 ) ( s )
sF

ili koeficijente polinoma moemo dobiti direktno pomou formule


a k s q 1 k ( s ) .
sF

Neka je F polje reda q. Bijektivno preslikavanje polja u samog sebe inducira


bijektivni polinom koji nazivamo permutacioni polinom. Znamo da ima q!
permutacija skupa sa q elemenata. U kriptografiji koristimo preslikavanje ureene
n-torke u neku drugu ureenu n-torku, tj. preslikavamo skup 0,1 n 0,1 n
bijektivno u samog sebe. Preslikavanje zavisi od kljua tj. za svaki klju a formiramo
n
n
bijektivno preslikavanje f a : 0,1 0,1 . Ako klju ima duinu m tada imamo 2 m
razliitih preslikavanja. Ako ureene n-torke posmatramo kao elemente polja onda
je preslikavanje f a predstavljeno pomou permutacionog polinoma. Dakle mi
koristimo 2 m permutacionih polinoma u nekom blok-chiperu od postojeih 2 n !
moguih permutacija. Linearni polinomi su bijektivna preslikavanja ali se u
kriptografiji koriste nelinearni polinomi. S-kutije su te koje obezbjeuju
nelinearnost.
Naravno da bi neki blok-chiper bio valjan potrebno je i da je
m
f a1 ( s ) a 0,1 K
F za svaki element s iz F.

Posmatrajmo jednostavan primjer


P=2, n=2, nesvodljivi polinom stepena 2 nad Z2 je f ( x) x 2 x 1 te dobivamo polje
Z x
F4 2
0,1, , 1 . Preslikavanje
( f ( x))
h: 01, 11+, 0, +1 je dato pomou polinoma h(x)=1+ x 2 .
U kompjuterskoj terminologiji imamo preslikavanje
x
00
01

h(x)
01
11
46

10
11

00
10

Napomenimo jo da je stepen bijektivnog polinoma strogo manji od q-1.

Booleova algebra
Definicija: Booleova algebra je skup B={x,y,...,0,1,...} sa tri operacije,
sabiranjem x, yx+y, mnoenjem x, yxy i komplementom xx'
koje zadovoljavaju sljedee osobine
(i)
Sabiranje je komutativno i asocijativno i x+0=x, 1+x=1 za sve
x.
(ii)
Mnoenje je komutativno i asocijativno i 1x=x, x0=0 za sve x.
(iii) Distributivni zakon: x(y+z)=xy+xz vrijedi za sve x,y, i z.
(iv) Svako x ima komplement za koje x+x'=1, i xx'=0.
Primjer: Neka je X neprazan skup oznaen sa 1, prazan skup sa 0, a x,y,... su
podskupovi skupa X. Tada skup P(X) sa operacijama unije, presjeka i komplementa
ini Booleovu algebru.
Zadatak: Dokazati da su 0,1 i x' jedinstveno odreeni svojim osobinama, Pokazati
da je x''=x i 1'=0. (Uputstvo: Ako je yx=0 i x+y=1, piite y=y(x+x').)

Lema: U svakoj Booleovoj algebri vrijede De Morganovi zakoni


(x+y)'=x'y', (xy)'=x'+y'
za sve x i y.
Dokaz: Da dokaemo prvu formulu, dovoljno je pokazati da x'y' ima sve osobine
komplementa od x+y. Imamo x+y+x'y'=x1+y+x'y'=x(y+y')
+y+x'y'=(x+x')y'+xy+y+=y+y'+xy=1+xy=1 i (x+y)x'y'=xx'y'+yx'y'=0+0=0. Dakle
prva formula vrijedi. Ako sad u nju umjesto x iy stavimo komplemente dobijamo
(x'+y')'=x''y''=xy. Komplementiramo jo jedanput obije strane dobijamo x'+y'=(xy)'.
Dakle prva i druga formula slijede jedna iz druge.
Zadatak: Dokazati da je x+xy=x za sve x i y u Booleovoj algebri.
Definicija: Neka je CB. Ako x,yC x+y, xyC tada je C podalgebra od
B( Dodajemo 0,1C ako je potrebno.)
Definicija: Booleov polinom je bilo koji izraz koji je rezultat konano mnogo
Booleovih operacija na konanom broju elemenata.

47

Ponavljanjem De Morganovih zakona na kmplemente Boolevih polinoma moemo


zamijenjiti varijable sa njihovim komplementima i sabiranje sa mnoenjem i
obratno. Tako npr. distributivni zakon vrijedi kada sabiranje i mnoenje zamjene
mjesta :
Npr. x+yz=(x+y)(x+z). Zaista
(x'(y'+z'))'=(x'y'+x'z')'x''+(y'+z')'=((x+y)'+(x+z)')'x+(yz)''=((x+y)(x+z))''
x+yz=(x+y)(x+z).
Zadatak : Dokazati da x+x=x i x 2 x i da xy=yx+y=x za bilo koje elemente x i y
Booleove algebre. Primjetiti da zakon skraivanja tj. x+z=y+z x=y u Booleovoj
algebri ne vrijedi. Nai primjer.
Zadatak : Neka je n fiksan pozitivan prirodan broj i B skup prirodnih brojeva
manjih od n. Definiimo sabiranje kao najmanji zajedniki sadrilac a mnoenje kao
najvei zajedniki djelilac. Pokazati da je B Booleova algebra ako n nema viestrukih
faktora.
( Ako n ima viestruke faktore tada nema komplementa koji ovdje treba definisati.)
Zadatak: Neka su x,y,... elementi Booleove algebre. Ako xy=y tada piemo da je
xy. Dokazati da je ovo relacija parcijalnog poretka tj da vrijedi refleksivnost (xx),
tranzitivnost (xyz xz) i antisimetrinost (xy i yx x=y).
U svojoj knjizi Boole je takoer istraivao kakvu algebarsku stukturu dobijemo ako
umjesto unije uvedemo iskljuivu uniju. Pokazuje se da tada sve osobine (i) (iv)
vrijede samo to se osobina 1+x=1 mora da zamijeni sa 1+x=x', to vodi do
1+1=1'=0. Dobiveni objekat se naziva Booleov prsten sa jedinicom. Ovo je prsten
poto je x+x=1+x'+x=1+1=0 pa svaki element ima additivni inverz. Druge osobine
prstena vrijede. Generalno x1 x( x x' ) x 2 xx' x 2 0 x 2 pa se svaki prsten sa
osobinom x 2 x naziva Booleov prsten. Ve smo dokazali da Booleov prsten ima
karakteristiku 2.

Konane Booleove algebre


Pokazaemo da je svaka konana Booleova algebra B izomorfna nekom P(X) gdje je
X konaan skup. Specijalno ako X ima n elemenata tada B ima 2 n elemenata.
Neka je B x, y ,... Booleova algebra. Kaemo da x sadri y kada je xy tj. kada
vrijedi xy=y. Ako je xy i xy tada piemo x>y. Ako vrijedi x>y>z kaemo da
element striktno lei izmeu elemenata x i z.
Zadatak: Ako x>y i x> z tada x>y+z. Dokazati.
Za element x kaemo da je atom ili minimalni element ako nije 0 i ne postoji
element koji striktno lei izmeu x i 0. Za element x kaemo da je maksimalan ako
nije 1 i ako nema elemenata koji striktno lee izmeu 1 i x.
Zadatak: Pokazati da je komplement minimalnog elementa maksimalan element i
obratno.
48

Zadatak: Neka je B skup intervala sa racionalnim krajevima (otvoreni, zatvoreni,


polu-otvoreni). Tada je B Booleova algebra bez minimalnih i maksimalnih
elemenata. Dokazati.
Ako je B konaan tada postoje maksimalni i minimalni elementi. Naime ako x nije
minimalan tada postoji y koje striktno lei izmeu 0 i x. Ako y nije minimalan
postoji z koje striktno lei izmeu 0 i y, i td. Poto je B konaan skup ovaj niz se
mora zavriti sa nekim minimalnim elementom.
Zadatak: Dokazati da je proizvod dva atoma nula ukoliko oni nisu identini.
Lema: Ako je x>y, tada x sadri atom koji se ne nalazi u y.
Dokaz: Kako je x>y , xy=y. Sa druge strane x=x1=x(y+y')=xy+xy'=y+xy'. Poto xy
to xy'0. Sada xy' sadri atom z tj xy'z=z. Sada je zy=xy'zy=x(yy')z=x0z=0. Dakle z
nije u y a sa druge strane xz=0 bi impliciralo i xy'z=0 to nije tano pa je z sadrano
u x.
Teorema : Elemenat Booleove algebre je suma atoma koji su u njemu sadrani
kao i proizvod maksimalnih elemnata koji sadre taj element. Dva
elementa su jednaka ako i samo ako sadre iste atome.
Dokaz. Prvi dio dokaza slijedi iz leme a drugi uzimanjem komplementa. Naime ako
x nije taom tada postoji 0<y<x. U skupu x-y se nalazi atom z. Primjenimo isti
postupak na skup xz'. Kako je B konaan skup ovaj postupak se mora zavriti tj.
dobiemo sve atome koji su sadrani u x. Oito je i njihova suma sadrana u x. Ako
suma nije jednaka x tada bi postojao jo neki atom u skupu x koji nije sadran u
ovoj sumi to je kontradikcija. Primjena De Morganivoh zakona daje
x ' ( x1 x n ) x x ' ' ( x1 x n )' x1 ' x 2 ' .
Ako vrijedi
x1 x n y1 y m gdje su ovo sume atoma. Mnoenjem obije strane sa nekim
atomom x e anulirati sve preostale atome osim samog sebe pa se dati atom mora
nalaziti na obadvije strane.
Neka je sada B konana Booleova algebra, X skup atoma u B i f:BP(X)
preslikavanje koje slika element X u skup svojih atoma. Tada je f morfizam tj. f je
bijektivno preslikavanje koje operacije u B, prenosi na odgovarajue skupovne
operacije u P(X).
Kada je x elemenat u B i y1 , , y n atomi koje sadri, tada se formula
x y1 y 2 y n naziva disjukntna normalna forma od x. Slino, ako su
maksimalni elementi od B koji sadre x elementi z1 , , z n tada se formula
x z1 z n naziva konjuktivna normalna forma od x.
Zadatak: Neka je E Booleova algebra sa elementima 0 i 1 E={0,1}. Neka je X
proizvoljan skup. Pokazati da skup svih funkcija F(X,E) sa skupa X u E, ini
Booleovu algebru sa prirodnim operacijama. Pokazati da je F(X,E) izomorfno sa
f y ( x) 1 x y.
P(X). Pokazati da atome u F(X,E) ine funkcije f y : X E ,
Booleove funkcije

49

Neka je E={0,1} Booleova algebra i X E n . Neka je F=F(X,E) Booleova algebra


funkcija sa supa X na E. Elementi ove algebre se nazivaju Booleove funkcije. Na taj
nain Booleovi polinomi su elementi skupa F. Za dva polinoma kaemo da su
jednaki ako su jednaki kao funkcije. Napomenimo da oni ne moraju biti jednaki kao
izrazi. Da bi dobili jedinstvenost moramo ih pisati u normalnoj formi npr. u
disjunktivnoj formi.
Primjer
Booleova algebra koja sadri elemente x, y i 0 i 1 (meusobno razliite) za atome
ima izraze xy, x'y, xy', i x'y'. Element 1 je suma svih njih, x=xy+xy' x+y+=x(y+y')
+y(x+x')=xy+xy'+xy+yx')=xy+xy'+x'y i td.
Zadatak: Napisati sljedee Booleove funkcije od x,y i z u disjunktivnoj normalnoj
formi:
a) x+x'y,
b) xy'+xz+xy,
c)xyz+xy+xz.

Aplikacija na elektrina kola


Elektrino olo se sastoji od jednog ili vie ulaza pod naponom, izlaza i niza ica i
prekidaa. Ako x1 , , x n predstavljaju prekidae koji mogu biti prespojeni ( to se
oznaava sa 1) ili ne ( 0) tada na izlazu imamo napon koji odgovara nekoj Booleovoj
funkciji F ( x1 , , x n ) .
Tako se proizvod xy realizuje sa

xy

a suma x+y sa
x

x+y

Zadatak: Nacrtati kolo za x1 ( x 2 ( x3 x 4 )) x3 ( x5 x 6 ) i pojednostaviti ga.


Zadatak: Koliko ima elemenata u F(E,En)?
Ako je kolo S na n prekidaa I={1,2,...,n}. Neka je B(I) skup svih ureenih n-torki
x(x(1),...,x(n)) gdje x(i) uzima vrijednosti 0 i 1 u zavisnosti da li je prekida ukljuen
ili iskljuen. Izlazni napon f(x)=(F(X(1),...x(n)) je Booleova funkcija koja uzima
vrijednosti 0 ili 1. Ova funkcija se naziva prekidaka funkcija. Kako skup B(I) ima
n
2 n elemenata to imamo 2 2 ovakvih funkcija. Meutim da bi znali koliko kola
imamo moramo primjeniti Burnsideovu lemu. Naime ako permutiramo prekidae

50

dobijamo isto kolo. Takoer ako pojedine prekidae iz pozicije ukljueno prebacimo
u poziciju iskljueno opet nita ne mijenjamo. Dakle imamo akcije grupe na skup
date sa permutacijama (Tx(i)=x(T-1(i)) i operacijom zamijene varijabli: x(i) sa x(i)'.
Pronalaenje ciklikih indeksa je dosta komplikovano te emo ih ovdje preskoiti.

JEZIK
Jezik je sredstvo za komunikaciju izmedju dva ili vise korisnika i mora da
bude prihvatljiv za sve korisnike. Ako su svi korisnici jezika ljudi, onda je jezik
komunikacije obicno prirodni jezik (engleski, francuski, i tako dalje.). Prirodni
jezici su ekspresivni (univerzalni), i njima se moze izraziti svaka informacija, ali su
nejednoznacni i neprecizni u predstavljanju specificnih informacija kao sto su
matematicke. Zato se izgrauju vjestacki jezici u specificnim oblastima, npr. jezik
matematickih formula u matematici, jezik hemijskih formula u hemiji, jezik
saobracajnih znakova u saobracaju, i tako dalje.
Posebna klasa vjestackih jezika, u slucaju da je jedan od korisnika jezika
racunar, jesu programski jezici. Osnovni motiv za uvodjenje programskih jezika je
potreba da se premosti razlika u nivou apstrakcije covjeka i racunara. Dok covjek
ima potrebu i mogucnost da razmislja na razlicitim, ponekad visokim nivoima
apstrakcije, racunar je ogranicen mogucnostima koje su definisane u trenutku
njegove izgradnje i izgradnje njogovog operativnog sistema. Programski jezici
omogucuju covjeku da formulise poruku na nacin koji je za njega relativno
prirodan i jednostavan. S druge strane precizna definicija dopustenih oblika i
njihovog znacenja omogucuje izgradnju jezickih procesora (prevodilaca i
interpretera)- programa pomocu kojih se covjekova poruka prevodi na jezik
"razumljiv" masini masinski jezik.
Postoje razne definicije programskog jezika. Jedna od njih je definicija
Americkog instituta za nacionalne standarde (ANSI) koja glasi : "Programski jezik
je jezik koji se koristi za pripremanje racunarskih programa.". Ova definicija, pored
toga sto je veoma opsta, ne odrzava tekucu upotrebu jezika, tj. ne pravi razliku
izmedju raznih programskih jezika. Ta razlika u filozofiji, strukturi i upotrebi
raznih programskih jezika najbolje se sagledava kroz klasifikaciju programskih
jezika.
Programski jezici kao nacin komunikacije izmedju covjeka i racunara
primjenjuju se od druge polovine pedesetih godina proslog vijeka, kada je
definisana prva verzija programskog jezika FORTRAN i napravljen prevodilac za
njega. Od tada pa do danas razvijeno je vise stotina programskih jezika.
Jezik. Sintaksa i semantika
Svaki jezik pa i programski jezik definise se sintaksom i semantikom jezika.
Sintaksa je nauka o jeziku koja izucava korektne - dopustene konstrukcije
jezika.
Semantika je nauka o jeziku koja izucava znacenje dopustenih konstrukcija
jezika.
Azbuka, rijec

51

Svaki jezik za komunikaciju covjeka i racunara koristi konacni skup simbola


(znakova) azbuku. Simbol (znak, slovo) je nedjeljiva jedinica jezika. Nizanjem
slova azbuke dobiju se rijeci nad azbukom. Duzina rijeci je broj slova u rijeci. Ako
je rijec, njena duzina se obicno obiljezava sa ||. Rijec koja ne sadrzi nijedno
slovo zove se prazna rijec i obiljezava se sa e (engl. empty). Ako je a slovo azbuke,
sa ai oznacava se rijec aa...a koja sadrzi i slova a. Tako a0 oznacava praznu rijec, a1
= a, a2 =aa, i tako dalje.
Formalno, rijec nad azbukom A definise se na sljedeci nacin:
1. e je rijec nad A;
2. ako je rijec nad A i a slovo iz A, onda je a rijec nad A;
3. sve rijeci nad azbukom A mogu se dobiti primjenom pravila 1. i 2.
Osnovna operacija nad rijecima je dopisivanje i ona se definise na sljedeci nacin:
Ako su , rjeci, || = x, || = y, onda je rezultat dopisivanja rijeci na rijec rijec
duzine || = x+y, i kojoj je i-to slovo jednako i-tom slovu rijeci za i x, tj.
jednako i x tom slovu rijeci za x < i x+y.
Ako je A azbuka sa n slova, A={a1, a 2 , ..., a n }, onda oznaka A* oznacava
beskonacan skup svih mogucih rijeci nad azbukom A ( A * = { e, a1, a2 , ..., a n , a1a1,
a1a2, ..., a1an, a2a1, a2a2, ..., a1a1a1,...}).
Oznaka A+ oznacava skup svih mogucih rijeci nad azbukom A duzine 1 (A +
= A* \ e).
Karakterski skup
Za tekstualnu komunikaciju covjeka sa racunarom (npr. preko
tastature i ekrana terminala) tj. za saopstavanje programa i podataka
racunaru i dobijanje izlaznih informacija iz racunara, potrebno je , prije
svega, imati precizno definisanu "spoljasnju" azbuku tj.konacan skup
nedjeljivih slova (znakova, karaktera) npr. {A, B,...Z, 1, 2,...9,?}. U
racunaru se razliciti simboli spoljasnje azbuke prikazuju razlicitim
kombinacijama nula i jedinica fiksne duzine.
Svaki racunar ima svoj skup karaktera za komunikaciju sa
korisnikom, i taj skup nije standardizovan. Karakteri imaju svoj spoljasnji
oblik koji vidimo na ekranu (npr. A, a, +, }, [, 0, i tako dalje) i svoju
unutrasnju reprezentaciju u binarnom obliku, koja najcesce odgovara nekoj
standardnoj semi, npr. ASCII kodu.
Jezik
Jezik L nad azbukom A je neki podskup skupa A* svih rijeci nad
azbukom. Kako skup A* ima beskonacno mnogo podskupova, to nad
azbukom A ima i beskonacno mnogo jezika. U zadavanju jezika L potrebno
je upravo tacno definisati taj podskup skupa A * koji predstavlja rijeci nad
azbukom A koje pripadaju jeziku L rijeci jezika L. Definisanje rijeci jezika
( i njihovo razlikovanje od rijeci nad istom azbukom koje ne pripadaju
jeziku) obicno se vrsi primjenom nekih pravila. Skup pravila kojima se
opisuju sve rijeci jezika zove se sintaksa jezika.
Semantika jezika je skup pravila kojima se definise znacenje rijeci jezika.
Za prirodan jezik (npr.engleski) postoje sintaksna pravila za
izgradnju ispravnih konstrukcija (recenica), ali ta pravila ne pokrivaju sve
ispravne konstrukcije jezika. To nije ni cudno jer je prirodni jezik

52

dinamican, on zivi i mijenja se u vremenu i prostoru. Za vjestacki jezik, i


posebno programski jezik, potrebno je da se veoma precizo opise njegova
sintaksa, tj. sve i samo one konstrukcije koje pripadaju jeziku (npr.
konstanta, identifikator, izraz, iskaz, funkcija, program i tako dalje.), da bi
se omogucila izgradnja sredstava koja ce automatski, bez pomoci covjeka,
ustanoviti da li je neka konstrukcija ispravna konstrukcija programskog
jezika. Ta sredstva su programi jezicki procesori. Mada obezbjeuje
izgradnju i prepoznavanje ispravne konstrukcije jezika, sintaksa ne govori
nista o smislu te konstrukcije. Tako sintaksno ispravna recenica u
prirodnom jeziku moze biti potpuno besmislena (ili visesmislena), ali se
svakoj sintaksno ispravnoj konstrukciji programskog jezika moze
(jednoznacno) pridruziti njeno znacenje.
Postoje dva nacina da se definisu sintaksno ispravne konstrukcije
vjestacnkog jezika. Ako je jezik konacan (i mali), moguce je formirati spisak
svih rijeci jezika. Jedan primjer takvog jezika je jezik saobracajnih znakova.
Drugi takav primjer je jezik nad azbukom A = {a, b} predstavljen sljedecim
skupom rijeci : {a, b, aa, bb, ab, ba, aaa, bbb}.
Ako je jezik veliki, i posebno ako je beskonacan, potrebno je zadati konacni
skup pravila kojima se grade sve sintaksno ispravne konstrukcije jezika, tj.
sve rijeci jezika.
U matematici postoji oblast koja izucava tzv. formalne jezike, koji se,
prema odredjenim pravilima, izgradjuju nad datom azbukom. Programski
jezici su samo jedan podskup skupa formalnih jezika. U opstem slucaju
formalnih jezika, nacin za izgradnju ispravnih konstrukcija rijeci jezika
zadaje se formalizmom koji se zove formalna gramatika. Ovaj formalizam,
pored azbuke samog jezika (skupa zavrsenih simbola), koristi jos jedan skup
simbola, disjunktan sa azbukom jezika, tzv. pomocnih simbola pomocu
kojih se izgradjuju ispravne rijeci jezika. Tu je, naravno, i skup pravila koja
opisuju kako se ispravne konstrukcije jezika grade.

Meta jezici
Programski jezici ine jedan pravi podskup skupa formalnih jezika.
Njihova sintaksa se zbog toga moe opisati sredstvima koja su pogodnija (od
formalnih gramatika) za predstavljanje i jednostavnija za razumijevanje. Ta
sredstva su tzv. meta jezici. To su jezici kojima se opisuje jezik koji se
izuava. Sam jezik koji se izuava, npr. programski jezik, zove se objekt
jezik.
Kada je rije o prirodnom jeziku, onda se njegova sintaksa i
semantika opisuju takodje prirodnim jezikom, tj. i objekt jezik i meta jezik u
sluaju prirodnog jezika je taj prirodni jezik.
Za formalno opisivanje sintakse programskog jezika koriste se najee dva
meta jezika : Bekusova notacija i sintaksni dijagrami.
Bekusova notacija
Bekusova notacija je jedan meta jezik za formalno opisivanje sintakse
programskih jezika.
53

U Bekusovoj notaciji sintaksa programskog jezika opisuje se pomou


konanog skupa metalingvistikih formula (MLF).
Metalingvistika formula se sastoji iz lijeve i desne strane razdvojene
specijalnim tzv. univerzalnim metasimbolom (simbolom metajezika koji se
koristi u svim MLF) "::=" koji se ita "po definiciji je", tj. MLF je oblika
A ::=a,
gdje je A-metalingvistika promjenljiva, a a-metalingvistiki izraz.
Metalingvistika promjenljiva je fraza prirodnog jezika u uglastim
zagradama (< , >) i ona predstavlja pojam, tzv. sintaksnu kategoriju objektjezika. Ona odgovara pomonom simbolu formalne gramatike. Na primjer,
u programskom jeziku, sintaksne kategorije su <program>, <cio broj>,
<cifra>, <znak broja>, <ime promjenljive>, i tako dalje. U prirodnom
jeziku, sintaksne kategorije su <rije>, <reenica>, <interpunkcijski znak>,
i tako dalje. Metalingvistika promjenljiva ne pripada objekt jeziku
"Sitnije" sintaksne kategorije nazivaju se leksikim kategorijama ili
rijeima (imaju znaenje ali ne stoje samostalno, npr. identifikator,
konstanta u programskom jeziku). "Krupnije" sintaksne kategorije nazivaju
se reenicama (osim to imaju odredjeno znaenje, egzistiraju samostalno).
Metalingvistiki izraz se gradi od metalingvistikih promjenljivih i
metalingvistikih konstanti uz koritenje drugih specijalnih, tj. univerzalnih
metalingvistikih simbola.
Metalingvistike konstante su simboli objekt jezika. To su ,npr. IF, THEN,
BEGIN, FUNCTION, i tako dalje.
Metalingvistiki izraz moe se sastojati od jedne metalingvistike
promjenljive ili jedne metalingvistike konstante, a moe se izgraditi i na
jedan od sledea dva naina :
1. na ve formirani metalingvistiki izraz dopie se ML promjenljiva
ili ML konstanta i tako se dobije novi ML izraz;
2. konani niz prethodno formiranih ML izraza razdvojenih
specijalnim tj. univerzalnim metasimbolom "|" (ita se "ili")
predstavlja novi ML izraz.
Metalingvistika formula A ::=a ima znaenje : ML promjenljiva A po
definiciji je ML izraz a.
Svaka metalingvistika promjenljiva koja se pojavljuje u metalingvistikom
izrazu a mora se definisati posebnom MLF.
Primjer :
Jezik cijelih brojeva u dekadnom brojnom sistemu moe se opisati
slijedeim skupom MLF:
<cio broj>::=<neoznaen cio broj> | <znak broja><neoznaen cio
broj>
<neoznaen cio broj>::=<cifra> | <neoznaen cio broj><cifra>
<cifra>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<znak broja>::= + | Navedene MLF mogu se proitati na sedei nain:
Cio broj je po definiciji neoznaen cio broj ili znak broja za kojim slijedi
neoznaen cio broj.
Neoznaen cio broj je po definiciji cifra ili neoznaen cio broj za kojim slijedi
cifra.
Cifra je po definiciji 0 ili 1 ili 2 ili 3 ili 4 ili 5 ili 6 ili 7 ili 8 ili 9
54

Znak broja je po definiciji + ili -.


Sintaksni dijagrami
Sintaksni dijagrami su drugi metajezik za opisivanje sintakse
programskih jezika. Sintaksni dijagrami su pregledniji i itljiviji od
Bekusove notacije, posebno za sloenije MLF. Sintaksni dijagrami ukljuuju
iste koncepte koji se sreu i kod Bekusove notacije ML promjenljiva, ML
konstanta, ML izraz, ML formula.
Sintaksnim dijagramom se predstavlj MLF. To je usmjereni graf sa
pridruenim imenom tj. imenovani usmjereni graf. Ime sintaksnog
dijagrama je ML promjenljiva koja se definie ML formulom, dok sam
usmjereni graf predstavlja ML izraz iz ML formule. vorovi sintaksnog
dijagrama predstavljaju ML konstante i ML promjenljive, dok grane
sintaksnog dijagrama predstavljaju operaciju dopisivanja. ML konstanta
predstavlja se vorom u obliku kruga ili elipse, dok se ML promjenljiva
predstavlja vorom u obliku kvadrata ili pravougaonika. Svaka ML
promjenljiva iz jednog sintaksnog dijagrama definie se posebnim
sintaksnim dijagramom. Pored vorova-ML konstanti i ML promjenljivih,
izdvajaju se dva istaknuta vora ulazni, od koga vodi putanja do svakog
drugog vora u grafu, i izlazni, do koga vodi putanja id svajig drzgig lvira z
grafz, Svaki prolaz kroz sintaksni dijagram, tj. svaka putanja u grafu od
ulaznog vora definie jednu sintaksno spravno konstrukciju.
Formalna gramatika
U formalnoj teoriji jezika, u raunarstvu i u lingvistici, formalna
gramatika (ee samo gramatika) je precizna definicija nekog jezika, odnosno
skup niski nad nekom abecedom. Gramatika opisuje koje od moguih sekvenci
simbola u jeziku ustvari formiraju validne rijei i reenice u tom jeziku.
Gramatika se sastoji od skupa pravila za dobijanje niza znakova. Prilikom
generisanja niza znakova u jeziku, zapoinje se sa simbolom koji se naziva poetni
(ili startni) simbol i potom se primjenjuju pravila (u bilo kojem broju, u bilo kojem
redosljedu). Jezik se sastoji od svih ureenih nizova simbola (tj. niski) koje se
mogu dobiti na ovaj nain. Formalna gramatika je gramatika koja se moe
jednoznano tumaiti. Gramatika je jednoznana ako svaka reenina forma u toj
gramatici ima tano jedno drvo izvoenja. U suprotnom sluaju, gramatika je
vieznana. Za jedan isti jezik mogu postojati i jednozanane i vieznane
gramatike.
Primjer1:
Neka imamo abecedu (koju ine simboli a i b), i neka je S poetni simbol i
neka imamo pravila:
1.
2.
zapoinje se sa poetnim simbolom S i odabira se pravilo koje e dati eljenu nisku.
Ako se odabere prvo pravilo, zamjenjuje se S sa aSb i dobija se niska aSb na koju se
dalje moe primjeniti neko od datih pravila. Ako se opet primjeni prvo pravilo,
dobija se aaSbb. Ovo se ponavlja sve dok u nisci ne budu samo terminalni simboli,

55

odnosno a i b. Ukoliko se odabere drugo pravilo, tada se dobija niska aababb i u


njoj nee biti neterminalnih simbola, pa je time zavreno jedno izvoenje.
Ovo se moe zapisati:
.
Na osnovu ovoga zakljuujemo da je jezik ove gramatike skup svih niski koje
su oblika:
.
Definicija
Klasinu formalizaciju formalnih gramatika prvi je predloio Noam
Chomsky 1950.godine.
Gramatiku G ine:
Konaan skup N nezavrnih simbola
Konaan skup zavrnih simbola ( i N su disjunktni skupovi)
Konaan
skup
pravila
,

pravilo
vai:
,
gde je * Klinijeva zvezdica.

Dakle, svako izvoenje preslikava jedan niz znakova u drugi, pri emu prvi
niz znakova sadri barem jedan nezavrni simbol. U sluaju da je drugi niz prazan
niz, onda se oznaava sa .
Gramtika se formalno definie kao ureena etvorka (N, , P, S). Jezik
formalne gramatike G = (N, , P, S) oznaen sa L(G) je definisan kao skup svih
onih niski zavrnih simbola koje mogu biti generisane od startnog nezavrnog
simbola S primjenom pravila P gramatike G.
Izvoenja su usmjerene relacije izmeu stringova sainjenih od terminalnih
i neterminalnih simbola, gdje su terminalni simboli obino rijei, a neterminalni
apstraktne gramatike oznake.
Startni simbol je neterminal koji predstavlja itav jezik generisan
gramatikom. Od njega polazi analiza. Ako neka reenica moe da se redukuje u
ovaj neterminal primjenom produkcija gramatike, onda se kae da gramatika
prihvata ovu reenicu, da je napisana pravilno po datoj gramatici, ili da pripada
jeziku kojeg generie gramatika.

Primjer2:
Posmatrajmo gramatiku G gdje je
poetni simbol, i P je skup sljedeih pravila:
1.
2.
3.
4.
Neki prijmeri generisanih niski u

, S je

su:

56

(napomena:
brojem i" )

se ita: "L generie R koritenjem pravila pod rednim

Ova gramatika definie jezik


gdje an podrazumeva
nisku koja ima n uzastopnih pojavljivanja simbola a. Dakle, jezik ove gramatike je
skup svih nizova simbola koji se sastoje od jednog ili vie simbola a, nakon kojih
slijedi isto toliko pojavljivanja simbola b, za kojim sledi toliko pojavljivanja
simbola c.

Hijerarhija Chomsky-og
Kada je Noam Chomsky iznio formalizam fomalnih gramatika 1956.godine,
klasifikovao ih je u tipove danas poznate kao hijerarhija Chomsky-og0. Postoji
sljedea podjela:
Desno linearna (regularna) gramatika
Konteksno slobodna gramatika
Konteksno osetljiva gramatika
Gramatika bez ogranienja - opta
Razlika izmeu ovih tipova je u tome to neki tipovi gramatika imaju
stroija pravila pa mogu izraziti i manje formalne jezike. Dva vana tipa su
konteksno slobodne gramatike i regularne gramatike. Jezici koji se mogu opisati
ovakvim gramatikama se zovu konteksno slobodni jezici i regularni jezici. Iako
neto manje mone od gramatika bez ogranienja, koje mogu izraziti bilo koji jezik
koji prihvata Tjuringova maina, ova dva ograniena tipa gramatika su najee
koritena jer se parser za njih moe vrlo uspeno implementirati. Na primer, sve
regularne jezike moe prepoznati konani automat, a za korisne podskupove
konteksno slobodnih gramatika postoje dobro poznati algoritmi za generisanje
uinkovitih LL analizatora i LR analizatora koji prepoznavaju odgovarajue jezike
koje gramatika generie.
Praktina primjena
U programskim jezicima obino se koristi kontekstno slobodna gramatika
(engl. Context free grammar - CFG) koja kreira odgovarajue kontekstno
nezavisne jezike. Na primjer, programski jezik C, neterminal koji predstavlja itav
jezik generisan gramatikom, je kontekstno zavisan, ali se predstavlja kao
kontekstno nezavisan s tim da se kontekstna zavisnost rjeava u pristupu izradi
skenera. Skener je dio prevodioca koji program napisan u programskom jeziku
razbija na terminalne simbole, i sastavni je dio front-end prevodioca. Skener
emituje terminalne simbole parseru kao tok (engl. stream) vezujui za svaki
semantiku vrednost.

57

Semantika vijednost je pridruena terminalnom simbolu i slui da prenese


dodatne informacije bitne za rad programa. Na primer 2435 je broj i token za njega
bi npr. bio BROJ. Meutim kada bismo utvrdili da je npr. a = 2435; ispravno, tj. da
pripada nekom jeziku, bilo bi nam potrebno da baratamo sa konkretnom
(semantikom) vrednou koja je predstavljena tokenom.
Prenos semantike vrednosti se reava razliito a postoji nain da se definie
tip za ovu vrednost u obliku unije i jedna globalna promenljiva ovog tipa. Onda
skener upisuje u nju semantiku vrednost, a parser ita i stavlja privremeno na
jedan red dok ne prihvati traeni neterminal. Prilikom prihvatanja datog
neterminala izvrava se akcija koja treba konano da odradi posao vezan za
prepoznavanje odreenog neterminala, i eventualna trajnija skladitenja
odreenih semantikih vrjednosti (npr. liste).te na samom kraju generie se
semantika vrednost za dati neterminal koja e biti vraena na mjesto sa koga je
rekurzivno pozvana tekua produkcija.
Regularne gramatike se najee koriste kada se koristi neka ljuska (npr.
ljuska Be u Juniksu ili COMMAND.COM u Dosu) i ako je potrebno da se vide svi
fajlovi koje je mogue izvriti, onda se koristi: dir *.exe
Zadati parametar *.exe je zapravo prihvaen kao regularni izraz. Znak zvezda
zamenjuje bilo koju kombinaciju sastavljenu iz karaktera dozvoljenih za kreiranje
imena.
MAINE ZAVRNOG STANJA
Maine zavrnog stanja su apstraktni modeli maina sa primitvnom internom
memorijom.
Maina zavrnog stanja se sastoji od:
a) I konani skup ulaznih simobila
b) O konani skup izlaznih simobla
c) S konani skup stanja
d) f funkcija preslikavanja iz skupa S x I u skup S
e) g izlazna funkcija, preslikavanja iz skupa S x I u skup O
f) poetno stanje,

i piemo: M = (I, O, S, f, g, ).
Primjer 1
Neka je dato:
o skup ulaznih simbola I = {a, b}
o skup izlaznih simbola O = {0,1}
o skup stanja S = { 0, 1}
Funkcije f i g, su date u tabeli:
f

58

I
S

Tada je ureena estorka M = (I, O, S, f, g, 0) maina zavrnog stanja.

Neka je M = (I, O, S, f, g, ) maina zavrnog stanja. Dijagram prelaza maine M je


graf G, iji su dijelovi sastavljeni od elemenata skupa S. Strelica obiljeava poetno
stanje . Usmjerena kontura (1, 2) postoji u grafu G ako postoji ulaz i sa
funkcijom f(1, i) = 2. Ukoliko postoji g(1, i) = o, kontura (1, 2) je obiljeena sa
i / o.

Primjer 2
Za mainu iz primjera 1, graf bi izgledao ovako:

Gdje prva, neobiljeena, strelica pokazuje na poetno stanje 1


Graf se dakle sastoji od dva elementa, koji predstavljaju dva stanja
definisana skupom S, a to su 1 i 2.
Dalje na grafu moemo vidjeti etiri konture:
(1, 2) obiljeena sa b/1
(1, 1) obiljeena sa a/0
(2, 2) obiljeena sa a/1
(2, 2) obiljeena sa b/0
Ukoliko zamislimo mainu M = (I, O, S, f, g, ) kao neki jednostavni raunar, onda
moemo rei da je poetno stanje, kada se raunar pokrene, a onda se u raunar
unese neki znak iz skupa I, tada raunar prelazi u drugo stanje (ili ostaje u istom) i
kao rezultat vraa znak (npr. ispisuje na monitoru) definisan skupom O.
AUTOMATI ZAVRNOG STANJA

59

Automati zavrnog stanja su specijalne vrste maina zavrnogs tanja. Automati su


od posebnog znaaja zboh njihove veze sa nekim odreenim jezikom.
Automat zavrnog stanja A = (I, O, S, f, g, ) je maina zavrnog stan ja u kojoj je
skup izlaznih simbola {0, 1} i u kojem trenutno stanje odreuje posljednji izlaz.
Ona stanja za koja je zadnji izlaz bio 1 zovu se zavrna stanja.
Tako da alternativno, automat moemo definirati na slijedei nain.
Automat A je ureena petorka (I, S, f, A, ) u kojoj je:
o I konaan skup ulaznih simbola
o S konaan skup stanja
o f funkcija prelaza iz S x I u skup S
o A skup zavrnih stanja, A je podskup od S
o poetno stanje
Primjer 3
Za mainu iz primjera 1 i 2, stanje 2 je zavrno stanje.
U grafu, zavrno stanje prikazujemo, sa dva kruga, tako da sada graf
izgleda ovako:

Takoer sada moemo na osnovu ove maine definisati automat A = (I,


S, f, A, ), koji e se sastojati od slijedeih elemenata:
- skup ulaznih simbola: {a, b}
- skupa stanja: { 1, 2}
- funkcije f
- skupa zavrnih stanja: { 2}
- poetnog stanja: 1

NEDETERMINISTIKI AUTOMATI ZAVRNOG STANJA

60

Nedeterministiki automat zavrnog stanja A je ureena petorka (I, S, f, A, ), gdje


su:
I konaan skup ulaznih simbola
S konani skup stanja
f funkcija prelaza iz S x I u P(S)
A skup zavrnih stanja, A je podskup od S

poetno stanja,

Primjer 6
Neka je dato:
o skup ulaznih simbola I = { a, b }
o skup stanja S = { , C, F }
o skup zavrnih stanja A = { F }
o poetno stanje je
o funkcija f je data u tabeli:
f
I

{C}

{}

{}

{ C, F }

{}

{}

Iz ove table lako moemo uoiti da ukoliko u stanju C, doe ulazni


simbol 'b', tada automat prelazi u skup stanja, koje se sastoji od stanja
C i F.
Graf ovog automata bi izgledao ovako:

Jedina razlika izmeu nedeterministikih automata zavrnog stanja i obinog


automata zavrnog stanja je ta to kod obinih (deterministikih) automata
funkcija prelaza vodi u jedinstveno definisano stanje, dok kod nedeterministikih
automata funkcija prelaza vodi u skup stanja.

Shift (pomjeraki) registri


61

Registri su memorijeske elije RAM tipa koje mogu zapamtiti viebitne


informacije (obino duine 4, 8, 16, 32 ili 64 bita). Osnovni gradivni elementi
registara su D flip-flopovi. Dva osnovna tipa registara koji se najee koriste su
paralelni i pomjeraki registri.
U shift registre se informacije upisuju i itaju serijski, odnosno bit po bit.
Sastoje se od niza D flip-flopova pri emu je izlaz svakog od D flip-flopova vezan na
ulaz narednog flip-flopa. Pri tome se koriste iskljuivo sinhroni D flip-flopovi.
Osnovni tipovi shift registara su:
Serial In Serial Out
Serial In Parallel Out
Parallel In Serial Out
Parallel In Parallel Out
Serial In Serial Out Shift registri
Sljedea slika pokazuje 4-bitni shift registar. Na svaki taktni impuls
informacija se pomjera za jedno mjesto udesno. Da bismo upisali informaciju u
ovakav registar, dovodimo informaciju na DI ulaz bit po bit, poev od bita
najmanje teine (svaki bit dovodimo tano u trenutku nailaska taktnog impulsa).
Na taj nain, dovedeni bit se upisuje u prvi flip-flop, a svi biti koji su prije toga uli
pomjeraju se za jedno mjesto udesno. Na primjer, neka je potrebno upisati binarni
broj 1101. tada emo na DI ulaz dovoditi sekvencu bita 1,0,1,1. pri tome e sadraji
flip-flopova, gledano slijeva nadesno nakon svakog taktnog impulsa redom
izgledati ovako: 1???, 01??, 101?, 1101, pri emu znak ? oznaava nepoznato
(odnosno sadraj koji je u flip-flopu postojao od ranije). Vidimo da su se na kraju
svi biti informacije smjestili u odgovarajue flip-flopove.

Da bismo proitali informaciju iz registra, ona mora biti pomjerena serijski


takoer. Postoje dva naina da to uradimo: destruktivni i nedestruktivni.
Kod destruktivnog itanja, originalna informacija se izgubi i na kraju itanja
svi flip-flopovi e biti ponieni na nulu.

62

Da bi izbjegli gubljenje podataka u konstrukciju za nedestruktivno itanje


dodamo dva AND, jedno OR kolo i inverter.

Ovdje se informacija uitava kada je control line HIGH (npr. write).


Informacija moe biti pomjerena iz registra kada je control line LOW (npr. read).
Serial In Parallel Out shift registri
Kod ovih registara biti se upisuju isto kao i kod prethodnih. Razlika je u
nainu na koji se oni itaju. Jednom kada se biti upiu, svaki bit se pojavljuje na
svojoj output liniji, i svi biti su dostupni istovremeno. Kontrukcija 4-bitnog serial
in- parallel out registra je prikazana na slici:

Parallel In Serial Out shift registri

63

SHIFT/LOAD dozvoljava unos etiri bita paralelno u registar. Kada je


SHIFT/LOAD na nivou LOW, kola G0 do G3 su otvorena i omoguen je simultani
upis bitova sa ulaza D0 do D3 u flip flopove FF0 do FF3. Kada je SHIFT/LOAD na
nivou HIGH otvorena su kola H1 do H3, ime je omogueno pomjeranje kroz
registar.
Parallel In Parallel Out shift registri
Svi biti se pojavljuju na paralelnim izlazima pratei istovremeni ulaz bita

D-ovi su paralelni ulazi a Q-ovi paralelni izlazi. Jednom kada se registar


klokuje, svi podaci na D ulazima se pojavljuju na odgovarajuim Q izlazima
istovremeno.

Generatori pseudo-sluajnih brojeva: Linear Feedback


Shift Registers
Generator pseudo-sluajnih brojeva (Pseudo-Random Number Generator PRNG) je algoritam za generiranje niza brojeva koji aproksimira osobine sluajnih
brojeva. Sekvenca nije zaista sluajna s obzirom da je u potpunosti odreena
relativno malim skupom poetnih vrijednosti, koje se nazivaju PRNG stanje. Iako
sekvence koje su blie pravim sluajnim brojevima mogu biti generisane koristei
hardverske generatore sluajnih brojeva, pseudo-sluajni generatori su vani u
praksi i koriste se za simulacije, dok centralnu ulogu igraju u kriptografiji.
Veina algoritama pseudo-sluajnih generatora proizvodi nizove koji su
uniformno distribuirani. Najee klase ovih algoritama su linear congruential
generators, lagged fibonacci generators, linear feedback shift registers i uopteni
feedback shift registers.
64

Otvoreno je pitanje, i to centralno u teoriji i praksi kriptografije, da li postoji


nain razlikovanja izlaza visoko kvalitetnog PRNG-a od stvarne sluajne sekvence
bez poznavanja algoritma koji je koriten i poetnog stanja pomou kojeg je
inicijaliziran. Sigurnost veine kriptografskih algoritama i protokola polazi od
pretpostavke da je nemogue razlikovati koritenje prikladanog PRNG-a od
sluajne sekvence. Jo napomenimo da je dizajniranje kriptografski adekvatnog
PRNG-a izuzetno zahtjevno.
Linear feedback shift register (LFSR) je shift registar iji je ulazni bit
linearna funkcija prethodnog stanja. Jedine linearne funkcije od po jednog bita su
XOR i XNOR, stoga je to shift registar iji je ulaz voen rezultatom XOR-a nekih
bita cjelokupne vrijednosti u shift registru.
Poetna vrijednost u shift registru se zove seed (sjeme) i zbog toga to je
operacija u registru deterministika, niz vrijednosti koje e proizvesti registar je u
potpunosti odreen svojim trenutnim (ili prethodnim) stanjem. Slino, s obzirom
da registar ima konaan broj moguih stanja, jednom e morati ui u ponavljajui
ciklus. Kako bilo, LFSR sa dobro odabranom feedback funckijom moe proizvesti
nizove bita koji se ine sluajni i koji ima vrlo dug ciklus.
Kako smo ve pomenuli, aplikacije LFSR-a ukljuuju generiranje pseudo
sluajnih brojeva, pseudo-noise sekvenci, brzih digitalnih brojaa, izbjeljujuih
sekvenci. esto se susreu i hardverske i softverske implementacije LFSR-a.
Fibonacci LFSR
Pozicije bita koji utiu na
sljedee stanje zovu se tapovi
(slavine). Na dijagramu, tapovi su 16,
14, 13, 11, 1. Krajnji desni bit LFSRa
zove se izlaz. Tapovi su uvezani
16-bitni Fibonaccijev LFSR
sekvencijalno XOR-om sa izlaznim
bitom i onda je rezultat (fed back)
pohranjen u krajnji lijevi bit.
Sekvenca bita na krajnjoj desnoj poziciji se zove izlazni tok.

Bitovi u LFSR stanju koji utiu na input koje zovemo tapovi oznaeni
su bijelim na dijagramu.
Maksimalan LFSR ciklira kroz svih 2 n-1 moguih stanja unutar shift
registra osim onog gdje su sve nule (ako su sve nule, onda se stanje
nee nikada promijeniti).
Kao alternativa XOR zasnovanom feedbacku u standardnom LFSRu,
moe se koristiti i XNOR. U tom sluaju stanje sa svim jedinicama je
zabranjeno, jednako kao to je i stanje sa svim nulama zabranjeno
kad koristimo XOR. Ovo stanje se smatra zabranjenim zato to bi
broja ostao zakljuan u tom stanju.

Tapovi jednog LFSR-a mogu biti reprezentovani kao polinom s


koeficijentima iz Z2. to znai da koeficijenti mogu biti samo 0 ili 1. Ovakav

65

polinom zovemo feedback polinom ili karakteristini polinom. Na primjer, ako su


tapovi 16-ti, 14-ti, 13-ti, 11-ti bit kao na slici, odgovarajui feedback polinom je

Slobodni koeficijent 1 u polinomu ne odnosi se na neki tap, nego se odnosi


na input na prvi bit. Stepeni varijable x odnose se na tapovane bitove. Prvi i
posljednji bit su uvijek povezani kao ulaz i tap respektivno.
Tabela nesvodljivih polinoma pomou koje je mogue konstruisati
maksimalan LFSR e biti dana kasnije.

LFSR e biti maksimalan samo ako je broj tapova paran. Samo dva ili
etiri tapa mogu biti dovoljna za jako velike sekvence.
Skup tapova mora biti relativno prost.
Moe postojati vie od jedne maksimalne tap sekvence za datu
duinu LFSR-a.
Jednom kada je jedna maksimalna sekvenca tapova pronaena druga
automatski slijedi. Ako je tap sekvenca u n-bitnom LFSR-u data sa
[n, A, B, C, 0] gdje je 0 odgovara lanu x0=1, onda obrnuta
odgovarajua sekvenca je [n, n-C,n-B,n-A,0]. Tako da tap sekvenci
[32,3,2,0] odgovara [32,30,29,0]. Obje daju maksimalnu sekvencu.

Galoisov LFSR
Nazvan po francuskom
matematiaru
Evariste
Galoisu, Galoisov LFSR, ili
LFSR
u
Galoisovoj
konfiguraciji je struktura koja
moe generirati isti izlazni tok
16-bitni Galoisov LFSR
kao i konvencionalni LFSR. U
Galoisovoj konfiguraciji, na
otkucaj clocka, bitovi koji nisu tapovi shiftuju se jednu poziciju udesno
nepromijenjeni. S druge strane, tapovi su upleteni u XOR sa izlazeim bitom prije
nego su prebaeni na sljedeu poziciju. Novi izlazni bit je sljedei ulazni bit. Efekat
ovoga je da kada je izlazni bit nula svi bitovi u registru se pomjeraju udesno
nepromijenjeni, i ulazni bit postaje nula. Kada je izlazni bit jedan, svi bitovi na tap
pozicijama promijene svoju vrijednost (sa jedan na nula, ili sa nula na jedan) i
cijeli registar se pomjera udesno i ulaz postaje jedan.
Da bi generisali isti izlazni tok, redosljed tapova mora biti obrnuti
odgovarajui (vidi ranije) od redoslijeda konvencionalnog LFSR-a, u suprotnom
e tok biti izvrnut. Vano je primjetiti da unutranje stanje LFSR-a nije nuno
jednako. Galoisov registar koji je pokazan ima isti izlaz kao i Fibonaccijev registar
u prethodnom dijelu.
Galoisovi LFSR-ovi ne povezuju sve tapove da proizvedu novi ulaz, tako da
je mogue svaki tap ponaosob da bude izraunat paralelno poveavajui brzinu
izvravanja. U softverskoj implementaciji LFSR-a Galoisova forma je vie efikasna

66

kako XOR operacije mogu biti implementirane rije po rije: samo izlazni bit mora
biti tretiran individualno.
Osobine izlaznog toka
Pojavljivanje jedinica i nula je statistiki jednako broju pojavljivanja u
istinski sluajnom nizu. LFSR-ov izlazni tok je deterministiki, tako da ako znate
trenutno stanje moete predvidjeti sljedee stanje. Ovo nije mogue sa istinskim
sluajnim dogaajima kao to je nuklearna razgradnja atoma. Izlazni tok je
mogue obrnuti, LFSR sa obrnutim odgovarajuim tapovima e proi kroz cijeli
ciklus stanja u obrnutom poretku.
Primjena u kriptografiji
LFSR-ovi se ve dugo koriste kao generatori pseudo-sluajnih brojeva za
upotrebu u stream cyphers, posebno u vojnoj kriptografiji, s obzirom na lakou
konstruisanja od jednostavnih elektromehanikih ili elektronikih kola, s obzirom
na duge periode i vrlo uniformno distribuirane izlaze. Kako bilo, LFSR je linearan
sistem, to ima za posljedicu vrlo jednostavnu kriptoanalizu. Upotreba nesvodljivih
polinoma obezbjeuje da niz pseudo-sluajnih brojeva ima statistike osobine niza
sluajnih brojeva npr. Ekvidistributivnost ( broj nula i jedinica) u nizu je priblino
jednak islino.
Neki polinomi za maksimalan LFSR
Bits

Feedback polynomial

Period
2n 1

n
4

x4 + x3 + 1

15

x5 + x3 + 1

31

x6 + x5 + 1

63

x7 + x6 + 1

127

x8 + x6 + x5 + x4 + 1

255

x9 + x5 + 1

511

10

x10 + x7 + 1

1023

11

x11 + x9 + 1

2047

12

x12 + x11 + x10 + x4 + 1

4095

13

x13 + x12 + x11 + x8 + 1

8191

14

x14 + x13 + x12 + x2 + 1

16383

15

x15 + x14 + 1

32767

16

x16 + x14 + x13 + x11 + 1

65535

17

x17 + x14 + 1

131071
67

18

x18 + x11 + 1

262143

19

x19 + x18 + x17 + x14 + 1

524287

AES
AES (engl. Advanced encryption Standard) je jedan od kriptografskih
algoritama za zatitu digitalnih podataka. AES standard temelji se na simetrinom
Rijndael algoritmu, a kao standard razvijen je da bi postupno zamijenio DES, ija
sigurnost u dananje vrijeme nije dovoljna (DES je hardverski mogue razbiti).
Slino kao i DES, AES je razvijen u privatnom sektoru, no u saradnji s
amerikom vladom. AES je definiran i prihvaen od strane NIST-a (National
Institute of Standards and Technology) u FIPS 197 dokumentu, te se kao takav
koristi u amerikim dravnim ili drugim institucijama zvanino od 2000. godine.
Danas, to se tie upotrebe na internetu, DES, pa i drugi simterini
algoritmi jo uvijek su zastupljeni u veoj mjeri, no vremenom e i AES pronai
svoje mjesto pogotovo zato to DES kao takav ne predstavlja rjeenje u sistemima
koji zahtjevaju najvie razine sigurnosti.
2. Nain rada
Za razliku od na primjer, DES i IDEA algoritama koji podatke ifriraju u 64
bitnim blokovima, AES odnosno Rijndael algoritam ifrira 128 bitne blokove
podataka. Duina kljua moe biti 128, 192, ili 256 bita. Sam Rijndael algoritam je
oblikovan tako da je mogue ifriranje podataka u blokovima razliitih duina i sa
razliitim veliinama kljueva, no to nije definirano kroz standard. Obzirom na
kljueve, uobiajeno je algoritme nazivati AES-128, AES-192 i AES-256.
Matrica stanja
Interno sve operacije AES algoritma provode se na dvodimenzionalnom
nizu bajtova odnosno matrici stanja (state). Matrica stanja se sastoji od etiri reda
koji sadri odreeni broj bajta. Taj broj bajta predstavlja ukupnu duinu bloka u
bitovima podijeljenu sa 32. U konkretnom sluaju, kod AES algoritma to znai 4
bajta (Rijndael algoritam doputa i druge vrijednosti).
ifriranje, odnosno deifriranje, se provodi tako da se ulazni blok podataka
kopira u matricu stanja nad kojom se zatim provode razne operacije.

68

Konano zavrna vrijednost matrice stanja se kopira u izlazni ifrirani blok

podataka.
Ulazni blok podataka kopira se u matricu stanja po sljedeoj formuli
stanje[r,s]=ulaz[r+4s], za 0 r 4,0 s 4
Takoer na slian nain se izlazni podaci kopiraju iz matrice stanja.
izlaz[r+4s]=stanje[r,s], za 0 r 4,0 s 4
Kljuevi
Kao to je ranije spomenuto, ulazni i izlazni blokovi AES algoritma su
duine 128 bita, dok duina kljua moe biti 128, 192, ili 256 bita. Klju se
prikazuje kao odreeni broj 32 bitnih rijei koji, ovisno o duini varira pa moe biti
predstavljen sa 4, 6 ili 8 rijei. Takoer, broj koraka od kojih se algoritam sastoji
ovisi o duini kljua. Tabela 1 daje prikaz ovisnosti broja koraka algoritma o duini
kljua, odnosno o implementaciji algoritma (broj koraka i duina ulaznih/izlaznih
blokova dati su u 32 bitnim rijeima). N k i Nw redom oznaavaju veliinu kljua i
duinu bloka podataka u rijeima dok Nr oznaava broj koraka algoritma.

2.3 Algoritam
Svaki od koraka algoritma predstavlja funkciju koja se sastoji od etiri
transformacije, koje se provode nad bajtovima.
1. Zamjena bajta na temelju supstitucijske tablice (S-blok).
2. Pomak redova u matrici stanja
3. Mijeanje podataka unutar svake kolone matrice stanja
4. Dodavanje podkljua u matricu stanja
ifriranje se provodi tako da se ulazni blok kopira u matricu stanja kako je
ranije opisano, te se zatim provodi inicijalno dodavanje podkljua u matricu.
Nakon toga, matrica stanja se transformira 10, 12, ili 14 puta, zavisno o veliini
kljua, s time da je posljednji korak donekle razliit od prethodih. Konano matrica
stanja se kopira u izlazni blok, na nain koji je opisan prethodno.

69

2.3.1. Zamjena bajtova


Funkcija zamjena_bajta() obavlja nelinearnu transformaciju koja nezavisno
za svaki bajt vri promjenu koritenjem supstitucijske tablice to predstavlja Sblok algoritma. S-blok se konstruira koritenjem dviju transformacija:
1. Izraunati multiplikativnu inverziju u konanom polju GF(28);
element [00] se mapira sam na sebe.
2. Primjeniti sljedeu transformaciju nad bitovima matrice stanja
b' i bi b( i 4 ) mod 8 b(i 5) mod 8 b( i 6) mod 8 b(i 7 ) mod 8 ci , 0 i 8

gdje je bi i-ti bit bajta, a ci je iti bit bzlta c vrijednosti [63]


odnosno [01100011] u binarnom prikazu.

2.3.2 Pomak redova


Funkcija pomak_redova(stanje) predstavlja transformaciju gdje se bajti u
zadnja tri reda matrice cikliki pomiu za odreeni broj bajtova (pomaka). Prvi red
(r0) se ne pomie.
Postupak pomaka se opisuje na sljedeoj slici:

70

2.3.3 Mijeanje podataka u kolonama matrice stanja


Funkcija mijeanje_kolona() provodi transformacije unutar matrice stanja
nad svakom pojedinom kontrolom. Kolone se posmatraju kao polinomi
etvrtog reda, te se multipliciraju sa konstantim polinomom a(x), a rezultat
se svodi na odgovarajui stepen koritenjem modulo (x 4+1) operacije.
Konstantni polinom a(x) definiran je na sljedei nain:
a(x)=[03]x^3+[01]x^2+[01]x+[02]
Matrica stanja se modificira na sljedei nain
s(x)=a(x)*s(x)

2.3.4

Dodavanje podkljua u matricu stanja

Funkcija dodaj_podklju(), transformira matricu stanja dodavanjem


podkljua, odnosno izvoenjem XOR operacije nad bitovima. Svaki podklju
sastoji se od Nw rijei iz linearnog niza dobivenog ekspanzijom kljua.

2.4

Ekspanzija kljua

71

AES algoritam koristi klju za ifriranje K te provodi njegovu ekspanziju da


bi generisao odgovarajue podkljueve. Ekspanzijom kljua generiu se 32-bitne
rijei. Taan broj rijei koje se dobivaju ekspanzijom moe se izraunati sljedeom
formulom:
Nw*(Nr+1),
Gdje, Nw predstavlja duinu bloka a Nr predstavlja broj koraka algoritma.
Rezultat ekspanzije kljua je linearni niz 32 bitnih rijei koje se mogu oznaiti sa
w[i], gdje je 0<=i< Nw*(Nr+1).
2.5. Deifriranje
Postupak ifriranja opisan u prethodnim poglavljima moe biti invertiran
tako da provodi suprotnu funkciju, odnosno deifriranje. Pri tome se koriste
inverzije funkcija zamjena_okteta(), pomak_redova() i mijeanje_kolona() i
nepromijenjena funkcija dodaj_podklju().
3. Sigurnost
AES standard definie tri duine kljua: 128, 192 i 256 bita. Obzirom na
duinu kljua, razlikuje se i broj koraka koji se izvode tokom procesa ifriranja
odnosno deifriranja. U ovom trenutku duine kljueva zadovoljavaju sigurnosne
zahtjeve u veini, ako ne i u svim primjenama.
Osim toga, AES se temelji na Rijndael algoritmu koji omoguava ifriranje
blokova podataka razliitih duina te primjenu kljueva koji takoer mogu imati
razliitu duinu, to omoguava unaprijeenja standarda ukoliko to bude
potrebno.
U algoritmu do sad nisu pronaeni nesigurni ili potencijalno nesigurni
kljuevi (kao kod DES-a). Nadalje, prilikom razvoja Rijndael algoritma posebna
panja posveena je tome da algoritam bude K-siguran i hermetiki. K-sigurnost
znai da je algoritam siguran ukoliko sve mogue strategije napada na njega imaju
oekivana trajanja i zahtjeve za memorijski prostor identine ili vee u odnosu na
ostale algoritme koji ifriraju blokove podataka iste duine. Hermetinost znai da
algoritam ne sadri druge slabosti koje nisu prisutne ni u ostalim algoritmima koji
koriste ekvivalentne blokove i duine kljueva.
Iako AES nije osjetljiv na napade koritenjem linearne ili diferencijalne
kriptoanalaize postoje naznake da je osjetljiv na algebarske napade, a posebno na
novu XSL (extended sparse linearization) metodu napada. Pokazuje se da se
takvim napadom mogu postii rezultati koji su mnogo bolji nego napadima
primjenom sile (brute force).
4. Zakljuak
AES predstavljen je kao novi standard za zatitu i ifriranje podataka,
prihvaen od strane NIST-a, te se predvialo da e u najskorije vrijeme postati de
facto standard za komercijalne aplikacije koje koriste kriptografske metode. Do
72

dananjeg vremena, iako se algoritam pokazuje vrlo sigurnim to se jo nije


dogodilo.
U najnovije vrijeme pronaene su kriptografske metode koje teoretski
omoguavaju i razbijanje i AES algoritma u vremenu brem od napada primjenom
sile. U ovom trenutku takve napade jo uvijek je praktiki nemogue izvesti, no oni
pokazuju da ovaj standard ima svoje nedostatke. Za oekivati je da e u budunosti
ipak biti predstavljen drugi standard koji bi trebao ispuniti sve zahtjeve koje
predstavlja moderna kriptografija.

73

También podría gustarte