/dev/random
não é padronizado. O POSIX não fornece nenhuma maneira de gerar dados aleatórios criptograficamente seguros e não possui noção de entropia.
O cálculo da entropia do kernel do Linux corresponde a um modelo de entropia teórico da informação que não é relevante para o uso prático. O único caso em que isso é relevante é em um novo dispositivo que nunca teve tempo de acumular entropia (isso inclui distribuições ativas; os sistemas instalados salvam sua entropia de uma inicialização para a seguinte). Além dessa situação, sempre há entropia suficiente, porque a entropia não se esgota. Como o Linux /dev/random
bloqueia quando acha que não tem entropia suficiente, use /dev/urandom
, que nunca bloqueia. O uso /dev/urandom
é bom para tudo, inclusive para gerar chaves criptográficas (exceto, como mencionado acima, em um dispositivo recém-criado).
Em suma:
- Não, isso não é padrão.
- Você não se importa.
- Use
/dev/urandom
.
Muitos, mas nem todos os sistemas unix possuem /dev/urandom
e /dev/random
. Veja a página da Wikipedia para uma discussão mais detalhada.
Gilles 'SO- parar de ser mau'
fonte