Число, пришедшее с холода. Когда математика становится приключением — страница 18 из 35

ы, возникавшее всякий раз, когда очередного завербованного агента, предавшего противника, разоблачали и ставили к стенке. Разрываемый на части болезненными уколами совести, с одной стороны, и непоколебимой верностью — с другой, он на протяжении двух недель после увольнения предавался сладостным мечтам о том, как выйдет на покой и посвятит себя любимому занятию — изучению литературы о немецком барокко. Однако через два дня из министерства позвонили и любезно попросили его явиться в Цирк и снова, в который раз, постоять за честь Англии и отправиться на холод, в столицу вражеской страны.

Оттуда, а именно из столицы тогдашней Чехословакии (мы выберем этот город для нашей вымышленной истории, в которой главную роль будут играть простые числа), он просит Цирк о помощи. Посланный агент должен через железный занавес пробиться к Смайли, снабженный псевдонимом и фальшивыми документами, Смайли, однако, хочет встретиться не с любым агентом, а с определенным, с номером 007, и ни с кем другим. Почитатели Джона ле Карре знают, что агента 007 надо представлять себе отнюдь не в облике Джеймса Бонда. Чаще всего такой агент — человек с неприметной внешностью, ставший за годы тренировок и службы «в поле» законченным циником: крепким, закаленным и — как всегда ожидают от человека сомнительного происхождения — надежным и исполнительным.

Но как удалось Смайли сообщить своему начальству в Лондоне, что оно должно прислать к нему агента номер 7? Сообщить эту цифру по радио или написать в письме он не мог — это было бы чистым безумием. Смайли прекрасно знал: его радиопереговоры прослушиваются, а письма перехватываются. Если восточные шпионы услышат или прочтут число 7, то агент будет раскрыт еще до того, как успеет подойти к железному занавесу.

Еще большим безумием было бы назвать не номер агента, а его имя — по радио или в письме. В картотеке восточного противника зарегистрированы имена и клички всех известных ему британских агентов, из которых агент 007 был самым известным.

По этой причине Смайли должен был каким-то образом зашифровать имя нужного ему агента так, чтобы надежно замаскировать его.

С самого начала человеческой истории, с тех времен, когда были изобретены письмена и числа, с тех пор, как между людьми начались вражда, соперничество и войны, умные головы озаботились шифрованием сообщений, чтобы враги не смогли их расшифровать и прочесть. Во всяком случае, враги гарантированно не должны были прочесть сообщение за то время, пока оно было важным.

Очень древний, имеющий тысячелетнюю историю метод шифрования, применявшийся, видимо, уже в библейские времена, это атбаш. Это причудливое название составлено из букв еврейского алфавита. Первая буква алфавита א (алеф), можно считать, что это буква А, и последняя буква ת (тав) составляют первый слог. Вторая буква ב (бет), или, можно сказать, Б, и предпоследняя буква еврейского алфавита ש (шин), которая произносится как «ш», составляют второй слог (буква «а», вставленная в слог «баш», служит лишь для удобства произношения). Метод шифрования становится ясным из самого названия. Например, в секретном сообщении заменяют первую букву алфавита последней, вторую предпоследней и так далее. Возникает последовательность букв, обозначающая какую-то неведомую абракадабру, глядя на которую трудно — во всяком случае, сразу — понять, что именно здесь написано.

Юлий Цезарь охотно пользовался этим методом шифрования при составлении секретных посланий. Например, мы хотим использовать латинский алфавит с его 23 буквами (I и J обозначались одной буквой I, так же как звуки U и V обозначались одной буквой V, а буква W вообще появилась только в Средние века для обозначения удвоенного V) для расшифровки по методу атбаш следующего тайного послания:

ZNTZ PZXEZ TFE.

Для этого нам надо всего лишь дважды записать последовательность букв латинского алфавита: сначала слева направо, а потом справа налево, — поместив вторую строчку строго под первой:


Из этой таблицы становится ясно, что каждую букву Z надо заменить буквой A, каждую букву T — буквой E, букву P — буквой I, букву X — буквой C, букву E — буквой T, а букву F — буквой S. Заменив буквы по этой схеме, мы прочтем послание Цезаря:

ALEA IACTA EST,

что в переводе означает «Жребий брошен». Это очень известная латинская цитата. Эти слова Цезарь якобы произнес при переходе реки Рубикон. Перейти Рубикон с войском означало начало гражданской войны. После перехода Рубикона пути назад для Цезаря уже не было.

Можно, однако, довольно скоро догадаться, что метод шифрования по методу атбаш слишком прост. На роль надежной системы кодирования атбаш не годится. Если секретная служба располагает методами дешифровки, то она в мгновение ока «расколет» донесение, зашифрованное этим методом.

То, что Джордж Смайли шифровал имя агента не с помощью системы атбаш, даже не обсуждается. Однако и другие, похожие методы, например, заменять каждую букву непосредственно следующей за ней (Цезарь, кстати, применял и такую систему шифрования), не представляли никакой загадки для бывалых восточных шпионов. Смайли должен был использовать более изощренную систему.

Смайли знал, как надо поступить, и потребовал от лондонской штаб-квартиры Цирка прислать ему вспомогательное средство для кодирования. В ответ он получил из Лондона два числа: модуль 221 и степень 11.

Как куют и раскрывают тайны

Сразу возникает закономерный вопрос: как смог Цирк прислать Смайли «модуль 221» и «степень 11» и при этом сделать так, чтобы об этом не пронюхали восточные шпионы? Ответ прост: ни Цирку, ни Смайли не надо было тратить силы на то, чтобы удержать в тайне оба этих числа. Их мог знать кто угодно. Не только Смайли, но и Карла, его заклятый противник, который, сидя в далекой России, дергал за ниточки, управлявшие всей работой советских спецслужб. Карла тоже знает, что делает Смайли для того, чтобы надежно зашифровать номер агента с помощью модуля 221 и степени 11.

Смайли же начинает вычислять.

Вычисления Смайли на первый взгляд кажутся весьма своеобразными, ибо в результатах у него может появиться 221 число — столько диктует ему модуль, а именно числа:

0, 1, 2, 3, 4, …, 216, 217, 218, 219, 220.

Из каждого большего числа он вычитает 221 столько раз, сколько нужно для того, чтобы получить какое-либо число из этого списка. Так, 221 он заменяет на 0, 222 — на 1, 223 — на 2, 224 — на 3 и так далее. Из числа 1000 Смайли должен вычесть число 221 четыре раза, то есть наибольшее целое число раз, сколько 221 содержится в 1000. Произведя вычитание 1000 — 4 × 221 = 1000 — 884, Смайли получает 116. Вместо всех этих вычислений Смайли пишет 1000 ≡ 116. Вместо двух горизонтальных черт обычного знака равенства = Смайли пишет знак ≡ из трех горизонтальных черт. Гаусс, изобретатель этого символа, говорил в таких случаях, что 1000 и 116 конгруэнтны по модулю 221.

Можно представить себе числа в виде точек, расположенных на окружности. 221 точка, обозначаемые числами от 0 до 220, расположены на равных расстояниях друг от друга на окружности. Эти точки образуют вершины правильного многоугольника с 221 углом. Смайли считает и вычисляет так, словно идет вдоль этих точек на окружности.

Смайли зашифровывает число 7 агента 007 следующим способом: умножает число семь само на себя одиннадцать раз — то есть столько, сколько требует присланный ему из Цирка показатель степени, — а потом выясняет, какому из 221 числа его системы конгруэнтна одиннадцатая степень числа 7. Это число Смайли сообщает по радио в Лондон. Число 711 очень велико. Если его записать обычным способом, то оно выглядит так:

711 = 7 × 7 × 7 × 7 × 7 × 7 × 7 × 7 × 7 × 7 × 7 = 1 977 326 743.

Модуль 221 содержится в этом числе 8 947 179 раз. Если вычесть произведение 8 947 179 на модуль 221 из числового монстра 711, то остаток будет равен 184. Это число Смайли и должен отправить начальству в Лондон, ибо оно кодирует зашифрованное число 7.

Единственная проблема заключается в том, что карманный калькулятор Смайли не может вместить число 1 977 326 743. На дисплее калькулятора умещается только восемь разрядов. На попытки разместить на дисплее большее число калькулятор отвечает словом «ошибка». Смайли счел слишком утомительным считать вручную, не говоря о том, что это было еще и слишком опасно. При расчетах он не мог, просто не имел права допустить ошибку. Однако Смайли весьма изящно вышел из этого затруднительного положения.

Он не стал прямо вычислять чудовищное число 711, но лишь для начала только степени 71 = 7, 7² = 7 × 7, 7 4 = 7² × 72 и 78 = 7 4 × 7 4. Первые два произведения он мог легко вычислить в уме: 71 = 7 и 7² = 49. Для выполнения следующих вычислений он берет в руки калькулятор, получает 7 4 = 49 × 49 = 2401 и сокращает этот результат, пользуясь своей числовой системой: модуль 221 содержится в числе 2401 10 раз, и вычитание 2401 — 221 × 10 = 2401 — 2210 дает в результате 191. Поэтому Смайли пишет 7 4 ≡ 191. Для вычисления 78 = 7 4 × 7 4 Смайли использует остаток 191: умножение этого числа само на себя дает в результате 36 481. Модуль 221 содержится в этом числе 165 раз. Вычитая 165 × 221 = 36 465 из 36 481, Смайли получает 16 и пишет 78 ≡ 16. В результате он получает следующий список:

71 ≡ 7, 72 ≡ 49, 74 ≡ 191, 78 ≡ 16.

Для того чтобы вычислить величину 711, Смайли должен еще подсчитать произведение 78 × 7² × 71, потому что сумма 8 + 2 + 1 дает в результате показатель степени 11. Для подсчетов Смайли использует полученные им остатки и получает в результате 16 × 49 × 7, то есть 5488. Модуль 221 целиком содержится в этом числе 24 раза. При вычитании 5488 — 24 × 221 Смайли получает результат 184, то есть то же число, что и выше: 7