Encryption or decryption key is generated from a weak random number generator
This defect occurs when you use a weak random number generator for the encryption or decryption key.
If you use a weak random number generator for the encryption or decryption key, an attacker can retrieve your key easily.
You use a key to encrypt and later decrypt your data. If a key is easily retrieved, data encrypted using that key is not secure.
Use a strong pseudo-random number generator (PRNG) for the key. For instance:
Use an OS-level PRNG such as /dev/random on UNIX® or CryptGenRandom() on Windows®
Use an application-level PRNG such as Advanced Encryption Standard (AES) in Counter (CTR) mode, HMAC-SHA1, etc.
For a list of random number generators that are cryptographically
weak, see Vulnerable pseudo-random
number generator.
| Group: Cryptography |
| Language: C | C++ |
| Default: Off |
Command-Line Syntax: CRYPTO_CIPHER_PREDICTABLE_KEY |
| Impact: Medium |
| CWE ID: 310, 326, 330, 338 |