# Quantum Random Number Generator

Document Sample

```					Quantum Random
Number Generator
ECE 345, Spring 2004
Senior Design Project
Jeff Kramer
Introduction
Random number generation based on
inherent randomness of nature
Used in quantum cryptography
Goal is to generate truly random numbers
at a faster speed than is currently possible
These random numbers are used as the
encryption key for secure communication
over a public line
Quantum Cryptography
Only way to send secure data over a
public line is with random key
on quasi-random numbers and algorithms
that are not necessarily unbreakable
Main idea of quantum cryptography is if
someone tries to intercept the key they
destroy the quantum system (collapse the
wavefunction)
Quantum Cryptography
Sender generates the random key
XOR the key with the data
Send the data over public line, if the key is
random, the transmitted data is random
Send the key to the receiver as photons
with spin up or down (1 or 0)
If eavesdropper looks at photon spin, they
change the state and data will not
correlate
Generation of Random Numbers
One way to generate true random numbers is to use a
physical process that is random
Photon emission is a random process that follows the
Poisson distribution
Idea is to run a particular current (explained below)
through an LED such that the light output is
“probabilistically balanced”
This means that if the light is attenuated down to a
single photon, the probability that the photon hits a
detector during a given time period is constant and
the time that it hits is the random number
What current is needed?
If you work through the math, you find:

I  1 /(T  t )
T is the period of the number generation, t is
time
Light intensity is directly proportional to current
Intensity
Original Objectives
Probability circuit that generates the
desired current
Shutdown circuit that protects the
Original Requirements
Frequency of operation at least 1 MHz
Shutdown time after photon reception at
most 100 ns
Photon output 630 nm
Temperature sensitivity at a minimum
Block Diagram
Optical Path
LED                      Detector

Probability
Circuit

Output
Shutdown
Circuit
Design Considerations
Approximating the curve
Where to cut off? 80-90%
Analog vs. Digital
Easy to design
Easy to build – high frequency
Hard to make waveform accurate
Hard to make slope steep enough at 90%
cutoff
Easy to design
Harder to build – high frequency, mixed
analog and digital, more complicated
components
Theoretically, more accurate waveform
Theoretically, 90% cutoff easily attainable
First Design – Waveform Construction

Original design was analog
Fourier coefficients with oscillators
RC filter to smooth out the curve, but lose
steep slope at end
End up needing too many coefficients, it
became impossible to make accurate
Second Design – Waveform Shaping

Generate exponential curve using diode
Pass the curve into an analog signal
processing system
The system shapes the waveform
Again, we did not feel the results were
accurate enough
Third Design – Digital System
After failing to develop an analog system,
we switched to developing a digital system
The digital system consisted of three
separate components – FPGA, DAC, and
Op-Amp/LED driver
Digital System

FPGA        DAC     OpAmp/LED Driver

Photodetector
Digital System - FPGA
The XSA-100 FPGA is the heart of this design
With the FPGA, we implemented a fast counter
and local memory, stored in gates.
This let the circuit quickly step through the
various output values
The accuracy of this system is much higher than
that of the analog system
The curve can be designed offline, then
implemented
Digital System - DAC
DAC0800 is used to turn the 8 bit output
signal from the FPGA into an analog
curve.
The response is excellent and the DAC
supports many voltages, from 3.5 V to 15
V.
The output of the DAC is a smooth curve
Digital System – OpAmp/LED Driver

The DAC is not designed to source current
A buffer circuit is necessary in order to
drive the LED effectively
An OpAmp in a voltage follower circuit
drives the LED from the input from the
DAC
The LED is driven within the linear region,
eliminating error
Digital System – Photodetector
The photodetector circuit also uses an
OpAmp to drive the photodiode and
In the final design, this signal is clipped to
get a digital pulse from each photon
This clipped signal is fed back into the
FPGA to turn off the LED
Digital System – Shutdown Circuit
In our design, the output from the LED is
circuit.
An outside pulse input into the FPGA
causes the system to shutdown
Digital System - Output

Output from DAC to LED Driver
Digital System - Output

Output from Photodetector
Digital System – Fit to Curve
Functional Tests
Shutdown circuit works within 100 ns
Variance over curve is 0.17 V
Frequency is 20 kHz
Temperature variance is minimal, due to
driving via current
LED output is at 633 nm
Successes
The circuit is very accurate, considering
the setup
The shutdown circuit works within
parameters
The LED is driven within parameters
The chosen LED outputs in the proper
wavelength
Challenges
Analog devices took a long time to
develop
Digital system has noise issues, due to
using protoboard and inaccurate
components
Frequency is much lower due to
protoboard specifications
Challenges
Time was an issue
Attempts at an analog system proved
futile, yet took most of our time
Interfacing the analog with the digital
caused problems, requiring reworks and
part orders
Other Tests
Once Professor Kwiat establishes the
remainder of the system, the randomness
of the system can be determined.
Recommendations
While we assumed that digital was going
to be more accurate and easier to
implement, we found out that the opposite
was true
Given the opportunity, we would continue
to pursue an analog option for this circuit –
it will be faster, accurate, low noise, and
low cost.
Recommendations
Other methods can also be pursued past
those attempted
Using OpAmps to develop an integrator
system after analyzing the poles and zeros
of the desired output is a possible future
direction
Questions?

```
DOCUMENT INFO
Shared By:
Categories:
Stats:
 views: 162 posted: 8/31/2010 language: English pages: 34
How are you planning on using Docstoc?