A resposta curta é 0, porque a entropia não é consumida.
Há um equívoco comum que a entropia é consumida - que cada vez que você lê um bit aleatório, isso remove alguma entropia da fonte aleatória. Isto está errado. Você não “consome” entropia . Sim, o Linux documentação fica errada .
Durante o ciclo de vida de um sistema Linux, existem dois estágios:
- Inicialmente, não há entropia suficiente.
/dev/random
irá bloquear até achar que acumulou entropia suficiente;/dev/urandom
felizmente fornece dados de baixa entropia. - Depois de um tempo, a entropia suficiente está presente no conjunto de geradores aleatórios.
/dev/random
atribui uma taxa fictícia de “entropy leek” e blocos de vez em quando;/dev/urandom
felizmente fornece dados aleatórios com qualidade de criptografia.
O FreeBSD acerta: no FreeBSD, /dev/random
(ou /dev/urandom
, o que é a mesma coisa) bloqueia se não tem entropia suficiente, e uma vez, continua vomitando dados aleatórios. No Linux, nem /dev/random
nem /dev/urandom
é útil.
Na prática, use /dev/urandom
e certifique-se de provisionar o pool de entropia do sistema (de disco, rede e atividade do mouse, de uma fonte de hardware, de uma máquina externa,…).
Enquanto você pode tentar ler quantos bytes são lidos de /dev/urandom
, isso é completamente inútil. A leitura de /dev/urandom
não esvazia o conjunto de entropia. Cada consumidor usa até 0 bits de entropia por qualquer unidade de tempo que você queira nomear.