CPC H04L 9/008 (2013.01) [H04L 9/0618 (2013.01)] | 18 Claims |
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.
|