US 12,143,466 B2
Interactive bootstrapping for approximate homomorphic encryption
Daniele Micciancio, San Diego, CA (US); Yuriy Polyakov, Fair Lawn, NJ (US); and Vinod Vaikuntanathan, Boston, MA (US)
Assigned to Duality Technologies, Inc., Maplewood, NJ (US)
Filed by Duality Technologies, Inc., Maplewood, NJ (US)
Filed on Oct. 12, 2022, as Appl. No. 17/964,335.
Claims priority of provisional application 63/255,062, filed on Oct. 13, 2021.
Prior Publication US 2023/0112840 A1, Apr. 13, 2023
Int. Cl. H04L 9/00 (2022.01); H04L 9/06 (2006.01); H04L 9/08 (2006.01)
CPC H04L 9/008 (2013.01) [H04L 9/0643 (2013.01); H04L 9/085 (2013.01)] 17 Claims
OG exemplary drawing
 
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.