I often see discussions about password/passphrase entropy, but relying on entropy alone might not be the best approach.
For the purpose of this discussion, let’s consider randomly generated passphrases using the Diceware method (based on a 7776-word list) as the master password for Bitwarden.
Since everyone has their own threat model, the answer to what constitutes “enough” security is subjective. However, I’m curious about the minimum number of words required to ensure a certain level of “economic” safety.
Thanks to 1Password’s 2018 research (How Strong Should your Account Password be? | 1Password), we now have tools that estimate the cost of cracking a passphrase, which is more practical than just predicting the time required.
A great tool based on this research is the Password Bits passphrase cracking calculator (Passphrase Cracking Calculator - Password Bits).
Bitwarden uses Argon2id as its Key Derivation Function (KDF) with the following default settings (to the best of my knowledge): 64MB memory, 4 threads of parallelism, and 3 iterations. Based on these settings, here are the results:
- 3-word passphrase:
- Entropy: 38.8 bits
- Estimated cost to crack: $7,848 USD
- 4-word passphrase:
- Entropy: 51.7 bits
- Estimated cost to crack: $61,291,152 USD
- 5-word passphrase:
- Entropy: 64.6 bits
- Estimated cost to crack: $476,599,842,792 USD
- 6-word passphrase:
- Entropy: 77.5 bits
- Estimated cost to crack: $3,706,040,377,703,664 USD
Based on these numbers, even if your secrets are worth millions of dollars, a 4-word Diceware-generated passphrase should offer more than enough protection.
However, 1Password’s research is from late 2018, and hardware capabilities have improved since then. To get a more modern perspective, I asked ChatGPT to estimate cracking costs with current hardware. Here are the updated estimates:
- 3-word passphrase:
- Entropy: 38.8 bits
- Cost to crack: $3,152.84–$5,254.73 (high-end GPU vs. ASICs)
- 4-word passphrase:
- Entropy: 51.7 bits
- Cost to crack: $24,516,452.82–$40,860,754.70
- 5-word passphrase:
- Entropy: 64.6 bits
- Cost to crack: $190,639,937,124.68–$317,733,228,541.13
- 6-word passphrase:
- Entropy: 77.5 bits
- Cost to crack: $1,482,416,151,081,473.20–$2,470,693,585,135,789.00
Now, I’m not an expert in cryptography and haven’t done extensive research on current cracking estimates, so I wouldn’t blindly trust these numbers. However, it seems reasonable that even with modern hardware, a 4-word passphrase (again, randomly generated using Diceware) remains secure for most purposes.
Any thoughts on this? Am I missing something? I’d also appreciate any up-to-date links or sources for cracking cost estimates for both “regular” and “hashed” passphrases.
Thanks!
EDIT 11/24/24
ChatGPT estimates (and maths) is wrong, please don’t trust these numbers