PARAMETRYZOWANA KRYPTOGRAFICZNA

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

Download "PARAMETRYZOWANA KRYPTOGRAFICZNA"

Transkrypt

1 W O J S K O W A A K A D E M I A T E C H N I C Z N A ROZPRAWA DOKTORSKA kpt mgr inż. Przemysław RODWALD PARAMETRYZOWANA KRYPTOGRAFICZNA FUNKCJA SKRÓTU PHAL-256 Promotor dr ha. inż. Janusz STOKŁOSA WARSZAWA 2008

2 Na wstępnie chciałym podziękować promotorowi mojej pracy dr. ha. Januszowi Stokłosie za umiejętność zadawania mi pytań, które doprowadzały mnie do stopniowego wgłęiania się w zagadnienie tworzenia funkcji skrótu, a w finale doprowadziły do powstania niniejszej rozprawy. Dziękuję także Dyrekcji Wojskowego Instytutu Łączności za stworzenie warunków do adań oraz za umożliwienie rania udziału w konferencjach kryptograficznych. Podziękowania swoje kieruję także do kierownika Zakładu Kryptografii Wojskowego Instytutu Łączności dr. inż. Marka Leśniewicza, za uwierzenie w moje możliwości. Powierzenie mi funkcji Wykonawcy Odpowiedzialnego dużego projektu kryptograficznego w trakcie prac nad dysertacją, wrew pozorom, dodatkowo zmotywowało mnie do zwiększonego wysiłku nad moimi adaniami. Chciałym podziękować także moim Kolegom z Zakładu Kryptologii: dr. inż. Roertowi Wicikowi i dr. inż. Mariuszowi Borowskiemu - za cenne rady i udostępnienie wielu implementacji, których wykorzystanie ułatwiło mi znacznie pracę, inż. Grzegorzowi Łauzkowi - za zweryfikowanie implementacji algorytmu. Szczególne podziękowania składam zaś mojej Żonie. Jej poświęcenie w wychowywanie naszego syna motywowało mnie każdego dnia do intensywniejszej pracy nad niniejszą rozprawą. 2

3 SPIS TREŚCI SPIS TREŚCI...3 OZNACZENIA WPROWADZENIE FUNKCJE SKRÓTU WŁASNOŚCI ZASTOSOWANIE METODY ATAKÓW ATAKI OGÓLNE ATAKI ŁAŃCUCHOWE ATAKI NA FUNKCJĘ KOMPRESUJĄCĄ METODY DOPEŁNIANIA STRUKTURY ITERACYJNE DEDYKOWANE FUNKCJE SKRÓTU PRZEGLĄD WSPÓŁCZESNYCH FUNKCJI AKTUALNY STAN KRYPTOANALIZY PHAL-256 PARAMETERIZED HASH ALGORITHM DOPEŁNIANIE WIADOMOŚCI SCHEMAT ITERACYJNY WEKTOR INICJUJĄCY MODYFIKACJA WIADOMOŚCI WARTOŚCI STAŁE FUNKCJA KOMPRESUJĄCA BLOKI PODSTAWIEŃ KRYTERIA PROJEKTOWE FUNKCJI PHAL DOPEŁNIENIE WIADOMOŚCI SCHEMAT ITERACYJNY WEKTOR INICJUJĄCY MODYFIKACJA WIADOMOŚCI WIELKOŚCI STAŁE FUNKCJA KOMPRESUJĄCA FUNKCJE JEDNOARGUMENTOWE FUNKCJE TRÓJARGUMENTOWE BLOKI PODSTAWIEŃ

4 FUNKCJE BENT METODA GENERACJI BLOKÓW PODSTAWIEŃ PARAMETRY BLOKÓW PODSTAWIEŃ BEZPIECZEŃSTWO I EFEKTYWNOŚĆ ODPORNOŚĆ NA KRYPTOANALIZĘ TESTY STATYSTYCZNE EFEKTYWNOŚĆ IMPLEMENTACJA KODY ŹRÓDŁOWE Z JĘZYKU C KODY ŹRÓDŁOWE W JĘZYKU PASCAL OPTYMALIZACJA KODU ZGODNOŚĆ IMPLEMENTACJI PODSUMOWANIE DODATKI...82 SPISY RYSUNKÓW, TABEL I ALGORYTMÓW...83 LITERATURA

5 OZNACZENIA Operatory XOR, różnica symetryczna, alternatywa wykluczająca, suma modulo 2 dodawanie modulo 2 32 odejmowanie modulo 2 32 mnożenie modulo 2 32 negacja itowa koniunkcja itowa (zamiast x y stosowany jest także zapis uproszczony xy) alternatywa itowa konkatenacja x «n przesunięcie logiczne w lewo słowa x o n itów x» n przesunięcie logiczne w prawo słowa x o n itów x n cykliczne przesunięcie logiczne (rotacja) w lewo słowa x o n itów x n cykliczne przesunięcie logiczne (rotacja) w prawo słowa x o n itów Wielkości IV wektor inicjujący (ang. initial value, initial vector) m wiadomość (ang. message) h funkcja skrótu (ang. hash function) ϕ funkcja kompresująca (ang. compression function) Akronimy NSA National Security Agency (tł. Agencja Bezpieczeństwa Narodowego) NIST National Institute of Standards and Technology (tł. Narodowy Instytut Standaryzacji i Technologii) SHA Secure Hash Algorithm (tł. Bezpieczny Algorytm Skrótu) RIPE RACE Integrity Primitives Evaluation 5

6 1. WPROWADZENIE Funkcje skrótu odgrywają ardzo ważną rolę w kryptografii. Wiele osó nawet nie zdaje soie sprawy jak często każdego dnia nieświadomie wykorzystuje funkcje skrótu, na przykład podczas korzystania z Internetu, czy też podczas używania kart płatniczych. Funkcje skrótu stosowane są do przechowywania haseł w systemach operacyjnych, czy też azach danych. Używa się ich na szeroką skalę w celu adania integralności programów, różnego rodzaju łat i uaktualnień, czy też sygnatur wirusów. Znalazły one także szerokie zastosowanie w różnych protokołach, m.in. SSL, SSH, IPsec. Stosowane są również w generatorach ciągów pseudolosowych. Jednym z ardzo ważnych zastosowań funkcji skrótu są schematy podpisu cyfrowego, gdzie zamiast podpisywać cały dokument, podpisuje się tylko jego skrót. Podpisywany dokument może zawierać w soie istotne informacje finansowe. Jeśli więc uda się stworzyć podroiony dokument zawierający inne dane, ale dający w wyniku ten sam skrót, to może mieć to poważne następstwa finansowe. Można więc wyrazić tezę, iż ezpieczne, odporne na kolizje funkcje skrótu są ezcenne w doie społeczeństwa informatycznego. Ostatnie lata przyniosły wiele ciekawych prac w zakresie kryptoanalizy funkcji skrótu [130,132,133,135]. Funkcje, które uważano za ezpieczne i które yły powszechnie stosowane (np. MD5, SHA-0, SHA-1), okazały się podatne na współczesne ataki. Z tego względu, pod koniec roku 2007, NIST ogłosił konkurs na nową funkcję skrótu pod nazwą SHA-3 [87]. Jedną z pożądanych cech nowego standardu ma yć elastyczność. Rozumiana jest ona między innymi jako możliwość dostrajania funkcji skrótu do potrze użytkownika. Ma to umożliwiać kompromis pomiędzy ezpieczeństwem a wydajnością. Istnieje więc potrzea stworzenia nowych, parametryzowanych funkcji skrótu odpornych na współczesne metody kryptoanalizy. Celem niniejszej pracy jest zaprojektowanie i implementacja parametryzowanej kryptograficznej funkcji skrótu. Prowadzone w rozprawie rozważania służą wykazaniu następującej tezy: możliwe jest skonstruowanie efektywnej, parametryzowanej funkcji skrótu, odpornej na znane metody kryptoanalizy. Poszczególne zadania cząstkowe zrealizowane w pracy to: analiza różnych konstrukcji współczesnych funkcji skrótu, analiza struktur iteracji stosowanych w funkcjach skrótu, analiza aktualnego stanu kryptoanalizy funkcji skrótu, postawienie celów projektowych dla tworzonej funkcji skrótu, 6

7 projekt dedykowanej funkcji skrótu z podziałem na: o schemat iteracyjny, o funkcję kompresującą, implementacja zaprojektowanej funkcji skrótu: o w języku C, o w języku Pascal, ocena efektywności zaprojektowanej funkcji skrótu, adania statystyczne sekwencji generowanych przez funkcję skrótu, analiza odporności zaprojektowanej funkcji na współczesne metody kryptoanalizy. Układ całej rozprawy przedstawia się następująco. W niniejszym rozdziale dokonano wprowadzenia w tematykę funkcji skrótu oraz uzasadniono wyór tematu. Przedstawiono także cel pracy, sformułowano tezę oraz zadania cząstkowe. Rozdział drugi rozpoczyna się zdefiniowaniem podstawowych pojęć, następnie opisuje się własności funkcji skrótu, ich zastosowanie we współczesnych systemach teleinformatycznych, znane metody kryptoanalizy oraz ich systematyzację, dokonuje przeglądu metod dopełniania skracanych wiadomości oraz przedstawia schematy struktur iteracyjnych. W kolejnym rozdziale przedstawiono kilka współczesnych funkcji skrótu, zarówno te, które są ardzo popularne i powszechnie używane, jak i te, które są mniej znane, ale charakteryzują się ciekawą konstrukcją i okazały się skutecznie opierać atakom kryptoanalityków. W dalszej części pokazano aktualny stan kryptoanalizy znanych funkcji skrótu. W kluczowym, czwartym rozdziale zaproponowano nowy algorytm wyznaczania skrótu. W szczególności zaprezentowano ogólną strukturę funkcji skrótu z autorskim schematem iteracyjnym oraz własną funkcją kompresującą. W rozdziale piątym przedstawiono kryteria projektowe, którymi kierowano się przy konstrukcji funkcji skrótu. Omówiono zasadność wyoru funkcji oolowskich wchodzących w skład projektowanej funkcji kompresującej. Przedstawiono metodę generacji kryptograficznych loków podstawień. Uzasadniono wyór mechanizmu dopełniania i modyfikacji wiadomości. Szczególną uwagę poświęcono także schematowi iteracyjnemu. Kolejny rozdział zawiera analizę ezpieczeństwa zaproponowanej funkcji, jej odporność na znane metody kryptoanalizy oraz wyniki testów statystycznych generowanych przez funkcję sekwencji. Przedstawiono także porównanie efektywności funkcji PHAL-256 z innymi, popularnymi funkcjami skrótu. W podsumowaniu przedstawiono rezultaty niniejszej pracy adawczej, której integralną część stanowią kody źródłowe wszystkich procedur adawczych oraz samej funkcji skrótu. 7

8 2. FUNKCJE SKRÓTU Historia pojęcia funkcji jednokierunkowej, która nie musiała yć funkcją kompresującą zaczyna się prawdopodonie od pracy Diffiego i Hellmana [33], gdzie autorzy opisują potrzeę jej stosowania w procesie uwierzytelniania w kryptografii. Mimo, iż nie nazwali jeszcze funkcji jednokierunkowej funkcją skrótu, to jednak wprowadzają wymóg na odporność funkcji na znalezienie przeciworazu oraz wymóg słaej ezkolizyjności (pojęcia te zostały zdefiniowane w dalszej części pracy). Właściwy termin funkcja skrótu (ang. hash function) pochodzi prawdopodonie z pracy Merklego [75], lu Raina [103]. Oie pozycje skupiają się na uwierzytelnianiu wiadomości, nie podkreślając jednak wymogu silnej ezkolizyjności. W tymże czasie Rivest, Shamir i Adleman przedstawiają swoją koncepcję realizacji kryptografii klucza pulicznego. Davida [28] pokazuje atak z wyraną wiadomością na schemat podpisu zaproponowany przez RSA. Konsekwencją tego ataku i kilku innych prac jest sugestia środowiska kryptograficznego na zastosowanie funkcji skrótu w schemacie podpisu cyfrowego celem wyeliminowania jego słaości oraz przyśpieszenia procesu podpisywania wiadomości. Wówczas też wprowadzono dla funkcji skrótu wymagania na jednokierunkowość oraz słaą i silną ezkolizyjność [31,139]. W dzisiejszych czasach uważa się, iż funkcja skrótu powinna spełniać trzy wyżej wymieniowe właściwości. Czasami także nieformalnie wymaga się także, ay ciąg itów otrzymywany na wyjściu funkcji skrótu wyglądał losowo [25]. Pod pojęciem funkcji skrótu h rozumie się, łatwe oliczeniowo przekształcenie odwzorowujące wiadomość m o dowolnej, skończonej długości, w ciąg itów o określonej, stałej długości n - h : {0,1} {0,1} * n *, gdzie: {0,1} = U i Ν {0,1} i, N = {0,1,2, }. Ze względu na wykorzystanie funkcji skrótu, można je podzielić na dwie zasadnicze grupy: MDC kody wykrywania modyfikacji (ang. Modification Detection Codes), MAC kody uwierzytelniające wiadomości (ang. Message Authentication Codes). Jak sama nazwa wskazuje pierwsza grupa służy wyłącznie do adania integralności danych, a więc sprawdzenia czy dane zostały zmodyfikowane (przypadkowo, ądź też w sposó zamierzony). Natomiast druga grupa służy oprócz tego do uwierzytelnienia danych, czyli zweryfikowania czy dane zostały wytworzone przez określone źródło. Oczywistym jest więc, że kody uwierzytelniające muszą yć powiązane z kluczem służącym identyfikacji źródła. Kody wykrywania modyfikacji, zwane także kodami wykrywania manipulacji dzielą się na dwie podgrupy (rys. 2.1): OWHF jednokierunkowe funkcje skrótu (ang. One Way Hash Functions), CRFH funkcje skrótu odporne na kolizje (ang. Collision Resistance Hash Functions). Szczegółowy opis powyższych pojęć znajduje się w następnym rozdziale niniejszej pracy. 8

9 Funkcje skrótu MDC MAC OWHF CRHF Rys. 2.1 Podział funkcji skrótu. Ze względu na użytą funkcję kompresującą, funkcje skrótu możemy podzielić na trzy grupy: Funkcje skrótu oparte na szyfrach lokowych W tej grupie jako funkcji kompresującej używa się szyfru lokowego. Podejście takie jest uważane za ezpieczne, gdyż polega się tutaj na ezpieczeństwie, dorze przeadanych, szyfrów lokowych. Główną zaletą tego podejścia jest redukcja kosztów związanych z projektowaniem i implementacją, gdyż wykorzystuje się istniejące szyfry lokowe [100]. Z drugiej strony użycie szyfru lokowego implikuje czasochłonne operacje generowania podkluczy, co w praktyce dyskwalifikuje użycie tej grupy funkcji skrótu w systemach zorientowanych na efektywność przetwarzanych informacji. Zostało dowiedzione [18], iż nie da się skonstruować wysoce efektywnej iteracyjnej funkcji skrótu opartej na szyfrach lokowych, dla której ezpieczeństwo jest możliwe do udowodnienia. Dedykowane funkcje skrótu Funkcje tej grupy używają specjalnie zaprojektowanych funkcji kompresujących. Należą do niej wszystkie funkcje przedstawiane w niniejszej pracy (MD/SHA, TIGER, itd.). Ze względu na swoją konstrukcję dedykowane funkcje skrótu są ardzo szykie i najpowszechniej stosowane we współczesnych systemach teleinformatycznych. Funkcje skrótu oparte na strukturach algeraicznych Do tej grupy zalicza się funkcje oparte przykładowo na: prolemie plecakowym, krzywych eliptycznych, prolemie faktoryzacji, czy też arytmetyce modularnej (funkcje MASH [73]). Ich ezpieczeństwo opiera się na pewnym trudnym prolemie matematycznym. Funkcje te są oecnie używane sporadycznie, głównie ze względu na małą efektywność. Większość współczesnych, dedykowanych funkcji skrótu ma naturę iteracyjną. Oznacza to, iż wiadomość m jest dzielona na k loków o określonej długości i podawana kolejno na wejście 9

10 funkcji kompresującej. Wyjście funkcji kompresującej jest podawane w kolejnych iteracjach (oprócz ostatniej) na wejście tejże funkcji kompresującej wraz z kolejnym lokiem wiadomości. Na zakończenie stosowane może yć także pewne przekształcenie wyjściowe ψ. Iteracyjny algorytm wyznaczania skrótu h(m) ma następującą postać (rys 2.2): CV CV 0 i + 1 = IV = ϕ( CV, m h( m) = ψ ( CV i k ) i ), i = 0,1,..., k 1 gdzie: IV wektor inicjujący, CV wektor łańcuchowy, ϕ funkcja kompresująca, ψ przekształcenie wyjściowe. Rys. 2.2 Struktura iteracyjnych funkcji skrótu. Wiadomość przed skróceniem zostaje podzielona na loki o równej, określonej dla danej funkcji, długości. W tym celu przed skróceniem wiadomość jest poddawana procedurze dopełnienia. Istotnym elementem tej procedury jest umieszczanie w wiadomości informacji o jej oryginalnej, pierwotnej długości. Umożliwia to odróżnienie ciągu oryginalnej wiadomości od dodawanego ciągu itów dopełnienia. Metody dopełniania wiadomości zostały przedstawione w dalszej części niniejszej pracy WŁASNOŚCI Zadania, przed którymi stoją funkcje skrótu, czynią je niejako odpowiednikiem odcisku palca w świecie cyfrowym. Oczekuje się więc od nich, ay w sposó szyki i jednoznaczny identyfikowały dane cyfrowe. Oznacza to w praktyce, iż nawet małe zmiany (na przykład zmiana jednego itu) w skracanym ciągu danych powinny dać w rezultacie zupełnie inny skrót (średnio zmianę połowy itów skrótu). Nie powinno yć także możliwości odtworzenia wiadomości ory- 10

11 ginalnej mając tylko jej skrót oraz nie powinno yć możliwości utworzenia dwóch różnych wiadomości dających ten sam skrót. Wymagania można sformalizować następująco: Nieodwracalność (ang. preimage resistance, non-invertility): Dany jest skrót h(m), wiadomość m jest nieznana. Znalezienie wiadomości m jest oliczeniowo trudne. Słaa ezkolizyjność (ang. 2nd preimage resistance, weak collision resistance): Dany jest skrót h(m) i odpowiadająca mu wiadomość m. Znalezienie wiadomości m m takiej, że h(m)=h(m ) jest oliczeniowo trudne. Bezkolizyjność (ang. collision resistance, strong collision resistance): Oliczeniowo trudne jest znalezienie dowolnej pary różnych wiadomości m i m takich, że h(m)=h(m ). Warunek ezkolizyjności [115] implikuje słaą ezkolizyjność, nie gwarantuje natomiast nieodwracalności. Pod pojęciem prolemu trudnego oliczeniowo rozumie się atak, którego złożoność oliczeniowa w praktyce jest tak duża (teoretycznie: wykładnicza), że przy współcześnie istniejącej technice oraz stanie wiedzy, staje się on praktycznie niewykonalny. W literaturze szeroko stosowane są również następujące oznaczenia funkcji skrótu [129]: jednokierunkowa funkcja skrótu (ang. OWHF One Way Hash Function): spełnienie własności nieodwracalności i słaej ezkolizyjności, ezkolizyjna funkcja skrótu (ang. CRHF Collision Resistance Hash Function): spełnienie własności nieodwracalności i ezkolizyjności, uniwersalna jednokierunkowa funkcja skrótu (ang. UOWHF Universal One-Way Hash Function) [84]: rodzina funkcji skrótu składająca się ze skończonego zioru funkcji skrótu o jednakowym prawdopodoieństwie użycia; użycie wyranej instancji jest warunkowane parametrem (kluczem) ZASTOSOWANIE We współczesnym świecie, gdzie informacja i dane stają się cennym towarem, funkcje skrótu odgrywają kluczową rolę w zapewnieniu ezpieczeństwa. W niniejszym rozdziale zostaną przedstawione najpopularniejsze zastosowania funkcji skrótu z podaniem rzeczywistych systemów, w których funkcjonują. Usługi certyfikacyjne Kategoria ta składa się z protokołów certyfikacyjnych. Najważniejszym wykorzystaniem funkcji skrótu tej grupy są schematy podpisu cyfrowego. W schematach tych podpisywana nie jest sama wiadomość, ale właśnie jej skrót wyliczany za pomocą funkcji skrótu. Innym wykorzystaniem funkcji skrótu są znaczniki czasowe wykorzystywane w usługach certyfikacyjnych. 11

12 Uwierzytelnienie Grupa protokołów potwierdzająca tożsamość klienta. Jednym z przykładów jest system Kereros, który dostarcza mechanizmy uwierzytelniania, chroni przed podsłuchiwaniem oraz zapewnia integralność danych w modelu klient-serwer. W systemie funkcje skrótu wykorzystywane są do wyliczania skrótu wprowadzanego przez klienta hasła, który to w dalszej części protokołu staje się tajnym kluczem klienta. Inne protokoły tej grupy to: IEEE802.1X-EAP czy APOP. Bezpieczna komunikacja Grupa zawierająca w soie protokoły wymiany klucza. Jednym z najpopularniejszych protokołów tej grupy jest szeroko stosowany IPsec. Zapewnia on ezpieczną komunikację w warstwie sieciowej poprzez szyfrowanie i uwierzytelnianie pakietów IP. Protokół wymiany klucza (IKE Internet Key Exchange) zastosowany w IPsec używa funkcji skrótu do generacji ciągów pseudolosowych. Dodatkowo funkcja skrótu jest używana do weryfikacji integralności i uwierzytelnienia wszystkich wiadomości przesyłanych w tym protokole. Innym przykładem jest protokół SSH, który zapewnia uwierzytelnianie użytkowników i tworzy ezpieczny kanał pomiędzy lokalnym a zdalnym komputerem. SSH wykorzystuje funkcje skrótu jako kody uwierzytelniające wiadomości (MAC). To samo zastosowanie funkcji skrótu wykorzystane jest w protokole SSL/TLS. Bezpieczna poczta elektroniczna Kategoria zapewniająca ezpieczną wymianę wiadomości , ochronę prywatności i sprawdzanie integralności wiadomości. Protokół S/MIME używa funkcji skrótu w schemacie podpisu cyfrowego, zapewniając autentyczność i integralność przesyłanych wiadomości. Również jedno z najpopularniejszych narzędzi do szyfrowania poczty elektronicznej PGP (Pretty Good Privacy), używa funkcji skrótu dla zapewnienia integralności wiadomości . Przechowywanie haseł Większość współczesnych systemów informatycznych nie przechowuje haseł w postaci jawnej, lecz wykorzystuje funkcje skrótu do tworzenia skrótów haseł, które następnie są przechowywane w systemie. Rozwiązania takie spotykane są powszechnie w większości systemów az danych (np. Oracle, MySQL) oraz w systemach operacyjnych (np. Windows, UNIX). Aktualizacja oprogramowania Systemy aktualizacji oprogramowania (łaty, aktualizacje, sygnatury wirusów) wykorzystują funkcje skrótu w celu weryfikacji integralności oprogramowania. 12

13 2.3. METODY ATAKÓW Jednym z celów stosowania funkcji skrótu jest stworzenie skrótu, dla którego ędzie oliczeniowo trudne znalezienie innej wiadomości dającej ten sam skrót. Jak łatwo się domyśleć cele przeciwnika są odwrotne. Pierwszym z ataków ędzie próa odtworzenia wiadomości, dla której dany jest skrót. Atak ten jest szczególnie przydatny przy łamaniu różnego rodzaju haseł. Drugim rodzajem ataku może yć próa stworzenia innej wiadomości dającej w wyniku ten sam skrót. Ten atak może yć stosowany w schematach podpisu cyfrowego, gdzie atakujący ędzie starał się zmodyfikować oryginalną wiadomość, czy też w systemach aktualizacji oprogramowania, gdy atakujący ędzie chciał umieścić pewien złośliwy kod w oprogramowaniu. Trzecim rodzajem ataku może yć próa stworzenia dwóch różnych wiadomości dających ten sam skrót. Te trzy rodzaje ataków odpowiadają kryteriom stawianym funkcjom skrótu, a więc jednokierunkowości oraz słaej i silnej ezkolizyjności. Dorze zaprojektowana funkcja skrótu powinna yć odporna na powyższe ataki. Poziom ezpieczeństwa funkcji skrótu określa się przez złożoność najlepszego znanego ataku na tę funkcję. Złożoność może yć rozpatrywana dla funkcji skrótu w dwóch aspektach: złożoność oliczeniowa licza operacji niezędna do przeprowadzenia ataku, złożoność pamięciowa licza jednostek pamięci niezędna do ataku. Ataki na funkcje skrótu można podzielić na następujące kategorie: ataki ogólne zależne wyłącznie od długości skrótu, niezależne od użytego algorytmu, ataki łańcuchowe zależne od struktury mechanizmu iteracji, ataki na funkcję kompresującą zależne od konstrukcji funkcji kompresującej ATAKI OGÓLNE Do tej grupy ataków ogólnych zalicza się wszystkie ataki niezależne ani od szczegółów konstrukcyjnych funkcji kompresującej, ani od mechanizmu skracania wiadomości wielolokowych. Ta klasa ataków zależy wyłącznie od długości skrótu generowanego przez funkcję. Do tej klasy ataków należy atak rutalny, wraz z jego modyfikacjami, oraz atak urodzinowy. Atak rutalny (ang. rute-force attack) Ideą ataku rutalnego jest próa znalezienia oryginalnej wiadomości mając dany jedynie jej skrót. Jest to atak na jednokierunkowość funkcji skrótu, gdyż zadaniem atakującego jest uzyskanie przeciworazu skrótu. Analizując atak rutalny można wyorazić soie dwa skrajne podejścia. Pierwsze, zwane czasami w literaturze metoda czasową, polega na sprawdzaniu (kolejno, lu losowo) wszystkich możliwych wiadomości. Atakujący wyiera wiadomość, tworzy jej skrót i porównuje ze wzorcem. Czynność ta jest powtarzana do czasu, aż atakujący uzyska 13

14 poszukiwany skrót. Złożoność oliczeniowa takiego ataku wynosi O(2 n ), gdzie n jest długością skrótu, natomiast złożoność pamięciowa jest stała. Bardziej ogólnie można powiedzieć, iż znalezienie przeciworazu z prawdopodoieństwem ε wymaga złożoności O( 2 n +log 2 ε ). Drugim skrajnym podejściem łamania rutalnego jest sytuacja, gdy atakujący jednorazowo przygotuje soie talicę wszystkich możliwych skrótów i odpowiadającym im wiadomościom. W tym przypadku odszukanie wzorca w talicy ędzie stosunkowo szykie (np. rzędu O(n), lu rzędu O(log n) dla talicy posegregowanej), natomiast złożoność pamięciowa ędzie rzędu O(2 n ). Oa podejścia są czysto teoretyczne, gdyż dla współczesnych funkcji skrótu, o długości skrótu co najmniej 160 itów, ataki takie są nieefektywne. Kompromis czasowo-pamięciowy (ang. time-memory trade-off) Istnieje pewne pośrednie rozwiązanie noszące w literaturze nazwę kompromisu czasowopamięciowego. Metoda ta została przedstawiona już w 1980 roku przez Hellmana [45]. Wymaga, tak jak atak rutalny, wykonania O(2 n ) wstępnych oliczeń, ale potem wymiar talicy i złożoność oliczeniowa redukują się do O(2 2n/3 ), gdzie n jest długością skrótu. W 2002 roku Wiener pokazuje, iż jeżeli mamy wygenerowanych 2 3n/5 skrótów, wówczas złożoność oliczeniowa ataku redukuje się do O(2 2n/5 ). W ostatnim czasie podejście Hellmana stało się wyjątkowo głośne ze wzglądu na pracę Oechslina [95]. Autor przedstawia zmodyfikowaną wersję tej metody opartą na tęczowych talicach oraz udostępnia oprogramowanie (ophcrack) wraz z azą danych (tęczowymi talicami) pozwalającą na łamanie 99.9% alfanumerycznych haseł systemu operacyjnego Windows w średnim czasie kilkunastu sekund. Atak urodzinowy (ang. irthday attack) Drugi rodzaj ataków w klasie ataków ogólnych stanowią ataki urodzinowe. Atakujący chce uzyskać dwie różne wiadomości dające ten sam skrót, a więc jest to atak na ezkolizyjność. U podstaw tego ataku leży paradoks dnia urodzin, który pozwala oczekiwać, że kolizja zostanie znaleziona znacznie szyciej niż sugerowały to rozmiar przeciwdziedziny funkcji skrótu. W klasycznej postaci paradoks ten rzmi następująco: Ile osó należy wyrać, żey prawdopodoieństwo zdarzenia, że co najmniej dwie z nich mają urodziny tego samego dnia w roku, yło większe od jednej drugiej? Odpowiedź jest zaskakująca: tylko 23 osoy. Przełożenie tego paradoksu na funkcje skrótu jest następujące. Atakujący generuje r 1 fałszywych wiadomości oraz r 2 prawdziwych wiadomości. Oczekiwana licza kolizji wynosi r 1 r 2 /n, gdzie n jest długością skrótu. Prawdopodoieństwo znalezienia pary fałszywej i prawdziwej wiadomości dającej ten sam skrót wynosi 1 e r r 1 2 n 2. Ay uzyskać kolizję z prawdopodoieństwem większym od ½ wystarczy sprawdzić r 1 = r 2 = 2 2 n wiadomości. Prawdopodoieństwo to wynosi dokładnie Bardziej ogólnie można powiedzieć, iż znalezienie kolizji z prawdopodoieństwem ε wymaga n 2 2 2log(1 ε ) wywołań funkcji skrótu. 14

15 Jeden z pierwszych, a zarazem najardziej znanych ataków urodzinowych został przedstawiony w 1977 roku przez Yuvala [140]. Na wejściu ataku mamy prawdziwą wiadomość m 1 oraz fałszywą wiadomość m 2. Dysponujemy funkcją skrótu h dającą n-itowy skrót. Na wyjściu algorytmu otrzymujemy zmodyfikowane wiadomości m 1 i m 2 różniące się nieznacznie od swoich pierwowzorów i spełniające warunek h(m 1 ) = h(m 2 ). Algorytm znajdujący kolizję przedstawia się następująco: utwórz 2 n/2 niewielkich modyfikacji m 1 wiadomości m 1, dla każdej wiadomości m 1 wygeneruj skrót h(m 1 ) i zapisz go, utwórz 2 n/2 niewielkich modyfikacji m 2 wiadomości m 2, dla każdej wiadomości m 2 wygeneruj skrót h(m 2 ) i sprawdź czy w ziorze zapisanych skrótów h(m 1 ) znajduje się skrót spełniający równanie h(m 1 ) = h(m 2 ). Również dla klasy ataków urodzinowych można znaleźć w literaturze kilka ulepszeń [102]. Jednym z nich jest wprowadzenie punktów wyróżniających (ang. distinguished points), które znacznie redukują potrzeną pamięć i czas ATAKI ŁAŃCUCHOWE Ataki łańcuchowe (ang. chaining attacks) wykorzystują iteracyjną naturę funkcji skrótu. Do tej grupy ataków należą: ataki wielolokowe, ataki ze spotkaniem w środku, ataki z wykorzystaniem punktów stałych oraz ataki wielokolizyjne. Atak wielolokowy (ang. multi-lock collision attacks MBCA) W 1989 roku Merkle [75] i Damgård [27] przedstawili niezależnie iteracyjną strukturę konstruowania ezkolizyjnych funkcji skrótu, wykorzystując do konstrukcji ezkolizyjne funkcje kompresujące. Od tego czasu konstrukcja ta nosi nazwę struktury Merkle-Damgårda i jest powszechnie stosowana we współczesnych funkcjach skrótu (np. MD5, SHA-1). Niestety konstrukcja ta, jak pokazują ostatnie ataki [12,133,134,135], jest podatna na znajdowanie kolizji atakiem wielolokowym. W celu opisania tej grupy ataków zostaną najpierw opisane pewne ataki pośrednie. Prawiekolizje (ang. near-collision) Prawiekolizje mają miejsce, gdy dla dwóch różnych wiadomości m i m (m m ) otrzymujemy skróty różniące się tylko na kilku itach, a więc parę skrótów, dla których odległość Hamminga jest mała (rys 2.3). 15

16 Rys. 2.3 Prawiekolizja. Pseudokolizje (ang. pseudo-collision) Pod pojęciem pseudokolizji rozumie się atak polegający na znalezieniu pary wiadomości m i m (m m ) które dla dwóch różnych wektorów inicjujących IV i IV (IV IV ) dają tej sam skrót h(iv,m) = h(iv,m ) (rys 2.4). Rys. 2.4 Pseudokolizja. Kolizje przy wyranym wektorze inicjującym (ang. semi-free-start collision) Rozpatrując sytuację, gdy wyieramy dowolny wektor inicjujący IV i znajdujemy dla niego dwie wiadomości m i m (m m ), które dają ten sam skrót h(iv,m) = h(iv,m ), otrzymujemy atak kolizyjny przy dowolnym wektorze inicjującym (rys 2.5). Rys. 2.5 Kolizje przy wyranym wektorze inicjującym. Wykorzystując powyższe ataki pośrednie można poszukiwać kolizji dla wielolokowych wiadomości. Dla najprostszego przypadku, tj. dla wiadomości dwulokowych schemat ataku ędzie wyglądał tak jak to przedstawiono na rys

17 Rys. 2.6 Schemat ataku dwulokowego. Biorąc pod uwagę zależności pomiędzy lokami skracanych wiadomości możemy wyróżnić następujące przypadki dla ataków dwulokowych [39, 40]: MBCA-1 pierwsze loki wiadomości są soie równe, natomiast drugie loki różnią się: m 1 = m 1 i m 2 m 2. W drugim kroku mamy do czynienia z atakiem przy dowolnie wyranym wektorze inicjującym, natomiast pierwszy krok służy do znalezienia odpowiedniego wektora. MBCA-2 pierwsze loki wiadomości są różne, natomiast drugie loki są takie same: m 1 m 1 i m 2 = m 2. W drugim kroku mamy do czynienia z atakiem pseudokolizyjnym dla równych wiadomości i różnych wektorów inicjujących, natomiast pierwszy krok służy do znalezienia odpowiedniej pary wektorów. MBCA-3 pierwsze i drugie loki wiadomości są różne: m 1 m 1 i m 2 m 2. W drugim kroku mamy do czynienia z atakiem pseudokolizyjnym, natomiast pierwszy krok służy do znalezienia odpowiedniej pary wektorów inicjujących. Punkty stałe (ang. fixed-points) Innym atakiem wykorzystującym słaości schematu iteracyjnego MD jest atak na punkty stałe. Celem tego ataku jest znalezienie takiej wiadomości m, że dla funkcji kompresującej i i CV = ϕ( CV, m). Jak się okazuje wyznaczenie punktów stałych dla wielu znanych funkcji skrótu jest zadaniem stosunkowo prostym [56]. Wygenerowanie kolizji polega na znalezieniu pary wiadomości wielolokowych, takich że w jednej z nich znajduje się lok wiadomości dający punkt stały. Atak wielokolizyjny (ang. multicollision attack) W 2004 roku Joux [52] pokazał atak wielokolizyjny dla wiadomości wielolokowych (rys 2.7). Joux wykazał, iż znalezienie wielu (dokładnie 2 k, gdzie k jest dowolną liczą naturalną) kolidujących wiadomości, nie jest trudniejsze, niż znalezienie pojedynczej kolizji dla iteracyjnych funkcji skrótu korzystających ze schematu iteracyjnego MD. Mówiąc dokładniej, znalezienie 2 k kolizji wymaga k-razy tyle czasu ile wymaga znalezienie pojedynczej kolizji. Algorytm ataku przedstawia się następująco (alg. 2.1): 17

18 1. podstaw CV 0 = IV 2. dla i od 0 do k-1 wykonaj: a. znajdź dwie różne wiadomości m a i i m i takie że ϕ(cv i,m a i) = ϕ(cv i,m i). podstaw CV i+1 = ϕ(cv i,m a i) 3. wszystkie 2 k wiadomości: (m a 0,m a 1,..,m a k-1) (m a 0,m a 1,..,m k-1)... (m 0,m 1,..,m k 1) mają ten sam skrót Alg. 2.1 Algorytm ataku wielokolizyjnego. Rys. 2.7 Schemat ataku wielokolizyjnego. Atak ze spotkaniem w środku (ang. meet in the middle attack) Atak ten ma zastosowanie dla funkcji skrótu, dla których funkcja kompresująca jest łatwa do odwrócenia. Jest to wariant ataku urodzinowego na słaą ezkolizyjność o złożoności O(2 n/2 ), gdzie n jest długością skrótu. Niech wiadomość m ędzie konkatenacją dwóch loków m 1 oraz m 2, m = m 1 m 2. Atakujący generuje r 1 pierwszych części wiadomości m 1 oraz r 2 drugich części fałszywych wiadomości m 2. Rozpoczynając atak od wektora początkowego z jednej strony oraz od wartości skrótu z drugiej strony, prawdopodoieństwo spotkania w środku wynosi n r1 r2 2 1 e ATAKI NA FUNKCJĘ KOMPRESUJĄCĄ Ostanią klasę ataków stanowią ataki na funkcję kompresującą. Do klasy tej można zaliczyć wszystkie ataki próujące znaleźć słaości wewnątrz konkretnej funkcji kompresującej. Możemy mieć tutaj do czynienia na przykład z próami poszukiwania itów neutralnych, a więc itów, które wewnątrz funkcji kompresującej przez wiele rund (a nawet w ogóle) nie wpływają na zmiany zmiennych wewnętrznych algorytmu. Do tej klasy zaliczają się także ataki z wykorzystaniem techniki modyfikacji wiadomości, gdzie atakujący stara się tak doierać pary wiadomości, odpowiednio modyfikując poszczególne ity, ay uzyskać pełną lu wewnętrzną kolizję. 18

19 2.4. METODY DOPEŁNIANIA Oryginalna wiadomość przed skróceniem zostaje podzielona na loki o równej, określonej dla danej funkcji, długości. Czynność ta jest możliwa, jeśli długość wiadomości jest wielokrotnością liczy, określającej wielkość loku używanej funkcji skrótu. Dlatego też każdorazowo przed skróceniem wiadomości jest ona poddawana procedurze dopełnienia (ang. padding). Kluczowym elementem tej procedury jest umieszczanie w wiadomości informacji o jej oryginalnej, pierwotnej długości. Podejście to zwane jest wzmocnionym schematem MD (ang. MDstrengthening). Zaezpiecza ono funkcję skrótu między innymi przed: atakami z wykorzystaniem punktów stałych, atakami, w których wiadomości różnią się tylko ilością itów o wartości 0/1 w ostatnim loku, a schemat dopełnienia polegał na dołączaniu do oryginalnej wiadomości ciągu itów o wartości 0/1. Najpopularniejszy mechanizm dopełnienia polega na dołączeniu do wiadomości jednego itu o wartości 1 od strony najmniej znaczącego itu, następnie ciągu itów o wartości 0, a na koniec wartości określającej długość oryginalnej wiadomości, tak ay całość stanowiła wielokrotność wielkości loku, na którym funkcja skrótu operuje (rys. 2.8). Przykładowo dla funkcji operującej na 512-itowym loku wiadomości dołączamy it o wartości 1, następnie ciąg itów o wartości 0 tak, ay cała wiadomość miała długość 448 modulo 512. Następnie do tak skonstruowanej wiadomości jest dołączana 64-itowa wartość length określająca jej oryginalną długość modulo 2 64 (rys. 2.8). Metoda ta jest rekomendowana przez NIST [91,92] i używana w aktualnych funkcjach skrótu. Rys. 2.8 Metoda dopełnienia wiadomości według NIST. W 2005 roku Johnson [50] na warsztatach poświeconych funkcjom skrótu przeprowadzonych przez NIST przeanalizował uproszczoną metodę polegającą na opuszczeniu itu o wartości 1 i dołączaniu od razu ciągu itów o wartości 0. Technika ta yła używana między innymi w rosyjskim standardzie funkcji skrótu o nazwie GOST [41]. Tak jak poprzednio na końcu tak skonstruowanej wiadomości jest dołączana 64-itowa wartość length określająca jej oryginalną długość modulo Metoda zaproponowana przez Johnsona (rys. 2.9) jest godna polecenia dla systemów zorientowanych na optymalizację oliczeń. 19

20 Rys. 2.9 Metoda dopełnienia wiadomości według Johnsona. Podsumowanie Metody dopełniania wiadomości nie mają istotnego wpływu na ezpieczeństwo funkcji skrótu. Ważnym aspektem jest tylko fakt umieszczania na końcu wiadomości jej oryginalnej długości. Utrudnia to znajdowanie kolizji z wykorzystaniem ataku wielolokowego dla wiadomości o różnych długościach. W projektowanej w niniejsze pracy funkcji skrótu zostanie wykorzystana uproszczona metoda dopełnienia wiadomości zaproponowana przez Johnsona, ze względu na zwiększenie prędkości działania funkcji skrótu dla wiadomości o pewnych długościach. Wartym zauważenia jest również fakt dołączania do oryginalnej wiadomości pewnego znacznika określającego instancję użytej funkcji w przypadku rodziny funkcji skrótu. Z sytuacją taką mamy do czynienia na przykład dla algorytmów HAVAL [141] oraz LAKE [5]. Ze względu na możliwość definiowania liczy rund oraz w celu jednoznacznej identyfikowalności użytej instancji funkcji skrótu, do algorytmu dopełniania wiadomości zostanie dołożona wartość określająca liczę rund użytych w funkcji PHAL STRUKTURY ITERACYJNE Od czasu, gdy w 1989 roku Merkle [74] i Damgård [27] niezależnie przedstawili iteracyjną strukturę konstrukcji funkcji skrótu, stała się ona najardziej popularnym i powszechnie stosowanym podejściem projektowym. Niestety ostatnie ataki pokazują słaości konstrukcji Merklego-Damgårda (MD) i jej podatność na atak wielolokowy. W niniejszym rozdziale zostanie szczegółowo pokazany schemat MD oraz inne interesujące podejścia do schematów iteracyjnych. Na drugich warsztatach dotyczących funkcji skrótu przeprowadzonych przez NIST w 2006 roku Rivest zaproponował nowe spojrzenie na konstruowanie funkcji skrótu. W wizji tej funkcja skrótu operuje jednocześnie na całej skracanej wiadomości, zamiast iteracyjnego skracania jej kolejnych loków. Jednak do tej pory żadna funkcja oparta na takim rozwiązaniu nie została zaprezentowana. Podejście to ze względu na liczne prolemy z analizowaniem całych wiadomości, często przecież ardzo dużych, nie wydaje się yć oiecujące. 20

21 MD Struktura Iteracyjna typu MD wynosi swoją nazwę od jej projektantów: Merklego i Damgårda. n Polega ona na konstruowaniu funkcji skrótu h : {0,1} * {0,1} za pomocą funkcji kompresującej ϕ o określonej długości wektora wejściowego ϕ n t : {0,1} {0,1} {0,1} n, gdzie t jest długością loku funkcji odpowiadającą wielkości loku skracanej wiadomości, natomiast n oznacza wielkość zmiennej łańcuchowej, odpowiadającej długości wektora inicjującego i najczęściej równej długości skrótu. Główną cechą konstrukcji MD jest fakt, iż jeśli funkcja kompresująca ϕ jest odporna na kolizje, to wynikowa funkcja skrótu h jest także odporna na kolizje. Specyfikacja funkcji opartej na schemacie MD musi zawierać w soie nie tylko opis funkcji kompresującej, ale także wartość wektora inicjującego IV oraz algorytm dopełnienia wiadomości. Algorytm wyznaczania skrótu dla wiadomości m dopełnionej i podzielonej na k loków równej długości przedstawia się następująco (rys. 2.10): CV CV 0 i + 1 = IV h( m) = CV = ϕ ( CV, m ), i = 0,1,..., k 1 k i i Rys Schemat struktury MD. Przez wiele lat społeczność kryptograficzna yła utwierdzona w przekonaniu, iż ezpieczeństwo schematu MD dotyczy również ataków na słaą ezkolizyjność (ang. second pre-image attacks). Jednak w 1999 roku Dean [30] zauważył, iż jeśli łatwo jest znaleźć punkty stałe (ang. fixed-points) dla funkcji kompresującej, wówczas atak na słaą ezkolizyjność wymaga złożoności oliczeniowej O(n 2 n/2 ) i pamięciowej O(n 2 n/2 ). W roku 2005 Kelsey i Schneier [56] przedstawiają ulepszoną wersję tego ataku. Pokazują, że jeśli mamy do czynienia z długą wiadomością, złożoną z 2 k loków, gdzie k jest liczą naturalną, to złożoność oliczeniowa ataku na słaą ezkolizyjność wynosi O(k 2 n/ n k+1 ). Dithering W 2005 roku Rivest [106] zaproponował pewną modyfikację metody MD. Polega ona na podaniu na wejście funkcji kompresującej dodatkowej nieperiodycznej wielkości d, stanowiącej niejako szum (ang. dither) (rys. 2.11). 21

22 Rys Schemat struktury z ditheringiem. Ważnym elementem tej struktury jest wymaganie na nieperiodyczność wartości d. Jedną z najprostszych propozycji jest użycie jako zmiennej d licznika generującego wartości d i = i. Niedogodnością takiego podejścia jest operowanie na ardzo długich wiadomościach. Należy zawczasu przygotować licznik o dużej liczie itów (np. 256), tak ay praktycznie niemożliwe yło jego przepełnienie. Innym pomysłem może yć zastosowanie pewnej sekwencji pseudolosowej p 0, p 1, p 2, o ardzo dużym okresie i użycie jej ezpośrednio jako zmiennej d, czyli d = p. Jednak podejście to z założenia nie jest wolne od powtórzeń. Rivest w swojej pracy jako zmienną d proponuje aelowe sekwencje z własnością niepowtarzalności podsłów (ang. aelian square-free sequences). Słowo d spełnia tę własność, jeśli nie może yć zapisane w postaci d = x y y z, gdzie x, y, z są słowami, y e, e jest słowem pustym i y jest permutacją y. W pracy [21] został przedstawiony atak na znalezienie drugiego przeciworazu o złożoności porównywalnej z atakami na strukturę typu MD. i i HAIFA W 2006 roku Biham i Dunkleman [13] przedstawili zupełnie nowe podejście do konstruowania iteracyjnych funkcji skrótu o nazwie HAIFA (HAsh Iterative FrAmework). Główną zmianą w stosunku do schematu MD jest wprowadzenie do algorytmu liczy itów (its), które już zostały skrócone oraz pewnej wartości losowej zwanej solą (salt). Funkcja kompresująca ϕ przyjmuje n t s postać ϕ : {0,1} {0,1} {0,1} {0,1} {0,1} n, gdzie dodatkowe zmienne i s oznaczają, odpowiednio, długości liczy itów pól dotychczas skróconych danych (#its) i wartości losowej (soli). Iteracyjny schemat algorytmu HAIFA przedstawia się następująco: CV CV 0 i+ 1 = IV h( m) = CV = ϕ ( CV, m,# its, salt), k i i i = 0,1,..., k 1 Licza itów dotychczas skróconych została wprowadzona celem zwiększenia odporności funkcji skrótu na atak z wykorzystaniem punktów stałych (ang. fix-points). Natomiast wartość losowa (sól) zwiększa odporność funkcji skrótu na ataki ogólne, gdzie często mamy do czynienia z wcześniej wygenerowanymi talicami (wiadomość i jej skrót). Talice takie w przypadku 22

23 stosowania soli musiałyy yć udowane dla każdej możliwej wartości parametru losowego (soli), co jest praktycznie niewykonalne. Podsumowanie Jak pokazują ostatnie ataki na funkcje skrótu, ardzo często atakowana jest nie sama funkcja kompresująca, lecz właśnie algorytm iteracyjny. Ponieważ większość współczesnych funkcji używa iteracyjnej struktury typu MD, więc stała się ona głównym celem ataków. Niestety ataki te onażyły niedoskonałości najpopularniejszej konstrukcji. Również pewne proste modyfikacje konstrukcji MD okazały się podatne na ataki [39]. Syntetyczne zestawienie struktur iteracyjnych (m.in. Enveloped MD, Randomized Hashing, ROX) oraz analizę ich odporności na kryptoanalizę można znaleźć w pracy [4]. Wydaje się, iż nowo tworzone funkcje skrótu, a zarazem funkcja tworzona w niniejszej pracy, powinny odejść od rozwiązania typu MD. Opracowując nowy schemat iteracyjny należy wziąć pod uwagę pewien element losowy, dzięki któremu można uchronić funkcję skrótu przed grupą ataków ogólnych z wcześniej przygotowanymi talicami. Natomiast w celu wykluczenia ataków za pomocą stałych punktów można wprowadzić do funkcji kompresującej pewien licznik, zmieniający się przy każdej iteracji. Oa podejścia zostaną wykorzystane w projektowanym algorytmie schematu iteracyjnego. 23

24 3. DEDYKOWANE FUNKCJE SKRÓTU 3.1. PRZEGLĄD WSPÓŁCZESNYCH FUNKCJI W celu przedstawienia metod konstrukcyjnych zastosowanych we współczesnych funkcjach skrótu przedstawione zostały funkcje wyrane: ze względu na swoją popularność (MD4, SHA), ze względu na zastosowanie loków podstawień w ich konstrukcji (TIGER), ze względu na rozwiązanie konstrukcyjne równoległość oliczeń (FORK-256). Intencją takiego wyoru yło w pierwszych dwóch przypadkach pokazanie słaości rodziny opartej na funkcji MD4, a w następnych przykładach pokazanie takich konstrukcji funkcji, które na dzień dzisiejszy są odporne na znane ataki. Konstrukcje te posłużyły za punkt odniesienia do projektowanej w niniejszej pracy funkcji skrótu. MD4 Funkcja skrótu MD4, która dała początek całej rodzinie MD/SHA została stworzona w roku 1990 przez Rona Rivesta [107] i yła na początku lat dziewięćdziesiątych najpopularniejszą funkcją skrótu. Została zaprojektowana z myślą o programowej implementacji na komputerach 32-itowych, a więc wszystkie operacje wykonywane są na zmiennych 32-itowych. Funkcja generuje skrót długości 128 itów, operując na 512-itowym loku wiadomości oraz na czterech zmiennych 32-itowych (A, B, C, D). Zmienne te są inicjowane wartościami: A 0 = 0x , B 0 = 0xEFCDAB89, C 0 = 0x98BADCFE, D 0 = 0x Jest to funkcja o trzech rundach i 16 krokach w każdej rundzie (rys. 3.1). W każdej rundzie loki skracanej wiadomości podawane są w pewnej permutacji Σ r (m), dla 1 r 3, tak że do każdego kroku k wprowadzany jest lok wiadomości w k, dla 0 k 47 (ta. 3.1). Dodatkowo dokonywana jest rotacja w lewo o zmienną liczę itów s k (ta. 3.2). Funkcja kompresująca zastosowana w MD4 używa trzech stałych y 1, y 2, y 3 oraz trzech funkcji oolowskich f 1, f 2, f 3 odpowiednio dla każdej z rund: f ( x, y, z) = xy ( x) z, 1 f ( x, y, z) = xy xz yz, 2 f ( x, y, z) = x y z, 3 y y y = 0x , = 0x5A827999, = 0x6ED9EBA1. 24

25 Ta. 3.1 MD4 kolejność słów wiadomości skracanej w rundach. k w k Σ 1 (m) Σ 2 (m) Σ 3 (m) Ta. 3.2 MD4 licza itów dla rotacji w lewo. k s k Rys. 3.1 Schemat funkcji MD4. Pojedynczy krok loku kompresującego został przedstawiony poniżej (rys. 3.2). Łatwo zauważyć, iż trzy zmienne w pojedynczym kroku są po prostu kopiowane, natomiast modyfikowana jest tylko zawartość jednej zmiennej. Rys. 3.2 Krok loku kompresującego funkcji MD4. Bezpośrednią następczynią tej funkcji jest MD5, różniąca się od poprzedniczki następująco: stałe y 1, y 2, y 3 zostały zamienione na 64 wartości, różne dla każdego kroku algorytmu, 25

26 zmieniono kolejność słów wiadomości skracanej dla rundy drugiej i trzeciej, została dodana czwarta runda złożona także z 16 kroków, zmieniono liczę itów rotacji w lewo dla każdej rundy, funkcja f 2 została zamieniona na funkcję f ( x, y, z) = x xz yz 2, została dodana czwarta funkcja f ( x, y, z) = y ( x ), 4 z do wartości wyjścia danej rundy została dodana wartość wyjścia rundy poprzedniej. SHA Początek rodziny funkcji SHA datuje się na 1993 rok. Wówczas NSA poprzez NIST pulikuje pierwszą funkcję z tej rodziny nazywaną często SHA-0 [90]. Dwa lata później opulikowany zostaje algorytm SHA-1 [91], który zastępuje swojego poprzednika ze względu na nieujawnione oficjalnie wady. W 2001 roku NIST pulikuje ulepszoną wersję funkcji SHA dając jej rooczą nazwę SHA-2 [92]. W jej skład wchodzą cztery funkcje: SHA-224, SHA-256, SHA-384 i SHA Rok później rodzina ta staje się standardem opulikowanym jako FIPS PUB Ze względu na złamanie funkcji SHA-0 oraz pewne słaości w SHA-1, NIST zaleca zaprzestanie używania funkcji SHA-1 w schematach podpisu cyfrowego i innych aplikacjach wymagających odporności na kolizje tak szyko jak to jest tylko możliwe. Amerykańskie agencje rządowe mają także wymóg przejścia na rodzinę funkcji SHA-2 od 2010 roku [88]. W roku 2007 NIST ogłosił konkurs na następcę standardu pod nazwą SHA-3 [87]. Poniżej została przedstawiona funkcja SHA-1 jako najczęściej używana funkcja skrótu w połowie lat dziewięćdziesiątych. Funkcja SHA-1 generuje skrót długości 160 itów, używając 5 zmiennych 32-itowych (A, B, C, D, E). Zmienne te są inicjowane wartościami: A 0 = 0x , B 0 = 0xEFCDAB89, C 0 = 0x98BADCFE, D 0 = 0x , E 0 = 0xC3D2E1F0. Skrót jest generowany po czterech 20-krokowych rundach (rys. 3.3). Każda runda używa pewnej funkcji oolowskiej i stałej, odpowiednio: f ( x, y, z) = xy ( x) z, 1 f ( x, y, z) = x y z, 2 f ( x, y, z) = xy xz yz, 3 f ( x, y, z) = x y z, 4 y y y y = 0x5A827999, = 0x6ED9EBA1, = 0x8F1BBCDC, = 0xCA62C1D6. Stałe y 1, y 2, y 3, y 4 stanowią heksadecymalne wartości wyrażenia 32 s / 4) 2 dla { 2,3,5,10} ( s. 26

27 Rys. 3.3 Schemat funkcji SHA-1. Jeden lok wiadomości, składający się z szesnastu słów 32-itowych (m 0,,m 15 ), jest poddawany procesowi rozszerzania i zostaje przekształcony w osiemdziesiąt słów (w 0,,w 79 ) zgodnie z regułą: w i = m i, dla i = {0,.15}; w i = (w i 3 w i-8 w i-14 w i-16 ) 1, dla i = {16,.79}. Pojedynczy krok loku kompresującego został przedstawiony na poniższym rysunku (rys. 3.4). Podonie jak to miało miejsce w funkcji MD4 trzy zmienne są w pojedynczym kroku po prostu kopiowane. Jedna zmienna jest modyfikowana tylko za pomocą operacji przesunięcia cyklicznego w lewo. Ostatnia zmienna jest natomiast modyfikowany za pomocą funkcji oolowskiej f r, podloku wiadomości w k, stałej y r oraz przesunięcia itowego. Rys. 3.4 Krok loku kompresującego funkcji SHA-1. Funkcja SHA-1 generuje skrót długości 160 itów, używając na wyjściu konkatenacji 5 zmiennych 32-itowych (A, B, C, D, E). 27

28 Następczynią funkcji SHA-1 jest rodzina funkcji nazywana SHA-2. Funkcje z rodziny SHA-2 generują skróty o czterech możliwych długościach: 224, 256, 384 i 512 itów. Najardziej interesującymi zmianami w stosunku do poprzedniczki są (zmiany podano dla funkcji SHA-256): zamieniono wektor stanu 5 zmiennych 32-itowych (A, B, C, D, E) na 8 zmiennych 32-itowych (A, B, C, D, E, F, G, H), zamieniono cztery stałe y 1, y 2, y 3, y 4 (każda dla jednej rundy stanowiące wartości wyrażenia 32 s / 4) 2 dla s { 2,3,5,10} ( ) na 64 stałe (każda dla jednego kroku stanowiące pierwiastki sześcienne z pierwszych sześćdziesięciu czterech licz pierwszych), zmniejszono liczę kroków w rundzie (z 20 na 16), ale sumaryczna licza kroków pozostała ez zmian (80), w pojedynczej rundzie dwie wartości zmiennych wewnętrznych są modyfikowane, natomiast pozostałe sześć zmiennych wewnętrznych jest przepisywanych, zwiększono długość skrótu ze 160-itów na jedną z wartości: 224 lu 256 itów. TIGER Funkcja TIGER autorstwa Andersona i Bihama [3] została zaprojektowana w 1995 roku. Miała stanowić alternatywę dla rodziny MD/SHA i yć zoptymalizowana dla procesorów 64-itowych. W wyniku powstała funkcja równie szyka jak SHA-1 na procesorach 32-itowych i aż trzykrotnie szysza od niej na platformach 64-itowych. Funkcja kompresująca wykorzystuje w swojej strukturze loki podstawień (S-ox 1,, S-ox 4 ). Każdy z czterech statycznych loków podstawień przekształca 8 itów wejściowych w 64 ity wyjściowe. Funkcja w pełnej wersji generuje skrót o długości 192 itów, używając trzech 64-itowych zmiennych (A, B, C). Skrót jest generowany po trzech rundach algorytmu (rys. 3.5). Każda runda składa się z ośmiu kroków. Rys. 3.5 Schemat funkcji TIGER. Na wejście pierwszej rundy podawana jest oryginalna 512-itowa wiadomość m podzielona na osiem 64-itowych słów. Na wejście kolejnych rund podawana jest wiadomość m po przejściu złożonego algorytmu, nazwanego przez autorów KeySchedule. Nazwa nawiązuje do sposou generowania kluczy w szyfrach lokowych, gdyż, tak jak tam, proces ten jest dość złożony (alg. 3.1). 28

29 KeySchedule(m0,m1,,m7) { } m0 := m0 [m7 0xA5A5A5A5A5A5A5A5]; m1 := m1 m0; m2 := m2 + m1; m3 := m3 [m2 (( m1) «19)]; m4 := m4 m3; m5 := m5 + m4; m6 := m6 [m5 (( m4)» 23)]; m7 := m7 m6; m0 := m0 + m7; m1 := m1 [m0 (( m7) «19)]; m2 := m2 m1; m3 := m3 + m2; m4 := m4 [m3 (( m2)» 23)]; m5 := m5 m4; m6 := m6 + m5; m7 := m7 [m6 0x ABCDEF] Alg. 3.1 Algorytm KeySchedule dla funkcji TIGER. Słowa wiadomości m=(m 0, m 1,, m 7 ) podawane są do funkcji kroku zgodnie z zależnością: w i = m i, dla 0 i 7; (w 8, w 9,, w 15 ) = KeySchedule(w 0, w 1,, w 7 ); (w 16, w 17,, w 23 ) = KeySchedule(w 8, w 9,, w 15 ). Każda runda r używa też innego mnożnika y r, odpowiednio: y =, y = 7, y = Rys. 3.6 Krok loku kompresującego funkcji TIGER. Na wejście funkcji z lokami podstawień podawana jest zmienna C podzielona na osiem 8-itowych słów. Parzyste (even) słowa zmiennej C są podawane na kolejne loki podstawień w kolejności rosnącej, a następnie wynik działania jest dodawany do zmiennej B. Natomiast nieparzyste (odd) słowa podawane są w kolejności malejącej, a ich wynik odejmowany jest od 29

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

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

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

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

KRYPTOGRAFICZNE FUNKCJE SKRÓTU

KRYPTOGRAFICZNE FUNKCJE SKRÓTU ZESZYTY NAUKOWE AKADEMII MARYNARKI WOJENNEJ ROK LIV NR 2 (193) 2013 Przemysław Rodwald Akademia Marynarki Wojennej Wydział Nawigacji i Uzbrojenia Okrętowego, Instytut Hydroakustyki 81-103 Gdynia, ul. J.

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

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

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

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

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

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

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

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

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

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

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

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

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

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek <dunstan@freebsd.czest.pl>

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek <dunstan@freebsd.czest.pl> Praktyczne aspekty wykorzystania nowoczesnej kryptografii Wojciech A. Koszek Wprowadzenie Kryptologia Nauka dotycząca przekazywania danych w poufny sposób. W jej skład wchodzi

Bardziej szczegółowo

Podstawy. Jednokierunkowość, zastosowania.

Podstawy. Jednokierunkowość, zastosowania. 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

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

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

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

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

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

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

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

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

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

IPsec bezpieczeństwo sieci komputerowych

IPsec bezpieczeństwo sieci komputerowych IPsec bezpieczeństwo sieci komputerowych Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź,18maja2006 Wstęp Jednym z najlepiej zaprojektowanych protokołów w informatyce jestprotokółipoczymświadczyfakt,żejestużywany

Bardziej szczegółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka KRYPTOGRAFIA STOSOWANA APPLIED CRYPTOGRAPHY Forma studiów: stacjonarne Kod przedmiotu: IO1_03 Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych Rodzaj

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

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

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN) Bezpieczeństwo Systemów Komputerowych Wirtualne Sieci Prywatne (VPN) Czym jest VPN? VPN(Virtual Private Network) jest siecią, która w sposób bezpieczny łączy ze sobą komputery i sieci poprzez wirtualne

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

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

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Autor: Mariusz Sasko Promotor: dr Adrian Horzyk Plan prezentacji 1. Wstęp 2. Cele pracy 3. Rozwiązanie 3.1. Robot

Bardziej szczegółowo

Program szkolenia: Bezpieczny kod - podstawy

Program szkolenia: Bezpieczny kod - podstawy Program szkolenia: Bezpieczny kod - podstawy Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Bezpieczny kod - podstawy Arch-Sec-intro Bezpieczeństwo developerzy 3 dni 75% wykłady

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

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

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

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Protokół IPsec. Patryk Czarnik

Protokół IPsec. Patryk Czarnik Protokół IPsec Patryk Czarnik Bezpieczeństwo sieci komputerowych MSUI 2009/10 Standard IPsec IPsec (od IP security) to standard opisujacy kryptograficzne rozszerzenia protokołu IP. Implementacja obowiazkowa

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

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

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

Bezpieczeństwo w sieciach bezprzewodowych WiFi. Krystian Baniak Seminarium Doktoranckie Październik 2006 Bezpieczeństwo w sieciach bezprzewodowych WiFi Krystian Baniak Seminarium Doktoranckie Październik 2006 Wprowadzenie Agenda Problemy sieci bezprzewodowych WiFi Architektura rozwiązań WiFi Mechanizmy bezpieczeństwa

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

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

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA VPN Virtual Private Network Użycie certyfikatów niekwalifikowanych w sieciach VPN wersja 1.1 Spis treści 1. CO TO JEST VPN I DO CZEGO SŁUŻY... 3 2. RODZAJE SIECI VPN... 3 3. ZALETY STOSOWANIA SIECI IPSEC

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

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

Sortowanie zewnętrzne

Sortowanie zewnętrzne Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często

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

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

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji Robert Hryniewicz Promotor: dr inż. Krzysztof Różanowski Cele pracy Opracowanie protokołu komunikacyjnego służącego do

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

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

SSL (Secure Socket Layer)

SSL (Secure Socket Layer) SSL --- Secure Socket Layer --- protokół bezpiecznej komunikacji między klientem a serwerem, stworzony przez Netscape. SSL w założeniu jest podkładką pod istniejące protokoły, takie jak HTTP, FTP, SMTP,

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

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

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

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4 Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Nr 4 Algorytmy sortowania zewnętrznego 1 Wstęp Bardzo często przy rozwiązywaniu praktycznych

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

Kryptografia na Usługach Dewelopera. Cezary Kujawa

Kryptografia na Usługach Dewelopera. Cezary Kujawa Kryptografia na Usługach Dewelopera Cezary Kujawa Cel: Uporządkowanie i pogłębienie wiedzy Zainteresowanie fascynującą dziedziną Kryptologia (z gr. κρυπτός kryptos ukryty i λόγος logos rozum, słowo ) dziedzina

Bardziej szczegółowo

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM Autor: Piotr Marek Ciecierski Kierujący pracą: prof. dr hab. inż. Zbigniew Kotulski Plan prezentacja Spis treści: 1) Wprowadzenie

Bardziej szczegółowo

Bezpieczeństwo usług oraz informacje o certyfikatach

Bezpieczeństwo usług oraz informacje o certyfikatach Bezpieczeństwo usług oraz informacje o certyfikatach Klienci banku powinni stosować się do poniższych zaleceń: nie przechowywać danych dotyczących swojego konta w jawnej postaci w miejscu, z którego mogą

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

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

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie rodzaje szyfrowania kryptografia symetryczna i asymetryczna klucz publiczny i prywatny podpis elektroniczny certyfikaty, CA, PKI IPsec tryb tunelowy

Bardziej szczegółowo

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić? Bezpieczeństwo Danych Technologia Informacyjna Uwaga na oszustów! Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe czy hasła mogą być wykorzystane do kradzieŝy! Jak się przed nią

Bardziej szczegółowo

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych Autor: Piotr Majkowski Pod opieką: prof. Zbigniew Kotulski Politechnika

Bardziej szczegółowo

Rijndael szyfr blokowy

Rijndael szyfr blokowy Rijndael szyfr blokowy Andrzej Chmielowiec 24 lipca 2002 1 Podstawy matematyczne Kilka operacji w standardzie Rijndael jest zdefiniowanych na poziomie bajta, przy czym bajty reprezentują elementy ciała

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

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Laboratorium nr 3 Podpis elektroniczny i certyfikaty Laboratorium nr 3 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

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

Zastosowanie symulacji Monte Carlo do zarządzania ryzykiem przedsięwzięcia z wykorzystaniem metod sieciowych PERT i CPM

Zastosowanie symulacji Monte Carlo do zarządzania ryzykiem przedsięwzięcia z wykorzystaniem metod sieciowych PERT i CPM SZKOŁA GŁÓWNA HANDLOWA w Warszawie STUDIUM MAGISTERSKIE Kierunek: Metody ilościowe w ekonomii i systemy informacyjne Karol Walędzik Nr albumu: 26353 Zastosowanie symulacji Monte Carlo do zarządzania ryzykiem

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015 Co można zrobić z układem równań... tak, aby jego rozwiazania się nie zmieniły? Rozważam

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Podpis elektroniczny dla firm jako bezpieczna usługa w chmurze. mgr inż. Artur Grygoruk

Podpis elektroniczny dla firm jako bezpieczna usługa w chmurze. mgr inż. Artur Grygoruk Podpis elektroniczny dla firm jako bezpieczna usługa w chmurze mgr inż. Artur Grygoruk Czy wyobrażamy sobie świat bez podpisu? Co podpis wnosi do naszego życia? Cisco Systems 1/15 Podpis elektroniczny

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

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

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

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

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

Bringing privacy back

Bringing privacy back Bringing privacy back SZCZEGÓŁY TECHNICZNE Jak działa Usecrypt? DEDYKOWANA APLIKACJA DESKTOPOWA 3 W przeciwieństwie do wielu innych produktów typu Dropbox, Usecrypt to autorska aplikacja, która pozwoliła

Bardziej szczegółowo

Algebra Boole a i jej zastosowania

Algebra Boole a i jej zastosowania lgebra oole a i jej zastosowania Wprowadzenie Niech dany będzie zbiór dwuelementowy, którego elementy oznaczymy symbolami 0 oraz 1, tj. {0, 1}. W zbiorze tym określamy działania sumy :, iloczynu : _ oraz

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna. Andrzej Łachwa, UJ, /10 Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji

Bardziej szczegółowo

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych

Bardziej szczegółowo

Zdalne logowanie do serwerów

Zdalne logowanie do serwerów Zdalne logowanie Zdalne logowanie do serwerów Zdalne logowanie do serwerów - cd Logowanie do serwera inne podejście Sesje w sieci informatycznej Sesje w sieci informatycznej - cd Sesje w sieci informatycznej

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

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

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI. Zabezpieczanie systemów operacyjnych jest jednym z elementów zabezpieczania systemów komputerowych, a nawet całych sieci komputerowych. Współczesne systemy operacyjne są narażone na naruszenia bezpieczeństwa

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

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