0

Are the wordlists used to generate the 12/24 seeds different for a regular BTC wallet and BIP-39 enabled BTC wallets?

Also can I edit the seed phrase wordlists to add my own words to it in any types of BTC wallet?

Is there any way of generating seed phrases on my own? How does that work? I read on the internet someone advising to use Ian Coleman's seed generator. Till now I have only been able to generate seeds randomly in the electrum wallet. I never had the choice to select the 12/24 words.

2
  • What do you mean by "regular btc wallet"? BIP 39 is the regular one - it's the only standardized mnemonic scheme for key generation. Electrum uses a different method that no one else uses.
    – Ava Chow
    Commented Sep 8 at 18:34
  • Ok thanks. Can I choose my own seed phrase? is it anyway possible? Commented Sep 9 at 1:34

2 Answers 2

2

Also can I edit the seed phrase wordlists to add my own words to it in any types of BTC wallet?

No. The BIP 39 word list is standardized. The Electrum word list is hard coded. They cannot be modified.

Is there any way of generating seed phrases on my own?

You can implement your own software or find other software that is capable of generating seeds.

How does that work?

A large random number is generated and subsequently encoded into the seed phrase. For BIP 39, that process is specified in the BIP.

I never had the choice to select the 12/24 words.

You do not, and you should not, because choosing your own words is unsafe. The whole of cryptography works by choosing large random numbers such that guessing or brute forcing your specific number is basically impossible. The seed phrase is simply an extension of that, as the initial step is choosing a large random number. Skipping that step is reduction in the security of your private keys as the number is no longer random. No longer being random increases the likelihood of someone else guessing your number and therefore your private keys.

0

Can I choose my own seed phrase? is it anyway possible?

You can choose your own seed phrase, but bear in mind you should consider it unsafe.

There’s a caveat, you’re not free to choose any word for the last word, you only have a subset of the words available to use as the last word (ex: only 8 possible words in a 24-words seed phrase)

What you can do is write 23 words, and than use this python script to find out about the 8 possible candidates for the last word:

https://github.com/veebch/Bip39-Dice

Why is that?

Each BIP39 word represents 11 bits (2^11 = 2048 words in the dictionary)

BIP39 seed phrases encode seeds plus a checksum:

  • 12-words = 128 bits seed + checksum
  • 24-words = 256 bits seed + checksum

The size of the checksum depends on the number of words used.

In a 24-words seed phrase we have 264 bits represented (24*11=264) but we only need 256, so the extra 8 bits are used as checksum for the first 256 bits.

So, the 11 bits representing the last word are bbb + cccccccc where bbb belongs to the seed, while cccccccc are the 8 bits of the checksum. Since cccccccc depends on bbb, everytime you change a bit on the seed, you change the checksum.

Since there are 3 possible bits on bbb, you can choose any of the 8 combinations (2^3 = 8) which will be translated to 8 different words.

Any other word will result in a invalid checksum which means an invalid seed phrase.

As an exercise, I’ll let you find out how many candidate words are on a 12-word seed phrase.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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