25.07.2013 Views

Zaštita podataka primenom kriptografskih metoda - Univerzitet u Nišu

Zaštita podataka primenom kriptografskih metoda - Univerzitet u Nišu

Zaštita podataka primenom kriptografskih metoda - Univerzitet u Nišu

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Zaštita</strong> <strong>podataka</strong> <strong>primenom</strong> <strong>kriptografskih</strong> <strong>metoda</strong><br />

Za generisanje javnog i tajnog ključa se koriste prosti brojevi. Tajni ključ predstavlja uređeni par<br />

brojeva (N,d). Javni ključ je takođe uređeni par brojeva (N,e). Treba uočiti da je broj N zajednički za oba<br />

ključa. Osoba koja šalje poruku vrši kriptovanje pomoću sledeće jednačine [10]:<br />

e<br />

C = P mod N<br />

Gde je: P, izvorni tekst koji je prikazan u obliku broja; C, broj koji predstavlja kriptovan tekst; brojevi e<br />

i N su komponente javnog ključa. Kada se poruka primi potrebno je dekriptovati pomoću sledeće<br />

jednačine:<br />

d<br />

P = C mod N<br />

Gde su P i C isto kao i u predhodnoj formuli, a N i d predstavljaju komponente tajnog ključa. Na Slici<br />

2.21 je prikazan primer RSA kriptovanja.<br />

30<br />

Slika 2.21<br />

Primer RSA kriptovanja<br />

Tajni ključ predstavlja uređeni par (119, 77), a javni ključ je uređeni par (119,5) i osoba A želi da<br />

pošalje karakter F osobi B. Ovaj karakter se može predstaviti kao broj 6 (F je šesti karakter u abecedi).<br />

Korišćenjem formule algoritma kriptovanja dobija se C = 6 5 mod 119 = 41. Ovaj broj se šalje kao<br />

kriptovan tekst osobi B. Osoba B kada primi broj koristi algoritam za dekriptovanje P = 41 77 mod 119 =<br />

6, a nakon toga inverznom transformacijom se broj 6 vrati u karakter F.<br />

Postavlja se pitanje koliko je ovaj način slanja pouzdan. Ukoliko neka osoba C zna formulu za<br />

dekriptovanje i N = 119, a nedostaje joj samo d = 77, zašto ne bi pokušala da pogodi d. U ovom<br />

jednostavnom primeru osoba C bi mogla da pogodi vrednost d, međutim osnovni koncept RSA za d i e<br />

predviđa korišćenje veoma velikih brojeva. U praksi korišćenje jako velikih brojeva za d i e znači veliki<br />

broj kombinacija koje se moraju isprobati radi otkrivanja šifre tj. veoma dugo vreme razbijanja koda čak<br />

i uz pomoć najbržih računara koji su dostupni danas.<br />

Osnovni problem kod RSA algoritma je kako izvršiti izbor brojeva N, d i e (veoma velike vrednosti<br />

dužine od 1024 do 2048), a da ujedno zadovoljavaju formule algoritma. Zapravo RSA koristi teoriju<br />

prostih brojeva i sledeću proceduru [21]:<br />

• Izabrati dva prosta broja p i q<br />

• Sračunati N = p x q<br />

• Izabrati e (mora biti manje od N) tako da e i proizvod (p – 1)(q – 1) budu uzajamno prosti<br />

(da nemaju zajedničkog delitelja osim 1).<br />

• Odrediti broj d tako da zadovoljava jednačinu (e x d) mod [(p – 1)(q – 1)] = 1<br />

Kao ilustracija formiranja para ključeva data je sledeća procedura: izabrati proste brojeve p = 2357,<br />

q = 2551; izračunati N = p x q = 6012707; izračunati (p – 1)(q – 1) = 6007800; bira se slučajni broj e =<br />

3113390; računa se d = 3674911.<br />

Određivanje originalne poruke na osnovu kriptovane poruke i javnog ključa ekvivalentno je<br />

faktorizaciji proizvoda dva velika prosta broja [22]. Ukoliko bi neka osoba C faktorisala broj N i iz toga<br />

pronašla proizvod (p – 1)(q – 1) ne može doći u posed broja e, zato što on nema zajedničkog delitelja sa

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!