И на заре криптографической науки, и в наши дни самым крупным из неудобств является ключевой обмен. Все существовавшие криптографические решения — от шифра Цезаря до «Энигмы» и одноразового ключа — требовали, чтобы и отправитель, и получатель владели экземпляром ключа. Но если принять во внимание, что передача незашифрованного ключа позволяет перехватчику информации дешифровать любые последующие сообщения, закодированные с его помощью, то даже в случае электронных сообщений возникала нужда в физическом обмене ключами. Это было весьма проблематичным даже для правительств и военных ведомств, не испытывавших недостатка в финансировании.
Вот так и случилось, что данная проблема в начале 1970-х годов завладела вниманием Уитфилда Диффи; однако ему никак не удавалось найти того, кто бы разделил его заинтересованность, пока один криптограф из нью-йоркского Исследовательского центра Томаса Уотсона под эгидой IBM не порекомендовал ему поговорить с профессором из Стэнфорда Мартином Хеллманом. Они встретились, поговорили, и Хеллман взял Диффи аспирантом в свою исследовательскую лабораторию, где вместе с третьим сотоварищем Ральфом Мерклем они сосредоточили усилия на решении проблемы распространения ключей.
Вскоре стало ясно, что решение лежит в области вычислительно необратимых функций — односторонних математических функций, обратное значение которых очень трудно вычислить. Представьте себе, что вы смешиваете краску различных оттенков или разбиваете яйца — действительно, их часто называют «функциями Шалтая-Болтая»[320].
А тем временем Диффи добился независимого прорыва, на пике вдохновения создав первый асимметричный шифр. В отличие от любых ранее известных кодов, асимметричные шифры не требуют, чтобы отправитель и получатель обладали одинаковым ключом. Вместо этого отправитель (Алиса) отдает свой открытый ключ Бобу, а Боб использует его, чтобы зашифровать послание Алисе. Алиса расшифровывает его, пользуясь личным ключом. И больше не имеет значения, что Ева (которая перехватила их беседу) также владеет открытым ключом Алисы, потому что единственное, что она в состоянии с ним сделать, — это зашифровать сообщение, которое сможет прочесть только Алиса.
В следующем году математики из MIT Рональд Ривест, Ади Шамир и Леонард Эйдельман разработали RSA — метод внедрения асимметричного шифра Диффи, который используется и по сей день[321]. Подобно ключевому обмену Диффи — Хеллмана — Меркля, в основе RSA лежит односторонняя модульная функция. В этом случае функция требует, чтобы Алиса выбрала два очень больших простых числа и перемножила их, получив в результате число