Читаем Корпорация «Попс» полностью

— Питер, разве я когда-нибудь слышала о чем-нибудь научном, прежде чем ты или Бет мне об этом рассказывали? Давай, выкладывай. Судя по названию, это чертовски сложно.

Дедушка начинает как бы с введения в тему, объясняет проблемы криптографии и говорит, что история показала: даже предположительно неразрешимые шифры рано или поздно всегда поддаются криптоанализу. Рассказывает, как Чарлз Бэббидж сто лет назад взломал шифр Вигенера, а оперативники в Блэтчли-Парке победили «Энигму». В результате все трое принимаются по-всякому комментировать войну, а бабушка рассказывает что-то про Тьюринга и Блэтчли-Парк, пока мы приканчиваем торт.

— Таким образом, — говорит дедушка, встав, чтобы поставить кофе на плитку. — Криптографам был брошен вызов: придумать нечто поистине неразрешимое. После поражения «Энигмы» счет был однозначно не в их пользу. А теперь, Алиса, скажи Джасмин, какова величайшая проблема криптографии.

Это я-то? Нервно сглатываю. Какова величайшая проблема криптографии? Велю мозгу дать задний ход и пытаюсь вспомнить все беседы, которые мы имели по этому поводу.

— Распространение ключа? — неуверенно говорю я.

— Видите? Я же говорил, она гений, — ликует дедушка. — Совершенно верно. Распространение ключа. Большинство шифров кодируются и декодируются одним и тем же ключом — часто это случайный набор цифр и букв или какое-то слово. Я мог бы решить общаться с тобой, используя Вигенеров шифр или даже моноалфавитный. Мы оба знали бы, что слово-ключ — скажем, «лапсанг». Нет проблем. Я использую слово-ключ, чтобы закодировать послание, а ты его декодируешь с помощью того же слова.

— Как закодировать послание словом «лапсанг»? — спрашивает Джасмин.

Моя бабушка улыбается.

— Не спрашивай его. Мы тут всю ночь проторчим.

Мы дружно хохочем. Да уж, это правда.

И все же, чтобы Джасмин было понятно, он быстро объясняет, как составить шифровальный алфавит на основе слова «лапсанг» (только, разумеется, без второй буквы «а»), добавив к нему все остальные буквы алфавита в обратном порядке. Он пишет на клочке бумаге что-то вроде этого:



Если и отправитель, и адресат знают, что слово-ключ — лапсанг,любое послание будет легко расшифровать (впрочем, дедушка не объясняет, что любое послание, так зашифрованное, с легкостью расшифровывается частотным анализом).

— И вот вдруг, скажем, наш ключ попал в руки врага, — продолжает он. — Нам потребуется его изменить. Но как мне, отправителю, сообщить новый ключ тебе, адресату? Что, если, дабы не компрометировать ключ, мы решим менять его каждый день? Нам все равно придется сообщать его друг другу. Я мог бы позвонить тебе по телефону и сказать: «Теперь ключ — слово дарджилинг», но телефон могут прослушивать. Будь мы уверены, что он не прослушивается, могли бы обмениваться секретной информацией по нему, и не надо никаких шифров.

— Понимаю, — кивает Джасмин. — Чтобы отправить тайное послание, зашифрованное с помощью ключа, надо сперва передать адресату не-тайное послание, сообщающее, каков теперь ключ.

— Именно, — говорит дедушка. — И это — ахиллесова пята, точка, в которой враг может перехватить информацию.

— А что, если каждый день посылать шифровку, а потом тем же шифром сообщать новый ключ?

Дедушка переносит чайник на стол и достает из буфета лучшие кофейные чашки.

— Люди пользовались подобными методами, — объясняет он. — Но понимаешь, стоит в такой ситуации врагу расшифровать одно послание, и получается бесконечное кольцо. Взломав лишь один код, они смогут раз за разом взламывать их дальше.

— Ах, — сокрушается Джасмин. — Ну, и как же тогда быть? Я знаю, об этом ты и хочешь мне…

— Ну, есть пара способов. Первый, известный как «система обмена ключами Диффи — Хеллмана — Меркла» — его так назвали в честь изобретателей, [101]— основан на невозвратных функциях и модульной арифметике, о которых Бет знает побольше моего.

Бабушка улыбается:

— Поверь мне, Джасмин, тебе этого знать не надо. Но по сути, это сложный математический трюк: два человека задумывают числа, прогоняют их через функцию — гораздо сложнее, чем «возьмите число, удвойте и прибавьте пять», хотя и похожую, — а потом обмениваются результатами. Замечателен этот метод тем, что даже если оба результата будут перехвачены, враг не сможет взломать код, так как для этого нужно знать не результат, а хотя бы одно из первоначальных чисел. Объяснить это очень сложно, но трюк и впрямь жутко хитрый. Широкого применения он не получил, ибо оказался непрактичным. Отправителю приходится каждый раз загодя связываться с адресатом, если нужно отправить шифровку. Но по крайней мере с математической точки зрения это шедевр. Представь: можно обмениваться ключами не тайно, а на виду у всех; даже если враг подслушает ваши слова — все равно. Полный блеск.

Дедушка прихлебывает кофе.

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже