Random Number Generation
Xiphera offers randomness with industry standard-compliant True Random Number Generators (TRNG) and Pseudorandom Number Generators (PRNG).
Random number generation is an essential concept in engineering and various fields of science and technology, including all cryptography. Engineers often need random numbers for various applications, such as simulations, statistical analysis, cryptography, and more.
If encryption or signature protocols were strictly deterministic, i.e., not randomness-based, they could easily be broken. Xiphera offers in-house random number generation solutions that are developed for our customers to achieve and maintain true randomness. Our device-agnostic implementations support all FPGA and ASIC technologies available in the market.
Xiphera offers two types of random number generators:
- True Random Number Generators (TRNG) are based on physical random phenomena. They generate numbers based on inherently unpredictable physical processes, such as electronic noise, radioactive decay, or atmospheric noise.
- Pseudorandom Number Generators (PRNG) produce random-looking outputs from a given seed. Xiphera’s PRNG IP cores provide the user with random data at the speed of gigabits or even tens of gigabits per second.
Engineers must carefully select appropriate generators, seed values, and ensure that the generated sequences exhibit the required statistical properties for their specific applications. Additionally, in security-critical applications, cryptographically secure methods are essential to prevent prediction and manipulation of the random values. Since randomness is a critical part of cryptography, the requirements for both TRNGs and PRNGs have been well standardised, most notably by the U.S. National Institute of Standards and Technology (NIST). Xiphera’s Random Number Generation portfolio fully complies with the SP800-90 standard series (90A, 90B, and 90C).
Some common applications for TRNGs and PRNGs are:
- Cryptographic Key Generation: TRNGs are often preferred in cryptographic applications where security is paramount. Since TRNGs generate true randomness, they are resistant to attempts to predict their output, making them suitable for generating cryptographic keys and ensuring secure communications.
- Randomised Passwords and PINs: In authentication systems, TRNGs are employed to generate random passwords, personal identification numbers (PINs), or temporary codes for two-factor authentication. These random values enhance the security of user accounts and sensitive information.
- Statistical Analysis: In statistical software and data analysis tools, PRNGs are used for generating random samples, conducting hypothesis tests, and estimating statistical parameters.
- Load Balancing and Resource Allocation: In distributed systems and cloud computing, PRNGs can assist in load balancing and resource allocation decisions to evenly distribute workloads or allocate resources based on pseudorandom criteria.
The choice between TRNGs and PRNGs should be based on the specific requirements of the application, with security, unpredictability, and lack of bias being key factors favouring TRNGs – while performance favours PRNGs. Xiphera’s team of cryptographic experts will help your designers choose the best solution for your requirements.
Learn more about the basics of randomness from Xiphera’s webinar What Everyone Should Know about Randomness?