NEW
Also known as: DRBG
A cryptographic generator that outputs pseudorandom bits deterministically from a seeded state.
DESCRIPTION
A DRBG produces pseudorandom bits suitable for cryptographic use, derived deterministically from an initial seed with optional reseeding. NIST SP 800-90A specifies Hash-, HMAC-, and CTR-DRBG constructions. Correct seeding from high-entropy sources and robust implementations are critical for security. DRBGs are used for keys, IVs, nonces, and other cryptographic material where unpredictability is required.
ALTERNATIVE DEFINITIONS
NIST SP 800-90A Rev. 1
This Recommendation specifies mechanisms for the generation of random bits using deterministic methods.
Defines DRBG scope as deterministic random bit generation mechanisms.
NIST Glossary
A random bit generator that produces a sequence of bits from a seed that is determined completely by the initial seed.
Emphasizes determinism based solely on the seed input.
Wikipedia
A deterministic random bit generator (DRBG) is a cryptographically secure pseudorandom number generator as specified, for example, by NIST SP 800-90A.
Links DRBGs to CSPRNGs and the NIST specification.
RELATED TERMS
Cryptographically Secure Pseudorandom Number Generator Pseudorandom Number Generator Entropy Seed NIST SP 800-90A HMAC-DRBG Hash-DRBG CTR-DRBG Reseeding
COMPETING TERMS
RELATIONS
- Broader: Generator
KNOWLEDGE AREAS
Data Security Infrastructure Software Engineering
TARGET AUDIENCE
Security Architect Cybersecurity Engineer Chief Information Security Officer Software Developer Cloud Architect
EXTERNAL SOURCES
- Wikipedia - Deterministic random bit generator
- NIST - DRBG standard specification
- NIST - Entropy sources and RBGs
- OpenSSL - OpenSSL DRBG provider docs
TOP QUESTIONS
How is a DRBG different from a TRNG?
A DRBG is algorithmic and deterministic from a seed; a TRNG samples physical processes to generate non-deterministic bits.
Category: Comparison
Why does seeding matter for DRBGs?
Security depends on sufficient entropy in the seed; weak seeds make outputs predictable and compromise cryptographic operations.
Category: Risks
What DRBG constructions does NIST approve?
Hash-DRBG, HMAC-DRBG, and CTR-DRBG are specified in SP 800-90A Rev. 1.
Category: Requirements
When should a DRBG be reseeded?
Reseed periodically or after generating a specified number of bits, and when new entropy is available or state compromise is suspected.
Category: Best practices
What are typical uses of DRBG output?
Generating keys, IVs, nonces, salts, and challenges for cryptographic protocols and applications.
Category: Example
What are common implementation mistakes?
Using non-cryptographic PRNGs, poor entropy collection, ignoring error codes, or mismanaging state across processes.
Category: Mistakes
How can I validate a DRBG implementation?
Use test vectors, follow NIST validation programs, and run continuous health tests where appropriate.
Category: How-to
Does a DRBG guarantee unpredictability?
Only if seeded with sufficient entropy and implemented correctly; otherwise outputs can be predictable.
Category: Risks
Is a DRBG necessary if I have a TRNG?
Yes; TRNGs feed entropy while DRBGs expand it efficiently and consistently for application needs.
Category: Relevancy