Marcus Watts (mdw@umich.edu)
Tue, 07 Jul 98 00:53:32 -0400
Writes Mike Rosing <eresrch@msn.fullfeed.com>:
> So, instead of using a Geiger counter, what if we use an ionization chamber
> and watch the current fluctuate. For example, I have a 1 microcurie source
> of Americium connected to a series of op amps. It comes from a Radio Shack
> smoke detector. The ionizaton current gets amplified by several thousand
> times so I get a voltage fluctuation of about 2.5 volts p-p. I heavily
> filter the thing so only frequencies in the range of 200 to 10000 HZ pass
> thru.
>
> When I look at the signal on the scope, it is obviously random noise. I
> would like some good ideas on how to convert that signal to a random bit
> stream. There are interesting aspects to this, because I see the
> ionization current created by the alpha decays there is no dead time in
> the detector, but the signal is "periodic" because the probability of
> decay is uniform.
What looks random on the scope isn't necessarily truely random.
You want to get together with a good mathematician and a good
electrical engineer and apply all sorts of statistical tests to
it before you can be reasonably sure it's "true random" noise. Also,
like anything else, it could fail. You ought to have some sort of
power on sanity test for it, as well as even more thorough diagnostics
software that can be run if there's any question it might be failing.
I think going for radioactive sources is a bit silly. A perfectly
ordinary source of true random information is thermal noise, which
is one of the sources of the "hiss" you hear even in high quality audio
gear. An FM radio can certainly generate such information, but
it would be better to have purpose built hardware that isn't so
receptive to annoying interference. The "classical" solution to
this is white noise from a semiconductor diode, but I seem to recall
hearing those weren't actually that good a source of thermal noise.
Any competent electrical engineer ought to be able to suggest
dozens of ways of producing thermal noise; normally this is something
they fight to eliminate. A really cheap solution is of course the
microphone available on many computers - even if people are talking
or there's music going, that's almost certainly still a pretty decent
source of true random information, especially for low bit rates.
If nobody at all is talking, the "hiss" you hear is actually thermal
noise from the air - and you can hear a louder form of it in a
seashell. You can also "see" thermal noise - the brownian motion
you see under a microscopic is due to the same cause.
Anyways, once you've resolved your source to digital signal levels,
making it accessible to a computer is no problem; just hook your
source up to a shift register clocked at any old convenient constant
rate. After that, you can just read it via any old parallel port.
Rather than using random discrete logic for this, another solution
is one of the small single-chip computers. Some of these are even
programmable in basic. You should be able to sample a signal input,
do simple signal processing on it, and interface with a real computer,
all in software with a minimal hardware component count.
Whatever your source, if your "random" data doesn't pass a good statistics
test, it may still be useful as a source of "true random" data. You'll
just have to do more post processing on it, to reduce the data rate and
throw out the non-randomness. It might be good to do this anyways, just
in case. If you ran a statistics test on the raw data at the same time
you crunched it down, you could come up with "failing/failed" status
bits along with the actual data.
-Marcus Watts
UM ITD PD&D Umich Systems Group
The following archive was created by hippie-mail 7.98617-22 on Fri Aug 21 1998 - 17:20:08 ADT