Coś o szyfrze Cezara

0

Jedną z dość praktycznych umiejętności dla każdego programisty jest kodowanie znaków wykorzystywane w algorytmach. Kodowanie znaków może odbywać się na różnych płaszczyznach, tutaj jednak zajmiemy się szyfrowaniem tekstu. Szyfr Cezara pierwotnie polegał na przypisywaniu do danej litery, litery, która znajdowała się w alfabecie o trzy miejsca dalej. Idąc tym tropem litera a była szyfrowana na literę d, literę b zamieniano na literę e, literą c była litera f a ostatnia litera alfabetu kodowana była jego trzecią literą, czyli c. Co więcej, tekst taki kodowany był bez użycia spacji – jednym ciągiem znaków. Na samym początku należy także zauważyć, iż wielkie litery przyjmują wartości kodów ASCII z przedziału (65, 90) a małe natomiast z przedziału (97, 122). Zachodzi tutaj zależność: między kodem wielkiej i małej litery jest stała różnica wynosząca 32. Dzięki tej wiedzy możliwe jest wprowadzenie tekstu jedną wielkością liter i zwrócenie ich drugą wielkością. Zatem łatwo wywnioskować, w jaki sposób zaszyfrować wiadomość szyfrem Cezara. Znak pierwotny zostanie podmieniony tym znakiem, którego kod ASCII posiada wartość o trzy większą od niego. Ważne jest także, aby zbudować funkcję deszyfrującą, która zamieni nam znak pierwotny na znak, którego kod ASCII jest od niego o trzy mniejszy. Między obiema funkcjami zachodzi prosta zależność gdyż są one względem siebie odwrotne. Zatem: deszyfruj (szyfruj (tekst)) = tekst.

Dodaj komentarz