IP Library › Granted Patent US 11,196,539
Granted Patent B2
US 11,196,539 · App. 15/630,824 · Granted Dec 7, 2021

Multiplication operations on homomorphic encrypted data

Inventors: Kristin Estella Lauter (Redmond, WA); Hao Chen (Seattle, WA); Kim Henry Martin Laine (Seattle, WA); Gizem Selcan Cetin (Worcester, MA); Yuhou Xia (Princeton, NJ)
Assignee: Microsoft Technology Licensing, LLC
H04L9/008H04L9/088
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,196,539
App. No.
15/630,824
Granted
Dec 7, 2021
Kind
B2
Abstract

In aspects of multiplication operations on homomorphic encrypted data, a computing device stores homomorphic encrypted data as a dataset, and implements an encryption application that can perform multiplication operations on ciphertexts in the homomorphic encrypted data, where the ciphertexts include polynomial variables of the ciphertexts. The encryption application can compute and store intermediate polynomial variables that are computed as the multiplication operations are performed. The encryption application can then utilize one or more of the intermediate polynomial variables rather than recomputing the intermediate polynomial variables as the multiplication operations are performed on the ciphertexts.

Claims (47)

1. A computing device implemented for multiplication operations on homomorphic encrypted data, the computing device comprising:

a memory configured to store the homomorphic encrypted data as a dataset;

a processor system configured to execute an encryption application that is implemented to:

perform a plurality of different multiplication operations on ciphertexts in the homomorphic encrypted data, the ciphertexts including polynomial variables of the ciphertexts;

store, in the memory, an intermediate polynomial variable that is computed as a first multiplication operation is performed;

utilize the intermediate polynomial variable for a subsequent, different multiplication operation on the ciphertexts, rather than recomputing the intermediate polynomial variables; and

minimize a number of consecutive multiplication operations performed on the polynomial variables of the ciphertexts.

2. The computing device as recited in claim 1 , wherein the encryption application is implemented to determine a minimal multiplicative depth for the plurality of different multiplication operations performed on the ciphertexts.

3. The computing device as recited in claim 1 , wherein the encryption application is implemented to determine one or more intermediate polynomial variables to utilize for the plurality of different multiplication operations.

4. The computing device as recited in claim 3 , wherein the encryption application is implemented to initially compute the one or more intermediate polynomial variables prior to use as the plurality of different multiplication operations are performed on the ciphertexts.

5. The computing device as recited in claim 1 , wherein the encryption application is implemented to minimize a number of the multiplication operations to instead perform addition and subtraction operations for faster computations on the polynomial variables of the ciphertexts.

6. The computing device as recited in claim 3 , wherein the encryption application is implemented to:

apply a Fourier transform to determine the one or more intermediate polynomial variables of a ciphertext;

multiply two transformed polynomials coefficient-wise; and

apply an inverse Fourier transform to the multiplied transformed polynomials effective to transform back.

7. A method for multiplication operations on homomorphic encrypted data, the method comprising:

performing a plurality of different multiplication operations on ciphertexts in the homomorphic encrypted data, the ciphertexts including polynomial variables of the ciphertexts;

storing an intermediate polynomial variable that is computed as a first multiplication operation is performed;

utilizing the intermediate polynomial variable for a subsequent, different multiplication operation on the ciphertexts, rather than recomputing the intermediate polynomial variables; and

minimizing a number of consecutive multiplication operations performed on the polynomial variables of the ciphertexts.

8. The method as recited in claim 7 , further comprising:

determining a minimal multiplicative depth for the plurality of different multiplication operations performed on the ciphertexts.

9. The method as recited in claim 7 , further comprising:

determining one or more intermediate polynomial variables to utilize for the plurality of different multiplication operations.

10. The method as recited in claim 9 , further comprising:

initially-computing the one or more intermediate polynomial variables prior to use as the plurality of different multiplication operations are performed on the ciphertexts.

11. The method as recited in claim 7 , further comprising:

minimizing a number of the multiplication operations to instead perform addition and subtraction operations for faster computations on the polynomial variables of the ciphertexts.

12. The method as recited in claim 9 , further comprising:

applying a Fourier transform to determine the one or more intermediate polynomial variables of a ciphertext;

multiplying two transformed polynomials coefficient-wise; and

applying an inverse Fourier transform to the multiplied transformed polynomials effective to transform back.

13. A method for multiplication operations on homomorphic encrypted data, the method comprising:

performing a plurality of different multiplication operations on ciphertexts in the homomorphic encrypted data, the ciphertexts including polynomial variables of the ciphertexts;

utilizing one or more intermediate polynomial variables that were computed and stored as a first multiplication operation was performed, rather than recomputing the intermediate polynomial variables as subsequent, different multiplication operations are performed on the ciphertexts;

maintaining a minimal multiplicative depth for the multiplication operations performed on the ciphertexts; and

minimizing a number of consecutive multiplication operations performed on the polynomial variables of the ciphertexts.

14. The method as recited in claim 13 , further comprising:

determining the one or more intermediate polynomial variables to utilize for the multiplication operations.

15. The method as recited in claim 14 , further comprising:

initially-computing the one or more intermediate polynomial variables prior to use as the plurality of different multiplication operations are performed on the ciphertexts.

16. The method as recited in claim 13 , further comprising:

minimizing a number of the multiplication operations to instead perform addition and subtraction operations for faster computations on the polynomial variables of the ciphertexts.

17. The method as recited in claim 13 , further comprising:

applying a Fourier transform to determine the one or more intermediate polynomial variables of a ciphertext;

multiplying two transformed polynomials coefficient-wise; and

applying an inverse Fourier transform to the multiplied transformed polynomials effective to transform back.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2017
From: LAUTER, KRISTIN ESTELLA; CHEN, HAO; LAINE, KIM HENRY MARTIN; CETIN, GIZEM SELCAN; XIA, YUHOU
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043026/0035 →
Continuity (1)
Related Publication 20180375639A1 · Dec 27, 2018
Cited By (2)
US 12,380,227 US 12,500,732