Вы наверное слышали про тест Тьюринга и, возможно, машину Тьюринга. Однако, помимо абстрактного универсального вычислителя, Алан Тьюринг придумал и вполне реальный — тот, что во время Второй мировой войны применялся для взлома немецких шифров. О том, как это работало, лучше всего узнать прямо на месте тогдашних событий, в Блетчли-парке. Для любителей криптографии это практически святая земля. Побывав на ней, спешу поделиться с вами впечатлениями.
Почти в любое время года английская деревня выглядит одинаково: зеленые луга, коровы, средневекового вида домики и широкое небо — иногда серое, иногда — ослепительно-голубое. Оно как раз переходило от первого режима к более редкому второму, когда пригородная электричка мчала меня до станции Блетчли. Сложно представить, что в окружении этих живописных холмов закладывались основы компьютерной науки и криптографии. Впрочем, предстоящая прогулка по интереснейшему музею развеяла все возможные сомнения.
РЕКОМЕНДУЕМ:
Как ЦРУ использовало Crypto AG
Такое живописное место, конечно, было выбрано англичанами не случайно: неприметные бараки с зелеными крышами, расположенные в глухой деревне, — это как раз то, что было нужно, чтобы спрятать сверхсекретный военный объект, где непрерывно трудились над взломом шифров стран «оси». Пусть со стороны Блетчли-парк и не впечатляет, но та работа, которую здесь выполняли, помогла переломить ход войны.
Криптохатки
В военные времена в Блетчли-парк въезжали через главные ворота, предъявляя охране пропуск, а теперь покупают билетик на проходной. Я задержался там еще чуть-чуть, чтобы посмотреть на прилегающий магазин сувениров и временную экспозицию, посвященную технологиям разведки Первой мировой (кстати, тоже интереснейшая тема). Но главное ждало впереди.
Собственно Блетчли-парк — это около двадцати длинных одноэтажных построек, которые на английском называют hut, а на русский обычно переводят как «домик». Я про себя называл их «хатками», совмещая одно с другим. Помимо них, есть особняк (он же Mansion), где работало командование и принимались высокие гости, а также несколько вспомогательных построек: бывшие конюшни, гараж, жилые дома для персонала.
У каждого домика — свой номер, причем номера эти имеют историческое значение, вы обязательно встретите их в любом рассказе о Блетчли-парке. В шестой, к примеру, поступали перехваченные сообщения, в восьмом занимались криптоанализом (там и работал Алан Тьюринг), в одиннадцатом стояли вычислительные машины — «бомбы». Четвертый домик позже выделили под работу над вариантом «Энигмы», который использовался на флоте, седьмой — под японскую вариацию на тему «Энигмы» и другие шифры, в пятом анализировали передачи, перехваченные в Италии, Испании и Португалии, а также шифровки немецкой полиции. Ну и так далее.
Посещать домики можно в любом порядке. Обстановка в большинстве из них очень похожая: старая мебель, старые вещи, истрепанные тетради, плакаты и карты времен Второй мировой. Все это, конечно, не лежало здесь восемьдесят лет: домики сначала переходили от одной государственной организации к другой, потом были заброшены, и только в 2014 году реставраторы скрупулезно восстановили их, спася от сноса и превратив в музей.
РЕКОМЕНДУЕМ:
Какую информацию собирают голосовые ассистенты
К этому, как принято в Англии, подошли не только тщательно, но и с выдумкой: во многих комнатах из спрятанных динамиков раздаются голоса актеров и звуки, которые создают впечатление, будто вокруг кипит работа. Заходишь и слышишь стук пишущей машинки, чьи-то шаги и радио вдалеке, а затем «подслушиваешь» чей-то оживленный разговор о недавно перехваченной шифровке.
Но настоящая диковинка — это проекции. Например, вот этот мужчина, который как бы сидит за столом, поприветствовал меня и вкратце рассказал о местных порядках.
Интереснее всего, конечно, было посмотреть на рабочий стол Алана Тьюринга. Его кабинет находится в восьмом домике и выглядит очень скромно.
Ну а на само творение Тьюринга — машину для расшифровки «Энигмы» — можно взглянуть в доме номер 11 — там же, где в свое время была собрана самая первая модель «бомбы».
Криптологическая бомба
Возможно, для вас это будет новостью, но Алан Тьюринг был не первым, кто расшифровал «Энигму» методом механического перебора. Его работе предшествует исследование польского криптографа Мариана Реевского. Кстати, именно он назвал машину для расшифровки «бомбой».
Почему «бомба»? Есть несколько разных версий. Например, по одной так якобы назывался любимый Реевским и коллегами сорт мороженого, который продавали в кафе неподалеку от бюро шифрования польского генштаба, и они позаимствовали это название. Куда более простое объяснение — в том, что в польском языке слово «бомба» может использоваться для восклицания вроде «эврика!». Ну и совсем простой вариант: машина тикала подобно бомбе.
Незадолго до захвата Польши Германией польские инженеры передали англичанам все наработки, связанные с декодированием немецких шифров, в том числе чертежи «бомбы», а также работающий экземпляр «Энигмы» — не немецкой, а польского клона, который они успели разработать до вторжения. Остальные наработки поляков были уничтожены, чтобы разведка Гитлера ничего не заподозрила.
Проблема заключалась в том, что польский вариант «бомбы» был рассчитан только на машину «Энигма I» с тремя фиксированными роторами. Еще до начала войны немцы ввели в эксплуатацию усовершенствованные варианты «Энигмы», где роторы заменялись каждый день. Это сделало польский вариант полностью непригодным.
Если вы смотрели «Игру в имитацию», то уже неплохо знакомы с обстановкой в Блетчли-парке. Однако режиссер не удержался и сделал несколько отступлений от реальных исторических событий. В частности, Тьюринг не создавал прототип «бомбы» собственноручно и никогда не называл ее «Кристофером».
На основе польской машины и теоретических работ Алана Тьюринга инженеры British Tabulating Machine Company создали те «бомбы», которые поставлялись в Блетчли-парк и на другие секретные объекты. К концу войны машин было уже 210, однако с окончанием военных действий все «бомбы» уничтожили по приказу Уинстона Черчилля.
Зачем британским властям понадобилось уничтожать такой прекрасный дата-центр? Дело в том, что «бомба» не является универсальным компьютером — она предназначена исключительно для декодирования сообщений, зашифрованных «Энигмой». Как только нужда в этом отпала, машины тоже стали ненужными, а их компоненты можно было распродать.
Другой причиной, возможно, было предчувствие, что Советский Союз в дальнейшем окажется не лучшим другом Великобритании. Что, если в СССР (или где-нибудь еще) стали бы использовать технологию, похожую на «Энигму»? Тогда лучше никому не демонстрировать возможность вскрывать ее шифры быстро и автоматически.
РЕКОМЕНДУЕМ:
Как создать защищенное зашифрованное устройство
С военных времен сохранилось только две «бомбы» — они были переданы в GCHQ, Центр правительственной связи Великобритании (считай, современный аналог Блетчли-парка). Говорят, они были демонтированы в шестидесятые годы. Зато в GCHQ милостиво согласились предоставить музею в Блетчли старые чертежи «бомб» — увы, не в лучшем состоянии и не целиком. Тем не менее силами энтузиастов их удалось восстановить, а затем создать и несколько реконструкций. Они-то сейчас и стоят в музее.
Занятно, что во время войны на производство первой «бомбы» ушло около двенадцати месяцев, а вот реконструкторы из BCS Computer Conservation Society, начав в 1994 году, трудились около двенадцати лет. Что, конечно, неудивительно, учитывая, что они не располагали никакими ресурсами, кроме своих сбережений и гаражей.
Как работала «Энигма»
Итак, «бомбы» использовались для расшифровки сообщений, которые получались на выходе после шифрования «Энигмой». Но как именно она это делает? Подробно разбирать ее электромеханическую схему мы, конечно, не будем, но общий принцип работы узнать интересно. По крайней мере, мне было интересно послушать и записать этот рассказ со слов работника музея.
Устройство «бомбы» во многом обусловлено устройством самой «Энигмы». Собственно, можно считать, что «бомба» — это несколько десятков «Энигм», составленных вместе таким образом, чтобы перебирать возможные настройки шифровальной машины.
Самая простая «Энигма» — трехроторная. Она широко применялась в вермахте, и ее дизайн предполагал, что ей сможет пользоваться обычный солдат, а не математик или инженер. Работает она очень просто: если оператор нажимает, скажем, P, под одной из букв на панели загорится лампочка, например под буквой Q. Остается только перевести в морзянку и передать.
Важный момент: если нажать P еще раз, то очень мал шанс снова получить Q. Потому что каждый раз, когда ты нажимаешь кнопку, ротор сдвигается на одну позицию и меняет конфигурацию электрической схемы. Такой шифр называется полиалфавитным.
Посмотрите на три ротора наверху. Если вы, например, вводитие Q на клавиатуре, то Q сначала заменится на Y, потом на S, на N, потом отразится (получится K), снова трижды изменится и на выходе будет U. Таким образом, Q будет закодирована как U. Но что, если ввести U? Получится Q! Значит, шифр симметричный. Это было очень удобно для военных применений: если в двух местах имелись «Энигмы» с одинаковыми настойками, можно было свободно передавать сообщения между ними.
У этой схемы, правда, есть большой недостаток: при вводе буквы Q из-за отражения в конце ни при каких условиях нельзя было получить Q. Немецкие инженеры знали об этой особенности, но не придали ей особого значения, а вот британцы нашли возможность эксплуатировать ее. Откуда англичанам было известно о внутренностях «Энигмы»? Дело в том, что в ее основе лежала совершенно не секретная разработка. Первый патент на нее был подан в 1919 году и описывал машину для банков и финансовых организаций, которая позволяла обмениваться шифрованными сообщениями. Она продавалась на открытом рынке, и британская разведка успела приобрести несколько экземпляров. По их же примеру, кстати, была сделана и британская шифровальная машина Typex, в которой описанный выше недостаток исправлен.
У стандартной «Энигмы» было три ротора, но всего можно было выбрать из пяти вариантов и установить каждый из них в любое гнездо. Именно это и отражено во втором столбце — номера роторов в том порядке, в котором их предполагается ставить в машину. Таким образом, уже на этом этапе можно было получить шестьдесят вариантов настроек. Рядом с каждым ротором расположено кольцо с буквами алфавита (в некоторых вариантах машины — соответствующие им числа). Настройки для этих колец — в третьем столбце. Самый широкий столбец — это уже изобретение немецких криптографов, которого в изначальной «Энигме» не было. Здесь приведены настройки, которые задаются при помощи штекерной панели попарным соединением букв. Это запутывает всю схему и превращает ее в непростой пазл. Если посмотреть на нижнюю строку нашей таблицы (первое число месяца), то настройки будут такими: в машину слева направо ставятся роторы III, I и IV, кольца рядом с ними выставляются в 18, 24 и 15, а затем на панели штекерами соединяются буквы N и P, J и V и так далее. С учетом всех этих факторов получается около 107 458 687 327 300 000 000 000 возможных комбинаций — больше, чем прошло секунд с Большого взрыва. Неудивительно, что немцы считали эту машину крайне надежной.
Существовало множество вариантов «Энигмы», в частности на подводных лодках использовался вариант с четырьмя роторами.
Взлом «Энигмы»
Взломать шифр, как водится, позволила ненадежность людей, их ошибки и предсказуемость.
Руководство к «Энигме» говорит, что нужно выбрать три из пяти роторов. Каждая из трех горизонтальных секций «бомбы» может проверять одно возможное положение, то есть одна машина единовременно может прогнать три из шестидесяти возможных комбинаций. Чтобы проверить все, нужно либо двадцать «бомб», либо двадцать последовательных проверок.
Однако немцы сделали приятный сюрприз английским криптографам. Они ввели правило, по которому одинаковое положение роторов не должно повторяться в течение месяца, а также в течение двух дней подряд. Звучит так, будто это должно было повысить надежность, но в реальности привело к обратному эффекту. Получилось, что к концу месяца количество комбинаций, которые нужно было проверять, значительно уменьшалось.
Вторая вещь, которая помогла в расшифровке, — это анализ трафика. Англичане слушали и записывали шифрованные сообщения армии Гитлера с самого начала войны. О расшифровке тогда речь не шла, но иногда бывает важен сам факт коммуникации плюс такие характеристики, как частота, на которой передавалось сообщение, его длина, время дня и так далее. Также при помощи триангуляции можно было определить, откуда было отправлено сообщение.
РЕКОМЕНДУЕМ:
Джон Макафи — кто он на самом деле?
Хороший пример — передачи, которые поступали с Северного моря каждый день из одних и тех же локаций, в одно и то же время, на одной и той же частоте. Что это могло быть? Оказалось, что это метеорологические суда, ежедневно славшие данные о погоде. Какие слова могут содержаться в такой передаче? Конечно, «прогноз погоды»! Такие догадки открывают дорогу для метода, который сегодня мы называем атакой на основе открытых текстов, а в те времена окрестили «подсказками» (cribs).
Поскольку мы знаем, что «Энигма» никогда не дает на выходе те же буквы, что были в исходном сообщении, нужно последовательно сопоставить «подсказку» с каждой подстрокой той же длины и посмотреть, нет ли совпадений. Если нет, то это строка-кандидат. Например, если мы проверяем подсказку «погода в Бискайском заливе» (Wettervorhersage Biskaya), то сначала выписываем ее напротив шифрованной строки.
1 2 |
Q F Z W R W I V T Y R E *S* X B F O G K U H Q B A I S E Z W E T T E R V O R H E R *S* A G E B I S K A Y A |
Видим, что буква S шифруется сама в себя. Значит, подсказку нужно сдвинуть на один символ и проверить снова. В этом случае совпадать будет сразу несколько букв — двигаем еще. Совпадает R. Двигаем еще дважды, пока не наталкиваемся на потенциально правильную подстроку.
Если бы мы имели дело с шифром подстановки, то на этом можно было бы и закончить. Но поскольку это полиалфавитный шифр, нам нужны настройки и исходные положения роторов «Энигмы». Именно их и подбирали при помощи «бомб». Для этого пары букв нужно сначала пронумеровать.
1 2 3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 R W I V T Y R E S X B F O G K U H Q B A I S E W E T T E R V O R H E R S A G E B I S K A Y A |
А затем на основе этой таблицы составить так называемое «меню» — схему, по которой видно, какая буква исходного сообщения (то есть «подсказки») в какую букву предположительно шифруется и в какой позиции. По этой схеме и настраивается «бомба».
Каждый из барабанов может принять одно из 26 положений — по одному на каждую перебираемую букву алфавита. За каждым из барабанов — 26 контактов, которые толстыми шлейфами соединяются таким образом, чтобы машина искала настройки штекерной панели, дающие последовательные совпадения букв шифрованной строки с подсказкой.
Поскольку строение «бомбы» не учитывает устройство коммутаций внутри «Энигмы», она по ходу работы выдает несколько вариантов, которые оператор должен проверить. Часть из них не подойдет просто потому, что в «Энигме» к одному гнезду можно подключить только один штекер. Если настройки не подходят, оператор запускает машину снова, чтобы получить следующий вариант. Примерно за пятнадцать минут «бомба» переберет все варианты для выбранной позиции барабанов. Если она угадана верно, то остается подобрать настройки колец — уже без автоматики (не будем погружаться в подробности). Затем на модифицированных для совместимости с «Энигмой» английских машинах Typex шифровки переводили в чистый текст.
Таким образом, оперируя целым парком из «бомб», британцы к концу войны каждый день получали актуальные настройки еще до завтрака. Всего у немцев было около полусотни каналов, по многим из которых передавались гораздо более интересные вещи, чем прогноз погоды.
Разрешается трогать руками
В музее Блетчли-парка можно не только смотреть по сторонам, но и прикоснуться к дешифровке собственноручно. В том числе — при помощи столов-тачскринов. Каждый из них дает свое задание. В этом, например, предлагается совмещать листы Банбури (Banburismus). Это ранний метод дешифровки «Энигмы», который применялся до создания «бомб». Увы, таким способом расшифровать что-то в течение суток было невозможно, а в полночь все успехи превращались в тыкву из-за очередной смены настроек.
Муляж «дата-центра» в Hut 11
Что же стоит в домике номер 11, где раньше была «серверная», если все «бомбы» были уничтожены в прошлом веке? Честно говоря, я все же в глубине души надеялся зайти сюда и обнаружить все в том же виде, что и когда-то. Увы, нет, но зал все равно не пустует.
Здесь стоят вот такие железные конструкции с фанерными листами. На одних — фотографии «бомб» в натуральную величину, на других — цитаты из рассказов тех, кто здесь работал. Ими были в основном женщины, в том числе из WAF — женской службы ВВС Великобритании. Цитата на снимке говорит нам о том, что переключение шлейфов и присмотр за «бомбами» был вовсе не легкой задачей, а изматывающим ежедневным трудом. Кстати, между муляжами спрятана очередная серия проекций. Девушка рассказывает своей подруге о том, что понятия не имела, где ей предстоит служить, и полностью поражена происходящим в Блетчли. Что ж, я был тоже поражен необычным экспонатом!
Другие интересные вещи
В общей сложности я провел в Блетчли-парке пять часов. Этого едва-едва хватило, чтобы хорошенько посмотреть центральную часть и мельком — все остальное. Было настолько интересно, что я даже не заметил, как прошло время, пока ноги не начали ныть и проситься обратно — если не в гостиницу, то хотя бы в электричку.
А помимо домиков, полутемных кабинетов, восстановленных «бомб» и длинных стендов с сопроводительными текстами, было на что посмотреть. Про зал, посвященный шпионажу во время Первой мировой, я уже упомянул, был еще зал про дешифровку «Лоренца» и создание компьютера Colossus. Кстати, в музее я обнаружил и сам «Колосс», вернее ту часть, что успели построить реконструкторы.
РЕКОМЕНДУЕМ:
Язык программирования Ада
Самых выносливых уже за территорией Блетчли-парка ждет небольшой музей компьютерной истории, где можно ознакомиться с тем, как вычислительная техника развивалась после Тьюринга. Туда я тоже заглянул, но прошел уже быстрым шагом. На BBC Micro и «Спектрумы» я уже насмотрелся в других местах — вы можете сделать это, например, на питерском фестивале Chaos Constructions. А вот живую «бомбу» где попало не встретишь.