Руководство GNU по обеспечению конфиденциальности

       

Шифры используемые в GnuPG


В данном разделе содержатся краткие сведения об используемых в GnuPG шифрах. При выборе предпочитаемых алгоритмов шифрования следует учитывать, что в других реализациях OpenPGP некоторых из перечисленных шифров может не быть. Стандарт требует, чтобы в любой реализации имелись 3DES, DSA, ElGamal для шифрования и SHA1. Другие шифры могут отсутствовать.

Таблица 2.1. Симметричные шифры

НазваниеРазмер блока, битДлина ключа, битОписание
IDEA64128IDEA (International Data Encryption Algorithm) разработали Джеймс Мэсси (James Massey) и Ксуэджа Лай (Xuejia Lai) в 1991 году. Алгоритм используется в PGP 2.x и необходим для обмена информацией с пользователями PGP 2.x. Алгоритм запатентован и поэтому в основной дистрибутив GnuPG не входит, но может быть подключен в виде модуля расширения.
3DES641683DES (Triple-DES) шифр заключающийся в троекратном шифровании с помощью алгоритма DES - американского стандарта блочного шифрования до 2002 года. Сравнительно медленный, но зато имеется в любой реализации стандарта OpenPGP (RFC 2440).
CAST564128CAST5 (CAST-128) - алгоритм описанный в RFC 2144. Обладает высокой скоростью работы. Совместим с большинством реализаций.
Blowfish64128Разработан Брюсом Шнайером в 1993 году.
AES128128AES (Advanced Encryption Standard). Американский стандарт блочного шифрования (FIPS PUB 197) с 2001 года, разработаный на основе алгоритма Rijndael.
AES192128192
AES256128256
Twofish128256Разработан группой специалистов во главе с Брюсом Шнайером в качестве кандидата на AES.

Таблица 2.2. Алгоритмы с открытым ключом

НазваниеОписание
RSAАлгоритм RSA разработан Рональдом Райвестом (Ronald Rivest), Ади Шамиром (Adi Shamir) и Леонардом Адлеманом (Leonard Adleman) в 1978 году. Это первый алгоритм с открытым ключом, получивший широкое распространение. Алгоритм может использоваться как для подписи, так и для шифрования.
ElGamalАлгоритм предложил Тахер Эль-Гамаль (Taher ElGamal) в 1985 году. Алгоритм может использоваться и для подписи и для шифрования, но в реализациях алгоритма для подписей были обнаружены уязвимости и теперь алгоритм используется в GnuPG только для шифрования. ElGamal для шифрования имеется в любой реализации OpenPGP.
DSAАлгоритм описанный в стандарте цифровой подписи США (Digital Signature Standard (DSS), FIPS PUB 186-2). Обязателен для любой реализации OpenPGP.
<
p> Длина ключа в алгоритмах с открытым ключом выбирается пользователем в зависимости от личных потребностей. Не следует использовать ключи длиной менее 1024 бит. Для DSA это максимально допустимая длина. RSA и ElGamal позволяют использовать ключи большей длины. Не следует, однако, выбирать слишком большую длину ключа, т.к. это приводит к увеличению времени шифрования и генерации/проверки подписей, увеличивает размер подписей. Не следует забывать и о том, что надёжность гибридной схемы не выше, чем у слабейшего из компонентов. Т.е., например, нет смысла использовать ключ длиной 4096 бит с хэш-функцией со значением 160 бит. Рекомендации по выбору размера ключа можно найти на сайте

Таблица 2.3. Хэш-функции

НазваниеДлина значения, битОписание
MD5128Хэш-функция разработанная Рональдом Райвестом. Широко распространена. В данной хэш-функции были найдены уязвимости и использовать её не рекомендуется
SHA1160SHA-1 (Secure Hash Algorithm). Определена стандартом США FIPS PUB 180-2. В данной хэш-функции, как и в MD5, найдены уязвимости. Отказаться от использования данной хэш-функции не представляется возможным, т.к. её использование предусмотрено стандартом DSS. Кроме того, данная функция используется в OpenPGP для вычисления отпечатков и идентификаторов ключей.
RIPEMD160160Разработана в рамках проекта RIPE. Используется сравнительно редко
SHA256256Функции определены стандартом FIPS PUB 180-2 в качестве замены SHA1 и имеют большую длину значения.
SHA384384
SHA512512
Страницы: :: :: :: :: :: :: :: :: :: :: :: :: 11 :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::

Содержание раздела