DIY Random Number Generator 227
Compu486 writes "The guys over at Inventgeek have come up with a project and how artical on building
a random number
generator that is less than 100.00 utilizing radioactive decay. Using some
Linux based open source apps and with a little ingenuity and some parts you probably
have laying around your house you can build your own."
Typos (Score:5, Interesting)
and how to article on...
And I have to wonder...that is less than 100.00 what?
Re:Typos (Score:5, Funny)
Re:Typos (Score:5, Funny)
Fear not comrade, it's all part of the move to make Slashdot less US centric - this way, rather than just having foreigners confused about how much things cost, everyone gets to be confused about how much things cost.
Re:Typos (Score:5, Insightful)
How long would it really take to edit each post before submitting it for public consumption? Slashdot is now one arm of OSTG, and as such their content should be held to the same standards as any other "official" publication.
And please, folks, don't take the easy way out with a generic "slashdot omelet" response: It's the varying points of view that make this site not interesting, not the various manglings of the English language.
Truthfully.
Re:Typos (Score:2)
Would the site having one single point of view make it more interesting to you? Or is this satire?
Re:Typos (Score:2)
Re:Typos (Score:3, Insightful)
If you're going to attempt to be viewed as a professional, it helps to be able to pass 5th grade English.
Cheers,
Come on, it's Taco (Score:5, Insightful)
Funny thing is, I read an interview with Rob where he said he's currently using a Mac. As far as I know, all recent Macs have the option of turning on spell checking across the OS -- so for instance, typing this on my Powerbook I see red underlines under misspelled words in the "Comment" text box on the submission page. Which means that he's either too lazy to turn this feature on -- or worse, too lazy to try and correct misspellings and typos that are already clearly marked.
Re:Typos (Score:3, Funny)
Re:Typos (Score:3, Informative)
I did this in highschool (Score:3, Interesting)
I had a simple C program that just spun between 0 and 255, and when a signal came across the game port it would record the current number.
run that through a hash function of your choice and it worked great.
dont cpus today have some noise generators built into them though?
Re:I did this in highschool (Score:4, Funny)
Re:I did this in highschool (Score:3, Interesting)
Re:I did this in highschool (Score:5, Funny)
There are some pretty fricken random posts.
Re:I did this in highschool (Score:2, Funny)
>>
>> There are some pretty fricken random posts
Uh, actually no - you're almost always guarentted the following:
1) First Post in the 2nd message. (The first post usually has nothing to do with the article as the person never read it).
2) The 1, 2, 3, 4) Profit?? posts.
3) Natalie Portman and Grits.
4) (Old School) GoatSe posts.
5) Spwelling und Grammmer Misteaks
6) In my day we did it with a 1 bit computer that had 1 value posts.
Nope - Slash
Re:I did this in highschool (Score:2, Interesting)
A go
I did this in elementary school (Score:2)
Re:I did this in highschool (Score:3, Interesting)
Re:I did this in highschool (Score:2)
I'm not quite clear on how you say you are placing the detectors. In any case I think we are talking about detecting single particles here. That is, if a particle is is detected in one detector,
Re:I did this in highschool (Score:2)
Re:Coincidence photons are from positron decay... (Score:3, Funny)
You're also right that this doesn't apply to aplha decay, because momentum is conserved via the slight recoil in the nucleus - that was a brain fart on my part remembering which type of radiation we're dealing with here.
What you are COMPLETELY FUCKING WRONG abou
Editors? (Score:5, Interesting)
Michael (Who now sits back and waits for people to pounce on my spelling/grammatical mistakes)
Re:Editors? (Score:5, Funny)
"I know that English"--RIGHT.
Hey, you asked for it!
You did, as well. (Score:4, Informative)
Re:You did, as well. (Score:2)
I have some bad news: you have a scorching case of the syphilis.
-OR-
My bloog sugar is getting high, so I have to watch out for the diabetes.
Re:You did, as well. (Score:2)
Re:You did, as well. (Score:2)
Re:Editors? (Score:2)
I know the english language may not be the submitter's first language,
work too?
I guess the question might be; did leaving the understood laguage part out have anything with the thinking that "that" should have replaced "the". or could they have both worked?
Re:Editors? (Score:2)
Strangely enough you wouldn't be able to make that claim about Gaelic though: the accepted way of talking about someone who knows that language is "having the Gaelic":
More difficult Rnd() generator (Score:5, Funny)
I placed them into a big ball wrapped in tinfoil (shiney side in), then used my fathers' geiger counter to supply random numbers.
Its been working well, I've been counting the number of years its been running on my fingers, so far I've got to 13.
*note, this is totally false, but there was some stupid kid who did something similar.
Re:More difficult Rnd() generator (Score:5, Interesting)
http://www.dangerouslaboratories.org/radscout.htm
http://en.wikipedia.org/wiki/David_Hahn [wikipedia.org]
Re:More difficult Rnd() generator (Score:2, Informative)
Perhaps he's counting in binary on his fingers, in which case he only needs one hand.
Re:More difficult Rnd() generator (Score:2)
Old-school (Score:5, Funny)
Re:Old-school (Score:3, Insightful)
Re:Old-school (Score:3, Funny)
Re:Old-school (Score:2)
Re:Old-school (Score:5, Informative)
Second, you can measure "how random" something is (for suitable definitions of "random") by measuring its "entropy", which is a measure of how many "random" bits is in a given input. The entropy of English text is 1.1 to 1.6 bits per character [wikipedia.org], which means to safely obtain a 128 bit key from a bit of English text you need almost as many characters as you want bits. "Smashing on the keyboard's" randomness will probably vary even more, from perhaps as low as ~.5 if you smash poorly to 2.5-3 if you smash "randomly", but you also get the entropy from the timing information, which if you use a very-high-resolution clock contributes several bits itself.
So, basically, this "statistical analysis" problem is extremely well known, and very well quantified, down to the fractional number of bits of randomness that you can extract from a bit of text. Since these fractional bits can just be added together (four "English text characters" at 1.5 bits apiece gives you 6 strongly-"random" bits), the solution turns out to be very simple: Smash on the keyboard longer, until you've got at least as much entropy as you have bits. Voila, a strongly-random key suitable for almost all purposes. (It probably is suitable for all purposes, but taking a key from radioactive decay has the advantage of letting you know the key is random, whereas with this technique you can only be "very, very, very sure".)
Handled properly, it's not a problem.
Many, if not most, modern systems will also maintain an "entropy pool" at the OS level, which uses interrupt timings and other such events to feed the pool, which can then be drawn on by programs in lieu of reading the keyboard directly. This works nicely, and among the inputs used is keyboard and mouse events.
The nice thing about the entropy pool is the input can really come from anywhere. It doesn't have to be totally random to contribute, it just can't be totally predictable.
Re:Old-school (Score:3, Funny)
Not as geek but safer (Score:5, Informative)
Re:Not as geek but safer (Score:2)
From: Executive Management
Date: Sun Aug 13 09:33:39 2006
Subject: Important Announcement
Surely, we can conclude that the technological method of empowerment indicates that the dialogue dramatically blows them away. We are ahead of the the product lines curve. I think that the paradigms impact the multimedia based ke
I used a photo of smoke over Beirut as the source (Score:2)
Here's the money graph (Score:5, Informative)
One of the applications I have envisioned for this project is a cheap and easy genuine random number generator. True random numbers in computing are nearly impossible, and successful solutions are very expensive systems based on radioactive decay or atmospheric measurements, for example. Using a small / relatively safe radioactive source and a high res CCD or CMOS sensor and assigning a value to each pixel and perhaps mixing in an algorithm or two with an inexpensive practical PCI card that is capable of generating genuine random numbers. Applications that could greatly benefit from this would be encryption, security applications, Computer AI and the Gambling establishment to name a few.
>>
Actually, no, none of these really benefit from "truly random numbers". The applicability of randomness to AI is... spurious at best? For gambling, you just have to be reasonably sure that someone can't predict in advance what your random sequence is going to be, and the Mersenne Twister plus any unknown piece of data as a seed is good enough at resisting everything our current understanding of mathematics can throw at it. (Yes, thats security through obscurity... in the same way that hiding your server behind locked doors, a firewall, and a secure password is security through obscurity. Its both necessary and sufficient.)
Encryption, similarly, would not benefit from transitioning from an "almost perfect" pseudo-random generator to a "perfect" random generator. For your security to fall based on random numbers, someone needs to be able to not just come up with a theoretical imperfection (ahah, 200 million runs of this random number generator and you'll notice it slightly skews away from these five integers!) but have to crack it wide open. Yay, yawn.
Now, radiation + poorly understood mathematics = geek high, I know. But in terms of practical application this gets a near zero.
Clarification regarding Twister (Score:5, Informative)
Wrong. Encryption is a valid application. (Score:2)
Actually, no, none of these really benefit from "truly random numbers"
A random number generator is the best way to generate good cryptographic keys. Pseudo-random numbers are not good enough, in fact that is the commonest kind of "snake oil" in the encryption world. See Bruce Schneier's site [schneier.com] for examples.
A very long random sequence can be used as a one-time pad, giving completely unbreakable encryption if the sequence is truly random.
Re:Wrong. Encryption is a valid application. (Score:3, Insightful)
2) Pseudo-random number generators (with a sufficiently random seed) aren't good enough? Then maybe you'll be able to tell me what comes next after this base64 encoded output of the
Re:Wrong. Encryption is a valid application. (Score:2)
Not practical? (Score:2)
the Mersenne Twister plus any unknown piece of data as a seed is good enough at resisting everything our current understanding of mathematics can throw at it. ... [blah blah blah] ... in terms of practical application this gets a near zero.
Oh, so you would not want to have an $85 seed generator would you? If 1.3 million possible combinations are not good enough for you, you could always combine more hits to get any resolution you wanted. Then you feed that back into your twister [umich.edu] or whatever. This el
Re:Here's the money graph (Score:2)
Re:Here's the money graph (Score:2)
A second problem is the speed of random number generation. It is always substantially behind the speed of pseudo-random generators in use, often by several orders of magnitude compared to the quick and dirty generators, I think.
Re:Here's the money graph (Score:2)
Why not using a live webcam? (Score:2)
Re:Why not using a live webcam? (Score:5, Informative)
Pretty cool, but (Score:4, Insightful)
And besides, why the emphasis on shielding the camera? You'd think that for a RNG interference is good as it adds more randomness.
Re:Pretty cool, but (Score:2)
I can think of lots of non-random interference sources - Mains 50Hz, CPU Clock, USB Clock, other data signal on the USB cable, etc.
Re:Pretty cool, but (Score:2)
Re:Pretty cool, but (Score:2)
units (Score:5, Funny)
Re:units (Score:2)
I seem to remember (Score:5, Interesting)
[I know, a reference would have been nice, but age does terrible things to your internal bibtex database]
Re:I seem to remember (Score:4, Informative)
Comment removed (Score:4, Informative)
Re:cheap alternatives (Score:2)
Another approach (Score:3, Interesting)
No analysis? (Score:4, Informative)
For example, see
http://en.wikipedia.org/wiki/Pseudorandom_number_
http://www.phy.duke.edu/~rgb/General/rand_rate.ph
http://www.findarticles.com/p/articles/mi_qa3742/
Typically silly (Score:3, Interesting)
Frankly, you don't need all that much true randomness to generate random numbers. You just need to be able to continuously seed a CSPNG from a random source, and not even at a very high rate. A few bits a second is plenty.
Move along,
-Matt
Re:Typically silly (Score:2, Informative)
We use /dev/urandom (Score:4, Interesting)
Don't try this at home, folks! (Score:5, Informative)
First, removing the source from a smoke detector is illegal in the US. I'm not aware of anyone being put in jail for doing it, but with the state of affairs currently I would not go posting the fact that you did it all over the internet.
Second, those sources can be very dangerous if mishandled. The source is coated in a THIN layer of gold and/or silver.. only a few atoms thick. If you touch it with anything you will break the seal and contaminate the object. If you then happen to touch it, you have a good chance of ingesting or inhaling it. This is bad. Am-231 is what is called a bone-seeker. It will be used in new bone growth and eventually kill you by causing bone tumors and other cancers.
Now with a little care you can be pretty safe, but the article in question should have been a little more explict about the dangers involved here.
Why does Inventgeek hate our freedom? (Score:2)
Re:Why does Inventgeek hate our freedom? (Score:2)
Re:Why does Inventgeek hate our freedom? (Score:2)
Nitpicking correction (Score:2, Informative)
Am-231 is what is called a bone-seeker
The isotope used in smoke detectors is Am-241, not Am-231. Am-231 is too unstable to be listed in standard isotope tables.
Of course, all isotopes of Americium are bone-seekers, so your point remains valid, though I find it a bit nannying. The quantity of Am-241 in a smoke detector is really minute.
Re:Don't try this at home, folks! (Score:2)
He also managed to get his hands on some other radiation sources as well, so it wasn't just some smoke detectors. However, smoke detectors are nothing to fool around with disassembling.
Re:Don't try this at home, folks! (Score:3, Informative)
Re:Don't try this at home, folks! (Score:2)
Re:Don't try this at home, folks! (Score:2)
Re:Don't try this at home, folks! (Score:3, Informative)
With some attention to geometry, which is suggested by his parcelling of ash, his 232Th had a reasonable probability of capturing slow neutrons from his small emitter, becoming 233Th, which quickly beta decays into 233Pa which in some days beta decays into 233U . His neutron spectrum was sufficiently fast that more 233U fission than actinide pr
Re:Don't try this at home, folks! (Score:2)
> required a NEST team to come in and clean up.
It got such a team. Whether it required one is another question entirely.
Give Him a Break (Score:2, Insightful)
Radiation/Science/Geek combo (Score:3, Funny)
Is radioactive decay really random? (Score:2, Interesting)
Re:Is radioactive decay really random? (Score:2)
Yes.
Re:Is radioactive decay really random? (Score:3, Informative)
The decay of an atom is a fundementally probability-driven process. You can predict the half-life of a material on a large scale, but it is impossible to predict the decay of an individual atom. And, every signal received by your detector
don't need radiation (Score:3, Insightful)
How about using a soundcard and ambient noise? Or you could use an AM radio receiver for static noise. There are plenty of other sources of randomness.
Re:don't need radiation (Score:2)
Re:don't need radiation (Score:2)
Re:don't need radiation (Score:2)
True random number from random.org (Score:3, Informative)
The internal version is a bad idea (Score:3, Insightful)
Wet Hot American Summer (Score:3, Funny)
A simple 1/ megabit/sec generator for cryptography (Score:5, Interesting)
I generated a CD full of random data, which anyone is willing to have if they want it. I've tested it against the "Die Hard" tests, and almost all the 10-meg files pass. There is one test that failed now and then, so I contacted the statistics professor who wrote it. I showed him that his own random number generator, thought to be nearly foolproof, failed the same test with the same probability. It seems I found a bug in his program!
Total cost for components is $10. Anyone who is interested can have schematics for free. Contact me at bill@billrocks.org.
The theory behind it is simple... who cares if the bits from the source are completely random? It turns out you just need a LITTLE true randomness from the source. By xoring bits together that have some randomness, you quickly approach truly random. By my estimate, only God would ever know the difference for the data I generated from perfectly random data, since the board could generate data for billions of years before accumulating even one bit of non-random data in it's output.
Mathematical proof:
Two semi-random bits b1 and b2 each contain small amounts of
non-random noise which we can call d1 and d2. Note that d1 and d2 can
be correlated, and usually are. The notation P(expression) means the
probability that the expression will be 1.
I define P(b1) and P(b2) as:
P(b1) = 0.5 + d1
P(b2) = 0.5 + d2
Both d1 and d2 have a range of -0.5 to 0.5. Xoring b1 and b2 together gives:
P(b1 ^ b2) = P(b1 & !b2) + P(!b1 & b2) = P(b1)*P(!b2) + P(!b1)*P(b2)
= (0.5 + d1)*(0.5 - d2) + (0.5 - d1)*(0.5 + d2)
= 0.25 - 0.5*d2 + 0.5*d1 - d1*d2 + 0.25 + 0.5*d2 - 0.5*d1 - d1*d2
= 0.5 - 2*d1*d2
Squaring a small number makes it very small indeed. If d1 and d2 are
already 0.01, then xoring b1 and b2 together results in a random bit
noise level 0.0002. This leads to the following equation for the
amount of non-random noise defined as n(bits) given the number of bits
in the xor sum:
n(1) = d
n(2) = 2*n(1)^2 = 2*d^2
n(4) = 2*n(2)^2 = 2*(2*d^2)^2 = 2^3*d^4
n(8) = 2*n(4)^2 = 2*(2^3*d^4)^2 = 2^7*d^8
n(i) = 2^(i-1)*d^i =
Here's how you can use this equation. Lets say you believe you have
non-random noise levels of no more than d. You want the noise level
to be less than N. We want to compute the number of bits needed, i:
N = n(i) =
2*N = (2*d)^i
log(2*N) = i*log(2*d)
i = log(2*N)/log(2*d)
So, for example, if you feel your non-randomness per bit is less than 10%,
but you need less than 1 part per billion, we compute the number of bits
needed in the xor-sum:
i = log(2*10^-9)/log(2*.1) = 12.5
In other words, just xor together at least 13 bits.
Re:A simple 1/ megabit/sec generator for cryptogra (Score:4, Funny)
640 megabytes is a little much for my connection to handle right now. Could you compress it and send it to me please?
strike
Silly... (Score:3, Funny)
I just use a female-mood-detector. That's _my_ source of high-grade randomness.
Atmospheric noise... (Score:2)
Re:Atmospheric noise... (Score:2)
apparently (Score:2, Insightful)
Re:apparently (Score:2)
> noise.
Depends on what you are using the random numbers for. An opponent could transmit known patterns on that frequency, or the vagaries of radio propagation could replace the noise with a station.
> Sounds much simpler...
Simpler is a noise diode and a comparator. Sticking the americurium to the diode might up its output a bit.
>
There is no significant risk.
Re:Natural Language - Integer Value (Score:2)
Re:Europe (Score:2)