Составные криптографические системы
Сравнительный анализ показателей эффективности используемых в настоящее время криптографических систем показывает, что алгоритм шифрования двухключевых систем значительно медленнее классического алгоритма с секретным ключом. В то же время шифрование сообщений с открытым ключом обладает рядом преимуществ, которые невозможно реализовать в одноключевых системах.
Данное обстоятельство побудило многих специалистов по криптографии к поиску криптосистем, сочетающих в себе достоинства как одноключевых, так и двухключевых систем.
В 1991 году американский криптолог Ф. Зиммерманн предложил использовать так называемые составные криптографические системы, основанные на совместном применении систем с открытым и секретным ключами. В качестве конкретной реализации такого подхода был разработан и опубликован для широкого круга пользователей криптографический алгоритм PGP {Pretty Good Privacy). Принцип работы этого криптоалгоритма показан на рис. 5.29.
Рис. 5.29. Криптоалгоритм PGP
Для шифрования открытого текста X используется качественный и быстрый алгоритм симметричного шифрования с секретным ключом. В качестве секретного ключа применяется случайное число, используемое как сеансовый ключ Z. Кроме того, сеансовый ключ Z шифруется с помощью открытого ключа получателя Zo при использовании несимметричного шифрования. Зашифрованные текст в виде Y=Ez(X) и сеансовый ключ в виде K=Ezo(Z) отправляются получателю.
Процесс расшифрования является обратным по отношению к шифрованию. Секретный ключ получателя Zc используется для восстановления сеансового ключа Z, который, в свою очередь, служит ключом симметричного расшифрования Dz(Y) получаемого текста.
Практические разработки криптоалгоритма PGP и последующий анализ его криптостойкости показывают, что он становится все более популярным в мире. Более того, рабочая группа по стандартам Интернета (IETF) рассматривает алгоритм PGP как возможный официальный стандарт этой глобальной сети, который будет рекомендован всем производителям программного обеспечения.