SERVER-AIDED MULTI-PARTY PROTOCOLS
First Claim
Patent Images
1. A computer-implemented multi-party computation system, comprising:
- a computational resources component that provides computational resources to parties of secure multi-party communications, the computational resources include functionality sought by the parties for evaluation;
a first party component of the parties that sends one or more first concealed inputs to the computational resources component, and receives a first output derived from the functionality;
a second party component of the parties that sends a second concealed input to the computational resources component, and receives a second output derived from the functionality;
a protocol component via which the parties perform secure communications with the computational resources component to access the functionality, input the first and second concealed inputs to the computational resources component, and receive the first and second outputs from the computational resources component, the protocol component performs secure constant-round communications using garbled circuit technology to prevent the computation resources component from providing input to computation of the functionality and receiving output from the computation of the functionality; and
a processor that executes computer-executable instructions associated with at least one of the computational resources component or the protocol component.
3 Assignments
0 Petitions
Accused Products
Abstract
The disclosed architecture employs techniques that make secure multi-party computation (MPC) practical and scalable. In support of utilizing cloud computing, for example, for evaluating functionality, a third party server can be employed which does not have any input to the computation and does not receive any output from the computation, yet has a vast amount of computational resources. Accordingly, the secure MPC architecture can outsource as much as possible of the computation and communications burden of the parties without the server(s) learning any information about the party inputs.
-
Citations
23 Claims
-
1. A computer-implemented multi-party computation system, comprising:
-
a computational resources component that provides computational resources to parties of secure multi-party communications, the computational resources include functionality sought by the parties for evaluation; a first party component of the parties that sends one or more first concealed inputs to the computational resources component, and receives a first output derived from the functionality; a second party component of the parties that sends a second concealed input to the computational resources component, and receives a second output derived from the functionality; a protocol component via which the parties perform secure communications with the computational resources component to access the functionality, input the first and second concealed inputs to the computational resources component, and receive the first and second outputs from the computational resources component, the protocol component performs secure constant-round communications using garbled circuit technology to prevent the computation resources component from providing input to computation of the functionality and receiving output from the computation of the functionality; and a processor that executes computer-executable instructions associated with at least one of the computational resources component or the protocol component. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented protocol method for secure multi-party computation, comprising acts of:
-
generating a seed based on execution of a cryptographic protocol by multiple parties that include a first party and a second party; generating, by the first party, a garbled circuit, a first concealed input, and a first output table; sending the garbled circuit and first concealed input to a server, the server includes functionality that can be applied over inputs of the multiple parties; generating, by the second party, a second concealed input and a second output table; sending the second concealed input by the second party to the server; evaluating the functionality at the server based on evaluation of garbling of the garbled circuit; returning to the first party a first garbled output and to the second party a second garbled output for recovery of corresponding results by the first and second parties; and utilizing a processor that executes instructions stored in memory to perform at least one of the acts associated with generating, sending, evaluating, or returning. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer-implemented protocol method for secure multi-party computation, comprising acts of:
-
generating a seed based on execution of a cryptographic protocol by multiple parties that include a first party and a second party; generating garbled circuits and first concealed inputs; sending the garbled circuits and first concealed inputs to a server, the server includes functionality that can be applied over inputs of the multiple parties; selecting a subset of the garbled circuits by the server; opening the selected subset of garbled circuits by the first party by sending to the server secrets used to create the selected subset of garbled circuits; verifying correct generation of the opened subset; sending concealed inputs from the first and second parties to the server; evaluating an unselected garbled circuit; returning a first concealed output to the first party and a second concealed output to the second party; and utilizing a processor that executes instructions stored in memory to perform at least one of the acts associated with generating, sending, selecting, opening, verifying, evaluating, or returning. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer-implemented protocol method for secure multi-party computation, comprising acts of:
-
generating a seed based on execution of a cryptographic protocol by multiple parties that include a first party and a second party; generating a first garbled circuit and a first concealed input; sending the first garbled circuit and first concealed input to a server, the server includes functionality that can be applied over inputs of the multiple parties; generating a second garbled circuit and a second concealed input; sending the second garbled circuit and second concealed input to the server; evaluating the garbled circuits at the server; returning to the first party a first garbled output and to the second party a second garbled output; and utilizing a processor that executes instructions stored in memory to perform at least one of the acts associated with generating, sending, evaluating, or returning. - View Dependent Claims (18, 19, 20)
-
-
21. A computer-implemented protocol method for secure multi-party computation, comprising acts of:
-
generating keys at a first party and a second party based on execution of a cryptographic protocol; creating ciphertexts at the first party using multiple keys based on the first and second keys; sending the ciphertexts, permuted in a random order, to a server; decrypting the ciphertexts using one key of the multiple keys; sending the one key to the second party; deriving an output at the second party based on the one key; and utilizing a processor that executes instructions stored in memory to perform at least one of the acts associated with generating, creating, sending, decrypting, or deriving. - View Dependent Claims (22, 23)
-
Specification