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

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

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

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

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

Bardziej szczegółowo

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

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

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

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Wojskowy Instytut Łączno. hasła. (Nie)bezpieczne. CryptoCon 2008 09-10 kwietnia 2008. Przemysław Rodwald

Wojskowy Instytut Łączno. hasła. (Nie)bezpieczne. CryptoCon 2008 09-10 kwietnia 2008. Przemysław Rodwald Wojskowy Instytut Łączno cznościci (Nie)bezpieczne hasła CryptoCon 2008 09-10 kwietnia 2008 Przemysław Rodwald Wojskowy Instytut Łączno cznościci Co zrobiliśmy, nad czym pracujemy? Szyfrator dla sieci

Bardziej szczegółowo

Ochrona Systemów Informacyjnych. Elementy Kryptoanalizy

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

Bardziej szczegółowo

Heurystyki. Strategie poszukiwań

Heurystyki. Strategie poszukiwań Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja

Bardziej szczegółowo

Protokoły zdalnego logowania Telnet i SSH

Protokoły zdalnego logowania Telnet i SSH Protokoły zdalnego logowania Telnet i SSH Krzysztof Maćkowiak Wprowadzenie Wykorzystując Internet mamy możliwość uzyskania dostępu do komputera w odległej sieci z wykorzystaniem swojego komputera, który

Bardziej szczegółowo

Zastosowania PKI dla wirtualnych sieci prywatnych

Zastosowania PKI dla wirtualnych sieci prywatnych Zastosowania PKI dla wirtualnych sieci prywatnych Andrzej Chrząszcz NASK Agenda Wstęp Sieci Wirtualne i IPSEC IPSEC i mechanizmy bezpieczeństwa Jak wybrać właściwą strategię? PKI dla VPN Co oferują dostawcy

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

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

Podpis elektroniczny

Podpis elektroniczny Podpis elektroniczny Powszechne stosowanie dokumentu elektronicznego i systemów elektronicznej wymiany danych oprócz wielu korzyści, niesie równieŝ zagroŝenia. Niebezpieczeństwa korzystania z udogodnień

Bardziej szczegółowo

ZiMSK. Konsola, TELNET, SSH 1

ZiMSK. Konsola, TELNET, SSH 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl Konsola, TELNET, SSH 1 Wykład

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140402 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Limity zapytań... 3 1.5. Odpowiedzi

Bardziej szczegółowo

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

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ WYMAGANIA BEZPIECZEŃSTWA DLA SYSTEMÓW IT Wyciąg z Polityki Bezpieczeństwa Informacji dotyczący wymagań dla systemów informatycznych. 1 Załącznik Nr 3 do Część II SIWZ Wymagania

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

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

Wdrożenie infrastruktury klucza publicznego (PKI) dla użytkowników sieci PIONIER

Wdrożenie infrastruktury klucza publicznego (PKI) dla użytkowników sieci PIONIER Wdrożenie infrastruktury klucza publicznego (PKI) dla użytkowników sieci PIONIER Ireneusz Tarnowski Wrocławskie Centrum Sieciowo-Superkomputerowe Poznań, 4 listopada 2009 Plan wystąpienia PKI Infrastruktura

Bardziej szczegółowo

Technologie informacyjne - wykład 5 -

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

Bardziej szczegółowo

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

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz. Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.pl Zagadnienia związane z bezpieczeństwem Poufność (secrecy)

Bardziej szczegółowo

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

Biometryczna Identyfikacja Tożsamości

Biometryczna Identyfikacja Tożsamości c Adam Czajka IAiIS PW 27 maja 2014 1/37 Adam Czajka Wykład na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej Semestr letni 2014 c Adam Czajka IAiIS PW 27 maja 2014 2/37 Budowa

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bezpieczna poczta i PGP

Bezpieczna poczta i PGP Bezpieczna poczta i PGP Patryk Czarnik Bezpieczeństwo sieci komputerowych MSUI 2010/11 Poczta elektroniczna zagrożenia Niechciana poczta (spam) Niebezpieczna zawartość poczty Nieuprawniony dostęp (podsłuch)

Bardziej szczegółowo

FTP przesył plików w sieci

FTP przesył plików w sieci FTP przesył plików w sieci 7.5 FTP przesył plików w sieci Podstawowe pojęcia FTP (File Transfer Protocol) jest usługą sieciową pozwalającą na wymianę plików w sieci Internet. Osoby chcące wymienić między

Bardziej szczegółowo

Wprowadzenie do technologii VPN

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

Bardziej szczegółowo

Infrastruktura klucza publicznego w sieci PIONIER

Infrastruktura klucza publicznego w sieci PIONIER Infrastruktura klucza publicznego w sieci PIONIER Ireneusz Tarnowski Konferencja i3 Wrocław, 2 grudnia 2010 Plan wystąpienia PKI Infrastruktura Klucza Publicznego Zastosowania certyfikatów X.509 Jak to

Bardziej szczegółowo

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu. Zakład Optyki Nieliniowej http://zon8.physd.amu.edu.pl 1/35 Informatyka kwantowa wykład z cyklu Zaproszenie do fizyki Ryszard Tanaś Umultowska 85, 61-614 Poznań mailto:tanas@kielich.amu.edu.pl Spis treści

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

Ataki na algorytm RSA

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

Bardziej szczegółowo

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP WERSJA 1 z 15 Spis treści 1. Kanał email dla podmiotów zewnętrznych...

Bardziej szczegółowo

Nowości w kryptografii

Nowości w kryptografii Nowości w kryptografii Andrzej Chmielowiec 30maja2012 Funkcje skrótu Konkurs na SHA-3 FIPS 180-4 Atak BEAST Kradzież w RSA Zakończenie Konkurs na SHA-3 FIPS 180-4 Implementacja finalistów konkursu SHA-3

Bardziej szczegółowo

Autor: Piotr Ignał Opiekun: prof. dr hab. inż. Zbigniew Kotulski

Autor: Piotr Ignał Opiekun: prof. dr hab. inż. Zbigniew Kotulski Autor: Piotr Ignał Opiekun: prof. dr hab. inż. Zbigniew Kotulski Plan prezentacji 1. Wprowadzenie przedstawienie zagrożeo 2. Cel pracy 3. Opis istniejących rozwiązao 4. Opis użytych algorytmów kryptograficznych

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Algorytmy podstawieniowe

Algorytmy podstawieniowe Algorytmy podstawieniowe Nazwa: AtBash Rodzaj: Monoalfabetyczny szyfr podstawieniowy, ograniczony Opis metody: Zasada jego działanie polega na podstawieniu zamiast jednej litery, litery lezącej po drugiej

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

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

Implementacja mechanizmu SkyCashClick Wersja 0.1

Implementacja mechanizmu SkyCashClick Wersja 0.1 Implementacja mechanizmu SkyCashClick Wersja 0.1 SkyCash 1/6 Spis treści: 1. Opis usługi... 3 2. Osadzenie przycisku SkyCashClick... 4 2.1. Parametry transakcji... 4 2.2. Weryfikacja znacznika parametrów

Bardziej szczegółowo

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B NAZWA ZADANIA ZADANIE CZĄSTKOWE TECHNOLOGIA ILOŚĆ OSÓB ILOŚĆ GODZIN TERMIN REALIZACJI 1 2 4 5 6 7 Zadanie 1 - wersji alfa 1 systemu B2B 3 723

Bardziej szczegółowo

Bezpieczeństwo korespondencji elektronicznej

Bezpieczeństwo korespondencji elektronicznej Marzec 2012 Bezpieczeństwo korespondencji elektronicznej Ochrona przed modyfikacją (integralność), Uniemożliwienie odczytania (poufność), Upewnienie adresata, iż podpisany nadawca jest faktycznie autorem

Bardziej szczegółowo

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 4 Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Protokół SSL do zabezpieczenia aplikacji na poziomie protokołu transportowego

Bardziej szczegółowo

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października 2011. Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października 2011. Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński Wykład 4 Protokoły SSL i TLS główne slajdy 26 października 2011 Instytut Informatyki Uniwersytet Jagielloński 4.1 Secure Sockets Layer i Transport Layer Security SSL zaproponowany przez Netscape w 1994

Bardziej szczegółowo

Bezpieczeństwo systemów informatycznych

Bezpieczeństwo systemów informatycznych Politechnika Poznańska Bezpieczeństwo systemów rozproszonych Bezpieczeństwo systemów informatycznych ĆWICZENIE VPN 1. Tunele wirtualne 1.1 Narzędzie OpenVPN OpenVPN jest narzędziem służącym do tworzenia

Bardziej szczegółowo

ROZPORZĄDZENIE MINISTRA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI 1) z dnia 29 kwietnia 2004 r.

ROZPORZĄDZENIE MINISTRA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI 1) z dnia 29 kwietnia 2004 r. Dz.U.2004.100.1024 ROZPORZĄDZENIE MINISTRA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI 1) z dnia 29 kwietnia 2004 r. w sprawie dokumentacji przetwarzania danych osobowych oraz warunków technicznych i organizacyjnych,

Bardziej szczegółowo

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

Wykład 12. Projektowanie i Realizacja. Sieci Komputerowych. Bezpieczeństwo sieci Projektowanie i Realizacja Sieci Komputerowych Wykład 12 Bezpieczeństwo sieci dr inż. Artur Sierszeń asiersz@kis.p.lodz.pl dr inż. Łukasz Sturgulewski luk@kis.p.lodz.pl Projektowanie i Realizacja Sieci

Bardziej szczegółowo

Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych.

Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych. Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych. Uwierzytelnianie, autoryzacja i kontrola dostępu Funkcjonowanie internetu w dużej mierze opiera się na zaufaniu i kontroli

Bardziej szczegółowo

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

Sieci VPN SSL czy IPSec?

Sieci VPN SSL czy IPSec? Sieci VPN SSL czy IPSec? Powody zastosowania sieci VPN: Geograficzne rozproszenie oraz duŝa mobilność pracowników i klientów przedsiębiorstw i instytucji, Konieczność przesyłania przez Internet danych

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

Praca w sieci z serwerem

Praca w sieci z serwerem 11 Praca w sieci z serwerem Systemy Windows zostały zaprojektowane do pracy zarówno w sieci równoprawnej, jak i w sieci z serwerem. Sieć klient-serwer oznacza podłączenie pojedynczego użytkownika z pojedynczej

Bardziej szczegółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego IBS PAN, Warszawa 9 kwietnia 2008 Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego mgr inż. Marcin Jaruszewicz promotor: dr hab. inż. Jacek Mańdziuk,

Bardziej szczegółowo

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie mgr Piotr Gaś, dr hab. inż. Jerzy Mischke Ośrodek Edukacji Niestacjonarnej Akademii Górniczo-Hutniczej w Krakowie Samokontrola postępów w nauce z wykorzystaniem Internetu Wprowadzenie W każdym systemie

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

16MB - 2GB 2MB - 128MB

16MB - 2GB 2MB - 128MB FAT Wprowadzenie Historia FAT jest jednym z najstarszych spośród obecnie jeszcze używanych systemów plików. Pierwsza wersja (FAT12) powstała w 1980 roku. Wraz z wzrostem rozmiaru dysków i nowymi wymaganiami

Bardziej szczegółowo

Charakterystyka sieci klient-serwer i sieci równorzędnej

Charakterystyka sieci klient-serwer i sieci równorzędnej Charakterystyka sieci klient-serwer i sieci równorzędnej Sieć klient-serwer Zadaniem serwera w sieci klient-serwer jest: przechowywanie plików i programów systemu operacyjnego; przechowywanie programów

Bardziej szczegółowo

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

Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 9: Elementy kryptografii Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 9 1 / 32 Do tej pory chcieliśmy komunikować się efektywnie,

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE W ALGORYTMACH KOMUNIKACJI Krzysztof Bartyzel Wydział Matematyki Fizyki i Informatyki, Uniwersytet Marii Curii-Skłodowskiej w Lublinie Streszczenie: Komunikacja

Bardziej szczegółowo

Bezpieczeństwo informacji w systemach komputerowych

Bezpieczeństwo informacji w systemach komputerowych Bezpieczeństwo informacji w systemach komputerowych Andrzej GRZYWAK Rozwój mechanizmów i i systemów bezpieczeństwa Szyfry Kryptoanaliza Autentyfikacja Zapory Sieci Ochrona zasobów Bezpieczeństwo przechowywania

Bardziej szczegółowo

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych Zarządzanie systemami informatycznymi Bezpieczeństwo przesyłu danych Bezpieczeństwo przesyłu danych Podstawy szyfrowania Szyfrowanie z kluczem prywatnym Szyfrowanie z kluczem publicznym Bezpieczeństwo

Bardziej szczegółowo

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy MODEL REGRESJI LINIOWEJ. METODA NAJMNIEJSZYCH KWADRATÓW Analiza regresji zajmuje się badaniem zależności pomiędzy interesującymi nas wielkościami (zmiennymi), mające na celu konstrukcję modelu, który dobrze

Bardziej szczegółowo

Wymagania edukacyjne z matematyki w klasie III gimnazjum

Wymagania edukacyjne z matematyki w klasie III gimnazjum Wymagania edukacyjne z matematyki w klasie III gimnazjum - nie potrafi konstrukcyjnie podzielić odcinka - nie potrafi konstruować figur jednokładnych - nie zna pojęcia skali - nie rozpoznaje figur jednokładnych

Bardziej szczegółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

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

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja

Bardziej szczegółowo

Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne

Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne WARUNKI WARUNKI I I ZDARZENIA ZDARZENIA Określają czy pewna zależność logiczna związana ze stanem systemu jest w danej chwili spełniona lub czy zaszło w systemie określone zdarzenie. STAN SYSTEMU: stan

Bardziej szczegółowo

Podpis elektroniczny. ale nie od strony X.509 schematu dla certyfikatów kluczy publicznych służącego do budowania hierarchicznej struktury PKI

Podpis elektroniczny. ale nie od strony X.509 schematu dla certyfikatów kluczy publicznych służącego do budowania hierarchicznej struktury PKI Podpis elektroniczny ale nie od strony X.509 schematu dla certyfikatów kluczy publicznych służącego do budowania hierarchicznej struktury PKI Podpis elektroniczny Podpis elektroniczny - to narzędzie

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo