Professional Documents
Culture Documents
KSS - Predavanje 5 - Asimetricni Kriptografski Algoritmi. RSA
KSS - Predavanje 5 - Asimetricni Kriptografski Algoritmi. RSA
UNIVERZITET U SARAJEVU
Odsjek za telekomunikacije
MSc studij, I godina
akademska godina 2011/2012
PREDAVANJE 5
Asimetrini kriptografski algoritmi. RSA.
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
3x
27
81
243
729
3x (mod7)
Jedino ogranienje pri izboru tih parametata je da vazi odnos Y< P. Pri
tome ove vrijednosti nisu tajna, pa se mogu dogovarati i putem javne telefonske
linije. Ukoliko je Y = 7, a P = 11, tada su se oni dogovorili da koriste funkciju
7x (mod 11). Procedura formiranja vlastitih kljueva osobe A i osobe B,
prikazana je u nastavku teksta.
1.
Osoba A bira kao vlastiti broj a, recimo prirodan broj 3, dakle a=3, te
taj podatak drzi tajnim. S druge strane osoba B bira kao vlastiti broj b,
neka je to prirodan broj 6, dakle b = 3, te takoer taj podatak drzi tajnim.
2.
3.
4.
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
komponente), dok osoba C registruje pored svoje kante u kojoj je litar zute boje
i prolazak dvije kante napunjene sa po dva pitra razliite boje.
Svoje otkrie opisanog algoritma za pouzdanu razmjenu kriptografskih
kljueva i bez fizikog sastajanja osoba koje komuniciraju uz kriptografsku
zatitu, Difi, Helman i Merkl, predstavili su amerikoj javnosti na nacionalnoj
raunarskoj konferenciji 1976. godine. Naredne godine oni su i patentirali svoj
algoritam. Opisani sistem i pored svoje nesumnjive inovativnosti, mogao se ipak
i dodatno dograivati da bi se prevazile neke njegove nedoreenosti.
Naime, tokom komunikacija odreenih subjekata sa vrlo udaljenih
geografskih podruja (meusobno pomjerenih za vie asovnih zona) evidentan
problem postaje sinhronizovana razmjene parametara Y, P, i . Ovaj problem
je rjeen tako to se one vrijednosti parametara, koje nisu tajna, stavljaju na
uvid cjelokupnoj javnosti u formi javnog kljua. U tom smislu javni klju
osobe A je klju kojim svi koji hoe da joj poalju ifrovanu poruku, ifruju
izorni tekst. Tajni klju osobe A je klju koji samo ona zna i uz ije djelovanje
se moze deifrovati svaka poruka, ifrovana javnim kljuem osobe A. Postupak
asimetrine kriptografije (jednim kljuem se ifruje, a drugim deifruje tekst), u
analogiji sa slanjem poruka u kutiji koja je zatvorena katancem imao bi
slijedei smisao. Svako moze da zatvori katanac, ali ga moze otvoriti samo onaj
ko ima njegov klju. Onaj ko hoe da sakrije poruku za osobu A u kutiju, treba
samo nabaviti katanac za osobu A, i zatvori katanac. To zatvaranje katanca je
ekvivalentno pribavljanju javnog kljua osobe A.
Dakle Difi, Helman i Merkl su algoritamski smislili revolucionarno nov
sistem za bezbjednu razmjenu kljueva, ali je ostao nerjeen problem njegove
praktine implementacije.
Na tom problemu, uz niz drugih timova, u laboratorijama za raunarsku
tehniku MIT-a, radili su i Ron Rivest (Ron Rivest (1947- )), Leonard Adlman
(Leonard Adlman (1945- )) i Adi amir (Adi Shamir (1952- )). Dok su Rivest i
amir bili kompjuterski strunjaci, Adelman je bio matematiar i imao je
zadatak da ponuene ideje oko pronalazenja odgovarajue jednosmjerne
funkcije, kritiki preispituje.
Primjer
Opisati proceduru konstrukcije i razmjene kriptografskih kljueva, koji se
koriste u okviru ifriranja RSA algoritmom komunikacije uspostavljene izmeu
osobe A i osobe B.
5
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
Osoba A bira dovoljno veliki broj NA, koji je odree kao proizvod dva prosta
broja pA i qA,( broj je prost u matematikom smislu ako je djeljiv bez ostatka,
samo sa brojem 1 i sa samim sobom). Za broj NA, dakle vai relacija:
NA = pA qA
U praksi su brojevi pA i qA izuzetno veliki, kako bi se proces njihovog
pronalaenja kada je poznato NA uinio praktino nemoguim i uz upotrebu
enormnih raunarskih resursa. Kod vanih bankarskih transakcija N A ima
vrijednost reda 10308 to je otprilike ekvivalentno kljuu od 1024 bita, kojem
odgovara prostor kljueva od 21024 .
Za primjer koji se obrauje u ovom tekstu, neka je p A = 17, a qA = 11, zbog ega
je:
NA = 17 11 = 187
Dok se broj NA javno objavljuje, jer je dio javnog kljua osobe A, (osoba A ga
moe staviti na svoju vizit kartu ili na svoj web site), brojevi p A i qA moraju se
drati u tajnosti, jer su komponente tajnog kljua osobe A. Osoba A potom bira
jo jedan prost broj eA = 7. Treba voditi rauna da i brojevi (pA -1), (qA-1) i eA
trebaju biti meusobno relativno prosti. Brojevi NA i eA ine javni klju osobe
A.
Kada osoba B hoe da poalje poruku osobi A i to u kriptovanoj formi, u skladu
sa algoritmom RSA, izvorni tekst poruke treba prvo prevesti u binarnu notaciju
prema ASCII kodu. Zatim se iz te binarne notacije, prvo prelazi u ekvivalentni
decimalni broj M, nakon ega se formira tek kriptovani oblik izvorne poruke
osobe B, neko CB ( koje se namjerava uputiti osobi A), u skladu sa relacijom:
CB = MeA (mod NA)
Ukoliko je osoba B htjela da poalje osobi A samo simbol X, on u ASCII notaciji
ima formu 1011000. Tome u decimalnoj notaciji odgovara broj 88. Dakle tada je
M = 88.
S obzirom da je javni klju osobe A definisan parametrima NA = 187 i eA = 7,
tada je kriptovani oblik izvorne poruke
CB =88 7 (mod 187)
Raunanje vrijednosti 88 7 moe se pojednostaviti uzimajui u obzir da je
88 7 (mod 187) = 88 (mod 187) 88 2 (mod 187) 88 2 (mod 187) 88 2 (mod 187) =
6
Univerzitet u Sarajevu
Elektrotehniki fakultet
Odsjek za telekomunikacije
88 7(mod 187) = 88 (mod 187) 77 (mod 187) 77 (mod 187) 77 (mod 187) =
88 7(mod 187)= 11 (mod 187).
Neko ko eli da otkrije sadraj komunikacije izmeu osoba A i B, na osnovu
podataka: 11 = ? 7 (mod 187), teko da moe otkriti kako je M = 88, pogotovo u
uslovima realnih eksploatacionih sistema kada je umjesto NA = 187 i eA = 7,
upotrebljena mnogo vea vrijednost.
Osoba A nakon prijema sadraja CB = 11, ipak je u stanju, uz pomo samo njoj
poznatog parametra dA , odreenog relacijom:
eA dA = 1 (mod (pA-1)(qA-1)) =
7 dA = 1 (mod (16)(10)) = 1 (mod (160)) ,odakle se utvruje da je dA = 23
Pri odreivanju vrijednosti parametra dA, koristi se Euklidov algoritam. Osoba
A sada na osnovu izraunate vrijednosti dA i uz pomo relacije
M = CdA ( mod 187) = 1123 (mod 187) = 112 (mod 187) 1121 (mod 187) =
M = 121 (mod 187) 1121 (mod 187) =.....= 88 , binarno 1011000, odnosno X u
ASCII notaciji.