Metoda zegara

Z Wikipedii, wolnej encyklopedii

Metoda zegara – metoda łamania szyfrów Enigmy wynaleziona przez Jerzego Różyckiego. Była jedyną metodą wymyśloną przez polskich matematyków z Biura Szyfrów, która bazowała na własnościach lingwistycznych języka niemieckiego.

Historia[edytuj | edytuj kod]

W początkowym okresie używania Enigmy, kolejność wirników w maszynie zmieniana była raz na kwartał, a potem raz na miesiąc. Priorytetem było, więc sprawne określanie nastawienia wirników. Jednak w październiku 1936 roku wprowadzono zmiany w procedurze szyfrowania i kolejność wirników w maszynie zmieniana była codziennie. Należało, więc znaleźć sposób na szybkie określenie, który z wirników znajdował się na ruchliwej pozycji bębenka N. W tym celu wymyślono metodę zegara.

Opis działania[edytuj | edytuj kod]

Punktem wyjścia dla metody zegara był błąd konstrukcyjny Enigmy. W każdym z wirników zaczep powodujący przeniesienie występował w innym miejscu. Powodowało to, że w czasie działania maszyny obrót wirnika M następował w różnych momentach. Bębenek I powodował obrót kolejnego wirnika przy zmianie litery q na r, bębenek II przy przejściu z e na f, a III przy obrocie v na w.

Metoda zegara korzystała również z własności lingwistycznych języka niemieckiego. Jeśli bowiem zapiszemy dwa teksty napisane w języku niemieckim jeden pod drugim tak aby i-te litery obu tekstów znajdowały się w jednej kolumnie to w 10% kolumn litery w górnym i dolnym wierszu będą takie same. Jeśli zakodujemy oba teksty korzystając z Enigmy to własność zostaje zachowana dla takich samych kluczy (i-te litery w obu tekstach szyfrowane są taką samą permutacją).

Aby przeprowadzić analizę potrzebne były dwie wiadomości z tego samego dnia zakodowane kluczami różniącymi się tylko na trzeciej literze (różniącymi się tylko początkowym ustawieniem wirnika N). Zapisując jedną zakodowaną wiadomość pod drugą próbowano znaleźć przesunięcie dla którego własność 10% powtarzających się liter zachodzi. Jeśli klucze zakodowanych wiadomości to 'aaa' i 'aah' to różnica pomiędzy skręceniem wirnika N dla ustawień początkowych wynosi 7 (odległość między a i h w alfabecie łacińskim). Jeżeli przesuniemy jeden tekst w stosunku do drugiego o 7 liter w lewo lub w prawo to w którymś z przypadków (o ile nie nastąpiło wcześniej przeniesienie na wirniku M) permutacje na kolejnych literach zgodzą się i własność 10% powtarzających liter będzie zachodzić. W takim wypadku będziemy wiedzieli, że wirnik II nie mógł być umieszczony na miejscu bębenka N, ponieważ gdyby tak było to przy przejściu bębenka N z e na f przy kodowaniu pierwszej wiadomości bębenek M obróciłby się o 1/26 i mimo przesunięcia tekstów względem siebie permutacje na kolejnych literach nie zgadzałby się i własność 10% powtarzających liter nie byłaby zachowana. Takie postępowanie pomagało stwierdzić, który z bębenków na pewno nie mógł znajdować się na pozycji wirnika N.

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
  • Rejewski, Marian (1984e), The Mathematical Solution of the Enigma Cipher: Appendix E of Kozaczuk 1984, pp. 272-291
  • Joanna Wąsik: Złamanie szyfru Enigmy przy użyciu teorii permutacji. Warszawa: Instytut Matematyki Wydział Matematyki i Informatyki Uniwersytet Jagielloński, 2009.