Secure communication protocols are disclosed in which two parties generate
a shared secret which may be used as a secure session key for communication between
the parties. The protocols are based on Diffie-Hellman type key exchange in which
a Diffie-Hellman value is combined with a function of at least a password using
the group operation such that the Diffie-Hellman value may be extracted by the
other party using the inverse group operation and knowledge of the password. In
one embodiment, each of the parties explicitly authenticates the other party, while
in another embodiment, the parties utilize implicit authentication relying on the
generation of an appropriate secret session key to provide the implicit authentication.
Typically, the parties will be a client computer and a server computer. In accordance
with other embodiments of the invention, in order to protect against a security
compromise at the server, the server is not in possession of the password, but
instead is provided with, and stores, a so-called password verifier which is a
function of the password and where the password itself cannot be determined from
the value of the password verifier.