Blog

Enigma cz. 7 - opis

Data publikacji: 2021-09-13

Ostatnia edycja: 2021-09-17

Stały adres serii wpisów o Enigmie - /blog/enigma

Wstęp

Tematem niniejszego wpisu jest techniczny opis mechaniki Enigmy, sposobu działania.

Dla jasności: opis dotyczy pierwszej wojskowej wersji - Enigmy I (rzymska jedynka, a nie litera I) wdrożonej w łączności Reichswehry w latach 1930-32 i używanej bez większych zmian w armii niemieckiej w wojskach lądowych i lotnictwie do 1945. To z nią zmagał się zespół Biura Szyfrów. Późniejsze zmiany opisane są w osobnym rozdziale. Żadna z tych modyfikacji nie zmienia mechanizmu działania Enigmy.

Reichswehra / Wehrmacht

Armia niemiecka bardzo szybko zainteresowała się Enigmą, marynarka wojenna w 1925, a wojska lądowe w 1928. Przez dwadzieścia lat istnienia "wojskowej Enigmy" w armii niemieckiej zaszły poważne zmiany, które dla jasności terminologii warto wyjaśnić. Otóż po przegranej wojnie z wojska pozostałego po pokonanym Cesarstwie Niemieckim, nowe państwo niemieckie - Republika Niemiecka na mocy traktatu wersalskiego 28 czerwca 1919 powołała w 1921 nowe siły zbrojne: Reichswehrę podlegającą cywilnemu Reichsministerium.

Reichswehra składała się z:

  • Reichsheer - wojska lądowe
  • Reichsmarine - marynarka wojenna

Lotnictwo wojskowe i czołgi były zakazane traktatem.

Ograniczenia traktatowe były regularnie łamane już od połowy lat dwudziestych. Ale wszystko odbywało się w tajemnicy lub nieoficjalnie. Do czasów hitlerowskich. 16 marca 1935 został powołany Wehrmacht składający się z:

  • Heer - wojska lądowe
  • Kriegsmarine - marynarka wojenna
  • Luftwaffe - lotnictwo wojskowe

Enigma wojskowa

Tak więc pierwszym wojskowym użytkownikiem maszyn Enigma jest Reichsmarine, która zaczyna prace nad własnym kryptosystemem w 1925 i wprowadza go do użytku w 1926. Od 1928 maszyn Enigma używa Reichsheer.

W 1927 zaczyna się opracowywanie podstawowego modelu wojskowej Enigmy znanej później jako Enigma I, nazywanej wówczas Glühlampenmaschine. Jednocześnie armia wdraża do użytku Enigmę G i od 15 lipca 1928 zaczyna jej używanie.

W czerwcu 1930 na wyposażenie armii wchodzi podstawowy model - opisana tutaj Enigma I i do 1932 następuje jej całkowite wdrożenie, W tym samym roku armia całkowicie przejmuje biznes i Enigma zostaje wycofana z oferty cywilnej. Od tej pory Enigma jest tajemnicą wojskową.

W 1934 w ramach procesu standaryzacji marynarka wojenna zastępuje dotychczas używane maszyny nowym modelem całkowicie kompatybilnym z Enigmą I - jest to seria M, wszystkie nosiły fabryczne oznaczenie Ch. 11g i niewiele się między sobą różniły.

  • M1 611 sztuk
  • M2 1938 890 sztuk
  • M3 1940 ok. 800 sztuk

W 1935 powstaje Wehrmacht i Luftwaffe przejmuje kryptosystem od wojsk lądowych.

W grudniu 1938 armia dodała dwa kolejne typy rotorów i od teraz było ich w sumie pięć.

Marynarka w 1938 dwa i w 1939 jeden w sumie osiem.

Podsumowując - od 1930 do 1945 standardem wojskowej Enigmy jest Enigma I używana w wojskach lądowych i lotnictwie. Enigma marynarki wojennej, czyli seria od M1 d M3 konstrukcyjnie niczym się nie różni, używała trzech znaków więcej i miała inne typy walców. Przez te piętnaście lat w samej maszynie nie zaszły żadne istotne zmiany konstrukcyjne, największą zmianą było dodanie nowych typów walców.

Wyjątkiem jest wprowadzona w lutym 1942 Enigma M4, która zostanie opisana w osobnym rozdziale.

Terminologia

Używam tu pojęć za Bruce Schneider "Kryptografia dla praktyków".

  • maszyna rotorowa (ang. rotor machine; niem. die Rotor-Chiffriermaschine, die Rotor-Maschine)
  • rotor (walec, bębenek, wirnik; ang. rotor; niem. die Walze, der Rotor)
  • rotor odbijający (walec odwracający, bębenek odwracający; ang. reflector; niem. die Umkehrwalze)
  • tablica przełączająca (łącznica kablowa; ang. plugboard, niem. das Steckerbrett)
  • klawiatura (ang. keyboard, niem. die Tastatur)
  • ustawienie wirnika (niem. Ringstellung)
  • zespół walców (niem. Walzensatz)
  • panel z lampkami (niem. Lampenfeld)
  • podwójny krok (ang. double step; niem. Doppelschritt)

Opis

Interfejs użytkownika Enigmy składał się z czterech elementów:

  • tablica przełączająca: na frontowej ściance, służyła do wprowadzenia ustawień, po umieszczeniu wtyków była zasłonięta zamykaną ścianką drewnianej obudowy.
  • klawiatura: u góry z przodu - 26 znaków, które w 10 przypadkach były oznaczone również cyframi
  • panel z lampkami: u góry pośrodku, odczyt szyfrogramu
  • karbowane pierścienie rotorów: u góry z tyłu, służyły do wprowadzenia ustawień, obok nich włącznik urządzenia

Cała maszyna była zamknięta w drewnianej obudowie. Na wnętrzu pokrywy znajdowały się od góry: zapasowe lampki, osłona przeciwodblaskowa na panel z lampkami, instrukcja obsługi i zapasowe łącza do łącznicy kablowej.

Enigma machine in the Imperial War Museum London

Enigma I wystawiona w Imperial War Museum w Londynie
Opisane są główne elementy interfejsu: zespół walców (niem. Walzensatz), panel z lampkami (niem. Lampenfeld), klawiatura (niem. Tastatur), łącznica kablowa (niem. Steckerbrett).
Źródło: Wikipedia (By Karsten Sperling, faxel - http://de.wikipedia.org/wiki/Datei:EnigmaMachineLabeled.jpg, Copyrighted free use, https://commons.wikimedia.org/w/index.php?curid=9834824 )

Tekst wprowadzano klawiaturą. Każde naciśnięcie jednego z 26 klawiszy uruchamiało szyfrowanie pojedynczego znaku. Rezultat pojawiał się na panelu z lampkami - podświetlony znak był rezultatem procesu szyfrowania. Zatem każdy znak był szyfrowany osobno i rezultat zapisywano znak po znaku.

Szyfrowanie było odwracalne, przy tych samych ustawieniach maszyny szyfrogram zaszyfrowany powtórnie dawał tekst jawny.

Działanie maszyny było deterministyczne, ta sama litera, w tych samych ustawieniach, na tej samej pozycji dawała ten sam rezultat.

Naciśnięcie klawisza powodowało po kolei:

  • puszczenie sygnału elektrycznego przez łącznicę kablową, która podstawiała część liter
  • zespół walców wykonywał ruch zestawiając kolejny unikalny wzór połączeń
  • sygnał wchodził od walca wprowadzającego, przez walce szyfrujące do walca odbijającego i od niego wracał do walca wprowadzającego
  • jeszcze raz przechodził przez łącznicę kablową
  • rezultat szedł na panel z lampkami
Enigma  crittografia    Museo scienza e tecnologia Milano

Enigma I z Museo Nazionale della Scienza e della Tecnologia (Mediolan). Maszyna wyjęta z pudełka i z otwartą obudową, widać łącznicę kablową i mechanizm zespołu walców.
Źródło: Wikipedia (By Alessandro Nassiri - Museo della Scienza e della Tecnologia "Leonardo da Vinci", CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=47910919 )

Klawiatura

Układ klawiatury:

Q   W   E   R   T   Z   U   I   O
   A   S   D   F   G   H   J   K
P   Y   X   C   V   B   N   M   L

Klawiatura składała się z 26 znaków zgodnych ze standard ASCII, cyfry oddawano następującymi literami:

0234567891
QWERTZUIOP

Mechanizm szyfrujący Enigmy składa się z dwóch elementów: tablicy przełączającej i zespołu rotorów.

Tablica przełączająca

Enigma I była opracowywana od 1927 z myślą o potrzebach wojska, które ze względu na wagę i potencjalną liczbę wiadomości (o wiele większa niż w dyplomacji) potrzebowało najwyższego możliwego bezpieczeństwa kryptologicznego. To dlatego wprowadzono łącznicę kablową.

Były to jednakowe gniazda elektryczne oznaczone literami z zakresu klawiatury. Do tego dochodził zestaw trzynastu kabli z wtyczkami po obu stronach. Działanie łącznicy było bardzo proste:

  • jeżeli gniazdo elektryczne było wolne, nie zachodziło żadne podstawienie: A nadal było A, B było B itd.
  • jeżeli w gnieździe była wtyczka zachodziło obustronne podstawienie: jeżeli połączono A z B, to każde A stawało się B i na odwrót.

Jak z tego wynika, każda litera mogła być użyta tylko raz, wg dowolnego wzorca i przy 26-literowym alfabecie możliwych było do 13 podstawień.

Ten niepozorny mechanizm był tajna bronią wojskowej Enigmy. Dodawał on bowiem największą przeszkodę na drodze do zrozumienia mechanizmu działania i ustawień rotorów. Przy użyciu 10 połączeń dawała 150 bilionów możliwości.

Zespół rotorów

Po kolei, od góry:

  • pozycja numeryczna
  • klawiatura (niem. Tastatur)
  • walec wprowadzający, w układzie alfabetycznym (niem. Eintrittswalze)
  • walce szyfrujące od I do V
  • walce odwracające (niem. Umkehrwalze) od A do C
0102030405060708091011121314151617181920212223242526
TastaturQWERTZUIOASDFGHJKPYXCVBNML
ETWABCDEFGHIJKLMNOPQRSTUVWXYZ
IEKMFLGDQVZNTOWYHXUSPAIBRCJ
IIAJDKSIRUXBLHWTMCQGZNPYFVOE
IIIBDFHJLCPRTXVZNYEIWGAKMUSQO
IVESOVPZJAYQUIRHXLNFTGKDCMWB
VVZBRGITYUPSDNHLXAWMJQOFECK
UKW AEJMZALYXVBWFCRQUONTSPIKHGD
UKW BYRUHQSLDPXNGOKMIEBFZCWVJAT
UKW CFVPJIAOYEDRZXWGCTKUQSBNMHL

Słowa walec, rotor, wirnik, bębenek oznaczają to samo.

Mechanizm szyfrujący Enigmy składał się z trzech rotorów ruchomych. Ruchome rotory znajdowały się pomiędzy dwoma nieruchomymi: rotorem wprowadzającym i odbijającym. Rotor odbijający kierował sygnał z powrotem.

Każdy walec szyfrujący ma po obu stronach miał styki elektryczne połączone wewnętrznym okablowaniem. Po lewej stronie był pierścień alfabetyczny (litery w porządku alfabetycznym). Dla oddania porządku uzwojenia wymienia się ich odpowiedniki po prawej stronie. Typy rotorów były oznaczone cyframi rzymskimi. Proces szyfrowania dla ustawienia [I, II, III] wyglądał więc następująco: I, II, III, odbijający, III, II, I.

Rotor wprowadzający miał zwykłą kolejność alfabetyczną znaków. Okablowanie zamieniało znaki wg sprzętowo wprowadzonego wzorca podstawieniowego. Każdy z trzech rotorów był okablowany inaczej, były więc ich trzy rodzaje (od 1938 pięć).

Tak jak widać na powyższej liście w pierwotnym ustawieniu rotor I zamieniał słowo ABBA na EKKE, jego litery E i K wchodziły na pozycje liter odpowiednio S i L na rotorze drugim II więc tam wychodziło to SLLS, a III GVVG.

Trzeba też wziąć pod uwagę, że ruch rotorów dokonywał się przed puszczeniem sygnału, więc w rzeczywistości dla pierwszej litery szyfru byłoby to KMMK - BHHB - DPPH.

Rotory ustawiano tak samo u nadawcy i odbiorcy wg umówionego wzorca zgodnie z regulaminowym harmonogramem. Po przesunięciu o dwie pozycje rotor I zamieniał ABBA na MFFM itd.

Rotory obracały się automatycznie podczas szyfrowania. Po zaszyfrowaniu każdego znaku pierwszy rotor przesuwał się o jedną pozycję. Pełny obrót pierwszego rotora powodował obrót drugiego o jedną pozycję, pełny obrót drugiego rotora powodował obrót trzeciego rotora o jedną pozycję.

Mechanizm ten komplikowały zapadki, tzw. podwójny krok. Każdy rotor miał z jednej strony wcięcie, a z drugiej karb. Dla danego typu walca karb znajdował się przy innej, określonej literze. Kiedy nachodził na wcięcie w sąsiednim walcu, oba wykonywały jednoczesny obrót.

  • I - Q
  • II - E
  • III - V
  • IV - J
  • V - Z

Ruchem walców kierowały następujące zasady:

  • ruch walców, czyli zestawienie nowego połączenia następowało przed puszczeniem sygnału elektrycznego
  • dla danego ustawienia, każde kolejne połączenie było deterministyczne, tzn. dla każdej pozycji litery
  • żaden z walców nie wykonywał nigdy ruchu o więcej niż jedną pozycję
  • walce poruszały się w kierunku od operatora
  • pierwszy walec (tzw. szybki) poruszał się o jedną pozycję z każdym znakiem
  • drugi walec wykonywał ruch o jedną pozycję z każdym pełnym obrotem pierwszego walca
  • trzeci walec (tzw. wolny) wykonywał ruch o jedną pozycję z każdym pełnym obrotem środkowego walca
  • kiedy karb umieszczony dla każdego typu walca przy określonej literze nachodził na wcięcie oba walce wykonywały dodatkowy ruch

Opis kryptologiczny

Enigma jest poprawnie nazywana elektromechaniczną, rotorową maszyną szyfrującą. Wynik szyfrowania był określany przez bieg sygnału elektrycznego, ale o tym biegu decydowało ułożenie elementów mechanicznych. Mechanika była napędzana silnikiem elektrycznym.

Szyfr Enigmy to symetryczny, dwuetapowy szyfr podstawieniowy, na pierwszym etapie (łącznica kablowa) monoalfabetyczny, na drugim (zespół rotorów) polialfabetyczny.

Symetryczny - szyfrowanie było odwracalne, ponownie zaszyfrowany tym samym kluczem (ustawieniami) szyfrogram dawał tekst jawny.

Dwuetapowy, podstawieniowy - szyfrowanie dzieliło się na dwa niezależne od siebie procesy podstawienia znaków wg wzorca wynikającego z klucza (ustawień). Wzorzec podstawienia w łącznicy kablowej był taki sam dla całej wiadomości, a w zespole rotorów, zmieniał się ze znaku na znak w sposób deterministyczny, zależny od pozycji znaku w wiadomości (polialfabetyczny).

Opis matematyczny

Z matematycznego punktu widzenia proces jednoznacznego (deterministycznego jeden w jeden) podstawienia jednego znaku na inny w skończonym zbiorze to permutacja.

OK, a konkretnie jaka była skala matematycznej trudności maszyny?

  • Łącznica kablowa przy 10 połączeniach (standard od 1939) dawała 150_738_274_937_250 (151 bilionów) możliwości.
  • Początkowy zestaw trzech typów walców na trzech dostępnych slotach dawał sześć możliwości (3x2x1). Po wprowadzeniu dodatkowych dwóch typów walców szyfrujących w grudniu 1938 liczba kombinacji wzrosła do 60 (5x4x3).
  • Dla konkretnego zestawu i kolejności walców obroty dawały okres kryptograficzny 16_900 (26x25x26, środkowe 25 wynika z podwójnego kroku), wartość ta była niezależna od ilości typów walców.
  • Trzy możliwe walce odwracające - w połączeniu z okresem kryptograficznym zespołu walców i liczbą możliwych ustawień walców dawało to 9_666_000 możliwości.

150_738_274_937_250 x 16_900 x 60 = 152_848_610_000_000_000_000 = 1.5284861 × 10**20 = 1.5284861e20

STO PIĘĆDZIESIĄT DWA TRYLIONY MOŻLIWOŚCI!

Kompletne wyliczenie: Part 4: Decoding the Ciphertext

Enigma M4

Marynarka wojenna od samego początku używała innej Enigmy niż wojska lądowe.

W ramach unifikacji w 1934 wprowadzono Enigmę M1 sprzętowo zgodną z Enigmą I wojsk lądowych. Tak jak Enigma I miała łącznicę kablową. Tak jak poprzednia używana przez nich Enigma miała klawiaturę 29 znakową. Dodatkowe trzy znaki to Ä, Ö i Ü.

Używali innych typów walców i zawsze było ich więcej do dyspozycji.

W lutym 1942 wprowadzono Enigmę M4, która miała czwarty walec szyfrujący. Rozmiary maszyny się nie zmieniły, Zmieniono konstrukcję walca odbijającego, który teraz był o połowę węższy. Również o połowę węższy był czwarty walec szyfrujący, który był nieruchomy, można go było ręcznie ustawić na jednej z 26 pozycji.

Tak więc ostatnia wersja Enigmy Kriegsmarine miała:

  • osiem typów ruchomych walców szyfrujących (od I do VIII), które można było umieścić na trzech pierwszych pozycjach
  • dwa typy nieruchomych walców szyfrujących na czwartej pozycji: Beta i Gamma
  • dwa typy węższych walców odbijających: Bruno i Caesar

Można je było łączyć w dowolne konfiguracje.

Brytyjczycy szyfr nazwali SHARK, poprzednie Enigmy Kriegsmarine od M1 do M3 DOLPHIN.

Dwukrotnie materiały Enigmy Kriegsmarine wpadły w ręce Brytyjczyków:

  • U-110 (Typ IX B) 9 maja 1941: kompletna Enigma M3 z książkami szyfrowymi i szyfrem ręcznym
  • U-559 (Typ VII C) 30 października 1942: książki szyfrowe M4

Odnośniki

YT

YT Bletchley Park i Alan Turing

Symulatory i rekonstrukcje

Inne