Cryptology
February 6, 2023

Развитие событий во время Первой и Второй мировых войн

В течение первых двух лет Первой мировой войны кодовые системы, как и на протяжении веков, использовались для связи между высшим командованием и дипломатами, а шифрсистемы применялись почти исключительно для тактической связи. Полевым шифрсистемам, таким как упомянутый выше шифр-диск Сигнального корпуса США, не хватало сложности (и безопасности), однако. Тем не менее, к концу войны для связи высокого уровня использовались некоторые сложные шифрсистемы, самой известной из которых был немецкий фракционный шифр ADFGVX, описанный в разделе Криптография: Продуктовые шифры.

В 1920-х годах потребности телеграфии и радиосвязи, а также развитие механических и электромеханических технологий привели к значительному прогрессу в области криптоустройств: разработке роторных шифровальных машин. Хотя концепция ротора была предвосхищена в старых механических шифровальных дисках, американец Эдвард Х. Хеберн примерно в 1917 году понял (и сделал первую заявку на патент), что путем жесткого подключения моноалфавитных подстановок в соединениях от контактов на одной стороне электрического диска (ротора) к контактам на другой стороне и последующего каскадирования набора таких роторов можно реализовать полиалфавитные подстановки почти произвольной сложности. Набор таких роторов обычно располагается в виде стопки, называемой корзиной; вращение каждого из роторов в стопке вызывает вращение следующего, подобно тому, как колеса одометра продвигаются на 1/10 оборота за каждый полный оборот его ведущего колеса. При работе роторы в стопке обеспечивают электрический путь от контакта к контакту через все роторы. В системе с прямым ротором замыкание контакта клавиши на клавиатуре пишущей машинки посылает ток на один из контактов крайнего ротора. Затем ток проходит через лабиринт соединений, определяемых остальными роторами в стопке и их относительными вращательными позициями, к точке на выходной торцевой пластине, где он подключается либо к принтеру, либо к индикатору, выводя таким образом букву шифротекста, эквивалентную входной букве открытого текста.

До 2003 года Хеберн был общепризнанным изобретателем роторной шифровальной машины. В том же году ученые опубликовали результаты исследования, согласно которым в 1915 году, за два года до работы Хеберна, роторная машина была разработана и построена двумя голландскими морскими офицерами, лейтенантом Р.П.К. Спенглером и лейтенантом Тео ван Хенгелем, второй прототип был построен голландским инженером-механиком и оператором беспроводной связи лейтенантом В.К. Мауритсом, а сами устройства были испытаны голландским флотом в Ост-Индии под руководством контр-адмирала Ф. Бодуэна. Однако военно-морской флот отказался от продолжения проекта, и участники не стали сразу же добиваться патента. В конце Первой мировой войны Спенглер и ван Хенгель попытались запатентовать свою идею, но военно-морской флот воспротивился рассекречиванию их работы. Тем временем Хеберн подал патентную заявку в 1917 году, которая продержалась в течение многих лет, и постепенно голландские изобретатели были забыты.

Начиная с 1921 года и в течение следующего десятилетия, Хеберн создал серию постоянно совершенствующихся роторных машин, которые были оценены ВМС США и, несомненно, обеспечили превосходство Соединенных Штатов в криптологии по сравнению с державами Оси во время Второй мировой войны. 1920-е годы были отмечены серией вызовов изобретателей шифровальных машин национальным криптологическим службам и одной службы другой, что привело к постоянному совершенствованию как криптомашин, так и методов анализа машинных шифров. Почти в то же время, когда Хеберн разрабатывал роторную шифровальную машину в США, европейские инженеры, в частности Хуго А. Кох из Нидерландов и Артур Шербиус из Германии, независимо друг от друга открыли концепцию ротора и разработали машины, которые стали предшественниками самой известной шифровальной машины в истории - немецкой "Энигмы", использовавшейся во время Второй мировой войны. (См. рисунок.)

Enigma

Другой тип роторных машин гораздо больше похож на систему шифрования Вернама. Такие устройства представляют собой штыревые машины, и они обычно состоят из набора роторов с простым числом помеченных позиций на каждом роторе. В каждой позиции маленький штифт может быть установлен в активное или неактивное положение. При работе все роторы продвигаются на одну позицию на каждом шаге. Поэтому, если активные штифты выбраны соответствующим образом, машина не вернется к исходной конфигурации штифтов, пока не продвинется на количество шагов, равное произведению количества позиций в каждом из роторов. На рисунке показана машина такого типа, Hagelin M-209 (названная в честь шведского инженера Бориса Хагелина), которая широко использовалась американскими военными для тактической полевой связи во время Второй мировой войны. В M-209 роторы имеют 26, 25, 23, 21, 19 и 17 позиций соответственно, так что длина ключевого периода составляет 101 405 850. (Интересно отметить, что ключ такой длины был бы исчерпан за 1/100 секунды в магистральном канале Интернета сегодня). Связь этой машины с системой шифрования Вернама проявляется не только в том, что длинная двоичная последовательность активных штифтов в роторах образуется путем произведения шести гораздо более коротких, но и в том, как символ открытого текста шифруется с помощью полученного потока ключей. Сразу за роторами находится "беличья клетка", состоящая из 27 стержней, на каждом из которых находится пара подвижных наконечников. Любой из наконечников или оба могут быть установлены в положение для зацепления и перемещения влево на каждом шаге с помощью отводящего устройства, приводимого в действие наличием активного штифта на соответствующем роторе. В результате получается эффективное зубчатое колесо, в котором число зубьев определяется как настройками активного штифта, так и настройками подвижных наконечников. Количество зубцов определяет циклический сдвиг между прямым алфавитом (открытым текстом) ABC... и обратным стандартным алфавитом ZYX.... Таким образом, если бы не было зубцов, то A шифровал бы в Z, B в Y, и так далее, в то время как наличие одного зубца заставило бы A шифровать в Y, B в Z, и так далее. Это строго шифрование типа Вернама - т.е. шифрование вычитанием по модулю 26 ключевого символа из символа открытого текста. Для расшифровки шифрованный текст обрабатывается с теми же настройками пинов, которые использовались для шифрования, но циклический сдвиг устанавливается в обратном направлении.

Hagelin M-209 cipher machine

В 1930 году Министерство иностранных дел Японии ввело в эксплуатацию свою первую роторную машину, которую американские криптоаналитики назвали Red. В 1935-36 годах группа криптоаналитиков Службы сигнальной разведки (СИС) армии США под руководством Уильяма Ф. Фридмана добилась успеха в криптоанализе шифров "Красной", опираясь на свой предыдущий опыт криптоанализа машинных шифров, производимых роторными машинами Хеберна. В 1939 году японцы представили новую шифровальную машину, получившую у американских криптоаналитиков кодовое название Purple, в которой роторы были заменены шаговыми телефонными переключателями. Поскольку замена красных машин на фиолетовые происходила постепенно, обеспечивая огромное количество переписей между системами для помощи криптоаналитикам, и поскольку японцы использовали короткий путь, чтобы избежать проблемы распределения ключей путем систематической генерации ключей, американские криптоаналитики смогли не только криптоанализировать фиолетовые шифры, но и в конечном итоге предвидеть ключи на несколько дней вперед. Функционально эквивалентные аналоги шифровальных машин Purple были построены Фридманом и его коллегами из СИС, как показано на рисунке, и использовались в течение всей войны для расшифровки японских шифров. По всей видимости, ни одна машина Purple не пережила войну. Другая японская шифровальная машина под кодовым названием Jade была по сути такой же, как и Purple. Она отличалась от последней главным образом тем, что печатала японские символы кана напрямую.

Величайшими триумфами в истории криптоанализа стали польское и британское разгадывание немецких шифров "Энигма" и двух шифров телепринтера, выход которых получил кодовое название Ultra, и американский криптоанализ японских шифров Red, Orange и Purple под кодовым названием Magic. Эти разработки сыграли важную роль в ведении союзниками Второй мировой войны. Криптоанализ японских шифров является более впечатляющим, потому что это был уникальный опыт криптоанализа только шифротекста. В случае с машинами Enigma основные патенты были выданы в США, коммерческие машины были широко доступны, а конструкция ротора была известна союзным криптоаналитикам от немецкого шифровальщика. Хотя эти факторы не умаляют важности перехватов "Ультра", они облегчили криптоанализ.