Floid said:
If you are using 128 bit encryption, then anything past 16 ascii characters is just wasted typing (each ascii character is represented by an 8 bit value).
I have to disagree with this. In the most theoretical sense it could be true that 16 ascii characters would give 128 bits of entropy, however it relies on two unlikely conditions. First, that the user is using the full 256 character space (including hard to access characters > 128, and unprintable characters < 32). And second, that the user is generating random data. Neither of these conditions are likely to be even close to true. Any good encryption program (or website for that matter) will hash the user's entered password. This means entering additional password entropy will increase key strength until the user enters entropy equal to key length.
Gomar said:
really? Seems 40-50 letter lower case character phrase is more secure than gibberish which is impossible to memorize.
today is tuesday, December6, 2011
is better than
Y3^*K5c:{2!S~O>3v
I shouldn't have used as ambiguous a word as better. In that context I meant better = higher entropy. I agree certainly that the phrase is a much better password from a useability standpoint.
The key to using phrases as passwords is to think of each word as a character in an alphabet that is very large (1000 - 10000). Use more words, use a few uncommon words, use a few non word characters, and you have a pretty good passphrase. An additional concern is if your phrase makes grammatical sense a new attack could arise from an attack that attempted to make grammatical sentences. This will decrease your entropy, but estimating the amount will be very difficult.
My personal password advice would be to take a few random words (from 3 up depending on security desired), ensure that at least 1 is not on common word lists. For added security you can combine your passphrase of memorable words with a random string. You can write the random string down and keep in your wallet. Most people protect their wallet pretty well, and even if someone had access to your wallet they wouldn't know the passphrase portion.
Example:
correct horse battery staple ZAPR2veLwP
You memorize the words, write down the random part, and then combine them as a passphrase. The random part is generated from
here, and the phrase is from
here. This is probably overkill for most things though. You have to weigh the actual loss if someone gains access to the data vs the useability of long passphrases.
One last word of caution. Many sites have truly awful security. Unfortunately, there isn't much you can do to verify security as a user. Some sites will limit passwords to something silly like 8 characters. But on top of that some may even simply discard the excess length without warning the user. This would mean that a nice long passphrase could be turned into a short dictionary word without the user even knowing it. I would hope that today, this isn't done anywhere, but I wouldn't count on it.
Microsoft windows had a somewhat similar flaw in its
password hash that was still present in XP (but was well known and could be turned off).