Secure computation of private values
First Claim
Patent Images
1. A system comprising:
- a hardware-based processing unit toencrypt a private value of a party with a public-key encryption system and a public key to generate an encrypted private value anddecrypt an encrypted blinded result with the public-key encryption system and a private key to generate a blinded result; and
a communication unit tosend the encrypted private value to a further party,receive the encrypted blinded result of a function, the function having as input the private value, andsend the blinded result to the further party, a first private value is a numerical value and the function is a summation function that adds the private value to private values of further parties, a second private value indicating whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties, the communication unit is further to receive an average value generated from the result of the summation function and a result of the counting function, and a third private value is a square of a difference between the numerical value and the average value and the function is the summation function.
2 Assignments
0 Petitions
Accused Products
Abstract
An embodiment may include a system having a communication unit and a processing unit. The communication unit may be configured to receive an encrypted private value of a party, the encrypted private value being generated from a private value with a public-key encryption system and a public key, to send an encrypted blinded result to the party, and to receive a blinded result generated from the encrypted blinded result. The processing unit may be configured to compute a result of a function, the function having as input the private value, to blind the result of the function to generate the encrypted blinded result, and to compute the result by unblinding the blinded result.
-
Citations
26 Claims
-
1. A system comprising:
-
a hardware-based processing unit to encrypt a private value of a party with a public-key encryption system and a public key to generate an encrypted private value and decrypt an encrypted blinded result with the public-key encryption system and a private key to generate a blinded result; and a communication unit to send the encrypted private value to a further party, receive the encrypted blinded result of a function, the function having as input the private value, and send the blinded result to the further party, a first private value is a numerical value and the function is a summation function that adds the private value to private values of further parties, a second private value indicating whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties, the communication unit is further to receive an average value generated from the result of the summation function and a result of the counting function, and a third private value is a square of a difference between the numerical value and the average value and the function is the summation function. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a communication unit to receive an encrypted private value of a party, the encrypted private value being generated from a private value with a public-key encryption system and a public key, send an encrypted blinded result to the party, and receive a blinded result generated from the encrypted blinded result; and a hardware-based processing unit to compute a result of a function, the function having as input the private value, blind the result of the function to generate the encrypted blinded result, and compute the result by unblinding the blinded result, a first private value is a numerical value and the function is a summation function that adds the private value to private values of further parties, a second private value indicating whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties, the processing unit is further to compute an average value generated from the result of the summation function and a result of the counting function and the communication unit is further to send the average value to the party, and a third private value is a square of a difference between the numerical value and the average value and the function is the summation function. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method comprising:
-
encrypting, using a hardware-based processing unit of a first device, a private value of a party with a public-key encryption system and a public key to generate an encrypted private value; sending the encrypted private value to a further party at a second device; receiving an encrypted blinded result of a function, the function having as input the private value; decrypting, the hardware-based processing unit, the encrypted blinded result with the public-key encryption system and a private key to generate a blinded result; and sending the blinded result to the further party, wherein in a first executing operation the private value is a numerical value and the function is a summation function that adds the private value to private values of further parties;
in a second executing operation the private value indicates whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties;
receiving an average value generated from the result of the summation function and a result of the counting function; and
in a third executing operation the private value is a square of a difference between the numerical value and the average value and the function is the summation function. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
receiving an encrypted private value of a party at a device, the encrypted private value generated from a private value with a public-key encryption system and a public key; computing a result of a function, the function having as input the private value; blinding the result of the function to generate an encrypted blinded result; sending the encrypted blinded result to the party; receiving a blinded result generated from the encrypted blinded result; and computing, a hardware-based processing unit, the result of the function by unblinding the blinded result, wherein in a first executing operation the private value is a numerical value and the function is a summation function that adds the private value to private values of further parties;
in a second executing operation the private value indicates whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties;
computing an average value generated from the result of the summation function and a result of the counting function;
sending the average value to the party; and
in a third executing operation the private value is a square of a difference between the numerical value and the average value and the function is the summation function. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A participant system comprising:
means for encrypting a private value of a party with a public-key encryption system and a public key to generate an encrypted private value and for decrypting an encrypted blinded result with the public-key encryption system and a private key to generate a blinded result; and means for sending the encrypted private value to a further party, for receiving the encrypted blinded result of a function, the function having as input the private value, and for sending the blinded result to the further party, a first private value is a numerical value and the function is a summation function that adds the private value to private values of further parties, a second private value indicating whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties, the communication unit is further to receive an average value generated from the result of the summation function and a result of the counting function, and a third private value is a square of a difference between the numerical value and the average value and the function is the summation function.
-
24. A platform provider system comprising:
means for receiving an encrypted private value of a party, the encrypted private value generated from a private value with a public-key encryption system and a public key, for sending an encrypted blinded result to the party, and for receiving a blinded result generated from the encrypted blinded result; and means for computing a result of a function, the function having as input the private value, for blinding the result of the function to generate the encrypted blinded result, and for computing the result by unblinding the blinded result, a first private value is a numerical value and the function is a summation function that adds the private value to private values of further parties, a second private value indicating whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties, the communication unit is further to receive an average value generated from the result of the summation function and a result of the counting function, and a third private value is a square of a difference between the numerical value and the average value and the function is the summation function.
-
25. A non-transitory computer readable medium storing instructions, which when executed by hardware-based processing unit, performs a method comprising:
-
encrypting, using the hardware-based processing unit of a first device a private value of a party with a public-key encryption system and a public key to generate an encrypted private value; sending the encrypted private value to a further party at a second device; receiving an encrypted blinded result of a function, the function having as input the private value; decrypting, using the hardware-based processing unit, the encrypted blinded result with the public-key encryption system and a private key to generate a blinded result; and sending the blinded result to the further party, wherein in a first executing operation the private value is a numerical value and the function is a summation function that adds the private value to private values of further parties;
in a second executing operation the private value indicates whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties;
receiving an average value generated from the result of the summation function and a result of the counting function; and
in a third executing operation the private value is a square of a difference between the numerical value and the average value and the function is the summation function.
-
-
26. A non-transitory computer readable medium storing instructions, which when executed by a hardware-based processing unit, performs a method comprising:
receiving an encrypted private value of a party at a device, the encrypted private value generated from a private value with a public-key encryption system and a public key; computing a result of a function, the function having as input the private value; blinding the result of the function to generate an encrypted blinded result; sending the encrypted blinded result to the party; receiving a blinded result generated from the encrypted blinded result; and computing, using the hardware-based processing unit, the result of the function by unblinding the blinded result, wherein in a first executing operation the private value is a numerical value and the function is a summation function that adds the private value to private values of further parties;
in a second executing operation the private value indicates whether the party contributes to a result of the summation function and the function is a counting function that counts contributions from the party and the further parties to generate a total number of contributing parties;
computing an average value generated from the result of the summation function and a result of the counting function;
sending the average value to the party; and
in a third executing operation the private value is a square of a difference between the numerical value and the average value and the function is the summation function.
Specification