Wykład 4: Podstawy bezpieczeństwa i IT

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wykład 4: Podstawy bezpieczeństwa i IT"

Transkrypt

1 Wykład 4: Podstawy bezpieczeństwa i IT dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011

2 Plan Podstawy IT struktury danych kodowanie danych alfanumerycznych notacja SDL automat skończony EDC i ECC kompresja danych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

3 Plan Podstawy bezpieczeństwa kryptologia funkcje haszujące liczby losowe uwierzytelnianie dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

4 PODSTAWY IT struktury danych, kodowanie, SDL, automaty, EDC i ECC, kompresja danych dr inż. dr Marek inż. Marek Mika, Mika, Instytut Instytut Informatyki, Politechnika Poznańska,

5 Podstawy IT struktury danych kodowanie danych alfanumerycznych notacja SDL automat skończony EDC i ECC kompresja danych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

6 Struktury danych ASN.1 (Abstract Syntax Notation) sposób opisu obiektów danych niezależny od sposobu ich kodowania pierwotnie przeznaczony do transmisji danych pomiędzy różnymi systemami komputerowymi XML (extensible Markup Language) może stanowić alternatywę dla ASN.1 dotychczas niezbyt popularny w obszarze zastosowań KE PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

7 ASN.1 Rodzaj sztucznego języka Odpowiedni do opisu danych i ich struktur (nie nadaje się do programowania) Norma ISO/IEC 8824 składnia Norma ISO/IEC 8825 kodowanie Obydwie normy wywodzą się z CCITT Recommendation X.409 PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

8 ASN.1 typy danych Podstawowe typy proste - BOOLEAN - INTEGER - BIT STRING - OCTET STRING - REAL - ENUMERATED złożone - SEQUENCE struktura uporządkowana - SET struktura nieuporządkowana PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

9 Przykład: definicja typu i obiekt danych PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

10 Kodowanie TLV TLV Tag-Length-Value Norma ISO/IEC znaczniki dla obiektów danych używanych w zastosowaniach ogólnych w sferze przemysłowej Norma ISO/IEC znaczniki dla bezpiecznej komunikacji Standard EMV własne znaczniki stosowane w systemach płatniczych Użytkownik ma możliwości definiowania własnych znaczników oraz zagnieżdżania obiektów danych Obecnie tylko niewielka część dostępnej składni stosowana w KE (głównie przez ograniczony rozmiar pamięci) PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

11 BER BER Basic Encoding Rules for ASN.1 ISO/IEC 8825 Zakodowane obiekty danych BER-TLV - obiekty danych zakodowane wg BER Obiekt BER-TLV składa się ze znacznika, długości, danych aktualnych i opcjonalnego znacznika końca PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

12 Reguła kodowania BER-TLV wg ASN.1 PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

13 Dane zakodowane w ASN.1 BER-TLV PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

14 DER DER Distinguished Encoding Rule Podzbiór BER określający sposób kodowania pola długości Rozmiar pola długości: 1,2,3 lub 4 bajty Dwa najbardziej znaczące bity oznaczają klasę obiektu Klasa oznacza ogólny typ danych obiektu: uniwersalna ogólne obiekty (np. liczby całkowite, łańcuchy danych) aplikacyjna obiekt właściwy dla danych zastosowań lub standardów (np. ISO/IEC ) zależna od kontekstu zastosowania niestandardowe prywatna zastosowania niestandardowe W drugim bajcie najbardziej znaczący bit przeznaczony do przyszłych zastosowań (obecnie nieużywany) PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

15 Kodowanie znaczników w ASN.1 PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

16 Kodowanie TLV - przykład PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

17 Struktura pola długości BER w ASN.1 PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

18 Pozostałe informacje nt. ASN.1 Wzorzec (template) - wg normy jest to obiekt danych działający jak kontener dla innych danych ISO/IEC definiuje znaczniki dla obiektów danych stosowanych w różnych zastosowaniach KE (także inne wychodzące poza ten sektor) ISO znaczniki dla KE stosowanych w sektorze finansowym PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

19 ASN.1 zalety i wady Zalety: bardzo łatwe rozszerzanie struktur danych (wystarczy dodać dodatkowy obiekt zakodowany TLV) zapewniona pełna kompatybilność z wcześniejszą wersją (o ile nie usunięto poprzednich obiektów TLV) pełna kompatybilność z nowymi wersjami struktur (wymagana tylko pewna modyfikacja znaczników) łatwo można przedstawić te same dane różnym kodowaniem Wady: w przypadku małych zbiorów danych użytkownika duże koszty zarządzania kodowanymi danymi (1 bajt danych użytkownika wymaga 3 bajtów kodu) PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

20 Schemat budowy złożonej struktury z typów prostych przy kodowaniu TLV PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

21 Porządek danych w strukturze TLV Porządek danych w strukturze TLV nieistotny procesor najpierw odczytuje znacznik szuka znacznika wśród tych znaczników, które zna jeśli znajdzie to następnie czyta pole długości i odpowiednią liczbę bajtów danych jeśli nie znajdzie to pomija nieznany znacznik i przechodzi do następnego obiektu Rozszerzenie struktury przez dodanie nowego obiektu bezproblemowe można go dodać w dowolnym miejscu (pomiędzy innymi obiektami) jeśli jakiś starszy program nie będzie znał nowego znacznika po prostu go przeskoczy PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

22 Porządek obiektów danych w strukturze TLV - przykład PODSTAWY IT STRUKTURY DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

23 Podstawy IT struktury danych kodowanie danych alfanumerycznych notacja SDL automat skończony EDC i ECC kompresja danych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

24 Kod siedmiobitowy (ASCII) 2 7 =128 znaków ASCII American Standard Code for Information Interchange norma ISO/IEC 646 główna wada za mało znaków dla wielu praktycznych zastosowań stosowany w systemach GSM (standard TS ) PODSTAWY IT KODOWANIE DANYCH ALFANUMERYCZNYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

25 Kod ośmiobitowy (PC-ASCII) 2 8 = 256 znaków pochodzi od ASCII (pierwsze 128 znaków) norma ISO/IEC 8859 dwie 7-bitowe tablice: stała zgodna z ASCII zmienna używana na potrzeby znaków charakterystycznych dla alfabetów narodowych np. Latin 1, Latin 2 (w DOS-ie strona kodowa 850, w Windows ANSI, mainframe EBCDIC /nie stosowany w KE/) PODSTAWY IT KODOWANIE DANYCH ALFANUMERYCZNYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

26 Kod szesnastobitowy (Unicode) do znaków opracowany przez Unicode Consortium pierwsze 256 znaków takie jak w ISO/IEC 8859-Latin 1 da się zakodować większość znaków (nie wszystkie) możliwość łączenia znaków parami (tzw. escape sequence w Unicode 3.0) umożliwia zakodowanie ok. 1 mln znaków PODSTAWY IT KODOWANIE DANYCH ALFANUMERYCZNYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

27 Kod 32-bitowy (UCS) 2 32 = znaków (obecnie używana tylko połowa) Pozwala zakodować wszystkie znaki (litery, cyfry, ideogramy itp.) ze wszystkich żywych i martwych języków świata UCS Universal Character Set Norma ISO/IEC Składa się z 4 bajtów nazywanych (od najbardziej znaczącego): grupa płaszczyzna wiersz komórka PODSTAWY IT KODOWANIE DANYCH ALFANUMERYCZNYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

28 UCS płaszczyzna zerowa i wiersz zerowy Płaszczyzna składa się z znaków Najniższa płaszczyzna (grupa 0, płaszczyzna 0) to tzw. podstawowa płaszczyzna wielojęzyczna - jest identyczna z unikodem Najniższy wiersz (g:0, p:0, w:0) odpowiada ISO/IEC 8859-Latin 1 (a pierwsze 128 znaków kodowi ASCII) PODSTAWY IT KODOWANIE DANYCH ALFANUMERYCZNYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

29 Porównanie systemów kodowania znaków alfanumerycznych PODSTAWY IT KODOWANIE DANYCH ALFANUMERYCZNYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

30 UTS Istnieją trzy powszechnie używane schematy UTS (UCS Transformation Format) UTF-8 koduje bajty UTF-16 koduje znaki 16-bitowe (Unicode) tzw. UCS-2 UTF-32 tzw. UCS-4 PODSTAWY IT KODOWANIE DANYCH ALFANUMERYCZNYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

31 Plan Podstawy IT struktury danych kodowanie danych alfanumerycznych notacja SDL automat skończony EDC i ECC kompresja danych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

32 Notacja SDL SDL Specification and Description Language Szczegółowy opis w CCITT Recommendation Z.100 Notacja w postaci diagramów opisujących stany i przejścia pomiędzy nimi Diagram SDL zawsze jest prowadzony od lewego górnego rogu do prawego dolnego (nie trzeba stosować strzałek) W uproszczeniu notacja służy do opisu systemu składającego się z wielu procesów, gdzie każdy proces to automat skończony, który w stanie stabilnym może otrzymać sygnał zewnętrzny, na skutek którego może przejść do nowego stanu (pomiędzy stanami mogą wystąpić dodatkowe działania np. transmisja danych, obliczenia wartości itp.) PODSTAWY IT NOTACJA SDL dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

33 Podstawowe symbole notacji SDL 1 - Start (początek procesu); 2 Task (czynność opisana tekstem umieszczonym wewnątrz pola); 3 Decision (pytanie z odpowiedzią T/N); 4 Label (odnośnik do innego diagramu); 5 Input oraz 6 Output (interfejsy do świata zewnętrznego parametry wewn. bloku); 7 State (stan); 8 Subroutine (oznacza, że ten fragment diagramu jest opisany gdzie indziej); 9 Suroutine start oraz 10 Subroutine end (ograniczają szczegółowy opis podprogramu) PODSTAWY IT NOTACJA SDL dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

34 Plan Podstawy IT struktury danych kodowanie danych alfanumerycznych notacja SDL automat skończony EDC i ECC kompresja danych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

35 Automaty - podstawy teoretyczne Diagram stanów digraf reprezentujący zbiór stanów (węzły) i związki pomiędzy nimi (łuki) Ścieżka Pętla Norma ISO/IEC definiuje automaty dla KE i opisuje m.in. Access Control Descriptor (ACD) ACD określa komendy dopuszczalne w danym stanie i ich parametry PODSTAWY IT AUTOMAT SKOŃCZONY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

36 Reprezentacja automatu w postaci diagramu stanów i diagramu SDL diagram stanów diagram SDL PODSTAWY IT AUTOMAT SKOŃCZONY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

37 Reprezentacja automatu w postaci tabelarycznej PODSTAWY IT AUTOMAT SKOŃCZONY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

38 Reprezentacja automatu w UML prosty z podstanami PODSTAWY IT AUTOMAT SKOŃCZONY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

39 Zalety praktycznych zastosowań automatu Zalety: mała zajętość pamięci zwarty kod programu ściśle określona sekwencja stanów jest wystarczającym prostym i skutecznym zabezpieczeniem dostępu do danych PODSTAWY IT AUTOMAT SKOŃCZONY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

40 Wady praktycznych zastosowań automatu Wady: błąd w diagramie stanów może mieć fatalne skutki dla bezpieczeństwa systemu w przypadku skomplikowanych automatów problemy z wykazaniem poprawności diagramu stanów implementacja rozbudowanego automatu o określonych możliwościach czasochłonna zarówno na etapie projektowania, jak i programowania skomplikowane automaty potrzebują bardzo dużo pamięci (w kontekście pojemności pamięci KE) PODSTAWY IT AUTOMAT SKOŃCZONY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

41 Prosty dwustanowy automat dla KE PODSTAWY IT AUTOMAT SKOŃCZONY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

42 Plan Podstawy IT struktury danych kodowanie danych alfanumerycznych notacja SDL automat skończony EDC i ECC kompresja danych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

43 EDC i ECC Układy elektroniczne KE wrażliwe na skoki napięcia zasilającego oraz na wysoką temperaturę Konieczność stosowania mechanizmów wykrywania błędów pamięci EDC Error Detection Code pozwala wykryć błędy pamięci (z prawdopodobieństwem zależnym od zastosowanej metody) ECC Error Correction Code rozszerzenie EDC, które w pewnym stopniu (z prawdopodobieństwem zależnym od zastosowanej metody) potrafi naprawić błędy pamięci Wszystkie metody EDC opierają się na sumach kontrolnych metody są jawne PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

44 Zasada działania EDC PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

45 Bit parzystości Najprostsza technika Parzystość parzysta i nieparzysta Wady: korekcja niemożliwa (nie można okreslić pozycji błędu) nie wykrywa błędów parzystych duże nakłady pamięciowe 1:8 (12,5%) problemy ze stosowaniem w pamięci o organizacji bajtowej (dlatego nie stosowane w KE) PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

46 Bit parzystości przykład PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

47 Suma kontrolna XOR Inna nazwa to LRC (Longitudinal Redundancy Check) Zasada: wylicza sumę XOR kolejnych bajtów (((B1 xor B2) xor B3) xor B4) sprawdzenie polega na ponownym wyznaczeniu sumy XOR i wykonaniu operacji XOR wyniku z zapamiętaną sumą kontrolną (wynik różny od zera oznacza wykrycie błędów) Zastosowania: transmisja danych w niektórych zastosowaniach do weryfikacji spójności zawartości pamięci PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

48 Suma kontrolna XOR przykład PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

49 XOR zalety i wady Zalety: proste i szybkie obliczenia bardzo łatwa implementacja (kod wielkości bajtów) sprawdzony w transmisji danych często z definicji zaimplementowany na karcie (norma ISO wymusza dla protokołu T=1) Wady: nie wykrywają zmiany kolejności bajtów nie wykrywają błędów tego samego bitu w parzystej liczbie bajtów PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

50 Suma kontrolna CRC CRC Cyclic Redundancy Check Metoda EDC powszechnie stosowana w transmisji danych (modemowe protokoły Xmodem, Zmodem, Kermit, sprzętowe implementacje w kontrolerach HDD Norma ISO/IEC i rekomendacja CCITT V.41 Mechanizm: dane są traktowane jak bardzo duża liczba, która następnie jest dzielona przez wielomian generatora Sprawdzenie poprawności danych wymaga znajomości wielomianu generatora i początkowej wartości rejestru przesuwnego i polega na ponownym wyliczeniu CRC i porównaniu z zapisaną wartością PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

51 CRC-16 i CRC-32 CRC-16 jest wyznaczane z zastosowaniem 16- bitowego rejestru przesuwnego CRC-32 jest wyznaczane przy zastosowaniu 32-bitowego rejestru przesuwnego CRC-16 stosowane dla bloków o rozmiarze do 4kB (powyżej spada wydajność) CRC-32 może obsłużyć bloki o rozmiarze do 4GB Początkowa wartość rejestru przesuwnego to 0 (metody zgodne z ISO 3309), w nielicznych przypadkach wszystkie bity rejestru ustawione na 1 (rekomendacja CCITT X.25) PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

52 Powszechnie stosowane wielomiany PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

53 Zasada wyliczania CRC-16 Generator G(x)=x 16 +x 12 +x 5 +1 PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

54 Liczenie CRC przykład wielomian G(x)=x 16 +x 12 +x 5 +1 początkowa wartość rejestru 0000 PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

55 CRC zalety i wady Zalety; solidny sposób wykrywania błędów (nawet wielokrotnych) umożliwia wykrycie zamiany bajtów (kolejność ma znaczenie) łatwy w implementacji mała zajętość pamięci możliwość implementacji sprzętowej niektóre mikrokontrolery wyposażone w elementy wspomagające liczenie CRC Wady: stosunkowo wolne działanie w wersji software owej (ok.200 razy wolniej niż XOR) PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

56 Kodowanie Reeda-Solomona 1960 podstawy opracowane przez matematyków Reeda i Solomona Jest to również kod ECC Mechanizm oparty na arytmetyce ciał skończonych Zastosowania: magazynowanie danych (CD, DVD, dyski Blue- Ray, kody kreskowe) transmisja danych (DSL, WiMAX, komunikacja satelitarna, sondy kosmiczne) PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

57 Kodowanie Reeda-Solomona c.d. Kodowanie cykliczne Metoda zorientowana na bloki danych Wielomian generatora ma wpływ na liczbę wykrywanych i poprawianych błędów Kod RS oparty na ciele skończonym rozmiaru 2 8 wykrywa 2 błędne bajty i poprawia 1 (przy 2 dodatkowych bajtach), 3 i 1 (przy 3), 4 i 2 (przy 3) Powszechnie stosowany od lat w KE do wykrywania błędów danych przechowywanych w pamięciach EEPROM lub Flash PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

58 Kodowanie Reeda-Solomona zalety Program wielkości ok. 100B Dość szybki Możliwa implementacja sprzętowa Powszechnie używany w różnych obszarach zastosowań PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

59 ECC schemat działania PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

60 ECC Metody obliczeniowe pamięciowo- i czasochłonne, zazwyczaj projektowane tylko dla drobnych błędów Rozwiązania alternatywne: umieścić kopie danych w kilku obszarach i zastosować technikę głosowania większościowego (typowe 3 obszary, 2/3 zwycięża) mniej pamięciożerne rozwiązanie to dwa obszary sprawdzanie sumą kontrolną EDC (łatwo wykryć błąd, łatwo wykryć miejsce błędu, stosunkowo łatwo można go naprawić) PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

61 ECC metody alternatywne zalety i wady Zalety: łatwość zaprogramowania prosty mechanizm prosty i zwięzły kod programu Wady: duża zajętość pamięci PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

62 Metoda Reeda-Salomona jako ECC Wymagane około kilkuset bajtów na kod programu Rozmiar zakodowanych danych zależy przede wszystkim od wymaganego prawdopodobieństwa wykrywania i lub poprawnej korekcji PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

63 Korekcja błędnych danych - wady Znacząca ilość potrzebnej pamięci Czasochłonne (metoda kilku kopii, czas zapisu) Wymagane miejsce na przechowywanie EDC Nie zabezpieczają w pełni (tylko do wybranego poziomu) Jeśli korekcja przebiega automatycznie (z poziomu OS-u) to nie ma pewności co do jej poprawności (w niektórych zastosowaniach błędna korekcja niedopuszczalna np. portmonetka elektroniczna) Czynnik ludzki łatwiej uwierzyć w manipulowanie danymi niż w błąd zaimplementowanej metody PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

64 Korekcja błędnych danych w pamięci flash o rozmiarze rzędu MB Podejście zwane FTL (Flash Translation Layer) W przypadku wykrycia błędnych danych w bloku pamięci, blok ten jest izolowany i zabrania się wykonywania na nim jakichkolwiek operacji PODSTAWY IT EDC I ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

65 Plan Podstawy IT struktury danych kodowanie danych alfanumerycznych notacja SDL automat skończony EDC i ECC kompresja danych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

66 Kompresja danych Metody stratne i bezstratne W KE stosowane wyłącznie metody bezstratne Warunki dobrego algorytmu kompresji niewielka zajętość pamięci (przede wszystkim RAM) akceptowalna prędkość kompresji PODSTAWY IT KOMPRESJA DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

67 Podstawowe procesy kompresji i dekompresji danych PODSTAWY IT KOMPRESJA DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

68 Podział metod bezstratnych PODSTAWY IT KOMPRESJA DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

69 RLE i VLE RLE Run-Length Encoding (kodowanie długości serii) powtarzające się znaki zastępuje się parą (liczba wystąpień znak) VLE Variable-Length Encoding (kodowanie znakami o zmiennej długości) analizowana jest częstotliwość wystąpienia poszczególnych znaków, najczęściej występujące znaki są kodowane w pierwszej kolejności krótkimi kodami PODSTAWY IT KOMPRESJA DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

70 Wersje VLE Statyczna do kodowania używana wcześniej zdefiniowana tablica Dynamiczna najpierw analizowana jest częstość wystąpienia poszczególnych znaków i na jej podstawie budowana jest tablica Adaptacyjna tablica jest na bieżąco modyfikowana w czasie kompresji PODSTAWY IT KOMPRESJA DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

71 Kompresja danych w KE Dynamiczna i adaptacyjna wersja VLE: raczej nie stosowane, ze względu na pamięciochłonność (szczególnie RAM) RLE: krótki kod programu zastosowanie wyłącznie do danych z powtarzającą się zawartością Statyczna wersja VLE: dobry gdy znany jest zbiór używanych znaków oraz częstość występowania poszczególnych znaków (np. książka telefoniczna na karcie SIM) Kompresja i dekompresja powinny być transparentne dla użytkownika PODSTAWY IT KOMPRESJA DANYCH dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

72 PODSTAWY ZABEZPIECZEŃ Kryptologia, funkcje haszujące, liczby losowe, uwierzytelnianie dr inż. dr Marek inż. Marek Mika, Mika, Instytut Instytut Informatyki, Politechnika Poznańska,

73 Plan Podstawy bezpieczeństwa kryptologia funkcje haszujące liczby losowe uwierzytelnianie dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

74 Kryptologia Kryptologia dzieli się na kryptografię i kryptoanalizę Kryptografia wiedza o metodach szyfrowania i deszyfrowania danych Kryptoanaliza wiedza o łamaniu metod kryptograficznych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

75 Cele kryptografii Poufność tylko właściwy odbiorca może odczytać dane Autentyczność odbiorca ma pewność, że komunikat pochodzi od właściwego nadawcy Integralność odbiorca jest w stanie zweryfikować czy otrzymany komunikat nie był modyfikowany w trakcie transmisji Niezaprzeczalność siła wiążąca, strona biorąca udział w wymianie nie może się wyprzeć swojego w niej udziału Cele są niezależne i stanowią odrębne wymagania względem systemu dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

76 Symbolika dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

77 Notacja dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

78 Podstawowe informacje o kryptografii W uproszczeniu technologia szyfrowania ma do czynienia z 3 typami danych: tekst jawny szyfrogram klucze Współczesne algorytmy kryptograficzne są zorientowane blokowo (mogą przetwarzać tylko pakiety danych o określonym rozmiarze) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

79 Podstawowe zasady kryptografii Zasada Kerckchoffsa całe bezpieczeństwo systemu powinno zależeć od poufności klucza, a nie od poufności zastosowanej metody szyfrowania Zasada bezpieczeństwa przez niezrozumienie (security through obscurity) polega na ukrywaniu szczegółów dotyczących, algorytmów, implementacji, formatów i protokołów dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

80 Zasady kryptografii w praktyce Wiele algorytmów szyfrujących stosowanych w sektorze cywilnym zostało upublicznionych a część z nich ustandaryzowano Wbrew pozorom nadal wiele systemów stosuje praktykę ukrywania szczegółów stosowanej metody praktyka pokazuje, że systemy takie są szynko łamane Możliwe jest łączenie obydwu zasad, wtedy ukrywanie szczegółów metody pełni rolę dodatkowego zabezpieczenia Błędnym okazuje się przyjęcie założenia, że współczesny sprzęt nie jest w stanie złamać szyfru dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

81 Algorytmy kryptograficzne Dwa typy: symetryczne ten sam klucz używany do szyfrowania i deszyfrowania asymetryczne szyfrowanie i deszyfrowanie odbywają się przy zastosowaniu różnych kluczy Główny parametr to tzw. rozmiar przestrzeni kluczy (im większy tym lepiej) Główne wymaganie wobec algorytmu szyfrującego to niezależność czasu przetwarzania od klucza, tekstu jawnego i szyfrogramu dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

82 Podział algorytmów kryptograficznych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

83 Kryptoanaliza bezpieczeństwo systemu System teoretycznie bezpieczny system, którego nie da się złamać dysponując nawet nieograniczonym czasem i nieograniczonymi środkami System praktycznie bezpieczny system, którego nie da się złamać w określonym czasie przy użyciu ograniczonych środków dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

84 Szkodliwe działania intruza dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

85 Typy ataków kryptoanlitycznych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

86 Ataki kryptoanalityczne ciphertext-only (atak ze znanym szyfrogramem) kryptoanalityk ma do dyspozycji jedynie szyfrogram i na jego podstawie chce odnaleźć klucz (dobre współczesne szyfry są odporne na tego rodzaju ataki). known-plaintext (atak ze znanym tekstem jawnym) kryptoanalityk ma do dyspozycji tekst jawny i odpowiadający mu tekst zaszyfrowany (może to być jedna lub wiele takich par). chosen-plaintext (atak z wybranym tekstem jawnym), kryptoanalityk może wybrać dowolny tekst jawny i poznać (także wielokrotnie) odpowiadający mu szyfrogram klucz można odkryć eksperymentalnie chosen-ciphertext (atak z wybranym szyfrogramem), kryptoanalityk może wybrać szyfrogram i zdobyć odpowiadający mu tekst jawny atak brutalny (brut-force) dla znanej pary tekst jawnyszyfrogram sprawdza się kolejne klucze (statystycznie atak taki wymaga przejrzenie połowy przestrzeni kluczy) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

87 Algorytmy symetryczne DES AES IDEA COMP 128 Milenage TDES dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

88 Podstawowy mechanizm działania symetrycznego algorytmu kryptograficznego dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

89 DES DEA Data Encryption Algorithm Najbardziej znany najpowszechniej stosowany algorytm symetryczny Opracowany przez IBM przy współpracy z US NBS (National Bureau of Standards Opublikowany w 1977 jako FIPS 46 standard Standard opisujący DEA jest powszechnie znany jako Data Encryption Standard (DES) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

90 Zasada działania algorytmu DES dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

91 Confusion i diffusion Dwie reguły: confusion i diffusion Confusion statystyki szyfrogramu powinny wpływać na statystyki tekstu jawnego w taki sposób, że jest to zbyt złożone, by atakujący mógł osiągnąć z tego jakieś korzyści Diffusion każdy bit tekstu jawnego i każdy bit klucza powinny wpływać na tyle bitów szyfrogramu na ile tylko się da dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

92 Cechy algorytmu DES Stosuje zasadę Kerckchoffsa Symetryczny Blokowy Nie poszerza szyfrowanego zbioru danych (rozmiar tekstu jawnego i szyfrogramu identyczne) Rozmiar bloku 64 bity Rozmiar klucza 64 bity (obecnie używane 56) 8 bitów parzystości na blok (od lewej 8,16, 24,,64 bit) Parzystość parzysta Przestrzeń kluczy , za mała jak na możliwości współczesnego sprzętu dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

93 Zastosowanie algorytmu DES Był projektowany z myślą o implementacji sprzętowej Wiele obecnych mikrokontrolerów jest wyposażonych w sprzętowy układ DES Implementacja software owa w assemblerze zajmuje 1-2kB Prędkość działania implementacji software owej raczej niska Klucze mogą być generowane generatorem liczb losowych powinny być porównane z 4 słabymi i 12 prawie słabymi kluczami obliczane są bity parzystości wynik staje się kluczem DES dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

94 Typowe czasy obliczeń dla DES dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

95 Algorytm AES 1997 US NIST (National Institute of Standard and Technology) ogłasza konkurs na następcę DES-a 1998 wybór 15 kandydatów i poddanie ich ocenie przez US NSA (National Security Agency), instytucje badawcze, ekspertów i inne zainteresowane strony 2000 ogłoszenie zwycięzcy algorytm nazwany wcześniej Rijdael opracowany prze belgijskich kryptografów (Daemen i Rijmen) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

96 Cechy algorytmu AES Symetryczny Blokowy Rozmiar bloku 128 bitów Rozmiar klucza: 128 bitów AES bity AES bitów AES-256 Odpowiedni do implementacji sprzętowej Łatwa implementacja software owa Rozmiar programu ok. 4kB Przestrzeń kluczy , Wolna licencja, darmowy standard FIPS 197 Użyteczny czas życia ok.20 lat dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

97 Typowe czasy dla AES-128 dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

98 IDEA IDEA International Data Encryption Algorithm Opracowany przez Lai i Massey a 1990 opublikowany jako PES (Proposed Encryption Standard) 1991 poprawiona wersja IPES (Improved PES) Przemianowany na IDEA W pełni spełniona zasada Kerckchoffsa Patent dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

99 Cechy algorytmu IDEA Blokowy Rozmiar bloku 64 bity Rozmiar klucza128 bitów Przestrzeń kluczy , Strukturalnie kompatybilny z DES i Triple DES (może być używany w ich miejsce, ale nie może odszyfrować szyfrogramu zaszyfrowanego przez któryś z tych algorytmów) Rozmiar kodu programu ok. 1kB Nieliczne implementacje w KE Czas obliczeń trochę mniejszy niż dla DES dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

100 Czasy obliczeń algorytmu IDEA dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

101 COMP 128 Pierwotnie poufny Złamany w 1998 po opublikowaniu szczegółów struktury Działa w 9 rundach i ma w jądrze funkcję haszującą generującą 128 bitową wartość haszującą z 256 bitowej wartości wejściowej COMP i COMP następcy COMP 128 bez słabych stron swego poprzednika COMP (Milenage) następca COMP 128 oparty na AES dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

102 Milenage Symetryczny Przeznaczony dla funkcji kryptograficznych f1 i f5 USIM Jądro używa AES Standard TS Oficjalny algorytm projektu 3GPP używany przez wielu operatorów sieciowych w operacjach czasu rzeczywistego dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

103 Tryby operacyjne algorytmów szyfrowania blokowego Wg ISO 8372 każdy blokowy algorytm szyfrujący może być użyty w jednym z 4 trybów: CFB i OFB odpowiednie dla łańcuchów tekstowych nie mających struktury blokowej (nie stosowane w KE) ECB i CBC oparte na blokach 8 bajtowych (stosowane w KE) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

104 Tryby ECB ECB Electronic CodeBook Podstawowy tryb operacyjny DES-a 8 bajtowe bloki szyfrowane osobno tym samym kluczem dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

105 Tryby CBC CBC Cipher Block Chaining Poszczególne bloki wieloblokowego łańcucha danych łączone podczas szyfrowania operacją XOR Bloki wzajemnie od siebie zależą, możliwa jest więc detekcja manipulacji zawartości dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

106 Wielokrotne szyfrowanie Może być używane dla każdego blokowego algorytmu szyfrującego Algorytm szyfrujący nie może być grupą (nie zwiększa się przestrzeń kluczy dwukrotne szyfrowanie dwoma różnymi kluczami może być osiągnięte jednokrotnym szyfrowaniem trzecim kluczem) Dwukrotne szyfrowanie łatwe do złamania metodą meet-in-the-middle dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

107 Meet-in-the-middle Trzeba znać co najmniej jedną parę tekst jawnyszyfrogram Tekst jawny jest szyfrowany wszystkimi możliwymi wersjami pierwszego klucza, a szyfrogram jest deszyfrowany wszystkimi możliwymi wersjami drugiego klucza Porównywane są wygenerowane zbiory wynikowe, jeśli jest zgodność, to prawdopodobnie znaleziono parę kluczy, ale potrzeba to jeszcze potwierdzić dla innej pary tekstów dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

108 Triple DES TDES, DES-3, 3-DES, 2-DES, TDEA Nie da się go złamać atakami meet-in-the-middle Stosowany w sektorze płatniczym i w standardach dla tego sektora (np. EMV) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

109 Opcje kluczy dla Triple DES 3 możliwości wszystkie 3 klucze niezależne pierwszy i drugi niezależne, trzeci identyczny z pierwszym wszystkie 3 identyczne (wtedy to samo co DES) nie zalecane Druga operacja odwrotna do pierwszej i trzeciej (gwarancja zgodności z DES i wzmocnienie wersji z dwoma kluczami) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

110 Tryby pracy Triple DES TDES w wewnętrznym trybie CBC wszystkie trzy operacje wykonywane bezpośrednio na każdym bloku tekstu jawnego TDES w zewnętrznym trybie CBC operacje wykonywane po kolei na całym pliku dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

111 Podstawowe parametry symetrycznych algorytmów kryptograficznych stosowanych w KE dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

112 Algorytmy asymetryczne 1976 Koncepcja Diffiego i Hellmana by użyć jednego klucza (publicznego) do szyfrowania i drugiego (prywatny) do deszyfrowania Nie ma problemu z poufnym przekazywaniem klucza symetrycznego Możliwość użycia w do tej pory niemożliwych zastosowaniach (np. weryfikacja podpisu elektronicznego) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

113 Mechanizm klucza asymetrycznego dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

114 Algorytmy asymetryczne stosowane w KE RSA DSS EC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

115 Algorytm RSA RSA Rivest, Shamir, Adleman (1978) Najbardziej znany algorytm asymetryczny Prosta reguła oparta na arytmetyce wielkich liczb rzeczywistych Obydwa klucze generowane na podstawie bardzo dużych liczb pierwszych Przed szyfrowaniem tekst jawny należy uzupełnić (padding) do właściwego rozmiaru bloku dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

116 Mechanizm algorytmu RSA szyfrowanie: deszyfrowanie: y = x e mod n x = y d mod n y szyfrogram x tekst jawny e klucz publiczny d klucz prywatny n dzielnik modulo (publiczny) n=p q p, q liczby pierwsze (tajne) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

117 Bezpieczeństwo algorytmu RSA Szyfrogramu nie można zdeszyfrować bez znajomości klucza prywatnego Faktoryzacja dzielnika modulo bardzo trudna dla dużych liczb brak efektywnych algorytmów Udana faktoryzacja umożliwia wyznaczenie całego klucza prywatnego Długość klucza prywatnego ma istotny wpływ na bezpieczeństwo: stosowane są klucze 128 bajtowe i 256 bajtowe (1024 bity i 2048 bitów) Zaleca się stosować klucze równej długości, ale w niektórych zastosowaniach warto używać krótkiego klucza publicznego Złamano już klucz 768-bitowy (2009 klaster komputerów) Potencjalnym zagrożeniem będzie komputer kwantowy dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

118 Typowe wartości klucza publicznego dla algorytmu RSA Wartość dziesiętna Wartość potęgowa Wartość binarna Uwagi Jedyna parzysta liczba pierwsza; Stosowana w algorytmie Rabina Najmniejsza nieparzysta liczba pierwsza Druga liczba Fermata Czwarta liczba Fermata dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

119 Typowe rozmiary klucza RSA i charakterystyczne wartości Rozmiar klucza bity bajty Max liczba cyfr Rozmiar przestrzeni liczb (RP) Liczba liczb pierwszych (LP) LP/RP dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

120 Nakłady obliczeniowe algorytmu RSA Proporcjonalne do długości klucza (zależność wykładnicza) Potęgowanie dużych liczb całkowitych jest czasochłonne i zajmuje dużo pamięci RAM Usprawnienia: algorytm szybkiego potęgowania dla potęgowania modulo chińskie twierdzenie o resztach 8 bitowe procesory KE (bez koprocesora) nie są w stanie efektywnie wykonać algorytmu RSA Rozmiar kodu dla sprzętowo wspomaganego RSA z kluczem 1024 bitowym to ok. 1kB dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

121 Przykładowe czasy obliczeń RSA czasy szyfrowania i deszyfrowania RSA w funkcji długości klucza rzeczywiste czasy mogą znacznie odbiegać od zaprezentowanych w zależności od konfiguracji sprzętowej, struktury klucza, zastosowania Chińskiego twierdzenia o resztach (podpis cyfrowy) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

122 RSA pozostałe informacje Algorytmy RSA są skalowalne - nie są sztywno związane z jednym rozmiarem klucza, wydłużenie klucza nie wymaga zmian w programie Dla obecnie dostępnych algorytmów faktoryzacji obowiązuje zasada, że wydłużenie klucza o 15 bitów podwaja nakłady obliczeniowe algorytmów faktoryzacji RSA mimo dużej skuteczności rzadko używany do szyfrowania ze względu na czas obliczeń, stosowany głównie w podpisach cyfrowych W przypadku zastosowań w obszarze KE główną wadą jest ilość pamięci potrzebna do zapamiętania klucza Złożoność procesu generowania klucza jest problemem w niektórych przypadkach dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

123 Przykład generowania klucza RSA Wybierz dwie liczby pierwsze [np. p=3, q=11] Oblicz publiczny dzielnik modulo n=p q [n=3 11] Oblicz wartość z=(p-1) (q-1) [z=(3-1) (11-1)=2 10=20] Wyznacz klucz publiczny e spełniający warunki: e < z NWD(z,e)=1 [3,7,9,11,13,17,19] jeśli kilka liczb spełnia te warunki, to wybierz dowolną z nich [np. e=7] Wyznacz klucz prywatny spełniający warunek (d e) mod 2=1 [np. d=3] dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

124 RSA generowanie kluczy W praktyce generowanie kluczy jest bardziej skomplikowane: zastosowanie metody Sita Eratostenesa niepraktyczne dla kluczy o rozmiarze 1024 bitów (liczby 309 cyfrowe) aby określić prawdopodobieństwo, że liczba jest liczbą pierwszą stosowane są testy probabilistyczne (np. Millera-Rabina lub Solovaya-Strassena) aby przyspieszyć działanie najpierw sprawdza się podzielność wygenerowanej liczby przez małe liczby pierwsze (2,3,5 i 7), dopiero potem stosuje się testy czas potrzebny na wygenerowanie klucza nie jest stały ale ma rozkład w przybliżeniu normalny dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

125 Algorytm generowania klucza RSA z testem Millera- Rabina dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

126 Rozkład czasów generowania kluczy dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

127 Typowe czasy generowania kluczy Czasy potrzebne do wygenerowania pary kluczy publiczny/prywatny dla asymetrycznego algorytmu RSA 3 typowe czasy: średni, potrzebny do wygenerowania 95% wszystkich par i potrzebny do wygenerowania 99% wszystkich par PC z zegarem 2 GHz jest około 7 razy szybszy dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

128 Algorytm DSS 1991 draft algorytmu kryptograficznego do podpisu komunikatów opracowany przez US National Institute of Standards and Technology (NIST) Obecnie standard FIPS 186 Sam algorytm nosi nazwę DSA (Digital Signature Algorithm) a definiujący go standard DSS (Digital Signature Standard) DSA jest modyfikacją algorytmu El Gamala DSA drugi po RSA pod względem popularności algorytm podpisu cyfrowego dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

129 Bezpieczeństwo algorytmu DSS U podstaw leży problem znajdowania logarytmu dyskretnego: łatwo wyznaczyć y=a x mod p odwrotne działanie, czyli obliczenie x dla znanych y, a oraz p wymaga bardzo dużych nakładów obliczeniowych W przypadku zastosowań do podpisu cyfrowego przed zastosowaniem algorytmu DSS komunikat należy skrócić do wymaganej długości algorytmem haszującym SHA-1, generującym 160 bitową wartość z komunikatu o dowolnej długości W praktyce RSA jest jednak dużo częściej stosowany dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

130 Kryptografia krzywych eliptycznych Trzecie podejście do asymetrycznych algorytmów kryptograficznych 1985 Victor Miller i Neal Koblitz niezależnie proponują zastosowanie krzywych eliptycznych w konstrukcji algorytmów kryptograficznych ECC Elliptic Curve Cryptosystems systemy kryptograficzne, których działanie opiera się na zastosowaniu krzywych eliptycznych Krzywe eliptyczne krzywe planarne określone wzorem y 2 =x 3 +ax+b w skończonej przestrzeni trójwymiarowej Standard IEEE 1363 i norma ISO/IEC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

131 Kryptografia krzywych eliptycznych - cechy Mniejsze wymagania obliczeniowe niż RSA Szacuje się, że system ECC z kluczem 160 bitowym jest tak samo bezpieczny jak RSA z kluczem 1024 (256/2048 i 320/5120) Moc kryptograficzna i względnie krótki klucz zaletą w zastosowaniach KE Koprocesory mikrokontrolerów KE wspierają ECC, ale niskie wymagania umożliwiają zastosowanie również w kartach bez koprocesora Ograniczona liczba wdrożeń wynika z: konieczności modyfikowania istniejących systemów zaprojektowanych do współpracy z RSA większego stopnia trudności od strony obliczeń matematycznych niż RSA dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

132 Przykładowe czasy obliczeń ECC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

133 Rozmiary klucza w asymetrycznych algorytmach kryptograficznych stosowanych w KE dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

134 Padding Proces powiększania zbiorów danych do rozmiaru odpowiadającego całkowitej wielokrotności rozmiaru bloku Stosowany w kryptografii w algorytmach blokowych Problem z deszyfrowaniem (nie wiadomo, gdzie granica pomiędzy tekstem jawnym a paddingiem) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

135 Rozwiązania problemu deszyfrowania danych uzupełnionych paddingiem Na początku pliku dodać informację o długości komunikatu wady: wydłużony komunikat, nadmiarowe w przypadku danych, które nie muszą być szyfrowane Wiele innych podejść Algorytm wg ISO/IEC 9797 pierwszy bajt po danych użytkownika ustawiany na 80 pozostałe na 00 odbiorca czyta od końca zdeszyfrowany komunikat w poszukiwaniu bajta o wartości 80 i następnie odcina część z paddingiem dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

136 Padding wg ISO/IEC 9797 Method 2 Odbiorca musi wiedzieć czy padding jest stosowany zawsze, czy tylko wtedy gdy niezbędny Aby uniknąć nieporozumień często stosowana jest reguła mówiąca, że padding stosowany jest zawsze wadą takiego rozwiązania jest dodawanie w niektórych sytuacjach jednego nadmiarowego bloku dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

137 Różne metody paddingu stosowane w KE i ich charakterystyki ISO/IEC 9797 Method 1: dane n 00 w generowaniu kodu MAC Method 2: dane 80 n 00 w szyfrowaniu danych ISO/IEC n dane BC w podpisie cyfrowym 60 n RND dane BC w podpisie cyfrowym, gdy potrzeba zindywidualizowania danych PKCS#1 Typ 1: n FF 00 dane w podpisie cyfrowym Typ 2: n RND 00 dane w szyfrowaniu i generowaniu kodu MAC PKCS#5 dla DES i TripleDES ISO tylko przy szyfrowaniu dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

138 MAC i kryptograficzne sumy kontrolne MAC Message Authentication Code Autentyczność komunikatu ważniejsza niż jego poufność (autentyczny = niezmieniony, niezmanipulowany) MAC jest obliczany dla danego komunikatu i dodawany na jego końcu; Odbiorca sam oblicza MAC dla odebranego komunikatu i porównuje z MAC-iem otrzymanym od nadawcy; Jeśli są zgodne, to otrzymany komunikat jest poprawnym komunikatem dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

139 Mechanizm wyznaczania MAC MAC Message Authentication Code Autentyczność komunikatu ważniejsza niż jego poufność (autentyczny = niezmieniony, niezmanipulowany) MAC jest obliczany dla danego komunikatu i dodawany na jego końcu; Odbiorca sam oblicza MAC dla odebranego komunikatu i porównuje z MAC-iem otrzymanym od nadawcy; Jeśli są zgodne, to otrzymany komunikat jest poprawnym komunikatem dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

140 Mechanizm wyznaczania MAC dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

141 MAC informacje różne Liczony jest przy użyciu poufnego klucza, który musi być znany obydwu stronom Jest pewnego rodzaju kodem EDC Czasami określany mianem CCS (cryptographic checksum) lub Signature Pojecie MAC stosowane w transmisji danych; CCS w innych zastosowaniach MAC może być wyznaczany symetrycznymi algorytmami kryptograficznymi (Triple DES lub AES) szyfrowanie odbywa się c trybie CBC (bloki zależą od siebie) a ostatni blok (lub jego część) to właśnie MAC (oryginalny tekst komunikatu pozostaje w formie jawnej) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

142 Warunki stosowania DES do generowania MAC Jeśli długość komunikatu nie jest wielokrotnością 8 bajtów należy zastosować padding W większości przypadków padding to wartości 00 zgodnie z ANSI X.99 Konieczne uzgodnienie długości i położenia kodu MAC (najczęściej są to 4 najbardziej znaczące bajty ostatniego bloku po szyfrowaniu CBC) Bajty paddingu nie są transmitowane (tylko oryginalna wiadomość i kod MAC) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

143 Plan Podstawy bezpieczeństwa kryptologia funkcje haszujące liczby losowe uwierzytelnianie dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

144 Funkcje haszujące Motywacja: obliczanie podpisu cyfrowego czasochłonne duże pliki wymagają wielu podpisów Rozwiązanie: dokument jest kompresowany do krótszej wersji (o określonej długości) i dopiero ta skompresowana wersja jest podpisywana kompresja nie musi być odwracalna, ponieważ podpis można wyznaczyć ponownie z oryginalnego dokumentu tzw. jednokierunkowe funkcje haszujące dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

145 Podstawowe funkcje haszujące stosowane w obszarze KE Funkcje haszujące bez klucza: MD5 SHA-1 SHA-256 SHA-512 Funkcje haszujące z kluczem HMAC RIPEMD 160 dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

146 Mechanizm algorytmów haszujących z kluczem i bez klucza dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

147 Zastosowanie funkcji haszujących w KE Jednokierunkowe funkcje haszujące funkcje obliczające wartość o stałej długości z dokumentu o zmiennej długości; wartość ta reprezentuje oryginalną zawartość dokumentu w postaci skompresowanej, ale nie może być użyta do odtworzenia oryginalnego dokumentu W KE stosowane do wyznaczenia wartości wejściowej do wygenerowania podpisu cyfrowego oraz przy generowaniu liczb pseudolosowych Padding niezbędny, gdy rozmiar pliku nie jest całkowitą wielokrotnością rozmiaru bloku Wartość funkcji obliczana w terminalu lub komputerze podłączonym do terminala (wolna transmisja danych z/do karty) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

148 Cechy dobrej funkcji haszującej Wynik powinien mieć stałą długość Duża przepustowość Łatwe wyliczanie wartości, ale bardzo trudne lub wręcz niemożliwe odtworzenie oryginalnego dokumentu Musi być odporna na kolizje (trudno znaleźć dokument, który będzie prowadził do tej samej wartości dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

149 Ataki na algorytmy haszujące Dwie formy ataku: Wykorzystanie kolizji znalezienie pliku o takiej samej wartości i podmiana pliku Przygotowanie dwóch dokumentów o identycznej wartości haszującej, ale różnej zawartości; Ten sam podpis może być użyty w obydwu przypadkach i trudno dowieść, który z dokumentów był podpisany W oparciu o tzw. paradoks urodzin druga metoda jest skuteczniejsza (183:23) Wartość funkcji haszującej musi być na tyle duża, aby zabezpieczyć przed obiema formami ataku (obecnie za bezpieczną uznaje się wartość 160 bitową) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

150 Funkcje haszujące stosowane w KE Istnieje wiele funkcji haszujących, sporo z nich jest sformalizowanych w formie standardów, które są dość często poprawiane Przegląd funkcji haszujących: ISO/IEC funkcja oparta na algorytmie szyfrującym z n-bitowym blokiem (AES), wartość może być w takim przypadku n lub 2n długa 128,160,256,384,512 bitów MD5 (Message Digest 5) 1990/91, Rivest, następca algorytmu MD4, cały czas w użyciu ale nie uznawany za bezpieczny (wykryto kolizyjność) 128 bitów dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

151 Przegląd funkcji haszujących c.d. SHA (Secure Hash Algorithm) 1992, NIST, opracowana dla DSS, po wykryciu pewnych słabości zmodyfikowana, poprawiona wersja od 1995 znana jako SHA-1 (standard FIPS 180-1) 128 bitów Rodzina funkcji haszujących SHA-2 NIST, SHA-224, SHA-256, SHA-384, SHA-512 liczba po nazwie oznacza długość; do tej pory uważane za bezpieczne ponieważ nie stwierdzono żadnej formy udanego ataku HMAC 1996, RFC 2104 funkcja haszująca z kluczem (wartość liczona na podstawie dokumentu wejściowego i klucza); stosowane do obliczeń kodu MAC np. HMAC- MD5 (128 bitów) i HMAC-SHA-1 (160 bitów) RIPEMD bitów dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

152 Plan Podstawy bezpieczeństwa kryptologia funkcje haszujące liczby losowe uwierzytelnianie dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

153 Liczby losowe w KE Zastosowania w KE: w uwierzytelnianiu do zapewnienia unikalności sesji w paddingu przy szyfrowaniu danych jako liczniki ciągów wysyłania Długość liczb losowych w tych zastosowaniach 2 do 8 bajtów Maksymalna długość jest konsekwencją rozmiaru bloku w algorytmach DES lub AES W tych zastosowaniach potrzebne są liczby losowe: których nie da się przewidzieć nie można na nie wpłynąć z zewnątrz Rozwiązanie generator sprzętowy TRNG (True Random Number Generator) w pełni odporny na czynniki zewnętrzne (temperatura, napięcie zasilania, promieniowanie) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

154 Sprzętowy generator liczb losowych W mikrokontrolerach karty stosowane są układy z rejestrem przesuwnym z liniowym sprzężeniem zwrotnym (LSFR) napędzane oscylatorem sterowanym napięciowo Zaprojektowanie i wykonanie sprzętowego TRNG jest bardzo trudnym zadaniem Projektanci stosują więc rozwiązania sprzętowo-software owe, w których wynik wygenerowany przez sprzętowy RNG jest traktowany jako wejście dla software owego generatora liczb pseudolosowych, który spełnia wymagane kryteria jakości; W połączeniu mogą być traktowane jako TRNG Ważne aby wszystkie karty z danej serii produkcyjnej generowały różne sekwencje liczb losowych Rozwiązanie na poziomie systemu operacyjnego karty do pamięci kolejnych kart wpisuje się wygenerowane liczby pseudolosowe, traktowane jako ziarno generatora dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

155 Generowanie liczb losowych Ograniczenia pamięciowe oraz czasowe znacznie ograniczają liczbę możliwych do zastosowania algorytmów Generator powinien spełniać następujące warunki: nie może generować tych samych liczb w każdej nowej sesji nie może działać w nieskończonej pętli kryterium lawinowe zmiana jednego bitu na wejściu powoduje zmianę co najmniej połowy bitów na wyjściu dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

156 Zasada działania silnego generatora liczb pseudolosowych trzy etapy: inicjowanie, sekwencjonowanie stanów, generowanie liczb losowych idealną wartością początkową (ziarnem generatora) jest liczba losowa pochodząca z fizycznego generatora liczb losowych dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

157 Przykładowa architektura generatora liczb pseudolosowych dla KE generator wykorzystuje blokowy symetryczny algorytm kryptograficzny (np. AES) z blokiem o rozmiarze 8 bajtów i sprzężeniem zwrotnym wartość odczytana z bufora cyklicznego jest szyfrowana kluczem karty, wynikowy szyfrogram jest liczbą 8 bajtową, wartość ta jest sumowana XOR z poprzednim tekstem jawnym i podawana na wejście bufora cyklicznego, zapisywana w pamięci trwałej i generator przechodzi do następnej wartości dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

158 Cechy w/w implementacji Klucz karty i zawartość bufora cyklicznego zapisywane w ostatniej fazie produkcji Jeśli w buforze cyklicznym zapisane jest 12 liczb 8 bajtowych, to: wzrasta poziom bezpieczeństwa (większa losowość) wzrasta żywotność generatora (12 krotna wartość maksymalnej liczby zapisów pamięci EEPROM) Czas generowania liczby losowej dla KE z 3,5MHz zegarem: wyczyszczenie i zapisanie pamięci EEPROM ok. 14 ms (2 2 3,5 ms) algorytm DES ok. 17 ms reszta pomijalna razem ok. 31 ms Czas wykonania można skrócić o połowę przy sprzętowej implementacji AES-a dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

159 Inny przykład architektury generatora liczb pseudolosowych szybszy od poprzedniego (tylko jeden cykl zapisu EEPROM w każdej sesji tuż po resecie a dalej używana wyłącznie pamięć RAM) zaleta: szybkość wady: używanie pamięci RAM i niezbyt dobra statystyczna jakość generatora jakość wystarczająca do zastosowań w uwierzytelnianiu typu challenge-response wystarczająco długie cykle i nie możliwe powielanie dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

160 Standardy Między innymi: X 9.17, FIPS 186, Internet RFC 1750 Standard FIPS zaleca sprawdzenie wbudowanych generatorów testami statystycznymi za pośrednictwem modułów bezpieczeństwa wyłącznie pozytywne przejście wszystkich testów pozwala na dalsze używanie generatora Większość obecnych systemów KE nie ma takiej możliwości zakłada się, że generatory liczb pseudolosowych ze względu na swoją deterministyczną naturę są wystarczająco wydajne dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

161 Testowanie liczb losowych Zaimplementowany generator należy przetestować: test matematyczny przy użyciu metod statystycznych dla liczb 8 bajtowych należy wygenerować liczb i poddać je analizie Powinno być spełnione twierdzenie Bernoulliego o niezależności zdarzeń Okresowość generatora powinna być jak najdłuższa (najlepiej jeśli przekracza długość życia generatora) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

162 Przegląd metod testowania liczb losowych Najprostszy test zliczenie liczby wystąpień poszczególnych bajtów Prezentacja na wykresie Każda liczba 1 lub 2 bajtowa powinna wystąpić mniej więcej taką samą liczbę razy Jeśli jakaś liczba występuje częściej niż inne, to jest to potencjalne miejsce ataku Test nie sprawdza porządku (wygenerowanie liczb po kolei daje idealny rozkład, ale jest bardzo łatwe do złamania) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

163 Przegląd metod testowania liczb losowych c.d. Inny prosty test skompresować plik z wygenerowanymi danymi im niższy stopień kompresji, tym lepiej Test 2 liczone są wartość średnia i odchylenie standardowe, lepszy niż dwa poprzednie, ale również nie sprawdza porządku Serial test do określenia interwałów pomiędzy wzorcami występującymi w sekwencji liczb losowych Gap test do określenia interwałów wolnych od wzorców Poker test do określenia rozkładu 2 dla wzorców i/lub ciągów wolnych od wzorców Coupon collector test - do określenia rozkładu 2 dla ciągów wolnych od wzorców dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

164 Przegląd metod testowania liczb losowych c.d. Spectral test rozkład liczb sąsiadujących w ciągu Two-dimensional spectral test wykres na osi poziomej wygenerowana liczba na osi pionowej następna wygenerowana liczba Three-dimensional spectral test dochodzi trzecia oś (następnik następnika) n- dimensional test w podobny sposób jak poprzednie, ale nie da się przedstawić na wykresie dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

165 Two-dimensional spectral test dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

166 Plan Podstawy bezpieczeństwa kryptologia funkcje haszujące liczby losowe uwierzytelnianie dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

167 Uwierzytelnianie Proces, który ma udowodnić, czy osoba lub jednostka są tym, czym twierdzą, że są Uwierzytelnianie może odbyć się na podstawie: czynnika posiadania czynnika wiedzy cech biometrycznych Uwierzytelnianie dwuczynnikowe i trzyczynnikowe oznacza, że sprawdzane będą dwa lub trzy z wymienionych czynników Przykład - Osoba posiada paszport zna klucz poufny cechuje się odciskami palców dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

168 Podział metod uwierzytelniania Ze względu na zastosowania: uwierzytelnianie dotyczy potwierdzenia autentyczności identyfikacja ma na celu rozpoznanie obiektu autoryzacja dotyczy sprawdzenia, czy dana osoba może wykonać odpowiednią operację Ze względu na dane: statyczne zawsze na podstawie tych samych danych dynamiczne każda sesja wymaga innych danych Ze względu na wynik: jednostronne potwierdza autentyczność co najmniej jednej strony dwustronne potwierdza autentyczność obydwu stron dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

169 Uwierzytelnianie w KE Terminal (lub karta) sprawdza autentyczność karty (terminala) Metody oparte na algorytmach kompresji dzielą się na symetryczne i asymetryczne Prawie wyłącznie stosowane są algorytmy symetryczne (asymetryczne są zbyt wolne) Norma ISO/IEC 9798 Metoda challenge-response stosowana w uwierzytelnianiu dynamicznym KE polega na: zadaniu losowo wybranego pytania drugiej ze stron (challenge) obliczeniu odpowiedzi przez drugą stronę i zwrócenie jej stronie zadającej pytanie (response) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

170 Jednostronne uwierzytelnianie symetryczne Terminal generuje liczbę losową i wysyła ją do karty (challenge) Karta szyfruje otrzymaną liczbę przy użyciu klucza (znanego obu stronom) Karta zwraca do terminala wynik szyfrowania (response) Terminal deszyfruje odpowiedź przy pomocy klucza i porównuje z wartością wysłaną do karty Jeśli liczby są zgodne, to znaczy, że karta zna poufny klucz i jest autentyczna dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

171 Bezpieczeństwo uwierzytelniania jednostronnego Poufność zapewniona wspólnym tajnym kluczem Nie da się zastosować zapisu podsłuchanej transmisji (za każdym razem inna liczba losowa) jedynym atakiem, który może być skuteczny, jest systematyczne poszukiwanie tajnego klucza (np. atakiem siłowym) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

172 Jednostkowy klucz karty W przypadku gdy wszystkie karty w danym zastosowaniu mają ten sam klucz, to jego złamanie jest jednoznaczne z dyskredytacją całego systemu Przeciwdziałanie stosowanie jednostkowych kluczy kart Jednostkowy klucz karty zależy od jej unikalnego numeru (cecha jawna np. nr seryjny mikrokontrolera) i klucza głównego znanego tylko terminalowi (w praktyce część numeru seryjnego zaszyfrowana algorytmem TDES lub AES) Klucz główny musi być przechowywany bezpiecznie, ponieważ jego złamanie jest równoznaczne ze złamaniem całego systemu; jeśli to możliwe to powinien on być bezpowrotnie usunięty po wykryciu próby ataku dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

173 Dwustronne uwierzytelnianie symetryczne Podstawowa zasada działania jest równoznaczna dualnemu jednostronnemu uwierzytelnianiu symetrycznemu Dwustronne uwierzytelnianie można zastąpić dwoma jednostronnymi uwierzytelnieniami wykonanymi po jednym przez każdą ze stron Zalety podejścia dwustronnego w stosunku do podejścia jednostronnego: mniej czasu poświęconego na transmisję danych większe bezpieczeństwo (mniej danych do podsłuchania) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

174 Dwustronne uwierzytelnianie symetryczne zasada działania Terminal odczytuje numer karty Terminal wyznacza klucz uwierzytelniający karty Terminal pyta kartę o liczbę losową i jednocześnie generuje własną liczbę losową Terminal łączy obie liczby przez konkatenację i szyfruje otrzymaną liczbę kluczem uwierzytelniającym karty Terminal wysyła szyfrogram do karty Karta deszyfruje otrzymany blok danych Karta sprawdza czy zdeszyfrowana liczba losowa otrzymana od terminala jest identyczna z tą, którą wysłała do terminala Jeśli tak to terminal staje się wiarygodny dla karty Karta zastępuje miejscami liczby losowe i szyfruje poufnym kluczem Karta wysyła do terminala wynik szyfrowania Terminal deszyfruje otrzymany szyfrogram Terminal porównuje zdekodowaną liczbę losową z tą, którą wcześniej wysłał do karty Jeśli liczby są zgodne, to karta jest wiarygodna dla terminala Obie strony są dla siebie wiarygodne dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

175 Statyczne uwierzytelnianie asymetryczne Mniejsze bezpieczeństwo niż w przypadku uwierzytelniania dynamicznego (brak zabezpieczeń przed powtórzeniem podsłuchanej sesji) Stosowane wyłącznie jako uzupełniające sprawdzenie wiarygodności dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

176 Statyczne uwierzytelnianie asymetryczne - wady Motywacja: część mikrokontrolerów KE nie jest wyposażona w NPU do liczenia RSA dodatkowe uwierzytelnianie kluczem asymetrycznym zwiększa bezpieczeństwo (atakujący ma do złamania dwa algorytmy) prostota i ekonomiczność działania (weryfikacja odbywa się w terminalu, a dodatkowy układ nie podnosi znacząco kosztów systemu) dużo szybsze niż dynamiczne uwierzytelnianie asymetryczne (jedno szyfrowanie zamiast dwóch) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska,

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 PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

2 Kryptografia: algorytmy symetryczne 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;

Bardziej szczegółowo

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 PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

Zarys algorytmów kryptograficznych

Zarys algorytmów kryptograficznych Zarys algorytmów kryptograficznych Laboratorium: Algorytmy i struktury danych Spis treści 1 Wstęp 1 2 Szyfry 2 2.1 Algorytmy i szyfry........................ 2 2.2 Prosty algorytm XOR......................

Bardziej szczegółowo

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

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi. Spis treści: Czym jest szyfrowanie Po co nam szyfrowanie Szyfrowanie symetryczne Szyfrowanie asymetryczne Szyfrowanie DES Szyfrowanie 3DES Szyfrowanie IDEA Szyfrowanie RSA Podpis cyfrowy Szyfrowanie MD5

Bardziej szczegółowo

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

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym) Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik

Bardziej szczegółowo

WSIZ Copernicus we Wrocławiu

WSIZ Copernicus we Wrocławiu Bezpieczeństwo sieci komputerowych Wykład 4. Robert Wójcik Wyższa Szkoła Informatyki i Zarządzania Copernicus we Wrocławiu Plan wykładu Sylabus - punkty: 4. Usługi ochrony: poufność, integralność, dostępność,

Bardziej szczegółowo

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

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA) Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, 7.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)

Bardziej szczegółowo

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Grzegorz Bobiński Uniwersytet Mikołaja Kopernika Toruń, 22.05.2010 Kodowanie a szyfrowanie kodowanie sposoby przesyłania danych tak, aby

Bardziej szczegółowo

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Podstawy systemów kryptograficznych z kluczem jawnym RSA Podstawy systemów kryptograficznych z kluczem jawnym RSA RSA nazwa pochodząca od nazwisk twórców systemu (Rivest, Shamir, Adleman) Systemów z kluczem jawnym można używać do szyfrowania operacji przesyłanych

Bardziej szczegółowo

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

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA) Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, 19.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)

Bardziej szczegółowo

Zastosowania informatyki w gospodarce Wykład 5

Zastosowania informatyki w gospodarce Wykład 5 Instytut Informatyki, Automatyki i Robotyki Zastosowania informatyki w gospodarce Wykład 5 Podstawowe mechanizmy bezpieczeństwa transakcji dr inż. Dariusz Caban dr inż. Jacek Jarnicki dr inż. Tomasz Walkowiak

Bardziej szczegółowo

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

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1 Ataki na RSA Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Ataki na RSA p. 1 Plan prezentacji Wprowadzenie Ataki algebraiczne Ataki z kanałem pobocznym Podsumowanie

Bardziej szczegółowo

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

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność Systemy Mobilne i Bezprzewodowe laboratorium 12 Bezpieczeństwo i prywatność Plan laboratorium Szyfrowanie, Uwierzytelnianie, Bezpieczeństwo systemów bezprzewodowych. na podstawie : D. P. Agrawal, Q.-A.

Bardziej szczegółowo

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Praktyczne aspekty stosowania kryptografii w systemach komputerowych Kod szkolenia: Tytuł szkolenia: KRYPT/F Praktyczne aspekty stosowania kryptografii w systemach komputerowych Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do osób pragnących poznać zagadnienia

Bardziej szczegółowo

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

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003 Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne (1) mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Algorytmy kryptograficzne Przestawieniowe zmieniają porządek znaków

Bardziej szczegółowo

Szyfrowanie informacji

Szyfrowanie informacji Szyfrowanie informacji Szyfrowanie jest sposobem ochrony informacji przed zinterpretowaniem ich przez osoby niepowołane, lecz nie chroni przed ich odczytaniem lub skasowaniem. Informacje niezaszyfrowane

Bardziej szczegółowo

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Laboratorium nr 1 Szyfrowanie i kontrola integralności Laboratorium nr 1 Szyfrowanie i kontrola integralności Wprowadzenie Jedną z podstawowych metod bezpieczeństwa stosowaną we współczesnych systemach teleinformatycznych jest poufność danych. Poufność danych

Bardziej szczegółowo

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

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania Bezpieczeństwo systemów komputerowych urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania Słabe punkty sieci komputerowych zbiory: kradzież, kopiowanie, nieupoważniony dostęp emisja

Bardziej szczegółowo

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 7 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 7 Spis treści 11 Algorytm ElGamala 3 11.1 Wybór klucza.................... 3 11.2 Szyfrowanie.....................

Bardziej szczegółowo

Authenticated Encryption

Authenticated Encryption Authenticated Inż. Kamil Zarychta Opiekun: dr Ryszard Kossowski 1 Plan prezentacji Wprowadzenie Wymagania Opis wybranych algorytmów Porównanie mechanizmów Implementacja systemu Plany na przyszłość 2 Plan

Bardziej szczegółowo

Spis treści. Przedmowa... 9

Spis treści. Przedmowa... 9 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.

Bardziej szczegółowo

Kryptografia na procesorach wielordzeniowych

Kryptografia na procesorach wielordzeniowych Kryptografia na procesorach wielordzeniowych Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Kryptografia na procesorach wielordzeniowych p. 1 Plan prezentacji

Bardziej szczegółowo

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

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze. Wykład 2 Temat: Algorytm kryptograficzny RSA: schemat i opis algorytmu, procedura szyfrowania i odszyfrowania, aspekty bezpieczeństwa, stosowanie RSA jest algorytmem z kluczem publicznym i został opracowany

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe. Bezpieczeństwo systemów komputerowych Metody łamania szyfrów Łamanie z szyfrogramem Łamanie ze znanym tekstem jawnym Łamanie z wybranym tekstem jawnym Łamanie z adaptacyjnie wybranym tekstem jawnym Łamanie

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1 Bezpieczeństwo systemów komputerowych mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Metody łamania szyfrów Łamanie z szyfrogramem Łamanie ze znanym tekstem jawnym Łamanie z wybranym

Bardziej szczegółowo

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

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR 1. Algorytm XOR Operacja XOR to inaczej alternatywa wykluczająca, oznaczona symbolem ^ w języku C i symbolem w matematyce.

Bardziej szczegółowo

Kryptografia szyfrowanie i zabezpieczanie danych

Kryptografia szyfrowanie i zabezpieczanie danych Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk Kryptografia szyfrowanie i zabezpieczanie danych www.agh.edu.pl

Bardziej szczegółowo

Bezpieczeństwo kart elektronicznych

Bezpieczeństwo kart elektronicznych Bezpieczeństwo kart elektronicznych Krzysztof Maćkowiak Karty elektroniczne wprowadzane od drugiej połowy lat 70-tych znalazły szerokie zastosowanie w wielu dziedzinach naszego życia: bankowości, telekomunikacji,

Bardziej szczegółowo

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

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach Sieci Komputerowe Mechanizmy kontroli błędów w sieciach dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Zagadnienia Zasady kontroli błędów

Bardziej szczegółowo

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy 1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć

Bardziej szczegółowo

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

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna 1. Wstęp Wprowadzenie do PKI Infrastruktura klucza publicznego (ang. PKI - Public Key Infrastructure) to termin dzisiaj powszechnie spotykany. Pod tym pojęciem kryje się standard X.509 opracowany przez

Bardziej szczegółowo

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

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII Kierunek Informatyka - semestr V Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Problem pakowania plecaka System kryptograficzny Merklego-Hellmana

Bardziej szczegółowo

1.1. Standard szyfrowania DES

1.1. Standard szyfrowania DES 1.1. Standard szyrowania DES Powstał w latach siedemdziesiątych i został przyjęty jako standard szyrowania przez Amerykański Narodowy Instytut Standaryzacji (ang. American National Standards Institute

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Instytut Informatyki Politechnika Poznańska Proces transmisji może w prowadzać błędy do przesyłanych wiadomości błędy pojedyncze lub grupowe Detekcja: Wymaga uznania, że niektóre wiadomości są nieważne

Bardziej szczegółowo

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 8 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 8 Spis treści 13 Szyfrowanie strumieniowe i generatory ciągów pseudolosowych 3 13.1 Synchroniczne

Bardziej szczegółowo

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

Sieci komputerowe. Wykład 11: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski 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

Bardziej szczegółowo

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Szyfrowana wersja protokołu HTTP Kiedyś używany do specjalnych zastosowań (np. banki internetowe), obecnie zaczyna

Bardziej szczegółowo

Algorytmy asymetryczne

Algorytmy asymetryczne Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można

Bardziej szczegółowo

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI STEGANOGRAFIA Steganografia jest nauką o komunikacji w taki sposób by obecność komunikatu nie mogła zostać wykryta. W odróżnieniu od kryptografii

Bardziej szczegółowo

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

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VI - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2013 c Copyright 2013 Janusz Słupik Podstawowe zasady bezpieczeństwa danych Bezpieczeństwo Obszary:

Bardziej szczegółowo

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,

Bardziej szczegółowo

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1 Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne (2) mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Szyfry wykładnicze Pohlig i Hellman 1978 r. Rivest, Shamir i Adleman

Bardziej szczegółowo

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1 Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne (2) Szyfry wykładnicze Pohlig i Hellman 1978 r. Rivest, Shamir i Adleman metoda szyfrowania z kluczem jawnym DSA (Digital Signature Algorithm)

Bardziej szczegółowo

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

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie Bezpieczeństwo systemów komputerowych Podpis cyfrowy Podpisy cyfrowe i inne protokoły pośrednie Polski Komitet Normalizacyjny w grudniu 1997 ustanowił pierwszą polską normę określającą schemat podpisu

Bardziej szczegółowo

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

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna PuTTY Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP Marcin Pilarski PuTTY emuluje terminal tekstowy łączący się z serwerem za pomocą protokołu Telnet, Rlogin oraz SSH1 i SSH2. Implementuje

Bardziej szczegółowo

Parametry systemów klucza publicznego

Parametry systemów klucza publicznego Parametry systemów klucza publicznego Andrzej Chmielowiec Instytut Podstawowych Problemów Techniki Polskiej Akademii Nauk 24 marca 2010 Algorytmy klucza publicznego Zastosowania algorytmów klucza publicznego

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych Bezpieczeństwo systemów komputerowych Wprowadzenie do kryptologii Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 16 listopada 2016 Jak ta dziedzina powinna się nazywać?

Bardziej szczegółowo

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś   Wykład 5 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 5 Spis treści 9 Algorytmy asymetryczne RSA 3 9.1 Algorytm RSA................... 4 9.2 Szyfrowanie.....................

Bardziej szczegółowo

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

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof. Szyfry Strumieniowe Zastosowanie wybranych rozwiąza zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet Arkadiusz PłoskiP Opiekun: prof. Zbigniew Kotulski Plan prezentacji Inspiracje Krótkie wprowadzenie

Bardziej szczegółowo

Czym jest kryptografia?

Czym jest kryptografia? Szyfrowanie danych Czym jest kryptografia? Kryptografia to nauka zajmująca się układaniem szyfrów. Nazwa pochodzi z greckiego słowa: kryptos - "ukryty", gráphein "pisać. Wyróżniane są dwa główne nurty

Bardziej szczegółowo

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

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA Informatyka, studia dzienne, inż. I st. semestr VI Podstawy Kryptografii - laboratorium 2010/2011 Prowadzący: prof. dr hab. Włodzimierz Jemec poniedziałek, 08:30 Data oddania: Ocena: Marcin Piekarski 150972

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 2: Reprezentacja danych Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Kilka ciekawostek Zapisy binarny, oktalny, decymalny

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

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

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp. Bezpieczeństwo w sieci I a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp. Kontrola dostępu Sprawdzanie tożsamości Zabezpieczenie danych przed podsłuchem Zabezpieczenie danych przed kradzieżą

Bardziej szczegółowo

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 9 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 9 Spis treści 14 Podpis cyfrowy 3 14.1 Przypomnienie................... 3 14.2 Cechy podpisu...................

Bardziej szczegółowo

Ataki kryptograficzne.

Ataki kryptograficzne. Ataki kryptograficzne. Krótka historia kryptografii... Szyfr Cezara A -> C B -> D C -> E... X -> Z Y -> A Z -> B ROT13 - pochodna szyfru Cezara nadal używana ROT13(ROT13("Tekst jawny") = "Tekst jawny".

Bardziej szczegółowo

Bezpieczeństwo danych, zabezpieczanie safety, security

Bezpieczeństwo danych, zabezpieczanie safety, security Bezpieczeństwo danych, zabezpieczanie safety, security Kryptologia Kryptologia, jako nauka ścisła, bazuje na zdobyczach matematyki, a w szczególności teorii liczb i matematyki dyskretnej. Kryptologia(zgr.κρυπτός

Bardziej szczegółowo

Bezpieczeństwo w Internecie

Bezpieczeństwo w Internecie Elektroniczne Przetwarzanie Informacji Konsultacje: czw. 14.00-15.30, pokój 3.211 Plan prezentacji Szyfrowanie Cechy bezpiecznej komunikacji Infrastruktura klucza publicznego Plan prezentacji Szyfrowanie

Bardziej szczegółowo

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

Wykład 7. komputerowych Integralność i uwierzytelnianie danych - główne slajdy. 16 listopada 2011 Wykład 7 Integralność i uwierzytelnianie danych - główne slajdy 16 listopada 2011 Instytut Informatyki Uniwersytet Jagielloński 7.1 Definition Funkcja haszujaca h odwzorowuje łańcuch bitów o dowolnej długości

Bardziej szczegółowo

Marcin Szeliga Dane

Marcin Szeliga Dane Marcin Szeliga marcin@wss.pl Dane Agenda Kryptologia Szyfrowanie symetryczne Tryby szyfrów blokowych Szyfrowanie asymetryczne Systemy hybrydowe Podpis cyfrowy Kontrola dostępu do danych Kryptologia Model

Bardziej szczegółowo

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

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.) Kryptografia-0 -zachowanie informacji dla osób wtajemniczonych -mimo że włamujący się ma dostęp do informacji zaszyfrowanej -mimo że włamujący się zna (?) stosowaną metodę szyfrowania -mimo że włamujący

Bardziej szczegółowo

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera Praca dyplomowa magisterska Opiekun: prof. nzw. Zbigniew Kotulski Andrzej Piasecki apiaseck@mion.elka.pw.edu.pl Plan

Bardziej szczegółowo

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

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 1 wczoraj Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Kod ASCII. Stopa kodu. Kody bezprefiksowe.

Bardziej szczegółowo

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

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA RSA Symetryczny system szyfrowania to taki, w którym klucz szyfrujący pozwala zarówno szyfrować dane, jak również odszyfrowywać je. Opisane w poprzednich rozdziałach systemy były systemami symetrycznymi.

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

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

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VIII Kierunek Matematyka - semestr IV Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Egzotyczne algorytmy z kluczem publicznym Przypomnienie Algorytm

Bardziej szczegółowo

W11 Kody nadmiarowe, zastosowania w transmisji danych

W11 Kody nadmiarowe, zastosowania w transmisji danych W11 Kody nadmiarowe, zastosowania w transmisji danych Henryk Maciejewski Jacek Jarnicki Marek Woda www.zsk.iiar.pwr.edu.pl Plan wykładu 1. Kody nadmiarowe w systemach transmisji cyfrowej 2. Typy kodów,

Bardziej szczegółowo

Szyfrowanie RSA (Podróż do krainy kryptografii)

Szyfrowanie RSA (Podróż do krainy kryptografii) Szyfrowanie RSA (Podróż do krainy kryptografii) Nie bójmy się programować z wykorzystaniem filmów Academy Khana i innych dostępnych źródeł oprac. Piotr Maciej Jóźwik Wprowadzenie metodyczne Realizacja

Bardziej szczegółowo

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

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9 Od Wydawcy... 8 1. Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9 1.1.. Krzywe eliptyczne w praktyce... 10 1.2.. Pakiet SAGE... 10 1.3.. Krzywe eliptyczne na płaszczyźnie... 10 1.4..

Bardziej szczegółowo

Spis treści. Od Wydawcy

Spis treści. Od Wydawcy Spis treści Od Wydawcy 1. Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE 1.1. Krzywe eliptyczne w praktyce 1.2. Pakiet SAGE 1.3. Krzywe eliptyczne na płaszczyźnie 1.4. Ciała skończone proste

Bardziej szczegółowo

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

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Kryptografia Rok akademicki: 2032/2033 Kod: IIN-1-784-s Punkty ECTS: 3 Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Informatyka Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Wprowadzenie do technologii VPN

Wprowadzenie do technologii VPN Sieci komputerowe są powszechnie wykorzystywane do realizacji transakcji handlowych i prowadzenia działalności gospodarczej. Ich zaletą jest błyskawiczny dostęp do ludzi, którzy potrzebują informacji.

Bardziej szczegółowo

Wybrane zagadnienia teorii liczb

Wybrane zagadnienia teorii liczb Wybrane zagadnienia teorii liczb Podzielność liczb NWW, NWD, Algorytm Euklidesa Arytmetyka modularna Potęgowanie modularne Małe twierdzenie Fermata Liczby pierwsze Kryptosystem RSA Podzielność liczb Relacja

Bardziej szczegółowo

Wprowadzenie ciag dalszy

Wprowadzenie ciag dalszy Wprowadzenie ciag dalszy Patryk Czarnik Bezpieczeństwo sieci komputerowych MSUI 2009/10 Szyfry asymetryczne Wymyślone w latach 70-tych Używaja dwóch różnych (ale pasujacych do siebie ) kluczy do szyfrowania

Bardziej szczegółowo

Kodowanie informacji. Przygotował: Ryszard Kijanka

Kodowanie informacji. Przygotował: Ryszard Kijanka Kodowanie informacji Przygotował: Ryszard Kijanka Komputer jest urządzeniem służącym do przetwarzania informacji. Informacją są liczby, ale także inne obiekty, takie jak litery, wartości logiczne, obrazy

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne

Bardziej szczegółowo

Przewodnik użytkownika

Przewodnik użytkownika STOWARZYSZENIE PEMI Przewodnik użytkownika wstęp do podpisu elektronicznego kryptografia asymetryczna Stowarzyszenie PEMI Podpis elektroniczny Mobile Internet 2005 1. Dlaczego podpis elektroniczny? Podpis

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 4 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 4 1 / 1 DZIELENIE LICZB BINARNYCH Dzielenie

Bardziej szczegółowo

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Założenia i obszar zastosowań KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Plan wykładu: Geneza algorytmu Założenia i obszar zastosowań JPEG kroki algorytmu kodowania obrazu Założenia: Obraz monochromatyczny

Bardziej szczegółowo

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Zastosowanie kompresji w kryptografii Piotr Piotrowski Zastosowanie kompresji w kryptografii Piotr Piotrowski 1 Plan prezentacji I. Wstęp II. Kryteria oceny algorytmów III. Główne klasy algorytmów IV. Przykłady algorytmów selektywnego szyfrowania V. Podsumowanie

Bardziej szczegółowo

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

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP Marcin Pilarski PuTTY PuTTY emuluje terminal tekstowy łączący się z serwerem za pomocą protokołu Telnet, Rlogin oraz SSH1 i SSH2. Implementuje

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Laboratorium nr 5 Podpis elektroniczny i certyfikaty Laboratorium nr 5 Podpis elektroniczny i certyfikaty Wprowadzenie W roku 2001 Prezydent RP podpisał ustawę o podpisie elektronicznym, w która stanowi że podpis elektroniczny jest równoprawny podpisowi

Bardziej szczegółowo

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii Patryk Czarnik Bezpieczeństwo sieci komputerowych MSUI 2009/10 Zagadnienia bezpieczeństwa Identyfikacja i uwierzytelnienie Kontrola dostępu Poufność:

Bardziej szczegółowo

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas. Wykład 11

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas. Wykład 11 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 11 Spis treści 16 Zarządzanie kluczami 3 16.1 Generowanie kluczy................. 3 16.2 Przesyłanie

Bardziej szczegółowo

Pracownia Komputerowa wyk ad VII

Pracownia Komputerowa wyk ad VII Pracownia Komputerowa wyk ad VII dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Notacja szesnastkowa - przypomnienie Szesnastkowy

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

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

Detekcja i korekcja błędów w transmisji cyfrowej Detekcja i korekcja błędów w transmisji cyfrowej Błędy w transmisji cyfrowej pojedyncze wielokrotne. całkowita niepewność względem miejsca zakłóconych bitów oraz czy w ogóle występują paczkowe (grupowe)

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb

Bardziej szczegółowo

Teoretyczne Podstawy Informatyki

Teoretyczne Podstawy Informatyki Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji

Bardziej szczegółowo

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

Ataki na algorytm RSA

Ataki na algorytm RSA Ataki na algorytm RSA Andrzej Chmielowiec 29 lipca 2009 Streszczenie Przedmiotem referatu są ataki na mechanizm klucza publicznego RSA. Wieloletnia historia wykorzystywania tego algorytmu naznaczona jest

Bardziej szczegółowo

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

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania Mateusz Kwaśnicki Politechnika Wrocławska Wykład habilitacyjny Warszawa, 25 października 2012 Plan wykładu: Słabości standardu

Bardziej szczegółowo

Ochrona Systemów Informacyjnych. Elementy Kryptoanalizy

Ochrona Systemów Informacyjnych. Elementy Kryptoanalizy Ochrona Systemów Informacyjnych Elementy Kryptoanalizy Informacje podstawowe Kryptoanaliza dział kryptografii zajmujący się łamaniem szyfrów. W zależności od rodzaju informacji dostępnych w trakcie kryptoanalizy

Bardziej szczegółowo

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

LICZBY PIERWSZE. 14 marzec 2007. Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F. Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F. Gauss (1777-1855) 14 marzec 2007 Zasadnicze twierdzenie teorii liczb Zasadnicze twierdzenie teorii liczb Ile jest liczb

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych Bezpieczeństwo systemów komputerowych Szyfry asymetryczne Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 10 listopada 2015 Na podstawie wykładu Anny Kosieradzkiej z

Bardziej szczegółowo

Kryptologia. Bezpieczeństwo komunikacji elektronicznej

Kryptologia. Bezpieczeństwo komunikacji elektronicznej Kryptologia Bezpieczeństwo komunikacji elektronicznej Kryptologia Kryptografia nauka o o ochronie oraz szyfrowaniu danych Kryptoanaliza sztuka odkodowywania danych bez znajomości odpowiednich kluczy Steganografia

Bardziej szczegółowo