— Поэтому я перевел каждую букву в число от одного до тридцати двух по коду Бодо. У меня получились длинные ряды маленьких чисел. Однако я хотел перевести все числа ряда в одно большое, просто чтобы узнать, есть ли в нем интересные закономерности. Но это проще пареной репы! Если первая буква R код Бодо для нее — 01011, а вторая — F, и для нее код — 10111, то я могу просто составить их в десятизначное двоичное число 0101110111. Потом могу взять код следующей буквы, приставить его сзади и получить пятнадцатизначное число. И так далее. Буквы написаны группами по пять — двадцатипятизначное двоичное число на группу. Шесть групп в строке — сто пятьдесят двоичных разрядов на строку. Двадцать строк на странице, всего три тысячи двоичных цифр. То есть о каждой странице можно думать не как о ряде из шестисот букв, но как о закодированном представлении одного числа, порядка двух в трехтысячной степени, или примерно десяти в девятисотой.
— Ладно, — говорит Алан. — Согласен, что использование тридцатидвухбуквенного кода предполагает двоичную схему шифровки. Согласен и с тем, что такая схема позволяет слить пятерки двоичных чисел в более длинные и даже, если идти до конца, слить все двоичные знаки на странице в одно исключительно большое число. Но что это дает?
— Не знаю, — сознается Уотерхауз. — Просто я интуитивно чувствую, что мы имеем дело с новой схемой шифровки, основанной на чисто математическом алгоритме. Иначе какой смысл переходить на тридцатидвухбуквенный алфавит? Подумай: тридцать две буквы годятся и даже необходимы для телетайпа, поскольку там нужны специальные символы, вроде возврата каретки или перевода строки.
— Ты прав, — говорит Алан, — очень странно, что они используют тридцать две буквы в схеме, которая явно шифруется с помощью карандаша и бумаги.
— Я тысячу раз прокручивал это в голове, — произносит Уотерхауз, — и вижу единственное объяснение: они переводят сообщение в большие двоичные числа и комбинируют с другими двоичными числами — скорее всего одноразовым шифрблокнотом.
— Тогда ты ничего не добьешься, — говорит Алан. — Одноразовый шифрблокнот взломать нельзя.
— Это верно, — возражает Уотерхауз, — только если шифрблокнот действительно случайный. Если для трехтысячезначного числа три тысячи раз бросают монетку и пишут единицу для орла и ноль для решки, то он случайный и абсолютно стойкий. Однако не думаю, что здесь так.
— Почему? В их шифрблокнотах закономерности?
— Может быть. Только намеки.
— Так почему ты думаешь, что они не случайны?
— Иначе нет смысла изобретать новую схему, — говорит Уотерхауз. — Все всю жизнь пользуются одноразовыми шифрблокнотами. Давно прописано, как их составлять. Нет никакого резона в разгар войны переходить на новую, исключительно странную систему.
— Так в чем, по-твоему, ее смысл? — Алан явно забавляется.
— Неудобство одноразового шифрблокнота в том, что надо составить два экземпляра и переправить их отправителю и получателю. Положим, ты в Берлине и хочешь послать сообщение кому-то на Дальнем Востоке! На подлодке, которую мы нашли, был груз — золото и много всего другого — из Японии. Представляешь, какая морока для Оси.
— Ага. — До Алана наконец дошло. Однако Уотерхауз все равно заканчивает мысль:
— Предположим, ты нашел математический алгоритм для генерации очень больших случайных чисел — во всяком случае, таких, которые выглядят случайными.
— Псевдослучайных.
— Да. Разумеется, ты должен хранить алгоритм в тайне. Но если ты передаешь его — алгоритм то есть — на другой край света своим адресатам, они смогут с этого дня сами выполнять вычисления и получать шифрблокноты конкретного дня или чего там еще.
По веселому лицу Алана пробегает тень.
— Однако у немцев уже есть «Энигма». Зачем утруждать себя новой схемой?
— Может быть, — предполагает Уотерхауз, — некоторые немцы не хотят, чтобы весь немецкий флот читал их переписку.
— M-м, — говорит Алан. Похоже, последние преграды рухнули. Теперь он воплощенная решимость. — Покажи сообщения!
Уотерхауз открывает портфель, в засохших брызгах и потеках морской воды от путешествия на Йглм и обратно, вытаскивает два больших конверта.
— Здесь копии, которые я снял, прежде чем отправить оригиналы в Блетчли-парк. — Он похлопывает по одному. — Они куда разборчивее оригиналов, — похлопывает по другому, — которые мне любезно одолжили, чтобы я мог изучить их еще раз.
— Покажи оригиналы! — требует Алан.
Уотерхауз толкает через стол второй конверт, покрытый штампами СОВСЕКРЕТНО.
Алан нетерпеливо разрывает конверт, выдергивает листки, раскладывает по столу. У него отвисает челюсть.
В первый миг Уотерхауз думает, что его друг неким олимпийским озарением расшифровал листки с первого взгляда.
Однако это не так. Алан совершенно ошарашен.
— Я знаю почерк.
— Да ты что?
— Видел его тысячу раз. Эти страницы написаны нашим старым другом по велосипедным прогулкам, Рудольфом фон Хакльгебером. Руди написал эти страницы.