Схема шифрования с открытым ключом (рис. 4) складывается из следующих компонентов:
Открытый текст (plaintext). Это исходное сообщение или данные, подаваемые на вход алгоритма шифрования.
Алгоритм шифрования (encryption algorithm). Алгоритм, выполняющий определенное преобразование открытого текста.
Открытый (public key) и личный (privace key) ключи. Пара ключей, выбираемых таким образом, чтобы тогда, когда один из них применяется для шифрования, второй можно было бы использовать для расшифровки.
Шифрованный текст (ciphertext). Перемешанный текст сообщения, получаемый на выходе алгоритма. Зависит от открытого текста и ключа. Для одного и того же сообщения два разных ключа порождают разные шифрованные тексты.
Алгоритм расшифровки (decryption algorithm). Алгоритм, с помощью которого с использованием соответствующего ключа обрабатывается шифрованный текст, чтобы в результате получился открытый текст.
При такой схеме шифрования выполняются следующие шаги:
Каждый пользователь создает пару ключей, которые предполагается использовать для шифрования и расшифровки сообщений.
Каждый из ключей, входящих в пару, открытый и личный, подходит для расшифровки сообщения, зашифрованного с применением другого ключа из той же пары. Зная открытый ключ, личный вычислить невозможно.
Каждый пользователь публикует один из ключей, размещая этот ключ в открытом для всех реестре или доступном другим файле.
Это и есть открытый ключ. Второй ключ, соответствующий открытому, остается в личном владении и должен сохраняться в секрете.
Собираясь послать Натали сообщение, Серёга шифрует его, используя открытый ключ Натали.
Натали, получив сообщение, расшифровывает его с помощью своего личного ключа. Другой получатель не сможет расшифровать сообщение, поскольку личный ключ Натали знает только Натали.
В рамках этого подхода все участники имеют доступ к открытым ключам, а личные ключи создаются на месте каждым участником для себя и поэтому их никогда не приходиться распределять. До тех пор пока системе удается сохранять свой личный ключ в секрете, поступающие сообщения оказываются защищенными. В любой момент система может изменить свой личный ключ и опубликовать соответствующий ему открытый ключ, заменяющий старый открытый ключ.
Ключи, используемые в схемах традиционного шифрования, называются секретными ключами. Пара ключей, используемых в схемах шифрования с открытым ключом, называются открытым ключом и личным ключом. Личный ключ, должен храниться в секрете, но называется личным, а не секретным во избежание путаницы с ключом, используемым в схеме традиционного шифрования.