Techniki podstawiania:
Technika podstawiania polega na
zamianie liter tekstu jawnego innymi literami lub jakimiś symbolami.
Najprostszym i najstarszym szyfrem jest szyfr Cezara. Polega on
na zastąpieni każdej litery alfabetu literą znajdującą się o trzy
pozycje dalej. Alfabet jest niejako "zawinięty", po
Z jest ponownie A. Algorytm ten można zapisać następująco:
C = E(p) = (p+3) mod (26)
w przypadku szyfru Cezara, a w przypadku ogólnym przyjmuje postać:
C = E(p) = (p+k) mod (26), k z przedziału [1;25]
Algorytm deszyfrujący jest prosty:
p = D(C) = (C-k) mod (26)
W tym przypadku bardzo łatwe jest zastosowania metody "brutalnej",
bo znamy algorytm i istnieje tylko 25 kluczy.
Szyfry jednoalfabetowe:
Omówiony powyżej szyfr Cezara nie
jest oczywiście bezpieczny. Natomiast można dzięki arbitralnemu
podstawieniu osiągnąć wzrost ilości kluczy. Jeśli jako wiersz
szyfrowy zastosujemy jakąkolwiek permutację 26 znaków alfabetu,
mamy wtedy 26! możliwych kluczy. Jest to o 10 rzędów wielkości
więcej niż DES, jednak znając charakter tekstu jawnego można wykorzystać
regularności zawarte w języku do rozszyfrowania wiadomości. Szyfry
jednoalfabetowe są z tego to powodu łatwe do łamania.
Szyfrowanie wieloliterowe:
Najbardziej znanym szyfrem wieloliterowym
jest Playfair, w którym dwuznaki tekstu jawnego są traktowane
jako osobne jednostki i są tłumaczone na dwuznaki zaszyfrowane.
Algorytm Playfair zbudowany jest
na matrycy liter o rozmiarze 5x5, zbudowanej przy użyciu słowa
kluczowego. Matrycę buduje się wpisując litery słowa kluczowego
(bez powtarzających się) od lewej do prawej i z góry na dół, a
następnie wypełniana jest reszta matrycy pozostałymi literami
w porządku alfabetycznym. Litery I i J liczą się jako jedna litera.
Tekst szyfruje się po parze liter, stosując poniższe zasady:
- Powtarzające się litery tekstu jawnego oddziela się literą
wypełniającą (np. X).
- W przypadku gdy litery pary liter tekstu jawnego występują
w tym samym wierszu matrycy zastępuje się każdą z nich literą
leżącą o jedną pozycję w prawo, przy czym po ostatnim elemencie
wiersza następuje pierwszy.
- W przypadku gdy litery pary liter tekstu jawnego występują
w tej samej kolumnie matrycy, zastępuje się każdą z nich literą
leżącą o jedną pozycję w dół przy czym po ostatnim elemencie
kolumny następuje pierwszy.
- Jeżeli żaden z powyższych przypadków nie zachodzi, to każdą
literę z pary liter tekstu jawnego zastępuje się literą leżącą
w tym samym wierszu, lecz w kolumnie, w której leży druga para
liter.
Szyfr ten jest wielkim postępem w porównaniu z szyframi jednoalfabetowymi.
Mamy tutaj 26*26, czyli 676 dwuznaków. Jak również jest on bardziej
odporny na analizę częstotliwościową.
Jednak dosyć łatwo można go złamać, ponieważ struktura tekstu
jawnego pozostaje w znacznym stopniu nienaruszona. Przeważnie
wystarcza kilkaset liter tekstu zaszyfrowanego do rozszyfrowania
go.
Szyfry wieloalfabetowe:
Jednym ze sposobów polepszenia szyfrowania
jednoalfabetowego jest zastosowanie różnych podstawień jednoalfabetowych
podczas szyfrowania jednej wiadomości. Wszystkie techniki tego
rodzaju mają dwie wspólne cechy:
1. Stosuje się zestaw powiązanych reguł podstawiania jednoalfabetowego,
2. Klucz określa, która reguła zostanie użyta dla danego przekształcenia.
Najprostszym i nabardziej znanym
jest szyfr Vigenere'a. Do pomocy w korzystaniu z tej metody buduje
się tablicę Vigenere'a
(kliknij aby zobaczyć). Każdy z 26 szyfrów jest umieszczony poziomo,
litery kluczowe im odpowiadające znajdują się po lewej stronie,
natomiast alfabet tekstu jawnego znajduje się na górze tablicy.
Sam proces szyfrowania jest bardzo prosty: Dla litery kluczowej
x i litery tekstu jawnego y litera tekstu zaszyfrowanego znajduje
się na przecięciu wiersza oznaczonego literą x i kolumny oznaczonej
literą y. Potrzebny jest klucz o takiej samej długości jak wiadomość
szyfrowana i ma postać powtarzającego się słowa kluczowego. W
szyfrze tym informacja o częstości liter zostaje zaciemniona,
jednak nie jest to cała informacja, część nadal pozostaje. Zatem
jest możliwe złamanie tego szyfru.
Techniki transpozycyjne:
Szyframi takimi nazywamy wszystkie
przekształcenia, które opierają się na permutacji liter tekstu
jawnego.
Najprostszym takim szyfrem jest
tak zwana technika płotu, która polega na tym, że tekst jawny
zapisuje się jako ciąg kolumn, a następnie odczytuje jako ciąg
wierszy. Oczywiście rozszyfrowanie takiego komunikatu było by
bardzo proste, dlatego można zastosować bardziej skomplikowany
system polegający na zapisaniu wiadomości w prostokącie, a następnie
odczytaniu kolumna po kolumnie, lecz ze zmianą ich kolejności.
Ta kolejność jest właśnie kluczem algorytmu.
Szyfry transpozycyjne można uczynić
bezpieczniejszymi, stosując kilka etapów transpozycji. Otrzymujemy
wtedy bardziej skomplikowaną permutację, którą trudno zrekonstruować. |