Comparing passwords, tokens, and biometrics for user authentication
Encrypted key exchange: password-based protocols secure against dictionary attacks