Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
First Claim
1. 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 and a plurality of moduli, where the moduli are integers, and where performing the homomorphic evaluation of the function comprises performing one or more operations on the input ciphertexts, and where the function comprises one or multiple operations comprising one or more of addition, multiplication, and automorphism;
performing a key-switching transformation on selected ones of the one or more input ciphertexts, where performing a 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 a first modulus to a second version of the selected ciphertext with respect to a second of the plurality of secret keys and a second modulus, where the second modulus is an integer factor p times the first modulus, where p>
1,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 and multiple integer moduli. The homomorphic evaluation of the function includes performing operations(s) on the input ciphertexts. The function includes operation(s) including one or more of addition, multiplication, and automorphism. A key-switching transformation is performed on selected input ciphertext(s), and includes converting a first version of a selected ciphertext with respect to a first of the multiple secret keys and a first modulus to a second version of the selected ciphertext with respect to a second of the multiple secret keys and a second modulus, where the second modulus is an integer factor p times the first modulus, p>1. Each of the key switching transformations is performed prior to or after the operation(s) are evaluated. Results of the operation(s) are output.
-
Citations
20 Claims
-
1. 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 and a plurality of moduli, where the moduli are integers, and where performing the homomorphic evaluation of the function comprises performing one or more operations on the input ciphertexts, and where the function comprises one or multiple operations comprising one or more of addition, multiplication, and automorphism; performing a key-switching transformation on selected ones of the one or more input ciphertexts, where performing a 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 a first modulus to a second version of the selected ciphertext with respect to a second of the plurality of secret keys and a second modulus, where the second modulus is an integer factor p times the first modulus, where p>
1,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, 6, 7, 8, 17, 18)
-
-
9. A computer program product, comprising:
-
a non-transitory computer readable storage medium having stored thereon; code for 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 and a plurality of moduli, where the moduli are integers, and where performing the homomorphic evaluation of the function comprises performing one or more operations on the input ciphertexts, and where the function comprises one or multiple operations comprising one or more of addition, multiplication, and automorphism; code for performing a key-switching transformation on selected ones of the one or more input ciphertexts, where performing a 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 a first modulus to a second version of the selected ciphertext with respect to a second of the plurality of secret keys and a second modulus, where the second modulus is an integer factor p times the first modulus;
where p>
1, where each of the key switching transformations is performed prior to or after the one or more operations are evaluated; and
code for outputting one or more results of the one or more operations. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 19, 20)
-
Specification