A little nuclear physics anyone? Seems like one real bitch with roll-your-own cryptography is the scarcity of good random numbers to work with. I've read about various schemes using I/O buffers, or keystroke timing like PGP does (even there, true randoms are referred to as "precious"). So I thought a bit about how one could construct a true random generating box. Went out to Sears and bought a $7 smoke detector, a "Family Gard" model FG888D, and took it apart. What's inside is a 1.0 microCurie chunk of Americium 241 (I checked other models, and they seem to all be AM241, right around the 1 uCi activity range, although I have an older one at home with 5.0 uCi). I did a little research on the isotope in the CRC Handbook and the Brookhaven National Lab's online database, and what I found was pretty interesting: About AM241: Half-Life: 458 years Decay: AM241 ---> (Neptunium 237) + (5.5 MeV alpha particle) 1.0 uCi = 37,000 decays/second average NP237 has a half-life of around 2 million years This is very good design. AM241 has only one basic decay mode, and it decays to an essentially inert daughter product without any intermediate daughters to worry about. Very simple and safe. In addition, the 1.0 uCi activity of the sample makes the decay rate just right for counting alphas with electronic devices -- a 100 KHz sample rate would be overkill for resolving individual alphas. And the half-life is long enough to make the source relatively stable over a reasonable period of use. I took my sample into the lab and it barely registered on the geiger counter, but when I set it up on a scintillating detector, I got about 1200 counts/sec above a background of 25 count/sec. A nice clear signal. Seems to me it would be pretty easy to buy a small solid-state detector and a couple of chips and wire it up to toggle a pin on an RS232 cable, giving a nice true random source -- for instance, assuming the 1200 counts/sec rate I saw in the lab, you could count alphas for 10 milliseconds and send a 1 down the cable if you saw an odd number, a 0 if you saw an even number. Could probably do better than 1200 /sec, too, I bet. Does anyone see a real need for something like this? Any hardware jocks out there who could lend some expertise? Radiological safety data (permissible quarterly intake): AM241 (oral): 7.6 uCi AM241 (inhalation): 3.8E-03 uCi NP237 (oral): 6.2 uCi NP 237 (inhalation): 2.5E-03 uCi In other words, whatever you do, don't smoke it... -- Will