Klasyczne metody szyfrowania [#3]

Szyfry poligramowe

Ostatnim z podrodzajów szyfrów podstawieniowych są szyfry poligramowe. Od zwykłego szyfrowania podstawieniowego ten sposób różni się tym, że zaszyfrowaniu nie podlegają pojedyncze litery tekstu jawnego, lecz jego grupy (bigramy, trigramy). Oficjalnie pierwszym zastosowanym literowym szyfrem poligramowym był szyfr Playfair’a.
W tym szyfrowaniu podstawą do kodowania tekstu jawnego jest kwadratowa tablica, która w górnej i bocznej krawędzi zawiera tekst, który poddajemy przetworzeniu, a wewnątrz tablicy znajduje się zestaw różnych zamienników np. cyfr lub liter. Zamiennik odpowiada przecięciu poszczególnych par liter górnego i bocznego tekstu jawnego. Profesjonalne tablice zawierają oprócz mieszanki liter i cyfr również spacje i znaki interpunkcyjne.

Szyfr Playfair’a jest ręczną techniką szyfrowania symetrycznego. Schemat został wymyślony w 1854 roku przez Charlesa Wheatstone’a, ale nosi imię Barona Lyona Playfair’a za promowanie jego stosowania. Technika ta szyfruje pary liter przez co jest. znacznie trudniejszy do złamania, ponieważ analiza częstotliwości używana dla prostych szyfrów podstawieniowych nie działa z nim. Analiza częstotliwości bigramów jest możliwa, ale znacznie trudniejsza.
Szyfr Playfair’a wykorzystuje tabelę 5 na 5 zawierającą słowo kluczowe lub frazę, która wypełniana jest najczęściej literami alfabetu (bez powtarzania liter zawartych już w słowie kluczowym).

Przykład użycia szyfru Playfair’a.

Posiadając klucz “PROSTO” chcemy zaszyfrować zdanie “kryptografia jest najlepsza”.
Układamy tabelę wpisując słowo kluczowe skrócone o powtarzającą się liter “o”, czyli “PROST” a następnie uzupełniamy puste kolumny kolejnymi literami alfabetu łacińskiego łącząc “i” oraz “j” a także omijając litery które są zawarte już w słowie kluczowym.

Zdanie dzielimy na digramy:
kr-yp-to-gr-af-ia-je-st-na-jl-ep-sz-a

Widzimy że nie otrzymaliśmy w ostatnim fragmencie digramu, więc dodajemy x. Należy to uczynić również gdy obie litery są takie same lub pozostała tylko jedna litera (dodajemy „x” po pierwszej literze):

kr-yp-to-gr-af-ia-je-st-na-jl-ep-sz-ax

Aby zakodować nasze zdanie musimy znać zasady używania tablicy.
Jeśli obie litery są w tym samym rzędzie, zastępujemy je literami po prawej stronie, z którymi sąsiadują (zawijając się na lewą stronę rzędu, jeśli litera w oryginalnej parze znajdowała się po prawej stronie rzędu).
Gdy obie litery pojawiają się w tej samej kolumnie tabeli, zastępujemy je przez litery znajdujące się bezpośrednio poniżej (zawijając się do górnej części kolumny, jeśli litera z oryginalnej pary znajdowała się na dole kolumny).
Jeśli litery nie znajdują się w tym samym wierszu lub kolumnie, należy zastąpić je literami z tego samego rzędu, ale z drugiej pary rogów prostokąta zdefiniowanej przez oryginalną parę. Kolejność jest ważna – pierwsza litera zaszyfrowanej pary to ta, która leży w tym samym wierszu, co pierwsza litera pary tekstu jawnego..

Tak więc otrzymujemy szyfr: GTVSPSMBFLFDKDTPLCFQATTYCV
W przypadku dekodowania szyfru należy usunąć otrzymane “x” na końcu zdania.

Dodaj komentarz