You are on page 1of 7

Rozdzia 4 Macierze szyfrujce

Opiszemy system kryptograczny oparty o rachunek macierzowy. W dalszym cigu przypuszczamy, e dany jest 26literowy alfabet, w ktrym utosamiamy litery i liczby tak, jak dotychczas. Jako jednostki tekstu wybieramy digramy, czyli bloki dwuliterowe. Nasze rozumowanie moe by uoglnione na przypadek n gramw. Kady digram przedstawiamy jako wektor o dwch x wsprzdnych. Dokadnie, blok liter xy przedstawiamy jako . Na przyy 14 kad, digramowi ON odpowiada wektor . 13 Jak wiadomo, kademu wektorowi zaczepionemu w prostoktnym ukadzie wsprzdnych odpowiada punkt koca tego wektora. Zatem moemy tu wprowadzi prostoktny ukad wsprzdnych, tyle e nie bdzie to R2 , ale Z2 . Kademu digramowi odpowiada wic punkt na (skoczonej) pa26 szczynie anicznej.

4.1

Algebra liniowa modulo 26

Teraz, gdy przedstawilimy ju nasze digramy jako wektory bd punkty na paszczynie anicznej, moemy wykorzysta przeksztacenia rnowartociowe paszczyzny jako funkcje szyfrujce. W szczeglnoci moemy tu wykorzysta nasz wiedz o macierzach, jako e dowolne przeksztacenie liniowe f ma swoj reprezentacj macierzow, czyli tak macierz A, e dla dowolnego wektora X mamy f (X) = AX. Jeli f jest rnowartociowe, to odwzorowanie odwrotne do f jest reprezentowane przez macierz odwrotn do A. 1

Podamy teraz algorytm na obliczenie macierzy odwrotnej do A. Algorytm polega na tym, e ukadamy najpierw macierz (A|I), gdzie I jest macierz jednostkow, a nastpnie stosujc elementarne przeksztacenia wierszy (czyli mnoenie wiersza przez liczb i dodawanie jednego wiersza do drugiego) przeksztacamy macierz A tak aby dosta macierz jednostkow I. Gdy ju to osigniemy, macierz po prawej stronie I bdzie macierz odwrotna do A. Wykorzystamy teraz opisany algorytm, aby obliczy macierz odwrotn do 9 15 , gdzie wspczynniki s z Z26 . 19 2 9 15 | 1 0 19 2 | 0 1 1 19 | 3 0 19 2 | 0 1 1 19 | 3 0 0 5 | 21 1 1 19 | 3 0 0 1 | 25 21 1 0 | 22 17 0 1 | 25 21 formujemy macierz (A|I) mnoymy pierwszy wiersz przez 3 = 91 19 razy odejmujemy pierwszy wiersz od drugiego mnoymy drugi wiersz przez 51 = 21 19 razy odejmujemy drugi wiersz od pierwszego

Opisany algorytm mona te stosowa dla macierzy nieodwracalnej. Wtedy nie bdziemy jednak w stanie doprowadzi lewej strony do postaci macierzy jednostkowej. By nie robi nic ,,na darmo warto jest wic wiedzie, kiedy dana macierz jest odwracalna. Mwi o tym nastpujce twierdzenie. 4.1.Twierdzenie. Dla dowolnej macierzy A o wspczynnikach w Z26 nastpujce warunki s rwnowane: (i)
NWD

(det A, 26) = 1;

(ii) A ma macierz odwrotn; (iii) jeli x i y nie s jednoczenie rwne zeru, to A x y = 0 ; 0

(iv) A okrela odwzorowanie wzajemnie jednoznaczne.

4.2

Szyfry Hilla

System kryptograczny, ktry rozwaymy w tym podrozdziale zosta zaproponowany przez Lestera Hilla 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 wyglda nastpujco:


1. Wybieramy 22 macierz A o wspczynnikach cakowitych odwracaln modulo 26. 2. Grupujemy tekst jawny w 2-gramy. Jeli liczba liter w tekcie nie jest podzielna przez 2, dodajemy na kocu tekstu cokolwiek. 3. Kady utworzony wektor p = x tekstu jawnego mnoymy przez y macierz A i wektory Ap ustawiamy po kolei w tekst zaszyfrowany.

4.2.Przykad. Zaszyfrujemy tekst UKRYWAMY uywajc macierzy 1 2 . 0 3 Grupujemy najpierw nasz tekst w jednostki dwuliterowe i otrzymujemy pi wektorw 20 17 22 12 , , , . (4.3) 10 24 0 24 Po pomnoeniu tych wektorw przez nasz macierz szyfrujc otrzymujemy 14 13 22 8 , , , 4 20 0 20 co po podstawieniu odpowiednikw literowych daje kryptotekst oenuwaiu. Poniewa w opisanej powyej metodzie szyfrowania wykorzystalimy digramy jako jednostki tekstu, powysza metoda szyfrowania nazywa si 2 szyfrem Hilla. Jeli nasz tekst podzielimy na jednostki n-literowe i do szyfrowania uyjemy macierzy n n, to otrzymamy nszyfr Hilla. 3

Uwagi. 1) Nasza macierz szyfrujca A wcale nie musi mie wspczynnikw z Z26 . Wystarczy, e po otrzymaniu wektorw zaszyfrowanego tekstu wemiemy ich wspczynniki modulo 26. Macierz A musi jednak by odwracalna modulo 26. 2) Zamiast mnoy kady wektor z (4.3) przez macierz A moemy od razu pomnoy A przez macierz 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 Hilla, uywamy macierzy odc1 jest digramem c2 tekstu zaszyfrowanego, to A1 c jest odpowiadajcym mu digramem tekstu jawnego. wrotnej do macierzy szyfrujcej. Dokadnie, jeli c = 4.4.Przykad. Rozkodujemy 2szyfr Hilla qilyfsnnpajguw zaszyfrowany za pomoc macierzy A= 9 15 . 19 2

Stosujc opisany w 4.1 algorytm na znalezienie macierzy odwrotnej do A znajdujemy 22 17 A1 = . 25 21 Nastpnie mnoc A1 przez macierz digramw zaszyfrowanego tekstu otrzymujemy 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.

amanie. Szyfru Hilla nie daje si zama stosujc metod analizy czstoci liter. Co najwyej, moemy stosowa analiz czstoci wystpowania ngramw. Okazuje si jednak, e gdy znajdziemy n odpowiadajcych sobie ngramw, to bdziemy te w stanie znale i macierz deszyfrujc. By 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. Zamiemy szyfr hmrzsewcrnwfnncc wiedzc, e zaczyna si ona od sowa DEAR. 7 17 Wiemy wic, e wektorom tekstu zaszyfrowanego i odpo12 25 3 0 wiadaj wektory oraz . Zastosujemy teraz opisany algorytm do 4 17 znalezienia macierzy deszyfrujcej A1 . 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 | 1 0 0 1 | 17 9 Zatem A1 = tworzymy macierz cT | p T 1 1 cT | p T 2 2 ,

mnoymy pierwszy wiersz przez 15 = 71 , 9 razy dodajemy pierwszy wiersz do drugiego, mnoymy drugi wiersz przez 71 = 15, 2 razy dodajemy drugi wiersz do pierwszego.

1 17 . Aby otrzyma tekst jawny, mnoymy otrzyman 0 9 macierz deszyfrujc przez macierz zoon z digramw tekstu zaszyfrowa5

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. Jeli takiej moliwoci nie ma, staramy si uzyska jak najwicej informacji na temat macierzy A1 i rozway kilka moliwoci. 4.6.Przykad. Przypumy, e przechwycilimy wiadomo wkncchssjh i wiemy, e pierwszym sowem jest GIVE. Nasz macierz wyjciow jest 22 10 | 6 8 W = . Nie moemy wykona ju pierwszego kroku al13 2 | 21 4 gorytmu, poniewa ani 22 ani 13 nie s odwracalne modulo 26. Dlatego musimy zrezygnowa ze zwykej drogi. By zebra troch informacji na temat A1 stosujemy nasz algorytm modulo 13, czyli najpierw redukujemy wyrazy W modulo 13, a nastpnie znajdujemy macierz deszyfrujc modulo 13. Jest 2 4 ni . Zatem 3 2 2 4 A1 = + 13A1 , 3 2 gdzie macierz A1 jest macierz zoon z zer i jedynek (16 moliwoci). Wiemy jednak, e macierz A1 jest odwracalna, wic jej wyznacznik musi by liczb nieparzyst. To wyklucza 10 moliwoci. Nastpnie wykorzystujemy informacj, e 22 13 6 21 A1 = , 10 2 8 4 co nam pozostawia dwie moliwoci: 1 0 1 1 oraz . Pierwsza macierz 1 1 1 1 daje nam wiadomo GIVE GHEMHP, co odrzucamy jako nieczyteln. Dru6

ga macierz daje nam wiadomo GIVE THEM UP, co zapewne jest tekstem jawnym. W naszych przykadach wykorzystalimy tylko macierze 22 i przy amaniu 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.

You might also like