Patent ID: 7694335

Claim:
A method in a server device including a computer readable storage medium and configured for receiving a request from a client, the method comprising: generating by the server device, in response to the request, a computational request and a secure cookie, by: (1) selecting a first random number having a prescribed length in bits, a second length in bits corresponding to a difficulty level for the computational request, and a second random number having the second length, (2) generating a first hash result having the prescribed length and based on supplying the first random number and the second random number to a hash generator in the server device for generation of the first hash result according to a prescribed hash function, the computational request specifying the first hash result, the first random number, and a length value specifying the second length, and (3) generating the secure cookie based on generating a second hash result, the second hash result generated based on supplying the first hash result and a prescribed secure key to the hash generator for generation of the second hash result according to the prescribed hash function, the prescribed secure key known only by the server device, the secure cookie containing the second hash result; and outputting by the server device to the client a challenge that includes the computational request and the secure cookie, the challenge requiring the client to determine the second random number and return a client response specifying the first random number, the second random number, the first hash result, and the secure cookie, as a condition precedent to the server device performing work for the client.