logo
Коды и шифры

Вскрытие шифрмашины "Хагелин" только по шифрованному тексту

Вскрывать "с нуля" шифрованное сообщение, полученное с помощью "Хагелина" - это большой и кропотливый труд, и здесь я приведу только краткие указания на то, как криптоаналитик может попытаться решить эту задачу. Детализированные примеры вскрытия этой шифрмашины по шифрованному тексту в свое время были опубликованы, и читатели, заинтересовавшиеся этим вопросом, могут обратиться к [10.4] или [10.5].

Когда криптоаналитик перехватывает первые сообщения, зашифрованные с помощью "Хагелина", ему пока неизвестны ни барабан, ни штифтовые установки. Первоначально он даже может не знать, что используется именно "Хагелин". И если шифровальщики не делают ошибок, то перед криптоаналитиком - непочатый край работы. Чтобы иметь какие-нибудь шансы на успех, ему нужно иметь

либо одно очень длинное шифрованное сообщение (длиной несколько тысяч знаков),

либо несколько сообщений еще большей суммарной длины.

Затем ему придется вычислить значения различных статистик, начиная с суммарного подсчета частот встречаемости букв шифрованного текста, что может помочь установить вероятное применение "Хагелина", поскольку по достаточно длинному тексту неравновероятное распределение 26 возможных значений гаммы легко выявить. Если имеются несколько текстов, то, возможно, удастся установить их "смещения" друг относительно друга путем подсчета коэффициентов корреляции частот встречаемости пар (для модели M209 с фиксированным смещением это не понадобится).

Теперь самый длинный шифрованный текст следует выписать по 17 знаков в строку и подсчитать частоты встречаемости букв шифрованного текста в каждом из 17 столбцов. Это делается с целью отнесения каждого из столбцов к одному из двух классов: к тем, что соответствуют активному штифту, и к тем, что соответствуют неактивному. Если в шифрмашине есть перекрытия, то они влияют только на столбцы, соответствующие активным штифтам, а на те, что соответствуют неактивным, не влияют. Сравнивая частоты встречаемости букв шифрованного текста для "неактивных" столбцов с соответствующими частотами "активных", криптоаналитик может надеяться определить зацепление 17-штифтового колеса. Он может и не добиться успеха, но в любом случае ему следует выполнить подобный анализ для пяти оставшихся колёс. И если он с некоторой долей уверенности может определить зацепление одного или нескольких колес, то ему удастся вычислить распределение знаков шифрованного текста для оставшихся колёс с учетом известных ему зацеплений. Таким образом, выполняя вычисления в виде ряда итераций, он может надеяться постепенно увеличивать объем известной ему информации о барабане и штифтовых установках. Если в машине присутствуют перекрытия, то анализ становится еще труднее, особенно если все колёса имеют взаимные перекрытия. С другой стороны, как показал приведенный выше пример, слишком много перекрытий могут испортить "хороший" барабан!