Когда нацисты заменили «Энигму» на «Лоренц» — защищенное средство кодирования телеграфных сообщений для радиопередач, известное в Англии под названием «Танни» — британский инженер Томми Флауэрс создал своего «Колосса» — первый программируемый электронный цифровой компьютер. Хотя проект держался в секрете вплоть до 1970-х годов и все связанные с ним записи были уничтожены, несколько лиц, работавших на проекте, продолжили усилия по разработке нового поколения электронных компьютеров[235]
. Их труды основывались главным образом на двух статьях, опубликованных Клодом Шенноном[236] в конце 1940-х годов: «Математическая теория связи»[237] и «Теория связи в секретных системах»[238], которые заложили основы теории информации и доказали, что любой теоретически нераскрываемый шифр может обладать свойствами одноразового кода.Одноразовый код был разработан в конце XIX века и открыт заново в конце Первой мировой войны. Его концепция требует, чтобы и отправитель, и получатель владели ключом, составленным из цепочки случайных цифр, длина которой как минимум равна длине самого сообщения. Каждая цифра обозначает требуемую величину сдвига — количество позиций алфавита, на которое следует передвинуть букву вперед или назад. При этом криптоаналитик не имеет возможности декодировать сообщение при помощи частотного распределения. Еще требуется, чтобы ключ был целиком случайным. Штаб правительственной связи Великобритании адаптировал схемы проекта «Колосс» для генерирования одноразовых криптографических шифров на основе случайных помех. Это дало возможность избежать как ловушек механических генераторов ключей типа «Энигмы» и «Танни», так и уязвимости операторов-людей, которые могли случайно воспользоваться своими одноразовыми шифрами повторно[239]
. В других генераторах одноразовых шифров использовался радиоактивный распад или шарики воска внутри лавовых ламп[240]. Но какие бы методы генерации ключей ни применялись, одноразовый код на практике обходится так дорого, что используется только в самых экстраординарных ситуациях — к примеру, для общения лидеров мирового сообщества.Если в эпоху Ренессанса прогрессом криптографических инноваций двигали интриги королей и принцев, компьютеры и холодная война послужили той же цели для целого поколения криптографов, вошедших в зрелый возраст во время и после Второй мировой войны. До 70-х годов XX века криптография была уделом военных и разведывательных ведомств, которые финансировали разработку все более мощных компьютеров и изощренного программного обеспечения для нужд криптографии и криптоанализа.
Но три новшества 70-х годов отворили двери современной криптографии для всех любознательных гражданских лиц. Первым новшеством была публикация в 1976 году Стандарта шифрования данных (DES) — алгоритма с симметричным ключом, разработанного IBM, Национальным бюро эталонов (ныне известным как Национальный институт стандартов и технологии, или NIST) и Агентством национальной безопасности (АНБ). Именно АНБ настояло, что алгоритм должен содержать не более 56 бит, или 100 000 000 000 000 000 ключей — это количество, по мнению АНБ, гражданские компьютеры не взломают, в то время как его собственные смогут декодировать относительно легко[241]
. По словам специалиста по технологиям безопасности Брюса Шнейера, «DES сделал для прогресса в сфере криптоанализа больше, чем что-либо другое. Теперь имелся алгоритм, который можно было подвергнуть исследованию»[242].В том же году Уитфилд Диффи и Мартин Хеллман выступили с критикой «хромого» DES-алгоритма АНБ, утверждая, что даже если современные компьютеры и не могут его взломать, через несколько лет все изменится. Опубликованная ими статья «Новые направления в криптографии»[243]
вводила концепцию открытого ключа асимметричной криптосистемы — первой открытой для всех технологии шифрования, не уступающей правительственным системам. В своей статье в New York Times Magazine за 1994 год Стивен Леви утверждал: «С того самого момента, как Диффи и Хеллман обнародовали в 1976 году свои выводы, криптомонополии АНБ пришел конец»[244].«Новые направления в криптографии» предлагали концепцию «криптосистемы открытого ключа», но не метод ее воплощения в жизнь. Год спустя математики MIT Рональд Ривест, Ади Шамир и Леонард Эйдельман разработали так называемый RSA[245]
— асимметричный криптографический алгоритм как раз для вышеозначенной цели[246]. Теперь имелись налицо все кусочки мозаики, чтобы в 1980-х годах могло родиться на свет движение киберпанк[247].