Patent ID: 7853794

Claim:
A computer network, comprising: a client and a server connected by a network connection, wherein the client has a userid and a password associated with the client; wherein the client requests access to the server by sending a first set of values to the server, wherein the first set of values includes the user id, a client-generated random value, a large prime number, a primitive root of the large prime number, and the primitive root raised to a power of a first large random integer, wherein the first large random integer is less than the large prime number minus one; wherein the server responds to the client by generating a one-time challenge token that depends at least on a server-generated random value and sending the challenge token to the client, wherein the server generates the challenge token by exclusive-oring the server-generated random value with a first hash, and wherein the first hash is a hash of the primitive root of the large prime number raised to a power of a second integer, a digest of the client's userid and password, and the client-generated random value; wherein the client retrieves the server-generated random value from the challenge token and sends the server-generated random value and the userid to the server; and wherein the server verifies the received server-generated random value from the client is correct, and if so, the server generates a one-time authentication token and sends the one-time authentication token to the client, giving the client permission to access the server.