Kryptografia systemy z kluczem tajnym. Kryptografia systemy z kluczem tajnym

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

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

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

Monoalfabetyczny szyfr Beauforta. omnma pvazw hcybn cibcv jzwag vmjha

Szyfry afiniczne. hczue zfuds dlcsr

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.

Elementy kryptografii Twierdzenie Halla. Pozostałe tematy. Barbara Przebieracz B. Przebieracz Pozostałe tematy

Algorytmy podstawieniowe

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Copyright by K. Trybicka-Francik 1

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.

Copyright by K. Trybicka-Francik 1

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera

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

UKŁADY RÓWNAŃ LINIOWYCH

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

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

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

13 Układy równań liniowych

Algorytmy podstawieniowe

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

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

Zarys algorytmów kryptograficznych

2. Układy równań liniowych

ŁAMIEMY SZYFR CEZARA. 1. Wstęp. 2. Szyfr Cezara w szkole. Informatyka w Edukacji, XV UMK Toruń, 2018

Przykład. Przykład. Litera Homofony C F H I M

OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE

Wybrane zagadnienia teorii liczb

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ. 1. Ciała

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

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

Równania Pitagorasa i Fermata

Analiza kongruencji. Kongruencje Wykład 3. Analiza kongruencji

Tydzień nr 9-10 (16 maja - 29 maja), Równania różniczkowe, wartości własne, funkcja wykładnicza od operatora - Matematyka II 2010/2011L

Kryptografia szyfrowanie i zabezpieczanie danych

Kryptologia przykład metody RSA

Sumy kwadratów kolejnych liczb naturalnych

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

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

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);

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

PRZELICZANIE JEDNOSTEK MIAR

Bezpieczeństwo systemów komputerowych

Grupy, pierścienie i ciała

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

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

O MACIERZACH I UKŁADACH RÓWNAŃ

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

Podstawowe struktury algebraiczne

WYRAŻENIA ALGEBRAICZNE

Arytmetyka. Działania na liczbach, potęga, pierwiastek, logarytm

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

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

Zajmijmy się najpierw pierwszym równaniem. Zapiszmy je w postaci trygonometrycznej, podstawiając z = r(cos ϕ + i sin ϕ).

1. PODSTAWY TEORETYCZNE

Łamanie szyfrów. Kryptografia w szkole podstawowej

Macierze. Rozdział Działania na macierzach

Laboratorium kryptograficzne dla licealistów 2

Matematyka dyskretna

Kryptologia(nie)stosowana

kryptografię (z gr. κρυπτός oraz γράφω gráfo pisać ), czyli gałąź wiedzy o utajnianiu wiadomości;

Od problemu żarówek do nowego systemu szyfrowania

Własności wyznacznika

Algorytmy asymetryczne

Tajna wiadomość. Scenariusz lekcji

Rijndael szyfr blokowy

Czym jest szyfrowanie?

Bezpieczeństwo danych i przykłady kryptoanalizy prostych szyfrów. Błędy szyfrowania. Typy ataku kryptoanalitycznego

(c) Oba działania mają elementy neutralne (0 dla dodawania i 1 dla mnożenia). (d) (a c b c) ab c ---

Szyfr ten w odróżnieniu od prostych szyfrów różni się tym że literę zastępuje się obrazkiem, a nie inną literą.

Algorytmy w teorii liczb

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Metoda znak-moduł (ZM)

2 Kryptografia: algorytmy symetryczne

MADE IN CHINA czyli SYSTEM RESZTOWY

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

Algorytm Euklidesa. ZADANIE 1. Oblicz korzystając z algorytmu Euklidesa: (a) NWD(120, 195), (b) NWD(80, 208), (c) NWD(36, 60, 90),

(b) (d) 3,3,2,3,3,0,0,

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Matematyka Dyskretna. Andrzej Szepietowski. 25 marca 2004 roku

Geometria w R 3. Iloczyn skalarny wektorów

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

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

I V X L C D M. Przykłady liczb niewymiernych: 3; 2

Zadanie 4.3. (0 5) Błąd bezwzględny przybliżonej wartości liczby pi, wyznaczonej z n punktów, definiujemy następująco:

wszystkich kombinacji liniowych wektorów układu, nazywa się powłoką liniową uk ładu wektorów

Pierwiastki pierwotne, logarytmy dyskretne

Bezpieczeństwo w Internecie

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Obliczenia w programie MATLAB

Zaawansowane metody numeryczne

Transkrypt:

Krótkie vademecum (słabego) szyfranta Podstawowe pojęcia: tekst jawny (otwarty) = tekst zaszyfrowany (kryptogram) alfabet obu tekstów (zwykle różny) jednostki tekstu: na przykład pojedyncza litera, digram, trigram,..., polygram. Funkcja (przekształcenie) szyfrująca (-e) f każdej jednostce tekstu otwartego przyporządkowuje jednostkę tekstu zakodowanego Funkcja (przekształcenie) deszyfrująca (-e) f 1 zakodowanego odtwarza tekstu otwarty System kryptograficzny P = f C = f 1 P. z tekstu

Podstawowe pojęcia, przykłady: pojedyncze jednostki tekstu jawnego (i zaszyfrowanego) a więc litery przekładamy na język cyfr. Digramy litery A-Z i odstęp (27 znaków). System pozycyjny o podstawie 27. Jednostki tekstu k-literowe w alfabecie z N liter numerujemy... Funkcją f na przykład dla pojedynczych liter... 26-literowy alfabet (A Z)numerujemy liczbami 0, 1, 2,..., 25 zamiast A mamy 0, zamiast B 1, zamiast... X=23, itd.

Podstawowe pojęcia, przykłady: pojedyncze jednostki tekstu jawnego (i zaszyfrowanego) a więc litery przekładamy na język cyfr. Digramy litery A-Z i odstęp (27 znaków). System pozycyjny o podstawie 27. Jednostki tekstu k-literowe w alfabecie z N liter numerujemy... Funkcją f na przykład dla pojedynczych liter... odstęp = 26; digramowi xy, gdzie x, y {0, 1, 2,..., 26} przyporządkowujemy numer 27 x + y {0, 1, 2,..., 728}. np. słowo NO to 27 13 + 14 = 365.

Podstawowe pojęcia, przykłady: pojedyncze jednostki tekstu jawnego (i zaszyfrowanego) a więc litery przekładamy na język cyfr. Digramy litery A-Z i odstęp (27 znaków). System pozycyjny o podstawie 27. Jednostki tekstu k-literowe w alfabecie z N liter numerujemy... Funkcją f na przykład dla pojedynczych liter...... liczbami od 0 do N k 1; np. dla trigramów; xyz = 27 2 x + 27 y + z x, y, z {0, 1,..., 27 3 1 = 19 682}.

Podstawowe pojęcia, przykłady: pojedyncze jednostki tekstu jawnego (i zaszyfrowanego) a więc litery przekładamy na język cyfr. Digramy litery A-Z i odstęp (27 znaków). System pozycyjny o podstawie 27. Jednostki tekstu k-literowe w alfabecie z N liter numerujemy... Funkcją f na przykład dla pojedynczych liter...... może być f(p) = P + 3 (mod 26). Jest to znany (od przeszło dwóch tysięcy lat!) kod Juliusza Cezara i stanowi szczególny przypadek kodu szyfrowania, którym jest przesunięcie C = f(p) P + b (mod N), P = f 1 (C) C b (mod N).

Podstawowe pojęcia, przykłady, c.d. Kod przesunięcia jest bardzo łatwy do złamania pod warunkiem, że odgadniemy (albo mamy dodatkowe informacje) strukturę kodu. (przesunięcie o dane b). Aby znaleźć b możemy postępować heurystycznie albo (bardziej profesjonalnie) dokonać analizy częstości. Lepszym systemem jest tzw. przekształcenie afiniczne: C = f(p) ap + b (mod N), P a 1 C + b (mod N), gdzie aa 1 1 (mod N), b = a 1 b; dodatkowo a N. Ale i ten system jest łatwo złamać. Na przykład alfabet 26 znakowy, jednostka litera z analizy częstości wynika, że najczęściej spotykaną literą jest K, a drugą w kolejności D. Odpowiada to (w tekście angielskim) literom E i T tak więc musimy tylko rozwiązać układ kongruencji:

tak więc musimy tylko rozwiązać układ kongruencji: 10a + b 4 (mod 26), 3a + b 19 (mod 26). Odejmując stronami: 7a 11 (mod 26) skąd a 9 (mod 26). Podstawiamy: b 4 10a (mod 26) 18 (mod 26). Mamy P 9C + 18 (mod 26). Nie zawsze sprawy są aż tak proste: na przykład alfabet 28-znakowy: 26 liter (0-25), spacja (26) i?(28), z analizy częstości wynika, że najczęściej spotykaną literą jest B, a drugą w kolejności?, co odpowiada spacji i E. układ kongruencji: a + b 26 (mod 28), 27a + b 4 (mod 28). Po odjęciu (i podzieleniu przez 2): a 11 (mod 14) a to oznacza, że a 11 lub 25 (mod 28). odpowiednio b 15 lub 1 (mod 28) (obie możliwości realizują to samo odwzorowanie odwrotne). Albo heurystyka, albo... trzecia kongruencja, np. jeżeli I jest trzecią co do częstości literą w kryptogramie ( T w tekście jawnym) mamy 8a + b 19 (mod 28). To wystarcza aby wybrać właściwą (pierwszą) część alternatywy.

Szyfrowanie digramów Każdą kombinację dwóch liter (łącznie z ewentualnym odstępem, lub ewentualnym uzupełnieniem nietypową literą) traktujemy jako liczbę zapisaną w postaci xn + y, gdzie x, y, {0, 1,..., N 1}. Następnie liczbę P poddajemy transformacji afinicznej: C ap + b (mod N 2 ), a N. Złamanie zaszyfrowanego digramu jest trochę bardziej skomplikowane niż złamanie szyfru jedno-literowego (przesunięcie, lub transformacja afiniczna). Znowu podstawa jest analiza częstości w języku angielskim najczęstsze digramy to TH i HE.

Szyfrowanie (digramów) przy pomocy transformacji macierzowych To dla nas sprawa dość oczywista: digram kojarzymy z wektorem o dwóch współrzędnych: ( x y), gdzie liczby x i y są określone modulo N. Na przykład w 26-literowym alfabecie A-Z wektorem digramu NO jest ( 13 14). Aby zaszyfrować naszą wiadomość poddajemy wektor-digram transformacji ( ) ( ) ( ) x a b x C = AP, to jest y =. c d y Liczymy modulo N (liczba znaków alfabetu). Dlatego wyznacznik macierzy A liczba D = ad cb nie tylko musi być różny od zera (aby istniała macierz odwrotna), ale dodatkowo D N. Tylko wtedy, będziemy mogli deszyfrować wiadomość: P = A 1 C, to jest ( ) x y = 1 ( ) ( d b x D c a y ).

W praktyce szyfrujemy nie jeden ale cały ciąg digramów na przykład NOANSWER to ( 13 0 )( 18 4 14)( 13 22)( 17), ( ) 2 3 a macierz szyfrująca to A = 7 8 ( ) ( ) 2 3 13 0 18 4 C = AP = 7 8 14 13 22 17 ( ) ( 68 39 102 59 16 13 24 7 = 203 104 302 164 21 0 16 8 (oczywiście liczymy modulo 26) Zaszyfrowany tekst to QVNAYQHI. ).

Transformacje macierzowe łamanie kodu Zakładamy, że kodujący używa macierzy 2 2; litery A-Z mają zwykłe odpowiedniki (0-25); spacja 26,? 27 i! 28. Dostaliśmy komunikat GFPYJPX?UYXSTLADPLW, ale uwaga wiemy, że uprzejma korespondentka podpisała się: KARLA. Innymi słowy: AR DP i LA LW (piąta litera jest nieprzydatna). To już wystarcza do znalezienia macierzy A, bo mamy: A ( 0 ) 11 17 0 ( ) 3 11 =, A 1 = 15 22 ( 0 11 17 0 ) ( 3 11 15 22 ) 1 = ( 21 ) 19 22 18 P = ( ) ( ) = A 1 21 19 6 15 9 26 27 24 18 11 3 11 C = 22 18 5 24 15 23 20 23 19 0 15 22 ( ) 18 17 10 26 19 13 14 28 0 1 = 19 8 4 0 26 14 13 10 17 0 czyli STRIKE AT NOON!KARLA

Transformacje macierzowe łamanie kodu Zakładamy, że kodujący używa macierzy 2 2; litery A-Z mają zwykłe odpowiedniki (0-25); spacja 26,? 27 i! 28. Dostaliśmy komunikat GFPYJPX?UYXSTLADPLW, ale uwaga wiemy, że uprzejma korespondentka podpisała się: KARLA. Innymi słowy: AR DP i LA LW (piąta litera jest nieprzydatna). To już wystarcza do znalezienia macierzy A, bo mamy: A ( 0 ) 11 17 0 ( ) 3 11 =, A 1 = 15 22 ( 0 11 17 0 ) ( 3 11 15 22 ) 1 = ( 21 ) 19 22 18 P = ( ) ( ) = A 1 21 19 6 15 9 26 27 24 18 11 3 11 C = 22 18 5 24 15 23 20 23 19 0 15 22 ( ) 18 17 10 26 19 13 14 28 0 1 = 19 8 4 0 26 14 13 10 17 0 czyli STRIKE AT NOON!KARLA Warunek: (D, N) = 1!

Jeżeli warunek D N nie jest spełniony to już nie jest tak łatwo. Na przykład: 26-literowy alfabet, tekst zaszyfrowany WKNCCHSSJH i wiemy, że pierwsze 4 litery to słowo GIVE. Podobnie jak w poprzednim przykładzie: ( ) 6 21 P = GIVE =, ( 8 4 ) 22 13 C = WKNC = A 1 = PC 1. 10 2 Wyznacznik macierzy C, det C = 18, a więc wyznacznik macierzy odwrotnej będzie miał wspólny dzielnik z N = 26 (18, 26) = 2. Możemy zredukować wszystkie macierze do modulo 13: A Ā, P P, C C, ( ) ( ) ( ) Mamy Ā 1 = P C 1 6 8 9 0 2 4 = = 8 4 10 2 3 2 Aby powrócić do modulo 26, zauważmy że do każdego wyrazu macierzy Ā 1 możemy dodać 0 lub 13, czyli ( ) A 1 2 4 = + 13AA, 3 2 gdzie macierz AA składa się wyłącznie z zer lub jedynek (16 możliwości).

Wyznacznik macierzy A 1 musi być jednak liczbą nieparzystą (ze względu na jego względną pierwszość z 26) to już redukuje liczbę możliwości do sześciu; dalsze próby z równaniem ( ) ( ) A 1 22 13 6 21 = 10 2 8 4 ( ) gdzie za A 1 2 4 podstawiamy + 13AA pokazują, że: 3 2 ( ) ( ) 1 0 1 1 AA = lub AA = ( 1 1 ) 1 1 albo A 1 15 4 = lub A 1 = 16 15 ( 15 17 16 15 Ta druga macierz daje sensowny tekst,givethemup ; (pierwsza daje GIVEGHEMHP ). )

Szyfrowanie (digramów) przy pomocy transformacji macierzowych Szyfrowanie przy pomocy macierzy istnieje także w wersji afinicznej digram-wektor P mnożymy przez macierz szyfrującą A, a następnie dodajemy pewien stały wektor B: C = A P + B, lub explicite ( ) ( ( ) ( x a b x e y = + = c d) y f) Przekształcenie odwrotne to oczywiście P = A 1 C A 1 B. ( ) ax + by + e. cx + dy + f

Szyfry wykładnicze Song Y. Yan 1976 Hellman, Pohlig; 1 Szyfr digitalizujemy, np. A B C D E F G H I J K L M 00 01 02 03 04 05 06 07 08 09 10 11 12 13 N O P Q R S T U V W X Y Z 14 15 16 17 18 19 20 21 22 23 24 25 26 2 wybieramy: liczbę pierwszą p, wykładnik e; NW D(e, p 1) = 1 i długość bloku tekstu P i < p. Dzielimy tekst na bloki każdy blok poddajemy transformacji szyfrującej C i = f(p i ) P i e (mod p) 3 Transformacja deszyfrująca to P i = f 1 (C i ) (P i e ) d P i (mod p), e d 1 (mod p 1).

Szyfry wykładnicze przykład (Song Y. Yan) tekst P = ENCRYPTION REGULATION MOVES TO A STEP CLOSER, 05 14 03 18 25 16 20 09 15 14 00 18 05 07 21 12 01 20 09 15 14 00 13 15 22 05 19 00 20 15 00 0l 00 19 20 05 16 00 03 12 15 19 05 18 0514 0318 2516 2009 1514 0018 0507 2112 0120 0915 1400 1315 2205 1900 2015 000l 0019 2005 1600 0312 1519 0518

p = 7951; e = 91. Sprawdzamy: NWM(7950, 91) = 1. 0514 0318 2516 2009 1514 0018 0507 2112 0120 0915 1400 1315 2205 1900 2015 000l 0019 2005 1600 0312 1519 0518 C 1 = 0514 91 (mod 7951) = 2174, C 2 = 0318 91 (mod 7951) = 4468, C 3 = 2516 91 (mod 7951) = 7889, C 4 = 2009 91 (mod 7951) = 6582, C 5 = 1514 91 (mod 7951) = 924, C 6 = 0018 91 (mod 7951) = 5460, C 7 = 0507 91 (mod 7951) = 7868, C 8 = 2112 91 (mod 7951) = 7319, C 9 = 0120 91 (mod 7951) = 726, C 10 = 915 91 (mod 7951) = 2890, C 11 = 1400 91 (mod 7951) = 7114, C 12 = 1315 91 (mod 7951) = 5463, C 13 = 2205 91 (mod 7951) = 5000, C 14 = 1900 91 (mod 7951) = 438, C 15 = 2015 91 (mod 7951) = 2300, C 16 = 0001 91 (mod 7951) = 1, C 17 = 0019 91 (mod 7951) = 1607, C 18 = 2005 91 (mod 7951) = 3509, C 19 = 1600 91 (mod 7951) = 7143, C 20 = 0312 91 (mod 7951) = 5648, C 21 = 1519 91 (mod 7951) = 3937, C 22 = 0518 91 (mod 7951) = 4736.

Szyfry wykładnicze przykład (Song Y. Yan), c.d tekst P = ENCRYPTION REGULATION MOVES TO A STEP CLOSER, 0514 0318 2516 2009 1514 0018 0507 2112 0120 0915 1400 1315 2205 1900 2015 000l 0019 2005 1600 0312 1519 0518 2174 4468 7889 6582 0924 5460 7868 7319 0726 2890 7114 5463 5000 0438 2300 0001 1607 3509 7143 5648 3937 5064 Transformacja deszyfrująca to P i = f 1 (C i ) (P i e ) d P i (mod p), e d 1 (mod p 1). e d 1 (mod 7951 1) d 961 (mod 7950).

2174 4468 7889 6582 0924 5460 7868 7319 0726 2890 7114 5463 5000 0438 2300 0001 1607 3509 7143 5648 3937 5064 P 1 = 2174 961 (mod 7951) = 514, P 2 = 4468 961 (mod 7951) = 318, P 3 = 7889 961 (mod 7951) = 2516, P 4 = 6582 961 (mod 7951) = 2009, P 5 = 924 961 (mod 7951) = 1514, P 6 = 5460 961 (mod 7951) = 18, P 7 = 7868 961 (mod 7951) = 507, P 8 = 7319 961 (mod 7951) = 2112, P 9 = 726 961 (mod 7951) = 120, P 10 = 2890 961 (mod 7951) = 915, P 11 = 7114 961 (mod 7951) = 1400, P 12 = 5463 961 (mod 7951) = 1315, P 13 = 5000 961. (mod 7951) = 2205, P 14 = 438 961 (mod 7951) = 1900, P 15 = 2300 961 (mod 7951) = 2015, P 16 = 1 961 (mod 7951) = 1, P 17 = 1607 961 (mod 7951) = 19, P 18 = 3509 961 (mod 7951) = 2005, P 19 = 7143 961 (mod 7951) = 1600, P 20 = 5648 961 (mod 7951) = 312, P 21 = 3937 961 (mod 7951) = 1519, P 22 = 4736 961 (mod 7951) = 518 0514 0318 2516 2009 1514 0018 0507 2112 0120 0915 1400 1315 2205 1900 2015 000l 0019 2005 1600 0312 1519 0518