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