Он заставил себя сесть, наелся сэндвичей с беконом и сыром, выпил пива — мать оказалась права — почувствовал себя человеком. Когда с едой было покончено, Мэри Пег спросила:
— Ну, ты добился хоть чего-то?
— Только в негативном смысле. Тебе что-нибудь известно о шифрах?
— Лишь на уровне кроссвордов в воскресных газетах.
— То есть практически ничего. Ладно. Самым распространенным типом тайнописи в начале семнадцатого века был тот, что они называли «номенклатурой». Это не совсем шифр, скорее код. Имеется небольшой словарь кодовых слов: к примеру, «ящик» означает «армия», «булавки» это «корабли», и так далее. Сообщение расшифровывается заменой слов и выглядит вполне невинным. То, что у нас здесь имеется, не является «номенклатурой». Думаю, это шифр, о котором Брейсгедл говорит в своем письме. Тот самый, что он изобрел для лорда Данбертона. Тут подстановкой слов не обойдешься. Мне кажется, это то, что называется полиалфавитным шифром.
— Что это означает?
— Он немного сложнее. Я покажу тебе на примере. — Крозетти вышел и вернулся со стопкой бумаг. — Самый простой шифр заменяет одну букву другой, обычно с одинаковым смещением по алфавиту: вместо А пишется 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 искажается тоже, — сказал он. — Такой текст простому частотному анализу не поддается, и за триста лет никто не смог взломать подобный шифр, не зная ключевого слова. Именно его и добивались от шпионов с помощью пыток.
— Как же