2 Kryptografia: algorytmy symetryczne

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

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

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

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

Szyfrowanie informacji

1.1. Standard szyfrowania DES

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

Szyfry kaskadowe. permutacyjnej (SPP).

Szyfry kaskadowe. Szyfry kaskadowe

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

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

Laboratorium nr 1 Szyfrowanie i kontrola integralności

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

OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE

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

Zarys algorytmów kryptograficznych

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

Implementacja algorytmu DES

WSIZ Copernicus we Wrocławiu

1. Maszyny rotorowe Enigma

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

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

Authenticated Encryption

Metody szyfrowania danych

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

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

Bezpieczeństwo danych, zabezpieczanie safety, security

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

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

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

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

Bezpieczeństwo systemów komputerowych

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

Kryptologia przykład metody RSA

Algorytmy podstawieniowe

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

Czym jest kryptografia?

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

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

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

Przewodnik użytkownika

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

Kryptologia. Bezpieczeństwo komunikacji elektronicznej

Podstawy systemów kryptograficznych z kluczem jawnym RSA

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

Algorytmy asymetryczne

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.

Zastosowania informatyki w gospodarce Wykład 5

Kryptografia na procesorach wielordzeniowych

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

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

Kryptografia szyfrowanie i zabezpieczanie danych

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

Wykład 5. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES

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

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

Bezpieczeństwo w Internecie

Marcin Szeliga Dane

KRYPTOANALIZA. Opracowanie wewnętrzne Instytutu Informatyki Gliwice, 1999

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Ataki kryptograficzne.

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Spis treści. Przedmowa... 9

Bezpieczeństwo kart elektronicznych

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

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Bezpieczeństwo systemów i sieci komputerowych

Podstawy kryptografii Prowadzący: Prof. dr h Jemec Władzimierz

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

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

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

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

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

4. Podstawowe elementy kryptografii

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

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

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

Plan wykładu. Ochrona zasobów w systemach gospodarki elektronicznej. Usługi ochrony. Klasyfikacja zagrożeń. Wykład: Systemy gospodarki elektronicznej

Seminarium Ochrony Danych

Implementacja algorytmu szyfrującego

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

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

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

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

ZiMSK. Konsola, TELNET, SSH 1

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

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Haszowanie. dr inż. Urszula Gałązka

Potencjalne ataki Bezpieczeństwo

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

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Techniki wyszukiwania danych haszowanie

Tablice z haszowaniem

ZESZYTY NAUKOWE WYDZIAŁU ETI POLITECHNIKI GDAŃSKIEJ Nr 4 Seria: Technologie Informacyjne 2006 ANALIZA METODY SZYFROWANIA "ZT-UNITAKOD"

Haszowanie (adresowanie rozpraszające, mieszające)

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

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Transkrypt:

1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania; asymetryczne: klucze do szyfrowania i deszyfrowania są różne; nie powinno być (w praktyce) możliwe odtworzenie jednego z tych kluczy na podstawie drugiego. Wiele podstawowych zastosowań kryptografii wymaga też stosowania funkcji haszujacych. Podstawowe zastosowania: poufność danych (na dysku, przesyłanych w sieci,...); uwierzytelnianie (możliwość weryfikacji autorstwa danych); autoryzacja dostępu; elektroniczny notariusz ; weryfikacja integralności danych (wykrywalność zmian). itd. Podstawowe kryteria jakości metod kryptograficznych: algorytm powszechnie znany; bezpieczeństwo oparte na tajności kluczy, nie algorytmu; podejmowano wiele nieskutecznych prób kryptoanalizy. 2 Kryptografia: algorytmy symetryczne Metody podstawieniowe: możliwość ataku opartego na analizie częstotliwości. 1

2.1 One-time pad Metoda: dla danych kryptogram jest równy a 1... a n i klucza k 1... k n, (a 1 k 1 )(a 2 k 2 )... (a n k n ). gdzie operacja oznacza dodawanie modulo 2 (inaczej operację xor). UWAGI: klucz stosujemy tylko jeden raz! klucz powinien być losowym ciągiem bitów. Przy zachowaniu tych warunków i poufności klucza, kryptogram stanowi losowy ciąg bitów. Dlaczego klucz należy stosować tylko jeden raz: Załóżmy, że klucz k 0... k n 1 jest stosowany do zaszyfrowania tekstu a 0... a m dla m n w ten sposób, że c i = a i k i mod, gdzie c to zaszyfrowana postać n tekstu. Inaczej mówiąc, stosujemy k dla kolejnych bloków tekstu o długości n. Wówczas, zachodzi własność: c j c j+n = (a j k j ) (a j+n k j ) = a j a j+n To pozwala wyliczyć z kryptogramu wartość a j na podstawie a j+in dla i N i odwrotnie. Przyjmując hipotezę, że pewne fragmenty tekstu to np. bloki spacji (być może) odtworzymy fragmenty tekstu, z których z kolei poznamy pewne bity klucza, a to z kolei pozwoli odkodować kolejne symbole itd. Opiera się to na fakcie, że: przyjmując pewną wartość a j możemy (z kryptogramu) wyznaczyć a j+n tu założenie o spacjach może dać jakieś sensowne słowa; znając (na pewno) wartość a j i c j możemy odtworzyć k j mod n. 2

2.2 DES=Data Encryption Standard Cechy ogólne: szyfruje bloki o długości 64 bitów; klucz jest 64-bitowy, ale 8 bitów to bity parzystości (czyli liczba możliwych kluczy to 2 56 ); najlepsze są implementacje hardware owe; wieloletni standard amerykański; na obecne czasy (chyba) za krótki klucz. Etapy i parametry: Tworzenie podkluczy K 1,..., K 16, każdy o długości 48 bitów, uzyskany w ustalony sposób z klucza głównego (w którym usuwamy bity parzystości). Permutacja bitów danych: ustalona (cel: zniechęcenie do implementacji software owych). 16 rund: Runda i + 1: dla danych 32 bitowych argumentów L i i R i wyznacza L i+1 i R i+1 w następujący sposób: L i+1 = R i, R i+1 = L i f(r i, K i+1 ), (1) gdzie L 0 i R 0 to dwie części kodowanego bloku danych. Permutacja odwrotna do permutacji zastosowanej na początku. Jak działa funkcja f(r i, K i+1 ): Rozszerzenie R i do rozmiaru 48 bitów (niektóre bity powielane). Niech ta rozszerzona wartość to R i Wyliczenie S = R i K i+1 Zastosowanie wybranych S-boksów S 1,..., S 8 do kolejnych 6-bitowych bloków ciągu S. Każdy S-box daje w wyniku 4 bity, a zatem na koniec uzyskujemy ciąg 32-bitowy. Co to jest S-box: Tablica liczb o 4 wierszach i 16 kolumnach. Każdy wiersz zawiera (pewną) permutację liczb 0, 1,..., 15. 3

Dla 6-bitowego argumentu, wartością jest liczba z wiersza wyznaczonego przez pierwsze dwa bity i kolumny wyznaczonej przez pozostałe cztery bity. Uwagi na temat S-boxów: definiują funkcje nieodwracalne; w DES stosuje się z góry zadane S-boxy; brak jest formalnych argumentów uzasadniających taki właśnie wybór. Jak deszyfrować DESa, skoro S-boxy są nieodwracalne: Z (1) uzyskujemy: R i 1 = L i, L i 1 = R i f(r i 1, K i ) = R i f(l i, K i ) Powyższa zależność pozwala na zastosowanie kolejnych rund DESa od końca do deszyfrowania (o ile znamy klucz!). UWAGA: DES zastępowany przez AES (Advanced Encryption Standard). Trzykrotny DES, dla kluczy S 1, S 2 : 1. najpierw tekst jawny szyfrowany kluczem S 1 ; 2. wynik powyższego kroku jest deszyfrowany kluczem S 2 ; 3. wynik kroku 2 jest szyfrowany kluczem S 1. Dlaczego nie stosuje się tzw. podwójnego DESa polegającego na szyfrowaniu DES K1 (DES K2 (x))? Czyli atak dla znanej pary (tekst jawny x; kryptogram y): tworzymy tablicę rozmiaru 2 56, dla każdego klucza tworzymy DES(x). tworzymy tablicę rozmiaru 2 56, dla każdego klucza tworzymy DES 1 (y). te same wartości w obu tablicach pozwalają wyznaczyć kandydatów na pary kluczy K 1, K 2 ; pary te możemy zweryfikować na innych danych. EFEKT: złożoność przeszukiwania całej przestrzeni nie wzrasta z 2 56 do 2 112 lecz do 2 2 56. 4

2.3 Szyfrowanie dowolnie długich tekstów (przy pomocy jednego klucza) 1. Elektroniczna książka kodowa: Tekst dzielimy na bloki (w przypadku DESa 64-bitowe). Każdy blok szyfrowany osobno. WADA: możliwość podmieniania bloków. 2. CBC (Cipher Block Chaining): Niech dane (po podziale na bloki) to P 1, P 2, P 3,..., klucz to K. Kolejne bloki kryptogramu wyznaczane są według wzoru: C 1 = E K (P 1 I), C i = E K (P i C i 1 ) dla i > 1, gdzie E K oznacza operację szyfrowania z kluczem K, a I to losowy (jawny) ciąg o długości jednego bloku. Deszyfrowanie: (dane C 1, C 2,..., chcemy odtworzyć P 1, P 2,...) P 1 = E 1 K (C 1) I; P i = E 1 K (C i) C i 1. gdzie E 1 K to operacja deszyfrowania DESa, z użyciem klucza K. ZALETY: nie można podmienić pojedynczego bloku; błąd transmisji propaguje się tylko do jednego bloku do przodu. 3. CFB (Cipher Feedback): ma działać on-line (przesyłamy znak po znaku), np. dla transmisji danych z klawiatury do terminala. Idea kodowania z kluczem K: (dane P 1, P 2,..., gdzie P i to blok 8 bitów, wynik C 1, C 2...) na początku znany blok I długości 64 bitów umieszczamy w rejestrze przesuwajacym R = R 1... R 8 = E K (I) (R i to 8 bitów); każde kolejne 8 bitów wyjściowych C i powstaje w następujący sposób: szyfrujemy rejestr przesuwający: R 1... R 8 = E K (R 1... R 8 ) tworzymy kolejne 8 bitów wyjściowych: C i = R 1 P i ; te bity wyjściowe umieszczane są w rejestrze przesuwającym (przesuwamy pozostałe, żeby zrobić im miejsce): R := R 2 R 3... R 8 C i ; Deszyfrowanie (dane C 1, C 2,..., oraz I wynik P 1, P 2,..., gdzie P i, C i to bloki 8-bitowe): 5

początkowa zawartość rejestru to I; kolejny znak P i odtwarzamy w następujący sposób: szyfrujemy zawartość rejestru: R 1... R 8 = E K (R 1... R 8 ); odtwarzamy kolejne 8 bitów wejściowych: P i = R 1 C i ; w rejestrze przesuwającym umieszczamy kolejne bity kryptogramu: R := R 2 R 3... R 8 C i ; Literatura: M.Kutyłowski, W. Strothmann, Kryptografia, Read Me, 1999. 6