This paper provides a description of the hardware random number generator that is implemented on the IBM POWER7+i processor. We discuss the underlying mechanism using basic ring oscillator circuits implemented in standard digital logic circuits. The source of entropy is based on sampling phase jitter in the ring oscillators, and the rate of phase jitter accumulation is measured. We show that the design is simple and robust yet able to generate a high rate of random bits while using a minimum of logic area. The design is very resistant to physical manipulation, being able to produce solid entropy values under environmental conditions that exceed the requirements of the surrounding circuitry. With a design-specific mechanism to correct for ring oscillator sample bias, the output shows a very high rate of entropy, which is validated. IntroductionThis paper describes the design and implementation of the on-chip random number generator (RNG) on the IBM POWER7+ processor. The design was originally conceived for the purpose of client-server security where a random number is used when a secure communication channel is established in order to guard against replay attacks. In this context, it is important that the generated number is random in the sense that its value cannot be predicted, but because it is possible to guard against replay attacks by other means once the communication channel is established, the performance requirements of the RNG are modest. The objective of the RNG described in this paper was to ensure we could rely on RNG randomness from fundamental sources such as quantum thermal noise alone, rather than rely on sources of noise that can vary in practice, such as power supply noise. As described in the paper, the result is that when the RNG is used to generate a single random number upon initialization ( a Bnonce[), we have a high degree of confidence that this is indeed a true random number.Once implemented, the RNG was used for stochastic algorithms, such as Monte Carlo simulations. In this case, RNG performance is a key concern, as many different random numbers are often required in the course of a single calculation. Another important use is in computer security and cryptography. Many of the security algorithms require a very high level of entropy (randomness). In order to satisfy these types of uses, the RNGs were more extensively characterized to establish the tradeoff between the rate at which a single RNG was read out and the resulting randomness characteristics. As described in the paper, this design can produce in excess of 128 million random bits per second with a very high level of entropy. Motivation
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.