top of page

Шифр Рихарда Зорге

    Нельзя рассказывать о шифрах и ни слова не сказать о шпионах. В недалеком прошлом, когда компьютеров еще не было, информацию стремились скрыть в основном разведчики. Наука о шифровании не могла стоять на месте, ведь служба Родине была самым важным и нужным ее предназначением. Кстати, именно советские шифры, разработанные отечественными специалистами, на многие десятилетия вперед определили вектор развития криптографии.

     Один из самых известных – шифр Рихарда Зорге – советского разведчика, который был направлен в Японию. Этот шифр продуман до мелочей. Шифрование на английском языке. Первоначально нужно составить следующую таблицу:

    Сначала записываем в нее слово SUBWAY, выбранное нами. Затем пишем все остальные буквы алфавита по порядку. Слеш означает новое слово (разделитель), а точка обозначает себя. Далее наиболее часто встречающиеся буквы английского алфавита (A, S, I, N, T, O, E, R) нумеруются в порядке появления в таблице:

    Саму таблицу мы строим по горизонтали, записывая буквы рядами, а нумеруем по вертикали, столбцами. Так перемешивание будет лучше.

     Далее преобразуем таблицу: сначала в строку по столбцам записываются наиболее часто встречаемые буквы в порядке нумерации (S, I, E, …), а затем записываются и все остальные буквы, также по столбцам в строки (С, X, U, D, J, …). Такая таблица обеспечит хорошие перемешивающие свойства и в то же время не «испортит» частотный анализ шифротекста:

 

    Таблица готова. Теперь можно зашифровать сообщение. Алгоритм такой:

  1. Для каждого исходного символа ищем соответствующую ему цифру в первом столбце (для M это будет 9).

  2. Для каждого исходного символа ищем соответствующую ему цифру в первом ряду (для M это будет 6).

  3. Записываем полученные символы один за другим (96). Если вместо символа в первом ряду/столбце стоит прочерк, не пишем ничего:96 4 …
    M R …

  4. Переходим к следующему символу. И так далее.

    После этого шифротекст заново переразбивается на блоки одинаковой длины по пять символов. Оставшиеся символы, которые придутся на последнюю незавершенную группу из пяти символов, можно просто отбросить. Если у нас останется больше двух символов, то их нужно добить нулями до полной группы из пяти. Если один или два – можно отбросить, они не несут особо много информации, и о них легко догадаются в штабе. В нашем случае лишних символов не осталось.

      Далее нужно наложить на полученный шифротекст некую гамму. Если упрощенно, то гамма – это последовательность чисел, которая выбирается для сложения с исходным шифротекстом. Например, если у нас есть гамма 1234 5678 9876, а исходный шифротекст выглядел как 12222 14444
1555, то конечный шифротекст после наложения гаммы выглядит как их сумма – 1234+12222, 14444+5678, 9876+1555.

      Откуда брать гамму и как незаметно передать ее в штаб? Зорге выбирал гамму из «Немецкого статистического ежегодника».

      Такое издание не должно было вызвать удивление у японцев, так как Зорге приехал в страну под видом немецкого журналиста. Он указывал страницу и столбец, откуда начиналась последовательность, которая была наложена на шифротекст в этом послании. Например, 201-я страница и 43-й столбец. Эти данные он записывал добавочным числом 20143 перед шифротекстом, который, в свою очередь, уже шифровался гаммой.

      Шифр Зорге вражеским криптоаналитикам так и не удалось взломать. Множество раз японские спецслужбы перехватывали шифротекст, но он так и останется в виде колонок пятизначных чисел, которые подшивались в дела непойманных шпионов.

bottom of page