Система с открытым ключом генерирует закрытый ключ и на его основе генерирует открытый ключ и по открытому каналу отсылает ключ пользователю j. Он создаёт закрытый ключ и открытый ключ и отправляет ключи i.
Открытый ключ создаётся из закрытого ключа с помощью однонаправленных функций, которые легко вычисляются в одном направлении и трудно вычисляются в обратном направлении.
Пользователь i с помощью функции F из своего закрытого ключа и открытого ключа пользователя j формирует ключ шифрования kij. Пользователь j с помощью функции F* из своего закрытого ключа и открытого ключа пользователя i выбирает ключ шифрования kji.
Однонаправленная функция создаётся открытыми ключами из закрытых ключей и функции F и F* разработаны так, что применение функции F к паре аргументов SjPi даёт один и тот же результат, т.е. kij = kji.
Чтобы гарантировать надёжную защиту информации, к системе с открытым ключом предоставляются следующие требования:
1. Преобразование исходного текста должно быть необратимым и должно исключать его восстановление на основе открытого ключа.
2. Определение закрытого ключа на основе открытого ключа должно быть невозможным.
Применение систем с открытым ключом:
– как самостоятельное средство защиты;
– как средство для распределения ключей;
– как средство аутентификации пользователя (ЭЦП).