AMD Random Number Generator Library
AMD Random Number Generator Library is a pseudorandom number generator library. A pseudo-random number generator (PRNG) produces a stream of variates that are independent and statistically indistinguishable from a random sequence. AMD Random Number Generator Library provides a comprehensive set of statistical distribution functions which are founded on various underlying uniform distribution generators (base generators) including Wichmann-Hill and Mersenne Twister. The library contains five base generators and twenty-three distribution generators. In addition, users can supply a custom built generator as the base generator for all of the distribution generators.
AMD Random Number Generator includes
- API to generate random numbers seeded by hardware generated Cryptographically Secure Random Number Generator (CSRNG). The function uses AMD Secure RNG library to seed the Mersenne Twister base generator and generates uniform distribution random numbers.
AMD Secure RNG Library
The AMD Secure Random Number Generator (RNG) is a library that provides APIs to access the cryptographically secure random numbers generated by AMD’s hardware-based random number generator implementation. These are high quality robust random numbers designed to be suitable for cryptographic applications. The library makes use of RDRAND and RDSEED x86 instructions exposed by the AMD hardware. Applications can just link to the library and invoke either a single or stream of random numbers. The random numbers can be of 16-bit, 32-bit, 64-bit or arbitrary size bytes.
Highlights of AMD Secure RNG 2.1
- APIs to verify support for RDRAND and RDSEED instructions on the target machine
- Retrieve 16-bit, 32-bit, 64-bit or arbitrary size bytes using RDRAND and RDSEED instructions
- APIs support retrial in case of any failure in RNG hardware
- Bug fixes and improvements
The package containing AMD Secure RNG Library source, binaries, examples, and documentation are available in the Downloads section below.