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
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