What are Hash_DRBG, HMAC_DRBG, and CTR_DRBG?
Hash_DRBG, HMAC_DRBG, and CTR_DRBG are three deterministic random bit generators specified in NIST SP 800-90A for cryptographic use. They function as cryptographically secure pseudorandom number generators, relying respectively on hash functions, HMAC, and block ciphers in counter mode. These algorithms were designed to provide reliable pseudorandom sequences suitable for sensitive security applications.
What we know
- Hash_DRBG, HMAC_DRBG, and CTR_DRBG are three cryptographically secure pseudorandom number generators specified in NIST SP 800-90A. [3]
- Hash_DRBG is based on hash functions, HMAC_DRBG is based on HMAC, and CTR_DRBG is based on block ciphers in counter mode. [3]
- NIST SP 800-90A originally included a fourth generator named Dual_EC_DRBG before it was withdrawn. [3, 4]
Where to go next
- whenWhat was Dual_EC_DRBG and why was it withdrawn?
- how we knowHow does NIST SP 800-90A define random number generation?
- how it workedHow do block ciphers operate in counter mode for CTR_DRBG?
- the bigger pictureWhat makes a pseudorandom number generator cryptographically secure?
- compared withHow do hardware random number generators differ from PRNGs?
- an unexpected connectionWhy did a standard random number generator contain an alleged NSA backdoor?The fourth generator originally included in the same NIST publication as Hash_DRBG, HMAC_DRBG, and CTR_DRBG was later found to likely contain a kleptographic backdoor inserted by the NSA.
Sources
- [1]cryptographically secure pseudo-random number generator (Wikidata Q1790389) · CC0 1.0
- [2]Cryptographically secure pseudorandom number generator · CC BY-SA 4.0
- [3]NIST SP 800-90A · CC BY-SA 4.0
- [4]Dual EC DRBG · CC BY-SA 4.0
- [5]Pseudorandom number generator · CC BY-SA 4.0