I’ve been getting a lot of comments from all over the place asking, or even telling me, that using words in passwords is bad.
The typical answer they tell me is that words in passwords are vulnerable to dictionary attacks.
There is so much to unpack here, but in general, it’s okay to use dictionary words in your passwords if done right.
Many people misunderstand what a dictionary attack is, and it doesn’t help that a lot of bad advice has been given throughout the years that not only make people less secure but complicates things even more.
What Do They Mean When They Say To Not Use Dictionary Words?
It’s okay to use dictionary words in your passwords or passphrases, so long as it’s done right.
When they say not to use a dictionary word, they mean you can’t use just one dictionary word or other common and simple passwords. So for example, don’t use…
Or any variation…
Using single words, common passwords, and simple substitutions is what they mean when saying to watch out for a dictionary attack.
A dictionary attack is when they try to guess your password from a list of already known passwords, such as single words from an actual dictionary to already cracked passwords. For example, “princess”, “Password123”, “123456”, “qwerty”, “iloveyou”, and other common passwords would be in the dictionary list that the attacker will use to guess your passwords; you need to avoid such passwords.
What is okay to use is multiple randomly generated words. Multiple random words is a passphrase and it’s one of the best passwords you can use.
The more important the thing you want to protect the more words you should use. A security question, 2 or 3 random words. A master password to a password manager, 4 or 5 words. Throw in a random number and that makes for a great password, for example, Bitwarden generates passwords like “groom3-espresso-harbor” which is more than fine for a Netflix password and easy to enter on a TV remote too!
Why Random Passphrases Make Good Passwords
There are several reasons why passphrases are the best kind of password.
- They’re easy to type.
- They’re easier to remember than some gibberish.
- Less likely to make a mistake with them.
- They’re naturally long.
People suck at making passwords and often use the 1,000 most common words and passwords or, even worse, use a child or pet’s name for a password. This is why people say not to use dictionary words; people pick simple things, so it’s easier to tell them not to use any dictionary word. But this only makes people more confused and compounds more lousy advice.
Passphrase generators pick from a much larger pool of words and do so more randomly. So with a passphrase generator making the password for you, it means you have a much stronger password that is also easier to remember, type, and use.
How Strong Are Random Multi-Word Passphrases?
To give you an example of how strong a random passphrase can be, the passphrase…
Is just as strong as…
But “lazy-cube-finicky-gnat” is far easier to remember, and if it were just a pure-brute force guessing attack, it would also take much longer to crack the “lazy-cube-finicky-gnat” than it would “oP?45Zs24”.
Both passwords are about 51 bits of entropy (higher is better), but one is far easier to deal with than the other. To give you an idea, the password “Y3llowD0g!Love$” is only 35 bits of entropy and most people’s passwords are far weaker than that.
How The Password Is Stored Matters Too
How passwords or passphrases are stored matters, especially when it comes to password managers.
Most password managers will hash your master password multiple times to strengthen it. Hashing is a way to store your password without knowing it; think of it as using a blender; if you put in the same ingredients and blend for the same time every time, you get the same results. You can extend that blending time so much that it makes it very time-consuming for an attacker to guess your ingredients or password.
To give you an example, the passphrase “lazy-cube-finicky-gnat” would cost about $2.5 million when hashed 100k times.
If that passphrase was only hashed once instead of 100k times, it would cost about $25 to crack.
You can see that iterating the password multiple times is a great way to slow down an attacker without it costing you, the user, anything noticeable.
Going to 1 million iterations would cost $25,537,980, but if you added just one more word and kept it at 100k iterations, it would cost $19,858,326,783. So increasing the iterations makes it linear harder to crack but adding one more word makes it exponentially harder.
Cryptocurrencies Use Words
Another reason why using random words in passphrases is okay is that cryptocurrencies use them for their seed phrases.
A seed phrase is 12 or 24 random words that make up the random private key that is used to create all your coins on the blockchain. Think of it as a seed, you plant the same exact seed, and you will grow the same tree with the same branches, with those branches being each of your coins.
A 12-word crypto phrase would look like…
local mansion right mouse simple weird general grunt course utility soul guide
What’s interesting about the cryptocurrency seed phrases is that the word list they use only consists of 2,048 words instead of Bitwarden’s 7,776 or 1Password’s 18,000. They like using shorter and easier words, so there are fewer of them, but at 12 words and one iteration, it would cost about $38,029,518,006,846,883,000,000,000 to crack, so you’re still safe.
If using words in a password were bad, then the whole cryptocurrency world would not use them to store all their money.
We’re talking trillions of dollars relying on 12 or 24 random words. The problem isn’t that you use words but how many of them you use and who picked them.
Why Randomness Is More Important Than Length
Another misconception people have is that length is the most important factor.
Length is very important, but simply making an easy password like “Fluffy” into “Fluffy123” doesn’t mean it’s that much better. It is longer and does have more entropy, but the entropy added is not much.
Using zxcvbn to calculate the entropy (higher is better), the password “Fluffy” gets 9.63bits while “Fluffy123” gets 13.21 bits.
Also, computers are getting smarter and now can piece together words that relate to each other very well using Markov chains. This video is long but does a great job explaining that longer passwords are not as important as random passwords.
What matters the most is that you don’t pick your passwords and use a password generator instead. This is easy to do with a password manager. As for passwords you’ll need to manually type in, use passphrases like “lazy-cube-finicky-gnat” we talked about earlier.
Of course, don’t use any passwords or passphrases I used in this article.