Galerija

Mašina Enigma u kućnoj radinosti, deo 1

U jednom od skorašnjih priloga bavio sam se sigurnošću pasvorda i koliko oni treba da budu dugački da bi ostali neprobojni. To je tek bio uvod u analizu problema, mada sam problem obradio  delimično, jer nisam pomenuo da dužina pasvorda zavisi od mnogo drugih parametara, a najviše od toga čemu služi neka lozinka, od vašeg nivoa poznavanja algoritma koji koristi tu lozinku, na koliko pogrešnih pokušaja imate prava pre nego što vas sistem blokira, ako se radi o šifrovanju, da li i koliko imate već dešifrovanog materijala i tako dalje.

U ovom prilogu, pozabavio bih se jednim od najčešćih upotreba pasvorda, a to je šifrovanje i dešifrovanje poruka. To je problem star koliko postoje i ljudske civilizacije. Ljudi su, oduvek, pokušavali na razne načine da pošalju poruku od osobe A do osobe B, tako da nijedna osoba C na putu od A do B, pa ni sami kuriri, ne budu u stanju da je protumače. Sećam se da sam još kao klinac, došao do banalne ideje da napravim jednostavnu tabelu, gde bih jednostavno izmešao sva slova azbuke, tako da bi A išlo u M, B u K, V u Š itd. i sa ponosom sam dao jednu podužu poruku svome ocu da je protumači ako može. Poruku sam namerno napisao dužu, jer sam, naivno i pogrešno, mislio da će tako biti još teže. Na moje veliko zaprepašćenje, poruka je bila dešifrovana nakon nekoliko sati i ja sam zaista tada mislio da je moj otac genije. Tek sam mnogo godina kasnije shvatio da taj sistem što sam „ja smislio“, da je to u stvari staro barem 2 hiljade godina i da se time još Julius Cezar koristio, dok je metod koji je moj otac koristio da dešifruje bio klasična tehnika merenja frekvencije upotrebe slova u tekstu, pa se onda metodom pokušaja i greške relativno brzo dođe do zaključka da M treba da ide u A, da K ide u B i tako dalje. Ni moj otac nije ranije znao za tu tehniku, već je tvrdio da je sam smislio na licu mesta.

Samouverenost je ponekad pogubna. Nacisti su bili sigurni da su sigurni, a ipak ....

Samouverenost je ponekad pogubna. Nacisti su bili sigurni da su sigurni, a ipak ….

Dosta je vremena od tada prošlo, Cezarov disk je odavno prevaziđen, a u međuvremenu sam saznao princip rada AES ili RSA protokola, mada me više fascinira kvantna kriptologija koja predstavlja enormni korak napred u odnosu na sve prethodne tehnike. Međutim, kao i svaki inženjer, mene su uvek zanimale stvari koje mogu sam da opipam. Najbolji način da nešto razumem je da to sam napravim. I tako sam u svojim avanturama odlučio da se pozabavim mašinom koju su Nacisti koristili pre i za vreme Drugog svetskog rata za šifrovanje poruka. Radi se o relativno velikoj porodici mašina pod nazivom Enigma. Od 1918 godine kada je nastala, pa do 1945 kada je izašla iz opticaja, Nemci su napravili oko 10 varijanti na temu, dodajući i komplikujući stvari. No, čak i najkomplikovanija varijanta je veoma jednostavna. Ili bolje rečeno jednostavno je konstruisati i upotrebiti je, mada matematička teorija koja stoji iza tog mehanizma uopšte nije jednostavna. Naprotiv. Nakon 1945, nekoliko drugih evropskih zemalja, kao i SAD, napravili su svoje naprednije verzije Enigme gledajući da izbegnu greške u dizajnu koje su Nemci počinili i zbog kojih je Enigma bila i provaljena još tridesetih godina dvadesetog veka pre početka rata.

Moram da priznam da sam se u početku malo zabrinuo, misleći da će se raditi o presloženom mehanizmu. Ali, ubrzo sam otkrio da se radilo o jednostavnoj elektromehaničkoj mašini, sa 3 rotora, malo žica, mehaničkom tastaturom, tridesetak lampica i baterijom. Naravno, nisam imao ni najmanju nameru da napravim mehaničku kopiju mašine. Nije mi to bio cilj. Cilj mi je bio da je simuliram na računaru, ali po originalnom nacrtu. Naravno, na Internetu sam naišao već na nekoliko takvih gotovih simulacija što nativnih, što veb aplikacija, ali ni to me nije zanimalo. Pomislio sam da će mi biti mnogo interesantnije da sam ponovo reimplementiram. I to sam i učinio i sada mi je potpuno jasno kako mašina radi. Naravno, u trenutku kada sam imao gotov simulator, odmah sam krenuo da ga uopštavam, da mu dodajem broj slova, pa broj rotora, pa broj kablova, ali o svemu tome više u sledećem prilogu kada ću objasniti i kako mašina radi i kako izgleda moja implementacija. Nakon toga, nadam se, slediće i faza razbijanja, odnosno stvaranje Tjuringove mašine Bomba, koja je napravljena za vreme drugog rata u svrhu čitanja nemačkih poruka bez upotrebe lozinke.

Tema nije nova, o ovoj mašini svi sve znaju, mada pod svima podrazumevam one koji su se do sada zainteresovali, za vas ostale, možete da odlučite da sve ovo samo pročitate ili da i vi napravite svoju verziju. Tako vam možda padne na pamet neka nova ideja. Mada, ozbiljno govoreći ova mašina sa par izmena u odnosu na original, može i dan danas da se iskoristi za veoma ozbiljne upotrebe.

Ako želite da odslušate, prilog počinje na 26 min 10 sek

Ja pišem vama, a vi meni recite šta mislite. Voleo bih da saznam o…

Advertisements

One comment on “Mašina Enigma u kućnoj radinosti, deo 1

  1. Povratni ping: Mašina Enigma u kućnoj radinosti, deo 2 | Markus Maki

Zatvoreno za komentare.