Enigma to zagadka. Tak zupełnie dosłownie: po grecku słowo “enigma” oznacza właśnie zagadkę. Stąd też właśnie wzięła się nazwa maszyny szyfrującej – Enigma miała być zagadką nie do rozwiązania. I była… Aż w końcu połączenie talentu genialnych matematyków i rutyniarstwa niemieckich szyfrantów pozwoliły złamać kod, ułatwiając Aliantom zwycięstwo. Ale o co dokładnie chodzi? Pozwól, że wyjaśnię!
Jak działała Enigma?
Enigma, jak już wspomniałem, była niemiecką maszyną szyfrującą. Jak działała? Dla użytkownika było to naprawdę proste. Siadał przed urządzeniem wyposażonym w klawiaturę taką, jak w maszynie do pisania, a nad nią – zestaw podświetlanych liter. Kodowanie polegało na naciskaniu guzika odpowiadającego danej literze na klawiaturze i spisywaniu litery, która w odpowiedzi zostawała podświetlona. Te podświetlone litery stanowiły zaszyfrowaną treść wiadomości.
Sercem maszyny był zestaw walców, zwanych wirnikami. W zależności od wersji mogło być ich od trzech do ośmiu. Każdy z nich miał 26 możliwych ustawień – tyle ile liter w alfabecie. Każdy miał też po 26 wejść/wyjść z obu stron – rozmaicie połączonych. Na przykład w pierwszym wirniku wejście 1 mogło być połączone z wyjściem 1, w drugim – 1 z 3, a w trzecim – 1 z 13. Sygnał po wciśnięciu klawisza z literą przechodził przez wszystkie wirniki w jedną stronę, następnie wracał znów przez wszystkie wirniki i zapalał żarówkę przy odpowiedniej literze.

Niemożliwa do złamania?
Samo to byłoby stosunkowo prostym szyfrem podstawieniowym1Czyli takim, w którym konkretnej literze odpowiada inna konkretna litera. Oczywiście sprawa była zdecydowanie bardziej skomplikowana. Przede wszystkim, nazwa “wirnik” nie wzięła się znikąd – każdy z nich się obracał, i to w różnym tempie. Dzięki temu przy każdym naciśnięciu litery ustawienie ścieżek było inne. Oznacza to, że nawet ciągowi takich samych znaków – AAA – odpowiadał ciąg różnych znaków.
Żeby sprawę jeszcze bardziej skomplikować, w nowszych wersjach Enigmy dodawano specjalną tablicę, podobną do tych wykorzystywanych w centralkach telefonicznych. Pozwalała ona “spinać” dowolne dwie litery na stałe, na to konkretne użycie maszyny. Dodawało to kolejną “warstwę” do szyfru. Ale nawet bez niej złamanie kodu Enigmy wydawało się niemożliwe. Nawet posiadanie działającego egzemplarza maszyny niewiele dawało. Owszem, można było przestudiować połączenia elektryczne w wirnikach. I cóż z tego? Kod był inny w zależności od początkowego ich ustawienia. A możliwości było 26 podniesione do potęgi liczby wirników. Czyli już dla trzech wirników było 17576 możliwości. Dla czterech – niemal pół miliona. Przy sześciu było to trzysta milionów, a przy ośmiu – przeszło dwieście miliardów. Kolejne stopnie skomplikowania dodawały możliwości przesunięcia liter na wirnikach i kilka innych utrudniaczy. A pamiętajcie, że nie było wtedy komputerów, które mogłyby szybko testować kolejne możliwości i sprawdzać, która wygeneruje coś sensownego.

Sukces Polaków
Widać więc wyraźnie, że metoda “brute force”, czyli testowanie wszystkich możliwych kombinacji aż trafi się na to, co zadziała, nie dawała szansy na sukces. Zwłaszcza że ustawienia szyfru mogły się zmieniać każdego dnia. Innymi słowy – nie chodziło o to, żeby raz złamać kod. Zamiast tego należało wejść na poziom meta. Potrzebna była metoda, która pozwoliłaby łamać kod każdego dnia – i to szybko, jeżeli rozkodowane informacje miały mieć jakieś znaczenie. I tu właśnie do akcji wkracza połączenie szpiegostwa z geniuszem matematycznym. Jeśli chodzi o szpiegostwo, to w 1931 roku francuski wywiad zdobył zdjęcia wojskowej Enigmy, opis jej wykorzystania i nastawienia maszyny przewidziane na dany miesiąc. Oczywiście, z samego zdjęcia maszyny nie wiadomo nic o tym, jak konkretnie połączone są wejścia/wyjścia w poszczególnych wirnikach.
Francuski wywiad podzielił się informacjami z Brytyjczykami i Polakami. Wszystkie trzy kraje już wcześniej nad Enigmą pracowały, a nowe informacje miały im w tym pomóc. Ale to “nasi” jako pierwsi zrozumieli kluczową kwestię: podejście do szyfru maszynowego tego typu, jak Enigma, musi zacząć się z zupełnie innej strony niż przewidywała to metoda klasyczna. Ta skupiała się na analizie szyfru od strony lingwistycznej. Wiadomo, że języki różnią się od siebie na wielu poziomach. Mają różną strukturę, różną średnią długość słów2Patrzę na ciebie, języku niemiecki…, nawet poszczególne litery występują w nim z różną częstotliwością. I znajomość takich cech charakterystycznych pozwalała na złapanie jakiejś “zahaczki”, a w konsekwencji – złamanie szyfru.
Gdy lingwiści się poddają
Enigma była jednak szyfrem zupełnie innego typu. Choć oczywiście generowany przez nią ciąg znaków nie był w pełni losowy – można wręcz powiedzieć, że był w pełni deterministyczny – to takie cechy języka, jak na przykład częstotliwość występowania konkretnej litery, ulegały całkowitemu zatarciu. Dlatego też lingwiści się poddali. Ich analizy nie przyniosły żadnych użytecznych informacji. A Polacy zrozumieli, że zamiast lingwistów trzeba zaprząc do pracy matematyków. I konsekwentnie potraktować Enigmę nie jak zagadkę językową, ale matematyczną, wymagającą do rozwiązania na przykład umiejętności dostrzegania wzorców.

Już w 1929 roku w Poznaniu odbył się kurs kryptologii dla studentów matematyki, zorganizowany przez Biuro Szyfrów. Ósemka najlepszych słuchaczy tego kursu znalazła następnie w Biurze Szyfrów zatrudnienie. Wśród tej ósemki byli Marian Rejewski, Jerzy Różycki i Henryk Zygalski. Cała trójka przyczyniła się do rozgryzienia zagadki – Enigmy, ale najbardziej znany jest wkład Rejewskiego, który zaprojektował kolejno kilka narzędzi, przydatnych do łamania kodu. Do najbardziej znanych wśród nich należały cyklometr oraz tzw. bomba kryptologiczną, zwaną również bombą Rejewskiego.
Bomba Rejewskiego
Cyklometr był urządzeniem, które pozwoliło na “rozpracowanie” wszystkich możliwych ustawień trzech wirników, co następnie pozwalało w kilkanaście minut rozgryźć konkretny kod dnia. Niestety, gdy Niemcy zmienili okablowanie w swoich Enigmach – praca musiała zacząć się na nowo. A zajmowała kilka miesięcy czy nawet rok… Dlatego też powstała później bomba Rejewskiego. Bomba ta działała dzięki temu, że pierwsze sześć liter każdego szyfrogramu niosło znaną treść. Otóż każda depesza szyfrowana była kluczem indywidualnie dobranym przez szyfranta. Jednak żeby odbiorca mógł ją odcyfrować, to musiał ten kod poznać. W związku z tym klucz indywidualny był najpierw szyfrowany kluczem dnia… Dwukrotnie. Wiadomo więc było, że pierwsza i czwarta litera każdej wiadomości są identyczne, podobnie jak druga i piąta oraz trzecia i szósta. Analiza Rejewskiego wykazała, że będzie się dało odkryć treść wiadomości i ustawienia kluczy, jeśli przechwyci się sześć depesz, dobranych tak, żeby ta sama litera w tekście zaszyfrowanym powtarzała się parami właśnie na pozycjach 1 i 4, 2 i 5 oraz 3 i 6.
Bomba Rejewskiego składała się z sześciu Enigm połączonych ze sobą w pary. Sześć takich bomb, pracując razem, było w stanie znaleźć kombinacje wirników, które dawały dokładnie takie, powtarzające się litery w zaszyfrowanym telegramie. Kombinacji było zazwyczaj kilka, ale to wciąż dużo lepiej, dziesiątki tysięcy. Pozostawało potem tylko dopasowanie połączeń liter na “centralce telefonicznej”. To nie było jednak takie trudne, ponieważ dysponując wstępnie odkodowaną depeszą, można było znaleźć takie ustawienie, które zaowocowałoby powstaniem sensownego komunikatu. A wtedy wszystkie depesze z tego dnia byłyby już łatwe do rozgryzienia. Więc owszem, to dalej było w pewnym stopniu zastosowanie metody brutalnej siły… Ale dzięki znalezieniu pewnych powtarzających się wzorców liczba możliwych kombinacji była znacząco ograniczona.
Jak odkryć klucz?
Jednak dodanie kolejnych wirników – czwartego i piątego – sprawiło, że liczba bomb musiałaby wzrosnąć dziesięciokrotnie. Było to nie do udźwignięcia finansowo, zwłaszcza w roku 1938, niedługo przed wybuchem wojny. Dlatego też w 1939 roku Polacy podzielili się swoją wiedzą z Brytyjczykami i Francuzami. Ci pierwsi dali radę zbudować 60 bomb kryptologicznych, po czym, niecały rok później… Niemcy znów zmienili metodę szyfrowania. Ale tym razem nie chodziło o zmiany w samej Enigmie. Po prostu klucz osobisty zaczęli przekazywać tylko raz na początku każdej depeszy. To bombę projektu Rejewskiego odesłało do lamusa – bez powtarzania tych kluczowych kilku znaków nie mogła działać.

Pałeczkę przejął jeden z najsłynniejszych geniuszy matematycznych wszechczasów, Alan Turing. On też zaprojektował urządzenie mające na celu rozszyfrowanie kodu Enigmy. Zabrał się jednak za to trochę inaczej, choć i jemu pomogły błędy ludzkie. A nawet niekoniecznie błędy, tylko przyzwyczajenia, które w niezamierzony sposób osłabiały moc maszyny szyfrującej. Wprawdzie nie było już powtórzeń tych samych znaków na początku depeszy, ale… Turing zorientował się, że pewne ciągi znaków standardowo występują w tych samych miejscach w depeszach. Na przykład słowa “Heil Hitler” pojawiały się często pod koniec tekstu. A w treści pojawiał się na przykład raport pogodowy, mający stałą strukturę. Albo rozpoczynanie wiadomości od ANX – “an” to po niemiecku określenie adresata, zaś X było wykorzystywane zamiast spacji. Że już o kluczach będących niemieckim wulgaryzmem nie wspomnę3Niech pierwszy rzuci kamieniem, kto nigdy nie ustawił sobie wulgarnego hasła…
Sztafeta
Czyli znów – brutalna siła, ale “ukierunkowana”. Matematycy byli potrzebni, owszem, żeby opracować urządzenia i algorytmy, które mogły złamać kod, ale nie tylko. Byli również potrzebni do tego, żeby ograniczyć liczbę możliwych kombinacji poprzez dostrzeganie wzorów tam, gdzie inni ich nie widzieli.
Że co? Że to nie matematyka, tylko zagadka? A przeczytajcie jeszcze raz pierwsze zdanie tej notki. Zaś matematyka nie opiera się na liczeniu, w każdym razie nie bardziej, niż język – na ortografii. Owszem, liczenie jest często potrzebne. Ale matematyka to logiczne myślenie. To, owszem, właśnie rozwiązywanie zagadek. Dostrzeganie wzorów i podobieństw i twórcze ich wykorzystywanie do uproszczenia zadania.
Kto w końcu powinien być uznany za najważniejszą osobę w złamaniu Enigmy? Pierwsi byli nasi matematycy. Za najbardziej uniwersalne rozwiązanie odpowiadał Turing. Ale jak to często w nauce bywa – on budował na ich osiągnięciach. Koniec końców najlepiej chyba podsumuje to zdanie, które miał powiedzieć sam Turing: “To jak sztafeta. Oni zaczęli, ja dokończyłem, ale medal wygrywa cała drużyna”.
Bibliografia
- https://www.accuweather.com/en/weather-news/how-british-cryptanalysts-solved-the-unbreakable-german-enigma-code-shortening-world-war-ii/329348
- https://www.bbc.com/news/magazine-28167071
- https://blogs.bl.uk/european/2018/01/polish-mathematicians-and-cracking-the-enigma.html
Zainteresowało Cię to, co czytasz? Chcesz wiedzieć więcej? Śledź nas na Facebooku, i – pozwól, że wyjaśnię!