AOCL-RNG (Random Number Generator Library)

The AOCL-RNG is a pseudo-random number generator (PRNG) library. A PRNG produces a stream of variates that are independent and statistically indistinguishable from a random sequence. The AOCL-RNG 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 six 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. The AOCL-RNG API guide is available in the Documentation section of the AOCL page.

Highlight of AOCL-RNG 4.0

  • Improved performance of the SFMT generator
  • Windows support

The package containing AOCL-RNG binaries, examples and documentation are available in the Download section below.

AOCL-SecureRNG Library

The AOCL-Secure 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 link to the library and invoke either a single or a stream of random numbers. The random numbers can be of 16-bit, 32-bit, 64-bit or arbitrary size bytes.

AOCL-SecureRNG includes

  • 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

The package containing AOCL-SecureRNG Library source, binaries, examples, and documentation are available in the Download section below.

For prior versions of AOCL-RNG and AOCL-SecureRNG, refer to Random Number Generator Libraries Archive.

Download:

File Name Version Size Launch Date OS Bitness Description
Binary Packages Compiled with AOCC 4.0

File Name

Version

4.0

Size

4.7 MB

Launch Date

11/10/2022

OS

Ubuntu, SLES, CentOS, and RHEL

Bitness

64-bit

Description

AOCC compiled AOCL-RNG Library binary package sha256 Checksum: a0719df3dc8f72f49f071b8a2a87e64800412c9947f85e68b24c72a04b083955

File Name

Version

4.0

Size

188 KB

Launch Date

11/10/2022

OS

Ubuntu, SLES, CentOS, and RHEL

Bitness

64-bit

Description

AOCC compiled AOCL-SecureRNG Library binary package sha256 Checksum: 2cac58013e0c062bdb59b5ccb691ad8f22df6b3bd2f2d734374b06c238134bda
Binary Packages Compiled with GCC 11.2

File Name

Version

4.0

Size

5.8 MB

Launch Date

11/10/2022

OS

Ubuntu, SLES, CentOS, and RHEL

Bitness

64-bit

Description

GCC compiled AOCL-RNG Library binary package sha256 Checksum: 04fd7877c8a60c66f3a421fd3868c72a4674ad7180dc7a74a1051a02e87b7295

File Name

Version

4.0

Size

192 KB

Launch Date

11/10/2022

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

GCC compiled AOCL-SecureRNG Library binary package sha256 Checksum: 05d0f39babde853054970d662c5ff6c51e4fbcbb7126f4d01e8c9168b81d9f57