Overview#A Cryptographically secure pseudorandom number generator (CSPRNG) or cryptographic pseudo-random number generator (CPRNG) is a pseudorandom number generator (PRNG) with properties that make it suitable for use in cryptography.
Ideally, the generation of random numbers in Cryptographically secure pseudorandom number generators uses entropy obtained from a high-quality source, which might be a hardware random number generator or perhaps unpredictable system processes — though unexpected correlations have been found in several such ostensibly independent processes.
From an information-theoretic point of view, the entropy that can be generated, is equal to the entropy provided by the system. But sometimes, in practical situations, more random numbers are needed than there is entropy available.
Also the processes to extract randomness from a running system are slow in actual practice. In such instances, a Cryptographically secure pseudorandom number generator can sometimes be used. A Cryptographically secure pseudorandom number generator can "stretch" the available entropy over more bits.
More Information#There might be more information for this subject on one of the following:
- CSRF Token
- Client Secret
- Cryptographic Primitive
- Hardware Security Module
- Pseudorandom generators
- [#1] - Cryptographically_secure_pseudorandom_number_generator - based on data observed:2015-05-18