IP Library Granted Patent US 10,790,961
Granted Patent B2
US 10,790,961 · App. 16/777,451 · Granted Sep 29, 2020

Ciphertext preprocessing and acquisition

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,790,961
App. No.
16/777,451
Granted
Sep 29, 2020
Kind
B2
Abstract

A computer-implemented method includes: obtaining, by a data party, a piece of plaintext to be encrypted; generating a ciphertext file including multiple pieces of ciphertext, each piece of ciphertext being derived from a homomorphic encryption algorithm executed on the piece of plaintext; adding a first file identifier of the ciphertext file to a file identifier set corresponding to the piece of plaintext; and in response to a piece of ciphertext derived from the piece of plaintext being needed for a cooperative calculation in which the data party is participating: obtaining the first file identifier from the file identifier set corresponding to the piece of plaintext, reading a first piece of ciphertext from the ciphertext file identified by the first file identifier, and sending the first piece of ciphertext to a partner participating in the cooperative calculation.

Claims (62)

1. A computer-implemented method comprising:

obtaining, by a data party, a piece of plaintext to be encrypted;

generating a ciphertext file comprising multiple pieces of ciphertext, each piece of ciphertext being derived from a homomorphic encryption algorithm executed on the piece of plaintext;

adding a first file identifier of the ciphertext file to a file identifier set corresponding to the piece of plaintext; and

in response to a piece of ciphertext derived from the piece of plaintext being needed for a cooperative calculation in which the data party is participating:

obtaining the first file identifier from the file identifier set corresponding to the piece of plaintext,

reading a first piece of ciphertext from the ciphertext file identified by the first file identifier, and

sending the first piece of ciphertext to a partner participating in the cooperative calculation.

2. The computer-implemented method of claim 1 , wherein the file identifier set is implemented as a file identifier queue, and wherein obtaining the first file identifier comprises:

obtaining, as the file identifier, a file identifier having an earliest queue entry time.

3. The computer-implemented method of claim 1 , further comprising:

after obtaining the first file identifier, deleting the first file identifier from the file identifier set corresponding to the piece of plaintext.

4. The computer-implemented method of claim 1 , further comprising:

after sending the first piece of ciphertext, deleting the ciphertext file identified by the file identifier.

5. The computer-implemented method of claim 4 , further comprising:

generating multiple new pieces of ciphertext, each new piece of ciphertext derived from a second homomorphic encryption algorithm executed on the piece of plaintext;

generating a new ciphertext file, wherein the new ciphertext file comprises the multiple new pieces of ciphertext; and

adding a second file identifier to the file identifier set corresponding to the piece of plaintext, wherein the second file identifier is a file identifier of the new ciphertext file.

6. The computer-implemented method of claim 1 , wherein the piece of plaintext comprises private data of the data party, and wherein the partner is to perform a calculation based on the first piece of ciphertext.

7. The computer-implemented method of claim 1 , wherein the homomorphic encryption algorithm includes randomness.

8. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

obtaining, by a data party, a piece of plaintext to be encrypted;

generating a ciphertext file comprising multiple pieces of ciphertext, each piece of ciphertext being derived from a homomorphic encryption algorithm executed on the piece of plaintext;

adding a first file identifier of the ciphertext file to a file identifier set corresponding to the piece of plaintext; and

in response to a piece of ciphertext derived from the piece of plaintext being needed for a cooperative calculation in which the data party is participating:

obtaining the first file identifier from the file identifier set corresponding to the piece of plaintext,

reading a first piece of ciphertext from the ciphertext file identified by the first file identifier, and

sending the first piece of ciphertext to a partner participating in the cooperative calculation.

9. The non-transitory, computer-readable medium of claim 8 , wherein the file identifier set is implemented as a file identifier queue, and wherein obtaining the first file identifier comprises:

obtaining, as the file identifier, a file identifier having an earliest queue entry time.

10. The non-transitory, computer-readable medium of claim 8 , wherein the operations further comprise:

after obtaining the first file identifier, deleting the first file identifier from the file identifier set corresponding to the piece of plaintext.

11. The non-transitory, computer-readable medium of claim 8 , wherein the operations further comprise:

after sending the first piece of ciphertext, deleting the ciphertext file identified by the file identifier.

12. The non-transitory, computer-readable medium of claim 11 , wherein the operations further comprise:

generating multiple new pieces of ciphertext, each new piece of ciphertext derived from a second homomorphic encryption algorithm executed on the piece of plaintext;

generating a new ciphertext file, wherein the new ciphertext file comprises the multiple new pieces of ciphertext; and

adding a second file identifier to the file identifier set corresponding to the piece of plaintext, wherein the second file identifier is a file identifier of the new ciphertext file.

13. The non-transitory, computer-readable medium of claim 8 , wherein the piece of plaintext comprises private data of the data party, and wherein the partner is to perform a calculation based on the first piece of ciphertext.

14. The non-transitory, computer-readable medium of claim 8 , wherein the homomorphic encryption algorithm includes randomness.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

obtaining, by a data party, a piece of plaintext to be encrypted;

generating a ciphertext file comprising multiple pieces of ciphertext, each piece of ciphertext being derived from a homomorphic encryption algorithm executed on the piece of plaintext;

adding a first file identifier of the ciphertext file to a file identifier set corresponding to the piece of plaintext; and

in response to a piece of ciphertext derived from the piece of plaintext being needed for a cooperative calculation in which the data party is participating:

obtaining the first file identifier from the file identifier set corresponding to the piece of plaintext,

reading a first piece of ciphertext from the ciphertext file identified by the first file identifier, and

sending the first piece of ciphertext to a partner participating in the cooperative calculation.

16. The computer-implemented system of claim 15 , wherein the file identifier set is implemented as a file identifier queue, and wherein obtaining the first file identifier comprises:

obtaining, as the file identifier, a file identifier having an earliest queue entry time.

17. The computer-implemented system of claim 15 , wherein the operations further comprise:

after obtaining the first file identifier, deleting the first file identifier from the file identifier set corresponding to the piece of plaintext.

18. The computer-implemented system of claim 15 , wherein the operations further comprise:

after sending the first piece of ciphertext, deleting the ciphertext file identified by the file identifier.

19. The computer-implemented system of claim 18 , wherein the operations further comprise:

generating multiple new pieces of ciphertext, each new piece of ciphertext derived from a second homomorphic encryption algorithm executed on the piece of plaintext;

generating a new ciphertext file, wherein the new ciphertext file comprises the multiple new pieces of ciphertext; and

adding a second file identifier to the file identifier set corresponding to the piece of plaintext, wherein the second file identifier is a file identifier of the new ciphertext file.

20. The computer-implemented system of claim 15 , wherein the piece of plaintext comprises private data of the data party, and wherein the partner is to perform a calculation based on the first piece of ciphertext.

21. The computer-implemented system of claim 15 , wherein the homomorphic encryption algorithm includes randomness.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2020
From: LIN, WENZHEN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052874/0286 →