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