iancoleman / bip39

A web tool for converting BIP39 mnemonic codes
https://iancoleman.io/bip39/
MIT License
3.49k stars 1.44k forks source link

Entering your own word list #313

Closed bharathrao closed 5 years ago

bharathrao commented 5 years ago

You may want to use the following to compute the checksum word if you want to enter a custom phrase: https://github.com/bharathrao/bip39check

shmick commented 5 years ago

@bharathrao good idea. I was just helping a friend with a bip39 mnemonic with words generated using bip39 diceware. We realized that the 24 words wouldn't work and ended up using this python code to generate the checksum. Having this built into the bip39 tool would have been great.

hostgame commented 5 years ago

Mnemonic phrase generated by human has not enough entropy. It is unsafe. Bip39 recommends to base mnemonic only on seed with high level entropy.

Although using a mnemonic not generated by the algorithm described in "Generating the mnemonic" section is possible, this is not advised and software must compute a checksum for the mnemonic sentence using a wordlist and issue a warning if it is invalid.

Giving user an opportunity to choose custom phrase is bad idea.

shmick commented 5 years ago

While a human generate mnemonic might not be as strong, using something like BIP39-Diceware to generate all but the last word should be fine. The issue is then easily generating the checksum word. Having that functionality within this utility could be of value to others.

bharathrao commented 5 years ago

A human generated mnemonic from their own mind has low entropy.But if they choose using a random generator from a word list and rearrange the words to be memorable the level of entropy is not dramatically different. Note that lower levels of security may be ok for storing smaller amounts.

iancoleman commented 5 years ago

I suggest not using your own words to make a mnemonic.

Secondly, I suggest using the entropy options in this tool if that's what's preferred. It accepts dice rolls as entropy.

Lastly, if people want to use their own words, my suggestion is to manually change the last word until the checksum matches. For example, a 12 word mnemonic has 4 bits of entropy so it should only take 16 (ie 24) changes to find a valid checksum word. But more than anything, I recommend not using your own words.