что называется полиалфавитным шифром.
— Что это означает?
— Он немного сложнее. Я покажу тебе на примере. — Крозетти вышел и вернулся со стопкой бумаг. — Самый простой шифр заменяет одну букву другой, обычно с одинаковым смещением по алфавиту: вместо А пишется D, вместо С — G и так далее. Это так называемое смещение Цезаря, потому что, предположительно, его придумал Юлий Цезарь. Очевидно, что подобный шифр можно взломать за несколько минут, если знать обычную частоту чередования букв в языке послания. Надо полагать, шпионы понимали это и разрабатывали методы для того, чтобы замаскировать частоту чередования букв, применяя разные алфавиты для каждой подстановки в зашифрованном тексте.
— Разные алфавиты? Ты имеешь в виду разные языки?
— Нет, нет, я имею в виду вот что. — Он вытащил из стопки одну страницу и расправил ее на столе. — В шестнадцатом веке архитектор Альберти придумал подстановочный шифр, используя составные алфавиты, расположенные на медных дисках, а немного позже во Франции математик по имени Блэз Виженер изобрел так называемый полиалфавитный подстановочный шифр, где применяли двадцать шесть алфавитов со смещением Цезаря. Брейсгедл наверняка знал о нем, поскольку, по его словам, изучал искусство шифрования. В основе лежит то, что тогда называли tabula recta, или «таблица Виженера». Это двадцать шесть одинаковых алфавитов, написанных один над другим — сначала обычный от А до Z, а каждый последующий начинается со смещением на одну букву вправо, то есть от В до Z плюс А, потом от С до Z плюс А и В, и так далее. Наверху и слева располагаются обычные алфавиты, они служат в качестве индексов.
Ссылка на 'таблицу Виженера': http://oldmaglib .com/book/g/Gruber_Michael__The_Book_of_Air_and_Shadows_ris1.jpg
— И каким образом это позволяет скрыть частоту чередования букв?
— Нужен ключ. Например, возьмем в качестве ключа твое имя, Мэри Пег. Семь букв, ни одна не повторяется, это хорошо, — Крозетти записал их карандашом наверху. — Теперь предлагай, какой текст будем шифровать.
— Беги, все раскрыто, — предложила Мэри Пег.
— Всегда своевременно. Теперь давай запишем текст над ключом, вот так.
F L E E A L L I S D I S C O V E R E D
M A R Y P E G M A R Y P E G M AR Y P[46]
— И теперь, чтобы зашифровать, берем первую букву текста, то есть F, и первую букву ключа, то есть М. Потом пробегаем по таблице, вниз по столбцу F и вправо по строке М, и пишем букву, что оказывается на их пересечении — в данном случае R. Следующая комбинация есть L из текста и А из ключа, то есть L остается L. Дальше Е и R, что дает нам V. И теперь мы видим, как это работает: поскольку для следующей Е мы, оказываясь в той же колонке, попадаем в другой ряд, соответствующий букве Y, это дает нам С. Две буквы «е» в слове flee в зашифрованном тексте имеют
Крозетти быстро зашифровал весь текст. Вот что у него получилось:
F L E E A L L I S D I S C O V E R E D
R L V C P P R U S U G H G U H E I C S
— И заметь, что двойное L в слове all искажается тоже, — сказал он. — Такой текст простому частотному анализу не поддается, и за триста лет никто не смог взломать подобный шифр, не зная ключевого слова. Именно его и добивались от шпионов с помощью пыток.
— Как же
— Надо найти длину ключевого слова, и это можно сделать, анализируя повторяющиеся шаблоны в зашифрованном тексте. Это называется методом Казиски-Керкхоффа. В достаточно длинном сообщении или нескольких сообщениях FL снова пересечется с МА и снова даст RL, и будут другие шаблоны из двух-трех букв, и потом ты подсчитаешь расстояние между повторами и вычислишь общие численные множители. В нашем случае, поскольку ключ состоит из семи букв, повторы могут случаться через семь, четырнадцать и двадцать одну букву настолько часто, что это нельзя объяснить случайностью. Очевидно, в наши дни для анализа такого рода применяют статистические методы и компьютер. Как только выяснится, что ключ содержит семь букв, дальше все предельно просто. Остается вычислить семь простых подстановочных алфавитов из таблицы Виженера — это можно сделать с помощью обычного частотного анализа, реконструировать ключевое слово и расшифровать текст. Существуют дешифрующие программы, они справляются с задачей за считанные секунды.
— Тогда почему ты не взломал шифр?
Он со стоном провел пальцами по волосам.
— Если бы я знал… Здесь что-то другое, не просто таблица Виженера.
— А может, это все же она, только ключ очень длинный? Судя по твоим словам, чем длиннее ключ, тем труднее выявить повторяющиеся группы.
— Хорошая мысль. Однако проблема с длинными ключами состоит в том, что их легче забыть и труднее передавать — если ты хочешь часто менять их. Ведь как происходило дело, если возникало желание сменить ключ? Так, чтобы ни один шпион не узнал: шепотом, во тьме, на ухо агенту или в сообщении, на первый взгляд совершенно невинном. В наше время агенту передают так называемый одноразовый пароль — лист бумаги, где записаны выбранные наугад сегменты бесконечно длинного ключа. Агент с его помощью зашифровывает сообщение и сжигает листок. Такой шифр никакой компьютер не взломает. Однако в тысяча шестьсот десятом подобных методов не изобрели.
— Что еще может быть?
— Это может быть так называемая решетка, и тогда мы остаемся с носом. — Увидев недоуменное выражение на лице матери, Крозетти пояснил: — «Картановская решетка» — это кусок плотной бумаги с прорезями на ней, сквозь которые можно прочесть сообщение, если приложить ее к тексту. То есть в данном случае вообще никакого шифра нет. Текст может выглядеть совершенно бессмысленно, но если передвигать по нему решетку, выделяются буквы, которые складываются в слова…
— Знаешь, если бы здесь использовали «решетку», то само сообщение, скорее всего, походило бы на обычное письмо. «Дорогая мамочка, в Лондоне замечательно, купил новый камзол, видел, как собаками травят медведей, жаль, что тебя тут нет, люблю, твой Дик». А приложишь «решетку» и прочтешь: «Беги, все раскрыто». Я имею в виду, что «решетка» позволяет придать сообщению невинный вид, разве нет?
Крозетти стукнул себя кулаком по голове, словно восклицая: «Ну, что я за дурак!»
— Конечно. Это я упустил. Как бы то ни было, я понятия не имею, в каком направлении двигаться дальше.
— Я настаиваю — тебе нужно передохнуть.
— Ты права. — Он потер лицо ладонями. — Какое сегодня число?
— Четырнадцатое октября. А что?
— Сегодня в клубе фестиваль карибских фильмов, и я хотел бы посмотреть «Люди и боги».[47] Может, окунувшись в блестящий мир гаитянского вуду, я почувствую себя освеженным.
— Хорошая мысль, дорогой, — сказала Мэри Пег. Что-то в ее тоне и выражении лица заставило Крозетти остановиться. Он пристально посмотрел на нее.
— В чем дело?
— Ничего особенного. Однако, если не возражаешь, я пока сама поломаю голову над шифром.
— Эх, только время зря потеряешь! — с оттенком самодовольства воскликнул Крозетти. — Это тебе не кроссворды разгадывать.
Он отсутствовал четыре часа, потому что после фильма встретил знакомых парней, тоже помешанных на кино. Они пили кофе, разбирали фильм по косточкам с художественной и технической точек зрения, и он получил обычное удовольствие от интеллектуальной беседы, а потом разговорился с миниатюрной, тонко