IP Library › Granted Patent US 10,797,856
Granted Patent B2
US 10,797,856 · App. 15/956,626 · Granted Oct 6, 2020

Outsourcing processing operations with homomorphic encryption

Inventors: Avradip Mandal (Sunnyvale, CA); Arnab Roy (Santa Clara, CA); Hart Montgomery (Redwood City, CA)
Assignee: FUJITSU LIMITED
H04L9/008H04L9/0618H04L9/0861
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,797,856
App. No.
15/956,626
Granted
Oct 6, 2020
Kind
B2
Abstract

A method of outsourcing an operation with encryption is provided. A method may include encrypting data at trusted execution environment (TEE) to generate a first ciphertext. The method may also include conveying the first ciphertext to a graphics processing unit (GPU). Further, the method may include performing, at the GPU, at least one somewhat homomorphic encryption (SHE) evaluation operation on the first ciphertext to generate a second ciphertext. Moreover, the method may include conveying the second ciphertext to the TEE. In addition, the method may include decrypting, at the TEE, the second ciphertext to generate a function.

Claims (58)

1. A method of outsourcing an operation, the method comprising:

determining an estimated processing time with respect to at least one of:

encryption, by a trusted execution environment (TEE) to generate a first ciphertext, data related to computation of a function;

performance, by a graphics processing unit (GPU), of at least one somewhat homomorphic encryption (SHE) evaluation operation on the first ciphertext to generate a second ciphertext; and

decryption, by the TEE, of the second ciphertext;

determining to outsource the at least one SHE evaluation operation based on the estimated processing time; and

in response to determining to outsource the at least one SHE evaluation operation:

encrypting the data at the TEE to generate the first ciphertext;

conveying the first ciphertext to the GPU;

performing, at the GPU, the at least one SHE evaluation operation on the first ciphertext to generate the second ciphertext;

conveying the second ciphertext to the TEE; and

decrypting, at the TEE, the second ciphertext to compute the function.

2. The method of claim 1 , further comprising at least one of:

encrypting second data at the TEE to generate a third ciphertext while substantially simultaneously performing the at least one SHE evaluation operation on the first ciphertext; and

performing the at least one SHE evaluation operation on the third ciphertext while substantially simultaneously decrypting the second ciphertext.

3. The method of claim 1 , wherein the SHE evaluation operation is associated with at least one of a plurality of SHE schemes and wherein the method further comprises bootstrapping the plurality of SHE schemes to support one or more arbitrary functions.

4. The method of claim 1 , wherein decrypting the second ciphertext comprises decrypting the second ciphertext via a secret key generated at the TEE.

5. The method of claim 1 , wherein performing the at least one SHE evaluation operation comprises evaluating the first ciphertext based on an intermediate function.

6. The method of claim 1 , wherein encrypting data comprises encrypting data via homomorphic encryption.

7. A system, comprising:

one or more processing units configured to cause the system to perform operations, the operations comprising:

determine an estimated processing time with respect to at least one of:

encryption, by a trusted execution environment (TEE) to generate a first ciphertext, data related to computation of a function;

performance, by a graphics processing unit (GPU), of at least one somewhat homomorphic encryption (SHE) evaluation operation on the first ciphertext to generate a second ciphertext; and

decryption, by the TEE, of the second ciphertext;

determine to outsource the at least one SHE evaluation operation based on the estimated processing time; and

in response to determining to outsource the at least one SHE evaluation operation:

encrypt the data at the TEE to generate the first ciphertext;

convey the first ciphertext to the GPU;

perform, at the GPU, the at least one SHE evaluation operation on the first ciphertext to generate the second ciphertext;

convey the second ciphertext to the TEE; and

decrypt, at the TEE, the second ciphertext to compute the function.

8. The system of claim 7 , wherein the operations further comprise at least one of:

encrypt second data at the TEE to generate a third ciphertext and perform the at least one SHE evaluation operation on the first ciphertext substantially simultaneously; and

perform the at least one SHE evaluation operation on the third ciphertext and

decrypt the second ciphertext substantially simultaneously.

9. The system of claim 7 , wherein the SHE evaluation operation is associated with at least one of a plurality of SHE schemes and wherein the operations further comprise bootstrap the plurality of SHE schemes to support one or more arbitrary functions.

10. The system of claim 7 , wherein the TEE is configured to decrypt the second ciphertext via a secret key generated at the TEE.

11. The system of claim 7 , wherein the operations further comprise evaluate the first ciphertext based on an intermediate function.

12. The system of claim 7 , wherein the data is encrypted via homomorphic encryption.

13. One or more non-transitory computer-readable media that include instructions that, when executed by one or more processors, are configured to cause a system to perform operations, the operations comprising:

determining an estimated processing time with respect to at least one of:

encryption, by a trusted execution environment (TEE) to generate a first ciphertext, data related to computation of a function;

performance, by a graphics processing unit (GPU), of at least one somewhat homomorphic encryption (SHE) evaluation operation on the first ciphertext to generate a second ciphertext; and

decryption, by the TEE, of the second ciphertext;

determining to outsource the at least one SHE evaluation operation based on the estimated processing time; and

in response to determining to outsource the at least one SHE evaluation operation:

encrypting the data at the TEE to generate the first ciphertext;

conveying the first ciphertext to the GPU;

performing, at the GPU, the at least one SHE evaluation operation on the first ciphertext to generate the second ciphertext;

conveying the second ciphertext to the TEE; and

decrypting, at the TEE, the second ciphertext to compute the function.

14. The computer-readable media of claim 13 , the operations further comprising at least one of:

encrypting second data at the TEE to generate a third ciphertext while substantially simultaneously performing the at least one SHE evaluation operation on the first ciphertext; and

performing the at least one SHE evaluation operation on the third ciphertext while substantially simultaneously decrypting the second ciphertext.

15. The computer-readable media of claim 13 , wherein the SHE evaluation operation is associated with at least one of a plurality of SHE schemes and wherein the operations further comprise bootstrapping the plurality of SHE schemes to support one or more arbitrary functions.

16. The computer-readable media of claim 13 , wherein decrypting the second ciphertext comprises decrypting the second ciphertext via a secret key generated at the TEE.

17. The computer-readable media of claim 13 , wherein performing the at least one SHE evaluation operation comprises evaluating the first ciphertext based on an intermediate function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2018
From: MANDAL, AVRADIP; ROY, ARNAB; MONTGOMERY, HART
To: FUJITSU LIMITED
Reel/Frame 045596/0075 →
Continuity (1)
Related Publication 20190327077A1 · Oct 24, 2019