Для решения проблемы распространения ключей при использовании симметричных методов шифрования на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом, или асимметричные криптосистемы. Суть их состоит в том, что каждым адресатом генерируются два ключа, связанные между собой по определенному правилу. Хотя каждый из пары ключей подходит как для шифрования, так и для дешифрирования, данные, зашифрованные одним ключом, могут быть расшифрованы только другим.
Один ключ объявляется открытым, а другой закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне. Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст не может быть расшифрован тем же открытым ключом. Дешифрирование сообщения возможно только с использованием закрытого ключа, известного лишь самому адресату.
Схема шифрования с открытым ключом
Криптографические системы с открытым ключом используют так называемые необратимые или односторонние функции.
Понятие односторонней функции было введено в теоретическом исследовании о защите входа в вычислительные системы. Функция f(х) называется односторонней (one-way function), если для всех значений х из ее области определения легко вычислить значения y=f(x), но вычисление обратного значения практически неосуществимо. То есть по заданному значению у0 нельзя найти такое значение х0, для которого f(х0)=у0. «Практически неосуществимо» в данном случае означает, что требуется такой огромный объем вычислений, который при существующем уровне развития техники невозможно реализовать.
Множество классов необратимых функций порождает все разнообразие систем с открытым ключом.
Алгоритмы шифрования с открытым ключом получили широкое распространение в современных информационных системах. Известно несколько криптосистем с открытым ключом. Наиболее разработана на сегодня система RSA, предложенная еще в 1978 г. Алгоритм RSA назван по первым буквам фамилий его авторов: Р. Л. Райвеста (R. L. Rivest), А. Шамира (A. Shamir) и Л. Адлемана (L. Adieman). Этот алгоритм стал мировым фактически признанным стандартом для открытых систем и рекомендован МККТТ (Международный Консультативный Комитет по телефонии и телеграфии). Также используются алгоритмы: ECC (криптосистема на основе эллиптических кривых), Эль-Гамаль, рюкзачная системы шифрования
Следует отметить, что алгоритмы систем шифрования с открытым ключом можно использовать в качестве следующих инструментов:
• как самостоятельные средства защиты передаваемых и хранимых данных;
• как средства для распределения ключей (алгоритмы систем шифрования с открытым ключом более трудоемки, чем традиционные криптосистемы, поэтому на практике часто бывает рационально передать ключи, объем информации в которых незначителен с их помощью, а потом с помощью обычных алгоритмов осуществлять обмен большими информационными потоками);
• как средства аутентификации пользователей (для создания электронной цифровой подписи).