Skip to content

Build a CSPRNG

Implement a cryptographic random number generator. Learn why Math.random() and rand() are insecure, how the OS gathers entropy, and implement HMAC-DRBG (NIST SP 800-90A) and Fortuna. The foundation underneath every TLS handshake, every AES IV, every session token.

intermediateFree2 hours8 lessons
Start learningor sign up to track progress

Curriculum

Loading reference solution…
Build a CSPRNG