The analog noise produced by semiconductor junctions is thought to be the fundamentally unpredictable sum of astronomical numbers of independent quantum actions. The unpredictability part of this makes noise attractive for cryptography. Alas, real noise often exhibits measurable and predictable correlations which contradict the simple model.
Ordinary semiconductor junctions are not intended for noise production. If anything, most electronic devices are designed for minimum noise, not maximum. As a result, the noise produced by these devices is rarely under manufacturing control. Noise amounts vary widely, even between devices of exactly the same type.
The measured values are the readings observed on an ancient analog RMS voltmeter based on dBm(600). The observed reading is the signal after 61.0dB of amplification, with a filter-enforced bandwidth of 21,355Hz. A measurement is made at each of 6 different device currrents, and with the junction voltage also recorded.
RMS. Root-Mean-Squared. For a sampled signal, the square root of the sum of the squares of each sample. For a sampled voltage signal, an RMS value is proportional to power, and noise is measured as power.
dB. Decibel. A measure of power ratios. 10 times the base-10 logarithm of the ratio of two power values. Equivalently, for a fixed common resistance value, 20 times the base-10 logarithm of the ratio of two voltage values.
dBm(600). A common if older reference base for power: 1 milliwatt (1mW) into 600 ohms.
Since P=E*E/R, E=SQRT(PR).The 0dBm voltage across 600 ohms is SQRT(0.001*600)= SQRT(0.6)= 0.775 volts or 775mv (millivolts).
An interesting and useful fact is that 20dB represents a factor of 10 in voltage. So -60dBm =775uv (microvolts) and -120dBm =775nv (nanovolts). The signal levels we are dealing with here are in the very low microvolt range, or lower.
Preamps. The tiny noise signal is amplified by 61.0dB. Thus, a signal read as -53.5dBm actually represents a -114.5dBm input. -114.5dBm is a voltage ratio of 10**(114.5/20) = 10**5.725 or 530,884 below the base of 0.775v, or about 1.46uV.
Noise Density. The amount of energy expected in a bandwidth of 1Hz. At the most general level, we model white noise as flat distribution of energy across frequency. The more bandwidth we have, the more energy we expect. Noise energy should accumulate as the square root of bandwidth. Here our bandwidth is 21,355Hz, a factor of 146 above 1Hz, so a reading of 1.46uV is a noise density of about 10nV/SQRT(Hz). So for measuring -114.5dBm, we want our noise preamp to have an input noise of 2.5nV/SQRT(Hz) or less.
Each device was measured at 6 different currents, NONE and from 1uA to 10mA. At each current, the dBm(600) output signal was read and recorded, along with the DC junction voltage. Due to preamplification, the absolute signal level is 61.0dB lower than the recorded value.
400mW and +/-10 percent voltage tolerance, except suffix A for +/-5 percent.
NONE 1uA 10uA 100uA 1mA 10mA 1N749 -53.2 -53.5 -53.2 -55.2 -60.3 -63.0 (4.3V @ 20mA) ----- 1.31V 1.70V 2.20V 2.84V 3.62V 1N751A -53.1 -53.3 -50.6 -42.5 -43.3 -50.2 (5.1V @ 20mA) ----- 2.26V 3.81V 4.45V 4.63V 4.70V 1N753 -53.0 -53.4 -49.2 -37.4 -37.2 -47.9 (6.2V @ 20mA) ----- 2.22V 5.07V 5.73V 5.82V 5.86V
1.0W and +/-10 percent voltage tolerance, except suffix A for +/-5 percent.
NONE 1uA 10uA 100uA 1mA 10mA 1N4728A -54.0 -54.0 -54.4 -57.4 -61.9 -64.4 (3.3V @ 76mA) ----- 0.70V 0.91V 1.24V 1.68V 2.28V 1N4730A -51.0 -45.0 -39.3 -40.3 -48.8 -57.4 (3.9V @ 64mA) ----- 0.93V 1.25V 1.68V 2.21V 2.90V 1N4732 -54.6 -54.8 -53.6 -53.5 -55.7 -58.5 (4.7V @ 53mA) ----- 1.85V 2.54V 3.19V 3.85V 4.35V 1N4733 -53.7 -54.0 -52.0 -43.7 -44.4 -53.9 (5.1V @ 49mA) ----- 2.16V 3.59V 4.35V 4.63V 4.68V 1N4734A -53.7 -53.2 -52.0 -46.5 -47.5 -53.5 (5.6V @ 45mA) ----- 2.20V 3.78V 4.57V 5.01V 5.14V 1N4735#1 -53.3 -53.4 -51.3 -35.6 -35.8 -43.7 (6.2V @ 41mA) ----- 2.11V 4.54V 5.32V 5.39V 5.42V 1N4735#2 -53.2 -53.4 -49.2 -26.4 -35.2 -42.2 ----- 2.19V 5.23V 5.66V 5.68V 5.72V 1N4735#3 -53.2 -53.3 -13.3 -17.7 -39.4 -50.0 ----- 2.25V 5.66V 5.66V 5.68V 5.74V 1N4736 -53.3 -54.4 -9.0! -14.0 -41.7 -48.8 (6.8V @ 37mA) ----- 2.23V 5.95V 5.95V 5.96V 6.02V 1N4738 -55.7 -55.6 -50.X -35.6 -28.4 -36.5 (8.2V @ 31mA) ----- 2.18V 5.30V 7.38V 7.65V 7.73V 1N4739#1 -53.2 -53.2 -53.6 +6.4! -30.3 -34.6 (9.1V @ 28mA) ----- 2.21v 6.33V 8.25V 8.18V 8.26V 1N4739#2 -53.3 -53.4 -53.6 +6.8! -24.5 -17.6 ----- 2.45V 6.31V 8.12V 8.07V 8.15V
400mW and limited +/-10 percent voltage tolerance, except suffix A for full +/-10 percent and B for +/-5 percent.
NONE 1uA 10uA 100uA 1mA 10mA 1N5221B -54.1 -53.8 -54.6 -57.7 -62.0 -64.0 (2.4V @ 20mA) ----- 0.64V 0.83V 1.13V 1.54V 2.09V 1N5225 -53.7 -53.7 -54.0 -56.7 -61.5 -63.8 (3.0V @ 20mA) ----- 0.79V 1.04V 1.41V 1.91V 2.56V 1N5228B -53.5 -53.x -52.x -54.x -59.x -63.x (3.9V @ 20mA) ----- 1.09V 1.45V 1.95V 2.59V 3.40V 1N5229B -53.2 -53.5 -53.6 -55.0 -60.0 -63.0 (4.3V @ 20mA) ----- 1.39V 1.81V 2.33V 3.00V 3.77V 1N5230B -53.3 -53.3 -53.8 -54.0 -57.8 -59.2 (4.7V @ 20mA) ----- 1.69V 2.27V 2.92V 3.68V 4.32V 1N5235B -53.4 -53.6 -47.8 -20.5 -30.2 -38.4 (6.8V @ 20mA) ----- 2.10V 5.72V 6.36V 6.38V 6.44V 1N5236B -53.4 -53.5 -48.X -23.X -20.2 -32.3 (7.5V @ 20mA) ----- 2.04V 5.44V 6.47V 6.52V 6.59V 1N5238B -53.2 -53.4 -53.5 -4.7! -15.7 -16.1 (8.7V @ 20mA) ----- 2.16V 6.31V 8.01V 8.03V 8.11V
NONE 1uA 10uA 100uA 1mA 10mA BZT52C2V4 -53.5 -53.6 -54.0 -57.0 -61.4 -64.0 (2.4V @ 5mA) ----- 0.79V 1.03V 1.38V 1.85V 2.48V BZT52C2V4 -54.0 -53.5 -54.0 -57.0 -61.5 -64.1 ----- 0.79V 1.03V 1.38V 1.85V 2.47V BZX84C2V7 -53.7 -53.7 -54.0 -56.7 -61.4 -64.0 (2.7V @ 5mA) ----- 0.87V 1.14V 1.52V 2.02V 2.68V BZV90-C2V4 -54.1 -54.0 -54.4 -57.2 -62.0 -64.2 (2.4V @ 5mA) ----- 0.83V 1.06V 1.39V 1.83V 2.42V
NONE 1uA 10uA 100uA 1mA 10mA 1N4625 -53.2 -53.3 -51.9 -46.2 -47.3 -53.8 (5.1V @ 250uA, low noise) ----- 2.17V 3.82V 4.60V 5.03V 5.16V BZX8V2 -54.2 -53.3 -53.2 0.0! -20.2 -30.2 ----- 2.18V 6.30V 7.45V 7.48V 7.54V
NONE 1uA 10uA 100uA 1mA 10mA MPS2222A -53.2 -53.2 -49.3 -21.0 -30.0 -39.7 (6.0V min @ 10uA) ----- 2.28V 6.39V 6.59V 6.61V 6.66V JAN2222 -53.2 -53.3 -35.8 -16.5 -23.8 -37.4 (5.0V min @ 10uA) ----- 2.16V 6.46V 6.52V 6.54V 6.60V 2N3904 -53.2 -53.3 -53.5 +0.6! -06.0 -20.0 (6.0V min @ 10uA) ----- 2.29V 6.53V 7.13V 7.18V 7.27V 2N3906 -53.2 -53.3 -53.5 -13.5 -24.3 -37.6 (5.0V min @ 10uA) ----- 2.03V 6.51V 7.66V 7.69V 7.76V 2N4401 -53.2 -53.3 -53.6 -7.4! -20.0 -31.0 (6.0V min @ 100uA) ----- 2.18V 6.46V 7.01V 7.03V 7.07V FN4402 -53.2 -53.3 -53.6 -13.3 -22.0 -32.0 (5.0V min @ 100uA?) ----- 2.17V 6.44V 7.50V 7.51V 7.55V
NONE 1uA 10uA 100uA 1mA 10mA ICL8069 -54.1 -54.2 -51.5 -23.3 -25.7 -26.5 (1.23V, 50uA..5mA) ----- 0.58V 0.78V 1.19V 1.22V 1.23V TL431C -54.8 -54.0 -56.2 -57.4 -33.7 -33.6 (2.495V, 1mA..100mA) ----- 1.01V 1.15V 1.63V 2.37V 2.37V LM336 -54.0 -53.2 -52.0 -47.2 -34.4 -34.5 (2.49V, 400uA..10mA) ----- 1.00V 1.14V 1.21V 2.36V 2.36V
NONE 1uA 10uA 100uA 1mA 10mA SR2220M4 -62.6 -63.2 -55.5 -18.5 -15.X -5.5 (5.5V, 20mW max) ----- 1.75V 3.94V 6.11V 7.00V 7.63V
NONE 1uA 10uA 100uA 1mA 10mA 1N4148 -55.0 -55.0 -58.9 -63.6 -65.0 -65.0 (200mA, 75 PIV) ----- 0.39V 0.47V 0.56V 0.66V 0.78V BYW56 -58.7 -56.0 -60.7 -63.8 -64.8 -64.7 (2A, 1k PIV) ----- 0.39V 0.45V 0.52V 0.62V 0.71V
NONE 1uA 10uA 100uA 1mA 10mA old red -53.5 -54.1 -58.9 -64.1 -65.5 -65.6 ----- 1.32V 1.42V 1.51V 1.60V 1.76V sml clr red -53.3 -54.2 -59.4 -64.1 -65.4 -65.6 ----- 1.34V 1.44V 1.53V 1.64V 1.79V tiny red -53.4 -54.4 -59.7 -64.2 -65.3 -64.2 ----- 1.34V 1.42V 1.51V 1.65V 1.76V pink red -54.9 -54.3 -59.5 -64.2 -65.5 -64.7 ----- 1.35V 1.44V 1.52V 1.61V 1.80V
Rubber References. Semiconductor junctions simply do not have a single breakdown or forward voltage. Instead they have a wide range of voltages, depending upon the amount of current flowing through them. The physical mechanism for this may be a plethora of distinct microsites, each of a different voltage and limited to a tiny amount of current.
Variation with Current. As a gross generalization, "good" devices may reduce the amount of noise they generate by about 3dB for every 10x increase in current. In reality, each device is unique and behaves differently, sometimes wildly differently. Some devices are particularly bursty, with heavy 1/f noise peeking through despite strong filtering.
Oscillation. The vast increases in signal from particular devices at particular current ranges are what one might expect from oscillation. Presumably that would be due to the diode taking on a negative dynamic resistance and exciting incidental resonance structures inside the measurement box. In cryptographic use we need to be very concerned about oscillations, which of course repeat predictably while masquerading as unpredictable diode noise.
Best Device Types. I lean toward noise sources that operate at low voltages, but the list is short. The 2.4V and 2.7V zeners typically have very low noise output. The IC voltage references produce much more noise: The ICL8069 should work at 50uA. The TL431C and LM336 produce less noise and need more current. When higher voltages are available, a low-voltage Metal Oxide Varistor (MOV) can produce a lot of noise at 100uA. The usual strategy of using a bipolar transistor B-E junction also requires higher voltages. Consistent device characteristics may be the real advantage of the IC references.
Time Correlation. If we describe noise as a range of frequencies, the sine wave energy at each must impose some degree of amplitude correlation between time samples. Moreover, low frequency signals must intrude on more nearby samples than high frequency signals. Both effects can be reduced significantly by taking the difference between adjacent samples and using that as noise data.
Autocorrelation.
Previous work has exposed apparently unknown and complex
autocorrelation structure in noise (see:
Experimental Characterization of Recorded Noise).
The existence of autocorrelation structure directly contradicts the
idea that noise must be completely unpredictable because of its
quantum origin.
Unfortunately, deep analysis is now required.
In practice, it may be necessary to actually skip some number of
noise samples until autocorrelations become acceptably small.