Введение
Устройство для дешифровки, созданное в Блетчли-парке (Великобритания)
дешифрующее устройство, использовавшееся в Блетчли-парке
Бомба (/UK//b//ɒ//m//b/) — это электромеханическое устройство, использовавшееся британскими криптологами для расшифровки зашифрованных секретных сообщений немецкой машины «Энигма» во время Второй мировой войны. ВМС и армия США позже создали собственные машины с теми же функциональными характеристиками, хотя и спроектированные по-разному как друг от друга, так и от польских и британских бомб. Британская бомба была разработана на основе устройства, известного как «bomba» (bomba kryptologiczna), которое было спроектировано в Польше в Бюро Шифров криптологом Марианом Реевским, который в течение предыдущих семи лет взламывал немецкие сообщения «Энигмы», используя его и более ранние машины. Первоначальный проект британской бомбы был разработан в 1939 году Аланом Тьюрингом в правительственной школе кода и шифров Великобритании (GC&CS) в Блетчли-парке, с важным усовершенствованием, предложенным в 1940 году Гордоном Уэлчманом. Инженерный проект и строительство осуществлял Гарольд Кин из британской компании Tabulating Machine Company. Первая бомба, получившая кодовое название «Победа», была установлена в марте 1940 года, а вторая версия, «Agnus Dei» или «Agnes», включавшая новый проект Уэлчмана, была введена в эксплуатацию к августу 1940 года. Бомба была разработана для определения некоторых ежедневных настроек машин «Энигма» в различных немецких военных сетях: в частности, набора используемых роторов и их положения в машине, начальных позиций сердечников роторов для сообщения – «ключа сообщения», а также одной из коммутаций на коммутационной панели.
Машина Энигма
Энигма – это электромеханическая роторная машина, используемая для шифрования и дешифрования секретных сообщений. Она была разработана в Германии в 1920-х годах. Многократные изменения электрической цепи от клавиатуры к ламповой панели реализуют полиалфавитный шифр подстановки, который преобразует открытый текст в шифротекст и обратно. Скремблер Энигмы содержит роторы с 26 электрическими контактами с каждой стороны, проводка которых отклоняет ток в разные позиции на обеих сторонах. При нажатии клавиши на клавиатуре электрический ток проходит через входной барабан на правой стороне скремблера, затем через набор роторов к отражающему барабану (или рефлектору), который возвращает его обратно через роторы и входной барабан, и выходит, чтобы зажечь одну из ламп на ламповой панели. При каждом нажатии клавиши правый или "быстрый" ротор сдвигается на одну позицию, что изменяет шифрование. Кроме того, один раз за оборот правый ротор приводит в движение средний ротор; средний ротор, в свою очередь, приводит в движение левый (или "медленный") ротор. Положение каждого ротора отображается буквой алфавита, видимой через окно. Оператор Энигмы вручную вращает колеса, чтобы установить начальную позицию для шифрования или дешифрования сообщения. Последовательность из трех букв, указывающая начальную позицию роторов, является "ключом сообщения". Существует 26³ или 17 576 различных ключей сообщений и различных позиций набора из трех роторов. Открыв крышку машины и освободив фиксирующую планку, набор из трех роторов на их оси можно извлечь из машины, и их последовательность (называемая "порядком колес" в Блетчли-парке) изменить. Умножение 17 576 на шесть возможных порядков колес дает 105 456 различных способов настройки скремблера. Хотя 105 456 – это большое число, оно не гарантирует безопасность. Возможна атака полным перебором: можно представить 100 шифровальщиков, каждый из которых пытается расшифровать сообщение, используя 1000 различных настроек ротора. Поляки разработали карточные каталоги, чтобы легко находить позиции роторов; британцы создали каталоги "EINS" (немецкое слово для "один"). Возможны были и менее трудоемкие методы. Если весь трафик сообщений за день использовал одну и ту же начальную позицию ротора, то частотный анализ для каждой позиции мог восстановить полиалфавитные подстановки. Если использовались разные начальные позиции ротора, то перекрывающиеся части сообщения можно было найти с помощью индекса совпадения. Многие крупные державы (включая немцев) могли бы взломать трафик Энигмы, если бы они знали схему подключения роторов. Немецкие военные знали, что Энигма уязвима. В 1930 году немецкая армия ввела дополнительную меру безопасности – коммутационную панель (Steckerbrett на немецком языке; каждый штекер – это Stecker, и британские криптологи также использовали это слово), которая дополнительно перемешивала буквы как до, так и после прохождения через систему отражателей ротора. Шифрование Энигмой является самообратной функцией, то есть она взаимно заменяет буквы: если A преобразуется в R, то R преобразуется в A. Трансформация коммутационной панели сохраняла свойство самообратности, но проводка коммутационной панели, в отличие от позиций роторов, не меняется во время шифрования. Эта закономерность была использована Уэлчманом в усовершенствовании "диагональной доски" для бомбы, что значительно повысило ее эффективность. При использовании шести штекеров (оставляя 14 букв "неподключенными") было 100 391 791 500 возможных способов настройки коммутационной панели. Важной особенностью машины с точки зрения криптоаналитика, и, по сути, ахиллесовой пятой Энигмы, было то, что рефлектор в скремблере не позволял букве шифроваться как сама себя. Любое предполагаемое решение, которое давало бы для любой позиции одну и ту же букву в предполагаемом открытом тексте и шифротексте, можно было бы исключить. В преддверии Второй мировой войны немцы последовательно совершенствовали свои военные машины Энигмы. К январю 1939 года были введены дополнительные роторы, так что три ротора выбирались из набора из пяти (поэтому теперь было 60 возможных порядков колес) для армейских и военно-воздушных сил Энигмы, и три из восьми (составляя 336 возможных порядков колес) для военно-морских машин. Кроме того, на коммутационной панели использовалось десять штекеров, оставляя только шесть букв неподключенными. Это означало, что Энигмы военно-воздушных сил и армии можно было настроить 1,5 × 10¹⁹ способами. В 1941 году немецкий флот ввел версию Энигмы с вращающимся рефлектором (M4 или четырехроторная Энигма) для связи со своими подводными лодками. Ее можно было настроить 1,8 × 10²⁰ различными способами. Это было связано с более тонкой конструкцией рефлектора, чтобы освободить место для дополнительного ротора. Triton был разработан таким образом, что оставался совместимым с трехроторными машинами, когда это было необходимо: один из дополнительных "четвертых" роторов, "бета", был разработан таким образом, что при его сочетании с тонким "B" рефлектором и установке ротора и кольца на "A", пара действовала как "B" рефлектор в сочетании с тремя роторами. К счастью для союзников, в декабре 1941 года, до того, как машина поступила на вооружение, подводная лодка случайно отправила сообщение с четвертым ротором в неправильном положении, а затем повторно передала сообщение с ротором в правильном положении, чтобы имитировать трехроторную машину. В феврале 1942 года изменение количества используемых роторов стало официальным, и способность союзников читать сообщения немецких подводных лодок прекратилась, пока захваченная подводная лодка не раскрыла не только способность четырехроторной машины имитировать трехроторную машину, но и то, что четвертый ротор не двигался во время передачи сообщения. Это, наряду с вышеупомянутой повторной передачей, в конечном итоге позволило дешифровщикам определить схему подключения роторов "бета" и "гамма". Первая половина 1942 года была "Вторым счастливым временем" для немецких подводных лодок, с возобновленным успехом в атаках на союзные суда, поскольку США только что вступили в войну, не будучи готовыми к натиску, испытывая недостаток в самолетах противолодочной обороны (ПЛО), кораблях, персонале, доктрине и организации. Кроме того, безопасность новой Энигмы и способность немцев читать союзные сообщения, отправленные шифром № 3 военно-морского флота, способствовали их успеху. С января по март 1942 года немецкие подводные лодки потопили 216 кораблей у восточного побережья США. В мае 1942 года США начали использовать конвойную систему и требовать отключение света в прибрежных городах, чтобы корабли не были видны на фоне их огней, но это дало лишь незначительное повышение безопасности союзных судов. Неспособность союзников изменить свой шифр в течение трех месяцев, а также тот факт, что союзные сообщения никогда не содержали никаких расшифровок Энигмы (или даже не упоминалось, что они расшифровывают сообщения), убедили немцев в безопасности их сообщений. В свою очередь, союзники узнали, что немцы взломали военно-морской шифр почти сразу же из расшифровок Энигмы, но потеряли много кораблей из-за задержки с изменением шифра.
Структура
Бомба была электромеханическим устройством, которое воспроизводило работу нескольких машин «Энигма», соединенных вместе. Стандартная немецкая «Энигма» в любой момент времени использовала набор из трех роторов, каждый из которых мог быть установлен в любую из 26 позиций. Стандартная британская бомба содержала 36 эквивалентов «Энигмы», каждый из которых имел три барабана, соединенных проводкой для создания того же эффекта шифрования, что и роторы «Энигмы». Бомба могла выполнять две или три задачи одновременно. Каждая задача имела «меню», которое необходимо было проверить с использованием ряда различных порядков колес. Если в меню было 12 или меньше букв, на одной бомбе можно было запустить три различных порядка колес; если больше 12 букв – только два. Для имитации роторов «Энигмы» каждый роторный барабан бомбы имел два полных набора контактов: один для входа в направлении отражателя и другой для выхода из отражателя, чтобы отраженный сигнал мог проходить обратно через отдельный набор контактов. Каждый барабан имел 104 проволочные щетки, которые контактировали с пластиной, на которую они были установлены. Щетки и соответствующий набор контактов на пластине были расположены в четыре концентрических круга по 26. Внешняя пара кругов (вход и выход) эквивалентна току в «Энигме», проходящему в одном направлении через шифратор, а внутренняя пара – току, текущему в противоположном направлении. Внутренние соединения в барабанах между двумя наборами входных и выходных контактов были идентичны соединениям соответствующего ротора «Энигмы». Между внутренними двумя наборами контактов трех входных/выходных пластин имелась постоянная проводка. Оттуда цепь продолжалась к панели, расположенной на левой боковой панели, которая была подключена для имитации рефлектора «Энигмы», а затем обратно через внешнюю пару контактов. На каждом конце «двухсторонней «Энигмы»» на задней панели машины были разъемы, в которые можно было подключить 26-жильные кабели. Барабаны бомбы были расположены так, что верхний из трех имитировал левый ротор шифратора «Энигмы», средний – средний ротор, а нижний – правый ротор. Верхние барабаны приводились в синхронное движение электродвигателем. Для каждого полного оборота верхних барабанов средние барабаны сдвигались на одну позицию, и аналогично для средних и нижних барабанов, что в общей сложности давало 26 × 26 × 26 = 17 576 позиций трехроторного шифратора «Энигма». Барабаны были окрашены в соответствии с роторами «Энигмы»: I – красный; II – каштановый; III – зеленый; IV – желтый; V – коричневый; VI – кобальтовый (синий); VII – черный; VIII – серебряный. В каждой позиции роторов электрический ток либо протекал, либо не протекал по каждому из 26 проводов, и это проверялось в сравнительном блоке бомбы. Для большого количества позиций тест приводил к логическому противоречию, исключая эту настройку. Если тест не приводил к противоречию, машина останавливалась. Оператор затем находил точку, в которой тест прошел, записывал потенциальное решение, считывая положения индикаторных барабанов и индикаторного блока на правой боковой панели бомбы. Оператор затем перезапускал процесс. Кандидатские решения, называемые «остановками», подвергались дальнейшей обработке для устранения как можно большего количества ложных остановок. Обычно было много ложных остановок бомбы, прежде чем находилась правильная. Кандидатские решения для набора порядков колес подвергались обширной дальнейшей криптоаналитической работе. Это постепенно устраняло ложные остановки, формировало набор соединений панели и определяло позиции алфавитных колец ротора. В конечном итоге результат тестировался на машине Typex, которая была модифицирована для воспроизведения «Энигмы», чтобы проверить, приведет ли расшифровка к немецкому языку.
Автоматическое вычет
Чтобы автоматизировать эти логические выводы, "бомба" представляла собой электрическую цепь. Ток протекал по цепи почти мгновенно, отражая все возможные логические заключения, которые можно было сделать в данной позиции. Для формирования этой цепи "бомба" использовала несколько комплектов роторных блоков Энигмы, соединенных между собой согласно инструкциям из "меню", составленного на основе "подсказки". Поскольку каждая машина Энигмы имела 26 входов и выходов, реплики роторных блоков Энигмы соединялись друг с другом 26-контактными кабелями. Кроме того, начальная позиция каждого ротора в блоке Энигмы смещалась на число позиций, определяемое его положением в "подсказке"; например, блок Энигмы, соответствующий пятой букве в "подсказке", был сдвинут на четыре позиции дальше, чем блок, соответствующий первой букве.
На практике
Практические бомбы использовали несколько стопок вращающихся вместе роторов для проверки множества гипотез о возможных конфигурациях машины «Энигма», таких как порядок роторов в стопке. Хотя бомба Тьюринга работала в теории, для неё требовались непрактично длинные исходные фразы, чтобы исключить достаточное количество вариантов настроек. Гордон Уэлчман предложил способ использования симметрии соединения «Энигмы» для повышения мощности бомбы. Его предложением стало устройство, называемое диагональной панелью, которое ещё больше повысило эффективность бомбы.
Бомба ВМС США
Полковник Джон Тильтман, впоследствии ставший заместителем директора в Блетчли-парке, посетил офис криптоанализа ВМС США (OP 20 G) в апреле 1942 года и осознал жизненно важный интерес Америки к дешифровке сообщений подводных лодок. Настоятельная необходимость, сомнения в загруженности британских инженеров и медленный прогресс побудили США начать изучение проектов военно-морской бомбы, основанных на полных чертежах и схемах проводки, полученных лейтенантами ВМС США Робертом Эли и Джозефом Эцхьюсом в Блетчли-парке в июле 1942 года. Финансирование полного проекта стоимостью 2 миллиона долларов было запрошено 3 сентября 1942 года и одобрено на следующий день. Командир Эдвард Трэвис, заместитель директора, и Фрэнк Бирч, глава немецкой военно-морской секции, выехали из Блетчли-парка в Вашингтон в сентябре 1942 года. Вместе с Карлом Фредериком Холденом, директором военно-морских коммуникаций США, они заключили 2 октября 1942 года соглашение между Великобританией и США, которое, возможно, имеет "более веские основания, чем BRUSA, считаться предшественником соглашения UKUSA", поскольку это было первое соглашение "об установлении особого сотрудничества в области Sigint между двумя странами" и "оно заложило основу для UKUSA, поскольку Соединенные Штаты были, безусловно, старшим партнером в альянсе". Оно установило отношения "полного сотрудничества" между Блетчли-парком и OP 20 G. Рассматривалось полностью электронное решение проблемы создания быстрой бомбы, но оно было отклонено по прагматическим соображениям, и контракт был заключен с Национальной кассовой корпорацией (NCR) в Дейтоне, штат Огайо. Это привело к созданию Военно-морской вычислительной машинной лаборатории Соединенных Штатов. Разработкой инженерных решений руководил Джозеф Деш из NCR. Алан Тьюринг, который написал меморандум для OP 20 G (вероятно, в 1941 году), был направлен в британскую объединенную штабную миссию в Вашингтоне в декабре 1942 года в связи с его исключительно широкими знаниями о бомбах и методах их применения. Его попросили изучить бомбы, строящиеся NCR, и безопасность некоторых устройств шифрования речи, разрабатываемых в Bell Labs. Он посетил OP 20 G и отправился в NCR в Дейтоне 21 декабря. Ему удалось показать, что нет необходимости строить 336 бомб, по одной для каждого возможного порядка роторов, используя такие методы, как Banburismus. Первоначальный заказ был сокращен до 96 машин. В американских военно-морских бомбах для роторов Энигмы использовались барабаны, примерно так же, как и в британских бомбах. У них было восемь эквивалентов Энигмы спереди и восемь сзади. Быстрый барабан вращался со скоростью 1725 оборотов в минуту, что в 34 раза превышало скорость ранних британских бомб. "Остановки" обнаруживались электронным способом с использованием термоэлектронных ламп (вакуумных трубок) – в основном тиратронов – для высокоскоростных цепей. При обнаружении "остановки" машина замедлялась, возвращалась в найденное положение и распечатывала его перед перезапуском. Время работы для 4-х роторов составляло около 20 минут, а для 3-х роторов – около 50 секунд. Каждая машина была шириной 3 метра, высотой 2 метра, глубиной 1 метр и весила 2,5 тонны. Первая машина была завершена и протестирована 3 мая 1943 года. К 22 июня первые две машины, названные "Адам" и "Ева", взломали особенно сложный немецкий военно-морской шифр, настройки Офицера на 9 и 10 июня. А. П. Махон, который присоединился к военно-морской секции в "Хуте 8" в 1941 году, сообщил в своей официальной "Истории "Хута 8" 1939-1945": "Эти бомбы были быстрее и вскоре стали более доступными, чем британские бомбы в Блетчли-парке и его филиалах. Следовательно, они использовались как для работы в 6-й, так и в 8-й каютах". В "Криптографической истории работы над немецкой морской Энигмой" Александра написано следующее: Производство было остановлено в сентябре 1944 года после изготовления 121 бомбы. Последняя произведенная американская военно-морская бомба выставлена в Национальном криптологическом музее США. Джек Инграм, бывший куратор музея, рассказывает, что ему сообщили о существовании второй бомбы и он искал ее, но не нашел ее в целости. Неизвестно, находится ли она на хранении в разобранном виде, ожидая обнаружения, или ее больше не существует.
An all electronic solution to the problem of a fast bombe was considered, but rejected for pragmatic reasons, and a contract was let with the National Cash Register Corporation (NCR) in Dayton, Ohio. This established the United States Naval Computing Machine Laboratory. Engineering development was led by NCR's Joseph Desch. Alan Turing, who had written a memorandum to OP 20 G (probably in 1941), was seconded to the British Joint Staff Mission in Washington in December 1942, because of his exceptionally wide knowledge about the bombes and the methods of their use. He was asked to look at the bombes that were being built by NCR and at the security of certain speech cipher equipment under development at Bell Labs. He visited OP 20 G, and went to NCR in Dayton on 21 December. He was able to show that it was not necessary to build 336 Bombes, one for each possible rotor order, by utilising techniques such as Banburismus. The initial order was scaled down to 96 machines. The US Navy bombes used drums for the Enigma rotors in much the same way as the British bombes. They had eight Enigma equivalents on the front and eight on the back. The fast drum rotated at 1,725 rpm, 34 times the speed of the early British bombes. 'Stops' were detected electronically using thermionic valves (vacuum tubes)—mostly thyratrons—for the high speed circuits. When a 'stop' was found the machine over ran as it slowed, reversed to the position found and printed it out before restarting. The running time for a 4 rotor run was about 20 minutes, and for a 3 rotor run, about 50 seconds. Each machine was 10 feet (3 m) wide, 7 feet (2 m) high, 2 feet (1 m) deep and weighed 2.5 tons. The first machine was completed and tested on 3 May 1943. By 22 June, the first two machines, called 'Adam' and 'Eve' broke a particularly difficult German naval cipher, the Offizier settings for 9 and 10 June. A P Mahon, who had joined the Naval Section in Hut 8 in 1941, reported in his official 1945 "History of Hut Eight 1939 1945":
These bombes were faster, and soon more available, than the British bombes at Bletchley Park and its outstations. Consequently, they were put to use for Hut 6 as well as Hut 8 work. In Alexander's "Cryptographic History of Work on German Naval Enigma", he wrote as follows. Production was stopped in September 1944 after 121 bombes had been made. The last manufactured US Navy bombe is on display at the US National Cryptologic Museum. Jack Ingram, former Curator of the museum, describes being told of the existence of a second bombe and searching for it but not finding it whole. Whether it remains in storage in pieces, waiting to be discovered, or no longer exists, is unknown.
Армия США Бомба
Бомбы армии США физически сильно отличались от британских и американских военно-морских бомб. Контракт на их создание был подписан с Bell Labs 30 сентября 1942 года. Машина была спроектирована для анализа 3-роторной, а не 4-роторной связи. Она была известна как "003" или "Мадам X". В отличие от бомб с барабанами, она использовала реле телефонного типа для представления роторов Энигмы. Однако она могла решать одну задачу, которая была не под силу бомбам с барабанами. Комплект из десяти бомб состоял в общей сложности из 144 эквивалентов Энигмы, каждый из которых был смонтирован на стойке длиной около 2 метров, высотой и шириной около 2 метров. Существовало 12 пульта управления, которые могли настроить любой эквивалент Энигмы в желаемую конфигурацию с помощью коммутационных панелей. Изменение порядка роторов не требовало механической замены барабанов, а достигалось примерно за полминуты с помощью кнопок. Анализ 3-роторной связи занимал около 10 минут.
Восстановление бомбы
В 1994 году группа под руководством Джона Харпера из BCS Computer Conservation Society начала проект по созданию действующей реплики машины «Бомба». Проект потребовал глубоких исследований и тринадцати лет работы, прежде чем реплика была завершена и выставлена в музее Блетчли-Парк. В марте 2009 года она была удостоена награды Engineering Heritage Award. В мае 2018 года восстановленная «Бомба» была перенесена в Национальный музей вычислительной техники в Блетчли-Парке, а новая галерея официально открылась 23 июня 2018 года.