Jak szyfrować wiadomości ? Proste szyfry symetryczne.

Kryptologia to nauka o przekazywaniu informacji w sposób zabezpieczony przed niepowołanym dostępem. Współcześnie kryptologia jest uznawana za gałąź matematyki. Kryptologię można podzielić na kryptografię, czyli naukę o tworzeniu szyfrów, i kryptoanalizę, czyli naukę o łamaniu szyfrów tj. o odczytywaniu zaszyfrowanej informacji bez znajomości klucza. Kryptologia jako nauka liczy kilka tysięcy lat. Przez ten okres powstało wiele różnych rodzajów szyfrów. Zacznijmy ich omawianie od najprostszych czyli od szyfrów symetrycznych. Szyfry symetryczne to takie, w których do szyfrowania i odszyfrowania potrzebny jest ten sam klucz. Bezpieczeństwo szyfrów symetrycznych opiera się na utrzymaniu w tajemnicy klucza. Ujawnienie klucza przeciwnikowi pozwala na odszyfrowanie przez niego wiadomości. Wśród szyfrów symetrycznych wyróżnić należy dwa rodzaje szyfrów: przestawieniowe i podstawieniowe. Są to szyfry pochodzące z czasów antycznych. Nie są zbyt trudne do zrozumienia. Szyfry takie musiały umożliwiać szyfrowanie i deszyfrowanie przez człowieka, a więc opierać się na relatywnie prostych operacjach. Oba szyfry dawały niezłą skuteczność jak na owe czasy. Współczesne komputery są zdecydowanie szybsze w obliczeniach od ludzi i potrafią je złamać praktycznie w bardzo krótkim okresie czasu.

SZYFRY PODSTAWIENIOWE (ang. substitution cipher)

Są to szyfry, w których każdy znak w tekście jest zastępowany innym znakiem. Dzięki takiemu podstawieniu tekst zaszyfrowany nie jest zrozumiały dla osoby postronnej. Odbiorca, dla którego przeznaczona jest wiadomość, odwraca podstawienie i uzyskuje w ten sposób tekst jawny. Przykładem prostego szyfru podstawieniowego jest szyfr Cezara. To jeden z najstarszych i najbardziej znanych szyfrów. Posługiwał się nim Juliusz Cezar, który szyfrował korespondencję z Cyceronem oraz informacji o znaczeniu wojskowym. Szyfrowanie polega na tym, że w zaszyfrowanej informacji zamiast litery X (występującej w tekście jawnym) wpisujemy literę występującą w alfabecie trzy miejsca dalej. Tak więc zamiast litery „A” piszemy „D”, zamiast „M” piszemy „P”. Alfabet traktowany jest cyklicznie, tzn. po ostatniej literze z następuje ponownie litera A itd., tak jak to widać w załączonej tabeli.

Spróbujmy zatem zaszyfrować tekst jawny „KOMPUTER”. Nasz szyfrogram będzie wyglądać tak: „NRPSXWHU”. W starożytności i średniowieczu, kiedy ten szyfr był stosowany, dla osób postronnych, nie znających zasad kryptoanalizy deszyfracja wiadomości była praktycznie niemożliwa. Natomiast osoba znająca klucz łatwo odszyfruje tekst wiadomości wykonując odwrotne podstawienia znaków. Odmianą szyfru Cezara jest ROT-13. Różni się od szyfru Cezara wartością przesunięcia, w tym wypadku wynosi ono 13.

SZYFRY PRZESTAWIENIOWE (ang. transposition cipher)

Szyfry przestawieniowe, w których wszystkie znaki tekstu jawnego pojawiają się w tekście zaszyfrowanym, lecz w innej kolejności. Przykładem takiego szyfru niech będzie „przestawienie kolumnowe”. Szyfrowanie polega tutaj na tym, że tekst jawny jest zapisywany w wierszach tabeli o ściśle określonej liczbie pozycji, a szyfrogram jest odczytywany kolumnami według określonej kolejność kolumn. Kluczem tego szyfru jest rozmiar tablicy (ilość wierszy i kolumn) oraz kolejność odczytywania kolumn (permutacja kolumn). Spróbujmy zatem zaszyfrować tekst jawny „SERWIS_KOMPUTEROWY”. Zapisujemy go w tabeli o wymiarach 3×6. Ustalamy, że szyfrować będziemy kolumnami w kolejności 3-2-6-1-5-4.

Po zaszyfrowaniu otrzymujemy tekst: „ROREKESUYS_TIPWWMO”. Zdecydowanie nie podobny do tekstu jawnego, prawda ?. Deszyfrowanie odbywa się przez wpisanie szyfrogramu w kolumny tabeli i odczytywanie tej macierzy wierszami. Praktycznym przykładem szyfru przestawieniowego wykorzystywanym jeszcze przez Niemców w czasie pierwszej wojny światowej do komunikacji na polu bitwy jest szyfr ADFGVX.

Jak widać szyfrowanie przy wykorzystaniu wyżej przedstawionych szyfrów symetrycznych jest bajecznie proste. Oczywiście ich „siła” jak na obecne czasy jest znikoma. W dobie wszechobecnych komputerów złamanie ich jest jedynie kwestią czasu, oczywiście krótkiego czasu. Nie mają one więc praktycznie żadnego zastosowania w poważnej kryptologii, a więc również w dziedzinie podpisu elektronicznego. W kolejnych artykułach postaram się przedstawić silniejsze metody szyfrowania. Odrębną grupę artykułów będzie stanowić opis metod kryptoanalizy i „łamania” szyfrów.