Bomba kryptologiczna

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Bomba kryptologiczna, bomba Rejewskiego – urządzenie mechaniczno-elektryczne skonstruowane przez polskich kryptologów: Mariana Rejewskiego, Jerzego Różyckiego i Henryka Zygalskiego w celu automatycznego łamania szyfrogramów niemieckiej maszyny szyfrującej Enigma.

Unikatowość urządzenia polegała zarówno na koncepcji mechanicznego łamania szyfrów, jak i na wyjątkowych koncepcjach matematycznych, które polscy kryptolodzy wykorzystali w celu złamania rzekomo niemożliwego do złamania mechanizmu szyfrującego.

Historia[edytuj | edytuj kod]

Do jesieni 1938 r. w armii niemieckiej obowiązywała jedna procedura szyfrowania przy pomocy Enigmy. Szyfrant wybierał klucz dzienny (nastawienie wirników, kolejność wirników i pary liter na łącznicy kablowej) z tablicy kluczy dziennych, którą otrzymywał raz w miesiącu. Następnie wymyślał klucz indywidualny depeszy (nastawienie wirników), dwukrotnie go szyfrował kluczem dziennym i umieszczał na początku wiadomości. Dalsza część depeszy szyfrowana była wybranym kluczem indywidualnym (kolejność wirników i pary liter na łącznicy kablowej brano z klucza dziennego). W początkowym okresie łamania szyfru Enigmy przez polskich matematyków z Biura Szyfrów kluczowe okazały się błąd ideologiczny jakim było dwukrotne szyfrowanie kluczy depesz i błędy oraz lenistwo szyfrantów, którzy bardzo często wybierali trywialne klucze indywidualne np. trzy takie same litery albo litery umieszczone obok siebie na klawiaturze. Wiedząc, że we wszystkich depeszach z danego dnia pierwszych sześć liter szyfrowanych było dla takiego samego klucza Polacy wykorzystali teorię cykli aby wymyślić metody na efektywne znajdowanie kluczy dziennych i indywidualnych depesz oraz odtworzyć okablowanie militarnej wersji Enigmy.

Polscy matematycy z Biura Szyfrów: Marian Rejewski, Jerzy Różycki i Henryk Zygalski. Wymyślili wiele metod służących do łamania szyfru Enigmy w tym bombę Rejewskiego.

15 września 1938 r. zmieniono procedurę szyfrowania obowiązującą w armii niemieckiej. Nie obowiązywało już ustalone z góry nastawienie początkowe wirników. Szyfrant samodzielnie wybierał dla każdej depeszy pozycje bębenków, które zamieszczał jako tekst jawny w nagłówku wiadomości. Następnie ustawiał bębenki na wybrane litery i szyfrował dwukrotnie indywidualny klucz depeszy. Właściwą treść wiadomości szyfrował zaszyfrowanym kluczem. Co prawda znane było początkowe ustawienie wirników przy szyfrowaniu pierwszych sześciu liter, ale kolejność wirników, skręcenie obręczy alfabetycznej oraz pary liter na łącznicy należały do klucza dziennego i były niewiadome. Ponieważ w każdej wiadomości powtórzony dwukrotnie klucz depeszy szyfrowany był dla innego ustawienie wirników wszystkie dotychczas wymyślone metody łamania Enigmy stały się nieskuteczne. Bardzo szybko zauważono jednak, że w około 40% przypadków w pierwszych sześciu literach depeszy powtarzają się pierwsza i czwarta litera lub druga i piąta lub trzecia i szósta. W 1938 r. stworzono 6 maszyn (dla każdej możliwej kolejności wirników) bazujących na założeniu, że w permutacjach istnieją punkty stałe niezależne od permutacji S (na łącznicy kablowej). Z braku lepszej nazwy nazwano je bombami.

W grudniu 1938 r. Niemcy dokonali modyfikacji Enigm, która powodowała, że potrzebne było 10 razy więcej bomb. Brak danych o budowie dwóch nowych bębenków szyfrujących oraz ograniczone możliwości finansowe uniemożliwiły Polakom ich skonstruowanie. Udało się to natomiast anglikom. Kiedy 24 lipca 1939 r. z polskiej inicjatywy zwołano w Warszawie spotkanie trzech wywiadów: angielskiego, francuskiego i polskiego plany bomb oraz dwie repliki Enigmy zostały przesłane do Paryża, a stamtąd do Londynu. Jesienią 1939 kryptoanalitycy z Bletchley Park zdołali skonstruować wystarczającą liczbę bomb.

10 maja 1940 r. Niemcy zmienili protokół przesyłania klucza (klucz wiadomości zaczął być nadawany jedynie raz) i bomby Rejewskiego przestały być skuteczne. Próby udoskonalenia bomby przez Polaków okazały się niemożliwe. Niedługo po spotkaniu w Warszawie Niemcy bez wypowiedzenia wojny wkroczyli do Polski i Biuro Szyfrów musiało się ratować ucieczką do Rumunii, a następnie do Francji. Z biegiem czasu Niemcy coraz bardziej udoskonalali procedury przesyłania depesz. Pomoc mechaniczna potrzeba przy łamaniu szyfru stawała się coraz kosztowniejsza i nieosiągalna, natomiast materiału podsłuchowego było coraz mniej. Polscy matematycy pracowali jeszcze nad innymi szyframi ale już nie nad Enigmą.

Opis działania[edytuj | edytuj kod]

Do przeprowadzenia analizy potrzebne były trzy depesze z tego samego dnia takie, że: w pierwszej powtarzały się pierwsza i czwarta litera, w drugiej druga i piąta, a w trzeciej trzecia i szósta (chodzi o litery w zaszyfrowanej części wiadomości, w rzeczywistości na początku każdej depeszy znajdowało się napisane teksem jawnym ustawienie wirników dla danego dnia). Dodatkowo powtarzająca litera musiała być taka sama we wszystkich kluczach. Dla przykładu niech zaszyfrowane klucze będą miały postać: 'wah wik', 'dwj mwr', 'raw ktw', a podane jako tekst jawny ustawienia bębenków w tych dniach będą następujące: 'rtj', 'dqx', 'hpl'. Widać, że gdybyśmy znali klucz dzienny i ustawili bębenki na litery podane tekstem jawnym w wiadomości to przy szyfrowaniu 'wah wik' dwa razy zaświeciłaby się lampka z tą samą literą (analogicznie dla 'dwj mwr', 'raw ktw').

Bomba Rejewskiego. Aby obrazek był bardziej czytelny widnieje na nim tylko jeden zestaw trzech wirników (1), w rzeczywistości było ich sześć (sześć połączonych w pary Enigm). Każdej parze Enigm odpowiadało 26 lampek (3).  Dane ustawienie bębenków mogło być prawidłowe jeśli w każdej kolumnie świeciła się lampka z tą samą literą. Na obrazku widoczny jest również silnik (2) obracający systematycznie wirniki.

Bomba Rejewskiego to było tak naprawdę sześć bomb. Każda dla innej kolejności bębenków względem siebie. Jedna bomba składała się z zestawu sześciu Enigm połączonych ze sobą w pary.

  • Wirniki w pierwszej maszynie pierwszej pary ustawione były dowolnie. Bębenek N w drugiej maszynie pierwszej pary obrócony był o 3 pozycje względem bębenka N w pierwszej maszynie. Bębenki M i L ustawione były na takie same litery jak dla pierwszej maszyny (ustawienie wirników po jednokrotnym zaszyfrowaniu klucza bez uwzględniania ewentualnych obrotów M i L).
  • Wirniki w pierwszej maszynie drugiej pary ustawiano bazując na różnicach pomiędzy literami w kluczach dziennych. W naszym przykładzie ('rtj', 'dqx') wirnik N pierwszej maszyny drugiej pary obracamy o 15 pozycji względem ustawienia wirnika N w pierwszej maszynie pierwszej pary (odległość między 'x' i 'j' w alfabecie łacińskim). Dla wirników M i L postępowano analogicznie patrząc na różnice pomiędzy drugimi i pierwszymi literami w kluczach. Wirnik N drugiej maszyny drugiej pary ustawiony był na 3 pozycje więcej względem wirnika N pierwszej maszyny drugiej pary. Wirniki M i L ustawiano tak samo jak dla pierwszej maszyny w parze.
  • Dla trzeciej pary Enigm postępowano analogicznie jak przy ustawianiu wirników w drugiej parze. W naszym przykładzie ('rtj', 'hpl') wirnik N pierwszej maszyny obrócony był o 1 literę do przodu w stosunku do wirnika N pierwszej maszyny w pierwszej parze. Wirniki M i L obrócone było o 4 i 10 liter do tyłu w stosunku do wirników M i L w pierwszej maszynie pierwszej pary (odległości pomiędzy 'p' i 't' oraz 'h' i 'r'). Wirnik N w drugiej maszynie pary obracano o 3 pozycje w stosunku do bębenka N w pierwszej maszyny w parze. Wirniki M i L ustawiane były tak jak dla pierwszej maszyny z pary.

Bomba szukała położeń wirników, w których występowały punkty stałe na pierwszej i czwartej, drugiej i piątej oraz trzeciej i szóstej pozycji jednocześnie. Wirniki w bombie obracały się systematycznie o jedną pozycję do przodu, aż do momentu kiedy dla wszystkich par Enigm zaświeciła się naraz ta sama lampka z powtarzającą się literą z zaszyfrowanych kluczy (w naszym przykładzie litera 'w'). Wtedy bomba zatrzymywała się i osoba obsługująca maszynę spisywała aktualne ustawienie wirników i uruchamiała ją ponownie. Bomba sprawdzała wszystkie możliwe ustawienia wirników w około 2 godziny. Po znalezieniu ewentualnych prawidłowych kluczy należało ustalić pary liter na łącznicy kablowej. Aby to zrobić należało usunąć przewody z łącznicy i odszyfrować dowolną depeszę z danego dnia (tak jakby permutacja S była identycznością). Następnie próbowano dopasować pary liter, żeby zniekształcona wiadomość miała poprawną treść.

Bomba miała zasadnicze wady. Po pierwsze zakładała, że powtarzające się litery w kluczach nie zostały zmienione przez permutację S (na łącznicy kablowej). Przez długi czas było to słuszne założenie, ponieważ S łączyła w pary tylko 12 liter. Z biegiem czasu liczba par wzrosła jednak do 20. Po drugie bomba nie uwzględniała obrotów wirników M i L w czasie szyfrowania pierwszych sześciu liter depeszy. Z biegiem czasu wprowadzono również dodatkowe wirniki IV i V i wykonanie 60 bomb dla układu 5-ciu walców przerosło możliwości Polaków.

Bomby angielskie[edytuj | edytuj kod]

Bomba kryptologiczna Turinga

Korzystając z informacji przekazanych anglikom przez Polaków Alan Turing zaprojektował w 1939 roku maszynę atakującą inne słabości szyfru Enigmy. Turing zmuszony był do zmierzenia się z nowymi problemami takimi jak większa liczba bębenków szyfrujących oraz zmianą procedury szyfrowania (klucz wiadomości nadawany był tylko raz). Urządzenie nazwane zostało bombą po bombie Rejewskiego, jednak tutaj podobieństwa pomiędzy maszynami się kończą. W swojej bombie Turing zastosował bowiem całkowicie inne podejście przyjmując, że niektóre słowa lub zdania z dużym prawdopodobieństwem pojawiają się w tekście jawnym np. “Heil Hitler” lub pytania o pogodę. Na tej podstawie można było wykluczyć niektóre początkowe ustawienia wirników ze względu na konflikty z domniemanymi wyrazami w tekście jawnym. Bomba działała jako symulator wielu Enigm na raz, sprawdzający możliwe prawidłowe klucze i służyła do znajdowania kluczy dziennych: numerów wybranych wirników, kolejności bębenków i ich ustawienia początkowego oraz par liter na łącznicy kablowej. Maszyna dotarła do Bletchley Park 14 marca 1940 roku, lecz nie była dostatecznie szybka. Jej ulepszona wersja o nazwie Agnus Dei dotarła 8 sierpnia.

Brama przekaźnikowa bomby Turinga

Zobacz też[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

  • Rejewski, Marian (1984d), How the Polish Mathematicians Broke Enigma: Appendix D of Kozaczuk 1984, pp. 246–71
  • Joanna Wąsik: Złamanie szyfru Enigmy przy użyciu teorii permutacji. Warszawa: Instytut Matematyki Wydział Matematyki i Informatyki Uniwersytet Jagielloński, 2009.
  • S. Singh, Księga szyfrów, Warszawa 2003
  • Bombe (ang.). [dostęp 2016-01-10].