Jednokratni blok (OTP) je teoretski neprobojna šifra, pod uvjetom da su ispunjeni određeni uvjeti. Prvi ga je opisao Frank Miller 1882., a kasnije ga je neovisno izmislio Gilbert Vernam 1917. Temeljno načelo iza OTP-a je upotreba nasumičnog ključa koji je dugačak koliko i sama poruka, koji se zatim kombinira s porukom otvorenog teksta koristeći operacija XOR (isključivo ILI). Unatoč svom teoretskom savršenstvu, OTP ima značajna ograničenja koja ga čine nepraktičnim za većinu aplikacija u stvarnom svijetu.
Prvo, zahtjev za istinski nasumičnim ključem koji je dug koliko i poruka predstavlja značajno ograničenje. Sigurno generiranje i distribucija takvih ključeva ogroman je izazov. U praksi je teško generirati pravu slučajnost. Većina generatora slučajnih brojeva proizvodi pseudo-slučajne nizove, koji su deterministički i mogu se potencijalno predvidjeti ako je poznat algoritam ili izvor. Prava slučajnost obično zahtijeva fizičke procese, poput radioaktivnog raspada ili toplinskog šuma, koji nisu lako dostupni ili praktični za široku upotrebu.
Drugo, problematična je sigurna distribucija ključa. Da bi OTP ostao siguran, ključ se mora dijeliti između pošiljatelja i primatelja putem sigurnog kanala koji se ne može presresti ili ugroziti. Ovaj zahtjev u biti negira prednost kriptografije, a to je pružanje sigurne komunikacije preko nesigurnog kanala. Ako je siguran kanal dostupan za distribuciju ključa, on se također može koristiti za prijenos same poruke, čineći OTP suvišnim.
Osim toga, svaka se tipka mora upotrijebiti samo jednom (otuda i naziv "jednokratna" tipka). Ponovno korištenje ključa u OTP enkripciji je katastrofalno za sigurnost. Ako se isti ključ koristi za šifriranje više poruka, napadač može izvesti napad poznatim čistim tekstom kako bi zaključio ključ i zatim dekriptirao sve poruke šifrirane tim ključem. Ovaj zahtjev za jedinstvenim ključevima za svaku poruku dodatno komplicira upravljanje ključevima, čineći ga nepraktičnim za okruženja u kojima je potrebno šifrirati velike količine podataka.
Pohranjivanje i upravljanje ključevima također predstavljaju značajne izazove. Budući da ključ mora biti dug koliko i poruka, sigurno pohranjivanje ovih ključeva zahtijeva znatne resurse. Na primjer, ako netko želi šifrirati datoteku od 1 GB, ključ od 1 GB mora biti sigurno generiran, pohranjen i distribuiran. To nije izvedivo za većinu aplikacija u stvarnom svijetu, osobito u scenarijima gdje se velike količine podataka redovito šifriraju i prenose.
Još jedno ograničenje je osjetljivost na ljudske pogreške. Ispravna implementacija OTP-a važna je za njegovu sigurnost. Svako odstupanje od propisane metode, poput nepravilnog generiranja ključa, nesigurne pohrane ključa ili ponovne upotrebe ključa, može ugroziti cijeli sustav šifriranja. S obzirom na složenost i stroge zahtjeve OTP-a, osiguravanje besprijekorne implementacije izazovno je i podložno ljudskim pogreškama.
Nadalje, OTP ne pruža nikakav oblik provjere autentičnosti. Iako osigurava povjerljivost poruke, ne provjerava identitet pošiljatelja ili integritet poruke. U modernim kriptografskim sustavima autentifikacija je kritična komponenta, a njezin nedostatak u OTP-u zahtijeva upotrebu dodatnih kriptografskih mehanizama za potpunu sigurnost komunikacije.
Unatoč ovim ograničenjima, OTP se i dalje koristi u specifičnim primjenama gdje se njegovi zahtjevi mogu ispuniti. Na primjer, kroz povijest se koristio u diplomatskim i vojnim komunikacijama, gdje se sigurna distribucija i upravljanje ključevima može rigorozno kontrolirati. U takvim kontekstima, apsolutna sigurnost Tužilaštva nadmašuje njegove praktične izazove.
Kako bismo ilustrirali nepraktičnost OTP-a, razmotrimo jednostavan primjer. Pretpostavimo da Alice želi poslati datoteku od 100 MB Bobu koristeći OTP. Prvo mora generirati nasumični ključ od 100 MB, koji zatim koristi za XOR s datotekom od 100 MB kako bi proizvela šifrirani tekst. Ovaj ključ od 100 MB mora se sigurno prenijeti Bobu prije nego što može dešifrirati šifrirani tekst. Ako Alice i Bob žele redovito komunicirati, trebat će im novi ključ od 100 MB za svaku poruku, što će rezultirati ogromnom količinom ključnih podataka koji se moraju sigurno generirati, pohraniti i prenijeti.
Nasuprot tome, moderni kriptografski sustavi, kao što su oni koji koriste algoritme simetričnog ključa (npr. AES) ili algoritme asimetričnog ključa (npr. RSA), koriste znatno kraće ključeve kojima se može sigurno upravljati i distribuirati uz manje troškova. Ovi sustavi također pružaju dodatne značajke kao što su autentifikacija, provjera integriteta i neporicanje, koje su ključne za sigurnu komunikaciju u stvarnim aplikacijama.
Dok jednokratni blok ostaje intrigantna i teoretski savršena metoda šifriranja, njegova praktična ograničenja, uključujući potrebu za doista nasumičnim ključevima, sigurnu distribuciju ključeva, jedinstvene ključeve za svaku poruku i nedostatak provjere autentičnosti, čine ga neprikladnim za većinu stvarnih svjetske aplikacije. Moderni kriptografski sustavi nude praktičnije i sveobuhvatnije rješenje za osiguranje komunikacije.
Ostala nedavna pitanja i odgovori u vezi Osnove klasične kriptografije EITC/IS/CCF:
- Je li kriptografija s javnim ključem uvedena za upotrebu u šifriranju?
- Naziva li se skup svih mogućih ključeva određenog kriptografskog protokola prostor ključeva u kriptografiji?
- U šifri pomaka, zamjenjuju li se slova na kraju abecede slovima s početka abecede prema modularnoj aritmetici?
- Što bi blok šifra trebala sadržavati prema Shannonu?
- Je li DES protokol uveden radi poboljšanja sigurnosti AES kriptosustava?
- Ovisi li sigurnost blokovskih šifri o višestrukom kombiniranju operacija zbunjenosti i difuzije?
- Je li potrebno da funkcije šifriranja i dešifriranja ostanu tajne kako bi kriptografski protokol ostao siguran?
- Može li se kriptoanaliza koristiti za sigurnu komunikaciju preko nesigurnog komunikacijskog kanala?
- Spadaju li Internet, GSM i bežične mreže u nesigurne komunikacijske kanale?
- Je li iscrpna pretraga ključa učinkovita protiv supstitucijskih šifri?
Više pitanja i odgovora potražite u Osnovama klasične kriptografije EITC/IS/CCF

