You are on page 1of 2

Javni ključ

Asimetrična kriptografija ili kriptografija sa javnim ključem se bazira na postojanju dva


ključa: jedan javni služi za šifrovanje a drugi tajni za dešifrovanje poruke. Pored
klasičnog šifrovanja, kriptografija javnog ključa služi i za digitalne potpise, odnosno
autentičnost pošiljaoca koji poruku potpisuje privatnim tajnim ključem, može biti
proverena pomoću javnog ključa.

Postoji više algoritama za generisanje asimetričnih ključeva. Jedan od vodećih je RSA


algoritam, koji je dobio ime po trojici svojih pronalazača (Rievst, Shamir, Adleman). On
funkcioniše pre svega na teškoći faktorizacije velikih brojeva, kao i na osobinama
operacije mod i na Euler-ovoj funkciji ϕ . Alisa Bobanu treba da pošalje neku poruku.
Ona odlazi na Bobanov sajt i uzme javno dostupan ključ (n,e) koji je Boban napravio na
sledeći način:

Boban je izabrao dva prosta broja p i q sa oko 150 dekadnih cifara. Zatim je izračunao
n=pq i ϕ (n)=(p-1)(q-1). Nakon toga je odredio neki broj e takav da je nzd(e, ϕ (n))=1 i
odredio je tajni broj d=e-1(modϕ (n)). Brojeve n i e je objavio na svom sajtu, a brojeve
d,p,q čuva u tajnosti.

Alisa kriptuje poruku M pomoću javnog ključa (n,e). Ona izračunava C=Me(mod n), i
dobijeno C šalje Bobanu. Boban izračunava Cd(mod n) i dobija M, jer je
Cd=(Me)d=Med=M1=M (mod n).

Težina javnog ključa ogleda se u tome što je određivanje činioca broja n sporo i
neefikasno. Očekuje se da će postojeći razvoj hardvera ovaj posao olakšati za oko
petnaestak godina.

Na sledećem primeru (sa znatno manjim brojem n) je pokazano kako bi se na osnovu


javnog ključa šifrovala poruka, odredio tajni broj d, i dešifrovala poruka.

Primer.

Neka je dat javni ključ (n,e)=(697,33). Alisa Bobanu hoće da pošalje poruku 207.
a) Šta je šifrat poruke 207?
b) Odrediti tajni broj d.
c) Dešifrovati 110.

a)
Alisa računa šifrat: 207e(mod n)=20733(mod 697)=156

b)
Za pronalaženje tajnog broja d najpre je potrebno izvršiti faktorizaciju broja n. U
nekoliko pokušaja deleći broj n sa prostim brojevima redom, dobija se 697=17⋅41. Tada
je ϕ(697)=16⋅40=640.
Euklidovim algoritmom određuje se d=33-1(mod 640):

640=19⋅33+13
33=2⋅13+7
13=1⋅7+6
7=1⋅6+1

1=7-1⋅6
1=7-(13-1⋅7)
1=2⋅7-13
1=2⋅(33-2⋅13)-13
1=2⋅33-5⋅13
1=2⋅33-5⋅(640-19⋅33)
1=2⋅33+95⋅33-5⋅640
1=97⋅33-5⋅640

Traženi broj je d=97.

Zaista, Boban će na osnovu dobijene poruke 156, izračunati sledeće:

15697(mod 697)=207

c)
11097(mod 697)=586

You might also like