
www.westphal-electronic.com
Glossary
of words concerning true random number generation
-
API = Application Program Interface
Can be realized by a DLL. Functions implemented
in the DLL can be used by various programming languages, e.g. Delphi, C++
or Visual Basic.
-
Diehard tests
DIEHARD contains 15 statistical random
bit tests and can be regarded as an "acid test" for every random number
generator. A lot of generators, like RAN2 from Numerical Recipes, don't
pass this test. The Diehard tests habe been developed by George Marsaglia.
Description of the Diehard tests (PDF).
-
DLL = Dynamic Link Library
Windows files which contain functions
or procedures that can be used by various programming languages. Look here
how to call a DLL function in Delphi for ZRANDOM
USB.
-
Electronic shielding
Electronic noise sources which are used
to generate random numbers need to be shielded by a metallic frame in order
to avoid interferences due to electromagnetic sources in the environment.
There are a lot of disturbing electromagnetic sources in computer frames,
e.g. power supply, CPU, graphic display adaptor, sound card, etc. For this
reason noise sources of physical random number generators must not be integrated
on PC plug-in cards.
-
Electronic noise
Every electronic component produces electronic
noise due the stochastic movement of electrons. The effective noise voltage
depends on temperature, frequency bandwidth, and resistance of the noise
source. Typical noise levels are in the nV range.
-
FIPS PUB 140-1
A couple of statistical random bit tests:
Monobit-Test, Poker-Test, Runs-Test, and Long-Run-Test. These tests are
recommended if the random bits are used for cryptographic applications.
The tests are carried out with 20.000 random bits. Here
you will find more information about these tests.
-
Noise sampling
Physical random bits can be obtained by
sampling amplified electronic noise (a very large amplification factor
is needed).
It is important to realize a sufficiently
broad frequency bandwidth.
-
True random bits / numbers = Physical random
bits / numbers
Random bits / numbers created by use of
a physical process like radioactive decay or electronic noise. Physical
random bits can be sampled from the noise. These random bits are non-deterministic,
i.e. unpredictable. It is very important not to use a sample rate which
is too high in relation to the noise energy spectrum. Decimal
random numbers can be obtained by combination of several random bits.
The true random bits of the TRNG ZRANDOM USB are 100% physically generated.
-
Vernam encoding / encryption
The Vernam code (one-time pad) is the
only encoding principle which allows a 100% secure data transfer. The Vernam
encoding is very simple and clear: every data bit is combined with a random
bit by the XOR function (exclusive logical OR). Every data bit is "flipped"
with a probability of 50% (1 becomes 0, 0 becomes 1).Therefore, the number
of needed random bits is equal to the number of data bits.It is completely
impossible to decrypt the encrypted file without knowledge of the related
random bit file. This is a crucial difference to all encryption methods
which use limited keys (like PGP). Absolute security is only given in case
of usage of true (physically generated) random bits. Sender and recipient
need to exchange random bit files. This can be done during a personal meeting
via CD for example. One CD (650 MB) is enough to encrypt about 100.000
closely written pages.
-
XOR mode (XOR = Exclusive-OR function)
For each resulting random bit one physically
generated random bit and one pseudo random bit are used. The XOR procedure
is explained in the following table:
|
pseudo bit
|
physical bit
|
resulting bit
|
|
0
|
0
|
0
|
|
0
|
1
|
1
|
|
1
|
0
|
1
|
|
1
|
1
|
0
|
The XOR function allows to run the physical
random bit generator with maximum speed (much faster than recommended for
pure physical random bit generation) because the statistical properties
of the resulting bit sequence is determined by the statistical properties
of a very good pseudo random bit algorithm. Random bits created by an algorithm
are completely deterministic if directly used. In order to get a non-deterministic
random bit sequence every pseudo bit is "controlled" by a physically generated
random bit as shown in the table above. Therefore the XOR mode is a semi-physical
random bit generation procedure. The XOR random bits of the TRNG ZRANDOM
USB are 50% physically generated.
Back to start page
Copyright WESTPHAL ELECTRONIC
Webmaster: info@westphal-electronic.com
Last update: 09/09/2007