Author

Topic: Generate own random numbers then incorporate into bitaddress.org script (.1 btc) (Read 3099 times)

member
Activity: 81
Merit: 1002
It was only the wind.
PS: I know a good PRNG is Mersenne Twister, maybe you could look into seeding that with your clicks.

No, just no. Mersenne Twister is a terrible RNG for cryptographic purposes. You can actually jump to an arbitrary position in the stream given enough bits to calculate the state: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/JUMP/index.html

Is it? Hm... that means I have some work to do...
sr. member
Activity: 437
Merit: 415
1ninja
Today you can generate your own random number using any method and make sure the number is 256 bit and then convert it to hex and use the wallet details tab to get your bitcoin address.

Does that cover your use case?
legendary
Activity: 3038
Merit: 1032
RIP Mommy
Step one: Put optical mouse laser over analog meter
Step two: Wave geiger wand over/away from radioactive source randomly
hero member
Activity: 784
Merit: 1000
0xFB0D8D1534241423
I want to generate some addresses using a gieger counter as a random number generator. Lets say I will just manually write down the number of clicks I hear over a certain period of time.

This task has 3 parts (easy I think if you know javascript):

1) Explain where in this script does it describe the random number generation and how it works.

https://github.com/pointbiz/bitaddress.org/blob/master/bitaddress.org.html
Hit ctrl+f, type in ArcFour. Here's the Wiki on it: http://en.wikipedia.org/wiki/RC4#The_pseudo-random_generation_algorithm_.28PRGA.29
It goes around modulo-adding values together, then using the sum as an array key to come up with a new value to modulo-add. It does this a lot.


Quote
3) Tell me how long I would need to count clicks for if there was an average of 1 per second and explain the logic behind that.
Depends on how regular the clicks are; i.e. how much variation there is. If the clicks appear 1s apart +- 0.01s with 99% probability, then it's extremely likely that you'll get 3 clicks if you count for 3.5 seconds. You now have very little entropy. However, if it's equally likely that you'll get 1 click or 2 in a 1.5 second period, then you're garnering at least 1 bit of entropy per 1.5s. You'll want as many bits as the algorithm allows.

Quote
OR
2) Modify the script so that I can use my own random number
4) Convince me this is idea won't work.
It won't work because I doubt someone will modify the script for you for such a small amount of money. You're better off asking for someone to do it for you for free, or finding someone interested in it. That said, it's probably a simple matter of replacing the mouse-entropy with user-input.
donator
Activity: 1218
Merit: 1079
Gerald Davis
sr. member
Activity: 293
Merit: 250
PS: I know a good PRNG is Mersenne Twister, maybe you could look into seeding that with your clicks.

No, just no. Mersenne Twister is a terrible RNG for cryptographic purposes. You can actually jump to an arbitrary position in the stream given enough bits to calculate the state: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/JUMP/index.html
hero member
Activity: 728
Merit: 500
I need to do a bit more reading on RNGs it looks like. 0.01 btc to all who posted here. Scrat acorns if you want it post an address.
sr. member
Activity: 330
Merit: 250
Also note that javascript in the browser can't access hardware (so it won't work with a geiger counter). You might be able to do it using node.js and making it read from a serial port or something similar, but I still don't think anyone will do that for 0.1BTC

If this convinces you that this idea won't work, my address is 1Pqh1kXjMVa8KvSJFg9DoUoKz9G1kNiYvo
sr. member
Activity: 293
Merit: 250
You can extract unbiased output from biased input (Von Neumann whitening is one such technique), but creating a hardware RNG by yourself is a bad idea.

If you really really want to use your geiger counter then your best bet is to feed /dev/random with entropy from the counter and use it's output.
hero member
Activity: 728
Merit: 500
Patch the window.SecureRandom function, or the ArcFour PRNG inside it.

Thank you, but I am not familiar with javascript so I don't know how to do that.

Dude, random.org. Also, this idea won't work. Why? Because Geiger counters measure radiation, and the amount of radiation around you (on any significant, detectable level) is probably strongly non-random.

-1

A Geiger counter measures radioactive decay. Radioactivity is the process whereby unstable atomic nuclei release energetic subatomic particles. Radioactivity is a random process, meaning that it is physically impossible to predict whether or not a given atomic nucleus will decay and emit radiation at any given moment. The amount of it doesn't change the randomness of it.

dude, http://www.fourmilab.ch/hotbits/



I'll use a smoke detector as an alpha particle source


legendary
Activity: 1512
Merit: 1036
Dude, random.org. Also, this idea won't work. Why? Because Geiger counters measure radiation, and the amount of radiation around you (on any significant, detectable level) is probably strongly non-random.

-1

A Geiger counter measures radioactive decay. Radioactivity is the process whereby unstable atomic nuclei release energetic subatomic particles. Radioactivity is a random process, meaning that it is physically impossible to predict whether or not a given atomic nucleus will decay and emit radiation at any given moment. The amount of it doesn't change the randomness of it.

dude, http://www.fourmilab.ch/hotbits/
sr. member
Activity: 330
Merit: 250
Patch the window.SecureRandom function, or the ArcFour PRNG inside it.
hero member
Activity: 728
Merit: 500
I want to generate some addresses using a gieger counter as a random number generator. Lets say I will just manually write down the number of clicks I hear over a certain period of time.

This task has 3 parts (easy I think if you know javascript):

1) Explain where in this script does it describe the random number generation and how it works.

https://github.com/pointbiz/bitaddress.org/blob/master/bitaddress.org.html

2) Modify the script so that I can use my own random number

3) Tell me how long I would need to count clicks for if there was an average of 1 per second and explain the logic behind that.

OR

4) Convince me this is idea won't work.

Jump to: