Szyfr maszyny Lorenz


Tematy pokrewne Podrozdziały

Niemiecki system szyfrowania Lorenz

Naczelne Dowództwo Niemieckiej Armii zwróciło się do firmy Lorenz o wyprodukowanie dla niego maszyny szyfrującej kod dalekopisowy o wysokim bezpieczeństwie w celu umożliwienia całkowicie tajnej komunikacji radiowej. Firma Lorenz zaprojektowała maszynę szyfrową opartą na addytywnej metodzie szyfrowania wiadomości dalekopisowych wynalezionej w 1918 przez Gilberta Vernama w Ameryce.

Dalekopisy nie opierają się na 26 literowym alfabecie i kodzie Morse'a, od których zależała Enigma. Dalekopisy używają 32 znakowego kodu Baudota. Zwróć uwagę, że kod ten składa się z pięciu kanałów, z których każdy jest strumieniem bitów mogących być przedstawionymi jako dziurka lub jej brak na taśmie perforowanej, 0 lub 1, kropka lub krzyżyk.

 

 

System Vernama szyfrował tekst wiadomości przez dodanie do niej znak po znaku zbioru zasłaniających znaków, wytwarzając w ten sposób zaszyfrowane znaki, które były transmitowane do zamierzonego odbiorcy. Prostota systemu Vernama polegała na tym, iż zasłaniające znaki były dodawane w dosyć specjalny sposób (znany jako dodawanie modulo 2). Następnie dokładnie te same znaki zasłaniające dodane modulo 2 do odebranych znaków zaszyfrowanych powodowały wydobycie oryginalnej wiadomości, która mogła dalej zostać wydrukowana.

Działanie dodawania modulo 2 jest dokładnie takie samo jak logiczna operacja XOR:

 

0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

 

Jeśli A jest literą tekstu jawnego, a C jest znakiem zasłaniającym, to zgodnie z poniższym rachunkiem literą szyfru jest F. Z rachunku możesz również zobaczyć, że dodanie C do F daje z powrotem A:

 

A + C = F   F + C = A
1 + 0 = 1   1 + 0 = 1
1 + 1 = 0   0 + 1 = 1
0 + 1 = 1   1 + 1 = 0
0 + 1 = 1   1 + 1 = 0
0 + 0 = 0   0 + 0 = 0


Vernam proponował, aby zasłaniające znaki były zupełnie przypadkowe i wydziurkowane wcześniej na papierowej taśmie, która byłaby zużywana znak po znaku synchronicznie ze znakami wprowadzanej wiadomości. Taki system szyfrowania (jednorazowy) używający czysto losowych znaków zasłaniających jest nie do złamania.

Trudność polegała na zapewnieniu, iż w warunkach wojennych te same taśmy z przypadkowymi znakami będą dostępne po obu końcach połączenia komunikacyjnego i że obie zostaną ustawione na tę samą pozycję startową. Firma Lorenz zdecydowała, że będzie pod względem operacyjnym prościej zbudować maszynę generującą ciąg znaków zasłaniających. Ponieważ była to maszyna, to nie mogła tworzyć zupełnie przypadkowego ciągu znaków. Tworzył ciąg znany jako ciąg pseudolosowy. Na nieszczęście dla Niemieckiej Armii był on bardziej "pseudo" ni losowy i dlatego właśnie został złamany.

 

 

Zabawną rzeczą na temat maszyny Lorenz było to, że łamacze szyfrów z Bletchley Park nigdy nie widzieli rzeczywistej maszyny Lorenz aż do zakończenia działań wojennych, lecz łamali jej szyfry już od dwóch i pół roku.

 

Pierwsze przechwycenia wiadomości

Sygnały dalekopisowe wysyłane przez Niemców i szyfrowane maszyną Lorenz zostały po raz pierwszy usłyszane na początku roku 1940 przez grupę policjantów z Południowego Wybrzeża, którzy prowadzili nasłuch możliwych transmisji niemieckich szpiegów z terenu Anglii. Brygadier John Tiltman, jeden z głównych łamaczy szyfrów w Bletchley Park, zainteresował się szczególnie tymi zaszyfrowanymi wiadomościami dalekopisowymi. Nadano im nazwę kodową "Fish" (ryba). Wiadomości, które (jak odkryto później) były szyfrowane za pomocą maszyny Lorenz, znano pod nazwą "Tunny" (tuńczyk). Tiltman znał system Vernama i wkrótce zidentyfikował te wiadomości jako szyfrowane na sposób Vernama.

Ponieważ system Vernama polegał na dodawaniu znaków, Tiltman doszedł do wniosku, że jeśli operatorzy popełnią błąd i użyją tych samych ustawień początkowych maszyny Lorenz dla dwóch wiadomości (głębokość), to poprzez dodanie do siebie takich dwóch zaszyfrowanych tekstów znak po znaku ciąg znaków zasłaniających zniknie. Otrzymałby wtedy ciąg znaków, z których każdy reprezentował by sumę dwóch odpowiadających sobie znaków w oryginalnych niemieckich tekstach wiadomości. Dla dwóch zupełnie różnych wiadomości praktycznie nie jest możliwe przypisanie właściwych znaków każdej z nich. Tylko niewielkie fragmenty na początku mogły być odtworzone, lecz nie kompletne wiadomości.

 

Niemiecka pomyłka

Gdy wzrosła liczba przechwytywanych wiadomości przez jednostkę w Knockholt w Kent, w Bletchley Park stworzono nowy oddział, którego kierownictwem zajął się major Ralph Tester - oddział ten znany był jako Testery. Przechwycono pewną liczbę Głębokości, lecz nie było dużego pustępu w złamaniu tego kodu aż do momentu, gdy Niemcy popełnili horrendalny błąd. Wydarzyło się to 30 sierpnia 1941. Pewien niemiecki operator musiał przesłać długi ciąg prawie 4000 liter z jednej części Niemieckiego Naczelnego Dowództwa do drugiej - prawdopodobnie z Aten do Wiednia. Prawidłowo ustawił maszynę Lorenz a następnie wysłał, wykorzystując niemieckie imiona, dwunastoliterowy indykator do operatora na drugim końcu połączenia. Ten operator ustawił swoją maszynę Lorenz i poprosił operatora nadającego o rozpoczęcie nadawania wiadomości. Po wprowadzeniu ręcznie prawie 4000 znaków operator odbierający wysłał z powrotem przez radio wiadomość po niemiecku "nie dostałem tego - wyślij jeszcze raz".

Teraz obaj ustawili swoje maszyny Lorenz z powrotem w tej samej pozycji startowej. Było to absolutnie zakazane, ale zrobili to. Następnie operator nadający rozpoczął ponowne ręczne wpisywanie wiadomości. Gdyby był on robotem u użył dokładnie tych samych naciśnięć klawiszy jak za pierwszym razem, to nasłuchowcy mieliby jedynie dwie identyczne kopie tej samej zaszyfrowanej wiadomości. Jeśli na wejściu maszyny jest ten sam tekst, to maszyna, generując takie same znaki przesłaniające, tworzy ten sam szyfr. Lecz będąc tylko człowiekiem oraz wkurzywszy się na myśl o powtórnym wklepaniu tej samej wiadomości, operator wysyłający zaczął tworzyć różnice w drugiej wiadomości w porównaniu z pierwszą.

Wiadomość rozpoczynała się od dobrze znanego niemieckiego wyrażenia SPRUCHNUMMER - "numer wiadomości".  Za pierwszym razem operator ten wpisał SPRUCHNUMMER. Za drugim razem wpisał SPRUCHNR i dalej resztę tekstu wiadomości. Teraz NR znaczyło to samo co NUMMER, zatem jaką robiło to różnicę? Oznaczało to, że bezpośredni za N oba teksty były różne. Lecz maszyna generowała ten sam ciąg zasłaniających znaków, dlatego oba teksty różniły się począwszy od tego miejsca.

Nasłuchowcy w Knockholt zdali sobie sprawę z możliwej wagi tych dwóch wiadomości, ponieważ dwunastoliterowe indykatory były takie same. Wysłano je pocztą ekspresową do Johna Tiltmana w Bletchley Park. Tiltman zastosował na tej parze tę samą addytywną technikę, którą stosował na poprzednich Głębokościach. Lecz tym razem był w stanie pójść o wiele dalej w rozpracowaniu rzeczywistego tekstu wiadomości, ponieważ po użyciu SPRUCHNUMMER na początku, natychmiast zauważył, że druga wiadomość była prawie identyczna z pierwszą.  W ten sposób połączone błędy związane z ponownym ustawieniem maszyn na tej samej pozycji startowej oraz ponownym przesłaniu tekstu z małymi różnicami pozwoliły Tiltmanowi odtworzyć całkowicie oba teksty. Drugi był około 500 znaków krótszy od pierwszego, ponieważ niemiecki operator oszczędzał swoje palce. Ten fakt również pozwolił Tiltmanowi przypisać właściwą wiadomość do jej oryginalnego tekstu szyfrowego.

Teraz Tiltman mógł dodać razem znak po znaku odpowiednie szyfry i teksty wiadomości otrzymując po raz pierwszy długi ciąg zasłaniających znaków generowanych przez niemiecką maszynę szyfrującą. Nie wiedział jak to ta maszyna zrobiła, lecz wiedział, że to właśnie generowała!

 

Rozwiązanie zagadki

John Tiltman dał swój długi ciąg zasłaniających znaków młodemu absolwentowi chemii, Billowi Tutte, który niedawno przyszedł do Bletchley Park z Cambridge. Bill Tutte zaczął wypisywać wzory bitowe z każdego z pięciu kanałów w postaci dalekopisowej tego ciągu znaków przesłaniających przy różnych okresach powtarzania. Pamiętaj, że było to przed erą komputerów i wszystko musiał zapisywać ręcznie w długich sekwencjach.

 

Bill Tutte (po lewej) i  Tony Sale
około roku 1998.

Jeśli znasz angielski, przeczytaj
własny artykuł Billa Tutte'a

 

Gdy wypisał wzory bitowe z kanału 1 z okresem powtarzania 41, to zaczęły się wyłaniać różne prawidłowości, które nie były takie przypadkowe. Pokazało to, że okres powtarzania 41 posiadał jakieś znaczenie w metodzie generowania tego szyfru. Następnie przez ponad dwa kolejne miesiące Tutte wraz z innymi członkami sekcji Badań rozpracowali kompletną strukturę logiczną maszyny szyfrującej, którą teraz znamy pod nazwą Lorenz:

 

Zarys struktury maszyny szyfrującej Lorenz Maszyna Tunny - Tuńczyk

 

To była fantastyczna zmiana sił i na początku 1942 Laboratoria Badawcze Urzędu Pocztowego (Post Office Research Labs) w Dollis Hill zostały poproszone o wyprodukowanie implementacji sieci logicznej rozpracowanej przez Billa Tutte'a. Frank Morrel wyprodukował szafę  z przełącznikami krokowymi i przekaźnikami, które symulowały tę sieć. Nazwaną ją "Tunny" (tuńczyk). Więc teraz, gdy ręczni łamacze kodów w Testery pracowicie rozpracowali ustawienia użyte dla określonej wiadomości, to ustawienia te wprowadzano do Tunny i szyfr stawał się czytelny. Jeśli łamaczom kodów udało się, tekst był w języku niemieckim. Lecz rozpracowanie ustawień zajmowało od czterech do sześciu tygodni. Oznaczało to, że chociaż udowodnili techniczną możliwość złamania kodu Tunny, to w czasie, gdy dana wiadomość została rozszyfrowana, zawarte w niej informacje były zbyt stare, aby przydawały się w działaniach wojennych.

 

Wszystkie zamieszczone w tym opracowaniu materiały zostały umieszczone na serwerze edukacyjnym I LO w Tarnowie za zgodą profesora Tony'ego Sale'a, kustosza muzeum w Bletchley Park.

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe