Fact-checked by Grok 2 weeks ago

Cryptographically secure pseudorandom number generator

A (CSPRNG) is a that expands a short, uniformly into a longer sequence of bits that is computationally indistinguishable from true , satisfying properties essential for cryptographic such as unpredictability even when an adversary observes portions of the output. CSPRNGs differ from ordinary pseudorandom number generators by resisting attacks that exploit knowledge of internal state or previous outputs, ensuring that no polynomial-time can predict future bits with advantage greater than negligible probability. These generators are foundational to cryptographic protocols, providing the needed for secure , digital signatures, and creation, where any predictability could enable attacks like key recovery or replay exploits. Standards from the National Institute of Standards and Technology (NIST), such as Special Publication 800-90A, define approved constructions including deterministic random bit generators (DRBGs) based on hash functions, , or block ciphers like in counter mode, which have been rigorously vetted for under realistic threat models. A defining characteristic is state compromise resistance, encompassing forward —where compromise of the current state does not reveal prior outputs—and backward , preventing reconstruction of earlier states from future ones, though full implementations often require sources for reseeding to maintain long-term unpredictability. Notable controversies highlight the stakes of CSPRNG design; the , endorsed by NIST in 2006, was later exposed for structural weaknesses allowing efficient prediction if certain points were known, leading to suspicions of deliberate NSA insertion of a backdoor via non-standard parameters, prompting its removal from standards in and underscoring the need for transparent, provably secure algorithms. Despite such setbacks, advancements in CSPRNGs continue to bolster cryptographic systems, with empirical validation through suites like NIST's confirming statistical while theoretical foundations ensure computational hardness.

Fundamentals

Definitions and Core Concepts

A pseudorandom number generator (PRNG) is a deterministic algorithm that accepts an initial seed value and produces an output sequence exhibiting statistical properties approximating those of independent, uniformly distributed random bits. This output is generated through mathematical transformations that expand or iterate on the seed, ensuring reproducibility under identical starting conditions. PRNGs differ fundamentally from true random number generators (TRNGs), which derive bits from physical entropy sources, as PRNGs rely solely on computational processes without inherent unpredictability beyond the seed. A cryptographically secure pseudorandom number generator (CSPRNG), also termed a deterministic random bit generator (DRBG) in standards such as NIST SP 800-90A, is a PRNG designed for cryptographic applications where security against adversarial prediction is paramount. It must produce output that is computationally indistinguishable from uniformly random bits, assuming the seed possesses sufficient entropy, such that no polynomial-time distinguisher algorithm succeeds beyond negligible advantage. Core to this security is forward unpredictability: given any prefix of the output sequence, no efficient adversary can predict subsequent bits with success probability exceeding 1/2 plus a negligible function. Additionally, CSPRNGs incorporate backtracking resistance, preventing reconstruction of prior internal states from observed outputs, thereby protecting against attempts to infer the seed or earlier bits. In cryptographic theory, CSPRNGs align with the concept of a secure (PRG), formalized as a G_k: \{0,1\}^k \to \{0,1\}^{p(k)} where p(k) > k stretches a short, into a longer pseudorandom string, secure under the assumption that distinguishing G(s) from random requires superpolynomial resources for random seed s. Practical CSPRNGs often employ like block ciphers or hash functions in modes such as or hash-based DRBGs, ensuring and properties that thwart . These generators typically require periodic reseeding from high-entropy sources to maintain over extended outputs, as deterministic expansion alone cannot indefinitely resist exhaustive search without fresh randomness.

Security Requirements


The fundamental requirement for a cryptographically secure pseudorandom number generator (CSPRNG) is that its output, derived from a short uniform , must be computationally indistinguishable from a truly random bit string of equal length by any probabilistic polynomial-time adversary. This means that for a parameter k, if G_k maps a k-bit seed to a p(k)-bit output with p(k) > k, the advantage of distinguishing G_k(U_k) from U_{p(k)} (where U_n denotes the over n bits) is negligible in k. Such indistinguishability ensures that no efficient algorithm can exploit the pseudorandom output for cryptographic purposes in a manner that compromises .
Equivalence holds between this property and passing the next-bit test: given any prefix of the output sequence, predicting the subsequent bit succeeds with probability at most $1/2 plus a of the security parameter, for all predictors. This test captures the unpredictability essential for applications like , where any bias or predictability could enable attacks such as distinguishing ciphertexts from random strings or forging signatures. The next-bit test implies resistance to all polynomial-time statistical tests, confirming the output's suitability as a substitute for true randomness in computational settings. Beyond basic expansion, CSPRNGs require that the or internal remains computationally infeasible to recover from any polynomially many output bits, preventing attacks that could enable prediction of unreleased portions. In deterministic random bit generator (DRBG) constructions standardized for cryptographic use, such as those in , outputs must remain unpredictable even given knowledge of prior outputs and , with strength defined up to 256 bits against determination or inference. For iterative generators, additional properties like backtracking resistance—ensuring current compromise does not reveal past outputs—and forward via reseeding with fresh are often mandated to mitigate persistent threats from exposure. These requirements collectively ensure the CSPRNG withstands adversarial efforts to exploit deterministic structure, grounding its reliability in the hardness of underlying computational assumptions like one-way functions.

Differences from Conventional PRNGs

Conventional pseudorandom number generators (PRNGs) produce sequences that pass statistical tests for randomness but lack guarantees against computational adversaries who may observe outputs or partial state information. In contrast, cryptographically secure PRNGs (CSPRNGs) must satisfy stringent security properties, including computational indistinguishability from true random sources, where no polynomial-time algorithm can distinguish the output from uniform randomness with non-negligible advantage. This requires basing CSPRNG designs on well-studied cryptographic primitives, such as block ciphers in counter mode, ensuring resistance to prediction even if an adversary knows prior outputs. A key distinction lies in unpredictability: for CSPRNGs, given any of prior bits, no efficient can predict the next bit with probability significantly exceeding 1/2. Conventional PRNGs, such as the , often fail this, as their internal state—typically recoverable from a small number of consecutive outputs (e.g., 624 32-bit words for MT19937)—allows full reconstruction and prediction. CSPRNGs additionally provide resistance, preventing computation of prior states or outputs from the current state, a property absent in linear-feedback shift register-based or congruential conventional PRNGs. CSPRNGs incorporate mechanisms for entropy reseeding to maintain over long outputs, countering that could propagate in deterministic conventional PRNGs without such input. While conventional PRNGs prioritize speed and long periods for non-adversarial uses like simulations, CSPRNGs trade performance for cryptographic strength, often running orders of magnitude slower due to reliance on one-way functions. This renders conventional PRNGs unsuitable for applications like , where predictability could enable attacks, as evidenced by historical vulnerabilities in systems using them for cryptographic purposes.

Historical Context

Origins and Early Theoretical Foundations

The theoretical foundations of cryptographically secure pseudorandom number generators (CSPRNGs) emerged in the early 1980s amid the development of modern , driven by the need to expand short, truly random seeds into longer sequences indistinguishable from uniform by computationally bounded adversaries. Prior to this, pseudorandom number generators existed for statistical simulations, such as von Neumann's 1946 , but lacked cryptographic security guarantees against prediction or inversion by efficient algorithms. The key challenge was formalizing "pseudorandomness" in a way that resisted polynomial-time attacks, rooted in the assumption that certain computational problems, like factoring or discrete logarithms, are intractable. In 1982, established the core theoretical framework by defining pseudorandom sequences as those computationally indistinguishable from truly random ones by any probabilistic polynomial-time distinguisher. proved that this indistinguishability is equivalent to passing the "next-bit test": no efficient algorithm can predict the next bit of the sequence with success probability significantly better than 1/2, given all prior bits. This equivalence demonstrated that a single predictive test suffices to validate security against all polynomial-time statistical tests, providing a foundational criterion for CSPRNGs without requiring exhaustive verification. implied that such generators exist if one-way functions do, though unconditional constructions awaited later results; it shifted focus from statistical to computational notions of , enabling practical cryptographic applications like and encryption padding. Building directly on Yao's definitions, and Silvio Micali proposed the first concrete CSPRNG construction in 1984, using a one-way to iteratively compute hardcore bits—those unpredictable even given surrounding outputs. Their starts with a s_0 in a domain where computing logarithms or residuosity is hard, then outputs the least significant bit of g^{s_i} \mod p for successive s_{i+1} = g^{s_i} \mod p, where g is a and p a safe prime. Security relies on the intractability of predicting these bits, provably stretching the seed exponentially while satisfying Yao's next-bit criterion. This paradigm influenced subsequent designs, emphasizing provable reductions to assumed-hard problems rather than ad hoc heuristics. Early limitations included efficiency concerns and reliance on specific number-theoretic assumptions, but it marked the transition from theory to constructible primitives. The formal model of a PRG as a family of functions G_k: \{0,1\}^k \to \{0,1\}^{p(k)} with p(k) > k, secure if no efficient adversary distinguishes G_k(U_k) from U_{p(k)}, encapsulates these foundations.

Evolution Through Key Publications and Implementations

The foundational theoretical framework for cryptographically secure pseudorandom number generators (CSPRNGs) emerged in the early 1980s amid efforts to construct sequences indistinguishable from true randomness under computational constraints. In November 1982, Manuel Blum and Silvio Micali presented a construction relying on one-way permutations, where security hinges on the unpredictability of the next output bit given prior bits, assuming the underlying function's hardness (such as discrete exponentiation). This work formalized CSPRNGs as expanders from short seeds to longer pseudorandom strings, resistant to polynomial-time prediction attacks. Concurrently, Andrew Chi-Chih Yao established that passing the next-bit unpredictability test suffices for security against all polynomial-time statistical distinguishers, linking pseudorandomness to one-way functions and enabling reductions from cryptographic assumptions. Building on these ideas, , , and Michael Shub introduced the Blum-Blum-Shub (BBS) generator in , a simple iterative scheme based on the quadratic residuosity assumption modulo a Blum integer (product of two large primes congruent to 3 mod 4). Starting from a quadratic residue seed s_0, each state s_{i+1} = s_i^2 \mod n yields a pseudorandom bit via the least significant bit (or ), proven secure against next-bit predictors if factoring n is hard. While theoretically sound, BBS's quadratic expansion and large requirements limited early practicality, influencing subsequent designs prioritizing efficiency alongside provable security. Practical implementations gained traction in the late , addressing real-world integration and reseeding to mitigate state compromise. In 1999, John Kelsey, , and Niels Ferguson proposed Yarrow, a family of CSPRNGs separating collection (via pooling from diverse sources like interrupts) from (using a in counter mode for expansion), with automatic reseeding after fixed output volumes to bound forward security risks. This design emphasized resilience to poor , influencing system-level RNGs in operating systems. Refining Yarrow's approach, Ferguson and Schneier detailed in 2003, partitioning sources into pools for staggered reseeding based on pool maturity, eschewing explicit estimation to avoid underestimation vulnerabilities while supporting incremental addition. Standardization efforts culminated in NIST Special Publication 800-90 (2006), specifying deterministic random bit generators (DRBGs) including Hash_DRBG (SHA-based), HMAC_DRBG, , and . However, drew scrutiny in 2007 when Dan Shumow and Niels Ferguson demonstrated that NSA-chosen curve parameters enabled efficient prediction with a 32-byte secret, raising backdoor concerns due to non-standard point selection and excessive output dependence on seeds. NIST revised SP 800-90A in 2011, removing amid these issues and emphasizing provable security for approved mechanisms, with further updates in 2015 incorporating strengthened instantiation requirements. These developments underscored the tension between theoretical ideals and deployable, auditable designs resistant to institutional influence.

Entropy Management

Sources of True Randomness

True random number sources, essential for seeding cryptographically secure pseudorandom number generators (CSPRNGs), rely on inherently unpredictable physical phenomena or processes to furnish high-quality , typically measured in bits per sample. These sources must undergo rigorous validation, such as the statistical tests outlined in NIST SP 800-90B, which include assessments for independence, uniformity, and entropy estimation via methods like histogram analysis, permutation testing, and compression estimators, to confirm their suitability for cryptographic use. from such sources ensures the CSPRNG's initial state resists , as even a single predictable seed can compromise the entire output stream's security. Hardware-based entropy sources predominate in cryptographic applications due to their direct coupling with physical , often yielding rates from kilobits to megabits per second. Thermal , arising from random electron movements in resistors or diodes at finite (governed by Johnson-Nyquist with variance proportional to temperature and ), serves as a foundational source in many integrated circuits; for instance, implementations amplify and digitize this after amplification and conditioning to extract bits. Shot from discrete flows in semiconductors or vacuum tubes provides another classical source, exhibiting statistics that yield near-ideal when properly sampled. Radioactive decay processes, such as alpha particle emissions from isotopes like (half-life of 432.2 years), offer timing unpredictability, though practical devices like the HotBits service have historically generated bits from decay counts at rates around 1 per second per detector. Quantum mechanical sources leverage fundamental indeterminacy for superior purity, often validated under NIST frameworks. Photonic quantum random number generators (QRNGs), which measure arrival times or polarizations in attenuated beams split by beam splitters (exploiting single- detection with dark count rates below 100 Hz), achieve rates exceeding 1 Gbps in commercial modules; Quside's implementations, certified compliant with SP 800-90B as of 2023, use integrated for tamper-resistant operation. Vacuum fluctuations or in nonlinear crystals generate entangled pairs, with detection asymmetries providing bits immune to classical correlations. These outperform classical sources in resisting environmental biases but require post-processing like debiasing to mitigate detector inefficiencies. System-level software aggregation of , while convenient, draws from indirect observables that approximate true through high variance and low predictability. Operating systems like Linux's /dev/random from hardware interrupts (e.g., timer ticks varying by microseconds due to ), disk times, inter-packet arrival delays in network traffic, and user inputs such as keystroke latencies (typically 10-100 ms with sub-ms resolution limits). These sources, hashed into an (often 256-4096 bits), provide seeds but demand to address potential depletion or ; for example, Intel's instruction, integrated since 2012 Ivy Bridge processors, internally seeds from thermal and -based hardware before outputting conditioned bits. Validation per SP 800-90B remains critical, as unvetted aggregation can yield below 0.5 bits per sample under adversarial conditions like virtualized environments.

Extraction and Conditioning Methods

Conditioning components process outputs from noise sources to mitigate , correlations, and other imperfections, thereby increasing the and producing bits suitable for seeding cryptographically secure pseudorandom number generators (CSPRNGs). These methods ensure that the resulting meets cryptographic requirements, such as indistinguishability from uniform randomness under computational bounded adversaries, by leveraging primitives resistant to known attacks. Inadequate conditioning can propagate weaknesses, leading to predictable CSPRNG outputs if an adversary exploits source predictability. Non-cryptographic extractors, such as the debiaser introduced in , provide a simple baseline for handling biased sources. It pairs consecutive bits, outputting 0 for a 01 pair, 1 for a 10 pair, and discarding 00 or 11 pairs; the output bits are unbiased (probability 0.5 each) regardless of input bias p, with extraction rate $2p(1-p), which equals the binary H(p). This method extracts without assuming uniformity but suffers from inefficiency—e.g., rate 0.11 bits per input bit at p=0.9—and vulnerability to structured non-i.i.d. biases, rendering it unsuitable for cryptographic use without augmentation. Iterated variants, like Peres' multiple-pass extractor from , improve efficiency by recursively applying to discarded pairs, achieving rates approaching full input for mildly biased sources. For cryptographic security, standards mandate vetted conditioning using primitives that preserve or amplify while resisting forgery or inversion attacks. NIST SP 800-90B, published January 2018, approves specific components for sources feeding random bit generators, allowing full- claims (up to output length) if input exceeds a threshold (e.g., via the formula Output_Entropy = min(n_out, h_in * (n_in / n_w))), where n_w is the narrowest input width. These functions fixed-length inputs, often concatenated samples with nonces, to produce uniform-like outputs. may follow, proportionally reducing claimed . Non-vetted methods cap at 0.999 times output length to account for unquantified risks. Approved conditioning functions per NIST SP 800-90B include:
FunctionTypeKeyed/UnkeyedBlock Size / Output LengthPrimitive Basis
DeterministicKeyedHash output sizeApproved hash (e.g., SHA-256 per FIPS 180-4)
CMACDeterministicKeyed128 bitsAES (FIPS 197) per SP 800-38B
DeterministicKeyed128 bitsAES, restricted to RBG use (Appendix F)
DeterministicUnkeyedHash output sizeApproved hash (FIPS 180/202)
Hash_dfDeterministicUnkeyedHash output sizeApproved hash per SP 800-90A
Block_Cipher_dfDeterministicUnkeyedAES key size (128/256 bits)AES per SP 800-90A
Hash-based methods, such as SHA-256, act as strong extractors under the leftover hash lemma for sources with sufficient (roughly half the output length), compressing variable inputs into fixed-length digests unpredictable without the full source. Keyed variants like enhance security by incorporating secret keys, preventing offline attacks on reused . In CSPRNG contexts, conditioned outputs reseed deterministic constructions (e.g., CTR_DRBG per SP 800-90A), ensuring forward and backward security even if prior is compromised. Implementations must validate via CAVP and assess post-conditioning through statistical tests like those in SP 800-90B.

Design Principles and Categories

Generators Based on Cryptographic Primitives

Generators based on construct CSPRNGs by leveraging established algorithms such as hash functions, keyed hash-based message authentication codes (e.g., ), and block ciphers, assuming these primitives resist known attacks like collision-finding or distinguishing from random oracles. These designs, formalized in standards like Revision 1 (published January 2015), produce deterministic outputs from an initial entropy seed and optional additional inputs, ensuring that even if an adversary observes some output bits, they cannot predict future bits without the seed or internal . The security relies on the primitive's one-wayness and properties, where small changes in input lead to unpredictable output changes, providing resistance to state compromise and prediction attacks up to the primitive's key length (typically 128 or 256 bits). Three primary mechanisms dominate this category: Hash_DRBG, HMAC_DRBG, and CTR_DRBG. Hash_DRBG employs an approved (e.g., SHA-256) to derive output from the internal via a one-way chain: the update hashes the current concatenated with a or , while the output hashes the updated to produce bits. This approach, detailed in Section 10.1 of , supports security strengths up to 256 bits but requires reseeding for prediction resistance, as the deterministic nature without fresh limits long-term unpredictability. HMAC_DRBG extends this by using (per FIPS 198-1) as the primitive, where the keyed hash provides enhanced key-dependent diffusion; the is updated by HMAC-ing the prior with a derived key, offering similar strengths but with better resistance to certain key-recovery attacks due to HMAC's dual-key structure. CTR_DRBG, based on block ciphers like or in mode, encrypts sequential blocks derived from the internal state to generate keystream-like output, mimicking a . Specified in Section 10.2.1 of the standard, it achieves full output per invocation (up to the cipher's size) and supports derivation functions for additional input processing, making it suitable for high-throughput applications; however, implementations must side-channel vulnerabilities, such as timing attacks on the . All mechanisms instantiate with a strength (e.g., 128 bits), validated through tests ensuring no more than 2^{-strength} advantage for adversaries in distinguishing outputs from uniform random bits, as per NIST's conformance criteria. These primitives enable modular proofs under models like the (for hashes) or ideal , though real-world reductions depend on the underlying algorithm's unbroken status—e.g., has withstood since 2001 without practical breaks.

Number-Theoretic and Algebraic Designs

Number-theoretic designs for cryptographically secure pseudorandom number generators (CSPRNGs) rely on the computational hardness of problems in , such as and quadratic residuosity. These generators produce output sequences that are computationally indistinguishable from truly random bits, assuming the underlying number-theoretic assumptions hold against polynomial-time adversaries. A foundational example is the Blum-Blum-Shub (BBS) generator, introduced in , which operates over the ring \mathbb{Z}_n^* where n = pq is a Blum (product of two large primes p, q \equiv 3 \pmod{4}). In the BBS construction, an initial seed x_0 is selected as a modulo n, typically by choosing a random s and setting x_0 = s^2 \mod n. Subsequent states are generated via iterated squaring: x_{i+1} = x_i^2 \mod n. Output bits are extracted from the least significant bit (LSB) of x_i, or more generally, from specific bit positions to enhance against lattice-based attacks. The proof demonstrates that predicting future bits given past outputs is as hard as deciding quadratic residuosity modulo n, which is equivalent to factoring n under the quadratic residuosity assumption (QRA). Concrete analyses quantify this by bounding the advantage of adversaries; for instance, with a 1024-bit , distinguishing BBS output from random requires approximately $2^{256} operations under certain models. Despite its theoretical strength, exhibits practical limitations due to high computational cost: each iteration involves equivalent to squaring a large , yielding orders of magnitude slower than block-cipher-based alternatives like AES-CTR_DRBG. To mitigate this, variants such as truncated output schemes or elliptic curve analogs have been proposed, replacing modular squaring with point doubling on s over finite fields, preserving security under the elliptic curve problem while improving efficiency for specific applications. However, these remain niche, as their security reductions introduce additional assumptions not as rigorously vetted as classical factoring. Algebraic designs extend number-theoretic approaches by leveraging structures like finite fields or rings to construct CSPRNGs resistant to algebraic attacks, such as those exploiting linear dependencies. One class employs pseudorandom functions derived from the decisional Diffie-Hellman () assumption in cyclic groups, as in the Naor-Reingold generator (1999), where output is computed as evaluations of low-degree polynomials over group elements, ensuring indistinguishability if DDH holds. These are particularly suited for provable security in the but require group operations that can be costly without . Non-commutative algebraic variants, using matrix groups or free algebras, have been explored for keystream generation, aiming to resist through the hardness of solving systems in non-abelian structures, though empirical validation remains limited compared to commutative cases.

Chaos-Based and Hybrid Approaches

Chaos-based pseudorandom number generators (PRNGs) leverage the unpredictable behavior of chaotic dynamical systems, such as the or , which exhibit to conditions and topological mixing, that can produce sequences indistinguishable from random noise in finite precision. These generators map continuous chaotic trajectories to discrete bits via quantization or iteration, aiming for high output suitable for cryptographic use. Proponents argue that chaos provides inherent unpredictability without relying on computational hardness assumptions, potentially enabling efficient hardware implementations. Early designs, like those based on the x_{n+1} = r x_n (1 - x_n) with r \approx 4, suffer from digital realization challenges, including finite-word-length effects that degrade and lead to periodic orbits rather than true . To mitigate this, researchers have proposed enhancements such as hyperchaotic maps or coupled systems; for instance, a 2023 study introduced two-dimensional hyperchaotic maps derived from one-dimensional ones, which passed NIST statistical test suites and demonstrated resistance to basic correlation attacks in simulations. Similarly, a 2024 architecture using the for bit generation achieved throughputs exceeding 1 Gbps on FPGA while satisfying Dieharder tests, though long-term cycle lengths remain bounded by state space size. Despite passing statistical batteries like NIST SP 800-22, many chaos-based PRNGs fail cryptographic security criteria, as algebraic attacks can recover internal states from output bits due to low-dimensional attractors or linear approximations in the underlying differential equations. A 2016 analysis exposed vulnerabilities in a chaos-derived RNG by reconstructing the chaotic orbit via over finite fields, highlighting that statistical randomness does not imply indistinguishability from under adaptive adversaries. These weaknesses stem from the deterministic nature of iterations, where small perturbations in propagate predictably rather than randomly, undermining . Hybrid approaches address these limitations by integrating chaotic components with proven , such as hash functions or block ciphers, to condition outputs and prevent state recovery. For example, one scheme seeds a Grøstl hash with iterates to generate keys, passing both statistical and differential attacks while maintaining high entropy rates. Another 2022 hybrid fuses artificial neural networks trained on with logistic maps, yielding sequences that resist and tests, though scalability to post-quantum threats remains unproven. These methods enhance diffusion properties but introduce overhead; a 2024 robust variant, hybridized with , achieved cryptographic against known-plaintext attacks in entropy estimates exceeding 0.99 bits per bit. Overall, hybrids offer a pragmatic bridge but lack formal provable , relying instead on empirical validation.

Notable Algorithms and Practical Schemes

Deterministic Constructions (e.g., Hash_DRBG, CTR_DRBG)

Deterministic random bit generators (DRBGs) produce unbounded sequences of pseudorandom bits from a finite incorporating , relying on for expansion while aiming to provide security properties such as forward security—ensuring compromise of the internal state does not reveal prior outputs—and prediction resistance when periodically reseeded with fresh . These mechanisms are fully deterministic post-seeding, meaning identical yield identical outputs, which necessitates secure seed generation and protection against state compromise. NIST Special Publication 800-90A Revision 1, released on June 24, 2015, standardizes three such constructions: Hash_DRBG, HMAC_DRBG, and CTR_DRBG, each validated for security strengths of 112, 128, 192, or 256 bits depending on the underlying primitive. Hash_DRBG utilizes an approved , such as SHA-1 (deprecated for new designs), SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, or SHA-512/256, to iteratively update its internal state—comprising a value V of length equal to the hash output size and material—and generate requested bits. The process derives initial V and from , , and personalization string via hashing; generation appends a counter to V, hashes it to produce output blocks (padding if needed for the requested length up to 2^{19} bits per call), then updates V by hashing a block of zeros concatenated with the prior hash and optional additional input. Reseeding incorporates new similarly, overwriting the to achieve backtracking resistance, where an adversary compromising the state post-reseed cannot reconstruct prior internal states. proofs for Hash_DRBG assume the behaves as an primitive, providing indistinguishability from random under adaptive chosen- attacks, though independent analyses highlight that reductions may not be tight against certain multi-user scenarios or if the hash exhibits length-extension weaknesses. CTR_DRBG employs an approved , such as AES-128, AES-192, or AES-256, in counter mode to derive a keystream from a K, a counter CTR, and an optional derivation function using the cipher in CBC-MAC mode for enhanced reseeding. Instantiation generates initial K and CTR from inputs via the derivation function (DF) or directly; generation encrypts incremented counter blocks under K to output up to 2^{19} bits, then updates CTR and optionally K via DF with additional input for state refresh, ensuring at least one unused block per generation to prevent counter exhaustion attacks. Without DF, reseeding updates K directly from XORed with output blocks; with DF, it expands to full , providing stronger mixing. The construction's security inherits from the block cipher's assumption, with formal proofs demonstrating resistance to state-compromise extension attacks up to the cipher's strength, provided generation limits (e.g., 2^{48} blocks per ) are respected; however, critiques note potential vulnerabilities to related- attacks if the cipher's implementation lacks robustness, and reuse in reseeding could degrade if not handled carefully. Both mechanisms support additional inputs for forward progress resistance but mandate reseeding after 2^{33-35} bits output (depending on strength) or upon availability to mitigate predictability from prolonged use. Implementations must validate inputs and detect prediction resistance requests, with performance favoring CTR_DRBG in hardware-accelerated environments due to parallelizable counter mode versus sequential hashing. Independent security evaluations, such as those in , affirm their suitability under ideal primitive assumptions but recommend avoiding Hash_DRBG with due to collision vulnerabilities demonstrated in 2017.

System-Level Implementations (e.g., Yarrow, )

System-level implementations of CSPRNGs are designed to operate across an entire computing environment, such as an operating system kernel or , by aggregating from diverse system sources like hardware interrupts, disk I/O timings, and network events, while providing a unified for generating unpredictable outputs for cryptographic operations. These designs emphasize to depletion, fork-safety in multi-process environments, and mechanisms to prevent state from affecting future generations, often incorporating reseeding protocols to maintain even under adversarial observation. Unlike purely deterministic constructions, they integrate true random bits directly into the state update process to bound the impact of any to a limited output window. Yarrow, introduced in 1999 by John Kelsey, , and Niels Ferguson, structures collection into categorized pools based on estimated bit strength, using a like to mix inputs and update an accumulator that tracks available . The phase employs a , such as in Yarrow-160 or in later variants, operated in counter mode to produce output keystream, with reseeding triggered when sufficient new accumulates to refresh the cipher key and counter, aiming to limit predictability to at most 160 bits post-compromise. This architecture was implemented in systems including early versions of PGP and FreeBSD's /dev/random device until around 2001, prioritizing verifiable correctness through precise specifications to facilitate auditing and portability across platforms. Fortuna, developed by and Niels Ferguson and detailed in their 2003 book Practical Cryptography, addresses Yarrow's vulnerabilities to persistent state attacks by dividing into 32 independent pools, each fed by system events hashed with incremental counters to prevent reuse, and reseeding the AES-based generator only when a pool reaches a doubling threshold of accumulated bits (starting at 64). This pool-based scheduling ensures frequent but controlled reseeds—up to once per 2^32 outputs in the worst case—providing forward security by design, as an attacker predicting the generator state cannot retroactively influence prior outputs without breaking the underlying . Fortuna has been adopted in environments requiring high-volume generation, such as macOS after its transition from Yarrow in late 2019, and its open design allows flexible substitution while maintaining provable bounds on leakage. Both Yarrow and exemplify trade-offs in system-level design: Yarrow's centralized accumulator enables rapid entropy estimation but risks lock-in during low-entropy periods, whereas 's decentralized pools enhance robustness against biased or delayed inputs, though at the cost of more complex bookkeeping. Empirical validations, including statistical test suites like NIST STS, confirm their outputs pass cryptographic criteria when sufficiently seeded, but real-world deployments underscore the need for sources to avoid failures in virtualized or embedded settings.

Hardware and Embedded Variants

Hardware variants of cryptographically secure pseudorandom number generators (CSPRNGs) typically incorporate dedicated true random number generators (TRNGs) to supply entropy, combined with deterministic random bit generators (DRBGs) for expansion and conditioning, enabling high-throughput output resistant to cryptanalytic attacks. Ring oscillator-based TRNGs, which exploit jitter in oscillating circuits for physical entropy, form a common foundation; the Rambus TRNG-IP-76, for instance, achieves NIST entropy source validation (ESV) under SP 800-90B and supports FIPS SP 800-90A/B/C DRBG instantiation, delivering bits at rates suitable for ASIC integration. Similarly, Synopsys' TRNG core complies with NIST SP 800-90C for non-deterministic sources, with variants certified for automotive ASIL B and FIPS 140-3 modules, emphasizing post-processing to mitigate deterministic flaws in hardware noise. Field-programmable gate array (FPGA) implementations allow flexible deployment of CSPRNG designs, such as those based on Koblitz elliptic curve K-163 for NIST-compliant pseudorandom expansion, achieving cryptographically secure output through hardware-optimized and point addition. Chaotic map-derived generators, like piecewise linear variants on FPGAs, provide amplification via nonlinear , tested for passing NIST statistical test suites including and runs tests. Block cipher-based hardware, employing or in counter mode, yields CSPRNGs with proven indistinguishability from uniform randomness under adaptive chosen-seed attacks, as validated in FPGA prototypes generating up to 1 Gbps. Standalone integrated circuits, such as Microchip's RNG90, offer validated RNGs without host dependency, using internal sources and conditioning for embedded cryptographic modules. Intel's Secure Key DRNG, integrated in x86 processors since Ivy Bridge (2012), provides certified output via AES-CTR-DRBG seeded by on-chip thermal noise, though independent verification of quality remains essential due to potential variability. Embedded variants prioritize low power, minimal gate count, and resilience in constrained environments like microcontrollers and devices, often relying on hardware TRNGs or DRBGs to avoid software-only pitfalls such as predictable seeds. using , approved under , suits embedded systems with hardware acceleration, as in processors, generating secure nonces and keys with reseeding intervals up to 2^48 invocations to bound state compromise risks. variants provide alternatives for devices lacking block ciphers, deriving pseudorandom bits from hash-based codes with 256-bit strength. In RFID tags, the PRNG employs constructions for efficient state update and output, consuming under 1000 gates while passing DIEHARDER tests for cryptographic adequacy in EPC Gen2 protocols. SRAM power-up states serve as sources in low-end MCUs without dedicated RNGs, yielding 50-100 bits of startup randomness per , conditioned via extractors to feed DRBGs. OpenTitan's CSRNG peripheral, designed for silicon root-of-trust, integrates NIST/BSI-compliant reseedable DRBGs with hardware injection, supporting command-based operation for secure and key derivation in embedded secure elements. Low-cost hybrid systems, costing approximately $1.50 in components, combine off-chip noise diodes with on-chip CSPRNGs, achieving 25 ms initialization and energy efficiency for networks. Challenges in these variants include ensuring entropy independence from environmental factors, such as temperature-induced in ring oscillators, addressed through NIST SP 800-90B health tests like adaptive proportion tests that detect stuck bits or failures. Hardware implementations must also resist side-channel attacks, like differential on DRBG state updates, mitigated via constant-time arithmetic in designs like Xiphera's TRNG cores.

Standards and Regulatory Frameworks

NIST Special Publication (SP) 800-90A, titled "Recommendation for Random Number Generation Using Deterministic Random Bit Generators," specifies mechanisms for generating cryptographically secure pseudorandom bits through deterministic processes, relying on approved such as functions, , or block ciphers. These deterministic random bit generators (DRBGs) require an initial seed of from validated sources and produce output indistinguishable from true random bits under specified security assumptions, with supported security strengths of 112, 128, 192, or 256 bits. The standard outlines instantiation, generation, reseeding, and update processes to maintain forward and backward security, ensuring that compromise of internal state does not retroactively expose prior or future outputs absent additional . The publication defines three primary DRBG mechanisms: Hash_DRBG, based on iterations like SHA-256; HMAC_DRBG, employing constructions for state derivation; and CTR_DRBG, utilizing block ciphers in counter mode for efficient, high-speed generation. Each mechanism incorporates prediction resistance via reseeding with fresh and supports additional input for domain separation or incorporation, though implementations must validate inputs to prevent weakening. Originally published as SP 800-90 in June 2006, the standard included a fourth mechanism, , derived from operations, which was later identified as potentially vulnerable due to non-standard constants enabling efficient output prediction by entities aware of specific parameters. Concerns arose from NSA advocacy for despite its slower performance and lack of rigorous proofs compared to alternatives, with declassified documents later revealing NSA knowledge of exploitable weaknesses prior to standardization. NIST withdrew support for in a 2013 announcement and fully removed it from SP 800-90A Revision 1 in June 2015, following public scrutiny and evidence of its inclusion in products like RSA , where it contributed to predictable outputs when default parameters were used. Revisions to SP 800-90A reflect ongoing cryptographic advancements and validation refinements; the 2012 initial revision separated DRBG specifications from sources, while the 2015 update clarified security proofs and addressed minor implementation ambiguities. A pre-draft for Revision 2, released in September 2025, proposes alignments with updated primitives like and enhanced post-compromise recovery, amid calls for consistency with emerging quantum-resistant standards. Related specifications include SP 800-90B (January 2018), which details source validation through statistical tests and conditioning methods to ensure estimates for seeding DRBGs, and SP 800-90C (finalized September 2025), which constructs full random bit generators (RBGs) by combining SP 800-90A DRBGs with SP 800-90B sources, prescribing reseeding intervals and health tests for robust system-level deployment. These documents collectively form NIST's framework for approved in federal systems, mandating via the Cryptographic Algorithm Validation Program (CAVP) to mitigate risks from insufficient or flawed implementations.

International and Industry Guidelines

ISO/IEC 18031 establishes a for random bit generators (RBGs) intended for cryptographic applications, encompassing both non-deterministic RBGs (NRBGs) that rely on physical sources and deterministic RBGs (DRBGs) that function as CSPRNGs by expanding material into pseudorandom outputs. The standard, originally published in 2011 and revised in 2025, mandates that DRBGs must resist state compromise extension attacks and prediction even after observing prior outputs, with reseeding requirements to incorporate fresh periodically. It aligns with broader cryptographic security by specifying conditioning components to enhance quality and output functions to produce bits indistinguishable from true random sources. Complementing ISO/IEC 18031, ISO/IEC 20543:2019 outlines a for evaluating both NRBGs and DRBGs, including statistical test batteries, , and assessments against known attacks such as or algebraic weaknesses. These evaluations ensure CSPRNG implementations meet cryptographic strength levels, with emphasis on and to , applicable in certified modules under frameworks like . In the internet engineering domain, IETF 4086 provides guidelines for in protocols, advocating CSPRNGs over traditional PRNGs to avoid pitfalls like insufficient collection or predictable seeding, and recommends system-specific harvesting from sources. Similarly, 8937 extends these by proposing deterministic augmentations to CSPRNGs using long-term private keys, enhancing in protocols like TLS without relying solely on transient . These RFCs, developed through among industry stakeholders, underscore the need for CSPRNGs to withstand adaptive adversaries in networked environments.

Vulnerabilities and Real-World Failures

Theoretical Attack Vectors

Theoretical attack vectors against cryptographically secure pseudorandom number generators (CSPRNGs) primarily target the core security properties of unpredictability, resistance, and , assuming a computationally bounded adversary with to outputs but no direct state observation. A fundamental vector involves state compromise extension, where partial knowledge of the internal state enables recovery of prior or subsequent outputs; for instance, in designs like ANSI X9.17, compromising the key alongside observed outputs permits backtracking to earlier states via reversible functions, potentially exposing the entire output history if inputs are low-entropy (e.g., timestamps with 10 bits). Similarly, forward extension attacks exploit persistent state knowledge, as seen in feedback shift register-based schemes where a single compromised state reveals all future outputs deterministically. In deterministic random bit generators (DRBGs) such as those in , state leakage during output production forms a : for CTR_DRBG, exposure allows full past and future output recovery due to the invertible nature of block ciphers like in mode, especially without the derivation function for reseeding. Hash_DRBG exhibits vulnerability if the value is learned, enabling computation of all outputs from a single generation call and potential state recovery via consecutive compromise, assuming the hash lacks preimage resistance. _DRBG, while more robust under the model, fails forward security without additional input, as post-compromise state exposure distinguishes outputs from random with verification. Number-theoretic CSPRNGs hiding linear structures, such as linear congruential or multiple recursive generators, succumb to lattice-based attacks; for example, Coppersmith's on truncated outputs (less than 40% bits revealed) recovers seeds in cubic time relative to modulus size, with practical recovery of MRG32k3a states from 7-8 outputs in seconds. Input predictability amplifies these, as controlled or guessable seeds (e.g., via timing or low-entropy nonces) reduce effective security to brute-force levels, bounded by space (e.g., 2^20 effort for low-entropy ). Overall, these vectors underscore reliance on secure primitives and rigorous reseeding; breaches occur if assumptions like hardness fail or designs omit entropy mixing.

Documented Exploits (e.g., Dual_EC_DRBG Backdoor, DUHK)

The Dual_EC_DRBG, standardized by NIST in SP 800-90A in 2006, employed elliptic curve points P and Q to generate pseudorandom bits, but its design allowed for a potential backdoor if the NSA-selected curve parameters concealed a trapdoor permitting efficient state prediction with knowledge of secret values. Researchers Dan Shumow and Niels Ferguson highlighted this vulnerability at Crypto 2007, noting that an attacker aware of the private keys corresponding to P and Q could recover the internal state after observing approximately 32 bytes of output, enabling decryption of up to 2^90 bits of keystream per session. Edward Snowden's 2013 leaks revealed NSA influence in promoting Dual_EC_DRBG despite internal concerns, with documents showing the agency generated the parameters and paid RSA $10 million to prioritize it, raising suspicions of deliberate weakening for surveillance. Juniper Networks incorporated a Dual_EC variant in its NetScreen firewalls until 2015, where unauthorized modifications produced predictable outputs, compromising VPN and SSL/TLS sessions; analysis confirmed the backdoor exploited non-standard constants, allowing key recovery from traffic observation. The DUHK attack, disclosed in October 2017, targeted implementations of the ANSI X9.31 , which uses a like in counter mode with a fixed derived from a hard-coded and , rendering outputs predictable if the key is static across sessions. In affected FortiOS and Polycom RealPresence systems, attackers could recover session keys for VPNs and TLS by capturing about 256 bytes of traffic over multiple connections, exploiting the reuse of a 112-bit or weaker key to brute-force or predict the PRNG state within feasible time. The vulnerability stemmed from non-compliance with X9.31's requirement for fresh seeds, instead relying on timestamps that failed to provide sufficient unpredictability, affecting thousands of enterprise devices until patches replaced hard-coded keys with proper sources. This exploit underscored the risks of deterministic PRNGs without robust seeding, as passive eavesdroppers could decrypt communications retroactively, though it required of the implementation's fixed key structure.

Implications for Cryptographic Systems

Failures in cryptographically secure pseudorandom number generators (CSPRNGs) can compromise the foundational randomness required for key generation, initialization vectors (IVs), nonces, and padding in protocols such as TLS/SSL, SSH, and IPsec VPNs, potentially enabling attackers to predict outputs and recover secrets. For instance, predictable randomness undermines symmetric encryption by allowing IV or nonce reuse, which violates security assumptions in modes like GCM or CBC and facilitates chosen-plaintext attacks or decryption of ciphertext. Similarly, in asymmetric cryptography, weak CSPRNG outputs during key derivation can lead to repeated or guessable private keys, exposing systems to brute-force or factoring attacks. The vulnerability exemplifies systemic risks, where a backdoor—allegedly inserted via non-standard parameters—permitted prediction of subsequent outputs after observing approximately 32 bytes, affecting TLS implementations that incorporated it for session keys or nonces. This flaw, standardized in until its 2013 revocation following disclosures, could enable passive decryption of encrypted traffic in affected systems, eroding confidentiality across web browsing, email, and financial transactions reliant on secure channels. Studies confirmed practical exploitability in certain TLS configurations, highlighting how even subtle biases propagate to protocol-level failures without detection in standard statistical tests. In the DUHK attack (CVE-2017-17433), flaws in ANSI X9.31 PRNG implementations using hard-coded seeds allowed recovery of session keys after observing 256 bytes of output, impacting FIPS-certified VPNs and TLS handshakes by enabling decryption of up to 61% of traffic in vulnerable setups. Such entropy deficiencies, often from poor seeding or reseeding, cascade to authentication failures in protocols like SSH, where predictable nonces facilitate replay or man-in-the-middle attacks, compromising remote access integrity. Overall, CSPRNG breakdowns reveal a in layered cryptographic architectures, where protocol security proofs assume indistinguishability from true ; breaches here invalidate downstream assurances, necessitating rigorous auditing and fallback mechanisms to mitigate widespread exposure or system-wide erosion. Historical incidents, including the 2008 Debian RNG bug reducing key space to 2^15 possibilities, underscore that even transient weaknesses can yield millions of compromised certificates, amplifying risks in certificate authorities and public key infrastructures.

Contemporary Developments and Challenges

Advances in Post-Quantum Resistant Designs

Symmetric underlying many CSPRNGs, such as in CTR-DRBG mode, exhibit resilience to quantum attacks primarily due to providing only a quadratic speedup, necessitating larger key sizes like AES-256 to maintain 128-bit post-quantum security. NIST has endorsed extensions to AES-CTR-DRBG for integration with submissions, addressing performance bottlenecks in generating large key material volumes required by lattice-based schemes. These adaptations leverage existing for AES while ensuring compatibility with quantum-resistant key encapsulation mechanisms standardized in FIPS 203. Research has advanced toward CSPRNG designs grounded in post-quantum primitives, particularly , to achieve provable security under assumptions like the hardness of the (LWE) or Learning With Rounding (LWR) problems, which resist known quantum algorithms including Shor's for factoring and discrete logarithms. A 2020 proposal introduced an LWE-based quantum-resistant PRNG that obfuscates an initial secure seed using LWE instances, applies homomorphic functions to preserve lattice hardness, and feeds the result into a circuit of three dynamically configured Linear Feedback Shift Registers (LFSRs) for bit stream generation, incorporating a constant-bit boost. This design yields a throughput of 35.172 Mbit/s on standard hardware and passes all 12 NIST statistical test suites with p-values indicating no discernible bias, outperforming non-quantum-resistant alternatives like PCG32 (4-5 Mbit/s) and Xoroshiro128+ (8-9 Mbit/s) in both speed and quantum security. Further lattice-based innovations include LWR-derived PRNGs that drive LFSR streams for quantum-safe , suitable for resource-constrained environments, emphasizing reduced computational overhead while maintaining indistinguishability from distributions under quantum polynomial-time adversaries. A high-performance -based PRNG construction demonstrates scalability for high-dimensional sampling needs in post-quantum protocols, with security reductions to worst-case problems ensuring robustness against quantum sieving attacks. These designs address potential forward-secrecy gaps in systems by decoupling PRNG state from quantum-vulnerable asymmetric components, though ongoing evaluations highlight trade-offs in injection and state size compared to symmetric baselines.

Recent Innovations (Post-2020 Research)

Research in cryptographically secure pseudorandom number generators (CSPRNGs) post-2020 has emphasized novel constructions leveraging chaotic dynamics, evolutionary algorithms, architectures, and optimizations to existing designs, aiming to enhance , performance, and resistance to cryptanalytic attacks while passing standardized statistical test suites such as NIST SP 800-22. These efforts address limitations in traditional CSPRNGs, including predictability in low- environments and computational overhead, through hybrid approaches that combine mathematical rigor with empirical validation. One notable innovation involves the use of robust chaotic tent maps (RCTM) to generate pseudo-random sequences with global stability and large parameter spaces. In a proposal, RCTM equations incorporate and scaling operations to produce chaotic orbits confirmed by diagrams and positive Lyapunov exponents, yielding outputs that pass NIST SP 800-22, , and suites, alongside analyses of key space size, sensitivity, and correlation. This design claims cryptographic security through its expansive state space and unpredictability, outperforming prior chaotic maps in robustness against parameter perturbations. Evolutionary computing techniques have also advanced CSPRNG seed generation. A 2022 study applied grammatical evolution (GE) using Backus-Naur Form grammars to evolve high-entropy initial seeds for CSPRNGs, generating 1,514,240 unique seeds via production rule permutations and hashing with SHA3-512. The resulting generator, reseeding every 4,000 sequences, passed all 15 NIST SP 800-22 tests and 17 Diehard tests on sequences up to 80 million bits, with encryption throughput surpassing Python's Mersenne Twister implementation and average seed generation times of 0.046 seconds. Security relies on resistance to reverse engineering and compliance with avalanche criteria, though the approach focuses on seed quality rather than core generation primitives. Modifications to established CSPRNG frameworks have prioritized efficiency-security tradeoffs. In 2023, researchers adapted Gennaro's -based PRNG by substituting word-wise with bit-wise logical operations in and hard-core functions, rendering performance nearly independent of parameters via register-level . equivalence to the standard problem was proven, with outputs validated against NIST SP 800-22 tests, enabling flexible implementations less reliant on logic units. Machine learning-based designs, reviewed in 2024, categorize PRNGs into recurrent neural networks (RNNs, including LSTMs), generative adversarial networks (GANs), and (DRL) variants. RNNs exploit temporal dependencies for nonlinearity, GANs leverage adversarial to approximate true (achieving 97.5% NIST pass rates in some cases), and inverted uses generalized rewards to produce sequences outperforming HC128 and in 8 of 15 NIST sub-tests. While these exhibit periods exceeding $2^m and forward/backward security in select implementations, they generally lack formal indistinguishability proofs from uniform , positioning them as promising but not fully mature for cryptographic deployment without additional hardening.

References

  1. [1]
    pseudorandom number generator - Glossary | CSRC
    A pseudorandom number generator (PRNG) is a deterministic process using a seed to output a sequence of values that appear random. It is also called a DRBG.
  2. [2]
    Cryptographically Secured Pseudo-Random Number Generators
    CSPRNGs are a special type of PRNG with the property of unpredictability. This means that given n consecutive bits of the key, there is no algorithm in ...
  3. [3]
    How the NSA (may have) put a backdoor in RSA's cryptography
    Jan 6, 2014 · This is necessarily a long technical discussion, but hopefully by the end it should be clear why Dual_EC_DRBG has such a bad reputation.
  4. [4]
    The Many Flaws of Dual_EC_DRBG
    Sep 18, 2013 · Dual-EC · Flaw #1: Dual-EC has no security proof · Flaw #2: Dual-EC outputs too many bits · Flaw #3: You can guess the original EC point from ...
  5. [5]
    [PDF] A Statistical Test Suite for Random and Pseudorandom Number ...
    the outputs of a PRNG may have better statistical properties and be produced faster than an RNG. 1.1.5 Testing. Various statistical tests can be applied to a ...Missing: CSPRNG | Show results with:CSPRNG<|separator|>
  6. [6]
    Understanding definition of secure pseudo random number generator
    Mar 12, 2020 · A secure pseudo random number generator is called secure if, given a sequence of numbers generated by the PRNG, then if any one of those numbers from the ...What does it mean for a random number generator to be ...What is the difference between CSPRNG and PRNG?More results from crypto.stackexchange.com
  7. [7]
    RFC 4086 - Randomness Requirements for Security
    This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities.
  8. [8]
    [PDF] SoK: Security Models for Pseudo-Random Number Generators
    The lack of insurance about the generated random numbers can cause serious damages in cryptographic protocols, and vulnerabilities can be exploited by ...
  9. [9]
    RFC 8937: Randomness Improvements for Security Protocols
    Randomness Wrapper. The output of a properly instantiated CSPRNG should be indistinguishable from a random string of the same length. However, as previously ...Randomness Improvements For... · 1. Introduction · 3. Randomness Wrapper
  10. [10]
    Cryptography - Pseudo-Random Number Generators
    The traditional definition of pseudorandom number generators involves ... The Next-Bit Test. We derive an equivalent characterization of PRNG's to that ...
  11. [11]
    NIST SP 800-90A Rev. 1
    Jun 24, 2015 · This Recommendation specifies mechanisms for the generation of random bits using deterministic methods.<|separator|>
  12. [12]
    [PDF] NIST Special Publication 800-90A Revision 1
    For example, a DRBG that is designed to support a maximum security strength of 256 bits could, instead, be instantiated to support only a 128-bit security ...
  13. [13]
    PRNG - Glossary | CSRC - NIST Computer Security Resource Center
    A cryptographic PRNG has the additional property that the output is unpredictable, given that the seed is not known. Sources: CNSSI 4009-2015 under ...
  14. [14]
    Design of a cryptographically secure pseudo random number ...
    May 21, 2022 · As statistically inferred from our NIST experiments, we reseed our CSPRNG after generating every 4000 sequences for our 4096-bit CSPRNG to ...
  15. [15]
    Attacking a random number generator - SCHUTZWERK
    Oct 12, 2020 · We focus on analyzing the Mersenne Twister MT19937 which is the most widely used PRNG. Our approach uses an SMT solver to clone a given instance of MT19937 ...Missing: differences | Show results with:differences
  16. [16]
    Types of generators - The Rust Rand Book
    Some CSPRNGs additionally satisfy a third property: a CSPRNG is backtracking resistant if it is impossible for an attacker to calculate prior output values of ...
  17. [17]
    Secure Random Generators - Practical Cryptography for Developers
    Jun 19, 2019 · In cryptography secure PRNGs are used, known as CSPRNG, which typically combined entropy with PRNG and other techniques to make the generated randomness ...Secure Random Number... · Pseudo-Random Number... · Initial Entropy (Seed)Missing: conventional | Show results with:conventional
  18. [18]
    RNG, PRNG, CSPRNG | cryptographically secure pseudorandom
    Oct 16, 2024 · CSPRNGs tend to be much slower than PRNGs, so you pay for security. And for a non-cryptographic application this cost isn't worth it. In general ...Missing: conventional | Show results with:conventional
  19. [19]
    A Brief History of Random Numbers - Carl Tashian
    Mar 10, 2017 · John von Neumann developed a PRNG around 1946. His idea was to start with an initial random seed value, square it, and slice out the middle ...
  20. [20]
    Andrew C Yao - A.M. Turing Award Laureate
    ... 1982 ... next-bit test, is adequate for characterizing pseudorandomness. Having defined perfect ensembles, Yao then defined a pseudorandom number generator ...
  21. [21]
    How to Generate Cryptographically Strong Sequences of ...
    Pseudorandom generators (suggested and developed by Blum and Micali and Yao) are efficient deterministic programs that expand a randomly selected k-bit seed ...
  22. [22]
    [PDF] Pseudorandom Generators
    A classic and celebrated result in the foundations of cryptography is that cryptographic pseudorandom generators can be constructed from any one-way ...
  23. [23]
    [PDF] How to Generate Cryptographically Strong Sequences ... - cs.wisc.edu
    THEOREM (Yao). A collection S {Sk} passes the next-bit-test if and only if it passes all polynomial-size statistical tests.
  24. [24]
    How to generate cryptographically strong sequences of pseudo ...
    How to generate cryptographically strong sequences of pseudo random bits. Published in: 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).Missing: generator | Show results with:generator
  25. [25]
  26. [26]
    Notes on the Design and Analysis of the Yarrow Cryptographic ...
    We describe the design of Yarrow, a family of cryptographic pseudo-random number generators (PRNG). We describe the concept of a PRNG as a separate ...Missing: CSPRNG history
  27. [27]
    Fortuna - Schneier on Security
    Fortuna is a PRNG; it generates cryptographically secure pseudorandom numbers on a computer. It can also be used as a real random number generator.Missing: 2003 | Show results with:2003
  28. [28]
    The Strange Story of Dual_EC_DRBG - Schneier on Security -
    Nov 15, 2007 · The level of involvment of the NSA in actually strengthaning the S-Boxs has never been released and is still something of a controversy (see Don ...
  29. [29]
    [PDF] Recommendation for the Entropy Sources Used for Random Bit ...
    The submitter provides the following inputs for entropy estimation, according to the requirements presented in Section 3.2.4. Page 18. NIST SP 800-90B.
  30. [30]
    [PDF] True Random Number Generators Secure in a Changing Environment
    1 This data might come from various sources, such as hardware devices based on thermal noise or radioac- tive decay, a user's keyboard typing pattern, or ...
  31. [31]
  32. [32]
    Quside receives NIST SP800-90B Certification for photonic quantum ...
    Quside's RNGs are NIST SP800-90B compliant and provide the fastest and highest quality entropy available in the market.<|separator|>
  33. [33]
    High throughput true random number generator based on ...
    True random number generator is a crucial hardware system component that is widely used in the fields of cryptographic communication, key generation, ...
  34. [34]
    [PDF] Entropy Sources and You: An Overview of SP 800-90B
    How will labs assess an entropy source? • Noise source needs some justification. • Use statistical tests to assess entropy per sample. • Requires access to raw ...
  35. [35]
    [PDF] Randomness Extractors - Harvard SEAS
    Von Neumann proposed the following extractor: Break all the variables in pairs and for each pair output 0 if the outcome was. 01, 1 if the outcome was 10 ...
  36. [36]
    A Note on Randomness Extraction
    Among others, von Neumann's extractor and the one by Peres (1992) are extracting functions. The Peres extractor takes a list of bits (zeros and ones generated ...
  37. [37]
    [PDF] The NIST SP 800-90A Deterministic Random Bit Generator ...
    Oct 29, 2015 · Testing for the cryptographic module in which the DRBG is implemented is defined in FIPS PUB 140-2, Security Requirements for Cryptographic ...
  38. [38]
    [PDF] An Analysis of the NIST SP 800-90A Standard
    Abstract. We investigate the security properties of the three deterministic random bit generator (DRBG) mechanisms in the NIST SP 800-90A standard [2].
  39. [39]
    [PDF] Cryptographic Secure Pseudo-Random Bits Generation : The Blum ...
    In this work, we present first the notion of cryptographic secure pseudo- random bit generators (PRBG) in a formal way by using two different def- initions.
  40. [40]
    Concrete Security of the Blum-Blum-Shub Pseudorandom Generator
    In this paper we continue to analyse the concrete security the BBS generator. We show how to select both the size of the modulus and the number of bits ...
  41. [41]
    The Performance of Blum-Blum-Shub Elliptic Curve Pseudorandom ...
    The findings ascertain the prevalence of insecurities in the default WPA2 passwords due to low charset size and weak encryption algorithm. For these reasons, we ...<|control11|><|separator|>
  42. [42]
    [PDF] The use of non-commutative algebra in cryptographically secure ...
    May 1, 1996 · Stream ciphers are built around a cryptographically se- cure pseudorandom number generator, or CSPRNG. The generator is used to produce a key ...
  43. [43]
    Chaos-based Pseudo-Random Number Generators and Chip ...
    In this paper, chaos-based cryptography is surveyed with focus on designing chaotic pseudo-random number generators (CPRNGs) for stream cipher and their chip ...
  44. [44]
    Pseudo-Random Number Generator Based on Logistic Chaotic ...
    This paper proposes a PRNG based on a modified logistic chaotic system. This chaotic system with fixed system parameters is convergent and its chaotic behavior ...
  45. [45]
    Chaos Based Cryptographic Pseudo-Random Number Generator ...
    This article presents a configurable, high-throughput pseudo-random number generator template targeting cryptographic applications.
  46. [46]
    Beyond Statistical Analysis in Chaos‐Based CSPRNG Design - 2021
    Jun 10, 2021 · Cryptographically secure pseudorandom number generator (CSPRNG) efficiently generates sequences that cannot be distinguished from random ...
  47. [47]
    Comparison of two new chaos-based pseudorandom number ...
    In this work, we proposed two new 2D hyperchaotic maps designed from 1D chaotic maps to use in the design of two new PRNGs for cryptographic applications.
  48. [48]
    A New Chaotic Based Cryptographically Secure Pseudo Random ...
    Abstract: This paper introduces a novel chaotic-based pseudo-random number generator (PRNG) architecture utilizing the Lorenz system.
  49. [49]
    Security analysis of a chaos-based random number generator for ...
    In this paper we present an algebraic attack on a chaos-based random number generator (RNG). In order to analyze the security weaknesses of the RNG, ...Missing: peer- reviewed PRNG
  50. [50]
    [PDF] Security Analysis of a Chaos Based Random Number Generator
    Abstract— This paper introduces security analy- sis of a chaos based random number generator (RNG). An attack system is proposed to discover the security.
  51. [51]
    Cryptographically secure pseudo-random number generation using ...
    (Citation2014), proposed a hybrid approach to generate PRNG. The chaotic system provides an additional input to the sky, stem which is implemented on FPGA ...
  52. [52]
    Cryptographically secure random number generator with chaotic ...
    Aug 5, 2025 · ... Ozkaynak proposed a hybrid RNG architecture based on chaos and Grøstl hash function. It is seen that the architecture successfully passed ...<|separator|>
  53. [53]
    Pseudo Random Number Generator Based on Chaos Theory and ...
    In this work, an innovative hybrid design of a PRNG based on Artificial Neural Networks (ANNs) and chaos theory is proposed.
  54. [54]
    Cryptographically Secure Pseudo-Random Number Generation (CS ...
    Aug 10, 2024 · This paper presents a novel method to generate cryptographically secure pseudo-random numbers (CSPRNG) using a robust chaotic tent map (RCTM).
  55. [55]
    Hybrid Chaotic-Based PRNG for Secure Cryptography Applications
    This paper suggests a novel one-dimensional (1D) map to address the limitations of traditional chaotic 1D maps.Missing: CSPRNGs | Show results with:CSPRNGs
  56. [56]
    [PDF] Notes on the Design and Analysis of the Yarrow Cryptographi ...
    John Kelsey, Bru e S hneier, and Niels Ferguson ... Next, we de ne a spe i instan e of a PRNG in the Yarrow family that makes use of available te hnology today.Missing: CSPRNG history
  57. [57]
    An implementation of the Yarrow PRNG for FreeBSD - USENIX
    Dec 28, 2001 · Yarrow-160: Notes on the design and analysis of the yarrow cryptographic pseudorandom number generator. Sixth Annual Workshop on Selected ...Missing: CSPRNG | Show results with:CSPRNG
  58. [58]
    [PDF] Cryptography Engineering: Design Principles and Practical ...
    The generator for Fortuna that we just described is a cryptographically strong. pRNG in the sense that it converts a seed into an arbitrarily long pseudorandom.
  59. [59]
    TRNG-IP-76 (True Random Number Generator) | Security IP - Rambus
    The TRNG-IP-76 is a NIST ESV certified, FIPS (SP800-90A/B/C) Ring Oscillator-based True Random Number Generator IP core for True Random Number Generation (TRNG)
  60. [60]
    Synopsys True Random Number Generator for NIST SP 800-90c
    Feb 3, 2025 · FIPS 140-3/140-2 certification support; Successfully certified for in customer end-products; Automotive variant certified for ASIL B / ISO ...<|control11|><|separator|>
  61. [61]
    Hardware Implementation of a Cryptographically Secure Pseudo ...
    Abstract: In this brief, a cryptographically secure pseudo-random number generator based on the NIST Koblitz elliptic curve K-163 is implemented.
  62. [62]
    Hardware Design and Implementation of Pseudorandom Number ...
    An FPGA based cryptographically secured pseudorandom number generator is proposed in this paper. This method uses a piecewise linear chaotic map along with ...
  63. [63]
    Cryptographically Secure PseudoRandom Bit Generator for ... - MDPI
    The aim of this paper was to propose a modular cryptographically secure random number generator suitable for wearable technology. In almost every cryptographic ...
  64. [64]
    Cryptographic pseudo random number generator in embedded ...
    Mar 22, 2013 · "Cryptographically secure" IVs and keys shall be generated using crypto PRNG, e.g. HMAC_DRBG or CTR_DRBG. The former is based on HMAC, the ...Cryptographically secure PRNG's in C - Stack OverflowHow does a cryptographically secure random number generator work?More results from stackoverflow.comMissing: variants | Show results with:variants
  65. [65]
    [PDF] Efficient Hardware Implementations of the Warbler Pseudorandom ...
    Abstract. Pseudorandom number generators (PRNGs) are very important for EPC Class 1 Gener ation 2 (EPC C1 G2) Radio Frequency Identification (RFID) systems.
  66. [66]
    [PDF] Robust, low-cost, auditable random number generation for ...
    Nov 14, 2016 · A hardware/software system for embedded devices, costing ~$1.50, 1.5 cm2, 25ms init, and 10 ZigBee packet energy, using a CSPRNG with a secret ...Missing: variants | Show results with:variants
  67. [67]
    CSRNG - OpenTitan Documentation
    Compliant with NIST and BSI recommendations for random number generation. Hardware peripherals and software applications issue commands to dedicated RNG ...
  68. [68]
    True Random Number Generation (TRNG) - Xiphera
    Xiphera's hardware-based True Random Number Generation (TRNG) IP core with an entropy source provides true random numbers.
  69. [69]
    SP 800-90A, Recommendation for Random Number Generation ...
    This Recommendation specifies mechanisms for the generation of random bits using deterministic methods. The methods provided are based on either hash functions, ...
  70. [70]
    NIST Removes Dual_EC_DRBG Random Number Generator from ...
    Apr 23, 2014 · NIST has announced to abandon the controversial Dual Elliptic Curve Deterministic Random Bit Generator, better known as Dual_EC_DRBG.Missing: controversy | Show results with:controversy
  71. [71]
    SP 800-90A Rev. 2, PRE-DRAFT Call for Comments
    Sep 4, 2025 · SP 800-90A provides guidelines for generating cryptographically secure random numbers using deterministic methods, and is being revised to ...
  72. [72]
    SP 800-90B, Recommendation for the Entropy Sources Used for ...
    Jan 10, 2018 · This Recommendation specifies the design principles and requirements for the entropy sources used by Random Bit Generators, and the tests for the validation of ...
  73. [73]
    SP 800-90C, Recommendation for Random Bit Generator (RBG ...
    Sep 25, 2025 · This document (SP 800-90C) specifies constructions for the implementation of random bit generators (RBGs) that include DRBG mechanisms as ...
  74. [74]
    Random Bit Generation | CSRC
    May 24, 2016 · The National Institute of Standards and Technology (NIST) Random Bit Generation (RBG) project focuses on the development and validation of generating random ...
  75. [75]
    ISO/IEC 18031:2011 - Random bit generation
    ISO/IEC 18031:2011 specifies a conceptual model for a random bit generator for cryptographic purposes, together with the elements of this model.
  76. [76]
    ISO/IEC 18031:2025(en), Information technology
    This document specifies a conceptual model for a random bit generator for cryptographic purposes, together with the elements of this model. This document ...
  77. [77]
    RFC 8937 - Randomness Improvements for Security Protocols
    Randomness Wrapper. The output of a properly instantiated CSPRNG should be indistinguishable from a random string of the same length. However, as previously ...Randomness Improvements For... · 3. Randomness Wrapper · 10. References
  78. [78]
    [PDF] Cryptanalytic Attacks on Pseudorandom Number Generators
    Early in this paper, we made the assertion that PRNGs are a distinct kind of cryptographic primitive. Existing PRNGs are almost all built out of existing ...
  79. [79]
    None
    ### Summary of Lattice-Based Seed-Recovery Attacks on Number-Theoretic PRNGs
  80. [80]
    On the Juniper backdoor – A Few Thoughts on Cryptographic ...
    Dec 22, 2015 · It appears that Juniper NetScreen devices have incorporated a potentially backdoored random number generator, based on the NSA's Dual_EC_DRBG algorithm.<|separator|>
  81. [81]
    DUHK Attack
    Oct 23, 2017 · DUHK (Don't Use Hard-coded Keys) is a vulnerability that affects devices using the ANSI X9.31 Random Number Generator (RNG) in conjunction with a hard-coded ...
  82. [82]
    Attack of the week: DUHK – A Few Thoughts on Cryptographic ...
    Oct 23, 2017 · It attacks an old vulnerability in a pseudorandom number generator called ANSI X9.31, which is used in a lot of government certified products.
  83. [83]
    Surviving a bad RNG - A Few Thoughts on Cryptographic Engineering
    Mar 9, 2012 · There are also some other (weaker) failure modes for a PRNG: 1) Lack of forward secrecy. CTR mode would fail this, OFB would not. If you ...
  84. [84]
    A02 Cryptographic Failures - OWASP Top 10:2021
    The focus is on failures related to cryptography (or lack thereof). Which often lead to exposure of sensitive data.
  85. [85]
    [PDF] On the Practical Exploitability of Dual EC in TLS Implementations
    This paper studies to which extent deployed cryptographic systems that use Dual EC are vulnerable to the back door, assum- ing that an attacker knows d = logQ P ...
  86. [86]
    DUHK, DUHK, DUHK stolen encryption key attack - SC Media
    Oct 25, 2017 · The vulnerability stands for Don't Use Hard-coded Keys and can be exploited to recover encryption keys expose VPN connections, payment ...
  87. [87]
    [PDF] Balancing security and efficiency in deterministic random bit ...
    Feb 21, 2025 · Cryptographic primitives such as stream ciphers, block ciphers, hash functions, and elliptic curves are typically used as fundamental building ...
  88. [88]
    2017.07.23: Fast-key-erasure random-number generators - cr.yp.to
    Jul 23, 2017 · It's entirely possible that submissions to NIST's "Post-Quantum Cryptography Project" will be seriously slowed down by NIST's AES-CTR-DRBG.
  89. [89]
    [PDF] Module-Lattice-Based Key-Encapsulation Mechanism Standard
    Aug 13, 2024 · As a result, in 2016, NIST initiated a public Post-Quantum Cryptography (PQC) Standardization process to select quantum-resistant public-key ...
  90. [90]
    [PDF] High-Performance Lattice-Based Pseudorandom Number Generator
    Aug 22, 2025 · Lattice-based cryptographic schemes provide provable security, which can defend against attacks from both classical and quantum computers. They ...
  91. [91]
    [PDF] LWE Based Quantum-Resistant Pseudo-Random Number Generator
    With the rapid advancement of quantum computing, the imminent “quantum-threat” looms closer, posing a risk to our current cryptographically secure PRNGs.
  92. [92]
    LWR-based Quantum-Safe Pseudo-Random Number Generator
    In 2005, a theoretical computer scientist Oded Regev proved that the lattice-based cryptographic scheme, Learning with Errors (LWE) [14] is secure against ...
  93. [93]
    Evaluation of Cryptographically Secure Pseudo Random Number ...
    This study evaluates different PRNGs against quantum attacks, including lattice-based cryptography, to assess their suitability for post-quantum cryptography.<|separator|>
  94. [94]
    Cryptographically Secure Pseudo-Random Number Generation (CS ...
    Aug 10, 2024 · This paper presents a novel method to generate cryptographically secure pseudo-random numbers (CSPRNG) using a robust chaotic tent map (RCTM).Missing: algebraic | Show results with:algebraic
  95. [95]
    Pseudorandom number generators based on neural networks
    Apr 7, 2025 · This paper categorizes existing neural network-based PRNG design schemes into three types: those based on recurrent neural network models and their variants.
  96. [96]
    A tradeoff paradigm shift in cryptographically-secure pseudorandom ...
    We implement and evaluate our proposed generator and prove its security. Our CSPRNG is deemed random by all randomness tests in NIST SP 800-22 suite.