Secure computation using a server module
First Claim
1. A computing device comprising:
- one or more processing devices; and
one or more computer-readable memories or storage devices storing instructions which, when executed by the one or more processing devices, configure the one or more processing devices to;
generate a key using a fully homomorphic encryption technique;
generate a modifier factor;
encrypt a first input using the key to obtain a first ciphertext;
send the first ciphertext and the modifier factor to a server that performs a multi-party computation using the first ciphertext, the modifier factor, and a second ciphertext provided by a second computing device to obtain an encrypted output, the use of the modifier factor not revealing the key to the server;
receive the encrypted output from the server; and
decrypt the encrypted output,the use of the modifier factor in the multi-party computation influencing a degree of an underlying polynomial function used to decrypt the encrypted output.
2 Assignments
0 Petitions
Accused Products
Abstract
A server module evaluates a circuit based on concealed inputs provided by respective participant modules, to provide a concealed output. By virtue of this approach, no party to the transaction (including the sever module) discovers any other party'"'"'s non-concealed inputs. In a first implementation, the server module evaluates a garbled Boolean circuit. This implementation also uses a three-way oblivious transfer technique to provide a concealed input from one of the participant modules to the serer module. In a second implementation, the server module evaluates an arithmetic circuit based on ciphertexts that have been produced using a fully homomorphic encryption technique. This implementation modifies multiplication operations that are performed in the evaluation of the arithmetic circuit by a modifier factor; this removes bounds placed on the number of the multiplication operations that can be performed.
37 Citations
20 Claims
-
1. A computing device comprising:
-
one or more processing devices; and one or more computer-readable memories or storage devices storing instructions which, when executed by the one or more processing devices, configure the one or more processing devices to; generate a key using a fully homomorphic encryption technique; generate a modifier factor; encrypt a first input using the key to obtain a first ciphertext; send the first ciphertext and the modifier factor to a server that performs a multi-party computation using the first ciphertext, the modifier factor, and a second ciphertext provided by a second computing device to obtain an encrypted output, the use of the modifier factor not revealing the key to the server; receive the encrypted output from the server; and decrypt the encrypted output, the use of the modifier factor in the multi-party computation influencing a degree of an underlying polynomial function used to decrypt the encrypted output. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computing device comprising:
-
one or more processing devices; and one or more computer-readable memories or storage devices storing instructions which, when executed by the one or more processing devices, configure the one or more processing devices to; generate a key and a modifier factor; encrypt a first input using the key to obtain a first ciphertext; send the first ciphertext and the modifier factor to a server module configured to perform a multi-party computation, the multi-party computation involving an evaluation of an arithmetic circuit on the first ciphertext and a second ciphertext provided by a second computing device, the server module using the modifier factor to perform the multi-party computation without the key being revealed to the server module; receive an encrypted output from the server module; and decrypt the encrypted output using the key to derive a polynomial function and use the polynomial function to obtain a result of the evaluation of the arithmetic circuit, the use of the modifier factor in the multi-party computation affecting a corresponding degree of the polynomial function used to obtain the result. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A method performed by a computing device, the method comprising:
-
generating a key and a modifier factor; concealing a first input using the key to obtain a first ciphertext; sending the first ciphertext and the modifier factor to another computing device that performs a multi-party computation by evaluating an arithmetic circuit using the first ciphertext, a second ciphertext provided by a second computing device, and the modifier factor, the modifier factor not revealing the key to the another computing device; receiving a concealed output from the another computing device; and performing interpolation using the concealed output to derive a polynomial function; and evaluating the polynomial function to obtain a result of the evaluation of the arithmetic circuit, the use of the modifier factor in the multi-party computation influencing a number of samples involved in the interpolation used to derive the polynomial function. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification