Podstawy. Jednokierunkowość, zastosowania.

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

Download "Podstawy. Jednokierunkowość, zastosowania."

Transkrypt

1 Podstawy. Jednokierunkowość, zastosowania. Spośród wszystkich elementarnych procedur kryptograficznych najbardziej elementarne są funkcje mieszające. Funkcji takich moŝna uŝyć do szyfrowania, potwierdzania toŝsamości, a takŝe w prostych schematach podpisu cyfrowego. Funkcje mieszające są inaczej nazywane funkcjami skrótu lub funkcjami haszującymi. Wynik działania funkcji mieszającej. Argumentem funkcji mieszającej H(M) jest wiadomość M, a jej wynik działania (noszący nazwę skrótu wiadomości) jest liczbą h o ustalonej długości: h = H(M) Właściwości funkcji mieszających: Mając dane M, łatwo jest obliczyć h. Mając dane h, bardzo trudno jest obliczyć M. Mając dane M, bardzo trudno jest znaleźć takie M, Ŝe H(M) = H(M ). Ze względu na własność drugą, funkcje mieszające są często nazywane jednokierunkowymi. Właściwość trzecia oznacza, Ŝe nawet niewielka zmiana danych wejściowych powoduje całkowitą zmianę ciągu wyjściowego. Tę właściwość nazywa się efektem lawinowym. Funkcja mieszające pobiera jako dane wejściowe dowolnej długości ciąg bitów, zwraca natomiast wynik o stałym rozmiarze. Typowym zastosowaniem funkcji mieszających są podpisy cyfrowe. Jeśli dana jest wiadomość M, moŝna ją podpisać bezpośrednio poprzez zaszyfrowanie z uŝyciem klucza prywatnego. JednakŜe operacje, związane z algorytmami z kluczem publicznym, są zwykle bardzo kosztowne obliczeniowo, dlatego teŝ zamiast podpisywać M zwykle stosuje się funkcję mieszającą H i skrót wiadomości H(M). Rozmiar wyniku funkcji h mieści się zwykle w przedziale bitów, podczas gdy sama wiadomość moŝe być znacznie większa. Podpisywanie funkcji mieszającej jest zatem znacząco szybsze niŝ podpisywanie całej wiadomości. Aby taka konstrukcja była bezpieczna, niedopuszczalna jest moŝliwość skonstruowania dwóch takich wiadomości M 1 i M 2, dla których funkcja mieszająca zwróci tę samą wartość. Funkcje mieszające mają w kryptografii wiele zastosowań. MoŜna wykorzystać je jako generatory ciągów pseudolosowych (kluczy), tworzonych na podstawie tajnej danej znanej tylko zainteresowanym stronom

2 2. Odporność na kolizje W większości zastosowań funkcjom mieszającym stawia się dodatkowe wymaganie, nazywane odpornością na kolizje. Kolizję definiujemy jako znalezienie dwóch wiadomości losowych M i M, takich, Ŝe H(M) = H(M ). Jest to zadanie bardzo trudne, moŝna tu jednak zastosować tzw. paradoks urodzin. Paradoks urodzin jest typowym problemem statystycznym. Ile osób musi znaleźć się w jednym pokoju, aby były znaczące szanse, Ŝe znajdzie się tam osoba urodzona konkretnego dnia (np. 1 stycznia)? Odpowiedź wynosi: 253. Zadajemy więc kolejne pytanie: ile osób musi być w tym pokoju, aby uzyskać znaczącą szansę, Ŝe są tam co najmniej dwie osoby urodzone tego samego dnia? Odpowiedź jest zaskakująca: wystarczą 23 osoby (mając 23 osoby mamy nadal 253 róŝne pary ludzi). Poszukiwanie kogoś z określoną datą urodzin jest analogią do ataku, polegającego na tym, Ŝe atakujący posiada wiadomość M i szuka takiej wiadomości M, Ŝe H(M) = H(M ). Natomiast poszukiwanie dwóch ludzi z tą samą losową datą urodzin jest analogiczne do ataku, podanego na samej górze niniejszego paragrafu (znalezienie dwóch wiadomości losowych M i M, takich, Ŝe H(M) = H(M )). Taki atak nazywany jest atakiem urodzinowym. Przyjmujemy, Ŝe jednokierunkowa funkcja skrótu jest bezpieczna i najlepszym sposobem ataku na nią jest łamanie brutalne. Funkcja wytwarza m-bitowy ciąg wyjściowy, co oznacza, Ŝe znalezienie wiadomości, dla której skrót jest równy danej wartości, wymaga obliczenia skrótu dla 2 m losowych wiadomości. Natomiast znalezienie dwóch losowych wiadomości, dla których wartości skrótu będą takie same, wynosi jedynie 2 m/2. Oznacza to znaczne skrócenie czasu poszukiwań: maszyna, która wykonuje obliczenia skrótu dla miliona wiadomości na sekundę, będzie musiała pracować lat, aby znaleźć wiadomość, której skrót jest zgodny z danym skrótem 64-bitowym. Ta sama maszyna moŝe znaleźć parę wiadomości o tej samej wartości skrótu w ciągu godziny! Oznacza to, Ŝe obawiając się ataku urodzinowego, naleŝy wybierać funkcję skrótu, oferującą skrót dwukrotnie dłuŝszy od tego, jaki jest potrzebny. MoŜna sobie wyobrazić róŝne scenariusze ataków, oparte na paradoksie urodzin. Na przykład: Osoba A przygotowuje dwie wersje umowy: jedną korzystną dla osoby B, drugą korzystną dla siebie. Osoba A dokonuje zmian w kaŝdym z dokumentów, obliczając za kaŝdym razem wartość funkcji mieszającej (zmiany to np. dostawienie dodatkowych spacji). Jedna zmiana w jednej linii dokumentu, liczącego 32 strony, daje 2 32 róŝnych dokumentów. Osoba A szuka dwóch jednakowych wartości w zbiorze skróconych wartości dwóch dokumentów (jeśli wartości funkcji mieszającej mają 64 bity, to moŝna znaleźć taką parę przeglądając 2 32 wersji kaŝdego dokumentu). Osoba A przekazuje do podpisania osobie B wersję umowy, korzystną dla osoby B. Podpisanie następuje poprzez zaszyfrowanie kluczem prywatnym wartości funkcji mieszającej umowy. Osoba A zamienia umowy, a przed sądem moŝe udowodnić, Ŝe osoba B podpisała niekorzystną dla siebie umowę

3 3. Długość wartości jednokierunkowej funkcji skrótu Wartości funkcji skrótu, będące liczbami 64-bitowymi, są zbyt krótkie, aby wytrzymać atak metodą dnia urodzin. Większość praktycznie stosowanych funkcji skrótu daje wynik co najmniej 128-bitowy (zaleca się uŝywanie funkcji dających znacznie dłuŝsze wartości), co oznacza, Ŝe atakujący musi obliczyć wartości funkcji skrótu dla 2 64 wiadomości. 4. Przegląd funkcji mieszających 4.1. Funkcja MD5 Funkcja MD5 (Message Digest) została opracowana przez Rona Rivesta. Wytwarza ona skrót 128-bitowy. Po przetworzeniu wstępnym algorytm MD5 przetwarza tekst wejściowy w blokach o długości 512 bitów, podzielonych na 16 podbloków o długości 32 bity kaŝdy. Na wyjściu algorytmu otrzymujemy zbiór czterech bloków 32-bitowych, które po konkatenacji tworzą skrót 128-bitowy. Na początku wiadomość jest uzupełniana ciągiem binarnym tak, Ŝeby jej całkowita długość była o 64 bity krótsza od wielokrotności liczby 512. Ciąg uzupełniający składa się z pojedynczej jedynki, dołączanej do końca wiadomości, oraz takiej liczby zer, jaka będzie konieczna. Następnie do tak otrzymanego ciągu jest dołączany 64-bitowy ciąg, stanowiący zapis długości wiadomości (sprzed dołączenia ciągu uzupełniającego). Te dwa kroki słuŝą do uzyskania długości wiadomości będącej wielokrotnością liczby 512 i zapewniają jednocześnie, Ŝe róŝne wiadomości nie będą miały tej samej postaci po dodaniu ciągu uzupełniającego. Wartości początkowe czterech 32-bitowych zmiennych: A = 0x B = 0x89ABCDEF C = 0xFEDCBA98 D = 0x Zmienne te nazywane są zmiennymi łańcuchowymi (ang. chaining variables). Główna pętla algorytmu realizowana jest dla tylu 512- bitowych bloków, ile zawiera ich wiadomość. Cztery zmienne są kopiowane na inne cztery zmienne: A na a, B na b, C na c i D na d. Pętla główna składa się z czterech cykli, które są bardzo podobne. KaŜdy cykl składa się z 16 operacji, a w kaŝdej operacji jest obliczana funkcja nieliniowa trzech z czterech zmiennych a, b, c i d. Następnie do wyniku dodawana jest wartość pozostałej, czwartej zmiennej, pewien podblok wiadomości i pewna stała. Wynik jest przesuwany cyklicznie w prawo o zmienną liczbę bitów, a potem sumowany z jedną ze zmiennych a, b, c lub d. Ostatecznie wyniki jest przypisywany jednej ze zmiennych a, b, c lub d

4 Rysunek 1 - Podstawowa pętla MD5 Rysunek 2 - Jedna operacja MD5 W algorytmie występują cztery funkcje nieliniowe, po jednej na kaŝdy cykl (i róŝne dla kaŝdego cyklu): F( X, Y, = ( X Y ) ( X ) Z G ( X, Y, = ( X Z ) ( Y ( ) H ( X, Y, = X Y Z I ( X, Y, = Y ( X ( Z )) Funkcja F jest funkcją warunkową: jeśli X to Y, inaczej Z. Funkcja H jest operatorem parzystości. Jeśli M i reprezentuje podblok j (od 0 do 15) wiadomości, a <<< s oznacza przesunięcie w lewo o s bitów, to następujące cztery operacje są określone wzorami: FF(a,b,c,d,M j,s,t) oznacza a = b + ((a + F(b,c,d) + Mj + t i ) <<< s) GG(a,b,c,d,M j,s,t) oznacza a = b + ((a + G(b,c,d) + Mj + t i ) <<< s) HH(a,b,c,d,M j,s,t) oznacza a = b + ((a + H(b,c,d) + Mj + t i ) <<< s) II(a,b,c,d,M j,s,t) oznacza a = b + ((a + I(b,c,d) + Mj + t i ) <<< s) - 4 -

5 Cztery cykle algorytmu (64 kroki) mogą być opisane następująco: Cykl 1. FF(a,b,c,d,M 0,7,0xd76aa478) FF(a,b,c,d,M 1,12,0xe8c7b756) FF(a,b,c,d,M 2,17,0x242070db) FF(a,b,c,d,M 3,22,0xc1bdceee) FF(a,b,c,d,M 4,7,0xf57c0faf) FF(a,b,c,d,M 5,12,0x4787c62a) FF(a,b,c,d,M 6,17,0xa ) FF(a,b,c,d,M 7,22,0xfd469501) FF(a,b,c,d,M 8,7,0x698098d8) FF(a,b,c,d,M 9,12,0x8b44f7af) FF(a,b,c,d,M 10,17,0xffff5bb1) FF(a,b,c,d,M 11,22,0x895cd7be) FF(a,b,c,d,M 12,7,0x6b901122) FF(a,b,c,d,M 13,12,0xfd987193) FF(a,b,c,d,M 14,17,0xa679438e) FF(b,c,d,a,M 15,22,0x49b40821) Cykl 2. GG(a,b,c,d,M 1,5,0xf61e2562) GG(d,a,b,c,M 6,9,0xc040b340) GG(c,d,a,b,M 11,14,0x265e5a51) GG(b,c,d,a,M 0,20,0xe9b6c7aa) GG(a,b,c,d,M 5,5,0xd62f105d) GG(d,a,b,c,M 10,9,0x ) GG(c,d,a,b,M 15,14,0xd8a1e681) GG(b,c,d,a,M 4,20,0xe7d3fbc8) GG(a,b,c,d,M 9,5,0x21e1cde6) GG(d,a,b,c,M 14,9,0xc33707d6) GG(c,d,a,b,M 3,14,0xf4d50d87) GG(b,c,d,a,M 8,20,0x455a14ed) GG(a,b,c,d,M 13,5,0xa9e3e905) GG(d,a,b,c,M 2,9,0xfcefa3f8) GG(c,d,a,b,M 7,14,0x676f02d9) GG(b,c,d,a,M 12,20,0x8d2a4c8a) Cykl3. HH(a,b,c,d,M 5,4,0xfffa3942) HH(d,a,b,c,M 8,11,0x8771f681) HH(c,d,a,b,M 11,16,0x6d9d6122) HH(b,c,d,a,M 14,23,0xfde5380c) HH(a,b,c,d,M 1,4,0xa4beea44) HH(d,a,b,c,M 4,11,0x4bdecfa9) HH(c,d,a,b,M 7,16,0xf6bb4b60) HH(b,c,d,a,M 10,23,0xbebfbc70) HH(a,b,c,d,M 13,4,0x289b7ec6) HH(d,a,b,c,M 0,11,0xeaa127fa) HH(c,d,a,b,M 3,16,0xd4ef3085) HH(b,c,d,a,M 6,23,0x4881d05) HH(a,b,c,d,M 9,4,0xd9d4d039) - 5 -

6 HH(d,a,b,c,M 12,11,0xe6db99e5) HH(c,d,a,b,M 15,16,0x1fa27cf8) HH(b,c,d,a,M 2,23,0xc4ac5665) Cykl4. II(a,b,c,d,M 0,6,0xf ) II(d,a,b,c,M 7,10,0x432aff97) II(c,d,a,b,M 14,15,0xab9423a7) II(b,c,d,a,M 5,21,0xfc93a039) II(a,b,c,d,M 12,6,0x655b59c3) II(d,a,b,c,M 3,10,0x8f0ccc92) II(c,d,a,b,M 10,15,0xffeff47d) II(b,c,d,a,M 1,21,0x85845dd1) II(a,b,c,d,M 8,6,0x6fa87e4f) II(d,a,b,c,M 15,10,0xfe2ce6e0) II(c,d,a,b,M 6,15,0xa ) II(b,c,d,a,M 13,21,0x4e0811a1) II(a,b,c,d,M 4,6,0xf7537e82) II(d,a,b,c,M 11,10,0xbd3af235) II(c,d,a,b,M 2,15,0x2ad7d2bb) II(b,c,d,a,M 9,21,0xeb86d391) Występujące w powyŝszym wzorze stałe t i były wybierane wg następującej reguły: w kroku i stała t i jest częścią całkowitą liczby 2 32 sin(i), przy czym i jest podane w radianach. Po zakończeniu powyŝszych operacji do wartości zmiennych a, b, c i d są dodawane odpowiednio wartości zmiennych A, B, C i D, a potem algorytm rozpoczyna przetwarzanie następnego bloku wiadomości. Wartością wyjściową jest konkatenacja wartości zmiennych A, B, C i D Funkcja SHA-1 SHA oznacza Secure Hash Algorithm. Wytwarza skrót o długości 160 bitów. Długość wiadomości musi być wielokrotnością 512 uzupełnienie jest identyczne, jak w przypadku MD5 (opis w pkt. 4.1). Pięć 32-bitowych zmiennych jest inicjowanych następująco: A = 0x B = 0xefcdab89 C = 0x98badcfe D = 0x E = 0xc3d2e1f0 Następnie rozpoczyna się główna pętla algorytmu. W pętli tej przetwarzany jest kaŝdorazowo 512-bitowy blok wiadomości i proces ten jest powtarzany tyle razy, ile bloków ma wiadomość. Najpierw wartości zmiennych A, B, C, D i E są kopiowane na wartości innych zmiennych, oznaczonych odpowiednio a, b, c, d i e

7 Główna pętla składa się z czterech cykli, z których kaŝdy zawiera 20 operacji (MD5 miał cztery cykle po 16 operacji). KaŜda operacja składa się z nieliniowej operacji na trzech spośród czterech zmiennych a, b, c i d oraz przesunięcia i sumowania, podobnie jak w przypadku MD5. Zbiór nieliniowych funkcji SHA jest następujący: ( X, Y, = ( X Y) (( X ) dla t < 0, 19> f t f t f t f t ( X, Y, = X Y Z dla t < 20, 39> ( X, Y, = ( X Y) ( X ( Y dla t < 40, 59> ( X, Y, = X Y Z dla t < 60, 79> W algorytmie są teŝ stosowane cztery stałe: K t = 0x5a dla t < 0, 19> K t = 0x6ed9eba1 dla t < 20, 39> K t = 0x8f1bbcdc dla t < 40, 59> K t = 0xca62c1d6 dla t < 60, 79> Źródło tych liczb jest następujące: 0x5a = 2 ½ /4, 0x6ed9eba1 = 3 ½ /4, 0x8f1bbcdc = 5 ½ /4, 0xca62c1d6 = 10 ½ /4 i kaŝda z tych wartości mnoŝona jest razy Jeden blok wiadomości, składający się z szesnastu 32-bitowych wartości (słowa od M 0 do M 15 ) jest przekształcany w osiemdziesiąt słów 32-bitowych (od W 0 do W 79 ) przy zastosowaniu następującego algorytmu: W t = M t dla t < 0, 19> W t = ( Wt 3 Wt 8 Wt 14 Wt 16) <<< 1 dla t < 16, 79> Jako ciekawostkę warto wspomnieć fakt, Ŝe pierwotna specyfikacja algorytmu SHA nie zawierała przesunięcia cyklicznego w lewo. Zmiana ta została wprowadzona w celu lepszego zabezpieczenia algorytmu przed atakami. Jeśli t oznacza nr operacji (od 0 do 79), W t reprezentuje podblok wiadomości o numerze t, a <<< s oznacza cykliczne przesunięcie w lewo o s bitów, to główna pętla algorytmu moŝe być przedstawiona następująco: For t = 0 to 79 do Tmp = (a <<< 5) + f t (b,c,d) + e + W t + K t e = d d = c c = b <<< 30 b = a a = Tmp - 7 -

8 Rysunek 3 - Jedna operacja algorytmu SHA-1 PowyŜszy rysunek ilustruje jeden cykl. Przesuwanie zmiennych realizuje to samo zadanie, które w MD5 było realizowane przez stosowanie róŝnych zmiennych w róŝnych miejscach. Po wykonaniu wszystkich działań zmienne a, b, c, d i e są dodawane odpowiednio do zmiennych A, B, C, D i E, a algorytm jest kontynuowany dla następnego bloku wiadomości. Ostatecznym wyjściem algorytmu jest konkatenacja zmiennych A, B, C, D oraz E Inne funkcje mieszające Istnieje znacznie więcej funkcji mieszających. Większość z nich albo została juŝ przeanalizowana, w wyniku czego stwierdzono, Ŝe nie są one bezpieczne i moŝna je złamać (np. MD4), albo teŝ nie zostały jeszcze przeprowadzone dokładne badania. Dodatkowo opisane funkcje mieszające (MD5 i SHA-1) niestety nie zapewniają juŝ odpowiedniego poziomu bezpieczeństwa ze względu na zbyt krótką wartość skrótu (zwłaszcza, gdy weźmie się pod uwagę atak urodzinowy). Ma to znaczenie zwłaszcza przy uŝywaniu nowych algorytmów szyfrów blokowych, takich, jak AES (z kluczem 256-bitowym). Wychodząc naprzeciw oczekiwaniom, zostały opublikowane specyfikacje nowych funkcji z rodziny SHA: SHA-256, SHA-384 i SHA-512, przeznaczone do współpracy z algorytmami blokowymi z kluczem o długości odpowiednio 128, 192 i 256 bitów

9 5. Zadania Korzystając z materiałów, dokonać implementacji funkcji mieszających MD5 oraz SHA-1 6. Literatura 6.1. Schneier B. Kryptografia dla praktyków, WNT, Warszawa 6.2. Denning D.E.R. Kryptografia i ochrona danych, WNT, Warszawa dokument opisujący funkcję MD dokument opisujący funkcję SHA-1-9 -

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

własność odporności na kolizje jest obliczeniowo trudne znalezienie dwóch dowolnych argumentów M M, dla których H(M) = H(M ).

własność odporności na kolizje jest obliczeniowo trudne znalezienie dwóch dowolnych argumentów M M, dla których H(M) = H(M ). właściwości FUNKCJE JEDNOKIERUNKOWE Dla każdego X łatwo jest obliczyć H(X) H(X) ma taka samą długość dla wszystkich tekstów X Dla zadanego Y znalezienie takiego X, że H(X) = Y jest praktycznie niemożliwe;

Bardziej szczegółowo

Studia i Materiały Informatyki Stosowanej, Tom 6, Nr 14, 2014 str

Studia i Materiały Informatyki Stosowanej, Tom 6, Nr 14, 2014 str 11 Studia i Materiały Informatyki Stosowanej, Tom 6, Nr 14, 2014 IMPLEMENTACJA ALGORYTMU FUNKCJI SKRÓTU MD5 W JĘZYKU C++ Wojciech Makowski Uniwersytet Kazimierza Wielkiego Wydział Matematyki, Fizyki i

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

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

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

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

Protokół komunikacyjny sondy cyfrowej CS-26/RS-485 (lub RS-232)

Protokół komunikacyjny sondy cyfrowej CS-26/RS-485 (lub RS-232) 2011-07-04 Protokół komunikacyjny sondy cyfrowej CS-26/RS-485 (lub RS-232) Parametry transmisji : 9600, N, 8, 1 Sonda CS-26/RS-485 dołączona do interfejsu RS-485 pracuje poprawnie w trybie half-duplex.

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

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

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje

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

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

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

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

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

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

!"#!"$%! %$"#%!!$! www.falownikilg.pl !"!#$ )&! &

!#!$%! %$#%!!$! www.falownikilg.pl !!#$ )&! & !"#!"$%! %$"#%!!$! &#'#%$ ()*%$"#% %& %& &&& )&! * )&! &!"!#$ &'( & &# +,,- www.falownikilg.pl 0)1$!"$$&2&$$! 34&$!"$+$"5 / #'( =( &#( & #& ( "( ('!! (& "!('( # #'( + #-1 / &* # '( #&'( #"! "!(!#= ( (

Bardziej szczegółowo

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie: Wykład 3 3-1 Reprezentacja liczb całkowitych ze znakiem Do przedstawienia liczb całkowitych ze znakiem stosowane są następujące kody: - ZM (znak-moduł) - U1 (uzupełnienie do 1) - U2 (uzupełnienie do 2)

Bardziej szczegółowo

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

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne

Bardziej szczegółowo

Arytmetyka. Arytmetyka. Magdalena Lemańska. Magdalena Lemańska,

Arytmetyka. Arytmetyka. Magdalena Lemańska. Magdalena Lemańska, Arytmetyka Magdalena Lemańska System dziesiętny System dziesiętny Weźmy liczbę 178. Składa się ona z jednej setki, siedmiu dziesiątek i ośmiu jedności. System dziesiętny System dziesiętny Weźmy liczbę

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

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

Algorytmy i struktury danych. wykład 9

Algorytmy i struktury danych. wykład 9 Plan wykładu:. Algorytmy numeryczne. Funkcja skrótu jest to funkcja H, która dla do dowolnej informacji m przyporządkowuje niespecyficzną wartość h, mającą cechy pseudolosowe. Cechy: skróty są zazwyczaj

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

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

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

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG Kodowanie transformacyjne Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG Zasada Zasada podstawowa: na danych wykonujemy transformacje która: Likwiduje korelacje Skupia energię w kilku komponentach

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

Spis treści. 1. Cyfrowy zapis i synteza dźwięku Schemat blokowy i zadania karty dźwiękowej UTK. Karty dźwiękowe. 1

Spis treści. 1. Cyfrowy zapis i synteza dźwięku Schemat blokowy i zadania karty dźwiękowej UTK. Karty dźwiękowe. 1 Spis treści 1. Cyfrowy zapis i synteza dźwięku... 2 2. Schemat blokowy i zadania karty dźwiękowej... 4 UTK. Karty dźwiękowe. 1 1. Cyfrowy zapis i synteza dźwięku Proces kodowania informacji analogowej,

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

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

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

Bezpieczeństwo danych i systemów informatycznych. Wykład 5 Bezpieczeństwo danych i systemów informatycznych Wykład 5 Kryptoanaliza Atak na tekst zaszyfrowany dostępny tylko szyfrogram Atak poprzez tekst częściowo znany istnieją słowa, których prawdopodobnie użyto

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

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

11. PROFESJONALNE ZABEZPIECZENIE HASŁEM

11. PROFESJONALNE ZABEZPIECZENIE HASŁEM 11. PROFESJONALNE ZABEZPIECZENIE HASŁEM Tworząc róŝne panele administratora jesteśmy naraŝeni na róŝne ataki osób ciekawskich. W tej lekcji dowiesz się, jak zakodować hasło i, jak obronić się przed potencjalnym

Bardziej szczegółowo

Temat 20. Techniki algorytmiczne

Temat 20. Techniki algorytmiczne Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły opis prostej sytuacji problemowej, analizuje

Bardziej szczegółowo

P r a w d o p o d o b i eństwo Lekcja 1 Temat: Lekcja organizacyjna. Program. Kontrakt.

P r a w d o p o d o b i eństwo Lekcja 1 Temat: Lekcja organizacyjna. Program. Kontrakt. P r a w d o p o d o b i eństwo Lekcja 1 Temat: Lekcja organizacyjna. Program. Kontrakt. Lekcja 2 Temat: Podstawowe pojęcia związane z prawdopodobieństwem. Str. 10-21 1. Doświadczenie losowe jest to doświadczenie,

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

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy. komunikat do zakodowania: a a b a b b a b a c c a b a a a a a c a c b c b b c c a a c b a 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 przyjmujemy długość bufora słownikowego

Bardziej szczegółowo

Wersja dokumentacji1.01. TeleToken API

Wersja dokumentacji1.01. TeleToken API Wersja dokumentacji1.01 TeleToken API Spis treści STATUS ZWRACANY PRZEZ FUNKCJE...1 OGÓLNE ZASADY...1 INTERPRETACJA STATUSU...1 FUNKCJE BIBLIOTEKI...3 TVTTAPI_INITIALIZE...3 TVTTAPI_RANDOMIZE...3 TVTTAPI_RAND...3

Bardziej szczegółowo

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles). Wykład 1 1-1 Informatyka nauka zajmująca się zbieraniem, przechowywaniem i przetwarzaniem informacji. Informacja obiekt abstrakcyjny, który w postaci zakodowanej moŝe być przechowywany, przesyłany, przetwarzany

Bardziej szczegółowo

Systemy liczenia. 333= 3*100+3*10+3*1

Systemy liczenia. 333= 3*100+3*10+3*1 Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=

Bardziej szczegółowo

Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic. Michał Trojnara.

Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic. Michał Trojnara. Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic Michał Trojnara Michal.Trojnara@pl.abnamro.com Cel prezentacji Zaproponowanie rozwiązania alternatywnego wobec popularnych ataków na

Bardziej szczegółowo

Logiczny model komputera i działanie procesora. Część 1.

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

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

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26 Rozdział 4 Macierze szyfrujące Opiszemy system kryptograficzny oparty o rachunek macierzowy. W dalszym ciągu przypuszczamy, że dany jest 26 literowy alfabet, w którym utożsamiamy litery i liczby tak, jak

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

Haszowanie (adresowanie rozpraszające, mieszające)

Haszowanie (adresowanie rozpraszające, mieszające) Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite. Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna

Bardziej szczegółowo

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j Kompresja transformacyjna. Opis standardu JPEG. Algorytm JPEG powstał w wyniku prac prowadzonych przez grupę ekspertów (ang. Joint Photographic Expert Group). Prace te zakończyły się w 1991 roku, kiedy

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

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

Instrukcja warunkowa i złoŝona.

Instrukcja warunkowa i złoŝona. Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację

Bardziej szczegółowo

Haszowanie. dr inż. Urszula Gałązka

Haszowanie. dr inż. Urszula Gałązka Haszowanie dr inż. Urszula Gałązka Problem Potrzebujemy struktury do Wstawiania usuwania wyszukiwania Liczb, napisów, rekordów w Bazach danych, sieciach komputerowych, innych Rozwiązanie Tablice z haszowaniem

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

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym 1. Instrukcja warunkowa a. słuŝy do wprowadzania danych oraz wprowadzania wyników b. to instrukcja decyzyjna c. to sposób przedstawienia algorytmu 2. Instrukcja, która opisuje wykonanie róŝnych czynności

Bardziej szczegółowo

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda Bezpieczeństwo aplikacji typu software token Mariusz Burdach, Prevenity Agenda 1. Bezpieczeństwo bankowości internetowej w Polsce 2. Główne funkcje aplikacji typu software token 3. Na co zwrócić uwagę

Bardziej szczegółowo

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje

Bardziej szczegółowo

Układy kryptograficzne z uŝyciem rejestrów LFSR

Układy kryptograficzne z uŝyciem rejestrów LFSR Układy kryptograficzne z uŝyciem rejestrów FSR Algorytmy kryptograficzne uŝywane w systemach telekomunikacyjnych własność modulo 2 funkcji XOR P K K = P = P 2 Rejestr z liniowym sprzęŝeniem zwrotnym FSR

Bardziej szczegółowo

O sygnałach cyfrowych

O sygnałach cyfrowych O sygnałach cyfrowych Informacja Informacja - wielkość abstrakcyjna, która moŝe być: przechowywana w pewnych obiektach przesyłana pomiędzy pewnymi obiektami przetwarzana w pewnych obiektach stosowana do

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

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Klasa III Opracuj projekt realizacji prac związanych z badaniem działania cyfrowych bloków arytmetycznych realizujących operacje

Bardziej szczegółowo

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n

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

while(wyrażenie) instrukcja

while(wyrażenie) instrukcja emat zajęć: Operatory i instrukcje w języku C - 2 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Do wykonywania cyklicznych obliczeń w języku C stosuje się instrukcje cyklu (pętli).

Bardziej szczegółowo

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

Bardziej szczegółowo

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2018

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2018 WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2018 INSTRUKCJA DLA UCZESTNIKA KONKURSU: 1. Sprawdź, czy test zawiera 10 stron. Ewentualny brak

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

1. Operacje logiczne A B A OR B

1. Operacje logiczne A B A OR B 1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych

Bardziej szczegółowo

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

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

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTMY GENETYCZNE ćwiczenia ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację

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

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.

Bardziej szczegółowo

Systemy zapisu liczb.

Systemy zapisu liczb. Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:

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

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

Sieci komputerowe. Wykład 11: Podstawy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 11: Podstawy kryptografii Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 11 1 / 35 Spis treści 1 Szyfrowanie 2 Uwierzytelnianie

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne POLITECHNIKA KRAKOWSKA - WIEiK - KATEDRA AUTOMATYKI Technologie Informacyjne www.pk.edu.pl/~zk/ti_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład: Generacja liczb losowych Problem generacji

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

Układy kombinacyjne. cz.2

Układy kombinacyjne. cz.2 Układy kombinacyjne cz.2 Układy kombinacyjne 2/26 Kombinacyjne bloki funkcjonalne Kombinacyjne bloki funkcjonalne - dekodery 3/26 Dekodery Są to układy zamieniające wybrany kod binarny (najczęściej NB)

Bardziej szczegółowo

Tablice z haszowaniem

Tablice z haszowaniem Tablice z haszowaniem - efektywna metoda reprezentacji słowników (zbiorów dynamicznych, na których zdefiniowane są operacje Insert, Search i Delete) - jest uogólnieniem zwykłej tablicy - przyspiesza operacje

Bardziej szczegółowo

1. Maszyny rotorowe Enigma

1. Maszyny rotorowe Enigma Połączenie podstawowych metod szyfrowania, czyli pojedynczych podstawień lub przestawień, daje szyfr złoŝony nazywany szyfrem kaskadowym lub produktowym (ang. product cipher). Szyfry takie są połączeniem

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

wagi cyfry 7 5 8 2 pozycje 3 2 1 0

wagi cyfry 7 5 8 2 pozycje 3 2 1 0 Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

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

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: Operatory logiczne Komputery i ich logika AND - && Podstawy programowania w C++ Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com

Bardziej szczegółowo

Zapis algorytmów: schematy blokowe i pseudokod 1

Zapis algorytmów: schematy blokowe i pseudokod 1 Zapis algorytmów: schematy blokowe i pseudokod 1 Przed przystąpieniem do napisania kodu programu należy ten program najpierw zaprojektować. Projekt tworzącego go algorytmu może być zapisany w formie schematu

Bardziej szczegółowo

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S.

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S. Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S. Plecak ma być zapakowany optymalnie, tzn. bierzemy tylko te przedmioty,

Bardziej szczegółowo