Реальная история, как и все истории, которые касаются британского приоритета в науке, несколько сложнее голливудской версии.
Вообще-то хакнули Гитлера польские математики во главе с Марианом Реевским, сыном торговца сигарами из города Быдгощ. Поляки сумели дешифровать немецкий военный код еще в 1932 году, до прихода Гитлера к власти, и до конца тридцатых были способны читать большую часть немецкой военной переписки. Но обо всем по порядку.
КАК ПОЛЯКИ ХАКНУЛИ «ЭНИГМУ»
Немецкая электрическая шифровальная машина «Энигма» была, конечно, чудом техники своего времени, и превосходила аналогичные криптографические устройства других стран. Она производилась фирмой Scherbius & Ritter на основе патента, полученного в 1918 году инженером-электриком Артуром Шербиусом. Шла первая мировая война, и германская армия не могла решить проблему перехвата сообщений. Ручные методы кодирования текстов не справлялись с потоком информации. На шифрование странички приказа уходило три-четыре часа работы, на расшифровку еще столько же. Особенно сильно в продвинутых системах шифрования нуждались моряки-подводники. Шербиус создал машину размером с кухонную плиту и весом 50 кг с прицелом продать ее германскому флоту. Но война закончилась поражением Германии, и немецкий флот подлежал интернированию. Никто из нейтральных стран, однако, не хотел нести ответственности за его содержание, поэтому флот был разоружен и отконвоирован в бухту Скапа-Флоу на Британских Оркнейских островах. Там в июне 1919 года произошла история, похожая на подвиг «Варяга»: немецкие офицеры под руководством адмирала Людвига фон Ройтера затопили корабли, открыв и заклинив кингстоны. Англичане бросились спасать имущество, но безрезультатно. В стычках погибли девять немецких моряков, ставших последними жертвами Первой мировой войны.
Итак, Кайзермарине перестал существовать, поэтому Шербиус решил продавать машину банкам для шифрования денежных переводов. Это был прообраз существующей сегодня банковской системы SWIFT с той разницей, что тогда не было интернета и мировые банки не были связаны в единую сеть. Продажи шли ни шатко ни валко, в том числе и из-за высокой стоимости устройства.
Интересно, что патент на подобный принцип работы шифровальной машины годом раньше Шербиуса получил американец Эдвард Хью Хеберн. Он тоже попытался продать устройство военным морякам и тоже получил отказ. Но Шербиусу повезло больше. Германия потихоньку оправилась от поражения и стала тайно возрождать свои вооруженные силы. Это происходило еще задолго до Гитлера, при вполне себе либеральной Веймарской республике, которая для вида изображала готовность выполнять жесткие ограничения на армию и флот, а на самом деле уже тогда всеми силами готовила реванш.
Рейхсвер и немецкий военно-морской флот, Рейсхмарине, тщательно скрывали свои приготовления и отчаянно нуждались в самых продвинутых средствах шифрования. Именно поэтому адмиралы уже в 1926 году заказали партию модифицированных машин «Энигма». Через два года машины Шербиуса в больших количествах стал закупать возрождающийся Рейсхвер, а в 1935 году, уже при Гитлере — и Люфтваффе.
«Энигма» даже сейчас может произвести впечатление на самых продвинутых криптанов. Таких машин выпустили порядка ста тысяч (по другим оценкам, вдвое больше)—но до наших времен дожили считанные экземпляры, которые высоко ценятся коллекционерами. Пару таких машин можно увидеть в поразительном собрании техники Deutsches Museum в Мюнхене: они выглядят так, словно немцы пользуются ими до сих пор. «Энигма» выставлена и в британском Национальном компьютерном музее, который находится в бывшей лаборатории Блетчи-Парк километрах в пятидесяти к северу от Лондона. Во время войны там работала команда кодировщиков-математиков, среди которых был и Алан Тьюринг.
Внешне «Энигма» выглядит как очень громоздкая печатная машинка с лампочками. Она работала на сочетании принципов механики и электрики. Когда оператор нажимал на клавишу какой-то буквы, это замыкало электрическую цепь, по которой шел ток, в результате чего загоралась определенная лампочка, соответствующая букве на выходе. Каждое нажатие клавиши приводило к повороту ротора механической части —а этих роторов было как минимум три. У каждого ротора было 26 контактов, по числу букв, соединенных с контактами точно такого же следующего ротора, или с неподвижными контактами на обоих концах шпинделя, на котором находились роторы.