szyfry Hilla

Embed Size (px)

Citation preview

4.2 Szyfry Hill'aSystem 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.

Szyfrowanie1. Wybieramy modulo 26.

wyglda nastpujco:

22 macierz A o wspczynnikach cakowitych odwracaln 2-gramy. x yJeli liczba liter w tekcie nie jest

2. Grupujemy tekst jawny w podzielna przez

2,

dodajemy na kocu tekstu cokolwiek.

3. Kady utworzony wektor macierz

p =

tekstu jawnego mnoymy przez

A

i wektory

Ap

ustawiamy po kolei w tekst zaszyfrowany.

4.2.Przykad. Zaszyfrujemy tekst UKRYWAMY uywajc macierzy

1 2 . 0 3Grupujemy najpierw nasz tekst w jednostki dwuliterowe i otrzymujemy pi wektorw

20 , 10jemy

17 , 24

22 , 0

12 . 24

(4.3)

Po pomnoeniu tych wektorw przez nasz macierz szyfrujc otrzymu-

14 , 4

13 , 20

22 , 0

8 20oenuwaiu.

co po podstawieniu odpowiednikw literowych daje kryptotekst

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-literoweHill'a.

i do

szyfrowania uyjemy macierzy

n n,

to otrzymamy

nszyfr

29

Uwagi.

1) Nasza macierz szyfrujca

A

wcale nie musi mie wspczynMacierz

nikw z

Z26 .

Wystarczy, e po otrzymaniu wektorw zaszyfrowanego tek-

stu wemiemy ich wspczynniki modulo 26. odwracalna modulo 26.

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

kolumnami s wektory tekstu zaszyfrowanego.

Deszyfrowanie.

eby rozszyfrowa szyfr Hill'a, uywamy macierzy od-

wrotnej do macierzy szyfrujcej. Dokadnie, jeli tekstu zaszyfrowanego, to jawnego.4.4.Przykad. Rozkodujemy 2szyfr Hilla

c=

c1 c2

jest digramem

A1 c

jest odpowiadajcym mu digramem tekstu

qilyfsnnpajguw

zaszyfrowany za

pomoc macierzy

A=

9 15 . 19 2 A

Stosujc opisany w 4.1 algorytm na znalezienie macierzy odwrotnej do znajdujemy

A1 =Nastpnie mnoc mujemy

22 17 . 25 21

A1 przez macierz digramw zaszyfrowanego tekstu otrzy-

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

co daje nam tekst UWAZAJ NA SLONIA.

30

amanie.toci liter.

Szyfru Hill'a nie daje si zama stosujc metod analizy czssoBy

Co najwyej, moemy stosowa analiz czstoci wystpowania

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-

czyna si ona od sowa DEAR. Wiemy wic, e wektorom tekstu zaszyfrowanego

7 12

i

17 25

odpo-

wiadaj wektory

3 4

oraz

0 17

. Zastosujemy teraz opisany algorytm do

znalezienia macierzy deszyfrujcej

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 9Zatem

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

.

Aby otrzyma tekst jawny, mnoymy otrzyman

macierz deszyfrujc przez macierz zoon z digramw tekstu zaszyfrowa-

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

wiemy, e pierwszym sowem jest GIVE. Nasz macierz wyjciow jest

W =

22 10 | 6 8 13 2 | 21 4

.

Nie moemy wykona ju pierwszego kroku alDlatego

gorytmu, poniewa ani 22 ani 13 nie s odwracalne modulo 26.

musimy zrezygnowa ze zwykej drogi. By zebra troch informacji na temat A1 stosujemy nasz algorytm modulo 13, czyli najpierw redukujemy wyrazy

Wni

modulo 13, a nastpnie znajdujemy macierz deszyfrujc modulo 13. Jest

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 4oraz

co nam pozostawia dwie moliwoci:

1 1 1 1

. Pierwsza macierz

daje nam wiadomo GIVE GHEMHP, co odrzucamy jako nieczyteln. Dru-

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.

4.3 Aniczne przeksztacenia szyfrujceOglniejsz form szyfrowania wektora digramu (ngramu) jest pomnoenie go najpierw przez pewn macierz Zatem, jeli przez

A,

a nastpnie dodanie staego wektora

c

oznaczymy jednostk tekstu zaszyfrowanego, a

b. przez p

jednostk tekstu jawnego, to c = 1 wtedy posta p = A c b , gdzie by macierz odwracaln.

Ap + b. Przeksztacenie deszyfrujce ma b = A1 b. Zauwamy, e macierz A musi

eby zama szyfr aniczny, wystarczy zna trzy odpowiadajce sobie digramy. Zamy, e digramom digramy

c1 , c2 i c3

tekstu zaszyfrowanego odpowiadaj

p1 , p 2 i p3

tekstu jawnego. Mamy wtedy

p1 = A1 c1 + b p2 = A1 c2 + b p3 = A1 c3 + b .rwna

(4.7)

Odejmujc trzecie rwnanie od pierwszego i drugiego, otrzymujemy ukad

(p1 p3 ) = A1 (c1 c3 ) (p2 p3 ) = A1 (c2 c3 ).Teraz traktujemy

p 1 p3

oraz

p2 p3

jako digramy tekstu jawnego, a

c1

c3

i

c2 c3

jako digramy kryptogramu i stosujc algorytm opisany w 4.2

znajdujemy (4.8)

A1 . Kiedy ju znamy t macierz, z dowolnego rwnania ukadu obliczamy b .33

Rozdzia 5 ENIGMATajemnica 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.

5.1 Jak zamano szyfrCo wida byo od razu, to dwa trigramy, ktre poprzedzay duszy tekst. Marian Rejewski zaoy, e jest to identykator, ktry skada si z dwch identycznych trigramw zaszyfrowanych na dwa rne sposoby. Niech

P1 ,

P 2 , P3 , P4 , P 5 , P6

oznaczaj permutacje alfabetu, ktrymi zaszyfrowana jest

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 mamyodpowiednia litera identykatora. Wwczas, jeli

z 1.

a

przechodzi na siebie; przechodzi na siebie;

z 35.

s

z 2. i 4.

b

przechodzi na

c

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

Rysunek 5.1: Tablica identykatorw ENIGMY.

35

z 30. i 53.

r

przechodzi na

w

i odwrotnie. I ostatecznie

Co do pozostaych liter, to patrzymy na odpowiednie cykle. otrzymujemy

P4 P1 = (a)(s)(bc)(rw)(dvpf kxgzyo)(eijmunqlht).Podobnie znajdujemy s najatwiejsze: jeli

P 5 P2

oraz

P6 P 3 .

Cykle dugoci jeden (,,samiczki wg argonu Polskiego Biura Szyfrw)

P4 = oraz (as). Co do pozostaychteorii permutacji.

P4 P1 = , to oznacza to, e musi istnie takie, e P1 = . Zatem zarwno P1 jak i P4 zawieraj transpozycjcykli, to potrzebne nam jest pewne twierdzenie z

5.8.Twierdzenie. Zamy, e permutacja

P

zawiera 2-cykle

(x1 y1 )(x2 y2 ) . . . (xk yk )a permutacja

Q

zawiera 2-cykle

(y1 x2 )(y2 x3 ) . . . (yk x1 ).Wwczas zoenie

QP

zawiera

k -cykle (x1 x2 . . . xk )

oraz

(yk yk1 . . . y1 ).

Zatem, jeli 10cykle w

P 4 P1

,,zgrywaj si w fazie, to wystarczy pod Problem jednak jest w znalezieniu fazy

pierwszym podpisa drugi w odwrotnej kolejnoci i wszystkie transpozycje

P1

oraz

P4

mamy w zasigu rki.

tak dla 2- jak i dla 10-cykli. przypadkw.

W tym celu trzeba sprawdzi 20 (=

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.

W 1933 roku tego rodzaju praktyki zostay zakazane. Byo ju

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 oneKiedy 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

Rysunek 5.2: Klawiatura ENIGMY.

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 SymulatorWedug 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