Secure Remote Password protocol (SRP) is an industry-standard protocol for password-based authentication and key exchange. Like our rudimentary scheme, the password never has to leave the client. It is able to securely authenticate a user even in the following situations:
- Attackers have complete knowledge of the protocol
- Attackers have access to a large dictionary of commonly used passwords
- Attackers can eavesdrop on all communications between client and server
- Attackers can intercept, modify, and forge arbitrary messages between client and server
- A mutually trusted third party is not available
This list was extracted from SRP's official website (srp.stanford.edu/whatisit.html)
SRP is used by Amazon Web Services (AWS) and Apple's iCloud, among others. So if security is something that interests you, I'd recommend doing some reading on SRP!