No Linux, todos os dados gravados em / dev / random ou / dev / urandom são copiados para o pool de bloqueio (fonte de aleatoriedade para / dev / random) e o pool de não bloqueio (fonte de aleatoriedade para / dev / urandom).
Basta olhar para a função random_write .
Mas os dados gravados em / dev / random não são contados pelo estimador de entropia interna (afinal, algum adversário local pode tentar apenas redirecionar / dev / zero ou alguma outra fonte não aleatória para / dev / random), portanto, se você tiver problemas com o bloqueio de / dev / random, basta escrever em / dev / random não ajuda.
No Linux, escreva para / dev / random (ou / dev / urandom, sem diferença), mas leia sempre em / dev / urandom (uma vez que é propagado - na verdade, a melhor maneira é usar a nova chamada de sistema getrandom ).
Não sei como isso funciona em outros Unices.