Title: [UPDATED] Bitduino: Generate bitcoin addresses randomly using Arduino Post by: jujugoboom on December 23, 2014, 02:51:52 AM https://github.com/jujugoboom/Bitduino (https://github.com/jujugoboom/Bitduino)
https://i.imgur.com/ZxepRYQ.jpg I am proud to share with you what I have been working on. This is code that works with a computer and an arduino board to generate bitcoin addresses. It uses a random number generated from hardware on the arduino and uses that to generate a bitcoin address. This is my first bitcoin code ever and I hope you guys enjoy it. If anyone that has experience with arduino or python wants to help, message me. A reminder that the actual addresses are converted and stored on your computer so they are only as secure as your computer, but I am looking into generating and storing on arduino. If you enjoy please let me know and if you have any questions or complaints just tell me. Thanks. EDIT: This now includes a more secure entropy library that has been tested and shown to be random. The program also now stores private keys in the EEPROM of the arduino. It stores it from address 0-31. If you run the Random Address sketch, this overwrites any private keys currently stored on the arduino. The Read EEPROM sketch can be used to write the private key to a serial monitor, or to the generate.py script. This is the program you should have loaded on your arduino if you want to use the same address over and over. Also added a seperate generate.py file that only generates the public key. This makes sure that the private key is never written to your computer. Please leave feedback here, or feel free to e-mail me at jujugoboom@gmail.com. Title: Re: Bitduino: Generate bitcoin addresses randomly using Arduino Post by: stevep on December 23, 2014, 10:38:06 AM I created an arduino based paper wallet printer just over a year ago.
https://www.youtube.com/watch?v=f7y_emuo68g https://github.com/spearson78/paperwallet In the end the arduino was just too slow so I had to switch to an arm chip for the final self contained prototype. http://blog.bitfrore.com/ https://github.com/bitfrore/bitfrore Title: Re: Bitduino: Generate bitcoin addresses randomly using Arduino Post by: JohnLight95 on December 23, 2014, 10:08:31 PM I usually just use my arduino as a breakout for RX, TX but actually having a good use for it is really interesting, I will certainly give this a shot. Thanks for the good work.
Title: Re: Bitduino: Generate bitcoin addresses randomly using Arduino Post by: jujugoboom on December 24, 2014, 01:11:56 AM To test the rng, I am running it on a loop right now to generate 100,000 private keys. When it finishes in a few days, I will upload the results to pastebin and put them here for everyone to see and test.
Title: Re: Bitduino: Generate bitcoin addresses randomly using Arduino Post by: JohnLight95 on December 24, 2014, 01:28:41 AM To test the rng, I am running it on a loop right now to generate 100,000 private keys. When it finishes in a few days, I will upload the results to pastebin and put them here for everyone to see and test. Looking forward to those results :) Title: Re: Bitduino: Generate bitcoin addresses randomly using Arduino Post by: benjamindees on December 25, 2014, 04:36:59 PM I like this idea. But I'm a bit disappointed that you didn't take the advice in your Reddit thread (https://www.reddit.com/r/Bitcoin/comments/2q4vyh/bitduino_generate_bitcoin_addresses_randomly/) seriously. Polling an analog input for random numbers can be compromised by the presence of EM radiation, depending on the environment. Your testing the code by generating 100,000 keys would only verify your particular environment, at that particular time.
Since all this code does is act as a source of randomness, don't you think you should look into adding some other sources, or some improvement? There are much better sources (https://sites.google.com/site/astudyofentropy/project-definition/timer-jitter-entropy-sources/entropy-library) of entropy on an Arduino than the one you are using. My other advice is, before releasing a version of this capable of storing Bitcoin keys, please look into enabling the appropriate Arduino memory protection lock bits described in section 27 of the atmega328p datasheet. Title: Re: Bitduino: Generate bitcoin addresses randomly using Arduino Post by: jujugoboom on December 26, 2014, 10:40:46 PM I like this idea. But I'm a bit disappointed that you didn't take the advice in your Reddit thread (https://www.reddit.com/r/Bitcoin/comments/2q4vyh/bitduino_generate_bitcoin_addresses_randomly/) seriously. Polling an analog input for random numbers can be compromised by the presence of EM radiation, depending on the environment. Your testing the code by generating 100,000 keys would only verify your particular environment, at that particular time. Since all this code does is act as a source of randomness, don't you think you should look into adding some other sources, or some improvement? There are much better sources (https://sites.google.com/site/astudyofentropy/project-definition/timer-jitter-entropy-sources/entropy-library) of entropy on an Arduino than the one you are using. My other advice is, before releasing a version of this capable of storing Bitcoin keys, please look into enabling the appropriate Arduino memory protection lock bits described in section 27 of the atmega328p datasheet. If anyone did want to see, the 100,000 addresses finished generating and here they are https://mega.co.nz/#!U4JThZII!hd-fjZ6rKVb2aGEj515fcXEZI9OF_ZyWdXGSGtdDiSw (https://mega.co.nz/#!U4JThZII!hd-fjZ6rKVb2aGEj515fcXEZI9OF_ZyWdXGSGtdDiSw). I want to emphasize again do NOT use these keys for any bitcoin storage. ONLY for testing purposes. EDIT: ADDED ENTROPY LIBRARY. MUCH MORE SECURE AND RANDOM NOW. Title: Re: Bitduino: Generate bitcoin addresses randomly using Arduino Post by: btc_enigma on January 09, 2015, 12:38:51 PM Is this safe to use ? ... I have a arduino lying around waiting to be put to use
Title: Re: [UPDATED] Bitduino: Generate bitcoin addresses randomly using Arduino Post by: jujugoboom on February 05, 2015, 03:33:03 AM New update with lots of new features.
|