microZEUS
The whole stack, hand-drawn.

◄ Wiki / Crypto

CSPRNG

A random-number generator strong enough for security use, where outputs can't be predicted even by an attacker.

Ordinary random generators are fine for games but predictable enough to break cryptography. A CSPRNG — cryptographically secure pseudo-random number generator — produces values that are computationally infeasible to guess or reproduce, which is why keys, nonces, and handshakes depend on one. A secure handshake can't proceed until a proper CSPRNG is available.

See also

  • ChaCha20-Poly1305A widely used pairing that both encrypts data (ChaCha20) and proves it wasn't tampered with (Poly1305).
  • constant-timeA coding discipline where execution timing never varies based on secret data.

Referenced by

ChaCha20-Poly1305