ГЮЖЁФШП (Дегтярев) - страница 2

―Он нас слышал, ― сказала г-жа Ландсберг.

―А я о чем! ― подтвердил Смартус.

―Не согласен, ― сказал д-р Ландсберг, ― между криптологией и фундаментальной наукой есть существенное отличие.

―Какое же?

Астрофизик задумался. Чтобы дать ему время, хозяйка отвлекла Смартуса:

―Еще кусочек, Адам?

―С удовольствием.

Они перешли к столу, на котором были расставлены блюдца с плюшками, чашки, чайники и прочие предметы, не требующие дешифровки. Г-жа Ландсберг попросила Смартуса научить ее какому-нибудь простому, но надежному методу шифрования: во-первых, это любопытно само по себе, во-вторых, она не хочет, чтобы кто-либо читал ее письма к подруге.

―С еще большим удовольствием, чем бисквит, ― не совсем ловко согласился Смартус и приступил к объяснению:

―Этот метод называется "кодирование с одноразовым блокнотом". Сначала занумеруем все буквы алфавита обычным способом от 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


…и переводим числа в буквы:


Ъ Г В Ч Б П Ё Ц Я Э Ь Ш О Ъ О В С Ё Ы Щ Ъ П Н Н


Это и есть ваша шифрограмма! Для того чтобы ее расшифровать, нужно проделать все операции в обратном порядке. Конечно, ваш адресат должен знать ключ, то есть ту случайную последовательность букв, которую вы использовали для шифрования.