Bezpieczeństwo i ochrona danych Sprawozdanie 1 |
Szyfry podstawieniowe - każdy znak w tekście jawnym jest zastępowany przez inny znak
Szyfry przestawieniowe / permutacyjne - każdy znak w tekście jawnym ma zmienioną pozycję (kolejność) w tekście według określonego schematu
Dobrze jest łączyć oba rodzaje szyfrów, ponieważ dzięki temu zmieniamy jednocześnie reprezentację znaków i ich pozycję.
Współczesny szyfry symetryczne działają na bazie obu rodzajów szyfrów klasycznych, a dodatkowo dla większego bezpieczeństwa posiadają cykliczne operacje i zależności nieliniowe.
monoalfabetyczne (np. szyfr Cezara) - do tworzenia szyfrogramu używany jest jeden alfabet, szyfr nazywany jest również “1 do 1”, ponieważ zawsze tej samej literze tekstu jawnego odpowiada jedna i ta sama litera tekstu zaszyfrowanego.
polialfabetyczne (np. szyfr Vigenre’a) - szyfr sprowadza się do kilku przekształceń, w których kluczem jest łańcuch znaków. Liczba alfabetów wynika z liczby znaków i długości klucza. Jednej literze na wejściu mogą odpowiadać różne litery na wejściu (w tekście wynikowym), ponieważ każdą kolejną literę szyfrujemy kolejnym przekształceniem klucza.
Pojedynczych znaków - metoda wykorzystywana w szyfrach monoalfabetycznych. Każdą literę przekształcamy wg tego samego schematu szyfrowania.
Grup znaków - konsekwencją są różne wyjścia dla tych samych liter, ponieważ zamiast szyfrowania pojedynczych znaków, wykorzystujemy blok, jako klucz, co w efekcie daje nam różne wyniki przy szyfrowaniu tego samego tekstu.
Jednokrotne - jednorazowe wykorzystanie klucza do zaszyfrowania tekstu
2 Wielokrotne - kilkukrotne (ponowne) zaszyfrowanie tego samego tekstu wybranym kluczem
Odpowiedzi na pytania:
1 Co można powiedzieć o szyfrowaniu wielokrotnym w przypadku algorytmów monoalfabetycznych?
Szyfrowanie wielokrotne tego samego tekstu nie zwiększa bezpieczeństwa chronionych danych, a jedynie zmienia (przesuwa) klucz szyfrowania. Przykładowo: podwójne zaszyfrowanie tekstu algorytmem Cezara i kluczem C, jest równoznaczne zaszyfrowanemu tekstowi kluczem E. (C = 2, C + C = 4 = E). Podwójne zaszyfrowanie tekstu algorytmem ROT13 powoduje zaszyfrowanie, a następnie odszyfrowanie wybranego tekstu.
Tekst oryginalny: CrypTool
Tekst zaszyfrowany kluczem C: EtarVqqn
Zaszyfrowany tekst tym samym kluczem: GvctXssp
Zaszyfrowany tekst CrypTool kluczem E: GvctXssp
2 Co można powiedzieć o szyfrowaniu wielokrotnym w przypadku algorytmów polialfabetycznych?
W algorytmach polialfabetycznych szyfrowanie wielokrotne powoduje utrudnienia związane z komplikacją klucza służącego do deszyfrowania danych.
3 Ile jest różnych kluczy w algorytmie cezara, a ile w przypadku klasycznego podstawienia?
W algorytmie Cezara dla alfabetu długości N występuje N kluczy np. dla alfabetu łacińskiego składającego się z 26 znaków mamy 26 kluczy, natomiast w algorytmie klasycznego podstawienia występuje N! kluczy dla alfabetu o długości N tak, więc dla alfabetu łacińskiego mamy 26! kluczy.
Porównując liczbę kluczy pomiędzy algorytmem Cezara i przypadku klasycznego podstawienia widać wyraźną przewagę algorytmu klasycznego podstawienia, mimo iż jest on wyraźnie lepszy od algorytmu Cesara w dzisiejszych czasach nie gwarantuje dużego bezpieczeństwa.
4 Ile wynosi liczba kluczy w algorytmach wieloalfabetowych?
Długość_Alfabetu ^ Długość_Hasła
5 Co można powiedzieć o szyfrowaniu wielokrotnym w odniesieniu do szyfru Playfaira i Hilla?
Algorytm Playfaira - szyfr symetryczny - dwukrotne zaszyfrowanie prowadzi do ujawienia zaszyfrowanego tekstu.
Algorytm Hilla - szyfr liniowy - dwu/wielokrotne zaszyfrowanie prowadzi do ujawienia coraz większej liczby znaków z oryginalnej wiadomości.
Algorytm Playfair - Cryptool:
Tekst jawny: “Politechnika Wroclawska Cryptool”
Tekst zaszyfrowany wielokrotnie kluczem: BIOD
Krok 1: MA RE RG EC LD PB IW BF PI XR PB EQ ZN SD IM
Krok 2: PO WL TE FE NI KA EI OC LA WS KA CR YP TO OL
Algorytm Hilla Cryptool:
Tekst jawny: “Politechnika Wroclawska Cryptool”
Tekst zaszyfrowany wielokrotnie kluczem: GRDC
Krok 1: Relwvqijzequ Qpcqxyisqu GnurTuir
Krok 2: Hidmriinloca Qloktoooca OrchXmwl
Krok 3: Jgbcbuczpomo Wzqotukamo MjijLemx
Krok 4: Nipqbsulrews Enyixmquws KdinRkct
Krok 5: Zebkrmyphiis Ajywlecais SdczLaqt
Krok 6: Lodovgurjgoo Ehqmrkmooo WjulXykx
Krok 7: Politechnika Wroclawska CrypTool
6. Jakie są różnice, a jakie podobieństwa między algorytmami Playfaira i Hilla?
Różnice zostały opisane w punkcie poprzednim. Podobieństwa:
Algorytmy podstawieniowe poligramowe
Kodują jednocześnie grupy dwóch znaków
7. Co charakteryzuje szyfry homofoniczne?
Specyficzny sposób podejścia w prównaniu do innych algorytmów szyfrowania. Szyfry te powstały, jako ulepszenie prostych szyfrów podstawieniowych. Każdy znak tekstu może być zastąpiony jednym z wcześniej ustalonych znaków. Każdej literze odpowiada losowo wybrany homofon tj. znak wchodzący w skład zbioru przypisanego danej literze. Dany tekst może być zaszyfrowany na wiele różnych sposobów, za każdym razem przypisując danej literze inny homofon ze zbioru jej odpowiadającego. Podsumowując szyfry homofoniczne są podobne do prostego szyfru podstawieniowego z tym, że pojedynczemu znakowi tekstu jawnego jest przyporządkowanych kilka znaków. Na przykład literze "A" może odpowiadać 5,13,25,56, literze "B" - 7,19,31,42 itd.
8 Jakie warunki musi spełniać zbiór homofonów, aby algorytm działał poprawnie?
Każdy homofon powinien posiadać unikalny zestaw znaków odpowiadający kodowanej literze, w przypadku gdyby dwa homofony zawierały ten sam znak a szyfrowałyby różne litery alfabetu tekstu jawnego, mogłyby wystąpić błędy podczas deszyfrowania kryptogramu.
Ponadto moc zbioru odpowiadającego jednej literze powinna być proporcjonalna do częstotliwości jej występowania. Powoduje to, że częstość występowania znaków w kryptogramie jest jednostajny, co w znacznym stopniu utrudnia jego analizę.
9 Co charakteryzuje algorytmy permutacyjne?
Kluczem szyfru jest permutacja elementów zastosowanego alfabetu, tzn., że całkowita liczba kluczy w takim szyfrze wynosi Długość_Alfabetu!.
W zaszyfrowanej wiadomości pojawiają się wszystkie znaki szyfrowanego tekstu, lecz w innej kolejności.
Aby utrudnić złamanie zaszyfrowanej wiadomości wystarczy do wynikowego tekstu domieszać losowe znaki na ustalonych pozycjach, co utrudni analizę tekstu.
Algorytmy permutacyjne zmieniają kolejność znaków, a następnie zamieniają wystąpienia tych znaków na litery im odpowiadające.
10 Jaka jest liczebność zbioru kluczy dla algorytmu przedstawieniowego?
Dla alfabetu o długości N elementów stanieje N! kluczy.
11 Jaką cechę można zaobserwować dla algorytmu ADFGVX?
Podczas szyfrowania algorytmem ADFGVX można zaobserwować, że kryptogram składa się wyłącznie z liter ADFGVX oraz jest, co najmniej dwa razy dłuższy niż tekst jawny.
Algorytm ADFGVX - Cryptool:
Tekst jawny: “Politechnika Wroclawska Cryptool”
Hasło transpozycji: SZYFR Jako macierz zastąpienia: standardowa
Tekst zaszyfrowany:
FGFDAFXGAVDDDDDFGFAAAAFXFXADDVAADFFFFFADAXDVAXGFGDVFVFFGVFGF
12 Co można powiedzieć o mocy szyfrów złożonych?
Szyfry podstawowe nie zapewniają wystarczającej poufności chronionych danych. Nie oznacza to jednak, że nie mogą być wykorzystane w innych przypadkach. Stosuje się je zazwyczaj w połączeniu, aby zapewnić wysoki poziom bezpieczeństwa. Najczęstszą metodą łączenia szyfrów jest złożenie operacji podstawienia i przestawienia tworząc tzw. rundę. Szyfry blokowe wykorzystują wiele takich rund w celu zaszyfrowania bloku. Zadaniem podstawienia w każdej rundzie jest utrudnienie wychwycenia związku między kluczem a wynikowym szyfrogramem, natomiast przestawianie powoduje rozproszenie informacji statystycznej.
Wnioski:
Szyfry klasyczne były pierwszymi metodami zapewnienia bezpieczeństwa poufnych wiadomości w historii kryptografii. Ochrona tajnych informacji była jedynie pozorna, ponieważ szyfry te były łatwe do złamania po dłuższej analizie dokumentu. Szyfry monoalfabetyczne nigdy nie dawały pewnej ochrony tajnych dokumentów, można w zasadzie powiedzieć tu jedynie o kodowaniu danych. Szyfry polialfaberyczne mają również współcześnie tylko znaczenie historyczne.
Wiele szyfrów mogło zostać złamanych przy wykorzystaniu metod statystycznych podczas analizowania tekstu. Ochrona danych była znikoma i skuteczność stosowanych metod nie zabezpieczała odpowiednio przekazywanych wiadomości.