Лоуренс Притчард Уотерхауз сам теперь олимпиец не хуже других. У Франклина Делано Рузвельта, Уинстона Черчилля и еще нескольких человек в списке «Ультра-Мега» тот же уровень допуска, но у них другие дела и заботы. Они не могут бродить по всемирной столице информационных потоков, заглядывать через плечо переводчикам и читать свежие расшифровки, когда те — щелк-щелк-щелк — выползают из ТАЙПЕКСов. Они не могут бегать от здания к зданию, собирая воедино сюжетные нити мирового повествования, пока девушки в одиннадцатом корпусе переключают провода из гнезда в гнездо, сплетая сеть, в которую послания Гитлера попадают, едва выйдя в эфир.
Вот, например, что знает Уотерхауз: битва под Эль-Аламейном выиграна, Монтгомери стремительно гонит Роммеля на запад, через Киренаику, к далекому оплоту Оси в Тунисе. Однако все не настолько в ажуре, как может показаться. Если бы Монти оценил важность информации, поступающей по каналам «Ультра», он бы действовал решительнее, окружал и брал в плен изолированные подразделения итальянцев и немцев. Однако он этого не делает, и Роммель отступает организованно, готовясь дать новое сражение, а в Блетчли-парке кроют Монти последними словами за нежелание воспользоваться бесценными, однако недолговечными сокровищами разведданных.
А сейчас в Северо-Западную Африку перебросили чертову уйму народа. Это называется операция «Факел», ее цель — зажать Роммеля между молотом (английскими войсками) и наковальней (американскими войсками). Или, если Монти не поторопится, наоборот. Операция кажется блестяще организованной, но это не так: Америка впервые наносит серьезный удар через Атлантику, поэтому на корабли загрузили абсолютно всех. Сотрудники радиоразведки, строя из себя десантников, театрально бежали к берегу по пояс в воде. Также в высадке участвовал американский контингент подразделения 2702 — аварийная команда, составленная из отборных морских пехотинцев, прошедших огонь, воду и медные трубы.
Часть из них получила свой боевой опыт на Гуадалканале — никому прежде не нужном островке в юго-западной части Тихого океана, где Японская империя и Соединенные Штаты Америки спорят — посредством оружия — за право построить военную авиабазу. Судя по первым сообщениями, японская армия за время пребывания в Восточной Азии несколько утратила форму. Оказывается, изнасиловать все женское население Нанкина или перебить штыками беззащитных филиппинских крестьян еще не значит набраться боевого опыта. Японская армия по-прежнему пытается придумать, как бы, скажем, убить сто американских морских пехотинцев, не потеряв на этом пятьсот своих.
Другое дело — японские ВМС. Они свое дело знают. У них есть Ямамото. Их торпеды действительно взрываются, попав в цель, в отличие от американских, которые, слегка поцарапав краску японских кораблей, виновато идут ко дну. Ямамото только что сделал очередную попытку уничтожить американский флот у островов Санта-Крус, потопил «Хорнет», проделал аккуратную дыру в «Энтерпрайзе». Однако он потерял треть своих самолетов. Наблюдая, как японцы несут потери, Уотерхауз гадает, сообразил ли кто-нибудь в Токио взять счеты и прикинуть кое-какие цифры.
Союзники тоже считают и напуганы до потери пульса. В Атлантике сейчас сто немецких подлодок, они ведут действия главным образом из Лорьяна и Бордо. То, что там происходит, уже не битва, а вакханалия убийства в масштабах «Лузитании».[29] За последний месяц немцы потопили кораблей в общей сложности на миллион тонн. Попробуй осознай!.. Положим, тонна — примерно автомобиль. Уотерхауз пытается представить себе, что Америка и Канада сбросили в середину Атлантики миллион автомобилей. Бултых!
Проблема в Акуле.
Немцы зовут ее «Тритон». Это новая шифросистема, используемая исключительно на флоте. «Энигма», но не обычная, трехдисковая. Ту поляки научились взламывать два года назад, а в Блетчли-парке процесс поставили на поток. Однако меньше года назад у южного берега Исландии села на мель немецкая подводная лодка. Сотрудники Блетчли-парка хорошенько ее прочесали и нашли «Энигму» с выемками для четырех , а не для трех дисков!
Когда первого февраля заработали четырехдисковые «Энигмы», вся Атлантика почернела. С тех самых пор Алан и другие не покладая рук бились над этой задачей. Загвоздка была в том, что они не знали, как подсоединен четвертый диск.
По счастью, несколько дней назад захватили еще одну немецкую подводную лодку, в восточной части Средиземного моря. Полковник Чаттан, оказавшийся поблизости, и еще несколько сотрудников Блетчли рванули туда сломя голову. Они нашли четырехдисковую «Энигму», а это хоть не сам код, но по крайней мере ключ к его взлому.
Гитлер, видать, совершенно в себе уверен — собрался отдохнуть в Альпах. Что не помешало ему прибрать к рукам последние остатки Франции — похоже, операция «Факел» задела его за живое, и он окончательно оккупировал вишистскую Францию. Одновременно он отправил еще десять тысяч солдат и соответствующее количество припасов через Средиземное море в Тунис. Уотерхауз воображает, что сейчас можно добраться от Сицилии до Африки, просто прыгая с одного немецкого транспорта на другой.
Разумеется, будь это так, его работа была бы куда легче. Союзники топили бы суда сколько душе угодно, и ни один голубоглазый тевтон на фронте информационной войны не повел бы арийской бровью. Однако на самом деле судов мало и расположены они редко. Насколько именно мало и редко — это параметры уравнений, которые они с Аланом Матисоном Тьюрингом всю ночь пишут на доске.
Часов через десять — двенадцать этого занятия, когда наконец снова встает солнце, остается разве что сесть на велосипеды и прокатиться с ветерком.
Они въезжают на холм, и перед ними открывается лес, расцвеченный всеми цветами пламени. Полусферические кроны кленов словно вспучиваются в огне, добавляя впечатлению реализма. У Лоуренса возникает нелепое желание выпустить руль и зажать уши! Однако воздух под деревьями приятно прохладен, синее небо не пятнают столбы черного дыма, спокойствие и тишина леса самым разительным образом отличаются от того, что вспомнилось Лоуренсу.
— Кудах-тах-тах! — Алан Тьюринг изображает квохтание рассерженной курицы. Странные звуки кажутся еще чуднее из-за того, что он в противогазе, который, впрочем, почти сразу сдвигает на лоб. — Как же они любят себя слушать! — (Речь об Уинстоне Черчилле и Франклине Рузвельте.) — Да и друг друга тоже, до определенного момента. Однако голос по сравнению с печатным текстом — жутко избыточный канал информации. Если взять текст и пропустить его через «Энигму» — которая, в сущности, довольна проста, — то привычные закономерности вроде преобладания буквы «Е» практически исчезают. — Тут он снова натягивает противогаз, чтобы подчеркнуть следующее утверждение. — А вот голос можно искажать самым чудовищным образом, и он все равно будет понятен слушателю.
Тут на Алана нападает приступ чихания, да такой, что чуть не лопаются защитного цвета ремешки на затылке.
— Наше ухо привыкло отыскивать знакомые сочетания, — предполагает Лоуренс. Он без противогаза, потому что (а) немцы не проводят здесь газовую атаку, (б) в отличие от Алана он не страдает сенной лихорадкой.
— Прости. — Алан резко тормозит и спрыгивает с велосипеда. Он отрывает заднее колесо от дороги, раскручивает его свободной рукой и быстрым движением дергает цепь. Потом внимательно созерцает механизм, прерываясь только для того, чтобы несколько раз чихнуть.
В цепи у велосипеда Тьюринга дефектное звено. В заднем колесе погнута одна спица. Когда звено задевает спицу, цепь сваливается и падает на дорогу. Это происходит не при каждом обороте колеса — иначе велосипед проще было бы выкинуть. Это происходит при определенном взаимном расположении цепи и колеса.
Исходя из разумного предположения, что доктор Тьюринг находится в хорошей спортивной форме и развивает скорость примерно 25 км/час, а радиус колеса — примерно треть метра, если бы дефектное звено задевало гнутую спицу при каждом обороте колеса, то цепь сваливалась бы каждую третью долю секунды.
На самом деле цепь не сваливается, пока гнутая спица не заденет дефектное звено. Теперь допустим, что вы описываете положение заднего колеса традиционной буквой Q . Ради простоты договоримся: если колесо начинает вращаться из положения, в котором гнутая спица может задеть дефектное звено (разумеется, только если дефектное звено находится там, где его можно задеть), то Q = 0. Если в качестве единицы измерения используются градусы, то за один поворот колеса Q принимает все значения вплоть до 359, прежде чем вернуться к нулю, когда гнутая спица вновь может сбросить цепь. Теперь предположим, что положение цепи вы описываете переменной С по очень простому принципу: нумеруя все звенья цепи. Дефектному звену ставится в соответствие число 0, следующему 1 и так далее до l — 1, где l — общее число звеньев в цепи. Опять-таки ради простоты примем, что в положении, в котором дефектное звено может задеть гнутую спицу (при условии, что спица — там, где ее можно задеть), С = 0.
Чтобы вычислить, когда с велосипеда доктора Тьюринга свалится цепь, все, что нам надо знать про велосипед, — это значения Q и С . Эти два числа определяют состояние велосипеда. У велосипеда столько возможных состояний, сколько существует возможных значений (Q, С ), но только в одном из этих состояний, а именно (0, 0), цепь свалится на дорогу.
Предположим, мы начинаем с этого состояния, т. е. (Q = 0, С = 0), но цепь не свалилась, потому что доктор Тьюринг (прекрасно зная состояние своего велосипеда в каждый конкретный момент времени) остановился посреди дороги и едва избежал столкновения со своим другом и коллегой Лоуренсом Притчардом Уотерхаузом, поскольку противогаз блокирует его периферическое зрение. Доктор Тьюринг немного прокрутил цепь вперед, одновременно оттягивая ее вбок, чтобы не задела за гнутую спицу. Теперь он снова садится на велосипед и начинает крутить педали. Окружность его колеса примерно два метра, значит, когда он проехал два метра по дороге, колесо совершило полный оборот и вернулось в состояние Q = 0, в котором, как мы помним, гнутая спица может задеть дефектное звено.
Что с цепью? Ее положение, определяемое как С , начинается с 0, достигает единицы, когда в фатальную позицию перемещается следующее звено, потом двойки и так далее. Цепь движется синхронно с зубцами звездочки в центре заднего колеса. У звездочки п зубцов, так что после второго полного оборота заднего колеса Q снова = 0, но С теперь = 2n . В следующий раз С = 3п и так далее. Однако не забывайте, что цепь — не бесконечная прямая линия, а замкнутая петля, имеющая всего l позиций; при С = l , она возвращается к началу цикла, и С снова принимает нулевое значение. Так что при вычислении С следует прибегнуть к арифметике остатков: то есть если в цепи сто звеньев (l = 100), а общее число перемещенных звеньев — 135, то значение С не 135, а 35. Как только вы получаете число, больше или равное l, вы просто последовательно вычитаете l , пока результат не станет меньше l. Математики обозначают эту операцию mod l . Так что последовательные значения С, всякий раз как заднее колесо возвращается в положение Q = 0, равны:
где i = (1, 2, 3, … 8 ∞),
меньше или больше в зависимости от того, насколько близкое к бесконечности время Тьюринг намерен ехать на велосипеде. Через некоторое время Уотерхаузу начинает казаться, что они и впрямь едут бесконечно.
Цепь сваливается, когда велосипед достигает состояния (Q = 0, C = 0). В свете вышесказанного это происходит, когда l (которое просто означает число оборотов, совершенных задним колесом) достигает некоего гипотетического значения, при котором in mod l = 0, или, говоря по-человечески, когда некое число, кратное п (такое, как, например, 2n , 3n , 395n или 109 948 368 443n ), оказывается в то же время кратным l . Вообще-то это может быть любое из так называемых общих кратных, но с практической точки зрения важно только первое — наименьшее общее кратное, или НОК, поскольку именно оно будет достигнуто первым и вызовет падение цепи.
Если, скажем, у звездочки двадцать зубцов (n = 20), а в цепи сто звеньев (l = 100), то после первого поворота колеса мы имеем С = 20, после двух поворотов С = 40, потом 60, 80 и 100. Однако поскольку мы ищем остаток от деления на 100, значение надо изменить на ноль. Таким образом, после пяти оборотов колеса мы достигли состояния (Q = 0, С = 0) и цепь Тьюринга сваливается. За пять оборотов колеса он проезжает всего десять метров, поэтому при таких значениях l и n велосипед практически бесполезен. Разумеется, все это верно лишь в том случае, если Тьюринг такой дурак, чтобы начать движение из состояния спадения цепи. Если же он начинает крутить педали, когда велосипед находится в состоянии (Q = 0, С = 1), то С принимает значения 21, 41, 61, 81, 1, 21, … и так до бесконечности, и цепь не свалится никогда. Однако это вырожденное состояние, где «вырожденное» для математика означает «невыносимо скучное». В теории, если Тьюринг будет всякий раз выставлять нужное состояние, прежде чем бросить велосипед на улице, никто не сможет его украсть — цепь свалится через первые же десять метров.
Если же в цепи Тьюринга сто одно звено (l = 101), то после пяти оборотов мы имеем С = 100, а после шести С = 19, тогда
С = 39, 59, 79, 99, 18, 38, 58, 78, 98, 17, 37, 57, 77, 97, 16, 36, 56, 76, 96, 15, 35, 55, 75, 95, 14, 34, 54, 74, 94, 13, 33, 53, 73, 93, 12, 32, 52, 72, 92, 11, 31, 51, 71, 91, 10, 30, 50, 70, 90, 9, 29, 49, 69, 89, 8, 28, 48, 68, 88, 7, 27, 47, 67, 87, 6, 26, 46, 66, 86, 5, 25, 45, 65, 85, 4, 24, 44, 64, 84, 3, 23, 43, 63, 83, 2, 22, 42, 62, 82, 1, 21, 41, 61, 81, 0.
Так что состояние (Q = 0, С = 0) не будет достигнуто и цепь не свалится, пока колесо не совершит сто один оборот. За сто один оборот велосипед Тьюринга успевает проехать по дороге пятую часть километра, что совсем не так плохо. Значит, велосипед работающий. Однако в отличие от вырожденного случая его нельзя привести в такое состояние, чтобы цепь не спадала совсем. Это легко доказать, просмотрев приведенный список значений С и убедившись, что все возможные значения — все числа от одного до ста — в нем присутствуют. Это означает, что с какого бы значения С Тьюринг ни начал крутить педали, рано или поздно он придет к фатальному С = 0 и цепь свалится.
Разница между вырожденным и невырожденным случаем заключена в свойствах использованных чисел. Комбинация (п = 20, l = 101) принципиально отличается от комбинации (п = 20, l = 100). Главная разница в том, что 20 и 101 — «взаимно простые», т. е. у них нет общих делителей. Это означает, что их наименьшее общее кратное, их НОК — большое число и равняется собственно l x n , т. е. 20 x 101 = 2020. А вот НОК ста и двадцати — всего 100. У велосипеда с l = 101 длинный период — он проходит через множество различных состояний, прежде чем вернуться к исходному, а у велосипеда с l = 100 — короткий, всего из нескольких состояний. Предположим, что велосипед Тьюринга — шифромашина, основанная на алфавитной замене, т. е. заменяет каждую из двадцати шести букв английского алфавита какой-то другой буквой. А открытого текста может стать Т шифртекста, В — F, С — М и так дальше до Z. Сам по себе такой шифр до смешного прост, взломать его — детская забава. Однако предположим, что схема замены меняется от буквы к букве. Первая буква открытого текста шифруется с помощью одного алфавита замены, вторая — с помощью другого, третья — с помощью третьего и так далее. Это называется полиалфавитный шифр.
Предположим, что велосипед Тьюринга генерирует свой алфавит для каждого из состояний. Тогда состоянию (Q = 0, С = 0) будет соответствовать, например, такой алфавит замены:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Q G U W В I Y T F K V N D O H E P X L Z R C A S J M
а состоянию (Q = 180, С = 15) — такой:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B O R I X V G Y P F J M T C Q N H A Z U K L D S E W
Никакие две буквы не будут зашифрованы одним и тем же алфавитом замены, пока велосипед не вернется в исходное состояние (Q = 0, С = 0) и цикл не пойдет с начала. То есть это периодическая полиалфавитная система. Теперь, если период у машины короткий, она часто повторяет саму себя и в качестве шифровальной системы тоже годится исключительно для детской забавы. Чем длиннее период (чем больше взаимно простых чисел в него встроено), тем реже используется один и тот же алфавит замены и тем выше устойчивость шифра.
Трехдисковая «Энигма» — система именно такого типа (то есть периодическая полиалфавитная). Ее барабаны подобно приводу в велосипеде Тьюринга заключают в себе циклы в циклах. Ее период равен 17 576, то есть алфавит замены, которым зашифрована первая буква сообщения, не повторится до 17 577-й буквы. Однако в «Акуле» немцы добавили четвертый барабан, увеличив период до 456 976. В начале каждого сообщения диски ставятся в различные, случайным образом выбранные исходные положения. Поскольку ни в одном немецком сообщении нет 450 000 знаков, «Энигма» никогда не повторяет один и тот же алфавит замены в пределах отдельного сообщения. Вот почему немцы считают ее неуязвимой.
Над головами пролетает звено транспортных самолетов, направляясь, по всей видимости, к аэропорту в Бедфорде. Самолеты издают странно музыкальный диатонический гул, словно волынки, играющие две мелодии разом. Это напоминает Лоуренсу об еще одном феномене, связанном с велосипедным колесом и шифрмашиной «Энигма».