– Господа, я вас собрал здесь для того, чтобы сообщить о результатах моей работы, выполненной успешно, но, к сожалению, с некоторым опозданием, не зависящим от меня. Я буду краток, но всё же сообщу ход раскодирования, который, как мне думается, – Холмс оглядел нас, – может быть использован в будущем.
– Как видите, в тексте радиограммы используются следующие буквы: в (w), г (g), д (d), к (k), о (o), р (r), c (s), у (u). Таким образом, чтобы получить весь алфавит, с каждой буквой его надо сопоставить комбинацию из пары тех букв, которые я перечислил. Это несложно проверить, так как здесь чётное количество букв. Подобное, конечно, может быть случайностью, но всё же примем это как постулат. Я подсчитал частоту, с которой встречается каждая из комбинаций в тексте, и в соответствии с частотными таблицами получил предполагаемый алфавит. Однако такой приём не прошёл. Это было бы слишком просто, поэтому я стал смотреть глубже и задался вопросом: «Почему были выбраны именно эти буквы?» И тогда, вспомнив, как кодируются эти буквы в азбуке Морзе, понял, что для передачи используются три посылки, состоящие из «точек» и «тире». Так ведь, капитан Ньюбойл?
– Да, верно.
– И натолкнул на эту мысль меня мой друг и коллега доктор Уотсон, – он сделал значительно больший упор на слово «коллега».
Все присутствующие с удивлением посмотрели на меня, и я почувствовал, что краснею.
– Так вот, господа. Получается, что предполагаемые буквы в послании состоят из шести подобных сигналов, и с помощью них можно закодировать до 64 символов. Таким образом, можно предположить, что будут кодироваться только прописные или строчные буквы (их вид определяется по смыслу), цифры, знаки препинания и, возможно, раздел между словами. Но вставал ещё один вопрос: «По какому принципу происходило кодирование?» И тут меня осенило! Что такое «точки» и «тире» по сути своей? Это нули и единицы. А какой самый лучший способ шифрования для подобных чисел? Конечно же, сложение по модулю два!
– Простите, мистер Холмс, – прервал его рассказ директор, – что собой представляет сложение по модулю два?
– Сложение по модулю два используется для двоичных чисел, которые состоят из 0 и 1. Например, 0 – это 0, 1–1, 2 – 10, 3 – 11, 4 – 100 и так далее. Так вот, при сложении 0 и 1 получаем 1, а при сложении двух единиц – 10, а вот главное отличие при сложении по модулю два заключается в том, что 1 плюс 1 равно 0! Этот способ удобен тем, что при сложении исходного текста и ключа получается шифрованный текст, который, если вновь сложить с тем же самым ключом, даст первоначальный текст. Приведу пример. В качестве исходного алфавита возьмём следующее:
В качестве исходного текста возьмем вашу, Уотсон, фамилию, а ключом будет слово «война», и представим её в двоичном виде, добавляя впереди цифр необходимое количество нулей, чтобы их разрядность была равна шести:
Холмс настолько быстро писал, что директор с Ньюбойлом с удивлением переглядывались.
– Соответственно, результат сложения по модулю два будет следующий:
Последнюю букву «Н» в исходном тексте сложим с первой буквой «в» в кодовом слове. А теперь для полученных цифр используем азбуку Морзе, только буквы, о которых я говорил ранее, заменим в ней «точки» нулями, а «тире» единицами:
Полученные при кодировании цифры разобьем по три и заменим их на буквы из алфавита азбуки Морзе:
Выборка из азбуки Морзе
Объединяем их в группы по пять букв и получаем:
– Так вот, – продолжил Холмс прерванную на время объяснения мысль, – сделав предположения по поводу способа кодирования, я стал думать о том, какой ключ используется. Ведь ещё 1883 году Август Керкхофф сформулировал принцип, согласно которому в секрете необходимо держать только ключи шифрования, считая, что вся другая информация известна противнику. Понимая это, и зная, что немцы – я предположил, что они являются самым вероятным противником – люди аккуратные и точные, я понадеялся лишь на то, что длина ключа не слишком большая, иначе расшифровка по одной этой радиограмме была бы вряд ли возможна, – сказав это, Холмс перевёл дыхание, набил трубку, закурил, не обращая внимания на нетерпение директора Intelligence Service, и только после этого продолжил: – Полагая, что радиограмма написана на английском или немецком языках, я стал подставлять разные возможные варианты начальных фраз на этих языках. И одна из фраз на английском попала в цель. Мне повезло. Используемый ключ был длиной всего в 12 символов. Вот этот ключ:
укбслешлэжмх
Алфавит, соответственно, был следующий:
Если бы ключ был размером с текст, то мы вряд ли смогли бы в ближайшем будущем раскрыть этот шифр. Ещё раз повторюсь: нам повезло! Как немцы (в этом уже не приходилось сомневаться, исходя из текста письма) могли допустить такую ошибку, не понимаю, – Холмс ненадолго задумался, пустив очередное кольцо дыма, а потом, спохватившись, протянул лист с расшифрованным посланием директору Intelligence Service. Так как он сидел между мной и капитаном Ньюбойлом, я невольно смог его прочесть. Вот что там было написано.
«Довожу до Вашего сведения, что фон Борк провален. Причиной провала послужил агент «Ольтемонт», на самом деле являющийся сыщиком Шерлоком Холмсом. Поэтому большинство сведений, собранных фон Борком, можно считать фальшивыми. Более полный список я передам через курьера. От себя сообщаю, что Англия не имеет донных мин и практически не защищена от подводных лодок. Передайте фон Герну, что интересующие его материалы получены. Дальнейшая связь будет осуществляться через тайник «У болтанки». Действующий сейчас канал не безопасен. Не забудьте положить очередную сумму на мой счет в Берне. С нами Бог».
– Чёрт побери! – воскликнул директор. – Информатор прав! Мы действительно не защищены с моря. Единственное, информация несколько устарела. Вчера мы приобрели у России сто штук донных мин. Говорил я… – он не договорил, осёкшись, поняв, что в комнате находится много посторонних, которым не следовало слушать его тираду. – Но мы наверстаем, – продолжил он. – Необходимо срочно создать отдел по расшифровке подобных посланий!