True Random Number Generator

True/Deterministic Random Number Generatorrandom_generator_ip_core


The generation of random numbers has always been a challenge in electronic systems. The difficulty is that digital devices are, by essence, deterministic. In order to overcome this “limitation”, we can take advantage of physical phenomena that are unpredictable thanks to the laws of physics. In digital devices, thermal noise and transition jitter has been proven to be non-deterministic. They offer convenient ways of generating randomness. The BA431 provides a flexible and optimized implementation of a digital True Random Number Generator (TRNG). The BA431 is validated with the NIST800-22 and AIS-31 test suites. For the generation of cryptographic keys, Random Number Generators must be certified (FIPS 140-2). Even to get FIPS certification for deterministic or pseudo-random RNGs, these generators must be fed with random seeds. Typically these random seeds can be generated with a “true” non-deterministic random number generator such as the BA431 IP core which has been FIPS140-2 certified.

The DRBG post-processing option available for this IP core is compliant to NIST800-90A. This option is required for FIPS 140-2 certification. The BA431 features health tests and conditioning defined in NIST800-90B. Online tests from AIS-31 can also be included.



  • True/Deterministic random number generation
  • Deterministic mode available for pseudo-random simulation
  • Configurable buffer memory (width, depth)
  • Convenient interfaces for easy integration (AHB/APB, AXI-4, FIFO, …)
  • FIPS140-2 cerfified
  • TRNG compliant with NIST800-22 and AIS-31 test suite
  • TRNG compliant with NIST800-90B (health tests and conditioning)
  • AIS-31 online tests
  • DRBG compliant with NIST800-90A (Hash_DRBG or AES_DRBG)
  • Available on all ASIC processes and FPGA devices
  • Linux driver and OpenSSL integration



  • Defense
  • IPSec (VPN)
  • Automotive
  • Industry 4.0
  • Wearable devices
  • Embedded Security