Dlaczego możemy czuć się bezpieczni w sieci czyli o szyfrowaniu informacji Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2
Plan Szyfrowanie (kryptologia): rozwój metod spowodował rozwój wielu działów nauki szyfrowanie/deszyfrowanie miały wpływ na historię obecnie szyfrowanie jest podstawą bezpieczeństwa komunikacji i przechowywania danych w sieci Interent Głównie zwrócimy uwagę na komunikację: kilka historycznych szyfrów początki kryptografii komputerowej Enigma i Polacy współczesne szyfry z kluczem publicznym podpis elektroniczny Podejście: Zwrócenie uwagi na znaczenie algorytmiki informatyka + 3
Komunikacja System komunikacji, czyli sposób wymiany wiadomości potrzebny w każdej społeczności jeszcze bardziej potrzebny rządzącym niezmiernie ważny w czasach konfliktów i wojen Schemat wersja pokojowa: Ciekawa Ewa Nadawca Alicja Odbiorca Bogdan Wiadomość M szyfrowanie Co to jest? Wiadomość M deszyfrowanie Wiadomość zaszyfrowana M Wiadomość zaszyfrowana M informatyka + 4
Kryptografia, kryptoanaliza, kryptologia Tekst jawny Nadawca Alicja Ciekawa Ewa Kryptogram Odbiorca Bogdan Wiadomość M szyfrowanie Co to jest? Wiadomość M deszyfrowanie Wiadomość zaszyfrowana M Wiadomość zaszyfrowana M Sposób szyfrowanie szyfr Kryptografia nauka zajmująca się szyfrowaniem Kryptoanaliza zajmuje się deszyfrowaniem czyli łamaniem szyfrów Kryptologia = kryptografia + kryptoanaliza Jeśli potrzeba jest matką wynalazków, to zapewne zagrożenie jest matką kryptoanalizy. informatyka + 5
Steganografia utajnianie przez ukrywanie Pierwsze próby utajniania wiadomości ukrywanie wiadomości bez ich przetwarzania. Słaba strona: przechwycenie równoznaczne z odczytaniem Przemyślne sposoby ukrywania wiadomości: napis na ogolonej głowie (V w. p.n.e.) połykanie wiadomości (np. woskowe kulki z wiadomościami) wiadomości między sygnałami II Wojna Światowa nowsze metody: atrament sympatyczny Steganografia dzisiaj druga młodość miniaturyzacja wiadomość w kropce tekstu informacje w wolnych miejscach w plikach informacje jako tło dla innych wiadomości informatyka + 6
Przykłady szyfrów szyfr Cezara (I w. p.n.e) ABCDEFGHIKLMNOPQRSTUVWXYZ ABCDEFGHIKLMNOPQRSTUVWXYZ ABC alfabet łaciński ma 25 liter Przykład: VENI! VIDI! VICI! opuszczamy odstępy i inne znaki YHQLYLGLYLFL Szyfr Cezara: To szyfr podstawieniowy podstawiamy literę za literę Kluczem jest wielkość przesunięcia w oryginale 3, ale może być dowolna liczba Klucz wystarczy do zaszyfrowania i do odczytania klucz symetryczny Łatwo złamać wystarczy przejrzeć wszystkie możliwe przesunięcia (25) informatyka + 7
Przykłady szyfrów alfabet szyfrowy Szyfr Cezara ABCDEFGHIKLMNOPQRSTUVWXYZ ABCDEFGHIKLMNOPQRSTUVWXYZABC ABCDEFGHIKLMNOPQRSTUVWXYZ DEFGHIKLMNOPQRSTUVWXYZABC Słowo szyfrowe, może być tekst, np.: INFORMATYKA PLUS ABCDEFGHIKLMNOPQRSTUVWXYZ INFORMATYKAPLUS INFORMATYKPLUSVWXZBCDEGHQ VENI VIDI VICI DRSY DYOY DYFY alfabet jawny alfabet szyfrowy alfabet jawny alfabet szyfrowy informatyka + 8
Przykłady szyfrów alfabet szyfrowy, cd Wady: częstość liter w tekstach jawnych przenosi się na teksty zaszyfrowane: w dłuższych tekstach języka angielskiego najczęściej występuje litera E (12.6%), w kryptogramach najczęstsza litera na ogół odpowiada E. częste są zlepienia liter, np. th, qu w angielskim; sz, cz, ch po polsku analiza częstościowa służy do łamania takich szyfrów IX wiek, Al-Kindi, zwany filozofem Arabów. Metoda wielu alfabetów szyfrowych: XVI wiek szyfr Vigenere a te same litery były inaczej szyfrowane utrudniona analiza częstości złamany w połowie XIX wieku: W. Kasiski i Ch. Babbage informatyka + 9
Przykłady szyfrów szyfr Playfaira Szyfrowanie par liter: wybieramy słowo kluczowe, jak w przypadku alfabetów, np. WYPAD tworzymy tabelę 5 x 5 słowo kluczowe na początku, dalej jak w alfabecie tekst do zaszyfrowania dzielimy na pary, np. Do zobaczenia o 6-tej szyfrujemy parami: W Y P A D B C E F G H I/J K L M N O Q R S T U V X Z jeśli para jest po przekątnej, to bierzemy parę z drugiej przekątnej jeśli para jest w kolumnie, to bierzemy parę pod nią, z zawinięciem kolumny do-zo-ba-cz-en-ia-os-zo-st-ej jeśli para jest w wierszu, to bierzemy YS-US-FW-GU-BQ-LY-QN-US-NZ-CK parę po prawej, z zawinięciem wiersza informatyka + 10
Przykłady szyfrów szyfr przestawieniowy Szyfr przestawieniowy: szyfrowanie przez przestawianie liter w tekście jawnym tekst zaszyfrowany jest anagramem jawnego. np. AGLMORTY to anagram: algorytm i logarytm Szyfr trudny do przekazania i odszyfrowania mało popularny Metoda płotu: Tekst piszemy w kolejnych wierszach i kryptogram tworzymy czytając wierszami: i f r a y a n o m t k ifrayanomtk Łatwy do deszyfracji wystarczy znaleźć liczbę poziomów informatyka + 11
Schemat przekazywania kryptogramów Ciekawa Ewa Nadawca Alicja Klucz Odbiorca Bogdan Klucz Tekst jawny Algorytm szyfrujący Tekst zaszyfrowany Algorytm deszyfrujący Tekst jawny Generalna zasada: Klucze: znane algorytmy, ale tajne klucze. szyfr Cezara przesunięcie alfabetu metoda płotu liczba rzędów w płocie szyfr monoalfabetyczny, szyfr Playfair tekst kluczowy Klucze symetryczne takie same dla obu stron. Problem z przekazywaniem tajnych kluczy informatyka + 12
Początki kryptologii komputerowej Enigma Do kupienia: 67 500 Euro Wirnik Wyprodukowano ok. 100 000 sztuk informatyka + 13
Maszyna Enigma Enigma z 10 wirnikami, stosowana do komunikacji w najwyższych sferach wojskowych III Rzeszy sprzedana w 2009 roku za 50 000 Euro (spodziewano się 70 000). informatyka + 14
Enigma budowa (model Wehrmacht) Wirniki, 3, 4, 5 do 10 Lampki zaszyfrowane litery Symulator Enigmy Klawiatura do wpisywania tekstu i szyfogramów Łącznica par liter informatyka + 15
Enigma budowa Wirniki Symulator Enigmy Lampki Klawiatura Łącznica niewidoczna informatyka + 16
Enigma działanie Symulator Enigmy Ustawienie do pracy klucz: wybrać wirniki ustawić wirniki wybrać dla nich miejsce połączyć litery w pary nastawić wirniki według klucza Szyfrowanie: wprowadź tekst, na lampkach ukazuje się szyfrogram Deszyfrowanie: identyczne ustawienia, jak przy szyfrowaniu wprowadź tekst szyfrogramu Klucz symetryczny informatyka + 17
Enigma jak trudno złamać Liczba możliwych stawień: Wybór 3 z 5 wirników: = 5 x 4 x 3 = 60 położenie wirników: 26 x 26 = 676 Łącznica wtyczkowa: 10 par liter spośród 26 = 150 738 274 937 250 Razem: 107 458 687 327 250 619 360 000 = 1.07*10 23 możliwych ustawień porównywalne z kluczem 77 bitowym informatyka + 18
Enigma a jednak złamano 4. 1940: Bletchley Park k/londynu centrum dekryptażu ok. 10000 osób 1. Lata 30. prace Polaków Polacy wyprzedzili cały świat o dobre 10 lat 3. Przed 1939 przekazują wszystkie materiały Francuzom i Anglikom 5. Bomba (USA) 6. Colossus pierwszy elektroniczny komputer, 1943 2. Polacy budują Bombę, która pomagała w dopasowaniu klucza 7. Olbrzymie zasługi Turinga informatyka + 19
Nowa era kryptografii klucz publiczny Kłopoty z przekazywaniem klucza stąd pomysł klucza publicznego, dostępnego dla każdego, kto chce wysłać wiadomość Ciekawa Ewa Nadawca Alicja Klucz Klucz publiczny Odbiorca Bogdan Klucz Klucz prywatny Tekst jawny Algorytm szyfrujący Tekst zaszyfrowany Algorytm deszyfrujący Tekst jawny Każdy może wysłać wiadomość do Bogdana, ale tylko on może ją odczytać, bo ma klucz prywatny, pasujący do klucza publicznego. informatyka + 20
Nowa era kryptografii szyfr RSA Nadawca Alicja Ciekawa Ewa Odbiorca Bogdan Klucz publiczny: n, e Klucz prywatny: n, d Tekst jawny M Algorytm szyfrujący P=M e mod n Tekst zaszyfrowany P Algorytm deszyfrujący M=P d mod n Tekst jawny M Liczby: n = p*q, p, q duże liczby pierwsze e względnie pierwsza z (p 1)(q 1) d. spełnia e*d = 1 mod (p 1)(q 1) Bezpieczeństwo szyfru RSA nawet najmocniejszy komputer nie jest w stanie znaleźć d, znając n i e. Działania (przy szyfrowaniu): Podnoszenie dużych liczb do dużych potęg i branie reszty z dzielenia (mod) informatyka + 21
Szyfr RSA - demonstracja informatyka + 22
Szyfr RSA przykład Bogdan przygotowuje klucze: 1.Wybiera dwie duże liczby pierwsze p i q i trzyma je w tajemnicy 2.Oblicza n = p*q i znajduje liczbę e, która jest względnie pierwsza z (p 1)*(q 1) 3. Oblicza d, takie że e*d = 1 mod (p 1)*(q 1) 4. Ogłasza (n, e) jako klucz publiczny i zachowuje (n, d) jako prywatny Przykład: 1. p = 11, q = 13 2. n = 11*13 = 143. Mamy (p 1)*(q 1) = 10*12 = 120 = 2 3 *3*5, więc może być e = 7 3. Ma być 7*d = 1 mod 120. Otrzymujemy d = 103. 4. Para (143, 7) jest kluczem publicznym, a para (143, 103) jest kluczem prywatnym. informatyka + 23
Szyfr RSA przykład, cd. Szyfrowanie wiadomości przez Alicję: 1.Chce wysłać literę Q. Zamienia na kod ASCII M = 81. 2.Oblicza M e, czyli 81 7 mod 143 Obliczenia: 81 7 = 81 1* 81 2 *81 4 = 81*126*3 = 16 mod 143 3. Wysyła do Bogdana wiadomość P = 16 Odszyfrowywanie kryptogramu: 1. M = P d = 16 103 = 16*16 2 *16 4 *16 32 16 64 = 16*113*42*113*42 = 81 mod 143. A zatem Bogdan otrzymał wiadomość o wartości 81, której odpowiada w kodzie ASCII litera Q. informatyka + 24
Szyfr RSA realizacja Przygotowanie kluczy: 1.Wybiera dwie duże liczby pierwsze p i q i trzyma je w tajemnicy Znane są szybkie metody generowania dużych liczb pierwszych 2. Oblicza n = p*q i znajduje liczbę e, która jest względnie pierwsza z (p 1)*(q 1) Podobnie jak w punkcie 1. 3. Oblicza d, takie że e*d = 1 mod (p 1)*(q 1) Stosuje się rozszerzony algorytm Euklidesa. Szyfrowanie i deszyfrowanie podnoszenie do potęgi Stosowany jest szybki algorytm binarnego potęgowania: na przykład: x 12345678912345678912345678912345 Algorytm szkolny: liczyłby ok. 10 8 lat. binarny ok. 200 mnożeń informatyka + 25
Podpis elektroniczny Oczekiwane cechy podpisu elektronicznego: 1.Jednoznacznie identyfikuje autora 2. Nie można go podrobić 3. Nie można go skopiować na inny dokument 4. Gwarantuje, że po podpisaniu nikt nie może wprowadzić zmian do dokumentu Kwestie techniczne: 1. W Centrum Certyfikacji muszę otrzymać oba klucze i osobisty certyfikat elektroniczny 2. Tworzy się reprezentację dokumentu w postaci skrótu informatyka + 26
Podpis elektroniczny Podpisz Źródło: http://www.proinfo.com.pl/pr odukty/podpis-elektroniczny/ informatyka + 27
Podpis elektroniczny Weryfikuj Źródło: http://www.proinfo.com.pl/pr odukty/podpis-elektroniczny/ informatyka + 28
Podpis elektroniczny spełnienie założeń Spełnienie oczekiwań: 1. Autentyczność nadawcy potwierdza jego certyfikat, do którego ma dostęp odbiorca 2. Takiego podpisu nie można podrobić, bo klucz prywatny, pasujący do klucza publicznego, znajdującego się w certyfikacie, ma tylko nadawca. 3. Podpisu nie można związać z innym dokumentem, bo nie będzie pasował do jego skrótu. 4. Skrót dokumentu jest gwarancją, że dokument nie uległ zmianie po jego podpisaniu. informatyka + 29
Pokrewne zajęcia w Projekcie Informatyka + Wykład+Warsztaty (Wszechnica Poranna): Wprowadzenie do algorytmiki i programowania wyszukiwanie i porządkowanie informacji Proste rachunki wykonywane za pomocą komputera. Techniki algorytmiczne przybliżone (heurystyczne) i dokładne. Wykłady (Wszechnica Popołudniowa): Czy wszystko można policzyć na komputerze? Porządek wśród informacji kluczem do szybkiego wyszukiwania. Dlaczego możemy się czuć bezpieczni w sieci, czyli o szyfrowaniu informacji. Znajdowanie najkrótszych dróg, najniższych drzew, najlepszych małżeństw informatyka + 30
Pokrewne zajęcia w Projekcie Informatyka + Kursy (24 godz.) Wszechnica na Kołach: Algorytmy poszukiwania i porządkowania. Elementy języka programowania Różnorodne algorytmy obliczeń i ich komputerowe realizacje Grafy, algorytmy grafowe i ich komputerowe realizacje Kursy (24 godz.) Kuźnia Informatycznych Talentów KIT dla Orłów: Przegląd podstawowych algorytmów Struktury danych i ich wykorzystanie Zaawansowane algorytmy Tendencje Wykłady Algorytmy w Internecie, K. Diks Czy P = NP, czyli jak wygrać milion dolarów w Sudoku, J. Grytczuk Między przeszłością a przyszłość informatyki, M.M Sysło informatyka + 31