id: Гость   вход   регистрация
текущее время 15:50 20/04/2024
создать
просмотр
редакции
ссылки

17.12 // Выпуск криптографической библиотеки Libgcrypt 1.6.0


После двух с половиной лет разработки проект GNU представил выпуск библиотеки Libgcrypt 1.6.0, с реализацией компонентов, лежащих в основе механизмов шифрования, применяемых в GnuPG. Библиотека предоставляет функции для использования в сторонних приложениях различных криптоалгоритмов, включая симметричные шифры (AES, DES, Blowfish, CAST5, Twofish, SEED, Camellia, Arcfour), алгоритмы хэширования (MD4, MD5, RIPE-MD160, SHA-1, SHA_224, SHA-256, SHA-384, SHA-512, TIGER-192, Whirlpool), шифрование с использованием публичных ключей (RSA, Elgamal, DSA, ECDSA).


Новая версия примечательная изменением ABI (для использования новой версии требуется пересборка программ) из-за проведения большой чистки некоторых давно устаревших функций. В частности, удалена поддержка интерфейса gcry_ac, подсистемы регистрации модулей, устаревших отладочных макросов.


Ключевые улучшения:


  • Поддержка российских криптографических стандартов: ГОСТ Р 34.11-94 и ГОСТ Р 34.11-2012 (Stribog) для хэширования и ГОСТ 28147-89 для шифрования;
  • Заметное увеличение производительности большинства алгоритмов шифрования и хэш-функций семейства SHA. Оптимизация алгоритмов шифрования по публичным ключам, в том числе Curve25519, ожидается в следующем выпуске;
  • Поддержка симметричного блочного алгоритма шифрования IDEA;
  • Поддержка потоковых шифров Salsa20 и Salsa20/12 (отличается применением 12 циклов шифрования вместо 20);
  • Добавлен генератор псевдослучайных чисел для обращения к системному /dev/random. Обеспечена возможность выбора специфичного генератора случайных чисел;
  • Поддержка алгоритма SCRYPT для формирования ключа на основе пароля;
  • Реализована защита от проведения атак (CVE-2013-4242), позволяющих восстановить содержимое закрытого RSA-ключа другого пользователя многопользовательской системы, используя особенности помещения данных в совместно используемый L3-кэш;
  • Поддержка детерминированного DSA в соответствии с RFC6979;
  • Поддержка схемы формирования цифровых подписей по эллиптическим кривым Ed25519;
  • Реализованы вспомогательные функции для использования MPI и SEXP;
  • Возможность выборочного отключения использования аппаратных реализаций различных криптоалгортимов;
  • Добавлена вспомогательная функция для отладки.

Источник: http://www.opennet.ru/opennews/art.shtml?num=38674


 
На страницу: 1, 2 След.
Комментарии [скрыть комментарии/форму]
— Гость (27/12/2013 09:45)   <#>

Fixed. DSA и ECDSA вроде как не имеют никакого отношения к шифрованию.


В оригинале:

Added a random number generator to directly use the system's RNG.
Also added an interface to prefer the use of a specified RNG.

Горе-переводчик. То-то я думаю, почему мне ничего не понятно было.


Сделал
# apt-get update
# apt-get --no-install-recommends install gnupg
Он написал, что upgraded. Теперь dpkg-query -l |grep gnupg пишет, что версия пакета есть 1.4.12-7+deb7u3, как и должно быть, но при этом gpg --version по прежнему себя определяет, как 1.4.12. Если внутри самой GnuPG что-то поменялось, то как так может быть, что её самосознание осталось тем же? И это не философский вопрос.


Если актуальная версия закоммичена в порты, то проблем обычно нет:

весь софт, на который завязаны порты, есть в портах, даже если он имеется и как часть базовой системы. Могут параллельно стоять 2 версии одних библиотек: одна в /usr/lib (часть системы), а другая в /usr/pkg/lib (из портов). По умолчанию версии из портов имеют приоритет и перекрывают системные при компиляции. Тут скорее конфликты избегают дублированием всего нужного: через порты можно поставить более свежее всё, начиная от gcc и кончая последним ssh.

Например, в pkgsrc libgcrypt пока старой версии, 1.5.3, а GnuPG оперативно исправили 18-го декабря (ошибку с этой утетчкой можно было закрыть, не трогая код libgcrypt, это правда?).
— Гость (27/12/2013 09:55)   <#>
P.S. Кстати, это более чем ясный примёр к всё тому же /comment53886: в pkgsrc уже давно 1.4.16 (в отличие от NetPGP, GnuPG — не часть базовой системы, она есть только в портах/пакетах), а в Debian unstable пока только 1.4.15-3.
— SATtva (27/12/2013 09:57, исправлен 27/12/2013 09:57)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Он написал, что upgraded. Теперь dpkg-query -l |grep gnupg пишет, что версия пакета есть 1.4.12-7+deb7u3, как и должно быть, но при этом gpg --version по прежнему себя определяет, как 1.4.12. Если внутри самой GnuPG что-то поменялось, то как так может быть, что её самосознание осталось тем же?

Выделенная часть — ревизия от дебиановских патчей. Не видел, чтобы мэйнтейнеры дистрибутивов модифицировали номер версии, возвращаемый программой, это вроде как против правил.


ошибку с этой утетчкой можно было закрыть, не трогая код libgcrypt, это правда?

libgcrypt не является зависимостью у GnuPG 1.4.x, так что всё логично.

— unknown (27/12/2013 10:12)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Не видел, чтобы мэйнтейнеры дистрибутивов модифицировали номер версии, возвращаемый программой, это вроде как против правил.

Совершенно верно, security-патчи номер версии самой программы не меняют. В стабильном Debian патчи бэкпортируются и накладываются на стабильные версии программы. Обновление самой исходной версии в стабильной ветке происходит крайне редко.
— Гость (27/12/2013 11:09)   <#>
Спасибо за разъяснение, я понял. Просто почему-то я решил, что для закрытия баги разработчикам GnuPG пришлось выпустить новую версию GnuPG, а они этого не делали, а просто добавили security-патч в стабильные ветки. В этом случае вполне логично, что версия программы не меняется. В pkgsrc, кстати, тоже так: там к названию пакета дописывается nbN, а сама версия программы считается той же, как и в других ОС/системах.

Видимо, я посчитал, что deb7u3 — приставка для имени пакета, а 7 — часть версии самой GnuPG, т.е. как будто если бы она сначала была 1.4.12, а потом стала 1.4.12-7. Если б так и было, то --version действительно должна была бы сообщать (раз меньший номер версии в сорсах поменялся), что она теперь 1.4.12-7, а не 1.4.12. Хотя, может, так и есть всё на самом деле, а version просто не отражает минорные изменения?
— SATtva (27/12/2013 11:13)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Номера подверсий традиционно разделяются точками, а через дефис идёт ревизия пакета в данном дистрибутиве. Исключения встречаются, но нечасто. В любом случае, программа на запрос версии выводит её всю, исключения из этого правила мне не попадались.
— Гость (27/12/2013 11:17)   <#>

uname -a, угадал? В версиях ядра как раз стоит/стоял минус перед последним числом, и всё это выводится/выводилось.
— sentaus (27/12/2013 12:27)   профиль/связь   <#>
комментариев: 1060   документов: 16   редакций: 32
Просто почему-то я решил, что для закрытия баги разработчикам GnuPG пришлось выпустить новую версию GnuPG, а они этого не делали,

Поправка: разработчики GnuPG как новую версию выпустили, а вот мейнтейнеры пакета в debian просто наложили патч на 1.4.12
У Debian политика такая, версии не обновлять, чтобы оставлять функционал настолько стабильным, насколько это возможно.
На страницу: 1, 2 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3