Sieci komputerowe. Wykład 11: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Podobne dokumenty
Sieci komputerowe. Wykład 10: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

WSIZ Copernicus we Wrocławiu

2 Kryptografia: algorytmy symetryczne

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

Sieci komputerowe. Wykład 11: Podstawy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

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

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

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

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

Wykład 7. komputerowych Integralność i uwierzytelnianie danych - główne slajdy. 16 listopada 2011

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

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

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

Kryptografia szyfrowanie i zabezpieczanie danych

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Bezpieczeństwo w Internecie

Zastosowania informatyki w gospodarce Wykład 5

Sieci komputerowe. Wykład 2: Sieci LAN w technologii Ethernet. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Laboratorium nr 1 Szyfrowanie i kontrola integralności

W11 Kody nadmiarowe, zastosowania w transmisji danych

Wykład 12. Projektowanie i Realizacja. Sieci Komputerowych. Bezpieczeństwo sieci

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

SSL (Secure Socket Layer)

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Podstawy systemów kryptograficznych z kluczem jawnym RSA

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Authenticated Encryption

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Szyfrowanie danych w SZBD

Szyfrowanie informacji

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Protokół IPsec. Patryk Czarnik

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Przesyłania danych przez protokół TCP/IP

Wprowadzenie do technologii VPN

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Algorytmy podstawieniowe

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

Plan całości wykładu. Ochrona informacji 1

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

Wprowadzenie ciag dalszy

Warstwy i funkcje modelu ISO/OSI

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

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

Marcin Szeliga Dane

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

Sieci komputerowe. Wykład 1: Podstawowe pojęcia i modele. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 25

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

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Bezpieczeństwo danych, zabezpieczanie safety, security

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

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

IPsec bezpieczeństwo sieci komputerowych

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Algorytmy podstawieniowe

Bezpieczeństwo w sieciach bezprzewodowych WiFi. Krystian Baniak Seminarium Doktoranckie Październik 2006

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Copyright by K. Trybicka-Francik 1

Detekcja i korekcja błędów w transmisji cyfrowej

Istnieją trzy kluczowe elementy bezpieczeństwa danych. Poufność, integralność i uwierzytelnianie są znane jako triada CIA

Sieci komputerowe. Wykład 2: Sieci LAN w technologii Ethernet. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Przewodnik użytkownika

Matematyka dyskretna

Algorytmy asymetryczne

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

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

Copyright by K. Trybicka-Francik 1

Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami

Kryptografia kwantowa. Marta Michalska

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Nowy klucz jest jedynie tak bezpieczny jak klucz stary. Bezpieczeństwo systemów komputerowych

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

Zarys algorytmów kryptograficznych

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

Podstawy Informatyki: Kody. Korekcja błędów.

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof.

Detekcja i korekcja błędów w transmisji cyfrowej

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

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

Polska-Brazylia 5:0, czyli o poprawianiu błędów w przekazywanych informacjach

Ataki kryptograficzne.

Sieci komputerowe. Wykład 9: Poczta elektroniczna. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

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.

Protokoły sieciowe - TCP/IP

Bezpieczeństwo w

Transkrypt:

Sieci komputerowe Wykład 11: Kodowanie i szyfrowanie Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 11 1 / 32

Kodowanie Sieci komputerowe (II UWr) Wykład 11 2 / 32

Kody Kodowanie Do przesyłanych wiadomości dodajemy dodatkowe bity kontrolne. Kody detekcyjne: pozwalaja wykryć niektóre przekłamania transmisji. Kody korekcyjne: pozwalaja wykryć i poprawić niektóre przekłamania transmisji. Sieci komputerowe (II UWr) Wykład 11 3 / 32

Skad biora się błędy? Kodowanie Najczęściej: błędy w warstwie fizycznej (bity analogowy sygnał bity), bo analogowy sygnał dociera zniekształcony. Przekłamania niektórych bitów. Przekłamanie ciagu bitów. Zgubienie niektórych bitów (rzadziej: wstawienie nieistniejacych). Rzadziej: błędy urzadzeń końcowych lub pośrednich (wadliwy RAM, błędy w oprogramowaniu). Sieci komputerowe (II UWr) Wykład 11 4 / 32

Kody detekcyjne Kodowanie Sumy kontrolne Kody CRC Kody MAC Sieci komputerowe (II UWr) Wykład 11 5 / 32

Sumy kontrolne Kodowanie Najprostszy wariant kodów detekcyjnych. Dodajemy do siebie (16/32-bitowe) słowa w przesyłanej wiadomości. Warianty: przeniesienia, negowanie bitów,... Nie wykrywaja zamian słów. Efektywnie obliczane przez CPU. Stosowane w warstwie sieciowej (IP) i transportowej (TCP/UDP). Sieci komputerowe (II UWr) Wykład 11 6 / 32

Kodowanie Sumy kontrolne: bit parzystości Najprostszy wariant sumy kontrolnej. Do wiadomości dodajemy bit, który ustawiamy tak, żeby liczba ustawionych bitów w całości była parzysta. Wykrywa przekłamania nieparzystej liczby bitów. Sieci komputerowe (II UWr) Wykład 11 7 / 32

Kodowanie Kody CRC (Cyclic Redundancy Check) notatki. Efektywnie obliczane sprzętowo. Stosowane w warstwie łacza danych Przykładowo Ethernet definiuje konkretny wielomian stopnia 32. Stosowane wielomiany stopnia n wykrywaja najczęściej: pojedyncze błędy bitów, nieparzysta liczbę pojedynczych błędów bitów, dwa błędy bitów oddalonych o co najwyżej 2 n 1 przekłamania ciagu bitów nie dłuższego od n. Sieci komputerowe (II UWr) Wykład 11 8 / 32

Kodowanie Kody CRC (Cyclic Redundancy Check) notatki. Efektywnie obliczane sprzętowo. Stosowane w warstwie łacza danych Przykładowo Ethernet definiuje konkretny wielomian stopnia 32. Stosowane wielomiany stopnia n wykrywaja najczęściej: pojedyncze błędy bitów, nieparzysta liczbę pojedynczych błędów bitów, dwa błędy bitów oddalonych o co najwyżej 2 n 1 przekłamania ciagu bitów nie dłuższego od n. Sieci komputerowe (II UWr) Wykład 11 8 / 32

Kodowanie Kody MAC (Message Authentication Code) Kod uwierzytelniajacy. Cel: zapewnienie integralności wiadomości: trudno ja zmodyfikować tak, żeby uzyskać taki sam MAC. Kryptograficzne funkcje haszujace Funkcja h: funkcja haszujaca, szybko obliczalna, h: ciag bitów dowolnej długości ciag bitów długości d. Przykładowo dla MD5 d = 160, dla SHA-256 d = 256. Dla dowolnego x znalezienie y, takiego że h(x) = h(y) jest obliczeniowo trudne. Funkcję h można użyć do wykrycia błędów w transmisji (MD5 podawane wraz z plikiem na stronie). Jak zapewnić uwierzytelnianie? Sieci komputerowe (II UWr) Wykład 11 9 / 32

Kodowanie MAC a uwierzytelnianie nadawcy (1) m = wiadomość Pomysł 1: wyślij m, h(m). Atakujacy może wysłać m, h(m ). Potrzebny sekret s znany nadawcy i odbiorcy. Sieci komputerowe (II UWr) Wykład 11 10 / 32

Kodowanie MAC a uwierzytelnianie nadawcy (2) m = wiadomość s = sekret znany nadawcy i odbiorcy. Pomysł 2: wyślij m, h(s m). Duża część funkcji h działa w strumieniowy sposób, tzn. majac h(x) można obliczyć h(x y) nie znajac x. Atakujacy może przechwycić oryginalny komunikat i wysłać odbiorcy m m, h(s m m ), tj. dopisać m na końcu. Sieci komputerowe (II UWr) Wykład 11 11 / 32

Kodowanie MAC a uwierzytelnianie nadawcy (2) m = wiadomość s = sekret znany nadawcy i odbiorcy. Pomysł 2: wyślij m, h(s m). Duża część funkcji h działa w strumieniowy sposób, tzn. majac h(x) można obliczyć h(x y) nie znajac x. Atakujacy może przechwycić oryginalny komunikat i wysłać odbiorcy m m, h(s m m ), tj. dopisać m na końcu. Sieci komputerowe (II UWr) Wykład 11 11 / 32

Kodowanie MAC a uwierzytelnianie nadawcy (3) m = wiadomość s = sekret znany nadawcy i odbiorcy. Pomysł 3: wyślij m, h(m s). Duża część funkcji h działa w strumieniowy sposób, tzn. jeśli h(x) = h(x ), to h(x y) = h(x y). Zatem jeśli atakujacy potrafi znaleźć m, takie że h(m ) = h(m), to wtedy może wysłać m, h(m s) nie znajac klucza s. Sieci komputerowe (II UWr) Wykład 11 12 / 32

Kodowanie MAC a uwierzytelnianie nadawcy (3) m = wiadomość s = sekret znany nadawcy i odbiorcy. Pomysł 3: wyślij m, h(m s). Duża część funkcji h działa w strumieniowy sposób, tzn. jeśli h(x) = h(x ), to h(x y) = h(x y). Zatem jeśli atakujacy potrafi znaleźć m, takie że h(m ) = h(m), to wtedy może wysłać m, h(m s) nie znajac klucza s. Sieci komputerowe (II UWr) Wykład 11 12 / 32

Standard HMAC Kodowanie m = wiadomość s = sekret znany nadawcy i odbiorcy. HMAC: wyślij m, h(s h(s m)). Wykorzystywany: różne protokoły szyfrujace (TLS, OpenVPN,...), protokoły routingu dynamicznego,... Sieci komputerowe (II UWr) Wykład 11 13 / 32

Standard HMAC Kodowanie m = wiadomość s = sekret znany nadawcy i odbiorcy. HMAC: wyślij m, h(s h(s m)). Wykorzystywany: różne protokoły szyfrujace (TLS, OpenVPN,...), protokoły routingu dynamicznego,... Sieci komputerowe (II UWr) Wykład 11 13 / 32

Korekcja błędów Kodowanie Jak korygować błędy w transmisji? Kody detekcyjne + mechanizmy ARQ (wysyłania do skutku). Kody korekcyjne. Sieci komputerowe (II UWr) Wykład 11 14 / 32

Kody (ogólnie) Kodowanie (α, β)-kod: zamienia wiadomość długości β na kod o długości α β. Przykładowo: bit parzystości dla ciagów 7-bitowych to (8, 7)-kod. Narzut kodu to α/β. Odległość Hamminga dwóch kodów = minimalna liczba bitów, które musimy zmienić, żeby zmienić jeden kod w drugi. Sieci komputerowe (II UWr) Wykład 11 15 / 32

Kodowanie Odległość Hamminga Kodowanie gwarantujace, że odległość Hamminga między dowolna para kodów to co najmniej k. Potrafi wykryć k 1 błędów pojedynczych bitów. Potrafi skorygować do (k 1)/2 błędów pojedynczych bitów. Dlaczego? Naiwne kodowanie: (3, 1)-kod (każdy bit powtarzamy 3 razy) Koryguje przekłamanie jednego bitu. Sieci komputerowe (II UWr) Wykład 11 16 / 32

Kodowanie Kodowanie Hamminga(7,4) 4 bity danych (d 1, d 2, d 3, d 4 ) 3 bity parzystości (p 1, p 2, p 3, każdy dla innych 3 bitów danych). Odległość Hamminga między dowolnymi dwoma kodami 3 Potrafi skorygować 1 bit. Znacznie wyższa efektywność niż (3, 1)-kod. Obrazek ze strony https://en.wikipedia.org/wiki/hamming(7,4) Sieci komputerowe (II UWr) Wykład 11 17 / 32

Szyfrowanie Sieci komputerowe (II UWr) Wykład 11 18 / 32

Szyfrowanie Co to właściwie jest bezpieczna komunikacja? Alicja Bob niezabezpieczony kanal dane Pożadane cechy: Poufność (tylko Alicja i Bob wiedza, co jest przesyłane). Uwierzytelnianie (potwierdzanie tożsamości partnera). Integralność (wykrywanie (złośliwych) zmian w przesyłanej wiadomości). Sieci komputerowe (II UWr) Wykład 11 19 / 32

Szyfrowanie Co to właściwie jest bezpieczna komunikacja? Alicja Bob niezabezpieczony kanal dane Pożadane cechy: Poufność (tylko Alicja i Bob wiedza, co jest przesyłane). Uwierzytelnianie (potwierdzanie tożsamości partnera). Integralność (wykrywanie (złośliwych) zmian w przesyłanej wiadomości). Sieci komputerowe (II UWr) Wykład 11 19 / 32

Alicja i Bob? Szyfrowanie Posługujemy się przykładem Alicji i Boba. Reprezentuje to: komunikację między dwoma osobami komunikację między fizyczna osoba a serwerem/usługa (np. bankiem) komunikację między dwiema usługami (np. wymieniajacymi tablice routingu) Sieci komputerowe (II UWr) Wykład 11 20 / 32

Szyfrowanie Jak osiagn ać poufność? Alicja Bob niezabezpieczony kanal dane Szyfrować! Alicja ma do wysłania tekst jawny m. Alicja oblicza i wysyła szyfrogram s = E(m). Bob zna funkcję D = E 1 i oblicza: D(s) = E 1 (E(m)) = m. Sieci komputerowe (II UWr) Wykład 11 21 / 32

Szyfrowanie Szyfry monoalfabetyczne (podstawieniowe) Szyfry monoalfabetyczne Funkcja E operuje na pojedynczych literach, przykładowo E zmienia literę a na d, b na h itd. Stosowane już w czasach Juliusza Cezara (wtedy E(a) = (a + 3) mod 26). Jak adwersarz może złamać taki szyfr? Sieci komputerowe (II UWr) Wykład 11 22 / 32

Szyfrowanie Szyfry monoalfabetyczne (podstawieniowe) Szyfry monoalfabetyczne Funkcja E operuje na pojedynczych literach, przykładowo E zmienia literę a na d, b na h itd. Stosowane już w czasach Juliusza Cezara (wtedy E(a) = (a + 3) mod 26). Jak adwersarz może złamać taki szyfr? To zależy od tego, co adwersarz (czyli świnia) potrafi! Alicja Bob niezabezpieczony kanal dane Sieci komputerowe (II UWr) Wykład 11 22 / 32

Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja niezabezpieczony kanal dane Bob Jak zgadnać E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicję, żeby wysłała wybrany przez świnię tekst. Przykładowo: Pchnąć w tę łódź jeża lub ośm skrzyń fig. Atak ze znanym tekstem jawnym: świnia potrafi podgladn ać kilka par (tekst jawny, szyfrogram). Atak ze znanym szyfrogramem: Świnia ma tylko dostęp do kanału, widzi szyfrogramy analiza statystyczna. Sieci komputerowe (II UWr) Wykład 11 23 / 32

Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja niezabezpieczony kanal dane Bob Jak zgadnać E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicję, żeby wysłała wybrany przez świnię tekst. Przykładowo: Pchnąć w tę łódź jeża lub ośm skrzyń fig. Atak ze znanym tekstem jawnym: świnia potrafi podgladn ać kilka par (tekst jawny, szyfrogram). Atak ze znanym szyfrogramem: Świnia ma tylko dostęp do kanału, widzi szyfrogramy analiza statystyczna. Sieci komputerowe (II UWr) Wykład 11 23 / 32

Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja niezabezpieczony kanal dane Bob Jak zgadnać E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicję, żeby wysłała wybrany przez świnię tekst. Przykładowo: Pchnąć w tę łódź jeża lub ośm skrzyń fig. Atak ze znanym tekstem jawnym: świnia potrafi podgladn ać kilka par (tekst jawny, szyfrogram). Atak ze znanym szyfrogramem: Świnia ma tylko dostęp do kanału, widzi szyfrogramy analiza statystyczna. Sieci komputerowe (II UWr) Wykład 11 23 / 32

Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja niezabezpieczony kanal dane Bob Jak zgadnać E (typy ataków): W każdym przypadku: te szyfry sa trywialne do złamania. Główne zastosowanie praktyczne: ROT-13. Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicję, żeby wysłała wybrany przez świnię tekst. Przykładowo: Pchnąć w tę łódź jeża lub ośm skrzyń fig. Atak ze znanym tekstem jawnym: świnia potrafi podgladn ać kilka par (tekst jawny, szyfrogram). Atak ze znanym szyfrogramem: Świnia ma tylko dostęp do kanału, widzi szyfrogramy analiza statystyczna. Sieci komputerowe (II UWr) Wykład 11 23 / 32

Szyfrowanie Szyfrowanie symetryczne Szyfrowanie symetryczne Szyfrowanie symetryczne Alicja i Bob ustalaja pewien wspólny klucz K. Szyfrogram E K (m) jest funkcja tekstu jawnego m i klucza K. Algorytm obliczajacy E (np. DES, Blowfish lub AES) jest znany wszystkim! Istnieje funkcja deszyfrujaca D = E 1 korzystajaca z klucza, taka że D K (E K (m)) = m. Symetryczność = ten sam klucz jest używany do szyfrowania i deszyfrowania s = E K (m) oblicza D K (s) = m Sieci komputerowe (II UWr) Wykład 11 24 / 32

Szyfrowanie Szyfrowanie symetryczne Najprostsze szyfrowanie symetryczne One-Time Pad Szyfrowanie z kluczem symetrycznym. E K (m) = m xor K (klucz musi być tak samo długi, jak tekst jawny) Jak bezpieczne jest to szyfrowanie? Matematycznie: na podstawie samego szyfrogramu niemożliwy do złamania (nie dostajemy żadnej informacji poza długościa tekstu) Ale: trywialne odzyskiwanie klucza jeśli znamy tekst jawny! Sieci komputerowe (II UWr) Wykład 11 25 / 32

Szyfrowanie Szyfrowanie symetryczne, cd. Szyfrowanie symetryczne Szyfrowanie symetryczne, cd. Algorytm E to zazwyczaj złożenie wielu odwracalnych operacji bitowych (xor z częściami klucza, przesunięcia itp.) Algorytm D to te odwrotności tych operacji wykonane w odwrotnej kolejności. Funkcje E i D sa szybko obliczalne. Siła kryptograficzna algorytmu zależy głównie od długości klucza (56 bitów w przypadku DES, 128 256 dla AES). Sieci komputerowe (II UWr) Wykład 11 26 / 32

Szyfrowanie Szyfrowanie symetryczne Długość klucza vs. długość wiadomości Algorytm szyfrowania symetrycznego zazwyczaj zakłada, że szyfrowana wiadomość ma określona długość (DES: 64 bity, AES: 128 bitów). Wiadomość dzielona na bloki takiego rozmiaru. Ostatni kawałek wiadomości: dopełniany do długości bloku. Jak rozpoznać gdzie zaczyna się wypełnienie? Sieci komputerowe (II UWr) Wykład 11 27 / 32

Wiele bloków (ECB) Szyfrowanie Szyfrowanie symetryczne Każdy blok szyfrowany niezależnie (tym samym kluczem). Problem: Takie same bloki zostana zaszyfrowane na takie same kawałki szyfrogramu. Obrazek ze strony https://en.wikipedia.org/wiki/block_cipher_mode_of_operation Sieci komputerowe (II UWr) Wykład 11 28 / 32

Szyfrowanie Wiele bloków (ECB + losowość) Szyfrowanie symetryczne Przed zaszyfrowaniem bloku m i wylosuj r i (takie że r i = m i ). Każdy blok szyfrowany niezależnie (tym samym kluczem): i-ty kawałek szyfrogramu to c i = E K (m i xor r i ). Wyślij szyfrogram i wszystkie r i. Problem: dwukrotne zwiększenie wysyłanej wiadomości. Obrazek ze strony https://en.wikipedia.org/wiki/block_cipher_mode_of_operation Sieci komputerowe (II UWr) Wykład 11 29 / 32

Szyfrowanie Wiele bloków (CBC + losowość) Szyfrowanie symetryczne Wylosuj tylko r 1 (IV = wektor inicjujacy). Pierwszy kawałek szyfrogramu to c 1 = E K (b 1 xor r 1 ). i-ty kawałek szyfrogramu to c i = E K (b i xor c i 1 ) Wyślij szyfrogram i IV. Obrazek ze strony https://en.wikipedia.org/wiki/block_cipher_mode_of_operation Sieci komputerowe (II UWr) Wykład 11 30 / 32

Szyfrowanie Szyfrowanie symetryczne Szyfrowanie symetryczne Główny problem: jak ustalić wspólny klucz K? Rozwiazanie: przesłać innym, zabezpieczonym kanałem (zazwyczaj niepraktyczne / drogie) Lepiej zastosować inne podejście: szyfrowanie asymetryczne (do przesyłania klucza lub całej wiadomości) Sieci komputerowe (II UWr) Wykład 11 31 / 32

Szyfrowanie Szyfrowanie symetryczne Szyfrowanie symetryczne Główny problem: jak ustalić wspólny klucz K? Rozwiazanie: przesłać innym, zabezpieczonym kanałem (zazwyczaj niepraktyczne / drogie) Lepiej zastosować inne podejście: szyfrowanie asymetryczne (do przesyłania klucza lub całej wiadomości) Sieci komputerowe (II UWr) Wykład 11 31 / 32

Lektura dodatkowa Szyfrowanie Szyfrowanie symetryczne Kurose, Ross: rozdział 8. Tanenbaum: rozdział 8. Sieci komputerowe (II UWr) Wykład 11 32 / 32