IP Library Granted Patent US 10,735,189
Granted Patent B2
US 10,735,189 · App. 16/777,392 · Granted Aug 4, 2020

Data exchange for multi-party computation

Inventors: Huazhong Wang (Hangzhou, CN); Lichun Li (Hangzhou, CN); Yuan Zhao (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
H04L9/0869H04L9/083H04L2209/46
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,735,189
App. No.
16/777,392
Granted
Aug 4, 2020
Kind
B2
Abstract

The present disclosure relates to exchanging data for multi-party computation. In some aspects, a server generates a first random number set, a second random number set, a third random number set, and a fourth random number set based on a first random seed, a second random seed, a third random seed, and a fourth random seed, respectively. The sever generates a fifth random number set and a sixth random number set, respectively, based on the first random number set, the second random number set, the third random number set, and the fourth random number set. The random numbers in the random number sets satisfy a predetermined condition. The server sends the first random seed, the second random seed, and the fifth random number set to a first device. The server sends the third random seed, the fourth random seed, and the sixth random number set to a second device.

Claims (65)

1. A computer-implemented data exchange method for secure multi-party computation (MPC), comprising:

generating, by a server, a first random number set, a second random number set, a third random number set, and a fourth random number set based on a first random seed, a second random seed, a third random seed, and a fourth random seed, respectively;

generating, by the server, a fifth random number set and a sixth random number set, respectively, based on the first random number set, the second random number set, the third random number set, and the fourth random number set, wherein random numbers in the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set satisfy a predetermined condition;

sending, by the server, the first random seed, the second random seed, and the fifth random number set to a first device; and

sending, by the server, the third random seed, the fourth random seed, and the sixth random number set to a second device.

2. The computer-implemented method of claim 1 , wherein the predetermined condition satisfied by the random numbers in the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set comprises:

(< u 0 > i +<u 1 > i )(< v 0 > i +<v 1 > i )=< z 0 > i +<z 1 > i , wherein

<u 0 > i represents an ith random number u 0 in the first random number set, <u 1 > i represents an ith random number u 1 in the third random number set, <v 0 > i represents an ith random number v 0 in the second random number set, <v 1 > i represents an ith random number v 1 in the fourth random number set, <z 0 > i represents an ith random number z 0 in the fifth random number set, <z 1 > i represents an ith random number z 1 in the sixth random number set, and i is a natural number greater than zero.

3. The computer-implemented method of claim 1 , wherein generating the fifth random number set and the sixth random number set, respectively, based on the first random number set, the second random number set, the third random number set, and the fourth random number set comprises:

generating the fifth random number set and computing first data as a random number in the sixth random number set based on the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the predetermined condition; or

generating the sixth random number set and computing second data as a random number in the fifth random number set based on the first random number set, the second random number set, the third random number set, the fourth random number set, the sixth random number set, and the predetermined condition.

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

sending the first random seed, the second random seed, and the fifth random number set to the first device comprises:

sending the first random seed, the second random seed, and the fifth random number set to the first device,

wherein the first device generates the first random number set and the second random number set based on the first random seed and the second random seed, and the first device performs MPC based on the first random number set, the second random number set, and the fifth random number set; and

sending the third random seed, the fourth random seed, and the sixth random number set to the second device comprises:

sending the third random seed, the fourth random seed, and the sixth random number set to the second device,

wherein the second device generates the third random number set and the fourth random number set based on the third random seed and the fourth random seed, and the second device performs MPC based on the third random number set, the fourth random number set, and the sixth random number set.

5. The computer-implemented method of claim 1 , wherein:

the first random seed, the second random seed, the third random seed, and the fourth random seed are all MPC random seeds; and

each of the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set includes at least one random number that is used to participate in MPC.

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

generating a first random number set, a second random number set, a third random number set, and a fourth random number set based on a first random seed, a second random seed, a third random seed, and a fourth random seed, respectively;

generating a fifth random number set and a sixth random number set, respectively, based on the first random number set, the second random number set, the third random number set, and the fourth random number set, wherein random numbers in the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set satisfy a predetermined condition;

sending the first random seed, the second random seed, and the fifth random number set to a first device; and

sending the third random seed, the fourth random seed, and the sixth random number set to a second device.

7. The non-transitory, computer-readable medium of claim 6 , wherein the predetermined condition satisfied by the random numbers in the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set comprises:

(< u 0 > i +<u 1 > i )(< v 0 > i +<v 1 > i )=< z 0 > i +<z 1 > i , wherein

<u 0 > i represents an ith random number u 0 in the first random number set, <u 1 > i represents an ith random number u 1 in the third random number set, <v 0 > i represents an ith random number v 0 in the second random number set, <v 1 > i represents an ith random number v 1 in the fourth random number set, <z 0 > i represents an ith random number z 0 in the fifth random number set, <z 1 > i represents an ith random number z 1 in the sixth random number set, and i is a natural number greater than zero.

8. The non-transitory, computer-readable medium of claim 6 , wherein generating the fifth random number set and the sixth random number set, respectively, based on the first random number set, the second random number set, the third random number set, and the fourth random number set comprises:

generating the fifth random number set and computing first data as a random number in the sixth random number set based on the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the predetermined condition; or

generating the sixth random number set and computing second data as a random number in the fifth random number set based on the first random number set, the second random number set, the third random number set, the fourth random number set, the sixth random number set, and the predetermined condition.

9. The non-transitory, computer-readable medium of claim 6 , wherein:

sending the first random seed, the second random seed, and the fifth random number set to the first device comprises:

sending the first random seed, the second random seed, and the fifth random number set to the first device,

wherein the first device generates the first random number set and the second random number set based on the first random seed and the second random seed, and the first device performs MPC based on the first random number set, the second random number set, and the fifth random number set; and

sending the third random seed, the fourth random seed, and the sixth random number set to the second device comprises:

sending the third random seed, the fourth random seed, and the sixth random number set to the second device,

wherein the second device generates the third random number set and the fourth random number set based on the third random seed and the fourth random seed, and the second device performs MPC based on the third random number set, the fourth random number set, and the sixth random number set.

10. The non-transitory, computer-readable medium of claim 6 , wherein:

the first random seed, the second random seed, the third random seed, and the fourth random seed are all MPC random seeds; and

each of the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set includes at least one random number that is used to participate in MPC.

11. 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 operations comprising:

generating a first random number set, a second random number set, a third random number set, and a fourth random number set based on a first random seed, a second random seed, a third random seed, and a fourth random seed, respectively;

generating a fifth random number set and a sixth random number set, respectively, based on the first random number set, the second random number set, the third random number set, and the fourth random number set, wherein random numbers in the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set satisfy a predetermined condition;

sending the first random seed, the second random seed, and the fifth random number set to a first device; and

sending the third random seed, the fourth random seed, and the sixth random number set to a second device.

12. The computer-implemented system of claim 11 , wherein the predetermined condition satisfied by the random numbers in the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set comprises:

(< u 0 > i +<u 1 > i )(< v 0 > i +<v 1 > i )=< z 0 > i +<z 1 > i , wherein

<u 0 > i represents an ith random number u 0 in the first random number set, <u 1 > i represents an ith random number u 1 in the third random number set, <v 0 > i represents an ith random number v 0 in the second random number set, <v 1 > i represents an ith random number v 1 in the fourth random number set, <z 0 > i represents an ith random number z 0 in the fifth random number set, <z 1 > i represents an ith random number z 1 in the sixth random number set, and i is a natural number greater than zero.

13. The computer-implemented system of claim 11 , wherein generating the fifth random number set and the sixth random number set, respectively, based on the first random number set, the second random number set, the third random number set, and the fourth random number set comprises:

generating the fifth random number set and computing first data as a random number in the sixth random number set based on the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the predetermined condition; or

generating the sixth random number set and computing second data as a random number in the fifth random number set based on the first random number set, the second random number set, the third random number set, the fourth random number set, the sixth random number set, and the predetermined condition.

14. The computer-implemented system of claim 11 , wherein:

sending the first random seed, the second random seed, and the fifth random number set to the first device comprises:

sending the first random seed, the second random seed, and the fifth random number set to the first device,

wherein the first device generates the first random number set and the second random number set based on the first random seed and the second random seed, and the first device performs MPC based on the first random number set, the second random number set, and the fifth random number set; and

sending the third random seed, the fourth random seed, and the sixth random number set to the second device comprises:

sending the third random seed, the fourth random seed, and the sixth random number set to the second device,

wherein the second device generates the third random number set and the fourth random number set based on the third random seed and the fourth random seed, and the second device performs MPC based on the third random number set, the fourth random number set, and the sixth random number set.

15. The computer-implemented system of claim 11 , wherein:

the first random seed, the second random seed, the third random seed, and the fourth random seed are all MPC random seeds; and

each of the first random number set, the second random number set, the third random number set, the fourth random number set, the fifth random number set, and the sixth random number set includes at least one random number that is used to participate in MPC.

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 Apr 30, 2020
From: WANG, HUAZHONG; LI, LICHUN; ZHAO, YUAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052540/0689 →
Priority Claims (1)
CN 2019 1 0583548 · Jul 1, 2019 · national
Continuity (2)
Continuation PCTCN2020071588 · Jan 11, 2020
Related Publication 20200169399A1 · May 28, 2020