Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kody_i_shifry_yuliy_Cezar_Enigma_i_Internet_2007.pdf
Скачиваний:
259
Добавлен:
29.03.2016
Размер:
2.04 Mб
Скачать

167

Штифтовая установка колеса размера 5

X X O X O

Штифтовая установка колеса размера 8

O X X O X O X O

Штифтовая установка колеса размера 9

X O O X X X O X O

Для полноразмерной шифрмашины "Хагелин", конечно, понадобится отрезок гаммы большей длины. При каждом взятии разности последовательности знаков гаммы ее длина сокращается на столько элементов, каков размер исключаемого колеса. Так, в вышеприведенном примере при взятии разности на расстоянии 5 исходные 25 знаков гаммы сократились до 20, а после взятия второй разности на расстоянии 8 осталось только 12 значений. Для полноразмерного "Хагелина" понадобится не менее 131 знаков гаммы, так как сумма размеров всех шести колес равна 131. Желательно иметь их немного больше, чем 131: дополнительные знаки гаммы нужны, чтобы проверить, что финальная последовательность (полученная 5-кратным взятием разностей) повторяется через правильное число шагов. В реальности 150 знаков гаммы оказывается достаточно. К тому же, как уже упоминалось ранее, полноразмерный "Хагелин" имеет дополнительные возможности, значительно усложняющие задачу дешифрования. В этом мы сейчас убедимся.

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

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

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

168

возможности, которые значительно усиливают стойкость машины:

(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. Смещение, вероятно, для каждого сообщения будет

169

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

Перекрытия

Эта возможность присутствует во всех моделях "Хагелина". Вспомним, что в этой шифрмашие есть 27 реек и 54 выступа на барабане, расположенном позади колес. Каждый из двух выступов, имеющихся на каждой рейке, может быть установлен напротив любого из шести колес или в одно из двух "нейтральных" положений. В шифрмашине без перекрытий один из двух выступов каждой рейки всегда находится в одном из нейтральных положений. В шифрмашине с перекрытиями на одной или на нескольких рейках каждый из двух выступов установлен напротив колеса. В результате, если для пары колес на данной рейке выступы установлены напротив обоих колес, и оба колеса активны, то общий вклад рейки в суммарную гамму равен 1, а не 2. Это происходит потому, что рейка сдвигает печатающее колесо на одну позицию вне зависимости от того, зацепляется ли она своими выступами с одним или с двумя активными штифтами. Так, например, пусть для 26-штифтового колеса зацепление равно 5, а для 25-штифтового зацепление равно 6, и у них имеются две общие рейки. Тогда в момент, когда штифты на обоих колесах активны, их общий вклад в суммарную гамму равен не 11, а 11-2=9. Поэтому

если 26- и 25-штифтовые колеса оба неактивны, то их вклад в гамму равен 0;

если 26-штифтовое колесо активно, а 25-штифтовое колесо неактивно, то их вклад в гамму равен 5;

если 26-штифтовое колесо неактивно, а 25-штифтовое колесо активно, то их вклад в гамму равен 6;

если 26- и 25-штифтовые колеса оба активны, то их вклад в гамму равен 9;

Очевидно, что наличие перекрытий влияет на распределение знаков гаммы. Допустим, перед нами снова рассмотренный выше очень слабый барабан (9,9,9,0,0,0), но теперь его зацепления перекрываются:

для 26- и 25-штифтовых колес перекрытие = 2; для 26- и 23-штифтовых колес перекрытие = 3; для 25- и 23-штифтовых колес перекрытие = 1.

В этом случае возможные значения гаммы приведены в таблице 10.5. Здесь, как и раньше, X обозначает активный штифт, а O - неактивный.

Таблица 10.5

26-штифтовое колесо

25-штифтовое

23-штифтовое

Гамма

 

колесо

колесо

 

O

O

O

0

O

O

X

9

0

X

O

9

O

X

X

17

170

X

O

O

9

X

O

X

15

X

X

O

16

X

X

X

21

 

 

 

 

И хотя такой барабан по-прежнему слишком слабый, теперь он, по крайней мере, дает шесть различных значений гаммы, в то время как такой же барабан без перекрытий дает всего четыре. Тем не менее, значение гаммы, равное 9, продолжает оставаться самым частым: оно встречается в 24 случаях из 64, в то время как каждое из оставшихся пяти значений встречается всего по 8 раз. Однако, что более существенно, метод разностей в данном случае уже не работает, так как вклад одного колеса в суммарную гамму уже не будет повторяться через промежутки, равные размеру колеса. С точки зрения криптографа, в этом и заключается основное преимущество перекрытий.

Другое достоинство перекрытий состоит в значительном увеличении числа возможных барабанов, так как теперь нужно расставить 27 пар выступов, а не 27 одиночных выступов. Есть ли недостатки у использования перекрытий? С чисто криптографической точки зрения их, скорее всего, не будет, если подойти к расстановке выступов рассудительно. Введение перекрытий изменяет распределение знаков гаммы, и барабан, который при отсутствии перекрытий порождал все 26 возможных значений гаммы, может утратить это свойство при введении перекрытий. В дополнение, шифровальщику надо быть особенно аккуратным при настройке машины. Крайне важно гарантировать, чтобы различные колеса перекрывались между собой именно на заданную величину; в результате любой допущенной ошибки сообщение придется передавать заново, и криптоаналитик, сравнивая между собой оба текста, сможет получить важную информацию. Наилучший способ сообщить шифровальщикам значения зацеплений и перекрытий различных колес - это снабдить их "картой", на которой показано положение обоих выступов на каждой из 27 реек барабана. Подобная "карта" может либо содержать положение каждого выступа на каждой рейке, для чего потребуется восемь столбцов - шесть для колес и два для нейтральных положений, либо состоять только из шести столбцов, соответствующих колесам. В последнем случае, если на рейке показан только один выступ, шифровальщик должен выставить другой в одно из нейтральных положений. Второй способ использован в следующем примере.

Пример 10.5 "Хороший" барабан (9, 7, 5, 3, 2, 1) без перекрытий модифицирован в барабан

(11, 9, 7, 5, 3, 1) с перекрытиями ,так что каждое из первых четырех колес имеет перекрытие, равное 2, с колесом справа от него, а пятое колесо имеет перекрытие, равное 1, с шестым колесом. Требуется построить подходящую

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]