Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

Podobne dokumenty
Kryptografia systemy z kluczem tajnym. Kryptografia systemy z kluczem tajnym

3. Macierze i Układy Równań Liniowych

Układy równań i nierówności liniowych

0 + 0 = 0, = 1, = 1, = 0.

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

2. Układy równań liniowych

13 Układy równań liniowych

1 Układy równań liniowych

Szyfry afiniczne. hczue zfuds dlcsr

WST P DO KRYPTOGRAFII. Grzegorz Szkibiel. Jesie«2012/13

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Baza w jądrze i baza obrazu ( )

Macierze. Rozdział Działania na macierzach

Układy równań liniowych. Ax = b (1)

5. Rozwiązywanie układów równań liniowych

Układy równań liniowych i metody ich rozwiązywania

UKŁADY RÓWNAŃ LINIOWYCH

O MACIERZACH I UKŁADACH RÓWNAŃ

Wykład 14. Elementy algebry macierzy

Algebra liniowa. 1. Macierze.

Przekształcenia liniowe

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

1 Zbiory i działania na zbiorach.

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

1 Macierz odwrotna metoda operacji elementarnych

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Układy równań liniowych

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

, A T = A + B = [a ij + b ij ].

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Krystalochemia białek 2016/2017

3. Wykład Układy równań liniowych.

Wykład 7 Macierze i wyznaczniki

Rozwiązywanie układów równań liniowych

Funkcje i tabele. Paweł Bednarz 29 marca Funkcje Funckja liniowa Własności funkcji liniowej Funkcja kwadratowa...

Analiza matematyczna i algebra liniowa Macierze

Układy równań liniowych

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Rijndael szyfr blokowy

Zastosowania wyznaczników

Projekt AS KOMPETENCJI jest współfinansowany przez Unię Europejską w ramach środków Europejskiego Funduszu Społecznego

φ(x 1,..., x n ) = a i x 2 i +

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

DB Algebra liniowa semestr zimowy 2018

Grupy, pierścienie i ciała

Odwrócimy macierz o wymiarach 4x4, znajdującą się po lewej stronie kreski:

1. Wykład NWD, NWW i algorytm Euklidesa.

Zaawansowane metody numeryczne

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Algebra liniowa z geometrią

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze

Geometria w R 3. Iloczyn skalarny wektorów

Wykład 5. Metoda eliminacji Gaussa

Metody i analiza danych

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

MACIERZE I WYZNACZNIKI

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u

Układy równań liniowych

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Krótkie wprowadzenie do macierzy i wyznaczników

Algebra. macierzy brzegowych z zastosowaniami. Micha Kolupa Zbigniew Âleszyƒski

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Zestaw 12- Macierz odwrotna, układy równań liniowych

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

Algebra liniowa II. Lista 1. 1 u w 0 1 v 0 0 1

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Od problemu żarówek do nowego systemu szyfrowania

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Ekoenergetyka Matematyka 1. Wykład 3.

Matematyka stosowana i metody numeryczne

Liczby zespolone. x + 2 = 0.

1 Przestrzeń liniowa. α 1 x α k x k = 0

4 Przekształcenia liniowe

1. Liczby zespolone i

Formy kwadratowe. Rozdział 10

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S.

Matematyka dyskretna

Matematyka dyskretna

KMO2D. Kolizje między-obiektowe w 2D

UKŁADY RÓWNAŃ LINIOWYCH - Metody dokładne

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

9 Układy równań liniowych

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

PRZEKSZTAŁCANIE WZORÓW!

Transkrypt:

Rozdział 4 Macierze szyfrujące Opiszemy system kryptograficzny oparty o rachunek macierzowy. W dalszym ciągu przypuszczamy, że dany jest 26 literowy alfabet, w którym utożsamiamy litery i liczby tak, jak dotychczas. Jako jednostki tekstu wybieramy digramy, czyli bloki dwuliterowe. Nasze rozumowanie może być uogólnione na przypadek n gramów. Każdy digram przedstawiamy jako wektor o dwóch x współrzędnych. Dokładnie, blok liter xy przedstawiamy jako. Na przykład, digramowi ON odpowiada wektor. y 14 13 Jak wiadomo, każdemu wektorowi zaczepionemu w prostokątnym układzie współrzędnych odpowiada punkt końca tego wektora. Zatem możemy tu wprowadzić prostokątny układ współrzędnych, tyle że nie będzie to R 2, ale Z 2 26. Każdemu digramowi odpowiada więc punkt na (skończonej) płaszczyźnie afinicznej. 4.1 Algebra liniowa modulo 26 Teraz, gdy przedstawiliśmy już nasze digramy jako wektory bądź punkty na płaszczyźnie afinicznej, możemy wykorzystać przekształcenia różnowartościowe płaszczyzny jako funkcje szyfrujące. W szczególności możemy tu wykorzystać naszą wiedzę o macierzach, jako że dowolne przekształcenie liniowe f ma swoją reprezentację macierzową, czyli taką macierz A, że dla dowolnego wektora X mamy f(x) = AX. Jeśli f jest różnowartościowe, 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 układamy najpierw macierz (A I), gdzie I jest macierzą jednostkową, a następnie stosując elementarne przekształcenia wierszy (czyli mnożenie wiersza przez liczbę i dodawanie jednego wiersza do drugiego) przekształcamy macierz A tak aby dostać macierz jednostkową I. Gdy już to osiągniemy, macierzą po prawej stronie I będzie macierz odwrotna do A. Wykorzystamy teraz opisany algorytm, aby obliczyć macierz odwrotną do ( 9 15 19 2 ), gdzie współczynniki są z Z 26. 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) mnożymy pierwszy wiersz przez 3 = 9 1 19 razy odejmujemy pierwszy wiersz od drugiego mnożymy drugi wiersz przez 5 1 = 21 19 razy odejmujemy drugi wiersz od pierwszego Opisany algorytm można też stosować dla macierzy nieodwracalnej. Wtedy nie będziemy jednak w stanie doprowadzić lewej strony do postaci macierzy jednostkowej. By nie robić nic,,na darmo warto jest więc wiedzieć, kiedy dana macierz jest odwracalna. Mówi o tym następujące twierdzenie. 4.1.Twierdzenie. Dla dowolnej macierzy A o współczynnikach w Z 26 następujące warunki są równoważne: (i) NWD(det A, 26) = 1; (ii) A ma macierz odwrotną; (iii) jeśli x i y nie są jednocześnie równe zeru, to A x y (iv) A określa odwzorowanie wzajemnie jednoznaczne. 0 ; 0 2

4.2 Szyfry Hill a System kryptograficzny, który rozważymy w tym podrozdziale został zaproponowany przez Lester a Hill a w 1929 roku. System ten, jak za chwilę zobaczymy stał się przełomem w kryptografii, ponieważ jest to historycznie pierwszy system, który szyfruje wieloliterowe jednostki tekstu i nie wymaga przy tym skomplikowanego klucza. Szyfrowanie wygląda następująco: 1. Wybieramy 2 2 macierz A o współczynnikach całkowitych odwracalną modulo 26. 2. Grupujemy tekst jawny w 2-gramy. Jeśli liczba liter w tekście nie jest podzielna przez 2, dodajemy na końcu tekstu cokolwiek. x 3. Każdy utworzony wektor p = tekstu jawnego mnożymy przez y macierz A i wektory Ap ustawiamy po kolei w tekst zaszyfrowany. 4.2.Przykład. Zaszyfrujemy tekst UKRYWAMY używając macierzy 1 2. 0 3 Grupujemy najpierw nasz tekst w jednostki dwuliterowe i otrzymujemy pięć wektorów 20 17 22 12,,,. (4.3) 10 24 0 24 Po pomnożeniu tych wektorów przez naszą macierz szyfrującą otrzymujemy 14 13 22 8,,, 4 20 0 20 co po podstawieniu odpowiedników literowych daje kryptotekst oenuwaiu. Ponieważ w opisanej powyżej metodzie szyfrowania wykorzystaliśmy digramy jako jednostki tekstu, powyższa metoda szyfrowania nazywa się 2 szyfrem Hill a. Jeśli nasz tekst podzielimy na jednostki n-literowe i do szyfrowania użyjemy macierzy n n, to otrzymamy n szyfr Hill a. 3

Uwagi. 1) Nasza macierz szyfrująca A wcale nie musi mieć współczynników z Z 26. Wystarczy, że po otrzymaniu wektorów zaszyfrowanego tekstu weźmiemy ich współczynniki modulo 26. Macierz A musi jednak być odwracalna modulo 26. 2) Zamiast mnożyć każdy wektor z (4.3) przez macierz A możemy od razu pomnożyć A przez macierz ( 20 17 22 ) 12 10 24 0 24,,złożoną z tych wektorów. Otrzymana macierz będzie macierzą, której kolumnami są wektory tekstu zaszyfrowanego. Deszyfrowanie. Żeby rozszyfrować szyfr Hill a, używamy macierzy odwrotnej do macierzy szyfrującej. Dokładnie, jeśli c = jest c1 digramem tekstu zaszyfrowanego, to A 1 c jest odpowiadającym mu digramem tekstu jawnego. 4.4.Przykład. Rozkodujemy 2 szyfr Hilla qilyfsnnpajguw zaszyfrowany za pomocą macierzy 9 15 A =. 19 2 Stosując opisany w 4.1 algorytm na znalezienie macierzy odwrotnej do A znajdujemy 22 17 A 1 =. 25 21 Następnie mnożąc A 1 przez macierz digramów zaszyfrowanego tekstu otrzymujemy 22 17 16 11 5 13 15 9 20 25 21 8 24 18 13 0 6 22 co daje nam tekst UWAZAJ NA SLONIA. = c 2 20 0 0 13 18 14 8, 22 25 9 0 11 13 0 4

Łamanie. Szyfru Hill a nie daje się złamać stosując metodę analizy częstości liter. Co najwyżej, możemy stosować analizę częstości występowania n gramów. Okazuje się jednak, że gdy znajdziemy n odpowiadających sobie n gramów, to będziemy też w stanie znaleźć i macierz deszyfrującą. By to zrobić można wykorzystać algorytm podobny do opisanego w 4.1 algorytmu znajdywania macierzy odwrotnej. Opiszemy go, trzymając się naszej dotychczasowej zasady, dla digramów. Dokładnie, jeśli mamy wektory tekstu jawnego ( p 1 oraz) p 2 oraz odpowiadające im wektory c 1 i c 2, to tworzymy c T macierz 1 p T 1 c T 2 p T, której wierszami są współrzędne wektorów tekstu zaszyfrowanego, po których następują współrzędne odpowiadających im wek- 2 torów tekstu jawnego. Następnie przekształcamy otrzymaną macierz stosując elementarne operacje na wierszach tak, aby po lewej stronie otrzymać macierz jednostkową. To co pojawi się po prawej stronie jest transponowaną macierzą deszyfrującą. 4.5.Przykład. Złamiemy szyfr hmrzsewcrnwfnncc wiedząc, że zaczyna się ona od słowa DEAR. 7 17 Wiemy więc, że wektorom tekstu zaszyfrowanego i odpowiadają wektory oraz. Zastosujemy teraz opisany algorytm do 12 25 3 0 4 17 znalezienia macierzy deszyfrującej A 1. 7 12 3 4 ( c T tworzymy macierz 1 p T 1 17 25 0 17 c T 2 p T 2 1 24 19 8 mnożymy pierwszy 17 25 0 17 wiersz przez 15 = 7 1, 1 24 19 8 9 razy dodajemy 0 7 15 11 pierwszy wiersz do drugiego, 1 24 19 8 mnożymy drugi 0 1 17 9 wiersz przez 7 1 = 15, 1 0 1 0 2 razy dodajemy 0 1 17 9 drugi wiersz do pierwszego. 1 17 Zatem A 1 =. Aby otrzymać tekst jawny, mnożymy otrzymaną 0 9 macierz deszyfrującą przez macierz złożoną z digramów tekstu zaszyfrowa- 5 ),

nego. Otrzymujemy ( 1 ) ( 17 7 17 18 22 17 22 13 ) 2 0 9 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 powyższym przykładzie zadziałała, macierz złożona z digramów tekstu zaszyfrowanego (lewa strona macierzy wyjściowej) musi być macierzą odwracalną. Jeśli tak nie jest, nasz algorytm się w pewnym momencie urywa i po lewej stronie nie możemy otrzymać macierzy jednostkowej. Co wtedy można zrobić? Możemy szukać innych odpowiadających sobie digramów. Jeśli takiej możliwości nie ma, staramy się uzyskać jak najwięcej informacji na temat macierzy A 1 i rozważyć kilka możliwości. 4.6.Przykład. Przypuśćmy, że przechwyciliśmy wiadomość wkncchssjh i wiemy, ( że pierwszym słowem ) jest GIVE. Naszą macierzą wyjściową jest 22 10 6 8 W =. Nie możemy wykonać już pierwszego kroku algorytmu, ponieważ ani 22 ani 13 nie są odwracalne modulo 26. Dlatego 13 2 21 4 musimy zrezygnować ze zwykłej drogi. By zebrać trochę informacji na temat A 1 stosujemy nasz algorytm modulo 13, czyli najpierw redukujemy wyrazy W modulo 13, a następnie znajdujemy macierz deszyfrującą modulo 13. Jest 2 4 nią. Zatem 3 2 2 4 A 1 = + 13A 3 2 1, gdzie macierz A 1 jest macierzą złożoną z zer i jedynek (16 możliwości). Wiemy jednak, że macierz A 1 jest odwracalna, więc jej wyznacznik musi być liczbą nieparzystą. To wyklucza 10 możliwości. Następnie wykorzystujemy informację, że 22 13 6 21 A 1 =, 10 2 8 4 1 0 1 1 co nam pozostawia dwie możliwości: oraz. Pierwsza macierz 1 1 1 1 daje nam wiadomość GIVE GHEMHP, co odrzucamy jako nieczytelną. Dru- 6

ga macierz daje nam wiadomość GIVE THEM UP, co zapewne jest tekstem jawnym. W naszych przykładach wykorzystaliśmy tylko macierze 2 2 i przy łamaniu szyfrów zakładaliśmy, że nasz przeciwnik używał takich właśnie macierzy i alfabetu dwudziesto sześcio literowego. Jeżeli użyte są macierze wyższych rozmiarów, łamanie szyfrów staje się trudniejsze, ale sama procedura łamania jest identyczna. Zauważmy, że zbyt duże rozmiary macierzy szyfrującej też nie są wskazane, ponieważ początek tekstu zaszyfrowanego staje się wtedy szyfrem permutacyjnym, który można złamać stosując analizę częstości występowania liter. 7