US 12,170,718 B2
Large-precision homomorphic comparison using bootstrapping
Daniele Micciancio, San Diego, CA (US); Yuriy Polyakov, Fair Lawn, NJ (US); and Zeyu Liu, Long Island City, NY (US)
Assigned to Duality Technologies, Inc., Maplewood, NJ (US)
Filed by Duality Technologies, Inc., Maplewood, NJ (US)
Filed on Oct. 3, 2022, as Appl. No. 17/958,590.
Claims priority of provisional application 63/251,276, filed on Oct. 1, 2021.
Prior Publication US 2023/0119749 A1, Apr. 20, 2023
Int. Cl. H04L 9/00 (2022.01); H04L 9/06 (2006.01)
CPC H04L 9/008 (2013.01) [H04L 9/0618 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A computer implemented method for improving homomorphic encryption, the method comprising:
receiving, at a computer processor, a homomorphically encrypted ciphertext;
splitting, by the computer processor, the homomorphically encrypted ciphertext into a plurality of smaller digits;
for each smaller digit of the plurality of smaller digits:
(i) applying, by the computer processor, a homomorphic floor function to clear a digit of the plurality of smaller digits which corresponds to a least significant bit of the homomorphically encrypted ciphertext;
(ii) reconstructing, by the computer processor, the homomorphically encrypted ciphertext without the digit of the plurality of smaller digits cleared at (i), and scaling down the reconstructed homomorphically encrypted ciphertext using modulus switching, thereby changing the ciphertext modulus to a new modulus;
iteratively repeating steps (i) and (ii) until the new modulus is less than or equal to the modulus of the smaller digit under consideration;
applying, by the processor, a bootstrapping procedure for a sign evaluation function to determine a sign of the scaled down homomorphically encrypted ciphertext;
transmitting, by the computer processor, the sign with the homomorphically encrypted ciphertext to a server; and
comparing the homomorphically encrypted ciphertext to another homomorphically encrypted ciphertext by evaluating a difference between the two homomorphically encrypted ciphertexts, and determining a sign of the difference.