Patent ID: 8856531

Claim:
A method of securely establishing an encryption key shared among members of a set of servers on a network, the set of servers including at least three servers, the method comprising, at a first server of the set of servers: computing a one-way function of a private key, a, uniquely associated with the first server, and a base element, Z, yielding a first public key, A, uniquely associated with the first server, as the result of this one-way function computation; broadcasting a signal to the network, the signal requesting all servers of the set of servers, excluding the first server, to respond with identifying information; receiving the identifying information from all servers of the set of servers, excluding the first server; creating an ordered list of the identifying information of the set of servers, identifying information of the first server being at the beginning of the ordered list; sending the ordered list and A to a second server of the set of servers, the second server being a server identified by the identifying information immediately following the first server's identifying information on the ordered list; receiving, from a last server identified by the last identifying information of the ordered list, a set of one-way function results calculated by the last server based on information received from servers of the set of servers; computing the one-way function of a and a last one-way function result of the received set of one-way function results, yielding a shared secret; and deriving the encryption key from the shared secret.