Diese Geräte arbeiten wie folgt: Sie haben einen "state", aus dem Zufallszahlen generiert werden können. Zusätzlich haben sie jedoch auch einen Entropiezähler, der angibt, wieviel von den Daten tatsächlich zufällig ist. Bei Hinzufügen von echt zufälligen Daten wird dieser erhöht, bei Generierung von Zufallszahlen erniedrigt. /dev/random blockiert, sobald dieser Entropiezähler 0 erreicht, /dev/urandom produziert weiterhin Zufallszahlen.