Author

Topic: Simple addr/key gen? (Read 612 times)

legendary
Activity: 1176
Merit: 1020
March 25, 2013, 03:18:34 AM
#3
I have a simple work around for your problem.  Take a private key that bitaddress.org has generated, add a recognizable word to it and then make random deletions of other parts of the key equal to the number of letters in you chosen word (so the key stays the same length).  Then make several other 'random' substitutions of your own choosing.  At this point your key should be unknowable and unguessable EVEN IF bitaddress.org was feeding you non-random private keys to begin with.  Then use bitaddress.org to make an address out of your modified private key.  To make sure it is giving you the address that ACTUALLY corresponds with your custom private key, double check by feeding the private key into Armory and make sure the resulting addresses are identical.  Check against a third program if you are still paranoid.  Finally, check to make sure your recognizable word is in the private key at all times, to make sure nothing has been switched on you.

 This method is a little bit tedious, but I believe it ensures against all possible methods of trickery, unless all of the programs you use to do the verification are malicious in the same way.  People might argue that adding a known word to the private key makes it less random.  Sure.  It does.  But even if you reduce the key space from 256-bits to 200-bits, it is still secure by todays methods.  256-bits is no good if someone knows the code.
legendary
Activity: 2506
Merit: 1010
March 25, 2013, 03:10:37 AM
#2
hero member
Activity: 815
Merit: 1000
March 25, 2013, 02:44:23 AM
#1
Hello I was wondering if there was a really simply open source program for generating addr./key pairs.

Preferably in C# using standard MS crypto-libraries.

I want to be able to step through it and be 100% sure there is no trickery. Its fine if the input/output is nothing but a C# console app with no options.


(The bitcoinaddress.org is JS and too long to confirm for me.)
Jump to: