Krátká odpověď je 0, protože entropie není spotřebována.
Existuje běžná mylná představa, že se entropie spotřebovává – že pokaždé, když čtete náhodný bit, odstraní se tím nějaká entropie z náhodného zdroje. To je špatně. Entropii „nekonzumujete“. Ano, v dokumentaci k Linuxu je to špatně.
Během životního cyklu systému Linux existují dvě fáze:
- Zpočátku není dostatek entropie.
/dev/random
bude blokovat, dokud si nebude myslet, že nashromáždil dostatek entropie;/dev/urandom
s radostí poskytuje data s nízkou entropií. - Po chvíli je v náhodném generátoru dostatek entropie.
/dev/random
přiřadí falešnou míru „entropického pórku“ a tu a tam zablokuje;/dev/urandom
s radostí poskytuje náhodná data v krypto kvalitě.
FreeBSD má pravdu:na FreeBSD, /dev/random
(nebo /dev/urandom
, což je to samé) blokuje, pokud nemá dostatečnou entropii, a jakmile se tak stane, neustále chrlí náhodná data. V systému Linux ani /dev/random
ani /dev/urandom
je užitečná věc.
V praxi použijte /dev/urandom
a při zajišťování systému se ujistěte, že je zásoba entropie napájena (z disku, aktivity sítě a myši, z hardwarového zdroje, z externího počítače, …).
Zatímco můžete zkusit přečíst, kolik bajtů se načte z /dev/urandom
, to je úplně zbytečné. Čtení z /dev/urandom
nevyčerpává zásobárnu entropie. Každý spotřebitel spotřebuje 0 bitů entropie za jakoukoli jednotku času, kterou chcete pojmenovat.