18.08 // Найдена и исправлена уязвимость в Libgcrypt, существовавшая с 1998 года


В библиотеке Libgcrypt обнаружена и уже исправлена уязвимость генератора случайных чисел, существовавшая с 1998 года. Атакующий, получивший 4640 бит выхода генератора, мог предсказать следующие 160 бит.



Уязвимость потенциально ставит под угрозу сгенерированные ранее ключи, но разработчики GnuPG считают, что проблема не столь серьёзна, и не рекомендуют сразу выводить из эксплуатации свои ключи.

Обычно OpenPGP-ключ содержит в себе два ключа: главный для подписи и сертификации и подключ для шифрования. Для генерации одного 4096-битного RSA ключа необходимо 512 случайных байт, т.е. 20 байт, используемых для генерации второго ключа, могут быть предсказаны. При использовании 2048-битных ключей не может быть предсказано ничего.

Для DSA/Elgamal ключей всё несколько сложнее. Для 2048 битных ключей сначала создаётся пул из 30 несекретных кандидатов в простые числа размером около 300 бит каждое. Это требует как минимум 1140 байтов из пула и поэтому некоторые числа могут быть частично предсказаны. Далее требуется 256 секретных бит из пула, в худшем случае они также могут быть частично предсказаны.


Источник: https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html

Источник: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=8dd45ad957b54b939c288a68720137386c7f6501