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

Podobne dokumenty
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

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

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

Metody dowodzenia twierdze«

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

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

Spis treści. Przedmowa... 9

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Semestr letni 2014/15

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

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

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

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

Copyright by K. Trybicka-Francik 1

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Copyright by K. Trybicka-Francik 1

Wybrane zagadnienia teorii liczb

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

Algorytmy asymetryczne

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

XVII Warmi«sko-Mazurskie Zawody Matematyczne

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

Zarys algorytmów kryptograficznych

1 Bª dy i arytmetyka zmiennopozycyjna

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Metodydowodzenia twierdzeń

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Liniowe zadania najmniejszych kwadratów

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Ukªady równa«liniowych

x y x y x y x + y x y

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

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Zastosowanie eliptycznych równa«ró»niczkowych

Materiaªy do Repetytorium z matematyki

Numeryczne zadanie wªasne

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

LICZBY PIERWSZE. 14 marzec Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F.

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

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

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

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Lekcja 12 - POMOCNICY

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

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

1 Metody iteracyjne rozwi zywania równania f(x)=0

Podstawy matematyki dla informatyków

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna

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.

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Protokoªy komunikacyjne

ZADANIA. Maciej Zakarczemny

Parametry systemów klucza publicznego

Statystyka matematyczna - ZSTA LMO

Wykªad 3. Funkcje skrótu

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

Lekcja 9 Liczby losowe, zmienne, staªe

Szyfrowanie RSA (Podróż do krainy kryptografii)

Wielomiany o wspóªczynnikach rzeczywistych

2. L(a u) = al( u) dla dowolnych u U i a R. Uwaga 1. Warunki 1., 2. mo»na zast pi jednym warunkiem: L(a u + b v) = al( u) + bl( v)

Przekroje Dedekinda 1

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2015/16

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

Zbiory ograniczone i kresy zbiorów

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI

CAŠKOWANIE METODAMI MONTE CARLO Janusz Adamowski

1 Kodowanie i dekodowanie

Interpolacja funkcjami sklejanymi

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Ekstremalnie fajne równania

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

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Zbiory i odwzorowania

Elementy Modelowania Matematycznego Wykªad 1 Prawdopodobie«stwo

Ukªady równa«liniowych - rozkªady typu LU i LL'

MADE IN CHINA czyli SYSTEM RESZTOWY

Transkrypt:

WST P DO KRYPTOGRAFII Grzegorz Szkibiel Jesie«2012/13

Spis tre±ci 1 Kryptograa a steganograa 5 1.1 Steganograa........................... 6 1.2 Szyfry przestawieniowe...................... 8 1.3 Systemy kryptograczne..................... 9 2 Klasyczne metody szyfrowania 12 2.1 Szyfry cykliczne.......................... 12 2.2 Monoalfabetyczny szyfr Beauforta................ 13 2.3 Kody aniczne jednowymiarowe................. 14 2.4 Permutacje alfabetu....................... 15 2.5 Analiza cz sto±ci wyst powania liter............... 16 2.6 Homofony i nulle......................... 17 2.7 Jednostki dwuliterowe czyli digramy............... 18 2.8 Szyfr Playfaira.......................... 20 2.9 Podwójny szyfr Playfaira..................... 21 2.10 szyfr Delastelle'a......................... 22 2.11 Jednostki wieloliterowe...................... 23 2.12 Szyfry polialfabetyczne...................... 23 2.13 Ša«cuch szyfrów i DES...................... 28 3 Maszyny szyfruj ce 32 3.1 Zasada dziaªania......................... 32 3.2 Jak zªamano szyfr ENIGMY................... 36 4 Macierze szyfruj ce 41 4.1 Algebra liniowa modulo N.................... 41 4.2 Szyfry Hill'a............................ 44 4.3 Aniczne przeksztaªcenia szyfruj ce............... 48 2

5 Pakowanie plecaka 50 5.1 Postawienie problemu....................... 50 5.2 Szybko rosn ce ci gi....................... 51 5.3 Kryptosystem oparty na problemie pakowania plecaka............. 53 6 Systemy z publicznym kluczem 56 6.1 Numeryczna funkcja jednokierunkowa.............. 57 6.2 Funkcje skrótu.......................... 58 6.3 poufno± i autentyczno±...................... 58 6.4 Wymiana kluczy......................... 60 6.5 2-1 funkcje jednokierunkowe................... 60 7 System RSA 62 7.1 Rozkªad liczb na czynniki.................... 62 7.2 Liczby wybrane losowo...................... 63 7.3 Zasada dziaªania systemu RSA................. 64 7.4 Wpadka systemowa wspólny moduª............... 65 7.5 Wpadka systemowa niski wykªadnik............... 65 8 Teorio-liczbowe podstawy RSA 67 8.1 Systemy pozycyjne........................ 67 8.2 Iterowane podnoszenie do kwadratu............... 69 8.3 Twierdzenie Eulera i Maªe Twierdzenie Fermata.................... 69 8.4 liczby pseudo-pierwsze...................... 71 8.5 Chi«skie twierdzenie o resztach................. 74 8.6 Kongruencje stopnia 2...................... 77 8.7 Gra w orªa i reszk przez telefon................. 80 9 Zastosowania arytmetyki modulo m do rozkªadu liczb 83 9.1 Wzory skróconego mno»enia................... 83 9.2 Metoda ρ rozkªadu na czynniki................. 85 9.3 Metoda faktoryzacji Fermata................... 87 9.4 Bazy rozkªadu........................... 88 3

10 Logarytm dyskretny 92 10.1 Poj cie logarytm dyskretny................... 92 10.2 System DiegoHellmana uzgadniania klucza........................ 93 10.3 System kryptograczny Masseya-Omury............ 95 10.4 System ElGamala......................... 96 11 Protokoªy o zerowej wiedzy i przekazy nierozró»nialne 97 11.1 Kolorowanie mapy........................ 97 11.2 Logarytm dyskretny....................... 99 11.3 Przekazy nierozró»nialne..................... 100 11.4 Dowód faktoryzacji........................ 102 4

Rozdziaª 7 System RSA Przy poszukiwaniu funkcji jednokierunkowej f, któr chcemy zastosowa w systemie o kluczu publicznym, chcemy u»y pomysªu wzgl dnie prostego do zastosowania. Z drugiej strony chcemy mie pewno±,»e znalezienie f 1 nie b dzie ªatwe. Potrzebujemy wi c silnych dowodów empirycznych, których mo»e dostarczy nam historia poszukiwa«takiej funkcji. 7.1 Rozkªad liczb na czynniki System RSA (Rivest Shamir Adleman), który tu przedstawimy, oparty jest na problemie znalezienia rozkªadu liczby zªo»onej na czynniki pierwsze. Funkcj jednokierunkow jest tu funkcja okre±lona w zbiorze par liczb pierwszych o warto±ciach w zbiorze liczb naturalnych. Na przykªad, pomno-»enie dwóch dwu-cyfrowych liczb pierwszych, powiedzmy 23 i 47 nie powinno sprawi nam wi kszego problemu. Natomiast pytanie o rozkªad liczby 2047 (wiemy,»e jest ona iloczynem dwóch dwu-cyfrowych liczb pierwszych) jest trudne. Przypomnijmy,»e funkcj Eulera ϕ(n) nazywamy moc zbioru liczb dodatnich wzgl dnie pierwszych z n. Zauwa»my,»e je±li n = pq, gdzie p oraz q s liczbami pierwszymi, to znajomo± warto±ci funkcji Eulera ϕ(n) = n+1 p q jest równowa»na znajomo±ci liczb p i q. Istotnie, je±li znamy n, p oraz q, bez problemu mo»emy obliczy n + 1 p q. Je»eli natomiast znamy n oraz ϕ(n), to znamy te» n = pq oraz n + 1 ϕ(n) = p + q i»eby obliczy p oraz q, rozwi zujemy w miar prosty ukªad równa«stopnia drugiego. W przypadku systemu RSA, kluczem jawnym jest (n, e), gdzie n jest ilo- 62

czynem dwóch liczb pierwszych, a e jest liczb wzgl dnie pierwsz z ϕ(n). Kluczem tajnym jest natomiast (n, d), gdzie d jest liczb odwrotn do e modulo ϕ(n). Znajomo± rozkªadu liczby n oraz liczba ϕ(n) nie s potrzebne do szyfrowania ani do deszyfrowania, wi c lepiej o nich zapomnie. Najpopularniejsz metod ªamania RSA jest wªa±nie znajdywanie rozkªadu liczby n. 7.2 Liczby wybrane losowo Nast pnym krokiem jest tu wygenerowanie klucza. Potrzebna do tego s losowe liczby pierwsze p oraz q i liczba losowa spomi dzy 1 i φ(pq). Gdy mówimy o liczbie losowej, mamy na my±li liczb wybran przez pewien generator liczb losowych b d¹ pseudolosowych. Tym generatorem jest maszyna, która generuje ci g liczb tak, aby nikt nie mógª przewidzie jaka jest nast pna liczba w ci gu, ani sam generator nie byª w stanie powtórzy wygenerowanego wcze±niej ci gu. Nie zale»y nam tutaj, aby wykorzysta najwi ksze znane liczby pierwsze, poniewa» te s szybko znalezione przez postronnego intruza. Aby otrzyma losow liczb pierwsz, najpierw generujemy liczb m (im wi ksz tym lepiej). Je±li oka»e si ona liczb parzyst zast pimy j przez m + 1. Nast pnie zastosujemy odpowiednie testy pierwszo±ci, aby zobaczy, czy m jest pierwsza. Je±li nie, zast pujemy j przez m+2, m+4 itd., a» znajdziemy w ko«cu liczb pierwsz. Poniewa» prawdopodobie«stwo znalezienia liczby pierwszej w pobli»u losowo wybranej liczby m wynosi 1/ ln m, mo»emy si spodziewa,»e po przetestowaniu okoªo ln m liczb tramy na liczb pierwsz. Podobnie szukamy liczby losowej e, która jest wzgl dnie pierwsza z φ(n). Wspomniane testy pierwszo±ci opieraj si najcz ±ciej na Maªym Twierdzeniu Fermata oraz na liczbach pseudopierwszych. 7.1 Twierdzenie. (Maªe Twierdzenie Fermata) Je±li p jest liczb pierwsz oraz a p, to a p 1 1 (mod p). Liczb pseudopierwsz o podstawie a nazywamy tak liczb zªo»on n, dla której a n 1 1 (mod n). W przeciwie«stwie do liczb pierwszych, liczby pseudopierwsze s znacznie trudniejsze do znalezienia. Najmniejsz liczb pseudopierwsz o podstawie 2 jest 341, a o podstawie 3, 91. 63

7.3 Zasada dziaªania systemu RSA Ka»dy u»ytkownik wybiera dwie liczby pierwsze p oraz q, oraz liczb losow e, która jest wzgl dnie pierwsza z ϕ(pq). Niech n = pq, e < φ(n) (mo»na wzi liczb e modulo φ(n)) oraz d = e 1 (mod ϕ(n)). Kluczem szyfruj cym jest K E = (n, e). Mo»na go poda do publicznej wiadomo±ci. Natomiast kluczem rozszyfrowuj cym jest K D = (n, d). Ten klucz lepiej jest zachowa w tajemnicy tak jak liczby p, q oraz ϕ(n). Przeksztaªceniem szyfruj cym jest funkcja f : Z n Z n okre±lona wzorem f(p ) P e (mod n). Przeksztaªceniem deszyfruj cym jest funkcja f 1 odwrotna do f i okre±lona wzorem f 1 (C) C d (mod n). Pozostaje jeszcze wyja±ni, jakie jednostki tekstu b dziemy u»ywa. Chodzi tu przede wszystkim o to, aby ka»dy u»ytkownik systemu u»ywaª tych samych jednostek. Zaªó»my wi c,»e teksty jawne i zaszyfrowane b d zapisane za pomoc tego samego alfabetu licz cego N symboli. Wybieramy liczby k i l tak, aby N k < n < N l. Jako jednostki tekstu jawnego we¹miemy bloki po k liter, które b dziemy traktowali jako liczby kcyfrowe w systemie o podstawie N. Podobnie, jednostkami zaszyfrowanymi b d bloki po l liter. Zatem ka»dy blok tekstu zaszyfrowanego ma przypisan warto± liczbow mi dzy 0 i N l 1. 7.2 Przykªad. Przyjmiemy N = 26, k = 3 i l = 4. Zatem jednostki tekstu jawnego s trigramami, a jednostki tekstu zaszyfrowanego tetragramami. Chcemy przesªa wiadomo± TAK do u»ytkownika A, który ma klucz szyfruj cy (46927, 39423). W tym celu szukamy najpierw odpowiednika liczbowego sªowa TAK. Jest to 19 26 2 + 0 26 + 10 = 12854. Nast pnie obliczamy 12854 39423 mod 46927 otrzymuj c w wyniku 14251 = 0 26 3 + 21 26 2 + 2 26 + 3, a to daje nam kryptotekst avbc. Tym samym kluczem zaszyfrowano inny tekst uzyskuj c kryptogram bc. Czy jeste± w stanie odtworzy tekst jawny? Adresat ma swój klucz rozszyfrowuj cy (46927, 26767), który pozwala mu obliczy 14251 26767 mod 46927 = 12854, a to mu daje sªowo TAK. U»ytkownik systemu RSA z powy»szego przykªadu wygenerowaª swoje klucze u»ywaj c liczb pierwszych 281 i 167. Oczywi±cie u»yli±my tutaj bardziej,,wyobra»alne liczby ni» to si zwykle stosuje. Normalnie, liczby k i l s tak dobrane, aby N k miaªo nie mniej ni» 200 cyfr dziesi tnych. eby podnie± du» liczb do du»ej pot gi stosujemy algorytm iterowanego podnoszenia do kwadratu. Zajmuje on, O(log 3 n) operacji na bitach. 64

7.4 Wpadka systemowa wspólny moduª Przypu± my,»e dwóch u»ytkowników u»ywa tego samego moduªu n, tzn. maj oni klucze (publiczne) postaci (n, e 1 ) oraz (n, e 2 ). Je±li ta sama wiadomo± jest wysªana do obu u»ytkowników, to mo»na j rozszyfrowa bez znajomo±ci klucza rozszyfruj cego pod warunkiem,»e e 1 oraz e 2 s wzgl dnie pierwsze. Dokªadnie, je±li znamy m e 1 modn oraz m e 2 modn oraz zachodzi NWD(e 1, e 2 ) = 1, to istniej liczby caªkowite x, y takie,»e e 1 x + e 2 y = 1. Zatem (m e 1 ) x (m e 2 ) y = m e 1x+e 2 y modn = m. Dla przykªadu przypu± my,»e n = 5038301, e 1 = 787, e 2 = 6785. Tekst jawny dzielimy tu na trigramy, które przechodz w 5gramy. Zaªó»my,»e przechwycili±my teksty HOTIT oraz EOXNS. U»ywaj c algorytmu Euklidesa dostajemy 888e 1 103e 2 = 1. przechwycone 5gramy odpowiadaj liczbom 3457967 oraz 2089872. Obliczamy zatem 3457967 888 2089872 103 mod 5038301 = 4458054 999321 mod 5038301 = 11502, a to daje wiadomo± jawn rak. 7.5 Wpadka systemowa niski wykªadnik Zaªó»my,»e k u»ytkowników posiada w kluczu ten sam wykªadnik, który jest mniejszy od k, tj. ich klucze publiczne to (n 1, e), n 2, e),..., (n k, e), gdzie e < k. Przypu± my,»e do wszystkich k u»ytkowników zostaªa wysªana ta sama wiadomo± m. Zatem do itego u»ytkownika dociera wiadomo± y i = m e mod n i. Poniewa» m < n i oraz e < k, wi c m e < n 1 n 2... n k. U»ywaj c chi«skiego twierdzenia o resztach rozwi zujemy ukªad kongruencji Y y i (mod n i ) gdzie 1 i k. Na podstawie tego» twierdzenia istnieje dokªadnie jedno rozwi zanie modulo n 1 n 2... n k takiego ukªadu kongruencji je±li liczby n 1, n 2,..., n k s wzgl dnie pierwsze. W tym wypadku mamy m e = Y i»eby obliczy m wystarczy wzi zwykªy pierwiastek stopnia e z Y. 65

Rozwa»my dla przykªadu e = 3 oraz n 1 = 2881, n 2 = 2867, n 3 = 3127. Szyfrujemy tu digramy tekstu, a tekst zaszyfrowany skªada si z trigramów. Przypu± my,»e przechwycili±my wiadomo±ci BZG, BGX oraz CDZ wysªane do naszych trzech u»ytkowników. Wiadomo±ciom tym odpowiadaj liczby 1332, 855 oraz 1455. Wiemy te»,»e wszystkie trzy kryptogramy to jest ta sama wiadomo± jawna. U»ywaj c chi«skiego twierdzenia o resztach, rozwi zujemy ukªad kongruencji Y 1332 (mod 2881) Y 855 (mod 2867) Y 1455 (mod 3127) otrzymuj c Y = m 3 = 211708736. Pierwiastek sze±cienny z tej ostatniej liczby wynosi 596, czyli tekstem jawnym jest wy. 66