liveBook · Manning

Entropy pool

As explained in Hacking Cryptography

An entropy pool is an operating-system data structure that accumulates environmental noise for use in generating random values.

An entropy pool is an operating-system data structure that accumulates environmental noise for generating random values. Mouse movements, key-press timing, and network jitter can supply noise, after which the operating system seeds a cryptographically secure pseudorandom number generator (CSPRNG). section 10.2

Linux builds both /dev/random and /dev/urandom on a ChaCha20 CSPRNG sourced by the kernel’s entropy pool. These inputs may be weak or correlated: virtual machines can boot with identical or similar pools, especially when colocated systems receive similar traffic. section 10.2

Treat entropy pools as useful but imperfect sources:

  • Prefer a dedicated hardware true random number generator (TRNG) for critical applications. section 10.2
  • Recognize that ordinary environmental sources lack health tests capable of modeling their expected entropy. section 10.2
  • If a TRNG is unavailable, consider adding entropy to the kernel pool through RNDADDENTROPY, while treating dedicated hardware as safer. section 10.2
Figure 10.2 The recommended setup for using randomness for cryptographic applications: health tests should ensure the correct operation of the TRNG, which should periodically reseed a CSPRNG.
figure

Shows the recommended arrangement: health-tested TRNG output periodically reseeds a CSPRNG. section 10.2

How Hacking Cryptography covers it

How deep it goes
Explains environmental inputs, Linux interfaces, VM correlation, and mitigations, but does not detail pool internals.
Examples
Uses mouse movements, key-press timing, network jitter, Linux random devices, and RNDADDENTROPY as concrete examples.
What you can do after
Evaluate entropy-source risks and choose dedicated TRNG hardware or supplementary kernel-pool input for critical deployments.
How it connects
Connects entropy pools with CSPRNGs, TRNGs, health tests, Linux random devices, and virtual machines.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Hacking Cryptography. The section links point to the parts of the book it draws on.