Exchanging a secret over an unreliable network
AssigneeBay Networks, Inc.
InventorThomas P. Hardjono
Life of this patent
Estimating the term…
Abstract
Threshold cryptography (secret sharing) is used for exchanging a secret between a server and a client over an unreliable network. Specifically, a secret is computationally divided into N shares using a threshold encryption scheme such that any M of the shares (M less than or equal to N) can be used to reconstruct the secret. The N shares are spread over a number of transmitted messages, with the assumption that some number of the messages including a total of at least M shares will be received by the client. Upon receiving at least M shares, the client uses the at least M shares to reconstruct the secret using the threshold encryption scheme.
Claims42
A method for transmitting a secret to a client over an unreliable communication network, the method comprising the steps of:
- dividing the secret into a predetermined number N shares using a threshold encryption scheme such that at least a predetermined minimum number M shares, but no more than the predetermined number N shares, are needed to reconstruct the secret using the threshold encryption scheme;
- and
- transmitting to the client a plurality of messages including at least one share in each of said plurality of messages.
An apparatus for transmitting a secret to a client over an unreliable communication network, the apparatus comprising:
- a threshold encryptor operably coupled to divide the secret into a predetermined number N shares using a predetermined threshold encryption scheme such that at least a predetermined minimum number M shares, but no more than the predetermined number N shares, are needed to reconstruct the secret using the threshold encryption scheme;
- and
- transmitting logic operably coupled to transmit a plurality of messages to the client including at least one share in each of said plurality of messages.
A program product comprising a computer readable medium having embodied therein a computer readable program for transmitting a secret to a client over an unreliable communication network, the computer readable program comprising:
- threshold encryption logic programmed to divide the secret into a predetermined number N shares using a predetermined threshold encryption scheme such that at least a predetermined minimum number M shares, but no more than the predetermined number N shares, are needed to reconstruct the secret using the threshold encryption scheme;
- and
- transmitting logic programmed to transmit a plurality of messages to the client including at least one share in each of said plurality of messages.
A method for receiving a secret over an unreliable communication network, the method comprising the steps of:
- receiving a plurality of messages including in each message at least one share of the secret generated by a threshold encryption scheme;
- and
- reconstructing the secret using at least a predetermined minimum number M shares.
An apparatus for receiving a secret encryption key over an unreliable communication network, the apparatus comprising:
- receiving logic operably coupled to receive a plurality of messages including in each message at least one share of the secret generated by a threshold encryption scheme;
- and
- a threshold decryptor operably coupled to reconstruct the secret using at least a predetermined minimum number M shares.
A program product comprising a computer readable medium having embodied therein a computer readable program for receiving a secret over an unreliable communication network, the computer readable program comprising:
- receiving logic programmed to receive a plurality of messages including in each message at least one share of the secret generated by a threshold encryption scheme;
- and
- threshold decryption logic programmed to reconstruct the secret using at least a predetermined minimum number M shares.
A method of exchanging a secret between a server and a client over an unreliable communication network, the method comprising the steps of:
- dividing, by the server, the secret into a predetermined number N shares using a threshold encryption scheme such that at least a predetermined minimum number M shares, but no more than the predetermined number N shares, are needed to reconstruct the secret using the threshold encryption scheme;
- transmitting, by the server to the client, a first number of messages including at least one share in each of said first number of messages;
- receiving, by the client, a second number of messages including at least one share in each of said second number of messages;
- and
- reconstructing, by the client, the secret using at least a predetermined minimum number M shares.
A system for exchanging a secret over an unreliable communication network, the system comprising a server in communication with at least one client over the unreliable communication network, wherein:
- the server is operably coupled to divide the secret into a predetermined number N shares using a threshold encryption scheme such that at least a predetermined minimum number M shares, but no more than the predetermined number N shares, are needed to reconstruct the secret using the threshold encryption scheme and transmit a first number of messages to the client including at least one share in each of said first number of messages;
- and
- the client is operably coupled to receive a second number of messages including at least one share in each of said second number of messages and reconstruct the secret using at least a predetermined minimum number M shares.
Dependencies are inferred from the claim text.