La risposta breve è 0, perché l'entropia non viene consumata.
C'è un malinteso comune secondo cui l'entropia viene consumata:ogni volta che leggi un bit casuale, questo rimuove parte dell'entropia dalla fonte casuale. Questo è sbagliato. Non "consumi" entropia. Sì, la documentazione di Linux sbaglia.
Durante il ciclo di vita di un sistema Linux, ci sono due fasi:
- Inizialmente, non c'è abbastanza entropia.
/dev/random
si bloccherà finché non penserà di aver accumulato abbastanza entropia;/dev/urandom
felicemente fornisce dati a bassa entropia. - Dopo un po', nel pool del generatore casuale è presente abbastanza entropia.
/dev/random
assegna un tasso fasullo di "entropia porro" e blocchi di tanto in tanto;/dev/urandom
fornisce felicemente dati casuali di qualità crittografica.
FreeBSD ha ragione:su FreeBSD, /dev/random
(o /dev/urandom
, che è la stessa cosa) si blocca se non ha abbastanza entropia e, una volta che lo fa, continua a vomitare dati casuali. Su Linux, né /dev/random
né /dev/urandom
è la cosa utile.
In pratica, usa /dev/urandom
e assicurati, durante il provisioning del tuo sistema, che il pool di entropia sia alimentato (dall'attività del disco, della rete e del mouse, da una fonte hardware, da una macchina esterna, ...).
Mentre potresti provare a leggere quanti byte vengono letti da /dev/urandom
, questo è completamente inutile. Lettura da /dev/urandom
non esaurisce il pool di entropia. Ogni consumatore utilizza fino a 0 bit di entropia per qualsiasi unità di tempo che desideri nominare.