| All true random number generators require a physical source
of entropy or “randomness.” The entropy source in the QNG Model J1000KU is a
combination of thermal or Johnson noise and amplifier noise. Thermal noise is
very well characterized and has nearly perfectly Gaussian statistics with a very
flat power spectrum. Amplifier noise is somewhat more complex and its amplitude
is frequency dependent. At very low frequencies this noise spectrum is dominated
by flicker noise, resulting in the well-known 1/f response. Above the “knee” in
the noise spectrum, shot noise in the amplifiers transistors and thermal noise
become dominant, producing a relatively flat noise spectrum over most of the
amplifier’s usable bandwidth. The combination of the external thermal noise
source and the amplifier noise produce a combined Gaussian noise spectrum that
is flat within about ±1db with a bandwidth from 100Hz to 32MHz. The 100Hz LF
cutoff attenuates the 1/f components that would have translated into increased
autocorrelation in the noise output.
The physical entropy source and its initial amplifier are enclosed within an
electromagnetic shield composed of a ferromagnetic cover and a ground plane.
Power for the generator is provided through the USB connector and is filtered at
entry into the grounded, 1/16 inch aluminum device enclosure. The power sources
for each of the sections in the generator are also independently filtered,
preventing cross-talk and induced bias. Power for the logic and USB interface
sections are provided by independent voltage regulation.
The noise is amplified to an appropriate level and converted to binary form
by a high-speed comparator. The comparator is simply a zero-crossing detector
that produces a logic “1” when the input is above, and a “0” when it is below
the comparator’s threshold. This logic output changes very rapidly since there
are analog frequency components well into the 100MHz range. The binary signal is
latched at a rate of 16MHz to produce the raw 16Mbps random binary sequence.
The raw random binary sequence has an entropy content of H>0.999 per bit.
This figure is based on theoretical and empirical measurements using several
different algorithms. The 1/0 bias is <3.5% by direct measurement (100%
tested), yielding a probability of producing a “1” of p(1) =.5±0.0175. Shannon’s
information theoretic definition of entropy yields a minimum entropy of 0.9991.
The maximum autocorrelation (any order) is AC(x) <0.2%. Autocorrelation has a
similar effect on entropy as 1/0 bias: it increases the probability of correctly
predicting the next bit in the sequence, hence reducing the entropy. The
approximate reduction in entropy for this level of autocorrelation is about
0.0001 when taken in conjunction with the worst-case 1/0 bias. A sequence with
comparable biases, tested with an algorithm of J-S Coron (an improved version of
Maurer’s “Universal Test”) gives an entropy value that agrees with the simple
Shannon estimate to the 5th decimal digit.
The 16Mbps raw random bit stream is processed with a proprietary “Randomness
Corrector” which is a highly efficient mixing function. The Randomness Corrector
corrects the statistical properties of the raw bits and outputs a bit stream
with a maximum defect of <10ppm. The Corrector outputs one bit for each input
bit so that the actual entropy is unchanged at H>0.999 per bit. The output
bits from the Corrector are passed in non-overlapping 16-bit blocks into an X-Or
section that outputs only one bit for each input block of 16 bits. The
theoretical effect on the output sequence statistics of X-Oring a number of
bits, n, in an input sequence of given statistics is known. For n=16, the
maximum defect in statistics is about 10ppm to the fourth power, or 1 part in 10
to the 20th. This level of defect is so low that the output sequence of any
conceivable number of bits is essentially perfect, and is guaranteed to pass any test for randomness that is provably correct. The entropy level of the output bits will
also be indistinguishable from 1.0 since at least 15.984 bits of true entropy
are used to produce each output bit.
The output bits at 1Mbps (jumper selectable to 500Kbps) are transferred via
USB interface to the J1000KU driver in your computer. These bits are formatted
and made available to your program by ActiveX communications in a number of
different formats. These formats include 32-bit integers, 48-bit [0, 1)
uniformly distributed fractions and mean=0.0, standard deviation=1.0 Gaussian
variates of maximum ±8.0 SD. |