Догадка Ферма
Шрифт:
— Мне рассказывали, что вы сумели расшифровать одно гугенотское послание в 1626 году и благодаря вам принц де Конде захватил город. Как вы это сделали?
— Это было легко! Арабы показали мне путь! Они первыми заметили, что некоторые буквы используются чаще, чем другие. Если какая-нибудь буква постоянно встречается в шифрованном послании и если вы знаете язык, на котором составлено послание, расшифровать его просто. Все это детальным образом описано в «Субх аль-аша», настоящей энциклопедии шифровального дела. Здесь у меня есть один экземпляр.
Он показал пальцем на библиотеку.
— Чтобы разрешить эту проблему, Леон Батиста Альберти в 1467 году предложил несколько раз менять таблицу шифровки
Открыв ящик своего письменного стола, он вынул деревянный диск и протянул его Луи.
— Как видите, большой диск неподвижен, второй же двигается. Каждый разделен на двадцать четыре сектора, что соответствует двадцати четырем буквам латинского алфавита без h, к, у, j, u, w, но с добавлением цифр 1, 2, 3 и 4. Нужно договориться со своим корреспондентом о букве-индикаторе во внутреннем круге, затем можно начинать шифровку с буквы на слово, позицию буквы-индикатора меняют, поворачивая диск. Разумеется, корреспондент должен знать о подобной замене. Эта система предполагает смену ключа кодирования. Одна и та же буква кодируется в послании разным образом, поэтому ее нельзя выявить.
Луи повернул диск, пробуя разные комбинации. Через некоторое время Россиньоль заговорил вновь:
— Чуть позже бенедиктинец Жан Тритем придумал таблицу алфавитов и назвал ее Tabula Recta. Используя этот способ, он шифровал первую букву посредством первого алфавита, вторую посредством второго и так далее. Эта хитроумная система крайне усложняет расшифровку путем определения наиболее часто встречающихся букв.
Расшифровка тайного послания может оказаться драматичным для того, кто его отправил, и страшный опыт Марии Стюарт служит тому примером. Находясь в заточении, она общалась со своими сторонниками посредством шифра, который считала неуязвимым, ибо использовала не только замену букв, но также кодировку некоторых слов. Так, предлог and был представлен цифрой 2, for — цифрой 3, другие слова — всего тридцать шесть — каббалистическими знаками. Однако послания эти были перехвачены благодаря двойному агенту и прочитаны необыкновенным человеком по имени Томас Филипс, мастером расшифровки, возглавлявшим шпионскую сеть королевы Елизаветы. Несомненно, он получил некоторые элементы кода, что облегчило его задачу.
В одном из последних своих посланий Мария Стюарт предложила убить королеву. Томас Филипс, выдав себя за одного из участников заговора, в ответном письме попросил назвать имена тех, кто осуществит ее план. Глупая королева Шотландии так и сделала. Ее расшифрованные депеши стали доказательством обвинения: Марию Стюарт приговорили к смерти, а ее сообщников живьем рвали на куски щипцами и затем четвертовали.
Наступило тяжелое молчание, продолжавшееся несколько секунд. Луи понимал, что глава шифровального бюро рассказал ему эту историю не просто так, но желая показать, какие важные последствия имеет расшифровка послания противником.
Наконец Антуан Россиньоль поднялся, чтобы взять из библиотеки еще одну книгу. Он выбрал маленький томик в переплете из красной шагреневой кожи, нашел нужную страницу и показал ее Луи. Книга называлась «Трактат о шифрах, или Способы тайного письма», а на открытой странице был представлен странный рисунок.
— Книгу эту написал наш соотечественник Блез де Виженер, — вновь заговорил Россиньоль. — Он излагает здесь различные системы шифровки. Например, эта картинка со звездами является тайным посланием. Посмотрите: звезды занимают место, которое в точности соответствует месту буквы в послании. Чтобы прочитать его, используют ленту с буквами, не обязательно расположенными в строгом порядке, которую помещают внизу картинки. Тогда каждой звезде соответствует буква на ленте.
Но главное, Блез де Виженер предложил шифр, который нельзя раскрыть. Чтобы применить такой способ, достаточно двадцать шесть раз вписать в квадрат алфавит, в каждом из которых заменяется одна или несколько букв. Для шифровки договариваются о ключе из одного слова или фразы. Каждой букве текста, подлежащего кодированию, подбирают букву из ключа. Эта буква будет располагаться в первой колонке, а буква зашифрованного текста — на пересечении линии с колонкой. Таким образом, одна и та же буква в послании кодируется разным способом. Эта система проста для понимания и почти не поддается расшифровке, если ключ является достаточно длинным. Недостаток ее в том, что она трудна для использования и потому применяется редко. Мне самому, однако, часто удавалось расшифровать ее, ибо слабое звено — именно в длине ключа. Стоит только раскрыть его, и прочесть послание не составит особого труда.
Со своей стороны, я использую кодировку посредством замены не букв, а слов. Это я и называю реестром. В подобной системе нет ключа.
Реестры представляют собой обширные словари, включающие слова, выражения, слоги, буквы или даже цифры, которым подбирают соответствующее число. Элементы таблиц соответствий столь многочисленны, что их невозможно выучить наизусть. Расшифровка возможна лишь при наличии кода, поскольку никакая логическая операция не позволяет угадать слова, содержащиеся в коде, и их цифровое соответствие.
Очевидный и неизбежный порок этой системы состоит в том, что для нее необходима печатная книга, более или менее объемистая, которая может быть потеряна, украдена или скопирована. Преимущество же в том, что это простой, быстрый и почти исключающий ошибки способ.
Реестры делятся на две категории: упорядоченные и бессвязные. Если в таблице соответствий оба списка составлены в строгом алфавитном или числовом порядке, реестр именуется упорядоченным. Вот вам образец, который мы применяли в течение нескольких месяцев.
Россиньоль вновь подошел к письменному столу, вывел пером несколько строк и протянул Луи листок бумаги, на котором было написано:
1012 La
1013 Laisser
1014 Lorraine
— Итак, цифры 1013,1012,1014 означают: laisser la Lorraine, [19] — объяснил Россиньоль. — В подобном случае одна таблица используется как для шифровки, так и для расшифровки. Можно также усложнить задачу врага, применив реестр слов, не имеющих никакой связи между собой. Тогда нужны две таблицы: одна для шифровки, другая для расшифровки. Вот образец, который я применяю для шифровки.
19
Уступить Лотарингию (франц.).
Он вновь написал несколько строк и отдал листок Луи.
Фронсак стал изучать три строчки, покачивая головой.
piege 4367
pierre 1025
piller 6884. [20]
— Это как если бы вы использовали иностранный язык, — заметил он. — Ваша кодировка в каком-то смысле подобна словарю…
— Именно так.
— Но если противник завладел вашим словарем, вы пропали!
— Верно, — помрачнел Россиньоль. — Полагаю, вам известно, что сейф, где хранятся реестры, возможно, был вскрыт…
20
Ловушка, камень, грабить (франц.).