No, it is not broken.
This is NOT A PROBLEM for PBKDF2-HMAC-SHA1.
The PBKDF2-HMAC-SHA1 function is a key derivation function (password-based key derivation). It is fairly good function, for instance it is recommended by NIST (NIST SP 800-132). It is (relatively) rare for this function to have a collision, but collisions generally are not a problem for key derivation functions (in their proper use).
Instead, collisions are a problem for applications like digital signatures if they are found in the underlying SHA-1 hash function. SHA-1 hash is already considered weak for digital signature etc. and some parties, most notably NIST, are no longer recommending its use for applications where collisions are a problem.
This is just a trick: eBkXQTfuBqp'cTcar&g*
is hash of plnlrtfpijpuhqylxbgqiiyipieyxvfsavzgxbbcfusqkozwpngsyejqlmjsytrmd
. Given a little time, it is easy to find such pairs. This is related to how HMAC works: large arguments are hashed before use.
HMAC-SHA-1 is expected to protect your password less than what you'd expect from 160-bit crypto. If you password is significantly larger than that, good chances are that there are shorter printable passwords which are equivalent.
What happens now?
For PBKDF2-HMAC-SHA1, nothing. For HMAC, nothing. For SHA-1, nothing. Almost nothing happens.
All the users using password plnlrtfpijpuhqylxbgqiiyipieyxvfsavzgxbbcfusqkozwpngsyejqlmjsytrmd
could start using shorter password eBkXQTfuBqp'cTcar&g*
, and the other way around. But, in fact, any passwords that get any kind of publicity (including e.g. that password is the most common or least common $n$ letter password) are recommended to be not used anymore. So thereafter, it is good idea to avoid both of the above passwords (just like there was previously reason to avoid password
, test123
, Tr0ub4dor&3
, etc.).
key
HMAC parameter (rather than themessage
), passwords also collide when they have trailing ASCIINUL
s on the end (ex. "password
", "password\0
", "password\0\0
", etc.). $\endgroup$