Post
Topic
Board Beginners & Help
Re: Stop the "correct horse battery staple" debacle.
by
DeathAndTaxes
on 09/04/2014, 17:51:12 UTC
I see. Thanks for your help.

No problem.  Entropy (and randomness in general) is a hard thing for most people to grasp so if you get it, you are already ahead of the pack.  The entropy of truly random passwords is just a straightforward equation.  For human chosen passwords it gets a lot fuzzier.  Honestly humans are so bad at choosing strong passwords, most methods for estimating them are probably too optimistic.  Most human passwords can be easily broken unless per record salt and key stretching is used.  The bad news for users of a website for example is you have no idea how the site is storing passwords.  MtGox for example stored passwords using MD5 hash and no per record salt.  This site IIRC uses SHA-256 but doesn't employ any key stretching.  If users had a strong assurance how the password was used they could actually use shorter random passwords with confidence.  Also if the password is already compromised (and there are dictionaries of tens of millions of previously compromised passwords) the entropy is essentially zero.

Quote
I now finally understand why Electrum seed is just 128 bits when it has 12 words, it is simply because log1626/log 2*12 = 128.005
A seed is encoded with 12 words from a 1626 words dictionary.

I am not sure why 12 words from 1,626 was chosen but I am sure there is a reason.  At first glance it would seem a larger wordlist could have easily been used.

Code:
Wordlist  Words for 128bit  Notes
     1,626     12            "Special English" word lists for those learning English ~1,500 words (i.e. Voice of America word list)
     3,184     11            The average vocbulary for a non-native speaker is ~4,500 words
     7,132     10            A good subset of common vocabulary without too many overly complex words
    19,113      9            The average adult US native speaker has a vocabulary of ~20,000 words  (although a much smaller portion is used daily)
    65,536      8            Oxford English Dictionary (full 20 volume set) has 171,476
   319,558      7            Google books project has indexed ~1 million unique non-scientific words
 2,642,246      6     Beyond the limit of any single dictionary list. Including all unique record English words the upper limit is closer to 5M+ words.
50,859,009      5            I am taking a guess here but this is probably beyond the limit of all unique combinations of latin letters ever used in all languages on the planet.

So 12 words is probably using a shorter list than necessary but it only adds one or two words to the length of the key.
11 or 10 words is a good starting point if someone was developing a new system (could take out the ~600 least common words from diceware).
9 words might be possible but with 19,113 words needed you are looking at ~200KB in storage and probably going to need some less commonly known words.
8 or less is probably a poor design choice as to save one or two words you end up needing to use a dictionary with less common words like "jargogle" or "apricity".



The english language has grown significantly in the last century.