Szyfr Ramsaya – szyfr 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.
Szyfrowanie
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 I
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 II
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
Deszyfrowanie
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łamanie
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.
Bibliografia