Книга шифров. Тайная история шифров и их расшифровки



страница13/32
Дата24.08.2017
Размер4,62 Mb.
1   ...   9   10   11   12   13   14   15   16   ...   32

Расположение шифраторов и их ориентация называются установками шифраторов. Чтобы использовать заданный ключ текущего дня, оператор «Энигмы» должен был установить свою «Энигму» следующим образом:

(1) Установка штепсельной коммутационной панели: Осуществить коммутацию букв А и L, соединив их проводом на штепсельной коммутационной панели, а затем проделать ту же самую процедуру для букв Р и R, Т и D, В и W, К и F, О и Y.

(2) Расположение шифраторов: Установить 2-ой шифратор в 1-ый паз шифровальной машины, 3-ий шифратор — во 2-ой паз, а 1-ый шифратор — в 3-ий паз.

(3) Ориентация шифраторов: У каждого шифратора на наружной части выгравированы буквы алфавита, с помощью которых оператор устанавливает этот шифратор в определенном положении. В нашем случае оператор должен вначале повернуть первый шифратор так, чтобы сверху оказалась буква О, затем второй шифратор, чтобы сверху оказалась буква С и, наконец, третий шифратор, установив его таким образом, чтобы сверху была буква W.

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

Такой способ вполне безопасен, однако его стойкость снижается из-за многократного использования только одного ключа текущего дня для зашифровывания сотен сообщений, которые могут передаваться каждый день. Вообще-то, по правде говоря, если для зашифровывания огромного количества информации используется один-единственный ключ, то для криптоаналитика становится проще определить его. Большой объем идентичным образом зашифрованной информации дает криптоаналитику больше шансов отыскать этот ключ. Так, например, возвращаясь к простым шифрам, взломать одноалфавитный шифр с помощью частотного анализа гораздо легче, если имеется несколько страниц зашифрованного текста, а не лишь пара предложений.

Поэтому, в качестве дополнительной меры предосторожности, немцы сделали хитроумный ход: они использовали установки ключа текущего дня для передачи нового разового ключа для каждого сообщения. Для разовых ключей установки на штепсельной коммутационной панели и расположение шифраторов будут теми же, что и для ключа текущего дня; отличие состоит только в ориентации шифраторов. Поскольку новой ориентации шифраторов в шифровальной книге нет, отправитель должен сообщить о ней получателю. Вначале отправитель настраивает свою машину в соответствии с установленным ключом текущего дня, в котором указана и ориентация шифраторов, допустим, QSW. Затем для разового ключа он устанавливает новую, произвольно выбранную ориентацию шифраторов, скажем, PGH. Далее отправитель зашифровывает PGH в соответствии с ключом текущего дня. Разовый ключ вводится в «Энигму» дважды — для обеспечения двойного контроля получателем. К примеру, отправитель может зашифровать разовый ключ PGHPGH как KIVBJE. Обратите внимание, что два PGH зашифровываются по-разному (первое как KIV, а второе как BJE); это происходит из-за того, что шифраторы «Энигмы» поворачиваются после зашифровывания каждой буквы и меняют способ шифрования. После этого отправитель меняет ориентацию шифраторов на своей машине на PGH и зашифровывает основную часть сообщения с этим разовым ключом. У получателя машина первоначально установлена в соответствии с ключом текущего дня — QCW. В машину вводятся первые шесть букв пришедшего сообщения, KIVBJE, и в результате высвечивается PGHPGH. В результате получатель узнает, что он должен установить свои шифраторы в положение PGH, — это и есть разовый ключ, — и сможет после этого расшифровать основной текст сообщения.

Это эквивалентно тому, как отправитель и получатель договариваются об основном ключе шифрования. Только вместо использования этого единственного основного ключа шифрования для зашифровывания всех сообщений его применяют для зашифровывания нового ключа, а само сообщение зашифровывают этим новым ключом. Если бы немцы не ввели разовые ключи, тогда тысячи сообщений, содержащих миллионы букв, передавались бы зашифрованными одним и тем же ключом текущего дня. Если же ключ текущего дня используется только для передачи разовых ключей, то им зашифровывается небольшой кусочек текста. Допустим, в течение дня пересылается 1000 разовых ключей, тогда ключом текущего дня зашифровывается всего-навсего 6000 букв. И поскольку каждый разовый ключ выбирается случайным образом и используется для зашифровывания только одного сообщения, то с его помощью зашифровывается только текст незначительного объема, — лишь нескольких сотен знаков.

На первый взгляд система выглядит неуязвимой, но польских криптоаналитиков это не обескуражило. Они были готовы проверить каждую тропку, чтобы отыскать слабое место у шифровальной машины «Энигма» и в использовании ключей текущего дня и разовых ключей. В противоборстве с «Энигмой» главными теперь стали криптоаналитики нового типа. Веками считалось, что наилучшими криптоаналитиками являются знатоки структуры языка, но появление «Энигмы» заставило поляков изменить свою политику подбора кадров. «Энигма» была электромеханической шифровальной машиной, и польское Бюро шифров рассудило, что для ученого шансов взломать эту машину гораздо больше. Бюро организовало курс по криптографии и пригласило двадцать математиков; каждый из них поклялся хранить тайну. Все они были из познаньского университета. Хотя этот университет и не считался самым лучшим академическим учреждением в Польше, но его преимущество в данном случае заключалось в том, что располагался он на западе страны, на территории, которая до 1918 года была частью Германии. Поэтому-то эти математики свободно говорили по-немецки.

Трое из этих двадцати продемонстрировали способность раскрывать шифры и были приглашены на работу в Бюро. Самым способным из них был застенчивый, носящий очки, двадцатитрехлетний Мариан Реевский, который прежде изучал статистику, чтобы в будущем заняться страхованием. Он и в университете был весьма способным студентом, но только в польском Бюро шифров нашел свое истинное призвание. Здесь он проходил обучение, разгадывая обычные шифры, прежде чем перейти к более неприступной задаче «Энигмы». Трудясь в полном одиночестве, он полностью сосредоточился на запутанности машины Шербиуса. Будучи математиком, он постарался всесторонне проанализировать работу машины, изучая влияние шифраторов и кабелей штепсельной коммутационной панели. Но, как и все в математике, его работа требовала не только вдохновения, но и логического мышления. Как сказал один из военных математиков-криптоаналитиков, творческий дешифровальщик должен «волей-неволей ежедневно общаться с темными духами, чтобы совершить подвиг интеллектуального джиу-джитсу».

Реевский разработал стратегию атаки на «Энигму» исходя из того, что повторение является врагом безопасности: повторения приводят к возникновению характерного рисунка — структуры сообщения, и криптоаналитики благоденствуют на структурах. Самым явным повторением при шифровании с использованием «Энигмы» был разовый ключ, который зашифровывался дважды в начале каждого сообщения. Если оператор выбирал, к примеру, разовый ключ ULJ, то он должен был зашифровать его дважды, так что ULJULJ мог приобрести вид PEFNWZ, и вначале посылался этот набор букв, а затем само сообщение. Немцы требовали такого повторения, чтобы избежать ошибок вследствие радиопомех или оплошности оператора. Но они не предполагали, что из-за этого возникнет угроза безопасности машины.

Каждый день Реевскому передавали новую пачку перехваченных сообщений. Все они начинались шестью буквами повторяющегося трехбуквенного разового ключа, все были зашифрованы с использованием одного и того же ключа текущего дня. Например, он мог получить четыре сообщения, начинающихся со следующих зашифрованных разовых ключей:

В каждом из этих случаев 1-я и 4-я буквы являются одной и той же зашифрованной буквой — первой буквой разового ключа. Точно так же 2-я и 5-я буквы являются одной и той же зашифрованной буквой — второй буквой разового ключа, а 3-я и 6-я буквы — третьей буквой разового ключа. Так, в первом сообщении, L и R являются одной и той же зашифрованной буквой — первой буквой разового ключа. Причина, почему одна и та же буква зашифровывается по-разному, вначале как L, а затем как R, заключается в том, что между двумя зашифровываниями первый шифратор «Энигмы» продвинется на три шага и способ шифрования изменится.

То, что L и R являются одной и той же зашифрованной буквой, позволило Реевскому вывести еле уловимую связь с начальной установкой машины. При некотором начальном положении шифратора, которое неизвестно, первая буква ключа текущего дня, который опять-таки неизвестен, зашифровывается в L, а затем, при другом положении шифратора, который передвинулся на три шага от начального, по-прежнему неизвестного положения, та же буква ключа текущего дня, который также по-прежнему неизвестен, преобразуется в R.

Эта связь представляется смутной, так как здесь полно неизвестностей, но она хотя бы показывает, что буквы L и R неразрывно связаны с исходной установкой «Энигмы» — с ключом текущего дня. При перехвате новых сообщений можно найти другие соответствия между 1-й и 4-й буквами повторяющегося разового ключа.

Все они отражают исходную установку «Энигмы». Например, из второго сообщения видно, что существует связь между М и X, из третьего — между J и М и из четвертого — между D и Р. Реевский начал суммировать эти соответствия, сводя их в таблицу. Для четырех сообщений, которые мы пока имеем, таблица дает наличие связей между (L, R), (М, X), (J, М) и (D, Р):

Если бы у Реевского было достаточное количество сообщений, отправленных в какой-нибудь один из дней, то он смог бы завершить составление алфавита соответствия. Ниже приведена заполненная таблица соответствий:

У Реевского не было никаких догадок ни о ключе текущего дня, ни о том, какие выбирались разовые ключи, но он знал, что они есть в этой таблице соответствий. Если бы ключ текущего дня был другим, то и таблица соответствий была бы совершенно отличной. Следующий вопрос заключался в том, можно ли найти ключ текущего дня из этой таблицы соответствий. Реевский приступил к поиску в таблице характерных рисунков — структур, которые могли бы послужить признаком ключа текущего дня. В итоге он начал изучать один частный тип структуры, который характеризовал цепочку букв. В таблице, к примеру, А в верхнем ряду связана с F в нижнем ряду. Перейдя в верхний ряд и найдя там F, Реевский выяснил, что F связана с W. Снова перейдя в верхний ряд и отыскав там W, он обнаружил, что, оказывается, связана с А, то есть он вернулся к тому месту, откуда начал поиск. Цепочка завершена.

Рис 42. Мариан Реевский

Для остальных букв алфавита Реевский создал похожие цепочки. Он выписал все цепочки и отметил в каждой из них количество связей:

До сих пор мы рассматривали только соответствия между 1-й и 4-й буквами шестибуквенного повторяющегося ключа. В действительности же Реевский проделал то же самое для соответствий между 2-й и 5-й буквами и между 3-й и 6-й буквами определяя в каждом конкретном случае цепочки и количество связей в каждой из них.

Реевский обратил внимание, что каждый день цепочки изменялись. Иногда встречалось множество коротких цепочек, иногда лишь несколько длинных. И разумеется, в цепочках менялись буквы. То, какими были эти цепочки, зависело, несомненно, от параметров установки ключа текущего дня — совокупного влияния установок на штепсельной коммутационной панели, взаимного расположения и ориентации шифраторов. Однако оставался вопрос, как же Реевскому из этих цепочек найти ключ текущего дня? Какой ключ из 10 000 000 000 000 000 возможных ключей текущего дня соответствовал конкретной структуре цепочек? Количество вероятностей было просто огромным.

И именно в этот момент Реевского озарило. Хотя и установки на штепсельной коммутационной панели, и взаимное расположение, и ориентация шифраторов оказывали влияние на элементы цепочек, но их вклад можно было в какой-то степени разделить. В частности, у цепочек есть одно свойство, целиком зависящее от установок шифраторов и никак не связанное с установками на штепсельной коммутационной панели: количество связей в цепочках зависит исключительно от установок шифраторов. Возьмем, к примеру, вышеприведенный пример и предположим, что ключ текущего дня требует перестановки букв S и G на штепсельной коммутационной панели. Если мы изменим этот элемент ключа текущего дня, сняв кабель, с помощью которого осуществляется перестановка этих букв S и G, и используем его, чтобы выполнить перестановку, скажем, букв Т и К, то цепочки изменятся следующим образом:

Некоторые буквы в цепочках изменились, но, что важно, количество связей в каждой цепочке осталось тем же. Реевский нашел то свойство цепочек, которое зависело лишь от установок шифраторов.

Полное число установок шифраторов равно количеству взаимных расположений шифраторов (6), умноженному на количество ориентаций шифраторов (17 576), что составляет 105 456. Поэтому вместо того, чтобы беспокоиться о том, какой из 10 000 000 000 000 000 ключей текущего дня связан с конкретной группой цепочек, Реевский смог заняться гораздо более простой задачей: какая из 105 456 установок шифраторов связана с количеством связей в группе цепочек? Это число по-прежнему велико, но все же примерно в сотню миллиардов раз меньше общего числа возможных ключей текущего дня. Другими словами, задача стала в сотню миллиардов раз проще — уже в пределах человеческих возможностей.

Реевский поступил следующим образом. Благодаря шпионской деятельности Ханс-Тило Шмидта, он получил доступ к точным копиям шифровальных машин «Энигма». Его команда приступила к кропотливой проверке каждой из 105 456 установок шифраторов и каталогизации длин цепочек, которые образовывались при каждой установке. Потребовался целый год, чтобы завершить создание такого каталога, но, как только в Бюро были накоплены данные, Реевский смог, наконец, приступить к распутыванию шифра «Энигмы».

Ежедневно он просматривал зашифрованные разовые ключи — первые шесть букв перехваченных сообщений, и использовал данную информацию для подготовки своей таблицы соответствий. Это позволило ему выписать цепочки и установить количество связей для каждой из них. К примеру, анализируя 1-ю и 4-ю буквы, можно получить четыре цепочки с 3, 9, 7 и 7 связями. При анализе 2-й и 5-й букв также получаются четыре цепочки с 2 3, 9 и 12 связями. А анализ 3-й и 6-й букв дает в результате пять цепочек с 5, 5, 5, 3 и 8 связями.

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

Реевский мог теперь воспользоваться своим каталогом, в котором были представлены все установки шифратора, проиндексированные в соответствии с тем, какой вид цепочек получается при каждой конкретной установке. Найдя запись в каталоге, содержащую требуемое количество цепочек с соответствующим количеством связей в каждой, он сразу же определял установки шифраторов для каждого конкретного ключа текущего дня. Цепочки оказались фактически «отпечатками пальцев», уликой, которая выдавала исходное взаимное расположение и ориентацию шифраторов. Реевский действовал словно детектив: он мог отыскать на месте преступления отпечаток пальца, а затем по базе данных выявить подозреваемого, которому этот отпечаток принадлежит.

Хотя Реевский и нашел ту часть в ключе текущего дня, которая определяется шифратором, но ему по-прежнему требовалось выяснить установки на штепсельной коммутационной панели. Несмотря на то что существует около сотни миллиардов возможностей для установок на штепсельной коммутационной панели, это было уже сравнительно несложной задачей. Реевский начал с того, что установил шифраторы на своей копии «Энигмы» в соответствии с вновь найденной частью ключа текущего дня, которая определяется шифратором. Затем он вытащил все кабели из штепсельной коммутационной панели, так что эта панель перестала оказывать какое-либо влияние. Далее он брал фрагмент перехваченного шифртекста и вводил его в «Энигму». По большей части это приводило к появлению совершенно бессмысленного текста, поскольку расположение кабелей на штепсельной коммутационной панели было неизвестно, и их у него на панели попросту не было. Однако время от времени появлялись смутно опознаваемые выражения, как, например, alliveinbelrin, которое, по всей видимости, должно означать «arrive in Berlin». Если предположение верно, то это значит, что буквы R и L должны быть соединены кабелем на штепсельной коммутационной панели, осуществляющим их перестановку, буквы же А, I, V, Е, В и N при этом кабелями не соединены. Анализируя другие фразы, можно найти другие пять пар букв, которые меняются местами друг с другом с помощью кабелей на этой панели.

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

Реевский существенно упростил задачу нахождения ключа текущего дня, разделив задачу определения установок шифраторов и задачу определения установок на штепсельной коммутационной панели. Сами по себе обе эти задачи могут быть решены. По нашим первоначальным оценкам, чтобы проверить все возможные ключи «Энигмы», потребуется время, превышающее срок существования Вселенной. Однако Реевский потратил всего-навсего год, составляя свой каталог длин цепочек, после чего он мог определить ключ текущего дня еще до того, как день подойдет к концу. Имея ключ текущего дня, он владел той же информацией, что и получатель, которому она была направлена, и поэтому столь же легко был способен дешифровать сообщения.

В результате совершенного Реевским прорыва передаваемые немцами сообщения больше не представляли секрета. Польша не находилась в состоянии войны с Германией, но существовала угроза вторжениями то, что «Энигма» была покорена, стало для нее огромным облегчением. Если поляки смогут выяснить, что замышляют в отношении них немецкие генералы, то это давало им возможность защитить себя. Судьба Польши зависела от Реевского, и он не подвел свою страну. Атака Реевского на «Энигму» является одним из по-истине величайших достижений криптоанализа. Я был вынужден ограничиться всего несколькими страницами, чтобы рассказать о его работе, и поэтому опустил многие технические подробности и вообще не упоминал о путях, которые вели в тупики. «Энигма» — это сложная шифровальная машина, и взлом ее потребовал огромных интеллектуальных усилий. Мои упрощения не должны вводить вас в заблуждение, и из-за них не стоит недооценивать исключительный успех Реевского.

Успех поляков во взломе шифра «Энигмы» может быть объяснен тремя факторами: страх, математика и шпионаж. Если бы не было опасности вторжения, полякам помешала бы кажущаяся неуязвимость шифра «Энигмы». Без математики Реевский бы не смог проанализировать цепочки. А без Шмидта, которому был присвоен псевдоним Аше, и его документов не удалось бы получить представление о внутренней проводке шифраторов и невозможно было бы даже приступить к проведению криптоанализа. Реевский не стеснялся высказывать, насколько он обязан Шмидту: «Документы Аше были словно манна с небес, и все двери сразу же открылись».

В течение нескольких лет поляки с успехом применяли способ Реевского. Находясь в 1934 году с визитом в Варшаве, Герман Геринг и не подозревал, что все его сообщения перехватывались и дешифровывались.

Когда он вместе с другими немецкими официальными лицами возлагал венок к Могиле Неизвестного солдата неподалеку от польского Бюро шифров, Реевский мог наблюдать за ними из своего окна, удовлетворенный сознанием, что может прочесть их самые секретные сообщения.

Даже когда немцы незначительно изменили способ передачи сообщений, Реевский сумел справиться и с этим. Его старый каталог длин цепочек стал бесполезен, но вместо того, чтобы переписывать его заново, он придумал механизированную версию своей системы каталогизации, которая могла осуществлять автоматический поиск установок шифраторов. Изобретением Реевского стала переработанная и усовершенствованная «Энигма», способная быстро перебирать каждую из 17 576 установок, пока не будет получено совпадение. Поскольку шифраторы могли располагаться шестью различными способами, потребовалось шесть совместно работающих машин Реевского, в каждой из которых было установлено одно из возможных расположений шифраторов. Вместе они образовывали устройство высотой около метра и способное найти ключ текущего дня менее чем за два часа. Эти устройства были названы «бомбами», возможно, из-за тиканья, которое они издавали во время проверки установок шифраторов. Рассказывают, правда, что Реевскому пришла идея назвать так машины в кафе, когда он ел bombe — мороженое в виде половинки шарика. «Бомбы» успешно механизировали процесс дешифрования. Это был естественный ответ на «Энигму», которая представляла собой механическое устройство для зашифровывания.

Большую часть 30-х годов Реевский и его коллеги без устали трудились, чтобы вскрыть ключи «Энигмы». Месяц за месяцем команда вынуждена была постоянно исправлять механические неисправности в «бомбах» и непрерывно обрабатывать нескончаемый поток зашифрованных перехватов. Вся их жизнь стала подчинена поиску ключа текущего дня — этому исключительно важному элементу, с помощью которого раскрывается содержание зашифрованных сообщений. Однако, что было неизвестно польским дешифровальщикам, большая часть их работы была не нужна. У руководителя Бюро, майора Гвидо Лангера, уже имелись ключи текущего дня «Энигмы», но он держал их спрятанными в своем столе.

Лангер через французов продолжал получать информацию от Шмидта. Гнусные действия немецкого шпиона не закончились в 1931 году передачей двух документов по работе «Энигмы», а продолжались еще семь лет. Он двадцать раз встречался с французским секретным агентом Рексом, нередко в укромных шале в Альпах, где была гарантирована тайность их встреч. При каждой встрече Шмидт передавал одну или несколько шифровальных книг, в каждой из которых были указаны ключи текущего дня на месяц.

Это были шифровальные книги, которые вручались всем немецким операторам «Энигмы», и в них содержалась вся информация, которая была нужна, чтобы зашифровывать и расшифровывать сообщения. В итоге он передал шифровальные книги, в которых были представлены ключи текущего дня для 38 месяцев. Эти ключи помогли бы сэкономить Реевскому массу времени и сил, сократив потребность в «бомбах» и высвободив людские ресурсы, которые могли бы быть направлены на другие участки работы Бюро. Однако исключительно умный Лангер решил не сообщать Реевскому, что ключи уже есть. Лангер считал, что его следует подготовить к тому неизбежному моменту, когда эти ключи больше уже нельзя будет получить. Он знал, что если разразится война, то тайные встречи со Шмидтом не смогут продолжаться и Реевскому тогда придется действовать в одиночку. Лангер полагал, что Реевскому следует привыкать действовать самостоятельно в мирное время, что послужит ему в качестве подготовки к тому, что ждет его впереди.

Как профессионал, Реевский достиг своего потолка в декабре 1938 года, когда немецкие криптографы повысили стойкость «Энигмы». Всем операторам «Энигмы» были переданы два новых шифратора, так что в машине могли применяться любые три из пяти имеющихся шифраторов. Прежде имелось только три шифратора (обозначаемых 1, 2 и 3), и их можно было расположить всего лишь шестью различными способами, но теперь, когда появились два дополнительных шифратора (обозначаемых 4 и 5), количество способов их расположения возросло до 60, что показано в таблице 10. Первой задачей Реевского стало определение внутренней проводки двух новых шифраторов. Ему также пришлось в десять раз увеличить число «бомб», чтобы учесть все возможные расположения шифраторов. Стоимость создания такого количества «бомб» в пятнадцать раз превышала весь годовой бюджет Бюро на оборудование. На следующий месяц ситуация стала еще хуже, когда число кабелей для штепсельной коммутационной панели возросло с шести до десяти. Теперь, вместо двенадцати букв, для которых выполнялась перестановка перед прохождением шифраторов, их стало двадцать. А число возможных ключей увеличилось до 159 000 000 000 000 000 000.



Поделитесь с Вашими друзьями:
1   ...   9   10   11   12   13   14   15   16   ...   32


База данных защищена авторским правом ©grazit.ru 2017
обратиться к администрации

    Главная страница