System and method for multivalue packing scheme for homomorphic encryption
System and method for multivalue packing scheme for homomorphic encryption
 CN 109,905,227 B
 Filed: 11/10/2015
 Issued: 10/01/2021
 Est. Priority Date: 01/06/2015
 Status: Active Grant
First Claim
1. A computerimplemented method of performing homomorphic encryption to generate a sum, the method comprising:
 at the location of the server,the server generating a plurality of encrypted payloads, each having a plurality of data values,the server locates the data value of each of the encrypted payloads at a lower half of each of the encrypted payloads,the server keeping an upper half of each of the encrypted payloads empty, and providing each of the encrypted payloads with a plurality of first keys associated with a first type value and having the plurality of data values, each of the first keys being associated with a corresponding one of the data values within each of the encrypted payloads, and the plurality of first keys associated with the first type value being configured to match a plurality of second keys associated with a second type value to define an intersection, andbased on the request, the server decrypts a blinding product associated with an intersection between the plurality of first keys and the plurality of second keys, the blinding product comprising;
a product of one or more data values of one of the encrypted payloads included in the intersection multiplied by one or more other data values of one or more other of the encrypted payloads included in the intersection.
Chinese PRB Reexamination
Abstract
Systems and methods are described for a multivalue packing scheme for homomorphic encryption, including at a server, generating a plurality of encrypted payloads, each of the encrypted payloads having a plurality of data values, receiving, at a client, each of the plurality of encrypted payloads having the plurality of data values, and multiplying one or more data values of one of the encrypted payloads by one or more other data values of one or more other encrypted payloads to generate a product representing a sum of the multiplied data values corresponding to the multiplied one or more data values of the encrypted payload and the one or more other data values of the one or more other encrypted payloads.
9 Claims

1. A computerimplemented method of performing homomorphic encryption to generate a sum, the method comprising:

at the location of the server, the server generating a plurality of encrypted payloads, each having a plurality of data values, the server locates the data value of each of the encrypted payloads at a lower half of each of the encrypted payloads, the server keeping an upper half of each of the encrypted payloads empty, and providing each of the encrypted payloads with a plurality of first keys associated with a first type value and having the plurality of data values, each of the first keys being associated with a corresponding one of the data values within each of the encrypted payloads, and the plurality of first keys associated with the first type value being configured to match a plurality of second keys associated with a second type value to define an intersection, and based on the request, the server decrypts a blinding product associated with an intersection between the plurality of first keys and the plurality of second keys, the blinding product comprising;
a product of one or more data values of one of the encrypted payloads included in the intersection multiplied by one or more other data values of one or more other of the encrypted payloads included in the intersection.


2. The computerimplemented method of claim 1, wherein the product is generated by multiplying the one or more of the data values of each of the encrypted payloads included in the intersection with the one or more other data values of the one or more other encrypted payloads included in the intersection.

3. The computerimplemented method of claim 1, wherein the generating comprises:
 at the server, packaging in a data value before encrypting each of the encrypted payloads such that the data value does not cover the most significant bits of each of the encrypted payloads.

4. The computerimplemented method of claim 1, wherein the data value of each of the encrypted payloads is packed prior to encrypting the each of the encrypted payloads such that the data value does not cover the most significant bits of each of the encrypted payloads.

5. A nontransitory computerreadable medium having executable instructions for performing homomorphic encryption to generate a sum, the nontransitory computerreadable medium comprising a processor and a memory, the instructions comprising:

generating a plurality of encrypted payloads each having a plurality of data values, wherein the data values of each of the encrypted payloads are positioned in a lower half of each of the encrypted payloads and an upper half of each of the encrypted payloads remains empty, providing each of the encrypted payloads with a plurality of data values and a plurality of first keys associated with a first type of value, each of the first keys being associated with a corresponding one of the data values within each of the encrypted payloads, and the plurality of first keys associated with the first type of value being configured to match a plurality of second keys associated with a second type of value to define an intersection, and decrypting, based on a request, a blind product associated with an intersection between the plurality of first keys and the plurality of second keys, the blind product comprising;
a product of one or more data values of one of the encrypted payloads included in the intersection multiplied by one or more other data values of one or more other of the encrypted payloads included in the intersection.


6. The nontransitory computerreadable medium of claim 5, wherein the product is generated by multiplying the one or more of the data values of each of the encrypted payloads included in the intersection with the one or more other data values of the one or more other encrypted payloads included in the intersection.

7. The nontransitory computerreadable medium of claim 5, wherein the generating comprises:
 at the server, packaging in the data value before encrypting each of the encrypted payloads such that the data value does not cover the most significant bits of each of the encrypted payloads.

8. The nontransitory computerreadable medium of claim 5, wherein the data value of each of the encrypted payloads is packed prior to encrypting it such that it does not cover the most significant bits of each of the encrypted payloads.

9. A computerimplemented method of performing homomorphic encryption to generate a sum, the method comprising:

at the location of the server, the server generating a plurality of encrypted payloads each having a plurality of data values, wherein the data values of each of the encrypted payloads are packaged before encryption thereof such that they do not cover the most significant bits of each of the encrypted payloads and are positioned in a lower half of each of the encrypted payloads and an upper half of each of the encrypted payloads remains empty, wherein the server provides each of the encrypted payloads having a plurality of first keys associated with a first type value and a corresponding one of the data values within each of the encrypted payloads, and wherein the plurality of first keys associated with the first type value are configured to be associated with a second type value A plurality of second keys are matched to define an intersection, an Based on the request, the server decrypts a blinding product associated with the intersection, the blinding product comprising;
a product of multiplying one or more data values of one of the encrypted payloads included in the intersection with one or more other data values of one or more other of the encrypted payloads included in the intersection, wherein generating the product by multiplying comprises multiplying the one or more data values of each of the encrypted payloads included in the intersection with the one or more other data values of the one or more other of the encrypted payloads included in the intersection.

Specification(s)