Именно Гай Юлий Цезарь, по сообщениям историков, изобрел так называемый секретный алфавитный код Цезаря, который использовал для связи со своими легатами в регионах. Цезарь посылал им шифрованные сообщения со сдвигом на три позиции в алфавите: вместо буквы А он писал букву D, вместо В – E и т.д. Этой шифровки было достаточно, чтобы неразумные варвары, даже перехватив сообщение, не смогли бы его прочитать. Код Цезаря – это шифр с разделяемым секретом шифрования и дешифрования. Его функционирование основано на том, чтобы обе стороны – отправитель и получатель – заранее при встрече договаривались о некоем общем секрете. В данном примере секретом является параметр сдвига – цифра три. Используя имеющееся знание, которого нет у перехватчика, отправитель и получатель могут обмениваться информацией, будучи уверенными в ее конфиденциальности. Кроме того, легат мог быть вполне уверен, что отправителем послания являлся сам император, ведь никто кроме него не знал секретный код.
Интересно, что за последующие 2000 лет принципиально ничего не изменилось. Конечно, технологии развивались, и появлялись гораздо более сложные коды типа шифра Виженера, хитроумные шифровальные машины типа «Энигмы», использовавшейся во время Второй мировой войны. Однако принцип остался прежним: сторонам необходимо встретиться, договориться о разделении секрета, чтобы потом, уже разъехавшись, они могли обмениваться информацией на основании общего секретного кода.
Электронные коммуникации конца XX века сформировали новые вызовы. Появление Интернета поставило прежнюю схему обмена секретными данными под сомнение. Конечно, очень хочется уметь шифровать информацию при передаче через Интернет данных о кредитных карточках. Также очень хочется уметь на расстоянии идентифицировать покупателя в интернет-магазине. Однако какой будет смысл совершения покупки в интернет-магазине, если предварительно придется в этот магазин ехать и договариваться о секретном коде?
Иными словами, было непонятно, есть ли ответы на новые жизненные вызовы и возможны ли иные подходы к шифрованию информации и аутентификации. Однако такие подходы были найдены. В 1976 году два американских математика Уитфилд Диффи и Мартин Хеллман опубликовали работу о так называемой «односторонней функции-ловушке». Они предложили теоретическую модель инфраструктуры открытых ключей – механизма, на базе которого построены все современные системы электронной цифровой подписи. Суть работы механизма такова: представим себе, что у нас есть некая односторонняя функция, которая очень легко преобразует одно число в другое, однако обратное преобразование будет выполнить очень сложно. Классическим примером односторонней функции-ловушки служит произведение двух больших простых чисел. Умножить два больших простых числа очень легко, для компьютера это операция миллисекундная. При этом разложить большое число на простые множители очень сложно. Эта операция может занимать годы, даже столетия – в зависимости от длины числа.
Теперь, если у нас есть такая функция, то каждый участник системы обмена документами может придумывать первый, секретный, параметр функции, по нему с помощью односторонней функции вычислять второй, открытый, параметр и его публиковать. В этой ситуации можно не бояться, что секретный параметр будет узнан, поскольку функция в обратную сторону не действует. Это позволит людям обмениваться защищенными сообщениями, не встречаясь друг с другом и не разделяя секрета. У каждого участника системы будут закрытый и открытый ключи. Чтобы послать кому-то сообщение, человек его шифрует с помощью открытого ключа получателя – единственного человека, который сможет это сообщение прочитать, поскольку будет обладать парным закрытым ключом.
В 1977 году, уже через год после работы Диффи и Хеллмана, появилась первая практическая схема, работающая на открытых ключах. Ее предложили Рональд Райвест, Ади Шамир и Леонард Адлеман, по первым буквам их фамилий эта схема получила название RSA. Сегодня – беспрецедентный случай для теоретической математики – компания RSA Security, оцениваемая примерно в 2 млрд долларов, является крупнейшим игроком на мировом рынке информационной безопасности.
Все вышесказанное очень хорошо иллюстрирует то, что может случиться с технологиями: 2000 лет они оставались неизменными, но потом изменилась технологическая парадигма, появились новые носители, интернет-коммуникации, были предъявлены новые требования, и был найден новый способ обмена секретной информацией. Стало ясно, что можно обеспечить информационную безопасность на расстоянии для людей, которые никогда друг друга не видели.
Вернемся снова к политике.