Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Kryptologia XX wieku — maszyna Lorenza

II wojna światowa była okresem, który pochłonął kilkadziesiąt milionów istnień. Nie mniej, postęp techniczny, który został wymuszony przez trwający konflikt był ogromny. Najszybciej unowocześniano technikę zbrojeniową. Ale nie tylko – kryptografia, a zarazem kryptologia również cieszyła się niemałym powodzeniem. W tej dziedzinie prym wiodła III Rzesza. Brytyjczycy i Rosjanie starali się nie zostawać w tyle. Każda ze stron konfliktu marzyła nie tylko o odczytywaniu depesz przeciwnika, ale również o zabezpieczeniu swojego kanału komunikacji. Kilka miesięcy temu szczegółowo zajmowaliśmy się Enigmą. W tej części zainteresujemy się inną, mniej znaną niemiecką maszyną szyfrującą. Mimo tego, że była ona mniej znana, miała równie duży wpływ na przebieg działań wojennych jak Enigma.

Przesiębiorstwo C.Lorenz AG

Enigma, o której wspominałem wcześniej nie była jedynym wynalazkiem niemieckich inżynierów. Niemcy w czasie tego rozdziału historii ludzkości stworzyli co najmniej kilka niezwykle interesujących oraz mających duży wpływ na bieżące działania wojenne maszyn szyfrujących. Wynalazek Scherbiusa był używany na poziomie taktycznym. Za jej pomocą polowe oddziały mogły się bezpiecznie komunikować ze sztabem oraz między sobą. Niemcy wierzyli, że Enigma jest niemożliwa do złamania. Jednakże, to nie ona zabezpieczała komunikację na najważniejszym szczeblu – strategicznym. Do komunikacji między sztabami różnych armii, czy między armią a kwaterą główną, używana była inna, oferująca znacznie lepszą jakość szyfru, maszyna. Dalekopis Lorenza ze specjalną „przystawką” szyfrującą miał zapewnić 100% bezpieczeństwo. Historia firmy, która stworzyła tę niezwykłą machinę była nieco burzliwa. Aby prześledzić dzieje tej firmy, musimy cofnąć się do 1870 r.
Firma C. Lorenz AG była pionerem w wielu dziedzinach, takich jak telegrafia, telefonia czy radar. Powstała na długo przed nastąpieniem omawianych wydarzeń – w roku 1870. Wszystko zaczęło się od małego sklepu z elektroniką, żarówkami oraz małym warsztatem. Carl Lorenz rozwijał swoje dziecko. W 1880 udało się pozyskać kontrakt na stworzenie urządzeń telegraficznych dla kilku prywatnych spółek kolejowych. Tym samym firma wkroczyła na rynek telegrafów. Z czasem C. Lorenz AG stał się jednym z głównych dostawców tego typu urządzeń na rynek krajowy. W 1889 r. Carl Lorenz przedwcześnie zmarł na pospolitą chorobę – grypę. Brak odpowiednich leków nie pozwolił lekarzom uratować tego inżyniera. Biznes po zmarłym właścicielu przejął Robert Held – biznesmen, który do tej pory działał w całkowicie innej branży. Za 50000 marek kupił firmę C. Lorenz Telegraphenbauanstalt. Mimo zmiany szefostwa, firma dalej istniała pod nazwą Carla Lorenza. Zresztą, jego brat, Alfred Lorenz został mianowany dyrektorem technicznym. Wraz z rozwojem biznesu, C.Lorenz AG. wspinał się na kolejne wyżyny. Zatrudniano coraz większą liczbę pracowników. Najwyższy poziom zatrudnienia, około 3000 ludzi odnotowano przed pierwszą wojną światową. Konflikt, który „miał zakończyć wszystkie wojny” oraz kryzys ekonomiczny w Niemczech odczuł cały niemiecki biznes. Firma Lorenz AG znacznie zredukowała etaty. W związku z dużym impasem wycofano się z realizacji nowych projektów związanych z uzbrojeniem. Zresztą, traktat wersalski nakładał w tej kwestii na Republikę Weimarską wiele ograniczeń. Zajęto się projektami cywilnymi. Praca popłacała. Lorenz AG jako pierwszy skonstruował urządzenia służące do nadawania radia w Niemczech. Stworzono także pierwszy odbiornik – Liebhaber-Empfanger. Przeciętny niemiecki robotnik nie mógł sobie pozwolić na takie udogodnienie - urządzenie to kosztowało 250 marek niemieckich.
W 1935 r. opatentowano antenę magnetyczną, której modyfikacje do dziś są dosyć powszechnie wykorzystywane w radioodbiornikach. Niestety, przyszłość miała znowu zwrócić wysiłek firmy w kierunku branży militarnej.

Naród niemiecki zmierzał do kolejnego konfliktu. Pierwsze działania, podejmowane już przez Republikę Weimarską były nieoficjalne. Niemieckich żołnierzy i czołgistów szkolono na radzieckich poligonach (było to możliwe na podstawie traktatu w Rapallo, podpisanego pomiędzy RFSRR a Republiką Weimarską w 1922 roku). Po legalnym dojściu i umocnieniu się NSDAP u władzy, Adolf Hitler już oficjalnie zmierzał do wojny. Remilitaryzacja Nadrenii, zwiększenie liczebności Wehrmachtu, Anschluss Austrii. Wobec tego powstało zapotrzebowanie na różne urządzenia radiowe. Tym samym firma Carla Lorenza musiała powrócić do branży militarnej. Radary oraz różnego rodzaju radioaparaty wykorzystywane później w niemieckich czołgach i samolotach produkowane były w fabrykach należących do Lorenza, znajdujących się m.in. w Berlinie i kilku innych miastach III Rzeszy.

Pod koniec lat 30 XX wieku, kiedy świat stał na preludium wojny, Wehrmacht zgłosił do firmy C.Lorenz AG zapotrzebowanie na nową maszynę szyfrującą – bezpieczny dalekopis, który w pełni zabezpieczy komunikację między dowództwami armii. Przy projektowaniu tego typu maszyny istniało kilka problemów. Enigma była lekka. Jej ewakuacja lub zniszczenie (tak, aby nie wpadła w ręce wroga) nie była żadnym problemem. Dalekopisy z natury są ciężkie – ważą kilkanaście/kilkadziesiąt kilogramów. Wobec tego uznano, że znacznie lepszym rozwiązaniem niż tworzenie całkiem nowego urządzenia, jest zaprojektowanie jedynie „przystawki” która dodałaby możliwość zabezpieczenia transmisji. Standardowy dalekopis Lorenza, nawet jeśli zostałby przejęty przez wroga, nie dawał mu praktycznie żadnych profitów.

Inną, niezwykle ważną rzeczą, odróżniającą maszynę Lorenza od Enigmy, był mechanizm szyfrowania i zapisu wyników swoich działań. Enigma za pomocą żarówek informowała operatora o wynikach swojej pracy. Maszyna Lorenza zachowywała się jak zwyczajny dalekopis. Do zapisu informacji używała kodu Baudota – powszechnie stosowanego w tego typu urządzeniach.

Zastosowany szyfr był również całkowicie inny. Postanowiono wziąć na warsztat algorytm wynaleziony jeszcze podczas pierwszej wojny światowej. Gilbert Sandford Vernam, brytyjski inżynier opracował ciekawy szyfr. W teorii był on „nie do złamania”. Na czym polegała wynaleziona przez niego metoda? Była ona bardzo prosta. Wiadomość przesyłamy za pomocą kodu Baudota. Na taśmie perforowanej zapisany jest niepowtarzalny, losowy ciąg znaków, który swoją długością odpowiada długości wiadomości. Metoda szyfrowania jest niezwykle banalna – każdy znak jest dodawany do klucza, dając szyfrogram. Operacja deszyfracji jest operacją odwrotną – od kodu szyfrogramu odejmujemy kod klucza. W ten sposób uzyskujemy wcześniej zaszyfrowany tekst jawny.

Szyfr Vernama miał kilka poważnych wad, które utrudniały inżynierom opracowanie odpowiedniej maszyny. Podstawowym problemem była długość klucza i sposób jego generowania. W teorii, aby szyfrogram pozostawał bezpieczny, klucz używany do szyfrowania powinien mieć długość równą długości szyfrowanej wiadomości. Dodatkowo, powinien być całkowicie losowy. Jeśli te warunki zostałyby spełnione, żaden kryptolog nie mógłby ustalić, jaki tekst jawny zaszyfrowano, czy jakiego klucza użyto. Dlaczego? Na to pytanie odpowie matematyka:

Załóżmy, że klucz generujemy, rzucając zwykłą monetą. Jeśli wyrzucimy orła, na danym miejscu w kluczu będzie znajdowała się jedynka. W przeciwnym wypadku będzie to zero. Rzucamy pierwszy raz. Jakie jest prawdopodobieństwo „odgadnięcia wyniku”?

Szansa na zgadnięcie pierwszego bitu klucza jest stosunkowo duża – jeden do dwóch. Ale co będzie, jeśli dołożymy kolejny rzut? Jaka jest szansa, że zgadniemy dwa bity klucza?
W tym momencie, kiedy ciąg znaków używany do szyfrowania ma dwa bity, mamy jedynie 25% szans na to, że odgadniemy cały klucz.
Standardowa wiadomość może mieć około 50 bitów. Jak będzie wtedy wyglądała sytuacja?
Można powiedzieć, szyfr idealny. Ale powstaje pewien problem – jak wygenerować w pełni losowy ciąg znaków? Inżynierzy C. Lorenz AG znaleźli rozwiązanie tego problemu.

Tunny

Enigma była oznaczona przez angielskich kryptologów kryptonimem ULTRA. W przypadku maszyny Lorenza Anglicy byli nieco bardziej nowatorscy i użyli nazwy Tunny („tuńczyk”). Tunny, jak już wcześniej powiedzieliśmy, używał pewnej modyfikacji algorytmu Vernama. Zobaczmy, jak niemieccy inżynierowie zdołali rozwiązać kilka kluczowych problemów, o których wcześniej wspominaliśmy.
Podstawową trudnością, którą napotkano była odpowiedź na pytanie: W jaki sposób mechaniczna maszyna może wygenerować całkowicie losowy ciąg znaków?. Znaleziono bardzo proste rozwiązanie tego problemu. Podobnie jak Enigma, maszyna Lorenza używała zestawu wirników. W porównaniu do Enigmy, maszyna Lorenza posiadała ponad 4 razy więcej rotorów. Tunny operował na ówcześnie nowatorskiej, a obecnie szeroko wykorzystywanej logice Boole’a. Z tego powodu niemiecki wynalazek używał tylko dwóch liczb: 0 i 1. Wirniki Enigmy posiadały 26 pozycji, które odpowiadały kolejnym literom alfabetu. Rotory Lorenza miały różną ilość pozycji – od 23 do 61. Każdy rotor posiadał odpowiednie „piny” w miejscach, które stykały się z obwodem. Operator mógł je wciskać lub wyciągać, dzięki czemu jeszcze bardziej utrudniał złamanie algorytmu. Kiedy pin jest podniesiony, wirnik w danej pozycji generuje logiczną jedynkę. W przeciwnym wypadku kreowane jest logiczne zero.
Przeanalizujmy teraz zasadę działania tego urządzenia. Wbrew pozorom, jest ona nawet prostsza od tego, co widzieliśmy w Enigmie.

Maszyna Lorenza, posiadała 12 wirników. Abyśmy zrozumieli sam proces szyfrowania musimy dowiedzieć się, jak obracane były poszczególne rotory. Właśnie w tym miejscu pomiędzy Enigmą a tym urządzeniem istniała zasadnicza różnica.

Pierwsze 5 wirników oznaczono symbolem w (psi). Te rotory obracały się zawsze – za każdym razem, kiedy nacisnęliśmy jakiś klawisz na klawiaturze. Podobnie działał pierwszy z dwóch wirników µ. Ciekawszym działaniem charakteryzował się drugi z rotorów µ, a siódmy z kolei. Zmieniał on swoją pozycję o jeden tylko w wypadku, kiedy na pierwszym wirniku µ w chwili naciśnięcia znaku na klawiaturze znajdowała się logiczna jedynka. Z kolei ostatnie pięć wirników obracało się tylko wtedy, kiedy na drugim z wirników µ znajdowała logiczna jedynka w chwili naciśnięcia klawisza.

Dwa wirniki µ były remedium na problem generatora liczb losowych. Właśnie w taki sposób niemieccy kryptografowie rozwiązali bolączkę która nękała projekty Vernama. Rotory µ zapewniały „teoretycznie” całkowicie losowe obracanie ostatnich pięciu rotorów.

Wirniki w i x były wykorzystywane do tworzenia klucza. W tym celu używano logicznej operacji XOR. Wartości bitowe z rotorów w „xor’owano” z wartościami wirników x. Przeanalizujmy prosty przykład. Załóżmy, że stan wirników przed naciśnięciem jakiegokolwiek klawisza był następujący:

Ustalmy, jaką postać przyjmie ciąg znaków, kluczem zwany, którego użyjemy do zaszyfrowania wiadomości.
Wyliczyliśmy klucz. W tym momencie możemy zaszyfrować nr wciśniętego klawisza. Przyjmijmy, że nacisnęliśmy klawisz G, który ma kod binarny 01011. Jak zaszyfrować to, co wpisaliśmy? Ponownie wykonujemy operację XOR, tym razem między kluczem a numerem naciśniętego klawisza.
Otrzymany ciąg: 11101 odpowiadać będzie innej literze, np.: Q.
Taka sama operacja jest wykonywana dla każdej litery. Proces odszyfrowania jest identyczny z procesem szyfrowania. Zresztą, sam możesz to sprawdzić na powyższym przykładzie. Operacja XOR szyfrogramu z kluczem da numer klawisza, który został wciśnięty.

Procedury szyfrowania

Każdy szyfr, jeśli będzie nieumiejętnie stosowany, zostanie bez problemu pokonany. Tak samo było w przypadku maszyny Lorenza. Przez cały okres wojny powstało zaledwie około dwustu egzemplarzy maszyny Lorenza w dwóch wersjach – SZ40 i SZ42. Konflikt przetrwało jedynie 4 sztuki. Jeśli chodzi o samą zasadę działania, różniły się one w dość niewielkim stopniu. SZ40 był używany głównie wtedy, gdy istniało przewodowe połączenie między nadawcą i odbiorcą wiadomości. Takie działanie maszyny stwarzało kilka problemów. Niemiecka taktyka operacyjna – Blitzkrieg i szybka zmiana linii frontu często uniemożliwiała wykorzystanie istniejącej infrastruktury do komunikacji. Dodatkowo, na obszarach takich jak Rosja czy północna Afryka, kabli telekomunikacyjnych praktycznie nie było. Wobec tego szybko wprowadzono ulepszoną wersję maszyny Lorenza, która pozwalała komunikować się bezprzewodowo. Nazwano ją SZ42. Wersja ta zawierała lepszy nadajnik i odbiornik, który bezproblemowo radził sobie z zakłóceniami.

Podstawowa zasada bezpieczeństwa była następująca – część szyfrująca, kiedy nie jest używana, powinna być zawsze odłączona od dalekopisu. Operacja ta była dosyć prosta i wymagała wykonania jedynie kilku czynności i trochę czasu.

Przed rozpoczęciem transmisji maszyna powinna być odpowiednio ustawiona. Procedury były tutaj o wiele bardziej rygorystyczne niż w przypadku Enigmy.

Największy wpływ na mechanizm szyfrowania miały ustawienia wirników. Jak już wspomnieliśmy, na ich brzegu były specjalne „piny” które zmieniały sposób działania wirnika. Wyróżniane były dwa rodzaje kluczy – tzw. Grundschlüssel – czyli klucz podstawowy, oraz Walzenschlüssel – klucz wirników. Klucz podstawowy to ustawienie „pinów” na wirnikach 1-5 i 8-12. Operacja ta była wykonywana raz na miesiąc. Natomiast klucz wirników dotyczył rotorów, które zapewniały „losowość” obrotu – 6 i 7. Był zmieniany codziennie. W późniejszym okresie wojny drastycznie zwiększono częstotliwość zmian klucza podstawowego.

W przypadku jakiegokolwiek zagrożenia ze strony wroga, które mogłoby skutkować przejęciem urządzenia, należało jak najszybciej wymontować i zabrać ze sobą/zniszczyć mechanizm szyfrujący. Nie była to skomplikowana operacja. Wystarczyło odkręcić kilka śrubek, zdjąć przednią pokrywę. W tym momencie można było wyjąć mechanizm szyfrujący, który składał się między innymi z wirników.
Zobaczmy teraz, jaka była procedura nadawania.
Zakładamy, że wirniki obydwu maszyn zostały ustawione w ten sam sposób wg dwóch wymienionych wyżej rodzajów kluczy. Nadawca wybierał teraz klucz wiadomości. Klucz wiadomości, podobnie jak w Enigmie, definiował startową pozycję wirników. Zapisany był za pomocą sześciu sekcji - po dwie litery w każdej. Instrukcja dawała wskazówki – klucz nie powinien być przewidywalny, nie może wiązać się z operatorem maszyny oraz nie powinien składać się z ciągu takich samych znaków. do przekształcania klucza na postać cyfrową służyła specjalna tabela. Tekst ten był nadawany jawnie. Odbiorca odczytywał klucz. Za pomocą odpowiedniej tabeli przekształcał go na numery wirników i ustawiał swoją maszynę. Następnie informował nadawcę za pomocą odpowiedniego sygnału, że wszystko przebiegło pomyślnie i można rozpocząć nadawanie.

Klęska tuńczyka

Obydwa urządzenia – zarówno Enigma jak i maszyna Lorenza miały ogromny wpływ na przebieg działań wojennych. Kwatera Główna mogła bardzo łatwo wysłać rozkazy do poszczególnych armii bez obawy o to, że ich treść przejmie przeciwnik. Enigma pozwalała na bezpieczną komunikację i synchronizację działań poszczególnych oddziałów na szczeblu taktycznym. To był właściwie gotowy przepis na sukces. Co więc poszło nie tak? Można powiedzieć, że do zwycięstwa aliantów w drugiej wojnie światowej niezwykle przyczyniło się kilku Polaków, studentów Uniwersytetu Poznańskiego. Można powiedzieć że to właśnie oni odmienili losy drugiej wojny światowej, gdyż dali aliantom wgląd w najtajniejsze informacje III Rzeszy. Ale o tym wszystkim dowiemy się w następnym odcinku.

Ciekawe linki

Cryptocellar.org - znajdują się tutaj ciekawe, oryginalne dokumenty dot. maszyny Lorenza SZ40/42, a także kilku innych urządzeń niemieckiej myśli technicznej

Symulator maszyny Lorenza SZ40 - pozwala zaobserwować zasadę działania tego wynalazku. 

hobby inne

Komentarze

0 nowych
KoczurekK   9 #1 27.11.2016 17:57

To były czasy, pojawiał się jakiś szyfr i praktycznie od razu była też sprzętowa implementacja. :D

  #2 27.11.2016 18:50

Anglicy i tak uważają, iż to oni rozgryźli enigmę.

Uznam   3 #3 27.11.2016 19:16

Pierwsze zdanie:
"II wojna światowa była okresem, który pochłonął kilka milionów istnień".
Oczywiście nie ma danych dotyczących ilości osób które zginęły w skutek wybuchu II WŚ, ale szacunkowe dane mówią o ok. 60 mln, a to "trochę" więcej niż "kilka milionów istnień"!

eimi REDAKCJA  16 #4 27.11.2016 19:30

Dziękuję za ciekawy wpis o czymś, co przy tym całym zamieszaniu wokół Enigmy jest tak mało znane. No to do showcase :)

  #5 27.11.2016 19:49

@Uznam: święta racja.

karol221-10   9 #6 27.11.2016 19:52

@Uznam: Dzięki za info. Małe przejęzyczenie :) już poprawione.

SpaceM7c5   6 #7 27.11.2016 20:38

Szczegółowo opisałeś zasadę działania maszyny. Dzięki.

K4m3L3on   8 #8 27.11.2016 21:37

Interesujący temat - dzięki.

GioWDS   13 #9 27.11.2016 21:56

@Uznam: To i tak tylko statystyka.

Dementor   29 #10 27.11.2016 22:29

Świetna robota. Lubię takie retrospektywne wpisy.

xaver   8 #11 28.11.2016 01:05

Bardzo ciekawy artykuł.

oprych   12 #12 28.11.2016 08:02

i takie wpisy, to ja lubię :P

  #13 28.11.2016 08:21

cosik się urwało ;):
"Aby prześledzić dzieje tej firmy, musimy cofnąć się do 1870 r. kiedy Carl Lorenz,"
a dalej logo i następny akapit

macminik   15 #14 28.11.2016 09:00

Wpis ciekawy, w drugim zdaniu "nie mniej" powinno być pisane razem. "Nie mniej" jako zamiennik "ale", "jednak" pisze się razem. W wersji określającej ilość oddzielnie. Np 2 kg maki ale nie mniej niź 3 kg.

Nie jestem taki przemądrzały, tylko sam popełniałem ńotorycznie ten błąd na swoim blogu, aż mi to ktoś ładnie wyklarował.

mly   6 #15 28.11.2016 09:31

Bardzo ciekawy tekst, fajnie się czyta. Gratuluje pomysłu i realizacji.

  #16 28.11.2016 10:27

Design Telegrafu Lorenz T32 jest prześliczny, z chęcią postawiłbym sobie pochromowaną replikę na stole jako ozdoba. Piękny.

skala67   7 #17 28.11.2016 10:30

Takich wpisów trzeba nam więcej: rzeczowy, nienachalny, a przy tym interesujący z punktu widzenia technicznego, edukacyjnego i historycznego. Czekam z niecierpliwością na następny.

kowgli   6 #18 28.11.2016 10:37

Napisanie, że 2^-50 jest "dużo mniejsze od 1%", jest lekkim niedoszacowaniem. To jakby napisać, że elektron jest dużo mniejszy od Pałacu Kultury :)

Bodaj 13 rzędów wielkości, to trochę więcej niż "dużo" :)

Autor edytował komentarz w dniu: 28.11.2016 10:38
  #19 28.11.2016 10:57

Dla takich tekstów wchodzę na dobreprogramy :) bardzo przyjemnie się to czyta

  #20 28.11.2016 13:55

@olo1 (niezalogowany) - nie tylko Anglicy,bo kolejni zwycięzcy dopisali sobie sukces - to Amerykanie. Oberkommando der Wehrmacht w skrócie - OKW dla sił lądowych, to robota Anglików.A do deszyfracji Kriegsmarine ,,przysłużyli,, się jankesi.Nie jest jasna do dziś sprawa dlaczego Enigma różniła się między łącznością dla wojsk lądowych,a marynarką.Można domniemać,że to problem techniczny z natury większych odległości między nadawcą a odbiorcą.Oraz problem łodzi podwodnych.Same nadawanie mogło zdradzić ich pozycje.Także mimo sojuszniczych zobowiązań Amerykanie koniecznie chcieli mieć te cacko dla siebie.Wiedzieli,że Anglicy mają i nikomu kopii nie przekażą.Jedynie wybiórczo rozszyfrowane wiadomości.Gdzieś tam zaginęła rola Polaków.Usilnie pomniejszana od zakończenia wojny.Na takich sojusznikach budujemy nadal swoje bezpieczeństwo.

  #21 28.11.2016 15:01

Ciekawy wpis, można rozszerzyć wiedzę o szyfrowaniu i historii II wojny światowej oraz spojrzeć z nieco innej strony na losowość (pomysł z wirnikami).

kowgli   6 #22 28.11.2016 15:44

@marek 2010 (niezalogowany): Rozumiem, że wdłg ciebie lepszy "sojusznik" z lat 1945(1939)-1989?

Shaki81 MODERATOR BLOGA  37 #23 28.11.2016 23:26

No to już wiem na który wpis będę głosował w następnej odsłonie konkursu blogowego. Dobra robota.

Autor edytował komentarz w dniu: 28.11.2016 23:27
  #24 29.11.2016 00:46

Bardzo ciekawy artykuł Czy można prosić o artykuł na temat tej niemieckiej maszyny o nazwie ryba miecz? Wg Bogusława Wołoszanskiego był to pierwszy komputer stworzony by czytać jednorazowe szyfry radzieckie Niestety w internecie jest bardzo mało informacji na ten temat

karol221-10   9 #25 29.11.2016 11:49

@Częstochowiak (niezalogowany): Planuję się zająć tym tematem. Mam zebranych sporo wiadomości na ten temat. Natomiast kiedy to zbiorę w całość - nie wiem. Przez matury mam obecnie niezbyt dużo czasu.