Гибридные шифры

Шифры с открытым ключом тоже имеют недостатки. Во-первых, операции зашифрования/расшифрования требуют значительно больше вычислительных ресурсов и, соответственно, выполняются медленнее, чем при использовании симметричных шифров. Во-вторых, алгоритмы с открытым ключом имеют определённые особенности, которые затрудняют их использование и делают нежелательным применение этих алгоритмов для зашифрования больших объёмов данных. Шифры с открытым ключом, тем не менее, эффективны при распространении ключей симметричных шифров и именно для этой цели они используются в гибридных криптосистемах.

Гибридный шифр использует и симметричный шифр, и шифр с открытым ключом. Сначала генерируется случайный ключ для симметричного шифра, называемый сеансовым ключом. Сообщение зашифровывается симметричным шифром с использованием сеансового ключа. Затем сеансовый ключ зашифровывается открытым ключом получателя. Сеансовый ключ, зашифрованный шифром с открытым ключом, и сообщение, зашифрованное симметричным шифром, автоматически объединяются вместе. Получатель использует свой секретный ключ для расшифровки сеансового ключа и, затем, использует полученный сеансовый ключ для расшифровки сообщения. Так как ключ симметричного шифра передаётся защищённым образом, то для каждого сообщения генерируется новый сеансовый ключ. Дополнительно, появляется возможность зашифровать сообщение сразу для нескольких получателей, при этом к сообщению, зашифрованному сеансовым ключом, добавляется несколько копий сеансового ключа, зашифрованного открытыми ключами разных получателей. И PGP и GnuPG используют именно гибридную схему.

Следует помнить, что гибридный шифр не устойчивее чем слабейший из используемых им шифров. Т.е. если используется слабый симметричный шифр, то не имеет смысла использовать шифр с открытым ключом с огромной длиной ключа.

Обновлено: 11.03.2015