NEW
Also known as: PRG
An algorithm producing sequences that appear random from a short random seed.
DESCRIPTION
A pseudorandom generator expands a small seed into a long sequence with statistical properties of randomness. Cryptographic PRGs (DRBGs) provide unpredictability and resistance to prediction. They underpin key generation, nonces, salts, and simulations. Standards like NIST SP 800‑90A define approved constructions. Proper seeding, entropy sources, and health tests are essential to prevent catastrophic failures.
ALTERNATIVE DEFINITIONS
Wikipedia
A pseudorandom number generator (PRNG) is an algorithm for generating a sequence of numbers whose properties approximate the properties of random numbers.
Highlights statistical approximation to randomness.
NIST
A deterministic random bit generator (DRBG) is an algorithm that produces a sequence of bits from a seed value; the output is determined entirely by the seed.
Emphasizes determinism and seed dependence in DRBGs.
RELATED TERMS
Pseudorandom Number Generator Deterministic Random Bit Generator Seed Entropy Cryptographic Hash Stream Cipher Randomness Testing NIST SP 800-90A AES-CTR
COMPETING TERMS
RELATIONS
- Broader: Generator
KNOWLEDGE AREAS
Data Security Mathematics Software Engineering Infrastructure
TARGET AUDIENCE
Cybersecurity Engineer Security Architect Chief Information Security Officer DevOps Engineer Software Developer Cloud Architect
EXTERNAL SOURCES
- Wikipedia - Pseudorandom number generator
- NIST - DRBG standard specification
- RFC Editor - Randomness requirements guidance
- OpenSSL - Cryptographic RNG API
TOP QUESTIONS
Why are Pseudorandom Generators critical in cryptography?
They produce keys, nonces, and salts with unpredictability. Weak PRGs compromise entire systems.
Category: Relevancy
How does a PRG differ from a TRNG?
PRGs are deterministic and seed‑based; TRNGs extract noise from physical processes. TRNGs supplement PRG seeding.
Category: Misunderstanding
What are common PRG pitfalls?
Low entropy seeds, predictable initialization, and incorrect reuse of outputs. Always use vetted libraries.
Category: Mistakes
Which standards govern PRGs?
NIST SP 800‑90A defines DRBGs; RFC 4086 provides randomness requirements.
Category: Overview
How do you test PRG quality?
Apply statistical test suites (e.g., NIST STS), continuous health tests, and entropy estimation for seeds.
Category: Requirements
Where should PRGs be used in applications?
Use for cryptographic keys and nonces; avoid PRGs for user‑visible randomness where bias matters unless audited.
Category: Example
Can PRGs be parallelized?
Yes, with careful state management and unique nonces or counters. Avoid state collisions.
Category: Opinion
What is a secure seed for a PRG?
Seed from high‑entropy sources (OS CSPRNG), possibly mixed with TRNG. Never hardcode or reuse across installations.
Category: Best practices
How do stream ciphers relate to PRGs?
Stream ciphers generate keystreams akin to PRGs, used to encrypt data via XOR with plaintext.
Category: Overview