Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
First Claim
1. A method, comprising:
- performing, by a computing device, homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using a public key of an encryption scheme that also comprises a plurality of secret keys, where each input ciphertext comprises a plurality of real numbers that are kept with finite precision, and where performing the homomorphic evaluation of the function comprises performing one or more operations, and where performing each of one or more operations comprises;
performing a key-switching transformation on selected ones of the one or more input ciphertexts, where performing key-switching transformation on a selected ciphertext comprises converting a first version of the selected ciphertext with respect to a first of the plurality of secret keys and with some number r bits of precision to a second version of the selected ciphertext with respect to a second of the plurality of secret keys and with some other number r′
bits of precision, where r′
>
r,where each of the key switching transformations is performed prior to or after the one or more operations are evaluated; and
outputting one or more results of the one or more operations.
2 Assignments
0 Petitions
Accused Products
Abstract
Homomorphic evaluation of a function is performed on input ciphertext(s), which were encrypted using a public key of an encryption scheme that also includes multiple secret keys. Each input ciphertext includes multiple real numbers that are kept with finite precision. Performing the homomorphic evaluation of the function includes performing operation(s). Performing each of one or more operations includes the following. A key-switching transformation is performed on selected ciphertext(s), including converting a first version of a selected ciphertext with respect to a first of the secret keys and with some number r bits of precision to a second version of the selected ciphertext with respect to a second of the secret keys and with some other number r′ bits of precision, r′>r. Each key switching transformation is performed prior to or after the operation(s) are evaluated. Results of the operation(s) are output.
-
Citations
20 Claims
-
1. A method, comprising:
performing, by a computing device, homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using a public key of an encryption scheme that also comprises a plurality of secret keys, where each input ciphertext comprises a plurality of real numbers that are kept with finite precision, and where performing the homomorphic evaluation of the function comprises performing one or more operations, and where performing each of one or more operations comprises; performing a key-switching transformation on selected ones of the one or more input ciphertexts, where performing key-switching transformation on a selected ciphertext comprises converting a first version of the selected ciphertext with respect to a first of the plurality of secret keys and with some number r bits of precision to a second version of the selected ciphertext with respect to a second of the plurality of secret keys and with some other number r′
bits of precision, where r′
>
r,where each of the key switching transformations is performed prior to or after the one or more operations are evaluated; and outputting one or more results of the one or more operations. - View Dependent Claims (2, 3, 4, 5, 16, 17)
-
6. A computer system, comprising:
-
one or more memories comprising computer-readable program code; and one or more processors, wherein the one or more processors are configured, responsive to execution of the computer-readable program code, to cause the computer system to perform; performing homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using a public key of an encryption scheme that also comprises a plurality of secret keys, where each input ciphertext comprises a plurality of real numbers that are kept with finite precision, and where performing the homomorphic evaluation of the function comprises performing one or more operations, and where performing each of one or more operations comprises; performing a key-switching transformation on selected ones of the one or more input ciphertexts, where performing key-switching transformation on a selected ciphertext comprises converting a first version of the selected ciphertext with respect to a first of the plurality of secret keys and with some number r bits of precision to a second version of the selected ciphertext with respect to a second of the plurality of secret keys and with some other number r′
bits of precision, where r′
>
r,where each of the key switching transformations is performed prior to or after the one or more operations are evaluated; and outputting one or more results of the one or more operations. - View Dependent Claims (7, 8, 9, 10, 18, 19)
-
-
11. A computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code readable and executable by a computer to cause the computer to perform:
performing homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using a public key of an encryption scheme that also comprises a plurality of secret keys, where each input ciphertext comprises a plurality of real numbers that are kept with finite precision, and where performing the homomorphic evaluation of the function comprises performing one or more operations, and where performing each of one or more operations comprises; performing a key-switching transformation on selected ones of the one or more input ciphertexts, where performing key-switching transformation on a selected ciphertext comprises converting a first version of the selected ciphertext with respect to a first of the plurality of secret keys and with some number r bits of precision to a second version of the selected ciphertext with respect to a second of the plurality of secret keys and with some other number r′
bits of precision, where r′
>
r,where each of the key switching transformations is performed prior to or after the one or more operations are evaluated; and outputting one or more results of the one or more operations. - View Dependent Claims (12, 13, 14, 15, 20)
Specification