В конце 1960-х годов британские вооруженные силы уже вполне реально ощущали наступление эры высоких технологий, сулившей обеспечить каждого бойца собственным входом в тактическую радиосеть. Перспективы разворачивания таких сетей обещали грандиозные перемены в упрощении руководства военными операциями, однако ставили и очень серьезные проблемы перед службой, отвечающей за безопасность и засекречивание подобной связи. Настоящей головной болью становилась необходимость распределения и управления гигантскими количествами криптоключей, причем передавать каждый из ключей надо было в строжайшем секрете от неприятеля.
Поэтому в 1969 году одному из выдающихся творческих умов ШКПС по имени Джеймс Эллис было поручено поразмышлять как следует над возможным выходом из столь безнадежной ситуации. Эллис слыл в спецслужбе одним из тех эксцентричных и гениальных чудаков, которые время от времени рождают блестящие идеи, украшают своим даром всякий творческий коллектив, и которых, однако, опасаются назначать на сколь-нибудь ответственные руководящие посты.
Поначалу для Эллиса, как и для всех, было очевидно, что не может быть никакой засекреченной связи без секретного ключа, какой-то другой секретной информации, или по крайней мере какого-то способа, с помощью которого законный получатель находился бы в позиции, отличающей его от того, кто перехватывает передачи. В конце концов, если бы они были в одинаковом положении, то как один имел бы возможность получать то, что другой не может?
Но тут, как это часто случается накануне открытия, внимание Эллиса привлекла давнишняя, времен войны техническая статья неизвестного автора из компании Bell-Telephone, в которой описывалась остроумная, но так и не реализованная идея засекречивания телефонной связи. Там предлагалось, чтобы получатель маскировал речь отправителя путем добавления в линию шума. Сам получатель впоследствии мог вычитать шум, поскольку он же его и добавлял и, следовательно, знал, что тот собой представляет.
Принципиально же важным моментом было то, что получателю уже не было нужды находиться в особом положении или иметь секретную информацию для того, чтобы получать засекреченную речь… Первичный идейный толчок оказался достаточным: различие между описанным и общепринятым методом шифрования заключалось в том, что здесь получатель сам принимает участие в процессе засекречивания.
Далее перед Эллисом встал достаточно очевидный вопрос: «А можно ли нечто подобное проделать не с каналом электрической связи, а с обычным шифрованием переписки?» Как известно, для решения задачи главное – правильно сформулировать вопрос, поэтому как только однажды (ночью в постели) вопрос уложился у Эллиса в нужную форму, то доказательство теоретической возможности этого заняло всего несколько минут. Родилась «теорема существования». То, что было немыслимо, на самом деле оказалось вполне возможным.
Так Эллис пришел к схеме, позже получившей название «криптография с открытым ключом», сам же он назвал свою концепцию «несекретное шифрование». Суть концепции, сформулированной и формально подтвержденной к началу 1970 года, сводилась к схеме из открытого и секретного ключа, управляющих однонаправленной математической операцией. Правда, поскольку Эллис был прежде всего экспертом в системах коммуникаций, а не в математике, то его революционная концепция не была доведена до конкретных математических формул. На начальство доклад Эллиса произвел большое впечатление, однако никто не смог решить, что с этими экзотическими идеями делать… и на несколько лет дело полностью встало.
А вот что происходило точно в то же самое время по другую сторону океана, в Стэнфордском университете. Здесь на рубеже 1969—1970 гг. молодой профессор Мартин Хеллман начал заниматься вопросами проектирования электронных коммуникационных систем, активно привлекая математический аппарат криптографии и теории кодирования. Этими вещами он увлекся с тех пор, как прочитал военного периода статьи Клода Шеннона по теории информации и криптографии, опубликованные в 1948 и 1949 годах. По рассказам Хеллмана, до этого он «и представить себе не мог, насколько тесно связаны шифрование и теория информации».
В статьях Шеннона вопросы кодирования рассматривались в связи с задачей снижения шумов электростатических помех, мешающих передаче радиосигналов. Хеллману стало ясно, что «шифрование решает диаметрально противоположную задачу. Вы вносите искажения при помощи ключа. Для того, кто слышит сигнал и не знает ключа, он будет выглядеть максимально искаженным. Но легитимный получатель, которому известен секретный ключ, может удалить эти помехи»… Нетрудно заметить, что траектория выхода на изобретение у Хеллмана обозначилась по сути дела та же самая, что и у Эллиса.
Но в те времена ни информативных книг, ни справочников по криптографии у академических ученых практически не было, поскольку эта наука считалась строго засекреченным делом военных и спецслужб. Пытаясь объединить разрозненные идеи по шифрованию данных, Хеллман одновременно искал единомышленников. Но случилось так, что главный единомышленник вышел на него сам.
В сентябре 1973 года Хеллмана нашел Уитфилд Диффи, выпускник МТИ и молодой сотрудник Стэнфорда, страстно увлеченный криптографией. Их получасовая встреча плавно перешла в обед у Хеллмана, после чего разговоры затянулись далеко за полночь. С этого момента Хеллман и Диффи начали совместно работать над созданием криптосхемы для защиты транзакций покупок и продаж, выполняемых с домашних терминалов. Главная проблема, которую с подачи Диффи поставили перед собой ученые, сводилась к следующему: «Как (не пересылая секретный ключ) получать сообщение и преобразовать его таким образом, чтобы его воспринимали только те, кому оно предназначено, а посторонним информация была бы недоступна»…
В том же самом сентябре того же 1973 года, но уже в Великобритании на работу в ШКПС пришел молодой талантливый математик Клиффорд Кокс, только что закончивший Кембридж и весьма продвинутый в теории чисел (которую в те времена обычно расценивали как один из наиболее красивых и самых бесполезных разделов математики). Уже на начальном этапе его вхождения в курс работы кто-то из наставников поведал Коксу о «воистину кучерявой» концепции несекретного шифрования. Идея крайне заинтересовала молодого человека, и он начал играть с ней в контексте простых чисел и проблем факторизации (разложения чисел на множители).
Буквально через полчаса Кокс пришел к той схеме, которой будет суждено через несколько лет стать знаменитой под именем RSA, или алгоритм Ривеста-Шамира-Адлемана. Сам же Кокс в тот момент воспринимал свое открытие просто как решение достаточно тривиальной математической головоломки. Он был весьма удивлен тем, в какое волнение и даже возбуждение пришли его коллеги. Но руководство ШКПС вновь не стало предпринимать каких-либо шагов к практической реализации идеи, поскольку для широкого внедрения целочисленных операций над огромной длины числами требовались вычислительные мощности, чересчур дороговатые по тем временам.
Несколько месяцев спустя на работу в ШКПС поступил другой даровитый математик по имени Мэлколм Уильямсон, приятель Кокса еще со школьных лет. Когда Кокс рассказал другу о любопытной криптосхеме, то недоверчивый Уильямсон решил, что она чересчур красива, чтобы быть правдой, и поэтому ринулся отыскивать в ней скрытые дефекты. Слабостей ему найти так и не удалось, но зато в процессе поисков он пришел к еще одному элегантному алгоритму формирования общего ключа шифрования. Другими словами, в 1974 году Уильямсон открыл то, что уже почти родилось в Америке и совсем скоро станет известно как схема распределения ключей Диффи-Хеллмана-Меркля.
Ни одну из изобретенных криптосхем в ШКПС патентовать не стали, поскольку патентная информация становилась известна широкой публике, а абсолютно все работы велись спецслужбой в условиях строжайшей секретности. Когда в 1976 году Диффи и Хеллман объявили о своих открытиях, то Уильямсон попытался было склонить руководство ШКПС к публикации полученных английскими криптографами результатов, однако молодому человеку не удалось пробить железобетонный консерватизм начальства, которое предпочло не нарушать традиций и не высовываться со своими приоритетами.
Через несколько лет, благодаря знакомствам в АНБ США, любопытный Уитфилд Диффи все же прослышал о работах в ШКПС и даже самолично ездил в Челтнем со своей женой, чтобы встретиться и пообщаться с Джеймсом Эллисом. Встреча была крайне теплой и приветливой, однако Эллис, по рукам и ногам повязанный обязательством хранить служебные тайны, самым вежливым образом уклонялся от всех попыток Диффи перевести разговор в русло криптографии. В конце концов, когда потерявший терпение и менее склонный к политесу Диффи в лоб спросил Эллиса о его роли в создании криптографии с открытым ключом, тот на некоторое время замолк, а потом тихо-тихо прошептал: «Ну не знаю я, сколько здесь можно рассказывать. Позвольте я лишь скажу, что вы, ребята, сделали со всем этим гораздо больше, чем мы»…