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/randomsi bloccherà finché non penserà di aver accumulato abbastanza entropia;/dev/urandomfelicemente fornisce dati a bassa entropia. - Dopo un po', nel pool del generatore casuale è presente abbastanza entropia.
/dev/randomassegna un tasso fasullo di "entropia porro" e blocchi di tanto in tanto;/dev/urandomfornisce 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.