Rozdział 5 ENIGMA
Transkrypt
Rozdział 5 ENIGMA
Rozdział 5 ENIGMA Tajemnica kodu ENIGMY zoatała złamana w 1932 roku przez Polskie Biuro Szyfrów kierowane przez Maksymiliana Ciężkiego. Pod jego kierunkiem pracowało trzech matematyków: Marian Rejewski, Jerzy Różycki oraz Henryk Zygalski. Dane techniczne oraz sposoby szyfrowania zostały najpierw przekazywane od jesieni 1931 roku wywiadowi francuzkiemu przez szpiega Hansa–Thilo Schmidta. Pod koniec 1932 roku major Gustav Bertrand (pseudonim ,,Bolek”) przesłał te dane do Polskiego Biura Szyfrów. Teraz przyszła kolej na rozszyfrowanie. 5.1 Jak złamano szyfr Co widać było od razu, to dwa trigramy, które poprzedzały dłuższy tekst. Marian Rejewski założył, że jest to identyfikator, który składa się z dwóch identycznych trigramów zaszyfrowanych na dwa różne sposoby. Niech P1 , P2 , P3 , P4 , P5 , P6 oznaczają permutacje alfabetu, którymi zaszyfrowana jest odpowiednia litera identyfikatora. Wówczas, jeśli i ∈ {1, 2, 3}, to z tego, że Pi a = x oraz Pi+3 a = y wynika natychmiast, że Pi+3 Pi−1 x = y. Jednakże ENIGMA stosowała szyfry transpozycyjne, więc Pi−1 = Pi . Stąd mamy Pi+3 Pi x = y. Przyjrzyjmy się tablicy identyfikatorów. W permutacji P4 P1 mamy • z 1. a przechodzi na siebie; • z 35. s przechodzi na siebie; • z 2. i 4. b przechodzi na c i odwrotnie; 1 1 AUQ AMN 23 NXD QTU 45 TMN EBY 2 BNH CHL 24 NXD QTU 46 TMN EBY 3 BCT CGJ 25 NLU QFZ 47 TAA EXB 4 CIK BZT 26 OBU DLZ 48 USE NWH 5 DDB VDV 27 PVJ FEG 49 VII PZK 6 EJP IPS 28 QGA LYB 50 VII PZK 7 FBR KLE 29 QGA LYB 51 VQZ PVR 8 GPB ZSV 30 RJL WPX 52 VQZ PVR 9 HNO THD 31 RJL WPX 53 WTM RAO 10 HNO THD 32 RJL WPX 54 WTM RAO 11 HXV TTI 33 RJL WPX 55 WTM RAO 12 IKG JKF 34 RFC WQQ 56 WKI RKK 13 IKG JKF 35 SYX SCW 57 XRS GNM 14 IND JHU 36 SYX SCW 58 XRS GNM 15 JWF MIC 37 SYX SCW 59 XOI GUK 16 JWF MIC 38 SYX SCW 60 XYW GCP 17 KHB XJV 39 SYX SCW 61 YPC OSQ 18 KHB XJV 40 SJM SPO 62 YPC OSQ 19 LDR HDE 41 SJM SPO 63 ZZY YRA 20 LDR HDE 42 SJM SPO 64 ZEF YOC 21 MAW UXP 43 SUG SMF 65 ZSJ YWG 22 MAW UXP 44 SUG SMF Rysunek 5.1: Tablica identyfikatorów ENIGMY. 2 • z 30. i 53. r przechodzi na w i odwrotnie. Co do pozostałych liter, to patrzymy na odpowiednie cykle. I ostatecznie otrzymujemy P4 P1 = (a)(s)(bc)(rw)(dvpf kxgzyo)(eijmunqlht). Podobnie znajdujemy P5 P2 oraz P6 P3 . Cykle długości jeden (,,samiczki” wg żargonu Polskiego Biura Szyfrów) są najłatwiejsze: jeśli P4 P1 = α, to oznacza to, że musi istnieć β takie, że P4 β = α oraz P1 α = β. Zatem zarówno P1 jak i P4 zawierają transpozycję (as). Co do pozostałych cykli, to potrzebne nam jest pewne twierdzenie z teorii permutacji. 5.1.Twierdzenie. Załóżmy, że permutacja P zawiera 2-cykle (x1 y1 )(x2 y2 ) . . . (xk yk ) a permutacja Q zawiera 2-cykle (y1 x2 )(y2 x3 ) . . . (yk x1 ). Wówczas złożenie QP zawiera k-cykle (x1 x2 . . . xk ) oraz (yk yk−1 . . . y1 ). Zatem, jeśli 10–cykle w P4 P1 ,,zgrywają się w fazie”, to wystarczy pod pierwszym podpisać drugi w odwrotnej kolejności i wszystkie transpozycje P1 oraz P4 mamy w zasięgu ręki. Problem jednak jest w znalezieniu fazy tak dla 2- jak i dla 10-cykli. W tym celu trzeba sprawdzić 20 (= 2 · 10) przypadków. Marian Rejewski skorzystał tu ze znanego stereotypu dotyczącego Niemców: lubią oni porządek. Poza tym, mało kto potrafi wybrać na klawiaturze typowo przypadkowy układ, zwłaszcza gdy musi to robić po raz setny w ciągu dnia. W związku z tym, częstą praktyką był wybór identyfikatora aaa, bbb lub sss. W 1933 roku tego rodzaju praktyki zostały zakazane. Było już jednak za późno, ponieważ Polacy znali już dobrze ENIGMĘ. Złe zwyczaje zresztą i tak pozostały. Tym razem wybierano litery leżące obok siebie na klawiaturze: qwe, asd, qay czy cde. W rezultacie z całej tabeli identyfikatorów tylko dwa abc oraz uvw nie były po kolei na klawiaturze, ale są one po kolei w alfabecie! Kiedy znane były już identyfikatory, to dzięki nim oraz materiałom od ,,Bolka”, Różycki był w stanie skonstruować dokładną kopię ENIGMY. Do rozszyfrowania konkretnych wiadomości wiodła jednak 3 Q W A P E S Y R D X T F C Z G V U H B I J N O K M L Rysunek 5.2: Klawiatura ENIGMY. jeszcze daleka droga, zwłaszcza, że ustawienie rotorów od 1936 roku było zmieniane każdego dnia. Każde z tych ustawień było dokładnie obejrzane przez pracowników Polskiego Biura Szyfrów i w zasadzie każda przechwycona wiadomość była rozszyfrowana. 5.2 Symulator Według książki kodowej ustawiamy rotory oraz łączymy odpowiednie wtyczki. Maszyna jest gotowa do użycia. Ustawiamy położenie początkowe rotorów (pierwszy identyfikator - ABC). Następnie kodujemy dowolny trigram (AAA), co daje drugi identyfikator (JME). Ustawiamy rotory na AAA (nasz trigram) i kodujemy wiadomość, np. ENIGMAKODJEDEN. Zaszyfrowany tekst do wysłania to abc jme bikrn hozyp wjls. Aby rozszyfrować wiadomość abc jme bikrn hozyp wjls ustawiamy rotory na ABC (pierwszy identyfikator), wstukujemy JME (drugi identyfikator), co daje wiadomość AAA. Ustawiamy rotory na AAA i wstukujemy dalszą część tekstu. 4