His encryption password was supposedly greater than 20 characters and included a mixture of cases, numbers, and punctuation
Unfortunately it's not really practical to ask a user to type in 128 bits of binary every time they want to unlock their drive
The user had ~128 bits of entropy. The alphabet they were using consists of 72 characters (26 lower case, 26 upper case, 10 numbers, 10 special characters). Their password length was at least 20. This comes out to log(72**20, 2) = 123 bits of entropy. This much entropy is uncrackable. Unless there is a weakness in AES. The entropy is so high that no key derivation function is needed at all. Key derivation functions are useful to improve weak passwords, not strong ones.
If the password was cracked then it was much weaker than the user claimed (maybe unknowingly). Maybe their password was not very random. Or it was not cracked at all and they got the password through other means.
(The recommendation to upgrade the key derivation function is still good.)
no subject
Something in your analysis doesn't add up.
The user had ~128 bits of entropy. The alphabet they were using consists of 72 characters (26 lower case, 26 upper case, 10 numbers, 10 special characters). Their password length was at least 20. This comes out to
log(72**20, 2) = 123
bits of entropy. This much entropy is uncrackable. Unless there is a weakness in AES. The entropy is so high that no key derivation function is needed at all. Key derivation functions are useful to improve weak passwords, not strong ones.If the password was cracked then it was much weaker than the user claimed (maybe unknowingly). Maybe their password was not very random. Or it was not cracked at all and they got the password through other means.
(The recommendation to upgrade the key derivation function is still good.)