JĘZYKI ASSEMBLEROWE ..:: PROJEKT ::.. Temat: SZYFRATOR PLIKÓW Autor prezentacji: Łukasz Wędrocha
PLAN PREZENTACJI Omówienie wstępnych założeń projektu. Omówienie głównych funkcji programu. Omówienie zasady działania szyfratora. Omówienie funkcji hashującej MD5. Omówienie algorytmu Blowfish. Wyjaśnienie skąd pomysł na użycie bibliotek .dll.
WSTĘPNE ZAŁOŻENIA PROJEKTU Aplikacja działająca pod kontrolą systemu Windows (GUI), Funkcje hashujące umieszczane w osobnych bibliotekach .dll, Funkcje szyfrujące umieszczane w osobnych bibliotekach .dll, Zaimplementowanie MD5 i Blowfisha.
GŁÓWNE FUNKCJE PROGRAMU Szyfrowanie wybranych plików. Deszyfrowanie zakodowanych zbiorów. Możliwość wyboru algorytmu funkcji szyfrujących i hashujących poprzez wskazanie odpowiedniej biblioteki .dll przez jego użytkownika. Dostęp do funkcji poprzez proste w obsłudze GUI.
OGÓLNA ZASADA DZIAŁANIA PROGRAMU (DE)SZYFRUJĄCEGO SZYFROWANIE DESZYFROWANIE Hasło użytkownika Funkcja hashująca np. MD5 Hasło użytkownika Klucz X bit Algorytm szyfrujący np. Blowfish Klucz X bit Plik wyjściowy (zaszyfrowany) Plik wyjściowy (odszyfrowany)
ALGORYTM MD5 (1/2) Opublikowany: RFC 1321, Kwiecień 1992, Autor: Ron Rivert, Jednokierunkowa funkcja skrótu, Wejściem algorytmu jest dowolny ciąg znaków (co najmniej jeden znak), tzw. komunikat, Wyjściem jest 128-bitowy skrót, czyli wyciąg komunikatu wejściowego.
ALGORYTM MD5 (2/2) Przetwarzanie komunikatu na skrót odbywa się w 4 krokach, w danym momencie maksymalnie operuje się na 32 bitach, stąd algorytm stosunkowo łatwy do implementacji na procesorach 32-bitowych, Obliczanie skrótu jest bardzo szybkie, Uznany na świecie, posiada szerokie zastosowania w informatyce. Inne tego typu algorytmy: HAVAL, TIGER.
ALGORYTM BLOWFISH (1/2) Autor: Bruce Schneier, 1993/94, Symetryczny, 64 bitowe bloki danych, Akceptowalne długości klucza od 32 bitów do 448 bitów, Jeden z najszybszych algorytmów szyfrujących tego typu, Nie został opatentowany - można wykorzystywać do dowolnych celów.
ALGORYTM BLOWFISH (2/2) Dwuetapowe działanie algorytmu: - konwersja klucza na podklucze o maksymalnej łącznej długości 4168 bajtów, - operacja (de)szyfrowania z wykorzystaniem algorytmu głównego. Wykorzystanie tego samego algorytmu do de/szyfrowania, zamieniana jedynie jest kolejność wykorzystania podkluczy. Blowfish jak dotąd nie został złamany – do tej pory znaleziono jedynie kilkanaście podatnych na łatwe złamanie kluczy.
ZASTOSOWANIE BIBLIOTEK .DLL Biblioteki .dll będą zawierały funkcje haszujące oraz algorytmy szyfrujące, Jedna biblioteka – jedna funkcja, Łatwe dodawanie nowych funkcji i algorytmów do głównej aplikacji, Rozdzielenie GUI aplikacji od reszty.
KONIEC