La réponse courte est 0, car l'entropie n'est pas consommée.
Il y a une idée fausse commune selon laquelle l'entropie est consommée - que chaque fois que vous lisez un bit aléatoire, cela supprime une certaine entropie de la source aléatoire. C'est faux. Vous ne "consommez" pas d'entropie. Oui, la documentation Linux se trompe.
Au cours du cycle de vie d'un système Linux, il y a deux étapes :
- Au départ, il n'y a pas assez d'entropie.
/dev/random
bloquera jusqu'à ce qu'il pense avoir accumulé suffisamment d'entropie ;/dev/urandom
fournit volontiers des données à faible entropie. - Après un certain temps, suffisamment d'entropie est présente dans le groupe de générateurs aléatoires.
/dev/random
attribue un faux taux de "poireau d'entropie" et bloque de temps en temps ;/dev/urandom
fournit avec plaisir des données aléatoires de qualité cryptographique.
FreeBSD a raison :sur FreeBSD, /dev/random
(ou /dev/urandom
, ce qui revient au même) se bloque s'il n'a pas assez d'entropie, et une fois que c'est le cas, il continue de cracher des données aléatoires. Sous Linux, ni /dev/random
ni /dev/urandom
est la chose utile.
En pratique, utilisez /dev/urandom
, et assurez-vous lorsque vous provisionnez votre système que le pool d'entropie est alimenté (à partir de l'activité du disque, du réseau et de la souris, à partir d'une source matérielle, à partir d'une machine externe, …).
Bien que vous puissiez essayer de lire combien d'octets sont lus à partir de /dev/urandom
, c'est totalement inutile. Lecture depuis /dev/urandom
n'épuise pas le pool d'entropie. Chaque consommateur utilise jusqu'à 0 bit d'entropie par unité de temps que vous voulez nommer.