Is there an entropy rule that prevents this particular combination? e.g. it's not random enough?

Or is this just a bug on this generator tool I'm using: https://iancoleman.io/bip39/#english

  • nevermind i figured it out. final word needs to be checksum. – Nicole Zhu Jan 12 '20 at 12:20
  • To nitpick your comment: each word encodes 11 bits of entropy. In the context of your question (3 word phrase), the checksum would only contribute 1 bit, not the 'whole last word' (which encodes 11 bits in total). – chytrik Jan 12 '20 at 23:06

When generating a BIP39 mnemonic seed phrase, the user will first want to generate an entropic value ENT (as referenced in the BIP39 docs), which will be used to generate the mnemonic.

Note that it is very important that ENT be of suitably high entropy, or else the resulting mnemonic phrase will be insecure against brute force attacks. Choosing your own words is similarly insecure - always start with a proper source of ENT, and then derive the words from it.

Next, we take the SHA256 hash of ENT, and then concatenate the first ENT/32 bits of the result to the end of ENT. This works as a checksum on the mnemonic.

Once this is done, we split the result into groups of 11 bits, and encode each 11-bit group into a word, using the BIP-39 word list.

With your example, a 3-word phrase would encode 32 bits of entropy:

32 bits + (32/32) bit checksum = 33 bits 33 bits / (11 bits/word) = 3 words

This amount of entropy is extremely insecure against brute force attacks, if you store funds at a wallet generated from this mnemonic seed, you should expect them to be stolen. It is generally recommended to use at least 128 bits of entropy (12 words), with 256 bits (24 words) being a common standard.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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