Patent ID: 6952769

Claim:
A method for communication between two entities in a set of clients across a network such that their identities are concealed from each other comprising the steps of: providing a set of Forwarding Agents (FAs), there being n FAs and a plurality of groups of these n agents, each of which consists of a plurality of k members, where k is a fixed number considered sufficient to provide anonymity in the system and each FA belongs to at least one group; providing each of the FAs with its own pair of public and private keys for encryption and decryption, respectively, where the underlying cryptosystem scheme is a commutative public key cryptosystem, each FA also having appropriate keys required to perform secure digital signatures on documents and to verify the signatures of other FAs; registering each client with a Forwarding Agent S, the client once having selected a Forwarding Agent S, and picking one of the groups that the Forwarding Agent S belongs to, thus selecting k agents to be associated with the client, the step of registering including assigning a pseudonym X to the client and providing the Forwarding Agent S with an encrypted form of the client's network address, the encrypted form being created by successively encrypting by the client the client's network address with the public keys of the k selected agents to obtain an encrypted address thereby rendering the network address unreadable to any individual FA; maintaining by each FA a table with three fields, a pseudonym, a corresponding encrypted network address and the FA group to be used for forwarding; delivering a message meant for a pseudonym X to Forwarding Agent (FA) S where X is registered using a protocol that protects the anonymity of the sender; and passing the message through a random sequence of FAs in the group to which Forwarding Agent S belongs until a FA in the group finds a visible network address and then sending the message on to this address.