Re: random bit genrater
Humm, in fact, there are true hardware random bits generators.
There are two kinds of random bits generators.
The first one is the 'pseudo-random', which are simple, and use a series of flip-flop with an XOR gate. This one, while not being random at all (the result is predictable) is often used for tests or scrambling purpose. For example, when you wish to test a transmission system, and wish to feed a signal that 'look like' it's random data, it is very usefull. Also, when you have a system where you wish to insure an evenly distributed numbers of ones and zeros, you could xor the bitstream with the output of the generator. At the other end, you xor again to get the original bitstream. Usefull for example if you have a long series of zeros and you must insure that a certain amout of '1' will be present in the transmission.
The second random generator is a true random generator. In fact, this is so true that it's one of the only hardware trusted by military applications or applications needing a real high-security level. It's based on a semiconductor (usually a diode or a transistor). This is based on the principle that if you look at a diode, and you apply a voltage to it, you will see a bit of noise. If you were to take an scope, and put a voltage across a diode for example, especially near the reverse breakdown voltage (for example, near the rated voltage for zener diodes), you would see some noise. That noise may be of a few millivolts. And this noise IS truely random. That noise come in the first place due to the fact that as soon as the temperature raise above the absolute zero (0 kelvin, which is about -273.16 celcius, and which have the same scale as celcius), the electrons will start to 'shake'. This electrons vibrations will cause that noise. The higher the temperature, the higher the noise. The noise level can be calculated as a function of the temperature and bandwidth. The wider the bandwidth, the higher the noise. This is why some hyper-sensible receivers, like radio-telescopes, use a LNA (low-noise amplifier) and LNB at very low temperatures, to be less flooded by local termal noise.
So, the way it work is that it sample a voltage and depending on the voltage level, the device will output a 1 or 0. This stream of 1 and 0, again, IS truely random.
For the fun of it, here is the formula to calculate the noise level in Watt:
P = kT<delta>f.
P is the power in Watt
k is Boltzmann's constant in joules per kelvin
T is the conductor temperature in kelvins
<delta>f is the bandwidth in hertz.
Boltzmann's constant (k): The number that relates the average energy of a molecule to its absolute temperature. Note: Boltzmann's constant is approximately 1.38 × 10^-23 J/K (joules/kelvin).
Ex: you have an amplifier, which amplify frequency from 2GHz to 2.5GHz. You then, design a filter to keep just this 500MHz bandwidth. The amplifier is at room temperature, let's say 25C (you could convert F to C too). This give 298.16 kelvins.
So, the power P is
P = (1.38 × 10-23 Joules/Kelvins) * (298.16 kelvins) * (500 000 000 Hz)
P = 0.000000000002057304 Watt
P = -117dB
Take that on a scope, across a diode. Let's say our oscilloscope probe have a 1Megaohm input. Let's saw our scope have a 500MHz bandwidth, and we are at room temperature. We then get the same formula as above. From the ohm law, we have this formula:
P = V^2 / R (Power equals Voltage squared, divided by the resistance).
So
P = V^2 / 1 000 000 ohm
0.000000000002057304 Watt * 1 000 000 ohm = V^2
0.000002057304 Watt ohm = V^2
square root(0.000002057304 Watt ohm) = Voltage
Voltage = 0.00143 V
Voltage = 1.43mV (which can be seen as noise on the scope).
Big Boy