0

I have used bitaddress.org to create a brain wallet for my Bitcoin. Now I would like to create a brain wallet for my Ethereum using Bitcoin Improvement Proposals (BIP) 32/39/44/49 technologies. Is there any reputable tool (preferably similar to bitaddress.org) or open source command line tools I can use to generate a brain address for Ethereum?

Thank you all

closed as off-topic by G. Maxwell, Jannes, chytrik, Pieter Wuille, Anonymous Jan 27 at 6:07

  • This question does not appear to be about Bitcoin within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    I'm voting to close this question as off-topic because it would be better asked on the Ethereum stackexchange. – G. Maxwell Jan 24 at 18:50
1

Don't use a sha512 brainwallet generator like bitaddress.org to generate your brainwallet. Many people have lost their money by doing so.

Instead use a more secure salted scrypt like warpwallet.

For Ethereum, I made a warpwallet implementation here, that is available as a web version and as a go executable. For extra security you should generate the addresses offline.

  • Thanks @David I read some problems with brain wallets. As far as I understood, it is because people used not secure passphrase. I chose something complicated and "not human". I was not too sure from the article...Am I safe? In case I chose some weird passphrase to generate the keys, am I safe? Thanks! – Yura Nov 11 '17 at 6:41
  • @Yura If you choose the passphrase in a random way (e.g. by using a dice), have a big alphabet (upper and lower case letters, numbers, symbols..) and it's long enough (20+ characters for the sha512 brainwallet, 8+ characters for the salted warpwallet) the it's safe. If the passphrase you choose just looks random but it really isn't (e.g. you used the first letters of each word of a obscure song) then it's not safe. Using a harder algorithm and salt makes an attach orders of magnitude harder, is easy and there is no reason not to do it. – David Bengoa Nov 12 '17 at 11:00
0

This is a fork of warp wallet with the ability to generate ethereum and other coins using your passphrase. It's meant to be memory and time intensive to prevent brute force guessing.

fyi, i'm the creator of it. If that gives you a piece of mind. ;)

https://xcubicle.github.io/memorypaperwallet/

enter image description here

0

The approach below is very flexible because it applies not only to Ethereum but other cryptos as well that follow the BIP 32,39 and 44 Hierarchical Deterministic (HD) wallet standards. Because the BIP 39 Mnemonic conversions inherently applies Password Based Key Derived Function 2 (PBKDF2) that uses 2048 rounds of HMAC-SHA512 hashing that will partially compensate for poorly chosen brain wallets with little entropy.

Obviously, your brain wallet phrase, your BIP 39 seed words, and your BIP 39 Passphrase should be kept private, and all operation should be performed on an offline trusted computer.

Step 2 calculates the BIP 44 private key path for Ethereum, m/44'/60'/0'/0/0. Results for Step 3 can be easily validated by configuring a Trezor with the BIP 39 seed words provided below and a BIP 39 Passphrase. (Ledger wallets use a different non-standard HD path for Ethereum.)

1. Computing BIP 39 seed words from from what should be a complex brain wallet:

% echo -n "This is how you can create a BIP 39 brain wallet that is applied to Ethereum" | bx base16-encode | bx sha256 | bx mnemonic-new

game bless rather reward fun person negative manage walnut blanket normal swamp glue garbage deer flip immense assault sponsor matter ethics scare cushion loop

See mnemonic-new for details for using bitcoin-explorer commands.

2. Computing the first of billions of Ethereum HD Wallet Private Keys, m/44'/60'/0'/0/0:

% echo "game bless rather reward fun person negative manage walnut blanket normal swamp glue garbage deer flip immense assault sponsor matter ethics scare cushion loop" | bx mnemonic-to-seed -p "Your private HD Passphrase" | bx hd-new | bx hd-private -d -i 44 | bx hd-private -d -i 60 | bx hd-private -d -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-to-ec

469225ff5a9fe8eea420568657792a2a1beb313db2dba607bdc59661f058c376

3. Computing the associated address for the private key:

% echo -n 469225ff5a9fe8eea420568657792a2a1beb313db2dba607bdc59661f058c376 | bx ec-to-public -u | sed 's/^..//' | ./kec | cut -c 25-64

d3de5bec3f1947563af2f0512bdf9d793225089a

Not the answer you're looking for? Browse other questions tagged or ask your own question.