―Он нас слышал, ― сказала г-жа Ландсберг.
―А я о чем! ― подтвердил Смартус.
―Не согласен, ― сказал д-р Ландсберг, ― между криптологией и фундаментальной наукой есть существенное отличие.
―Какое же?
Астрофизик задумался. Чтобы дать ему время, хозяйка отвлекла Смартуса:
―Еще кусочек, Адам?
―С удовольствием.
Они перешли к столу, на котором были расставлены блюдца с плюшками, чашки, чайники и прочие предметы, не требующие дешифровки. Г-жа Ландсберг попросила Смартуса научить ее какому-нибудь простому, но надежному методу шифрования: во-первых, это любопытно само по себе, во-вторых, она не хочет, чтобы кто-либо читал ее письма к подруге.
―С еще большим удовольствием, чем бисквит, ― не совсем ловко согласился Смартус и приступил к объяснению:
―Этот метод называется "кодирование с одноразовым блокнотом". Сначала занумеруем все буквы алфавита обычным способом от 1 до 33*. Затем перепишем ваше сообщение, заменяя буквы их номерами. Что мы будем отправлять?
―Пускай, "Адам Смартус любит бисквиты".
―Я бы вставил слово "гениальный" в самом начале, ну да ладно… Нам понадобится бумага и ручка.
Лансдсберг пожертвовал счетом за телефон. Ручка оказалась у Смартуса в кармане. Он написал:
А Д А М С М А Р Т У С Л Ю Б И Т Б И С К В И Т Ы
Следующая строчка потребовала некоторых вычислений. Запутавшись в нумерации букв, Смартус быстро нашел оправдание:
―Это учебный пример, и точность здесь необязательна. Тем более что в любом канале связи существуют помехи.
Вторая строчка получилась такой:
1 5 1 14 19 14 19 14 1 18 20 21 19 13 32 2 10 20 2 10 19 12 3 10 20 29
―Теперь важный шаг. Мы должны выбрать случайную последовательность букв той же длины, что и сообщение. Чем случайней последовательность, тем надежнее шифр.
Методом тыканья наугад в клавиатуру (Ландсберг великодушно ее уступил) родилась вот какая последовательность букв:
Щ Ю Б Й О В Е Е Л И Й Л П Ш Е О П Ь И Н Ч Ё Ъ С
―Ее мы тоже перепишем посредством цифр:
27 32 2 11 16 3 6 6 13 10 11 13 17 26 6 16 17 30 10 15 25 7 28 19
Итак, у нас есть две последовательности чисел: исходная, то есть незашифрованная, и случайно выбранная, которую следует запомнить и никому не показывать. Сложим эти две последовательности: перовое число с первым, втрое со вторым, третье с третьим и так далее. Если сумма каких-нибудь чисел получается больше тридцати трех, то уменьшим ее ровно на тридцать три:
28 4 3 25 2 17 7 24 33 31 30 26 16 28 16 3 19 7 29 27 28 17 15 15
…и переводим числа в буквы:
Ъ Г В Ч Б П Ё Ц Я Э Ь Ш О Ъ О В С Ё Ы Щ Ъ П Н Н
Это и есть ваша шифрограмма! Для того чтобы ее расшифровать, нужно проделать все операции в обратном порядке. Конечно, ваш адресат должен знать ключ, то есть ту случайную последовательность букв, которую вы использовали для шифрования.