Алгоритм «КЕА» использует для шифрования «МЕК» специальный ключ, названный «ТЕК» (
Шифрование с открытым ключом в стандартном режиме алгоритма «Fortezza» используется только для обмена ключами с использованием «КЕА» и для цифровой подписи сообщений (включая временные метки). В описании алгоритма «Fortezza» обычно используют такие обозначения: 20-байтный закрытый ключ называется «X», 128-байтный открытый ключ называется «Y», «Р» и «Q» — большие простые числа (секретные), «G» — простое число по модулю «PXQ» (общедоступное).
Общий процесс шифрования сообщений с использованием открытого ключа абонента выглядит таким образом. Отправитель шифрует сообщение для получателя, используя открытый ключ получателя «Y» и алгоритм шифрования с открытым ключом. Получатель дешифрует сообщение отправителя с помощью своего закрытого ключа «X». Каждый, кто получит доступ к месту хранения открытых ключей, сможет зашифровать данные для получателя, но только получатель сможет дешифровать эти данные, поскольку никто не знает его закрытого ключа. Генерация и распределение пар открытого и закрытого ключей для организации обмена ключами «КЕА» и цифровой подписи производится для каждого пользователя отдельно в соответствии со специальной процедурой.
Как отмечено выше, алгоритм обмена ключами «КЕА» разработан специалистами АНБ и используется для организации распределения ключей шифрования «МЕК» при информационном обмене и для рассылки секретных ключей пользователям. Основным преимуществом «КЕА» является тот факт, что обе стороны могут вычислить один и тот же «ТЕК» самостоятельно, используя два случайных числа (А и В), собственные параметры Р, Q, G и открытый ключ абонента. Когда «КЕА» используется при информационном обмене, принимающая сторона может получить все значения, необходимые для дешифровки сообщения, вместе с принятым сообщением.
Заметим, что в данном алгоритме значения Р, Q и G, использованные отправителем для первоначальной генерации «ТЕК», а получателем для генерации «ТЕК» при получении сообщения, не передаются по каналам связи и одинаковые для всех пользователей.
Алгоритм обмена ключами «КЕА» применяется как в дополнениях типа электронной почты, так и при информационном обмене между абонентами, логично и/или физически соединёнными между собой в режиме реального времени.
Необходимо отметить, что то же сообщение, адресованное разным абонентам, шифруется с использованием одного ключа «МЕК», однако этот ключ должен быть свёрнут с помощью разных «ТЕК», которые отвечают получателям данного сообщения. Дополнение: адресат должен пересмотреть сообщение и найти «ТЕК», предназначенный для данного пользователя, развернуть «МЕК» и дешифровать полученное сообщение.
Для контроля целостности переданных сообщений, обеспечения подлинности и невозможности отрицания авторства технология «Fortezza» использует алгоритм цифровой подписи «DSA» и алгоритм безопасного хэширования «SHA-1» (
После вычисления хэш-функции сообщения, 20-байтний хэш-блок превратится с помощью алгоритма «DSA» в цифровую подпись сообщения размером 40 байт. Необходимо обратить внимание на расхождение в использовании параметров Р, Q и G в алгоритмах распределения ключей «КЕА» и цифровой подписи «DSA». При проверке цифровой подписи сообщения отправителя получатель должен иметь доступ к значениям Р, Q и G отправителя. Эти параметры должны распространяться или в заглавии сообщения, или вместе с открытым ключом отправителя.
С целью снабжения каждого пользователя набором собственных значений Р, Q и G прикладная библиотека «CI Library» имеет соответствующие функции загрузки этих значений. Такое расхождение в использовании этих параметров связано с возможностью «DSA», в отличие от «КЕА», поддерживать информационный обмен между пользователями разных доменов, которые могут различаться процедурами распространения и сертификации ключей.
На момент создания технологии «Fortezza» не существовало правительственных или промышленных стандартов временных меток цифровой подписи. Для «привязки» сообщений ко времени их создания применяется дополнительная процедура вычисления хэш-функции от хэш-блока сообщения и текущего времени, взятого из надёжного источника (например, криптокарты «Fortezza»).