Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коды и шифры.DOC
Скачиваний:
116
Добавлен:
18.08.2019
Размер:
2.07 Mб
Скачать

Дополнительные возможности шифрмашины "Хагелин"

До сих пор мы описывали и анализировали только самую общую модель шифрмашины "Хагелин", и пренебрегали тем фактом, что два из возможных знаков гаммы, а именно 0 и 1, могут иметь двоякий смысл, и, кроме 0 и 1, означать соответственно 26 и 27. Это значит, что если отрезок гаммы содержит какие-нибудь значения, равные 0 или 1, то при нахождении разности криптоаналитик должен также рассматривать на этих местах, соответственно, варианты 26 и 27. Для этого придется проанализировать множество различных вариантов последовательности знаков гаммы. И если дешифрование методом разностей не привело к успеху, то это значит, что один из неточно известных знаков гаммы определен неправильно. В качестве компенсации криптоаналитик получает дополнительную информацию в награду за правильное определение знака гаммы, равного 0 или 27: в первом случае, очевидно, что все шесть колес были в данных момент неактивны, а во втором - все они были активны. Далее, если встречается знак гаммы, равный 1, то отсюда вытекает, что существует колесо с единичным зацеплением, и то же самое справедливо для знака гаммы, равного 26 (мы предполагаем, что используются все 27 реек, причем "без перекрытий"). Хотя в итоге из-за этих неоднозначностей трудоемкость решения задачи возрастает.

Кроме перечисленных усложнений, которые есть в любой модели "Хагелина", в большинстве моделей присутствуют еще две дополнительные возможности, которые значительно усиливают стойкость машины:

  1. "смещение";

  2. "перекрытия".

Смещение

В тех моделях шифрмашины "Хагелин", где имеется данная возможность, с внешней стороны имеется маленькое колесико с алфавитом, нанесенным по его периметру. Оно может быть повернуто в любое из 26 положений и остается в этом положении при зашифровании (или расшифровании) всего сообщения. Результатом применения смещения является увеличение значения гаммы на константу: например, если смещение равно E, то все знаки гаммы увеличиваются на 4. Поэтому общий вид формулы зашифрования теперь будет выглядеть не

(буква шифрованного текста) = (знак гаммы) - (буква открытого текста)(mod 26),

а

(буква шифрованного текста) = (знак гаммы + смещение) - (буква открытого текста)(mod 26).

Здесь используется обычное числовое представление смещения из таблицы 1.1, то есть A=0, B=1, ..., Z=25.

В тех машинах, где этой возможности нет, смещение является величиной, зафиксированной навсегда: например, в модели M209 оно равно Z, то есть в числовом выражении 25 (или -1, так как все вычисления происходят по модулю 26). Поэтому в модели M209 знак гаммы, равный 25, в действительности означает, что шестерка колес выработала значение 0 или 26, а знак гаммы, равный 0, означает, что колеса выработали либо 1, либо 27. Нахождение смещения является самой первой задачей при анализе последовательности знаков гаммы.

Определение смещения по шифрованному тексту

Если криптоаналитику известен вид используемого барабана, то он может вычислить значение смещения по шифрованному тексту. Для этого ему необходимо вычислить для шифрованного текста "теоретическое распределение" и сравнить его статистически с частотами встречаемости букв шифрованного текста, подсчитанными для данного сообщения. Подробнее об этом см. в приложении M20.

Существование смещения вовсе не делает метод разностей несостоятельным, оно только усложняет первоначальное распознавание значений гаммы 0 и 1. Смещение, вероятно, для каждого сообщения будет своим, и шифровальщику придется каким-то способом сообщать получателю его значение.