Spis treści. Przedmowa... 9

Podobne dokumenty
Elementy teorii liczb i kryptografii Elements of Number Theory and Cryptography. Matematyka Poziom kwalifikacji: II stopnia

Bezpieczeństwo systemów komputerowych

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

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Copyright by K. Trybicka-Francik 1

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

Matematyka dyskretna

Copyright by K. Trybicka-Francik 1

Matematyka dyskretna

Kierunek i poziom studiów: Sylabus modułu: Wstęp do algebry i teorii liczb (03-M01N-WATL) Nazwa wariantu modułu (opcjonalnie): -

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

Wybrane zagadnienia teorii liczb

Liczby pierwsze wielomianowo - ekstremalnie trudne?

1. Informacje ogólne. 2. Opis zajęć dydaktycznych i pracy studenta. wykład

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

Parametry systemów klucza publicznego

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

Matematyka dyskretna

Matematyka dyskretna

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

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

Matematyka dyskretna

Zarys algorytmów kryptograficznych

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017

Opis efektów kształcenia dla modułu zajęć

Podstawy systemów kryptograficznych z kluczem jawnym RSA

a)wykaż,żejeżeli2 n 1jestliczbapierwszą,to2 n 1 (2 n 1)jestliczbądoskonałą.

Współczesna kryptografia schematy bazujące na parowaniu punktów krzywej eliptycznej

PRZEWODNIK PO PRZEDMIOCIE

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

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

Analiza kongruencji. Kongruencje Wykład 3. Analiza kongruencji

1.1. Rachunek zdań: alternatywa, koniunkcja, implikacja i równoważność zdań oraz ich zaprzeczenia.

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Matematyka dyskretna

Ciała skończone. 1. Ciała: podstawy

Zestaw 2. Definicje i oznaczenia. inne grupy V 4 grupa czwórkowa Kleina D n grupa dihedralna S n grupa symetryczna A n grupa alternująca.

Recenzje. Johannes A. Buchmann, Wprowadzenie do kryptografii, przekład W. Guzicki, Wydawnictwo Naukowe PWN SA, Warszawa 2006, str.

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

KARTA KURSU. Kod Punktacja ECTS* 6. Znajomość podstaw logiki, teorii mnogości i algebry liniowej.

Matematyka dyskretna

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

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

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

RAMOWY ROZKŁAD MATERIAŁU Z MATEMATYKI DLA KLAS I-III LICEUM OGÓLNOKSZTAŁCĄCEGO PRZY CKU NR 1

Algorytmy asymetryczne

Zagadnienia na egzamin licencjacki

Zegar ten przedstawia reszty z dzielenia przez 6. Obrazuje on jak kolejne liczby można przyporządkować do odpowiednich pokazanych na zegarze grup.

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych

Dział Rozdział Liczba h

2 Kryptografia: algorytmy symetryczne

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Program zajęć pozalekcyjnych z matematyki poziom rozszerzony- realizowanych w ramach projektu Przez naukę i praktykę na Politechnikę

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

Zagadnienia na egzamin poprawkowy z matematyki - klasa I 1. Liczby rzeczywiste

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

Zadanie 2: Kryptosystem Rabina

Rozkład materiału z matematyki dla II klasy technikum zakres podstawowy I wariant (38 tyg. 2 godz. = 76 godz.)

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Szyfrowanie RSA (Podróż do krainy kryptografii)

Badanie pierwszości liczby, klasa NP i test Rabina

Problem logarytmu dyskretnego i protokół Diffiego-Hellmana. Mateusz Paluch

Przedmiotowe Ocenianie Z Matematyki Liceum Ogólnokształcące obowiązuje w roku szkolnym 2016 / 2017

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

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

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

MATeMAtyka klasa II poziom rozszerzony

Rok akademicki: 2016/2017 Kod: AMA s Punkty ECTS: 7. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Równania wielomianowe

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ

Kryptografia. Wykład z podstaw klasycznej kryptografii z elementami kryptografii kwantowej. dla studentów IV roku. Ryszard Tanaś

Kryptologia przykład metody RSA

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

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9

83 Przekształcanie wykresów funkcji (cd.) 3

Propozycja szczegółowego rozkładu materiału dla 4-letniego technikum, zakres podstawowy i rozszerzony. Klasa I (90 h)

Bezpieczeństwo danych i systemów informatycznych. Wykład 5

Spis treści. Od Wydawcy

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Pakiet edukacyjny do nauki przedmiotów ścisłych i kształtowania postaw przedsiębiorczych

Matematyka z kluczem. Układ treści w klasach 4 8 szkoły podstawowej. KLASA 4 (126 h) część 1 (59 h) część 2 (67 h)

Matematyka z kluczem. Układ treści w klasach 4 8 szkoły podstawowej. KLASA 4 (126 h) część 1 (59 h) część 2 (67 h)

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

MATEMATYKA ZP Ramowy rozkład materiału na cały cykl kształcenia

Kongruencje pierwsze kroki

Kształcenie w zakresie podstawowym. Klasa 1

PROGRAM KLASY Z ROZSZERZONĄ MATEMATYKĄ

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera

W planie dydaktycznym założono 172 godziny w ciągu roku. Treści podstawy programowej. Propozycje środków dydaktycznych. Temat (rozumiany jako lekcja)

Zadania z algebry liniowej - sem. I Struktury algebraiczne

Wprowadzenie ciag dalszy

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

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p.

Przedmiotowe Ocenianie Z Matematyki - Technikum. obowiązuje w roku szkolnym 2016 / 2017

07_Matematyka ZR_kalendarz-okl 2012_01_04 LOMzrKal_cover :58 Strona 1. Kalendarz przygotowań plan pracy na rok szkolny

Rozdział 1. Zadania. 1.1 Liczby pierwsze. 1. Wykorzystując sito Eratostenesa wyznaczyć wszystkie liczby pierwsze mniejsze niż 200.

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

Transkrypt:

Spis treści Przedmowa... 9 1. Algorytmy podstawowe... 13 1.1. Uwagi wstępne... 13 1.2. Dzielenie liczb całkowitych... 13 1.3. Algorytm Euklidesa... 20 1.4. Najmniejsza wspólna wielokrotność... 23 1.5. Rozszerzony algorytm Euklidesa... 24 1.6. Elementarne metody faktoryzacji... 28 1.7. Istnienie rozkładu na czynniki... 30 1.8. Schemat algorytmu kolejnych dzieleń... 31 1.9. Algorytm faktoryzacji Fermata... 33 1.10. Praktyczna realizacja algorytmu Fermata... 34 1.11. Jednoznaczność rozkładu... 36 1.12. Wzór wielomianowy na liczbę pierwszą... 36 1.13. Wzór wykładniczy. Liczby Mersenne a... 37 1.14. Liczby Fermata... 39 1.15. Funkcja p #... 40 1.16. Sito Eratostenesa... 41 2. Wykorzystanie arytmetyki reszt... 45 2.1. Arytmetyka reszt... 45 2.2. Relacja równoważności... 45 2.3. Działania na resztach modulo n... 48 2.4. Potęgowanie modulo n... 51 2.5. Elementy odwracalne i dzielenie modulo n... 53 2.6. Rozwiązywanie kongruencji liniowych... 56 2.7. Twierdzenie Fermata... 59

4 Spis treści 2.8. Liczby pseudopierwsze... 62 2.9. Test Millera-Rabina... 71 3. Układy kongruencji... 77 3.1. Układy równań (mod n)... 77 3.2. Chińskie twierdzenie o resztach... 78 3.3. Interpretacja geometryczna... 80 3.4. Chińskie twierdzenie o resztach. Przypadek ogólny... 81 3.5. Przypadek wielu kongruencji... 83 3.6. Wykorzystanie CRT... 83 4. Permutacje, symetrie, grupy... 85 4.1. Permutacje... 85 4.2. Rozkład na cykle... 88 4.3. Definicja grupy... 90 4.4. Przykłady grup... 91 4.5. Grupa Z n i funkcja Eulera ϕ(n)... 92 4.6. Własności funkcji Eulera... 93 4.7. Symetrie trójkąta... 96 4.8. Grupa symetrii kwadratu i pięciokąta foremnego... 97 4.9. Podgrupy... 98 4.10. Grupy cykliczne... 100 4.11. Przykłady podgrup. Wykorzystanie twierdzenia Lagrange a... 102 4.12. Dowód twierdzenia Lagrange a... 105 4.13. Twierdzenie o rzędzie elementu... 106 4.14. Test Lucasa-Lehmera... 108 4.15. Wykorzystanie pierwiastków pierwotnych w dowodach pierwszości... 110 4.16. Zastosowanie pierwiastków pierwotnych do dowodu twierdzenia Korselta... 115 4.17. Badanie rzędów elementów... 116 4.18. Konstrukcja pierwiastków pierwotnych... 118 4.19. Algorytm obliczania rzędów elementów Z p... 119 5. Kongruencje kwadratowe... 123 5.1. Reszty i niereszty kwadratowe... 123 5.2. Symbol Legendre a... 125 5.3. Wykorzystanie prawa wzajemności reszt kwadratowych... 129 5.4. Kongruencje kwadratowe z modułem złożonym... 130

Spis treści 5 6. Wybrane metody szyfrowania stosowane w przeszłości... 135 6.1. Uwagi wstępne... 135 6.2. Szyfr Cezara... 136 6.3. Szyfr Vigenere a... 138 6.4. Szyfr Hilla... 139 6.5. Szyfr Vernama... 140 7. Kryptografia z kluczem publicznym... 141 7.1. Logarytmy dyskretne... 142 7.2. Uzgadnianie klucza Diffiego-Hellmana... 142 7.3. Generowanie kluczy w systemie ElGamal... 143 7.4. Szyfrowanie w systemie ElGamal... 144 7.5. Podpis elektroniczny w systemie ElGamal... 146 7.6. System ElGamal w bibliotece Crypto języka Python... 147 7.7. Schemat podpisu DSA... 150 7.8. System DSA w bibliotece Crypto języka Python... 152 7.9. System RSA (Rivest, Shamir, Adleman)... 154 7.10. Podpis RSA... 159 7.11. System RSA w bibliotece Crypto języka Python... 160 7.12. Uzasadnienie poprawności systemu RSA... 162 7.13. Uwagi o bezpieczeństwie systemu RSA... 163 7.14. Praktycznie stosowane systemy kryptograficzne... 164 8. Kryptografia z kluczem symetrycznym... 165 8.1. S-DES... 165 8.1.1. Bloki tekstu i klucz S-DES... 166 8.1.2. Schemat systemu S-DES... 166 8.1.3. Permutacja wstępna w S-DES... 167 8.1.4. Funkcja rozszerzająca EP i inne funkcje pomocnicze S-DES... 167 8.1.5. Generowanie kluczy dla rund S-DES... 168 8.1.6. Operacja xor w S-DES... 168 8.1.7. S-boksy w S-DES... 168 8.1.8. Wykorzystanie S-boksów w S-DES... 169 8.1.9. Realizacja całości algorytmu S-DES... 169 8.2. DES... 172 8.2.1. Bloki tekstu i klucz... 172 8.2.2. Schemat systemu DES... 172

6 Spis treści 8.2.3. Permutacja wstępna... 173 8.2.4. Funkcja rozszerzająca E... 173 8.2.5. Generowanie kluczy dla rund... 173 8.2.6. Operacja xor... 175 8.2.7. S-boksy... 175 8.2.8. Permutacja P... 176 8.2.9. Czynności końcowe... 176 8.2.10. Realizacja całości algorytmu DES w Sage... 177 8.3. System DES w bibliotece Crypto języka Python... 180 8.4. Mini-AES... 181 8.4.1. Schemat systemu Mini-AES... 182 8.4.2. S-boksy w Mini-AES... 183 8.4.3. Generowanie kluczy dla rund... 184 8.4.4. Wykorzystanie S-boksów w szyfrowaniu Mini-AES... 185 8.4.5. Operacje shift row i mix column... 185 8.4.6. Realizacja całości algorytmu Mini-AES... 186 8.5. AES... 188 8.5.1. Funkcja sub byte... 191 8.5.2. Rozszerzanie klucza... 191 8.5.3. Schemat algorytmu AES... 194 8.5.4. Funkcja AddRoundKey(P,K)... 194 8.5.5. Funkcja SubBytes... 194 8.5.6. Funkcja ShiftRows... 195 8.5.7. Funkcja MixColumns... 195 8.5.8. Funkcja KeyExpansion... 196 8.5.9. Wykonanie całości procedury... 196 8.6. System AES w bibliotece Crypto języka Python... 197 9. Funkcje skrótu... 199 9.1. SHA-1... 200 9.2. Wykonanie całości procedury... 204 9.3. Funkcje skrótu w bibliotece Crypto języka Python... 208 10. Ułamki łańcuchowe... 209 10.1. Skończone ułamki łańcuchowe... 209 10.2. Redukty ułamków łańcuchowych... 213 10.3. Nieskończone ułamki łańcuchowe... 217

Spis treści 7 10.4. Rozwijanie liczb niewymiernych w ułamki łańcuchowe... 219 10.5. Nierówności pomocnicze... 222 11. Pierścienie, ciała, wielomiany... 223 11.1. Pierścienie i ciała... 223 11.2. Ciała skończone... 224 11.3. Wielomiany nierozkładalne... 226 11.4. Konstrukcja ciał skończonych... 229 12. Faktoryzacja... 233 12.1. Metoda p 1 Pollarda... 233 12.2. Metoda ρ Pollarda... 236 12.3. Wykorzystanie kongruencji x 2 y 2 (mod n)... 242 12.4. Bazy rozkładu... 244 12.5. Wykorzystanie ułamków łańcuchowych w faktoryzacji... 248 12.6. Metoda sita kwadratowego w ujęciu Koblitza... 250 12.7. Uproszczona wersja sita kwadratowego w ujęciu Pomerance a... 258 13. Logarytmy dyskretne... 261 13.1. Metoda przeliczania... 263 13.2. Algorytm małych i wielkich kroków... 263 13.3. Algorytm ρ Pollarda wyznaczania logarytmu... 265 13.4. Algorytm Pohlinga-Hellmana znajdowania logarytmu... 268 13.5. Wykorzystanie baz rozkładu... 274 13.6. Logarytmy bazy rozkładu... 275 14. Krzywe eliptyczne... 279 14.1. Definicja krzywej eliptycznej... 279 14.2. Płaszczyzna rzutowa. Podejście algebraiczne... 282 14.3. Płaszczyzna rzutowa. Podejście geometryczne... 282 14.4. Związek podejścia algebraicznego i geometrycznego... 283 14.5. Krzywe eliptyczne na płaszczyźnie rzutowej... 283 14.6. Krzywa eliptyczna jako grupa... 284 14.7. Geometryczne dodawanie punktów... 284 14.8. Dodawanie punktów. Podejście analityczne... 285 14.9. Dodawanie punktów krzywej eliptycznej w Sage... 286 14.10. Metoda Lenstry faktoryzacji... 289 14.11. System ElGamal na krzywej eliptycznej... 293

8 Spis treści 14.12. ECDSA... 295 A. Szyfrowanie z GnuPG... 299 A.1. Przygotowanie do szyfrowania... 300 A.2. Szyfrowanie i odszyfrowywanie... 305 A.2.1. Szyfrowanie... 305 A.2.2. Odszyfrowywanie... 308 A.3. Szyfrowanie w gpg z linii poleceń... 308 A.3.1. Generowanie pary kluczy... 308 A.3.2. Export klucza publicznego... 310 A.3.3. Generowanie certyfikatu odwołania klucza... 310 A.3.4. Import klucza innego użytkownika gpg... 311 A.3.5. Wyświetlanie kluczy... 311 A.3.6. Podpisanie zaimportowanego klucza... 311 A.3.7. Szyfrowanie... 312 A.3.8. Odszyfrowanie i weryfikacja podpisu... 313 A.3.9. Usuwanie klucza ze zbioru kluczy... 314 A.3.10. Szyfrowanie symetryczne... 314 Skorowidz... 315 Bibliografia... 327