Download presentation
Presentation is loading. Please wait.
Published byPamela Shelton Modified over 9 years ago
1
An Embedded True Random Number Generator for FPGAs Bebek, Jerry Paul Kohlbrenner Lockheed Martin 3201 Jermantown Road Fairfax, VA 22030, USA Paul.W.Kohlbrenner@lmco.com Kris Gaj George Mason University 4400 University Drive Fairfax, VA 22030, USA kgaj@gmu.edu
2
Random numbers are an essential in ComS. …and, just as problematic. There are several methods to generate them. Unfortunately, all these methods are deterministic. The Question: HOW COULD A TOTALLY LOGICAL MACHINE GENERATE A RANDOM NUMBER?
3
The Answer: It Can’t. The only truly random number sources are those related to physical phenomena such as the rate of radioactive decay of an element or the thermal noise of a semiconductor. BOTTOM LINE Randomness is bound to natural phenomena. It is impossible to algorithmically generate truly random numbers.
4
PSEUDO-VULNERABILITY Pseudo-Random numbers are prone to being broken into. `It is not an impossible task to analyze patterns in pseudo-random numbers. A 40-bit encryption with algorithmically generated random numbers could be broken in as little as 30 hours`...and yes, it has happened. The Netscape 2.0 Attack Was An Example.
5
FPGA Advantage In The Field Near-ASIC encryption speeds Algorithm and resource efficiencies In service algorithm modification Low development costs Parameter and algorithm eraser on intrusion detection
6
The Method: Clock Jitter Jitter is variations in the significant instants of a clock. Jitter is nondeterministic (random) Jitter may have many sources: semiconductor noise cross talk Power supply variations electro-magnetic fields Jitter may be characterized in several ways: Period Jitter Amplitude Jitter
7
Period Jitter (clock skew)
8
Overall Design
9
The Ring Oscillators x2 Uses Propagation Delay – 130 MHz
10
The Sampler One of the clock signals is used to sample the other signal.
11
The Output From The Sampler Clock Skew (jitter) in between two clock signals is used (e.g. sampled) to generate a totally random bit. Note that clock skew will never be uniform. Note that clock skew is NOT simple out-out-phase ness.
12
Jitter (detail)
13
Good Speed Ratios Ring oscillators with closely matched frequencies require that a desired speed ratio must be achieved. What factors affect this achievement? Variation in CLB speed 7% difference between the slowest CLB and the fastest one Sensitive to temperature and difficult for measurement Variation in the frequency of an oscillator with the chip temperature Close placement To use a large number of oscillators
14
Evidence of Jitter Clocks with jitter lead to randomness of output bit stream If signal S 0 has a single length, the output will be deterministic (all 0s, or 1s or 0s and 1s with a repeating pattern) Evidence: Variation in the cycle lengths of Oscillators Variation in the cycle length of the signal S 0
15
Evidence of Jitter (details) Frequency 130MHz
16
Bias in the Output Ideal Output: 1s and 0s are evenly and randomly distributed. Output with bias: 1s more likely than 0s, or vice versa The sources of bias: The limited number of difference bit length of S 0 signal Occasional meta-stable output from the sampling flip-flop, (using a buffer can alleviate this problem)
17
Reduction of Bias XOR of successive pairs of bits Example: P(X=1)=2*p(1-p), P(X=0)=p^2+(1-p)^2 (p is the probability of 1s) A von Neumann corrector NOTE: Limitation: no correlations in the output bit stream Disadvantage: reduction of the output bit rate
18
Output Bit generation speed
19
Experimental Environment SLAAC-1V board with three Xilinx Virtex XCV1000 FPGA Synplify V7.2 Xilinx ISE 4.2 NIST Statistical Test Suite for Random and Pseudorandom Number Generator for Cryptographic Applications
20
Experimental Results P-value: the probability that a perfect random number generator would have produced a sequence less random than the sequence that was tested; The larger, the better.
21
Future Work Increasing output bit rate by Increasing the speed of ring oscillators Generating S 0 signal from both rising and falling edge of the clock Increasing the number of oscillators to solve problems in finding matched CLB S Adding a counter to S 0 signal for real time “noise- failure” alarm
22
Conclusion The implementation is useful addition to the cryptographic systems using FPGA No special requirement within FPGA increases the universal of the design
23
Questions ???
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.