Para obter um pouco mais de entropia, verifique minha resposta no Server Fault para Gerar entropia para a chave PGP .
O resumo dessa resposta é:
- gera IOs de rede e disco;
- use haveged (mas tenha cuidado quando estiver em um ambiente de VM, consulte o link).
Quanto ao seu uso do rngd, ele não "funcionará". O programa rngd é uma espécie de coletor de coisas aleatórias que, após alguns desvios e branqueamentos, será usado para alimentar um pool de entropia que será usado para gerar um número aleatório usando um PRNG. Então rngd é um coletor para fornecer "entradas" para o PRNG do Linux. Quando você usa /dev/random
, o Linux estima o conjunto de entropia e, se ele decidir que é bom o suficiente, ele o usará para gerar um novo número aleatório para /dev/random
. Verifique este artigo técnico sobre números aleatórios no LWN, consulte o capítulo "Recomendações do administrador" .
Basicamente, ao chamar /dev/random
ou gpg, você está usando (e "esgotando") o mesmo pool de entropia. Por isso não vai ajudar / trabalhar. Use um RNG de hardware como fonte para rngd ou qualquer fonte como webcam, microfone, etc., mas você precisará de drivers apropriados para vinculá-los ao rngd. E isso depende se você estiver usando uma VM e qual distro você usa.
Observação: se você estiver executando o bare metal (não em uma VM convidada), poderá usar o TPM para um RNG de hardware. O TPM pode não ser recomendado se o seu pior inimigo for a NSA ;-) leia on-line sobre o TPM. Mas se você quiser usá-lo, aqui está uma maneira de vincular o TPM ao rngd (disclaimer eu escrevi este artigo): link
E verifique esta apresentação em PDF para obter informações onde a entropia está sendo usada :-) link