Patent ID: 7764795

Claim:
A method for using a password-derived prime number to facilitate a secure key exchange between a client and a server across a network, comprising: receiving a password from a user at the client; receiving a SALT from the server, wherein the SALT comprises a random number used as an input to a key derivation function; deriving a prime number P from the password and the SALT by performing a search for a first “strong” prime number following an initial candidate prime number C 0 wherein C 0 =ƒ(password), and wherein a prime number P is a “strong” prime number when P−1 has at least one large prime factor; using the prime number P to determine a generator g associated with P; calculating X=g x mod P, wherein x is a random number generated by the client; sending X to the server; receiving Y=g y mod P from the server, wherein y is a random number generated by the server; and computing a secret key K s =Y x mod P at the client, which the server similarly obtains by computing K s =X y mod P, thereby allowing the client and the server to both obtain the same secret key K s through insecure communications over the network.