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