Professional Documents
Culture Documents
Szyfry Hilla
Szyfry Hilla
2 Szyfry Hill'a
System kryptograczny, ktry rozwaymy w tym podrozdziale zosta zaproponowany przez Lester'a Hill'a w 1929 roku. System ten, jak za chwil zobaczymy sta si przeomem w kryptograi, poniewa jest to historycznie pierwszy system, ktry szyfruje wieloliterowe jednostki tekstu i nie wymaga przy tym skomplikowanego klucza.
Szyfrowanie
1. Wybieramy modulo 26.
wyglda nastpujco:
2,
p =
i wektory
Ap
1 2 . 0 3
Grupujemy najpierw nasz tekst w jednostki dwuliterowe i otrzymujemy pi wektorw
20 , 10
jemy
17 , 24
22 , 0
12 . 24
(4.3)
14 , 4
13 , 20
22 , 0
8 20
oenuwaiu.
Poniewa w opisanej powyej metodzie szyfrowania wykorzystalimy digramy jako jednostki tekstu, powysza metoda szyfrowania nazywa si 2 szyfrem Hill'a. Jeli nasz tekst podzielimy na jednostki
n-literowe
Hill'a.
i do
n n,
to otrzymamy
nszyfr
29
Uwagi.
nikw z
Z26 .
A A
musi jednak by
2) Zamiast mnoy kady wektor z (4.4) przez macierz pomnoy A przez macierz
moemy od razu
20 17 22 12 10 24 0 24
,,zoon z tych wektorw. Otrzymana macierz bdzie macierz, ktrej
Deszyfrowanie.
c=
c1 c2
jest digramem
A1 c
qilyfsnnpajguw
zaszyfrowany za
pomoc macierzy
A=
9 15 . 19 2 A
A1 =
Nastpnie mnoc mujemy
22 17 . 25 21
22 17 25 21
16 11 5 13 15 9 20 8 24 18 13 0 6 22
20 0 0 13 18 14 8 , 22 25 9 0 11 13 0
30
amanie.
toci liter.
ngramw. Okazuje si jednak, e gdy znajdziemy n odpowiadajcych bie ngramw, to bdziemy te w stanie znale i macierz deszyfrujc.
to zrobi mona wykorzysta algorytm podobny do opisanego w 4.1 algorytmu znajdywania macierzy odwrotnej. Opiszemy go, trzymajc si naszej dotychczasowej zasady, dla digramw. Dokadnie, jeli mamy wektory tekstu jawnego p1 oraz p2 oraz odpowiadajce im wektory c1 i c2 , to tworzymy cT | p T 1 1 macierz , ktrej wierszami s wsprzdne wektorw tekstu zacT | p T 2 2 szyfrowanego, po ktrych nastpuj wsprzdne odpowiadajcych im wektorw tekstu jawnego. Nastpnie przeksztacamy otrzyman macierz stosujc elementarne operacje na wierszach tak, aby po lewej stronie otrzyma macierz jednostkow. To co pojawi si po prawej stronie jest transponowan macierz deszyfrujc.
4.5.Przykad. Rozszyfrujemy wiadomo hmrzsewcrnwfnncc wiedzc, e za-
7 12
17 25
odpo-
wiadaj wektory
3 4
oraz
0 17
A1 .
tworzymy macierz mnoymy pierwszy wiersz przez
7 12 | 3 4 17 25 | 0 17 1 24 | 19 8 17 25 | 0 17 1 24 | 19 8 0 7 | 15 11 1 24 | 19 8 0 1 | 17 9 1 0 | 0 1 0 1 | 17 9
Zatem
cT | p T 1 1 cT | p T 2 2
15 = 71 ,
9 razy dodajemy pierwszy wiersz do drugiego, mnoymy drugi 1 wiersz przez 7 2 razy dodajemy drugi wiersz do pierwszego.
= 15,
A1 =
1 17 0 9
31
nego. Otrzymujemy
1 17 0 9 =
7 17 18 22 17 22 13 2 12 25 4 2 13 5 13 2
3 0 8 4 4 3 0 10 , 4 17 10 18 13 19 13 18
co nam daje tekst DEAR IKE SEND TANKS. Aby metoda amania szyfru podana w powyszym przykadzie zadziaaa, macierz zoona z digramw tekstu zaszyfrowanego (lewa strona macierzy wyjciowej) musi by macierz odwracaln. Jeli tak nie jest, nasz algorytm si w pewnym momencie urywa i po lewej stronie nie moemy otrzyma macierzy jednostkowej. Co wtedy mona zrobi? Moemy szuka innych odpowiadajcych sobie digramw. moliwoci.
4.6.Przykad. Przypumy, e przechwycilimy wiadomo wkncchssjh i
Jeli takiej moliwoci nie ma, staramy 1 si uzyska jak najwicej informacji na temat macierzy A i rozway kilka
W =
22 10 | 6 8 13 2 | 21 4
musimy zrezygnowa ze zwykej drogi. By zebra troch informacji na temat A1 stosujemy nasz algorytm modulo 13, czyli najpierw redukujemy wyrazy
W
ni
2 4 3 2
. Zatem
A1 =
gdzie macierz
2 4 + 13A1 , 3 2
jest macierz zoon z zer i jedynek (16 moliwoci). 1 Wiemy jednak, e macierz A jest odwracalna, wic jej wyznacznik musi by liczb nieparzyst. To wyklucza 10 moliwoci. Nastpnie wykorzystujemy informacj, e
A1
A1
22 13 10 2
= 1 0 1 1
6 21 , 8 4
oraz
1 1 1 1
. Pierwsza macierz
32
ga macierz daje nam wiadomo GIVE THEM UP, co prawdopodobnie jest tekstem jawnym. W naszych przykadach wykorzystalimy tylko macierze
22 i przy ama-
niu szyfrw zakadalimy, e nasz przeciwnik uywa takich wanie macierzy i alfabetu dwudziestoszecioliterowego. Jeeli uyte s macierze wyszych rozmiarw, amanie szyfrw staje si trudniejsze, ale sama procedura amania jest identyczna. Zauwamy, e zbyt due rozmiary macierzy szyfrujcej te nie s wskazane, poniewa pocztek tekstu zaszyfrowanego staje si wtedy szyfrem permutacyjnym, ktry mona zama stosujc analiz czstoci wystpowania liter.
A,
b. przez p
eby zama szyfr aniczny, wystarczy zna trzy odpowiadajce sobie digramy. Zamy, e digramom digramy
c1 , c2 i c3
p1 , p 2 i p3
p1 = A1 c1 + b p2 = A1 c2 + b p3 = A1 c3 + b .
rwna
(4.7)
p 1 p3
oraz
p2 p3
c1
c3
c2 c3
znajdujemy (4.8)
Rozdzia 5 ENIGMA
Tajemnica kodu ENIGMY zoataa zamana w 1932 roku przez Polskie Biuro Szyfrw kierowane przez Maksymiliana Cikiego. Pod jego kierunkiem pracowao trzech matematykw: Marian Rejewski, Jerzy Rycki oraz Henryk Zygalski. Dane techniczne oraz sposoby szyfrowania zostay najpierw Pod koniec 1932 roku major Gustav Bertrand Teraz przekazywane od jesieni 1931 roku wywiadowi francuzkiemu przez szpiega HansaThilo Schmidta. (pseudonim ,,Bolek) przesa te dane do Polskiego Biura Szyfrw. przysza kolej na rozszyfrowanie.
P1 ,
P 2 , P3 , P4 , P 5 , P6
i {1, 2, 3}, to z tego, e Pi a = x oraz Pi+3 a = y wynika natychmiast, e Pi+3 Pi1 x = y . Jednake 1 ENIGMA stosowaa szyfry transpozycyjne, wic Pi = Pi . Std mamy Pi+3 Pi x = y . Przyjrzyjmy si tablicy identykatorw. W permutacji P4 P1 mamy
odpowiednia litera identykatora. Wwczas, jeli
z 1.
z 35.
z 2. i 4.
przechodzi na
i odwrotnie;
34
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
AUQ BNH BCT CIK DDB EJP FBR GPB HNO HNO HXV IKG IKG IND JWF JWF KHB KHB LDR LDR MAW MAW
AMN CHL CGJ BZT VDV IPS KLE ZSV THD THD TTI JKF JKF JHU MIC MIC XJV XJV HDE HDE UXP UXP
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
NXD NXD NLU OBU PVJ QGA QGA RJL RJL RJL RJL RFC SYX SYX SYX SYX SYX SJM SJM SJM SUG SUG
QTU QTU QFZ DLZ FEG LYB LYB WPX WPX WPX WPX WQQ SCW SCW SCW SCW SCW SPO SPO SPO SMF SMF
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
TMN TMN TAA USE VII VII VQZ VQZ WTM WTM WTM WKI XRS XRS XOI XYW YPC YPC ZZY ZEF ZSJ
EBY EBY EXB NWH PZK PZK PVR PVR RAO RAO RAO RKK GNM GNM GUK GCP OSQ OSQ YRA YOC YWG
35
z 30. i 53.
przechodzi na
i odwrotnie. I ostatecznie
P4 P1 = (a)(s)(bc)(rw)(dvpf kxgzyo)(eijmunqlht).
Podobnie znajdujemy s najatwiejsze: jeli
P 5 P2
oraz
P6 P 3 .
P4 P1 = , to oznacza to, e musi istnie takie, e P1 = . Zatem zarwno P1 jak i P4 zawieraj transpozycj
cykli, to potrzebne nam jest pewne twierdzenie z
zawiera 2-cykle
zawiera 2-cykle
QP
zawiera
k -cykle (x1 x2 . . . xk )
oraz
(yk yk1 . . . y1 ).
P 4 P1
P1
oraz
P4
2 10)
Marian Rejewski skorzysta tu ze znanego stereotypu dotyczcego Niemcw: lubi oni porzdek. Poza tym, mao kto potra wybra na klawiaturze typowo przypadkowy ukad, zwaszcza gdy musi to robi po raz setny w cigu dnia. W zwizku z tym, czst praktyk by wybr identykatora
aaa,
bbb
lub
sss.
jednak za pno, poniewa Polacy znali ju dobrze ENIGM. Ze zwyczaje zreszt i tak pozostay. Tym razem wybierano litery lece obok siebie na klawiaturze: torw tylko
qwe, asd, qay czy cde. W rezultacie z caej tabeli identykadwa abc oraz uvw nie byy po kolei na klawiaturze, ale s one
Kiedy znane byy ju identykatory, to dziki nim
po kolei w alfabecie!
oraz materiaom od ,,Bolka, Rycki by w stanie skonstruowa dokadn kopi ENIGMY. Do rozszyfrowania konkretnych wiadomoci wioda jednak
36
Q A P
W S Y
E D X
R F C
T G V
Z H B
U J N
I K M
O L
jeszcze daleka droga, zwaszcza, e ustawienie rotorw od 1936 roku byo zmieniane kadego dnia. Kade z tych ustawie byo dokadnie obejrzane przez pracownikw Polskiego Biura Szyfrw i w zasadzie kada przechwycona wiadomo bya rozszyfrowana.
5.2 Symulator
Wedug ksiki kodowej ustawiamy rotory oraz czymy odpowiednie wtyczki. Maszyna jest gotowa do uycia. Ustawiamy pooenie pocztkowe rotorw (pierwszy identykator - ABC). Nastpnie kodujemy dowolny trigram (AAA), co daje drugi identykator (JME). Ustawiamy rotory na AAA (nasz trigram) i kodujemy wiadomo, np. ENIGMAKODJEDEN. Zaszyfrowany tekst do wysania to Aby rozszyfrowa wiadomo
abc jme bikrn hozyp wjls. abc jme bikrn hozyp wjls
ustawiamy rotory
na ABC (pierwszy identykator), wstukujemy JME (drugi identykator), co daje wiadomo AAA. Ustawiamy rotory na AAA i wstukujemy dalsz cz tekstu.
37