Uvod
Kriptografija je znanstvena disciplina koja proučava načine slanja informacija na siguran način, metode slanja informacija i komunikacije korištenjem kodova prevedenih tako da ih razumije samo onaj za koga su namjenjeni. Riječ kriptografija dolazi od grčke riječi kriptós (κρυπτός) za skriven i glagola gráfo (γράφω) za pisati.
Osnovna zadaće kriptografije je omogućiti komunikaciju dviju osoba preko nesigurnog komunikacijskog kanala tako da ih treća osoba ne može razumijeti. Pošiljatelj napiše otvoreni tekst koji želi poslati primaocu. Taj tekst mora prvo transformirati pomoću unaprijed dogovorenog ključa. Postupak transformiranja otorenog teksta naziva se šifriranje, a šifrirani tekst naziva se šifrat ili kriptogram. Nakon šifriranja pošiljatelj šalje tekst preko nesigurnog komunikacijskog kanala, no tekst može jedino razumijeti osoba koja posjeduje ranije spomenuti ključ. Šifrat tada dolazi do primatelja koji posjeduje taj ključ i pomoću mjega dešifrira tekst, a kao rezultat dobiva otvoreni tekst.
Za šifriranje i dešifriranje poruke koriste se dvije matematičke funkcije, jedna za šifriranje, a druga za dešifriranje. Te funkcije preslikavaju osnovne elemente otvorenog teksta u osnovne elemente šifrata i obratno. Funkcije se biraju ovisno o ključu, a skup svih mogućih vrijednosti ključeva naziva se prostor ključeva.
Moderni simetrični blokovni kriptosustav – DES
Drugom polovicom 20. stoljeća pojavila se potreba za uvođenjem standarda u kriptografiji. Do tad se kriptografija koristila isključivo za vojne i diplomatske svrhe, no razvojem financijskih transakcija dolazi do potrebe za šifrom koju će bilo tko moći koristiti bez brige za njenu sigurnost. Godine 1973. američki National Bureau of Standards (NBS) raspisuje natječaj za kriptosustav koji treba biti siguran, a isto tako i efikasan.
Na prvom natječaju ni jedan algoritam nije zadovoljavao zadane uvjete. Međutim, na natječaju raspisanom sljedeće godine pristigao je prijedlog algoritma koji je razvio IBM-ov tim kriptografa. Nakon nekoliko preinaka, 1976. godine prihvaćen je kao standard s nazivom Data Encryption Standard (DES).
Kriptosustav s javnim ključem
Za sigurnost simetričnih kriptosustava nužna je tajnost ključa, no to je jedino i njihov nedostatak, budući da prije šifriranja pošiljalac i primalac moraju biti u mogućnosti razmijeniti tajni ključ preko nekog sigurnog komunikacijskog kanala. Ključ se tada mora često mijenjati zbog toga što korištenje istog ključa za slanje više poruka znatno smanjuje sigurnost.
1976. godine Whitfield Diffie i Martin Hellman ponudili su rješenje problema razmjena ključeva, zasnovano na činjenici da je u nekim grupama potenciranje puno jednostavnije od logaritmiranja.
Pretpostavimo da se dvije osobe A i B žele dogovoriti o tajnom i slučajnom elementu u cikličkoj grupi G, koji će kasnije koristiti kao ključ za šifriranje u nekom simetričnom kriptosustavu. Taj dogovor moraju prenjeti preko nesigurnog komunikacijskog kanala, bez prethodnog komuniciranja. Tada Diffie-Hellmanov protokol za razmjenu ključeva izgleda ovako:
- Osoba A generira slučajan prirodan broj a in {1, 2, … , |G| – 1}. Ona pošalje osobi B element ga.
- Osoba B generira slučajan prirodan broj b in {1, 2, … , |G| – 1}, te pošalje osobi A element gb.
- Osoba A izračuna (gb)a = gab.
- Osoba B izračuna (ga)b = gab.
Sada je njihov tajni ključ K = gab.
Protivnik koji prisluškuje komunikaciju zna podatke: G, g, ga, gb , a iz tih podataka treba izračunati gab. Ako protivnik iz poznavanja g i ga može izračunati a (tj. ako može riješiti problem diskretnog logaritma), onda i on može pomoću a i gb izračunati gab.
Diffie i Hellman smatraju se začetnicima kriptografije javnog ključa. Ideja se zasniva na na tome da je uz poznatu funkcije šifriranja gotovo nemoguće odrediti funkciju dešifriranja razumnom vremenu. Ta ideja je bila revolucionarna i na njoj se zasniva gotovo sva moderna kriptografija.
Literatura:
[1] Kriptografija – Wikipedija
[2] Andrej Dujella – Kriptografija