Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
First Claim
1. A method, comprising:
- performing, by a computing device, a homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using an encryption scheme that includes a plurality of integer moduli, where each ciphertext contains one or more elements of an m-th cyclotomic number field, where m is an integer, where each ciphertext which is defined relative to one of the moduli q, each element a(X) of the m-th cyclotomic number field is represented via a matrix, with each row i of the matrix corresponding to an integer factor pi of the modulus q and each column j corresponding to a polynomial factor Fj(X) of the m-th cyclotomic polynomial Φ
m(X) modulo q, and where content of the matrix in row i and column j corresponds to the element a(X) modulo pi and Fj(X), and where performing the homomorphic evaluation of the function further comprises performing one or more operations using one or more matrices from one or more of the ciphertexts.
2 Assignments
0 Petitions
Accused Products
Abstract
A homomorphic evaluation of a function is performed on input ciphertext(s), which were encrypted using an encryption scheme that includes multiple integer moduli. Each ciphertext contains one or more elements of an m-th cyclotomic number field, where m is an integer. Each ciphertext which is defined relative to one of the moduli q, each element a(X) of the m-th cyclotomic number field is represented via a matrix, with each row i of the matrix corresponding to an integer factor pi of the modulus q and each column j corresponding to a polynomial factor Fj(X) of the m-th cyclotomic polynomial Φm(X) modulo q. Content of the matrix in row i and column j corresponds to the element a(X) modulo pi and Fj(X). Performing the homomorphic evaluation of the function further includes performing operation(s) using one or more matrices from one or more of the ciphertexts.
-
Citations
20 Claims
-
1. A method, comprising:
performing, by a computing device, a homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using an encryption scheme that includes a plurality of integer moduli, where each ciphertext contains one or more elements of an m-th cyclotomic number field, where m is an integer, where each ciphertext which is defined relative to one of the moduli q, each element a(X) of the m-th cyclotomic number field is represented via a matrix, with each row i of the matrix corresponding to an integer factor pi of the modulus q and each column j corresponding to a polynomial factor Fj(X) of the m-th cyclotomic polynomial Φ
m(X) modulo q, and where content of the matrix in row i and column j corresponds to the element a(X) modulo pi and Fj(X), and where performing the homomorphic evaluation of the function further comprises performing one or more operations using one or more matrices from one or more of the ciphertexts.- View Dependent Claims (2, 3, 4, 5, 6)
-
7. 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 a homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using an encryption scheme that includes a plurality of integer moduli, where each ciphertext contains one or more elements of an m-th cyclotomic number field, where m is an integer, where each ciphertext which is defined relative to one of the moduli q, each element a(X) of the m-th cyclotomic number field is represented via a matrix, with each row i of the matrix corresponding to an integer factor pi of the modulus q and each column j corresponding to a polynomial factor Fj(X) of the m-th cyclotomic polynomial Φ
m(X) modulo q, and where content of the matrix in row i and column j corresponds to the element a(X) modulo pi and Fj(X), and where performing the homomorphic evaluation of the function further comprises performing one or more operations using one or more matrices from one or more of the ciphertexts. - View Dependent Claims (8, 9, 10, 11, 12, 17, 18, 19, 20)
-
-
13. 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 a homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using an encryption scheme that includes a plurality of integer moduli, where each ciphertext contains one or more elements of an m-th cyclotomic number field, where m is an integer, where each ciphertext which is defined relative to one of the moduli q, each element a(X) of the m-th cyclotomic number field is represented via a matrix, with each row i of the matrix corresponding to an integer factor pi of the modulus q and each column j corresponding to a polynomial factor Fj(X) of the m-th cyclotomic polynomial Φ
m(X) modulo q, and where content of the matrix in row i and column j corresponds to the element a(X) modulo pi and Fj(X), and where performing the homomorphic evaluation of the function further comprises performing one or more operations using one or more matrices from one or more of the ciphertexts.- View Dependent Claims (14, 15, 16)
Specification