что разработчиков таких программ приглашают в соответствующие органы и просят поделиться ключами. в ФБР, АНБ или ФАПСИ - не имеет значения. PGP - pretty good privacy - дословно, довольно таки хорошая приатность, она читается стопудово.
Цитата:
Каков механизм защиты закрытых ключей в PGP и насколько этот механизм надёжен? Спецификации стандарта OpenPGP (RFC 2440bis, секция 3.7) предписывают механизм Iterated-salted String-to-Key, и именно он реализован в последних версиях программы:
Ключевая фраза дополняется специальной случайной последовательностью (salt, или привязка, для усложнения атак «по словарю» и получения уникального ключа даже при одинаковых ключевых фразах); Из результирующей строки последовательно вычисляется несколько тысяч 160-битовых хэш-значений (это создаёт цикл задержки, повышающий ресурсоёмкость атаки); Конечный результат конвертируется в симметричный ключ, которым зашифровывается асимметричный закрытый ключ при помощи предпочтительного алгоритма шифрования (Preferred Algorithm в настройках PGP).
Если это 128-битовый алгоритм (IDEA, CAST, AES-128), все лишние биты от 160 битов хэш-значения отбрасываются, оставшиеся используются как ключ. Если это 256-битовый алгоритм (AES-256, Twofish), вычисляется второе хэш-значение ключевой фразы, дополненной одним шестнадцатеричным октетом 00h, оба хэш-значения конкатенируются, все биты сверх 256 отбрасываются, а эти 256 используются как ключ. Для AES-196 и 168-битового TripleDES используется аналогичный метод.
(Подобный механизм применяется и для симметричного шифрования в PGP (Conventional Encryption), только вместо закрытого ключа шифруется симметричный сеансовый ключ, которым зашифрованы данные.)
Такой подход не приводит к снижению стойкости шифрования до длины выхода хэш-алгоритма и гарантирует, что если взломщик не знает вашей ключевой фразы, у него не будет никакой возможности воспользоваться закрытым ключом. Единственное, что остаётся злоумышленнику, это попытаться подобрать ключевую фразу или взломать ключ полным перебором всего пространства ключей, что практически невыполнимо. Надёжность защиты закрытого ключа всецело опирается на качество выбранной ключевой фразы, вот почему критически важно, чтобы она была достаточно сложна.
|