Szyfr Ramsaya

Szyfr Ramsayaszyfr opracowany przez radzieckich kryptologów w pierwszej połowie lat 30 XX wieku. W latach 1935-41 był używany przez radziecką siatkę szpiegowską w Japonii kierowaną przez Richarda Sorge. Ramsay był to kryptonim Sorgego, czasem używany do określenia całej siatki. W różnych nieco zmienionych wariantach szyfr ten był stosowany przez radzieckich szpiegów do początku lat 50.

SzyfrowanieEdytuj

Wszystkie depesze siatki Sorgego były pisane w języku angielskim. Jako przykład użyjemy zdania: Wikipedia. The free encyclopedia.
Tekst był szyfrowany dwuetapowo – najpierw przy użyciu stałego dwuczęściowego klucza literowego, a następnie jednorazowego, niepowtarzalnego dla każdej depeszy, klucza numerycznego.

Szyfrowanie. Etap IEdytuj

Klucz literowy składał się z dwóch części – słowa subway (wybranego przez samego Sorge) i zdania A sin to err (ang. Grzechem jest błądzić; zdanie to zawiera litery występujące najczęściej w języku angielskim). Najpierw należy stworzyć alfabet szyfrowy. W tym celu pisano słowo SUBWAY, a pod nim w kolejnych wierszach tabeli pozostałe litery alfabetu. Na końcu dodawano kropkę "." i znak "/ " (był on nazywany znakiem zmiany i służył do oznaczania fragmentów tekstu zawierających cyfry).

S U B W A Y
C D E F G H
I J K L M N
O P Q R T V
X Z . /

Teraz w kolumnach powstałej tabeli należy (zaczynając od lewej) odnaleźć i kolejno oznaczyć liczbami od 0 do 7 litery zdania-klucza A S I N T O E R (ostatnie R opuszczano). Kolejność liter w zdaniu-kluczu nie ma tu znaczenia, liczy się kolejność ich pojawiania się w kolumnach tabeli.

S = 0 U B W A = 5 Y
C D E = 3 F G H
I = 1 J K L M N = 7
O = 2 P Q R = 4 T = 6 V
X Z . /

Przy użyciu takiej tabeli tworzono rozbudowany wariant szachownicy Polibiusza – tzw. szachownicę z rozgałęzieniem. Pod pierwszym wierszem zawierającym cyfry 0–9 wpisywano litery zdania-klucza według kolejności nadanych im liczb. Komórki pod cyframi 8 i 9 pozostają puste. Cyfry te będą współrzędnymi dwóch pozostałych wierszy, do których wpisywano pozostałe litery i znaki z tabeli, odczytując je kolumnami od lewej.

0 1 2 3 4 5 6 7 8 9
S I O E R A T N
8 C X U D J P Z B K Q
9 . W F L / G M Y H V

Posługując się powstałą tabelą szyfrujemy tekst-przykład przypisując kolejnym literom cyfry – współrzędne tych liter w tabeli:

W I K I P E D I A . T H E F R E E E N C Y C L O P E D I A .
91 1 88 1 85 3 83 1 5 90 6 98 3 92 4 3 3 3 7 80 97 80 93 2 85 3 83 1 5 90

Jak widać, współrzędne większości liter i znaków są dwucyfrowe (wiersz+kolumna) ale dla liter ze zdania-klucza są to pojedyncze cyfry. Ponieważ te litery występują w języku angielskim z największą częstotliwością, pozwala to na znaczne skrócenie zaszyfrowanej depeszy. Stwarza to też dodatkowe utrudnienie dla kryptoanalityka. Po zakończeniu szyfrowania cyfry depeszy były grupowane po 5 i dalej przetwarzane w postaci takich grup. W ten sposób podział na jedno- i dwucyfrowe współrzędne był ukrywany.
Tekst zaszyfrowany wygląda teraz tak:

91188 18538 31590 69839 24333 78097 80932 85383 15905 – cyfra 5 została dodana, żeby wypełnić ostatnią grupę (mogły to być jakiekolwiek cyfry i dodawno ich tyle, ile brakowało do pełnej liczby 5 cyfr).

Cyfry szyfrowano w następujący sposób: wstawiano znak zmiany "/ ", następnie wpisywano cyfry (każdą dwukrotnie) i zamykano ten ciąg cyfr znowu znakiem zmiany. Np. liczba 2437 byłaby zaszyfrowana jako /22443377/.

Szyfrowanie. Etap IIEdytuj

Tak zaszyfrowany tekst jest już dość trudny do odczytania, ale żeby zabezpieczyć go przed profesjonalnymi kryptoanalitykami przeprowadzano jeszcze jedno szyfrowanie, tym razem z użyciem jednorazowego klucza numerycznego. Jako źródła tego klucza siatka Ramsay używała "Rocznika statystycznego Rzeszy Niemieckiej" ("Statistischen Jahrbuch für das Deutsches Reich") z 1935 roku. Wybierano stronę, wiersz i kolumnę z tabeli i wypisywano wierszami potrzebną liczbę cyfr – identyczną, jak liczba cyfr w tekście zaszyfrowanym (spisywanie zaczynano od ostatniej cyfry z liczby znajdującej się w wybranej komórce). Dla każdej depeszy wybierano inne współrzędne miejsca, od którego wypisywano cyfry. W ten sposób klucz numeryczny był niepowtarzalny. Jako dodatkowe skomplikowanie szyfru przyjęto zasadę, że siatka Sorgego wypisywała kod numeryczny z pierwszej części rocznika, wydrukowanej na białych kartkach (zawierała dane o gospodarce Niemiec), a centrala w Moskwie szyfrując depesze do siatki – z drugiej części, wydrukowanej na zielonych kartkach (dane międzynarodowe).

Klucz numeryczny zapisywano pod wstępnie zaszyfrowanym tekstem i przeprowadzano tzw. dodawanie bez przeniesienia tj. opuszczano część dziesiętną wyniku zapisując tylko liczbę jedności. Dodawano pojedyncze pary cyfr, a nie całe grupy jako liczby.

szyfr wstępny 91188 18538 31590 69839 24333 78097 80932 85383 15905
klucz numeryczny + 35635 51303 24932 10010 78191 12106 21169 41861 76147
szyfr ostateczny = 26713 69831 55422 79849 92424 80193 01091 26144 81042

Pozostawało jeszcze umieszczenie w depeszy współrzędnych, według których odbiorca mógł znaleźć klucz numeryczny. Z numeru strony opuszczano liczbę setek, a dla wiersza przeznaczano dwie cyfry. Klucz mógł się znajdować np. na stronie 23, 123 lub 223. Odbiorca musiał znaleźć właściwą stronę metodą prób i błędów. Ułatwiał to fakt, że wszystkie depesze siatki Ramsay zaczynały się od formuły DAL (Dal było skrótem od Dalnyj Wostok – Daleki Wschód). Wystarczyło wypisać pięć cyfr klucza (DAL = 83593) i sprawdzić efekt rozszyfrowania pierwszej grupy depeszy. Dla kryptoanalityków było to kolejne utrudnienie, a dla szyfrującego zwiększało zakres możliwych do uzyskania kluczy numerycznych.

Załóżmy, że wybrano stronę 123 i 7 wiersz w 6 kolumnie. Współrzędne utworzą więc grupę 23076. Wysyłanie jej w takiej, jawnej postaci uznano za niebezpieczne. Wykonywano więc jeszcze jedno dodawanie bez przeniesienia – grupy opisującej współrzędne klucza, czwartej grupy szyfru licząc od początku i trzeciej od końca:

23076
79849
+ 01091
= 93806

Powstałą grupę umieszczano na początku depeszy i całość nadawano przez radio do Moskwy (za pośrednictwem radiostacji położonej w okolicach Władywostoku).
93806 26713 69831 55422 79849 92424 80193 01091 26144 81042

DeszyfrowanieEdytuj

Przy rozszyfrowywaniu stosuje się odejmowanie bez przeniesienia: jeżeli odjemna jest mniejsza od odjemnika – zwiększa się ją o 10.

Odbiorca depeszy najpierw oddzielał od niej pierwszą grupę, zawierającą współrzędne klucza numerycznego. Teraz poprzez odejmowanie bez przeniesienia tej grupy, trzeciej grupy od końca i czwartej od początku ustalał te współrzędne. Opisaną powyżej metodą prób i błędów sprawdzał, na której stronie Rocznika Statystycznego znajduje się początek klucza numerycznego, wypisywał całość klucza i (znowu odejmowaniem bez przeniesienia) przekształcał zaszyfrowaną depeszę w ciąg cyfr, który był już podstawą do odczytania tekstu jawnego przy pomocy szachownicy. Szachownicę odbiorca tworzył powtarzając etap I szyfrowania – potrzebne klucze były stałe i znane obu stronom.

Odporność na złamanieEdytuj

Szyfr Ramsaya był połączeniem szyfru homofonicznego i szyfru z kluczem jednorazowym, co czyniło go bardzo odpornym na złamanie. Japońscy kryptoanalitycy nie zdołali odczytać żadnej z bardzo wielu przechwyconych depesz siatki Sorgego. Udało się to dopiero w 1941 roku, kiedy po rozbiciu siatki aresztowany razem z Sorgem szyfrant-radiotelegrafista – Max Clausen – wyjawił im algorytm szyfru.

BibliografiaEdytuj