Isnt Secure Remote Password Protocol (SRP) pretty much client side hashing? Argon2 the winner of the PHC also allows for client side hashing. How do these systems avoid the plaintext equivalence problem?
Several questions/answers poo poo this
- Client side password hashing
- Should I obfuscate passwords before hashing? Should I pre-hash them on the client? What about salts?
- https security - should password be hashed server-side or client-side?
I largely agree with these answers, but if there are major implementatoins going down this road, how are they avoiding this problem?
Argon2 - "Argon2 allows the server to carry out the majority of computational burden on the client in case of denial-of-service attacks or other situations. The server ultimately receives a short intermediate value, which undergoes a preimageresistant function to produce the final tag."
https://eprint.iacr.org/2015/387.pdf (unnamed method) - "For now ignore the issue of the salt coming from the server to the client and consider how this solution satisfies the requirements above"
SRP uses something like Diffie–Hellman to avoid the problem
Both #1 (Argon2) and #2 (the unnamed pdf method) seem to suffer from pass the hash don't they?