Maciej Burak Katedra Zastosowań Informatyki Zachodniopomorski Uniwersytet Technologiczny Bezpieczeństwo systemów i kryptografia Ćwiczenia laboratoryjn...
10 downloads
19 Views
64KB Size
Bezpieczeństwo systemów i kryptografia Ćwiczenia laboratoryjne nr 2
Temat: Szyfr podstawieniowy Cezara
•
Cel: Napisać program który będzie szyfrował lub deszyfrował dowolny tekst szyfrem Cezara.
Zadania: 1. Poniższy tekst jest zaszyfrowanym tekstem w języku polskim napisanym samymi dużymi literami. Znaki inne niż duże litery nie podlegają szyfrowaniu (n.p. spacja pozostaje spacją): KX KXPQBMKVZE WXGBZFXZE W YBWMFBZWBKPQTX PVPQBJLT F HOVMQLDOXCFF (WX QVAWFBK) YBAX LJXTFXKB PWVCOV PQORJFBKFLTB Należy rozszyfrować tekst wykorzystując właściwości szyfru Cezara. 2. Narysować schemat blokowy algorytmu Cezara. Alfabet szyfrowy jest tworzony poprzez przesunięcie alfabetu jawnego o wartość shift 3. Przepisać szkielet programu znajdujący się poniżej: 4. Uruchomić i sprawdzić jak działa. W tej postaci program jeszcze nic nie szyfruje/deszyfruje. 5. Wyjaśnić działanie poszczególnych linii programu za pomocą komentarzy (co się dzieje ze zmienna tekst?) 6. Zaimplementować szyfrowanie algorytmem Cezara uzupełniając odpowiednio funkcję caesar(...) przetestować szyfrowanie i deszyfrowanie przy wykorzystaniu różnych przesunięć. 7. Rozszyfrować poniższy tekst (w języku angielskim) wykorzystując napisany program: XFO OXFA LK MBXOI EXOYLO U QEFP FP KLQ AOFII 8. Poprawić funkcję szyfrującą tak aby obsługiwała poprawnie małe i duże litery oraz cyfry. Kod programu:
Maciej Burak Katedra Zastosowań Informatyki Zachodniopomorski Uniwersytet Technologiczny
Zadania dodatkowe: 1. Przetestować poprawiony program – sprawdzić czy zawsze działa poprawnie dla różnych przesunięć (-128 do 127) Zadanie domowe: Przerobić program tak aby możliwe było wykorzystanie go jako filtru , np. w systemie Unix: >cat text_file |caesar -17 > text_file_encrypted Gdzie caesar – nazwa programu szyfrującego, -17 – wartość przesunięcia.
Maciej Burak Katedra Zastosowań Informatyki Zachodniopomorski Uniwersytet Technologiczny