Random Number Generation (RAND)

Strictly speaking, the RAND method is not part of the EVP interface. Engines do allow for modifying the random number generator though. The BCrypt EVP engine offloads random number generation to the CNG algorithm with the identifier BCRYPT_RNG_ALGORITHM. That is the default random number provider which complies with the NIST SP800-90 standard, specifically the CTR_DRBG portion of that standard.

Random number generation tests reside in test_bcrypt_rand.cpp.

Control commands

There are no control commands for the random number generator.

Known issues or limitations

The RNG test cases need to be improved