Cezarova šifra

Izvor: Wikipedija
Skoči na: orijentacija, traži
Kod Cezarove šifre svako slovo se zamjenjuje odgovarajućim slovom iz abecede, pomaknutim za određeni broj mjesta. U ovom primjeru pomak je 3, tako da u šifratu slovo B postaje E.

U kriptografiji, Cezarova šifra jedan je od najjednostavnijih i najrasprostranjenijih načina šifriranja. To je tip šifre zamjene (supstitucije), u kome se svako slovo otvorenog teksta zamjenjuje odgovarajućim slovom abecede, pomaknutim za određeni broj mjesta. Na primjer, s pomakom 3, A se zamijenjuje slovom D, B slovom E itd. Ova metoda je dobila ime po Juliju Cezaru, koji ju je koristio za razmjenu poruka sa svojim generalima.

Cezarova šifra često se koristi kao korak u izradi složenijih načina šifriranja, kao što je Vigenèreova šifra, a ima i suvremenu upotrebu u sustavu "ROT13". Kao i sve ostale šifre jednostavne abecedne zamjene, Cezarova šifra lako se razbija i u praksi ne pruža nikakvu sigurnost u komunikaciji.

Primjer[uredi VE | uredi]

(Za lakše razumijevanje, u tekstu je otvoren tekst predstavljen malim, a šifrat velikim slovima.)

Pretvaranje se može predstaviti poravnavanjem dvije abecede jedne ispod druge; abeceda za šifriranje je obična abeceda rotirana lijevo ili desno za određeni broj mjesta. U ovom primjeru Cezarova šifra koristi lijevu rotaciju od tri mjesta. Parametar pomak, u ovom slučaju 3, koristi se kao ključ:

Otvoreno:  a b c č ć d đ e f g h i j k l m n o p r s š t u v z ž
Šifra:     Č Ć D Đ E F G H I J K L M N O P R S Š T U V Z Ž A B C

Za šifriranje poruke jednostavno se zapisuje slovo iz reda "Šifra" koje se nalazi ispod odgovarajućeg slova u redu "Otvoreno". Za dešifriranje postupak je obrnut.

Otvoreno: odžačar filip šalje osmjehe tuđoj ženi a njegova kuća bez djece[1]
Šifrat:   SFCČĐČT ILOLŠ VČOMH SUPMHKH ZŽGSM CHSL Č RMHJSAČ NŽEČ ĆHB FMHDH

Matematičko predstavljanje[uredi VE | uredi]

Šifriranje se također može predstaviti preko modularne aritmetike, tako što se prvo slova pretvore u brojeve, na primjer po shemi A=0, B=1, ..., Ž=26 (bez dvoslova dž, lj, nj). Šifriranje slova x sa pomakom n može se matematički opisati kao

E_n(x) = (x + n) \mod {27}.

Slično se izvodi i dešifriranje

D_n(x) = (x - n) \mod {27}.

Prema navedenom, rezultat je u opsegu 0..26. Ako rezultat x+n ili x-n nije u opsegu od 0 do 26, treba dodati ili oduzeti 27.

Zamjena je ista za cijelu poruku, tako da je ovo šifriranje klasificirano kao tip monoalfabetske šifre, nasuprot tipu polialfabetske šifre.

Povijest i upotreba[uredi VE | uredi]

Cezarova šifra je dobila ime po Juliju Cezaru, koji je koristio alfabet s lijevim pomakom od tri mjesta.

Cezarova šifra je dobila ime po Juliju Cezaru, koji je, prema navodima u Svetonijevom tekstu "Dvanaest Cezara", takvu šifru s pomakom od tri mjesta koristio kao zaštitu poruka od vojne važnosti:

Ako je imao reći nešto povjerljivo, on je to pisao šifrirano tako što je mijenjao redoslijed slova u alfabetu i na taj način postigao da se nijedna riječ nije mogla prepoznati. Ako bi netko to želio dešifrirati i naći značenje, morao bi zamijeniti četvrto slovo alfabeta, dakle D s A i tako dalje za ostala. — Svetonije, Život Julija Cezara, LVI.[2].

Cezarova šifra je prva zabilježena upotreba ove sheme, ali je poznato da su druge šifre zamjene korištene ranije. Njegov rođak August također je koristio šifriranje, ali s desnim pomakom od jedan i nije vršio rotiranje na početak alfabeta:

Uvijek kad je pisao šifrirano, pisao je B umesto A, C umesto B i ostala slova po istom principu, koristeći AA umesto X. — Svetonije, Život Avgusta, 88.[3].

Postoji dokaz da je Cezar koristio i kompliciranije šifre i jedan autor, Aul Gelije, ukazuje na (sada izgubljenu) raspravu o njegovim šiframa:

Ima čak i jedna prilično oštroumno napisana rasprava gramatičara Proba o tajnom značenju slova u sastavljanju Cezarovih poruka.

Nije poznato koliko je Cezarova šifra bila učinkovita u to vrijeme, ali je vjerojatno bila relativno sigurna, ne samo zbog toga što je malo Cezarovih neprijatelja znalo latinski ili uopće bilo upoznato s pisanim jezikom, već i zbog nemogućnosti primjene kriptoanalize. Pod pretpostavkom da je napadač mogao pročitati poruku, ne postoje zapisi iz tog vremena o bilo kakvoj tehnici za rješavanje šifara jednostavne zamjene. Najstariji zapisi o otkriću frekvencijske analize datiraju iz 9. stoljeća s arapskog područja.

Naspram odgovarajućih riječi (treće, četvrte i pete) na prednjoj strani, na poleđini pergamenta Mezuze, nalazi se tekst "כוזו במוכסז כוזו", Cezarova šifra s pomakom 1 (Adonaj elohenu, Adonaj, Gospodin je naš Bog, Gospodin).[4]

U 19. stoljeću privatni oglasi u novinama služili su za razmjenu šifriranih poruka korištenjem jednostavnih shema šifriranja; David Kahn u Timesu (1967.) opisuje slučajeve tajne komunikacije ljubavnika šifrirane Cezarovom šifrom. Čak i kasnije (1915.), korištena je Cezarova šifra: Ruska vojska ju je koristila kao zamjenu za mnogo kompliciranije šifre koje su se kod njihovih trupa pokazale kao suviše teške za svladavanje - njemački i austrijski kriptoanalitičari su bez problema dekriptirali takve poruke.

Danas se Cezarova šifra može naći u dječijim igrama. Cezarov pomak od 13 se također koristi u "ROT13" algoritmu, ali ne kao metoda šifriranja, nego da bi se neki tekst učinio neprepoznatljivim, kao na primjer na nekim internetskim forumima za skrivanje spojlera.

Vigenèreova šifra koristi Cezarovu šifru s različitim pomakom na svakom mjestu u tekstu; vrijednost pomaka definira se korištenjem ponovljenog ključa. Ako se koristi slučajno izabran ključ koji se ne ponavlja i koji ima dužinu poruke, to je onda "šifriranje jednokratnim ključem" (eng. one-time pad - OTP) - šifra koja je neprobojna ako korisnik sačuva tajnost ključa. Ključevi koji su kraći od poruke predstavljaju ciklični uzorak koji se može otkriti statistički naprednom inačicom frekvencijske analize.

U travnju 2006. mafijaški bos Bernardo Provenzano uhvaćen je na Siciliji djelomično zahvaljujući kriptoanalizi njegovih poruka pisanih u varijanti Cezarove šifre. Provenzanova šifra je koristila brojeve, tako da je "A" pisano kao "4", "B" kao "5" itd.[5]

Razbijanje šifre[uredi VE | uredi]

Zastupljenost slova u hrvatskom jeziku.
Raspodjela učestalosti slova ima karakterističan i predvidljiv oblik. Cezarova šifra "rotira" ovu raspodjelu i moguće je odrediti pomak ispitujući rezultirajući grafik učestalosti slova.

Za razbijanje Cezarove šifre dovoljan je samo šifrat. Mogu se razmotriti dvija slučaja:

  1. napadač zna (ili sumnja) da se radi o šifri zamjene, ali ne i da je korištena Cezarova shema i
  2. napadač zna da je korištena Cezarova šifra, ali ne zna vrijednost pomaka.

U prvom slučaju, šifra se može razbiti korištenjem istih tehnika kao za opće šifre zamjene, kao što su frekvencijska analiza ili uzorak riječi. Dok rješava, napadač će vjerojatno brzo uočiti pravilnost u rješenju i zaključiti da je u pitanju Cezarova šifra.

Pomak Mogući otvoreni tekst
0 L U B Ć Ž V O Ć
1 K T A Č Z U N Č
2 J Š Ž C V T M C
3 I S Z B U Š L B
4 H R V A T S K A
5 G P U Ž Š R J Ž
6 F O T Z S P I Z
...
24 O Ž Ć E C A S E
25 N Z Č Đ B Ž R Đ
26 M V C D A Z P D

U drugom slučaju, razbijanje sheme je još jednostavnije. Pošto je ograničen broj mogućih pomaka (u ovom slučaju 27, tj. hrvatska abeceda bez dvoslova dž, lj i nj), svaki se od njih može redom ispitati u "napadu grubom silom". Jedan od načina da se to uradi je da se napiše odsečak šifrata u tablicu svih mogućih pomaka. Navedeni primjer je za šifrat "LUBĆŽVOĆ"; otvoreni tekst se odmah prepoznaje u redu s pomakom 4. Drugi način rješavanja je da se ispod svakog slova šifrata ispiše cijela abeceda unatrag, počevši od tog slova. Ovaj napad se može ubrzati korištenjem pripremljenih traka sa slovima. Trake se zatim poravnaju dok se šifrat pojavi u jednom redu, a otvoreni tekst će se pojaviti u nekom od ostalih redova.

Još jedan pristup grubom silom je uspoređivanje raspodjele frekvencije slova. Predstavljanjem frekvencije slova u grafičkom obliku i znajući očekivanu raspodjelu slova u izvornom jeziku otvorenog teksta, može se lako uočiti vrijednost pomaka gledajući na posebne osobine grafikona. Ovo je poznato kao frekvencijska analiza. Na primjer, u hrvatskom jeziku slova A, I, O i E (kao najzastupljenija) i Č, Ć i F (kao najmanje zastupljena) su posebno karakteristična. Ovo može raditi i računalo korištenjem statističkih metoda.

Za otvoreni tekst u prirodnom jeziku, po svemu sudeći bi se dobila jedna vjerodostojna dekripcija, ali za izuzetno kratke tekstove moguće je pojavljivanje više mogućnosti zbog jednake udaljenosti slova (primjeri na engleskom: šifrat MPQY se može dešifrirati kao aden ili know, isto tako ALIIP kao dolls ili wheel).

Višestruko šifriranje ne omogućava dodatnu sigurnost. To je zato što će dva šifriranja s pomakom X i pomakom Y biti ekvivalentna jednom šifriranju s pomakom X + Y.

Vidi još[uredi VE | uredi]

Izvori[uredi VE | uredi]

  • David Kahn, The Codebreakers — The Story of Secret Writing, 1967. ISBN 0-684-83130-9.
  • F.L. Bauer, Decrypted Secrets, 2nd edition, 2000, Springer. ISBN 3-540-66871-3.
  • Chris Savarese and Brian Hart, The Caesar Cipher, 1999 link

Vanjske poveznice[uredi VE | uredi]