Чтобы получить немного больше энтропии, проверьте мой ответ на Server Fault для Generate entropy for PGP key .
Резюме этого ответа:
- генерировать сетевые и дисковые операции ввода-вывода;
- используйте hasged (но будьте осторожны, когда в среде VM, смотрите ссылку).
Что касается использования вами rngd, оно не будет "работать". Программа rngd - это своего рода сборщик случайных вещей, который после некоторого смещения и отбеливания будет использоваться для подпитки энтропии, которая будет использоваться для генерации случайного числа с использованием PRNG. Таким образом, rngd - это один сборщик, который предоставляет «входы» для PRNG в Linux. Когда вы используете /dev/random
, Linux оценивает пул энтропии и, если решит, что он достаточно хорош, он будет использовать его для генерации нового случайного числа /dev/random
. Посмотрите эту техническую статью о случайных числах в LWN, см. Главу «Рекомендации администратора» .
В основном при вызове /dev/random
или gpg вы используете (и «истощаете») один и тот же пул энтропии. Так что это не поможет / работает. Используйте аппаратный RNG в качестве источника для rngd или любого другого источника, такого как веб-камера, микрофон и т. Д., Но вам понадобятся соответствующие драйверы, чтобы связать их с rngd. И это зависит от того, используете ли вы виртуальную машину и какой дистрибутив вы используете.
Примечание: если вы работаете с голым железом (не в гостевой виртуальной машине), вы можете использовать TPM для аппаратного RNG. TPM можно не рекомендовать, если ваш злейший враг - АНБ ;-), читайте онлайн о TPM. Но если вы хотите использовать его, вот способ связать TPM с rngd (отказ от ответственности, я написал эту статью): http://www.berthon.eu/2015/using-tpm-as-a-source-of-randomness -энтропия/
И проверьте эту PDF-презентацию для информации, где используется энтропия :-) https://www.blackhat.com/docs/us-15/materials/us-15-Potter-Understanding-And-Managing-Entropy-Usage.pdf