Как куют и раскрывают тайны
Сразу возникает закономерный вопрос: как смог Цирк прислать Смайли «модуль 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, то есть то же число, что и выше: 711 ≡ 184. Смайли радирует в Лондон: «Было бы неплохо выпить чаю со 184».
Ни один из советских шпионов ни за что не догадается, что за числом 184 прячется скромная семерка. Это может узнать только лондонский Цирк. Тоби Эстерхази, тот самый человек, который в Цирке отвечает за декодирование зашифрованных депеш, лезет в свой сейф и достает оттуда документ с грифом «Совершенно секретно», в котором записана относящаяся к модулю 221 и степени 11 «секретная экспонента». Эту экспоненту (показатель степени) знает только Цирк и носится с ней как курица с яйцом. Эта экспонента известна лишь самому узкому кругу посвященных. Относящаяся к модулю 221 и показателю степени 11 экспонента равна 35.
Чтобы расшифровать донесение Смайли, Тоби Эстерхази поступает приблизительно так же, как Джордж Смайли. Он записывает присланное ему кодовое число 184 и умножает его само на себя 35 раз, то есть делает именно то, чего требует от него секретная экспонента из бронированного сейфа. Однако 18435 — это чудовищно громадное число с 80 разрядами. Для бедного Эстерхази это непосильная задача. Но так же, как Смайли, Тоби Эстерхази знает, как помочь этому горю. Он вычисляет значения последовательности степеней числа 184 — 1841, 184², 1844, 1848, 18416, 18432, причем все результаты Тоби немедленно сокращает на модуль 221. Ряд чисел приобретает следующий вид. Первым идет число 1841 = 184. Затем следует 184 × 184, то есть число 33 856. В этом числе модуль 221 содержится 153 раза. Тоби Эстерхази считает:
33 856 — 153 × 221 = 33 856 — 33 813 = 43
и приходит к результату 184² ≡ 43. Теперь для следующей степени Тоби имеет: 1844 = 184² × 184². Для вычисления этого произведения Тоби умножает остаток 43, соответствующий 184², на то же число, то есть на 43. 43 × 43 = 1849. Модуль 221 содержится в этом числе 8 раз. Тоби считает дальше и приходит к результату 1844 ≡ 81. Тоби переходит к следующей степени: 1848 = 1844 × 1844. Это число Эстерхази определяет с помощью перемножения само на себя числа, равного остатку, соответствующему числу 1844, то есть 81. 81 × 81 = 6561. Модуль 221 содержится в этом числе 29 раз. Тоби считает:
6561 — 29 × 221 = 6561 — 6409 = 152
и приходит к результату 1848 ≡ 152. Переходим к следующей степени: 18416 = 1848 × 1848. Ее Тоби вычисляет с помощью соответствующего числу 1848 остатка 152, который Тоби умножает на то же число. 152 × 152 = 23 104. Модуль 221 содержится в этом числе 104 раза. Тоби считает
23 104 — 104 × 221 = 23 104 — 22 984 = 120
и приходит, следовательно, к результату 18416 ≡ 120. Теперь настала очередь степени 18432 = 18416 × 18416. Перемножение числа, равного остатку, соответствующему числу 18416, то есть 120 с самим этим числом дает в результате 120 × 120 = 14 400. Модуль 221 содержится в этом числе 65 раз. С помощью следующего расчета
14 400 — 65 × 221 = 14 400 — 14 365 = 35
Тоби находит, что 18432 ≡ 35.
Теперь Тоби уже почти у цели, ибо для того, чтобы вычислить 18435, ему надо вычислить произведение 18432 × 184² × 1841, ибо сумма 32 + 2 + 1 в точности равна 35, то есть величине секретной экспоненты. Тоби Эстерхази пользуется соответствующими остатками и получает 35 × 43 × 184, или 276 920. В этом числе модуль 221 содержится 1253 раза, и вычитание дает:
276 920 — 1253 × 221 = 276 920 — 276 913 = 7.
Таким образом, Тоби Эстерхази получает число, которое, собственно говоря, и прислал Джордж Смайли, так как 18435 ≡ 7.
Смайли хотел попить чаю по ту сторону железного занавеса с агентом 007.
Тоби тщательно пересчитывает результат еще раз, потом еще, ибо даже крошечная ошибка может оказаться смертельной. Однако почему этот метод подсчета с секретной экспонентой 35 работает таким волшебным способом, почему из присланного числа 184 в результате расшифровки получилось число 7, то есть стало ясно желание Смайли встретиться с агентом 007, Тоби Эстерхази не понимает. Он просто делает то, что ему поручено. Делает ради славы Англии, ради Билла Хейдона, своего непосредственного начальника, которому Тоби безусловно предан. И кроме того, ради своего честолюбия — ибо если у него сейчас все получится, то он войдет в лифт, нажмет заветную кнопку и вознесется на самый верхний этаж Цирка, где как небожитель обитает сам Билл Хейдон.
Теперь нам ясно, как работают кудесники-шифровальщики. Правда, открытым остается еще один вопрос.