The True Random Number Generator provides a Non-deterministic random number generator.
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 phenomenons 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.
- Non-deterministic true random number generation
- Deterministic mode available for pseudo-random simulation
- Configurable number of oscillator ring
- Configurable number of oscillators in each ring
- Configurable buffer memory (width, depth)
- Convenient interfaces for easy integration (AHB/APB, AXI-4, FIFO, …)
- Cryptographic key generation
- For the generation of cryptographic keys, Random Number Generators must be certified (FIPS 140-2). Even if the FIPS only approves deterministic or pseudo-random RNGs, these generators must be fed with random seeds.
- And these random numbers can be generated with a "true" non-deterministic random number generator such as the BA431 IP core.
- Prime random number generation (PRNG)
- The first step of generating prime random numbers is to have an actual random number. The BA431 is used as a source of random number prior to primality test with our PRNG reference design.
- The BA431 TRNG IP is scalable so that the gate-count and memory size can be configured to match the specific needs of each application.
Block Diagram of the True Random Number Generator IP Core