ου γαρ εστιν κρυπτον ο ου φανερον γενησεται ουδε αποκρυφον ο ου γνωσθησεται και εις φανερον ελθη
Wersja PL ENG Version

Enigma

  • Ogólny opis
  • Algorytm
  • Implementacja
Enigma była jedną z najpopularniejszych i najważniejszych szyfrujących elektromechanicznych maszyn rotorowych. Była używana głównie w połowie XX wieku, przez Niemców i inne narody, do szyfrowania tysięcy wiadomości radiowych. Enigma została wynaleziona przez niemieckiego inżyniera Arthur'a Scherbius'a pod koniec Pierwszej Wojny Światowej.
Szyfrująca maszyna rotorowa
Maszyny Enigma były wykorzystywane komercyjnie od początku lat dwudziestych XX wieku. Największą popularność zyskały jednak dzięki swoim zastosowaniom militarnym. Podczas Drugiej Wojny Światowej były używane powszechnie przez niemieckie armie i stały się głównym narzędziem wykorzystywanym do szyfrowania i deszyfrowania taktycznej i strategicznej komunikacji.

Nawet po wojnie maszyny Enigma były wykorzystywane przez różne służby rządowe w wielu krajach. Dopiero w drugiej połowie XX wieku zostało ujawnione, że ich zabezpieczenia zostały złamane przez Aliantów już na początku Drugiej Wojny Światowej.

Maszyny Enigma były produkowane w wielu wersjach, z biegiem czasu wielokrotnie ulepszanych. Podobnie jak w przypadku innych kryptograficznych maszyn rotorowych, siła szyfrowania leżała głównie w zestawie obracających się rotorów. Każdy rotor miał 26 elektrycznych wyprowadzeń, odpowiadających 26 literom alfabetu.

W celu zwiększenia siły szyfrowania, Niemcy dodali parę innych elementów, jak na przykład łącznicę kablową. Ponadto, aby umożliwić szyfrowanie i deszyfrowanie przy użyciu tych samych maszyn z tymi samymi ustawieniami, dodane zostało kolejne rozszerzenie, tak zwany walec odwracający.

W typowej wersji Enigmy, sygnał wyemitowany przez naciśnięcie klawisza przechodził najpierw przez łącznicę kablową, potem przez walec wstępny, następnie przez trzy obracające się rotory, aż wreszcie docierał do walca odwracającego. Po przejściu sygnału przez walec odwracający, był on przesyłany z powrotem przez trzy wirniki, walec wstępny i łącznicę kablową to wyjściowego panelu z lampami.

Schemat funkcjonalny Enigmy
Schemat funkcjonalny działania Enigmy

Rotory

Poszczególne wersje Enigmy różniły się ilością wykorzystywanych rotorów. Początkowo, niemiecka armia używała wersji z trzeba dostępnymi wirnikami. Wszystkie one były montowane każdego dnia w maszynie i używane do szyfrowania wiadomości. Kolejność montowania wirników (Walzenlage) i konfiguracja każdego z nich (Grundstellung) były częścią codziennej sekretnej konfiguracji Enigmy, rozprowadzanej w księgach kodowych. Konfiguracje wirników były pozycjami nakładek z literami alfabetu względem okablowania wirników. Początkowe pozycje każdego rotora były ustawiane losowo przez operatora, przed wysłaniem każdej wiadomości.

Z biegiem czau (w grudniu 1938 roku), dwa nowy typy dysków zostały dodane, ale do maszyny wciąż montowano codziennie jedynie trzy rotory. Liczba potencjalnych konfiguracji maszyny została w ten sposób znacząco zwiększona.

Maszyny Enigma używane w marynarce wojennej były wyposażone w więcej rotorów niż zwykłe wojskowe Enigmy. Początkowo dostępnych było sześć różnych wirników, potem stopniowo ich liczba wzrosła do ośmiu. Dodatkowo dyski w morskiej Enigmie obracały się z większą prędkością, ze względu na inną budowę rotorów. W późniejszych wersjach morskiej Enigmy montowano cztery rotory na raz (zamiast trzech).

Łącznica kablowa

Wojskowe wersje Enigmy były wyposażone w dodatkowy element, nazywany łącznicą kablową (niem. Steckerbrett, ang. plugboard). W maszynach, w których był on zamontowany, wyjście z klawiatury było podłączone właśnie do wejścia łącznicy kablowej.

Łącznica kablowa umożliwiała operatorowi łączyć litery w pary, przy użyciu kabli wkładanych w odpowiednie elektryczne wyprowadzenia. Sygnały od liter połączonych w pary za pomocą kabli były zamieniane miejscami dwukrotnie. Za pierwszym razem, przed wejściem do głównego mechanizmu rotorów, a potem na końcu procesu szyfrowania, tuż przed wyprowadzeniem ich na wyjście maszyny.

Teoretycznie było możliwe skonfigurowanie maksymalnie 13 połączeń, ale zwykle używano jedynie 10. Wzór połączeń w łącznicy kablowej (Steckerverbindungen) był częścią codziennej sekretnej konfiguracji, rozprowadzanej w księgach kodowych.

Łącznica kablowa okazała się bardzo użyteczną modyfikacją, która znacząco zwiększyła siłę zabezpieczeń Enigmy.

Walec wstępny

Wszystkie wersje maszyny Enigmy były wyposażone w element nazywany walcem wstępnym (niem. Eintrittswalze, ang. entry wheel lub entry stator). Było to proste, statyczne okablowanie, które łączyło klawiaturę lub łącznicę kablową (w zależności od wersji maszyny) z mechanizmem rotorowym.

Komercyjna wersja Enigmy miała klawisze połączone w kolejności ich występowania na klawiaturze QWERTZ (Q-A, W-B, E-C, R-T, itd.), podczas kiedy wojskowa wersja miała litery połączone w kolejności alfabetycznej: A-A, B-B, itd.

Walec odwracający

Walec odwracający (ang. reflector, niem. Umkehrwalze) był elementem, który sprawiał, że całe działanie Enigmy było symetryczne. Oznacza to, że zaszyfrowanie wiadomości dwukrotnie, przy użyciu tych samych ustawień, zwróci oryginalną wiadomość.

Walec odwracający łączył wyjścia z ostatnich wirników w pary, przekierowując wyprodukowany sygnał z powrotem, kierując go znowu przez cały mechanizm szyfrujący.

Istniało kilka wersji tego urządzenia. Ułatwiało ono używanie Enigmy i było jednym z powodów jej popularności. Z drugiej strony, ze względu na szereg matematycznych właściwości, znacznie redukowało ono siłę szyfru Enigmy.

Siła Enigmy

Ze względu na powszechne używanie Enigmy przez Niemców podczas Drugiej Wojny Światowej, złamanie jej zabezpieczeń było niekwestionowanym sukcesem Aliantów. Pozwoliło to im podsłuchiwać niemiecką komunikację prawie przez całą wojnę.

Historia złamania Enigmy jest niewątpliwie fascynująca, ale ze względu na mnogość wersji Enigmy i wiele epizodów przedstawiających wysiłki kryptologów z różnych perspektyw, niniejsza strona internetowa nie jest w stanie uczciwie i w pełni zaprezentować tego tematu.

Istnieje wiele książek, wykładów i symulacji, które poświęcone są kryptoanalizie Enigmy, i do których powinien odwołać się zainteresowany czytelnik.

Krótka historia złamania Enigmy

Historia łamania Enigmy to historia wielkich sukcesów analiz matematycznych Aliantów, zgubnej niemieckiej pewności siebie oraz niefortunnych błędów operatorów Enigmy. Jej zwieńczeniem jest budowa w Wielkiej Brytanii i w USA olbrzymich i złożonych maszyn elektrycznych, pierwszych prekursorów dzisiejszych komputerów.

Pierwsze trzy-rotorowe maszyny Enigma zostały złamane przez polskie Biuro Szyfrów, długo przed wybuchem Drugiej Wojny Światowej, w 1932 roku. Polski wywiad uzyskał możliwość czytania wszystkich niemieckich wiadomości kodowanych za pomocą Enigmy, niemalże w czasie rzeczywistym. Trzej polscy kryptolodzy mieli szczególnie duże zasługi w złamaniu szyfru: Marian Rejewski (1905–1980), Jerzy Różycki (1909-1942) oraz Henryk Zygalski (1908-1978).

W przededniu wybuchu Drugiej Wojny Światowej, Niemcy dodali więcej typów rotorów do Enigmy, czyniąc łamanie szyfru niemożliwym dla Polaków. Mniej więcej w tym samym czasie, polski wywiad zdecydował się przekazać kompletną dokumentację dotyczącą kryptoanalizy Enigmy swoim sojusznikom, Anglikom i Francuzom.

W przeciągu następnych lat, ciężar łamania zabezpieczeń nowych wersji Enigmy spoczywał na brytyjskim wywiadzie. Zespoły kryptologów zlokalizowane w ośrodku Bletchley Park były w stanie z powodzeniem sprostać temu zadaniu. Co ważniejsze dla przebiegu wojny, brytyjscy dowódcy z powodzeniem wykorzystywali zdobywane w ten sposób informacje. Alan Turing (1912-1954) był wybitnym brytyjskim kryptologiem i matematykiem, mającym wielkie zasługi dla tych działań.

Pod koniec wojny, Amerykanie zbudowali potężne maszyny, które były w stanie łamać najnowsze i najbardziej zaawansowane wersji Morskiej Enigmy (wyposażone w cztery wirniki).

Enigma z trzema rotorami
Maszyna Enigma z trzema rotorami
łącznica kablowa Enigmy
Łącznica kablowa Enigmy (z użytymi dwoma kablami)