IP Library Granted Patent US 10,116,437
Granted Patent B1
US 10,116,437 · App. 14/967,966 · Granted Oct 30, 2018

Method for protecting data used in cloud computing with homomorphic encryption

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 10,116,437
App. No.
14/967,966
Granted
Oct 30, 2018
Kind
B1
Abstract

A method for protection of cloud computing includes homomorphic encryption of data. Partially or fully homomorphic encryption allows for data within the cloud to be processed without decryption. A partially or fully homomorphic encryption is provided. The proposed scheme can be used with both an algebraic and analytical approaches. A cloud service is implemented on a server. A client encrypts data using fully homomorphic encryption and sends it to the server. The cloud server performs computations without decryption of the data and returns the encrypted calculation result to the client. The client decrypts the result, and the result coincides with the result of the same calculation performed on the initial plaintext data.

Claims (69)

1. A system for protected cloud computing to provide a cloud service, the system comprising:

a computing device receiving encrypted data from a client; and

the cloud service implemented on the computing device performing fully homomorphic calculations for the client without decryption of the encrypted data and providing a result of the calculations to the client for decryption,

wherein:

a finite set of initial elements are generated on the client and are fully homomorphically encrypted into a set of k encrypted elements, such that all calculations on unencrypted elements correspond to the same calculations on encrypted elements,

the k encrypted elements belong to the finite set of the initial elements and each of the n encrypted elements has only one corresponding initial element, and

the initial elements are encrypted using a secret key represented by a vector xϵZ n , wherein Z n is a modulus over ring Z of integers;

for any element m that belongs to Z there is a randomly generated vector aϵZ n , for which

m

=

(

a

,

x

)

=

i

=

1

n

a

i

x

i

the vector aϵZ n is used as a public encryption key to calculate a scalar product (a, x) given the secret key x, wherein m is one of the k encrypted elements, and

wherein a multiplication of two vectors a results in a vector of dimension n.

2. The system of claim 1 , wherein only integers are used as the initial elements.

3. The system of claim 1 , wherein rational numbers are used as the initial elements.

4. The system of claim 2 , wherein the initial elements are prime numbers.

5. The system of claim 2 , wherein the initial elements are vectors.

6. The system of claim 1 , wherein an operation on any pair of the encrypted elements produces an encrypted element belonging to the set of the encrypted elements.

7. The system of claim 1 , wherein a result of the calculations performed on the server is encrypted and the decryption requires the secret key.

8. The system of claim 1 , wherein each operation on the encrypted elements has only one corresponding operation on the initial elements, and the operation produces a resulting initial element corresponding to the resulting encrypted element.

9. The system of claim 1 , wherein the encrypted elements are vectors, and all operations, including any multiplication operations, are performed on the encrypted elements without increasing a dimension of the vectors.

10. The system of claim 1 , wherein the encrypted elements are polynomials, and all operations, including any multiplication operations, are performed on the encrypted elements and result in vectors having a dimension no higher than original vectors.

11. The system of claim 1 , wherein the encrypted elements are vectors, and all operations, including any multiplication operations, are performed on the encrypted elements and result in vectors having a dimension that is a constant known prior to the operations.

12. A computer-implemented method for protected cloud computing to provide a cloud service, the method comprising configuring at least one computing device to perform the functions of:

the cloud service implemented on a server to perform calculations for a client, wherein the server performs calculations without decryption of encrypted data and provides a result back to the client, such that the client can decrypt the result;

generating a finite set of initial elements on the client and fully homomorphically encrypting the finite set of initial elements into a set of k encrypted data elements, such that all calculations on unencrypted elements correspond to the same calculations on encrypted elements,

transmitting the k encrypted data elements to the server;

wherein the k encrypted elements belong to the finite set of the initial elements and each of the n encrypted elements has only one corresponding initial element, and

wherein the initial elements are encrypted using a secret key represented by a vector xϵZ n, wherein Z n is a modulus over ring Z of integers;

for any element m that belongs to Z there is a randomly generated vector aϵZ n , for which

m

=

(

a

,

x

)

=

i

=

1

n

a

i

x

i

the vector aϵZ n is used as a public encryption key to calculate a scalar product (a, x) given the secret key x, wherein m is one of the k encrypted elements, and

wherein a multiplication of two vectors a results in a vector of dimension n.

13. The method of claim 12 , wherein the vectors aϵZn for every k elements, are generated from a random matrix A of a size n×n with integer elements, and a secret key vector x.

14. The method of claim 13 , wherein, in order to generate structure constants δijk ϵZ∀i,j,k=1,2, . . . ,n for multiplication of vectors in Zn, all calculations are performed in the modulus Zn, and a resulting vector belongs to the modulus Zn and has exactly n components.

Assignments (7)
SECURITY INTEREST Recorded Sep 25, 2025
From: CLOUDBLUE LLC
To: BANK OF MONTREAL
Reel/Frame 072935/0233 →
NUNC PRO TUNC ASSIGNMENT Recorded Nov 9, 2021
From: INGRAM MICRO INC.
To: CLOUDBLUE LLC
Reel/Frame 058081/0507 →
ABL SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056756/0820 →
NOTES SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 056756/0834 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056756/0806 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2016
From: PARALLELS IP HOLDINGS GMBH
To: INGRAM MICRO INC.
Reel/Frame 039459/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: KRENDELEV, SERGEY
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 037288/0953 →