Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Passphrases normally contain more data then passwords and can provide more entro

ID: 658714 • Letter: P

Question

Passphrases normally contain more data then passwords and can provide more entropy. It seems like it would still be hard to brute force a passphrase w/o using PBKDF2, assuming a user didn't select a famous quote, movie line, etc... I define a passphrase in this example as at least 22 characters.

For example, if a user used a DiceWare generated passphrase of 6 words from a 10,000 word dictionary, we would get 10,000^6 number of possible phrases.

If a super computer could do 33.6 X 10^15 operations per second and it took 2,000 operations(w/o PBKDF2) to try 1 guess it would take (10,000^6)/((33.6 X 10^15)/2,000) or about 1887 years to brute force in the worst case.

Does this and the above example make sense? Thank you very much!

Explanation / Answer

What you're saying here is that there are passphrases which have large entropy. This doesn't prove anything. There are shorter passwords with large entropy. Length doesn't correlate so much with entropy when it's a human doing the choosing.

(Note: I'll use password and passphrase interchangeably from now on, because there is no difference between the two, technically speaking. A passphrase is a password that happens to consist of several words in a human language concatenated together.)

Entropy of a password made of 8 printable ASCII characters: 52 bits
Entropy of a password made of 4 Diceware words: 51 bits
(For uniformly random selections. The Diceware list consists of exactly 7776 words.)

The more randomness goes into a password, the harder it is for a human to memorize. If you use a slow hashing function rather than a fast one, you reduce the entropy that a password needs to have to escape cracking. It's a trade-off between spending more CPU time and requiring humans to memorize more.

Given that even decent passwords strain the capabilities of humans to memorize (and keep in mind that most people have tens if not hundreds of passwords), the choice is clear: you must provide them as slow a password hashing function as possible.