Enigma (mašina)

Sa Wikipedije, slobodne enciklopedije

Za druga značenja pogledajte članak: Enigma

Jedan primjerak Enigme iz Drugog svjetskog rata
Jedan primjerak Enigme iz Drugog svjetskog rata

Enigma je ime njemačkih mašina koje su se koristile za šifriranje i dešifriranje poruka za vojne i diplomatske svrhe u Drugom svjetskom ratu.

Prvi primjerci su se pojavili u 1920-im godinama kao mašina za šifriranje poslovih poruka koje su se prenosile preko telegrafa. Nedugo poslije Enigma je našla primjenu u njemačkoj vojsci i diplomaciji, a izbijanjem Drugog svjetskog rata Enigma je postala standardna oprema svih vojnih jedinica za vezu.

Sadržaj

[uredi] Izgled enigme

Svojim izgledom enigma podsjeća na poveću pisaću mašinu. Ima tastaturu od 26 slova s prednje strane, a iznad tastature nalazi se 26 sijalica. Svaka od tih sijalica predstavlja jedno od 26 izlaznih slova.

[uredi] Funkcionalnost

Enigma je elektromehanička mašina koja je koristila principe spojenih rotora i razvodne ploče. Svrha engime bila je šifrirati informaciju tj. prikazati je na način nerazumljiv neovlaštenim osobama.

Tekst se unosi preko tastature, a izlaz se dobija preko sijalica. Između tastature i sijalica nalazi se glavni mehanizam, jezgra mašine. Jezgru mašine čine rotori. Rotori imaju više funkcija:

  • moraju osigurati preslikavanje znakova;
  • moraju rotirati;

Rad enigme zasniva se na supstituciji znakova. Dva poznata načina šifriranja koja koriste supstituciju, a čine osnovu za razumijevanje rada Enigme su: aritmetička supstitucija i mapirajuća supstitucija. Enigma u svom radu koristi oba navedena algoritma.

[uredi] Aritmetička supstitucija

Za zadanu ulaznu abecedu A ovisno o nekom broju n vrši preslikavanja na način da pomiče ulaznu abecedu u desno za n mjesta, pa na taj način dobivamo šifriranu abecedu. Npr. ukoliko imamo neku riječ iz abecede A i želimo je šifrirati "ključem" n, onda ćemo šifriranu riječ abecede B dobiti tako što svako slovo te riječi zamijenimo slovom iz abecede B, a dešifriranje se vrši obrnutim redoslijedom.

Primjer:
Ulazna abeceda A={a,b,c,d,e}, broj n=3, pa je prema tome abeceda B={d,e,a,b,c}.
Ako je zadan ulazni tekst "deda", onda je izlazni tekst "bcbd"

[uredi] Mapirajuća supstitucija

Mapirajuća supstitucija ne upotrebljava nikakve pomake. Fiksno je određeno gdje se koji znak preslikava, tj.svakom znaku X pridružen je odgovarajući znak Y na temelju tablice preslikavanja.

ULAZ A B C D E
IZLAZ B E A C D

Pa je za ulazni niz "abba" izlaz: "beeb".

Oba algoritma unose slabu mjeru sigurnosti. Iskusnija osoba koja se bavi razbijanjem šifri ne bi imala nekih većih problema da ih otkrije pojedinačno.

Dijagram ožičenja Enigme pokazuje tok rada prilikom pritiskanja tipke 'A' koja je zakodirana u sijalicu 'D'
Dijagram ožičenja Enigme pokazuje tok rada prilikom pritiskanja tipke 'A' koja je zakodirana u sijalicu 'D'
Prikaz Enigminih rotora i reflektora.   Primjer: slovo A šifrira se različito u dva uzastopna šifriranja, prvi put u slovo G, a drugi put u C.

[uredi] Princip rada

Rotori su poput nekakvih prospojnih ploča sa 26 ulaza te istim brojem izlaza. Svako dugme na tastaturi povezano je s rotorom pomoću kabla. Ulazi na rotoru primaju ulazno slovo, a kao izlaz daju njemu pridruženo izlazno slovo dobiveno pomoću tablice preslikavanja. Sve u svemu zasada ovo predstavlja nizak stepen zaštite, jer obavljeno je samo jedno preslikavanje. Stoga je izlaz prvog rotora spojen na ulaz drugog rotora, a izlaz drugog rotora na ulaz trećeg rotora. Čak i ovakav poveći broj preslikavanja nije toliko otporan, jer je problem vezan uz frekvenciju pojavljivanja određenih znakova i dalje prisutan.

Sljedeću komponentu čini jedan poseban rotor, poznat kao reflektor. Naime za razliku od prethodna 3 rotora koja vrše asimetrična preslikavanja, reflektor je simetrični rotor što konkretno znači da za svako slovo za koje važi A -> B, onda važi i B -> A. To znači da je algoritam za šifriranje i dešifriranje isti. Razlika između reflektora i 3 prije spomenuta rotora je da reflektor ne rotira.

PlugBoard predstavlja još jednu komponentu engime. Ona obavlja simetrično preslikavanje i to cijelog ulaznog alfabeta ili samo jednog dijela u pripadni mu izlaz(slično reflektoru). Nalazi se prije prvog rotora, a ni on kao ni reflektor ne rotira.


Ni to nije sve. Nakon što je ulaz doživio 4 preslikavanja sada ponovo prolazi kroz prva tri rotora počevši od trećeg ka prvom. Sijalica koja svijetli predstavlja šifriran ulazni znak. Slovo je šifrirano i prvi rotor rotira.

Rotiranje predstavlja promjenu tablice preslikavanja, a šta to znači vidi se u tablici:

ULAZ A B C
PRIJE ROT. D G H
POSLIJE ROT. G H D

Iz tablice proizlazi da je slovo A prije rotiranja bilo predstavljeno kao D, a nakon rotiranja kao G. Nema više jednoznačnog preslikavanja. Sada bilo koje slovo može biti zapisano kao više različitih slova što predstavlja znatan napredak.

Postupak šifriranja se nastavlja dalje tako da za prvih 26 slova rotira samo prvi rotor, a zatim ovisno o rednom broju slova kojeg unosimo rotiraju :

  • prvi i drugi zajedno (u slučaju kada početna tablica preslikavanja prvog rotora treba postati njegova nova tablica preslikavanja);
  • samo drugi (redni broj znaka veći od 26, a manji od 52);
  • drugi i treći (isto kao prvi i drugi);
  • samo treći (redni broj znaka veći od 52, a manji od 76);
  • treći i prvi (kada početna tablica preslikavanja trećeg rotora treba postati njegova nova tablica preslikavanja).

Za ostale znakove postupak se rekurzivno nastavlja.

Šifrarnik za Enigmu otet od Nijemaca prilikom zarobljavanja podmornice U-505

[uredi] Šifriranje Enigmom u 2. svjetskom ratu

Kako će izlaz izgledati ne zavisi samo o slovu o kojem se radi već i o poziciji slova u ulaznom nizu. Osim toga važnu ulogu ima i početna konfiguracija rotora (koju određuje početno slovo).

Nijemci su se prilikom komuniciranja koristili unaprijed definiranim ključevima. Naravno ključevi su se mijenjali ovisno o vremenu kada je poruka trebala biti poslana. Da bi otežali posao saveznicima Nijemci su imali kolekciju od 8 rotora od kojih su koristili obično 3 ili 4.

Prije no što bi poslali pravu poruku prvo bi šifrirali ključ rotora i popis rotora. Ključ rotora predstavlja početna slova tri rotora koja određuje konfiguraciju rotora, dok popis rotora govori koje rotore upotrijebiti. Takva poruka se šifrira ključem važećim za taj dan(ključ određen dogovorom već prije). Zatim se šifrira glavna poruka koristeći prije šifriran ključ rotora, te koristeći rotore dane u popisu rotora. Nakon što druga strana primi poruku prvo će dešifrirati prvi dio pomoću dogovorenog ključa za taj dan, a zatim kada otkrije pravi ključ dešifrirati će i glavnu poruku.

Naravno uz neke postavke, ne baš pogodno odabrane moguće je da enigma i ne pruži pravu zaštitu.

Rotori su ključ svega. Nakon što su saveznici se dokopali par enigmi te prikupili sve rotore, sve je bilo pitanje vremena.

[uredi] Također pogledajte

[uredi] Vanjski linkovi