Pages:
Author

Topic: I am going to build a true random number generator ... - page 5. (Read 7864 times)

donator
Activity: 1218
Merit: 1079
Gerald Davis
Is it really reasonably available? ... You might have to buy a bunch of smoke detectors and take them apart  Smiley

Just one should be sufficient.

Quote
Also, FWIW, it's not all that safe... It emits a bit of gamma as well, as do some of its decay products.

Well like you point out they are used unshielded in hundreds of millions of smoke detectors around the world.  The risk shouldn't be anymore than adding another smoke detector to your home.  My goal would be to have the source and detector sealed inside a metal box preferably one which can be mounted in a 3.5" drive bay and connect to the host via internal usb header.

1 uSv of Am-241 with no shielding produces an exposure of ~1.27 Sv per year assuming constant exposure at a distance of 1m.  That is less than 1/700th of the recommended annual exposure limit of 1000 uSv annually.  So "a little bit" in this case is almost zero which is why it is used in smoke detectors to begin with.

Quote
Not too dangerous, but make sure not to eat it  Grin
Agreed.  Alpha emitter inside your body is not a good thing. 
full member
Activity: 187
Merit: 109
Converting information into power since 1867
your_random_number = HMAC_SHA256(, )

Ahh, but this assumes you already have a safe and random private key... If you had that, you wouldn't need the chicken to begin with. I call it the circular chicken paradox  Grin
member
Activity: 84
Merit: 10
Correct Horse Battery Staple
Hardware Rngs:

legendary
Activity: 1176
Merit: 1001
minds.com/Wilikon
how about making a deal with farmers. A couple of RasPi or Arduino and some IR detectors. Have them placed near those gigantic industrial chicken coop. their head movement would cut the beam and the timing would generate the data.

Not safe. A clever attacker will hide a kinect in there and figure out your numbers. Nevertheless, it would certainly be the funniest RNG ever invented  Grin

Beside hacking the Raspberry themselves a camera of any sort would not work as the chicken's head are the seed providing the final calculation in the algorithm. Also it won't be in one location.

It is a fun concept would bring the farming world, RNG and bitcoin together  Smiley
donator
Activity: 1218
Merit: 1079
Gerald Davis
how about making a deal with farmers. A couple of RasPi or Arduino and some IR detectors. Have them placed near those gigantic industrial chicken coop. their head movement would cut the beam and the timing would generate the data.

Not safe. A clever attacker will hide a kinect in there and figure out your numbers. Nevertheless, it would certainly be the funniest RNG ever invented  Grin

There are ways to use securely use random numbers which are (or may be) known by other parties.  A simplistic option would be to XOR the random values with a large constant.  A more sophisticated option is to use something like HMAC with a private key only known to you to produce new numbers from the existing known stream.

your_random_number = HMAC_SHA256(, )

Still not sure the CRNG (chicken random number generator) would be uniformly distributed.





hero member
Activity: 798
Merit: 1000
Bonus points if you can figure out what it is without using google.
I'd say it's an old LND INC 712, if I'm not mistaken.
full member
Activity: 187
Merit: 109
Converting information into power since 1867
how about making a deal with farmers. A couple of RasPi or Arduino and some IR detectors. Have them placed near those gigantic industrial chicken coop. their head movement would cut the beam and the timing would generate the data.

Not safe. A clever attacker will hide a kinect in there and figure out your numbers. Nevertheless, it would certainly be the funniest RNG ever invented  Grin
full member
Activity: 187
Merit: 109
Converting information into power since 1867
I am planning on using Americium (Am-241) for safety reasons (reasonably available and an alpha emitter).

Is it really reasonably available? I don't suppose you can order some from Overstock... You might have to buy a bunch of smoke detectors and take them apart  Smiley

Also, FWIW, it's not all that safe... It emits a bit of gamma as well, as do some of its decay products. Not too dangerous, but make sure not to eat it  Grin
legendary
Activity: 1176
Merit: 1001
minds.com/Wilikon

how about making a deal with farmers. A couple of RasPi or Arduino and some IR detectors. Have them placed near those gigantic industrial chicken coop. their head movement would cut the beam and the timing would generate the data.

The farmers would be paid in Bitcoin for installing and maintaining those easy going Raspberry Pi with a secured WiFi connection to your website. Locations around the world for a 24/7 data stream. No radiation.



donator
Activity: 1218
Merit: 1079
Gerald Davis
You already have one installed: your mouse.  move your mouse around for 10 seconds, 30 or more for paranoia levels, and you'll have a nicely non-deterministic value.

My server doesn't have a mouse and even if it did nobody would be moving it. Smiley
sr. member
Activity: 245
Merit: 250
You already have one installed: your mouse.  move your mouse around for 10 seconds, 30 or more for paranoia levels, and you'll have a nicely non-deterministic value.
donator
Activity: 1218
Merit: 1079
Gerald Davis
using radiation is risky.. it has a known half-life which a mathematician could possibly abuse to work out the base number used to then create randomness..

If implemented poorly it is.  A good RNG is designed so that the results can't be recreated.

It won't be measuring anything against a base number.  It will be measuring the time between TWO particle detections (if time between this interval is larger than prior interval that is a "1" and if it is shorter it is a "0" and if it is equal we throw it out).  Quantum mechanics tells us that while the average rate of decay can be calculated the time between each individual decay can not.  Of course our understanding of the universe may someday change but today no scientist can predict how long the next decay will occur in an unstable isotope.

Still it is a good point.  There are a lot of ways to construct a BAD random number generator.  As I get further into the project I plan to make it open source (both hardware and software) and plan to subject the output to various statistical tests for randomness.



legendary
Activity: 1176
Merit: 1001
minds.com/Wilikon

Why not use the feed from all those public webcams? Pixel and hue variations should be random enough as data.
sr. member
Activity: 252
Merit: 250
all u gotta do is dance around the room several times, and do 10 jumping jacks and 10 push ups and 10 sit ups and that should provide enough entropy.  lol
donator
Activity: 1218
Merit: 1079
Gerald Davis
I always thought that a microphone could work just as effectively for randomness.  Put a mic outside, record for 10 seconds, take the hash of that, viola!  Or just a straight sampling of it, like 10 bits, although the effective randomness would be less bits than that.

Or a radio. Record some random noise, and bingo, random numbers  Wink

That is what RANDOM.org uses.  All hardware RNGs can be categorized as either devices which sample a chaotic system (like radio noise) or devices which observe a quantum effect.  The chaotic systems are secure because while in theory radio noise is deterministic, at the current time simulations that large and complex are beyond our computing abilities.  Quantum observations are (at least based on our understanding of the universe) truly random in that we can not predict or explain why they occur.

One thing to watch out for in chaotic systems would be a periodic or oscillating signal.   Imagine a scenario where somewhere nearby there is a component (possibly defective) which is putting out a strong pulse at a specific interval which is picked up by the listening device.  This would result in your random numbers not being uniformly distributed.  Kind of like rolling some dice for random numbers but they are loaded and the six comes up more frequently than other numbers. 
legendary
Activity: 4410
Merit: 4788
using radiation is risky.. it has a known half-life which a mathematician could possibly abuse to work out the base number used to then create randomness..

the best bet is to take several different events not linked at all and combine them
legendary
Activity: 1022
Merit: 1001
I'd fight Gandhi.
I always thought that a microphone could work just as effectively for randomness.  Put a mic outside, record for 10 seconds, take the hash of that, viola!  Or just a straight sampling of it, like 10 bits, although the effective randomness would be less bits than that.
thats a neat idea. I'd assume the codec and/or file extension might not make it too random though
donator
Activity: 1218
Merit: 1079
Gerald Davis
Heh - almost right. Of course it's not the counter circuitry, just the detector tube...
Might be not so suitable after all - for really low radiation, the number of random bits per time unit might be too small, and for stronger radiation, I think they might have some saturation or dead time effect which prevents them to detect events that are too close together in time. But I may be wrong, this is all from very dim memory.
Commercial sources of randomness use thermal or quantum noise generated by semiconductor diodes as far as I know, those are much smaller and less fickle.
But as a fun project, this tube might be just the right thing...

Onkel Paul

Output will be low.  1000 bps would be optimistic, first version might be significantly lower than that.  The tube I picked is a great alpha detector.  Alpha particles are block even by a sheet of paper so it becomes possible to use a source with higher activity without presenting a safety risk. 

Still even low output can be useful if the results are cached.  Lets say only 100 bps.  That over one million bytes per day.  Enough to generate 4200 private keys.   Of course things like a strong HD wallet seed (to produce an infinite number of keys) is probably a better use of those "scarce" bits.
sr. member
Activity: 322
Merit: 250
Decentralize All The Things!
I always thought that a microphone could work just as effectively for randomness.  Put a mic outside, record for 10 seconds, take the hash of that, viola!  Or just a straight sampling of it, like 10 bits, although the effective randomness would be less bits than that.

Or a radio. Record some random noise, and bingo, random numbers  Wink
legendary
Activity: 1400
Merit: 1005
I always thought that a microphone could work just as effectively for randomness.  Put a mic outside, record for 10 seconds, take the hash of that, viola!  Or just a straight sampling of it, like 10 bits, although the effective randomness would be less bits than that.
Pages:
Jump to: