| CPC H04L 9/008 (2013.01) [H04L 9/0643 (2013.01); H04L 9/085 (2013.01)] | 17 Claims |

|
1. A computer implemented method for distributing bootstrapping in homomorphic encryption schemes, the method comprising:
splitting, by a server, a decryption key into a plurality of n shares, where n is an integer;
transmitting, by the server, to each of a plurality of n computer processors:
(i) a ciphertext, wherein the ciphertext is encrypted using homomorphic encryption;
(ii) a unique share of the plurality of n shares of the decryption key; and
(iii) an indication of a publicly available encryption key;
receiving, by the server, from each of the plurality of n computer processors, n encrypted values,
wherein each of the n encrypted values is a re-encryption of a decryption of the ciphertext, the re-encryption performed by each of the plurality of n computer processors using the publicly available encryption key, and the decryption of the ciphertext performed by each of the plurality of n computer processors using the unique share of the plurality of n shares of the decryption key transmitted to each of the plurality of n computer processors; and
computing, by the server, a homomorphic sum of the n encrypted values to obtain an encryption of the sum of n decrypted values, such that a bootstrapping of the encryption is distributed,
wherein the ciphertext is decrypted by each of the plurality of n computer processors using the unique share of the plurality of n shares of the decryption key transmitted to the plurality of n computer processors, and a modulus, wherein the modulus is different for each of the plurality of n computer processors.
|