&gt; application developers may prefer to implement a DRBG using &#x2F;dev&#x2F;random as a conditioned seed<p>No. Doing random in userland is just wrong. If your program has access to &#x2F;dev&#x2F;urandom, use it. If not, use arc4random().<p>&gt; “Random Number Generators: Introduction for Operating System Developers”<p>Or look how OpenBSD does it. (getentropy(), arc4random(), the subsystem)<p>&gt; The entropy pool used by &#x2F;dev&#x2F;urandom must be saved between reboots.<p>OpenBSD does this, and more. The bootloader basically seeds the kernel with old entropy from before the reboot.