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

139

1087

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

1087,

а

105456

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

Коммутатор "Энигмы"

Армейский вариант шифрмашины "Энигма" имел спереди коммутатор, который помещался под клавиатурой. Коммутатор имел 26 разъемов, которые попарно соединялись 13-ю короткими кабелями. Это устройство давало возможность на этапе ввода и вывода менять местами буквы алфавита, составляющие пары. Так, например, если буква A была соединена кабелем с W, то всякий раз при нажатии клавиши A в шифрмашину уходил сигнал от буквы W, и наоборот. Аналогично, если на выходе последнего колеса R1 возникала буква шифрованного текста A, то загоралась лампочка W, поэтому в шифрованный текст записывалась буква W. Число возможных способов разбиения 26 букв коммутатора на пары равно числу возможных вариантов отражателя, т.е.

превосходит число 1012.

И поскольку соединения коммутатора менялись часто (вначале ежедневно, а

с1944 года три раза в день), это усложняло криптоаналитикам задачу, так как им теперь приходилось анализировать более 1017 вариантов вместо прежних

105456.

140

Ахиллесова пята "Энигмы"

Военные настояли ( и это вполне понятно), чтобы внутренние распайки колес и отражателя армейского варианта "Энигмы" отличались от первоначальной гражданской модели 1923 года. Поэтому обладание гражданской моделью шифрмашины "Энигма" 1923 года не помогло бы криптоаналитикам. Кроме того, в армейскую модель был добавлен коммутатор. Казалось, что даже если бы криптоаналитик имел в своем распоряжении армейский вариант "Энигмы", то и тогда необходимость перебора 1017 вариантов делала бы невозможным дешифрование даже одного сообщения. Даже если бы можно было опробовать миллион вариантов в секунду, то на полный перебор ушло бы несколько тысяч лет. К тому же в 1930-ые годы никаких компьютеров еще не было. Как же случилось, что в 1932 году метод дешифрования "Энигмы" все же был найден?

Основная слабость, которая привела к дешифрованию "Энигмы", заключалась не в конструкции самой машины, а в методе, которым пользовались немцы для отправки сообщений. Как уже говорилось выше, если шифровальщик посылает сообщение, зашифрованное с помощью системы с переменными параметрами, то он должен либо сообщить получателю значения этих параметров, либо предоставить ему возможность вычислить их самому. Последний способ редко применяется, хотя он мог быть применен в случае цилиндра Джефферсона. Для шифрмашины "Энигма" такой способ совершенно непригоден, и получателю необходимо сообщить полную информацию, необходимую для расшифрования сообщения. Что именно необходимо знать получателю? Допустим, что отправитель и получатель работают с одними и теми же "настройками", то есть они оба используют одинаковые колеса "Энигмы" и в том же порядке, и те же соединения коммутатора. Даже в этом случае отправитель должен каким-то образом сообщить получателю исходные положения тройки колес перед началом шифрования сообщения. Эту информацию необходимо поместить в "индикатор". Начальные положения ("угловые установки") должны выбираться отправителем "случайно", ибо, если несколько сообщений зашифрованы на одних и тех же начальных угловых установках, то получаются одноключевые сообщения, которые могут быть прочитаны даже в том случае, если вид колес и/или их начальные угловые установки определить не удастся. Поскольку для тройки колес существует 17576 вариантов начальных угловых положений, то вероятность случайного зашифрования двух сообщений при одних и тех же начальных установках будет меньше, чем 0.00006, при условии, что начальные установки выбираются действительно произвольно. Однако на практике у шифровальщиков вырабатывались привычки: например, три буквы, обозначающие начальные установки колес, они выбирали из одного и того

141

же ряда букв на клавиатуре, что значительно увеличивало вероятность появления одноключевых сообщений. Общий ключ вполне мог возникнуть случайно даже при случайном выборе угловых установок, если число сообщений, посылаемых при одинаковых внутренних установках машины (т.е. при том же порядке расположения колес и одинаковом коммутаторе), было велико. Например, если послано 200 сообщений, то вероятность того, что среди них найдется хотя бы одна пара одноключевых, будет больше половины (доказательство см. в приложении M16). Поэтому в целях снижения вероятности появления общего ключа необходимо было как можно чаще менять внутренние установки машины, чтобы появление большого числа сообщений, зашифрованных на одних и тех же внутренних установках, было крайне маловероятно.

Метод, который вначале применяли немцы для информирования получателя о начальных угловых положениях тройки колес, был основан на использовании общей базовой угловой установки; процедура, которую при этом выполнял отправитель, была следующей:

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

(2)Обратиться к списку, который имеется у всех пользователей в данной "сети", и найти в нем базовую угловую установку на текущую дату (или период времени, если базовая угловая установка меняется чаще одного раза в сутки); предположим, что это будет, например, BLE.

(3)Установить колеса в положения, соответствующие базовой установке, BLE.

(4)Зашифровать дважды тройку букв выбранной произвольной установки; то есть, зашифровать шесть букв FMZFMZ и записать шесть полученных букв шифрованного текста; предположим, получились, например, буквы LOCWHQ.

(5)Установить колеса согласно выбранной случайной угловой установке, FMZ, и зашифровать сообщение.

(6)Перед шифрованным текстом сообщения записать 6 букв перешифрованного двойного индикатора, то есть LOCWHQ.

(7)Отослать получившееся шифрованное сообщение с перешифрованным двойным индикатором в начале текста.

Приняв шифрованное сообщение, получатель действовал следующим образом:

(1)Установить тройку колес согласно базовой угловой установке на текущую дату или период времени, BLE.

(2)Ввести с клавиатуры 6 букв (LOCWHQ) перешифрованного

142

двойного индикатора.

(Напомним, что характерной чертой "Энигмы" является то, что в ней операции зашифрования и расшифрования осуществляются одинаково. Таким образом, поскольку буква F при первом зашифровании индикатора перешла в L, то буква L должна перейти в F, что и произойдет при расшифровании буквы L.)

(3)В результате должен получиться выбранный отправителем произвольно двойной индикатор (а именно FMZFMZ); если это не так, то это значит, что произошла ошибка, В этом случае, возможно, сообщение придется передать еще раз. Это очень опасная ситуация, которая может привести к нарушению стойкости шифра.

(4)Если при расшифровании шестерки знаков получилось повторение одного и того же триграфа (в данном случае FMZ), то установить колеса машины в эти угловые положения и расшифровать текст сообщения.

Обратите внимание на то, что слово " двойной" напечатано курсивом. Как мы увидим далее, именно такая последовательность действий, веденная для обеспечения точности приема трехбуквенных угловых установок, и оказалась ахиллесовой пятой "Энигмы". Вначале отметим, что

во время зашифрования шестизначного двойного индикатора вероятность того, что движется только колесо R1, составляет 80%.

Колесо R2 приводится в движение только тогда, когда колесо R1 находится в положении с выемкой. В первой модели "Энигмы" на кольце с выемкой, имеющем 26 положений, выемка была только одна. Таким образом, если выемка срабатывала, когда колесо R1 находилось в положении Z, то колесо R2 во время зашифрования шестерки букв двигалось только при условии, что исходная угловая установка колеса R1 была U, V, W, X или Y. (Если исходная угловая установка колеса R1 была Z, то колесо R2 поворачивалось непосредственно до начала зашифрования первой буквы и оставалось в новом положении на время зашифрования следующих пяти букв, если только колесо R2 само теперь не находилось в положении с выемкой - в последнем случае при зашифровании следующей буквы сдвигалось как оно само, так и колесо R3. Однако эта возможность почти не влияет на вероятности, и ради простоты изложения мы пренебрежем ею. Метод дешифрования легко изменить, чтобы учесть и этот маловероятный случай.) Поэтому обычно колесо R1 имеет 21 начальное угловое положение, при которых колесо R2, а следовательно, и R3 остаются неподвижными во время всего процесса зашифрования шестизначного индикатора. Итак, вероятность того, что

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