.. _zre: ====================== Zadanie 2: Deszyfrator ====================== Data ogłoszenia: 24.11.2020 Termin oddania: 07.01.2021 Pliki: :download:`bskre2020.tar.gz` Program ``decrypt`` służy do czytania zaszyfrowanych plików zapisanych w nieznanym formacie. Pliki te są zabezpieczone hasłem. Zadanie polega na napisaniu własnego programu będącego w stanie deszyfrować pliki w tym samym formacie. Aplikacja ========= W archiwum znajdują się następujące pliki: - ``decrypt``: program pozwalający na odczyt zabezpieczonych plików. Uruchomienie go z jednym argumentem wypisuje informacje o zabezpieczonym pliku: typ użytego szyfru (łatwy lub trudny) i oryginalna nazwa pliku. Uruchomienie go z dwoma argumentami (drugim jest hasło) odszyfrowuje plik (i zapisuje go pod oryginalną nazwą). - ``hello.enc``: zabezpieczony plik o zawartości "Hello, world!", zaszyfrowany łatwym szyfrem. - ``hello.henc``: zabezpieczony plik o zawartości "Hello, world!", zaszyfrowany trudnym szyfrem. - ``keys.txt``: hasła do powyższych plików. - ``encrypt.py``: program, którym można wygenerować więcej zabezpieczonych plików Aby wygenerować plik przykładowy zaszyfrowany łatwym szyfrem, wykonujemy:: python3 encrypt.py plik.png plik.png.enc Aby wygenerować plik przykładowy zaszyfrowany trudnym szyfrem, wykonujemy:: python3 encrypt.py --hard plik.png plik.png.enc Format rozwiązania ================== Jako rozwiązanie należy przesłać: - Opis formatu oraz samego procesu dojścia do rozwiązania. - Skrypty użyte do analizy formatu (o ile zostały jakieś napisane). - Program (razem ze źródłami, jeśli został napisany w języku kompilowanym), który deszyfruje podany plik. Kryteria oceny ============== Za rozwiązanie można dostać następującą maksymalną liczbę punktów, w zależności od funkcjonalności: - samo odtworzenie hasła do pliku (bez deszyfrowania): 3 punkty - odszyfrowanie pliku mając podane hasło (szyfr łatwy): 3 punkty - odszyfrowanie pliku mając podane hasło (oba szyfry): 5 punktów - odszyfrowanie pliku bez podanego hasła (szyfr łatwy): 6 punktów - odszyfrowanie pliku bez podanego hasła (oba szyfry): 8 punktów Rozwiązania należy wysłać mailem na adres ``mwk@mimuw.edu.pl``.