IP Library Granted Patent US 12683779
Granted Patent B2
US 12683779 · App. 18/140,628 · Granted Jul 14, 2026

Secure distributed computing system and computing method

Inventors: Bin Yang (Tokyo, JP); Young Joo Chung (San Mateo, CA)
Assignee: RAKUTEN GROUP, INC.
H04L9/0894H04L9/006H04L9/0869
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 12683779
App. No.
18/140,628
Granted
Jul 14, 2026
Kind
B2
Abstract

Provided is a computing system including: a first device configured to securely manage first secret information and first permutation information; and a second device configured to securely manage second secret information and second permutation information, and wherein first managed information that is managed by the first device from among first permutation results obtained as a result of permutating the first secret information, second managed information that is managed by the first device from among second permutation results obtained as a result of permutating the second secret information, third managed information that is managed by the second device from among the first permutation results, and fourth managed information that is managed by the second device from among the second permutation results are used to compute a secret product being a product of the first secret information and the second secret information.

Claims (182)

1 . A computing system, comprising:

a first device configured to securely manage first secret information having the number of elements equal to or larger than two and first permutation information for permutating elements having the number of elements; and

a second device configured to securely manage second secret information having the number of elements and second permutation information for permutating elements having the number of elements,

wherein the first device is configured to:

acquire first managed information managed by the first device from among first permutation results obtained as a result of permutating the first secret information based on the first permutation information and the second permutation information and distributively managed by the first device and the second device; and

acquire second managed information managed by the first device from among second permutation results obtained as a result of permutating the second secret information based on the first permutation information and the second permutation information and distributively managed by the first device and the second device,

wherein the second device is configured to:

acquire third managed information managed by the second device from among the first permutation results; and

acquire fourth managed information managed by the second device from among the second permutation results, and

wherein the first managed information, the second managed information, the third managed information, and the fourth managed information are used to compute a secret product being a product of the first secret information and the second secret information;

wherein the first device is configured to:

acquire fifth managed information managed by the first device from among first distributed information distributively managed by the first device and the second device; and

acquire, as the first managed information, sixth managed information managed by the first device from among third permutation results obtained as a result of permutating the first distributed information based on the second permutation information and distributively managed by the first device and the second device,

wherein the second device is configured to:

acquire seventh managed information managed by the second device from among the first distributed information;

acquire eighth managed information managed by the second device from among the third permutation results;

acquire first public information to be disclosed to the first device as ninth managed information managed by the second device among fourth permutation results obtained as a result of permutating the first secret information based on the first permutation information and distributively managed by the first device and the second device; and

transmit the first public information to the first device,

wherein the first device is configured to:

receive the first public information from the second device;

acquire tenth managed information managed by the first device from among the fourth permutation results based on the first public information;

acquire second public information to be disclosed to the second device based on the tenth managed information and the fifth managed information; and

transmit the second public information to the second device, and

wherein the second device is configured to:

receive the second public information from the first device;

acquire first computation information based on the eighth managed information, the ninth managed information, and the second public information; and

acquire the third managed information based on the eighth managed information and fifth permutation results obtained by permutating the first computation information based on the second permutation information;

wherein the computing system is configured to execute training of a learning model in federated learning based on the secret product.

2 . The computing system according to claim 1 , wherein the second device is configured to acquire the first public information based on first random numbers.

3 . The computing system according to claim 1 ,

wherein the first device is configured to transmit the fifth managed information to the second device,

wherein the second device is configured to:

receive the fifth managed information from the first device;

acquire one of the third permutation results based on the fifth managed information and the seventh managed information;

acquire the sixth managed information based on the one of the third permutation results and the eighth managed information; and

transmit the sixth managed information to the first device, and

wherein the first device is configured to receive the sixth managed information from the second device, and acquire the received sixth managed information as the first managed information.

4 . The computing system according to claim 3 ,

wherein the first device is configured to acquire the fifth managed information based on second random numbers, and

wherein the second device is configured to:

acquire the seventh managed information based on third random numbers; and

acquire the eighth managed information based on fourth random numbers.

5 . The computing system according to claim 3 ,

wherein the first device is configured to:

acquire a first public key and a first secret key; and

transmit the first public key to the second device,

wherein the second device is configured to receive the first public key from the first device,

wherein the first device is configured to encrypt the fifth managed information based on the first public key, and transmit the encrypted fifth managed information to the second device,

wherein the second device is configured to:

receive the encrypted fifth managed information from the first device;

encrypt the seventh managed information based on the first public key, and acquire the encrypted one of the third permutation results based on the encrypted fifth managed information and the encrypted seventh managed information;

encrypt the eighth managed information based on the first public key, and acquire the encrypted sixth managed information based on the encrypted one of the third permutation results and the encrypted eighth managed information; and

transmit the encrypted sixth managed information to the first device, and

wherein the first device is configured to receive the encrypted sixth managed information from the second device, decrypt the received sixth managed information by the first secret key, and acquire the decrypted sixth managed information as the first managed information.

6 . The computing system according to claim 1 ,

wherein the first device is configured to:

acquire first managed products managed by the first device based on the first managed information and the second managed information from among distributed products being products of the first permutation results and the second permutation results and distributively managed by the first device and the second device; and

acquire a first sum being a sum of the first managed products,

wherein the second device is configured to:

acquire second managed products managed by the second device from among the distributed products based on the third managed information and the fourth managed information; and

acquire a second sum being a sum of elements of the second managed products, and

wherein the first sum and the second sum are used to compute the secret product.

7 . The computing system according to claim 6 ,

wherein the first device is configured to acquire the first managed products based on a method of Beaver multiplication triples (BMT), and

wherein the second device is configured to acquire the second managed products based on the method of the BMT.

8 . The computing system according to claim 6 ,

wherein the second device is configured to transmit the second sum to the first device, and

wherein the first device is configured to:

receive the second sum from the second device; and

compute the secret product based on the first sum and the second sum.

9 . The computing system according to claim 1 ,

wherein the first secret information, the second secret information, the first permutation results, the first managed information, the second permutation results, the second managed information, the third managed information, and the fourth managed information each have a vector format,

wherein the first permutation information and the second permutation information each have an array format, and

wherein the secret product comprises an inner product.

10 . The computing system according to claim 1 ,

wherein the first secret information comprises information relating to each of a plurality of users in a first service, and

wherein the second secret information comprises information relating to each of the plurality of users in a second service.

11 . The computing system according to claim 10 ,

wherein the first device comprises a first learning model to estimate a characteristic of a user of the first service; and

wherein the second device comprises a second learning model to estimate the characteristic of a user of the second service.

12 . The computing system according to claim 11 ,

wherein the first device is configured to generate the first secret information based on a part of the parameters of the first learning model and an estimation result of the first learning model.

13 . The computing system according to claim 10 ;

wherein computing system is configured to transmit a learning result based on the executed training of the learning model to the first device and the second device;

wherein the first device is configured to update the first learning model based on the learning result; and

wherein the second device is configured to update the second learning model based on the learning result.

14 . A computing system, comprising:

a first device configured to securely manage first secret information having the number of elements equal to or larger than two and first permutation information for permutating elements having the number of elements; and

a second device configured to securely manage second secret information having the number of elements and second permutation information for permutating elements having the number of elements,

wherein the first device is configured to:

acquire first managed information managed by the first device from among first permutation results obtained as a result of permutating the first secret information based on the first permutation information and the second permutation information and distributively managed by the first device and the second device; and

acquire second managed information managed by the first device from among second permutation results obtained as a result of permutating the second secret information based on the first permutation information and the second permutation information and distributively managed by the first device and the second device,

wherein the second device is configured to:

acquire third managed information managed by the second device from among the first permutation results; and

acquire fourth managed information managed by the second device from among the second permutation results, and

wherein the first managed information, the second managed information, the third managed information, and the fourth managed information are used to compute a secret product being a product of the first secret information and the second secret information;

wherein the first device is configured to:

acquire eleventh managed information managed by the first device from among second distributed information distributively managed by the first device and the second device;

acquire twelfth managed information managed by the first device from among sixth permutation results obtained as a result of permutating the second distributed information based on the first permutation information and distributively managed by the first device and the second device;

acquire fifth managed information managed by the first device from among first distributed information distributively managed by the first device and the second device; and

acquire, as the second managed information, sixth managed information managed by the first device from among third permutation results obtained as a result of permutating the first distributed information based on the second permutation information and distributively managed by the first device and the second device,

wherein the second device is configured to:

acquire thirteenth managed information managed by the second device from among the second distributed information;

acquire fifteenth managed information managed by the second device from among the sixth permutation results as fourteenth managed information managed by the second device among seventh permutation results obtained as a result of permutating the second secret information based on the first permutation information and distributively managed by the first device and the second device;

acquire seventh managed information managed by the second device from among the first distributed information;

acquire eighth managed information managed by the second device from among the third permutation results;

acquire third public information to be disclosed to the first device based on the second secret information and the thirteenth managed information; and

transmit the third public information to the first device,

wherein the first device is configured to:

receive the third public information from the second device;

acquire second computation information based on the eleventh managed information and the third public information;

acquire sixteenth managed information managed by the first device from among the seventh permutation results based on the twelfth managed information and an eighth permutation result obtained by permutating the second computation information based on the first permutation information;

acquire fourth public information to be disclosed to the second device based on the sixteenth managed information and the fifth managed information; and

transmit the fourth public information to the second device, and

wherein the second device is configured to:

receive the fourth public information from the first device;

acquire third computation information based on the fourteenth managed information, the seventh managed information, and the fourth public information; and

acquire the fourth managed information based on the eighth managed information and a ninth permutation result obtained by permutating the third computation information based on the second permutation information;

wherein the computing system is configured to execute training of a learning model in federated learning based on the secret product.

15 . The computing system according to claim 14 ,

wherein the second device is configured to transmit the thirteenth managed information to the first device,

wherein the first device is configured to:

receive the thirteenth managed information from the second device;

acquire one of the sixth permutation results based on the eleventh managed information and the thirteenth managed information;

acquire the fifteenth managed information based on the one of the sixth permutation results and the twelfth managed information; and

transmit the fifteenth managed information to the second device, and

wherein the second device is configured to receive the fifteenth managed information from the first device, and acquire the received fifteenth managed information as the fourteenth managed information.

16 . The computing system according to claim 15 ,

wherein the first device is configured to:

acquire the eleventh managed information based on fifth random numbers; and

acquire the twelfth managed information based on sixth random numbers, and

wherein the second device is configured to acquire the thirteenth managed information based on seventh random numbers.

17 . The computing system according to claim 15 ,

wherein the second device is configured to:

acquire a second public key and a second secret key; and

transmit the second public key to the first device,

wherein the first device is configured to receive the second public key from the second device,

wherein the second device is configured to encrypt the thirteenth managed information based on the second public key, and transmit the encrypted thirteenth managed information to the first device,

wherein the first device is configured to receive the encrypted thirteenth managed information from the second device,

wherein the first device is configured to:

encrypt the eleventh managed information based on the second public key, and acquire the encrypted one of the sixth permutation results based on the encrypted thirteenth managed information and the encrypted eleventh managed information;

encrypt the twelfth managed information based on the second public key, and acquire the encrypted fifteenth managed information based on the encrypted one of the sixth permutation results and the encrypted twelfth managed information; and

transmit the encrypted fifteenth managed information to the second device, and

wherein the second device is configured to receive the encrypted fifteenth managed information from the first device, decrypt the received fifteenth managed information by the second secret key, and acquire the decrypted fifteenth managed information as the fourteenth managed information.

18 . The computing system according to claim 14 ,

wherein the first device is configured to acquire the fifth managed information based on second random numbers, and

wherein the second device is configured to:

acquire the seventh managed information based on third random numbers; and

acquire the eighth managed information based on fourth random numbers.

19 . The computing system according to claim 14 ,

wherein the first device is configured to:

generate a first public key and a first secret key; and

transmit the first public key to the second device,

wherein the second device is configured to receive the first public key from the first device,

wherein the first device is configured to encrypt the fifth managed information based on the first public key, and transmit the encrypted fifth managed information to the second device,

wherein the second device is configured to:

receive the encrypted fifth managed information from the first device;

encrypt the seventh managed information based on the first public key, and acquire an encrypted one of the third permutation results based on the encrypted fifth managed information and the encrypted seventh managed information;

encrypt the eighth managed information based on the first public key, and acquire the encrypted sixth managed information based on the encrypted one of the third permutation results and the encrypted eighth managed information; and

transmit the encrypted sixth managed information to the first device, and

wherein the first device is configured to receive the encrypted sixth managed information from the second device and decrypt the received sixth managed information by the first secret key.

20 . A computing method, which is executed by: a first device configured to securely manage first secret information having the number of elements equal to or larger than two and first permutation information for permutating elements having the number of elements; and a second device configured to securely manage second secret information having the number of elements and second permutation information for permutating elements having the number of elements,

the computing method comprising:

acquiring, by the first device, first managed information managed by the first device from among first permutation results obtained as a result of permutating the first secret information based on the first permutation information and the second permutation information and distributively managed by the first device and the second device;

acquiring, by the first device, second managed information managed by the first device from among second permutation results obtained as a result of permutating the second secret information based on the first permutation information and the second permutation information and distributively managed by the first device and the second device;

acquiring, by the second device, third managed information managed by the second device from among the first permutation results;

acquiring, by the second device, fourth managed information managed by the second device from among the second permutation results; and

computing, based on the first managed information, the second managed information, the third managed information, and the fourth managed information, a secret product being a product of the first secret information and the second secret information;

acquiring, by the first device, fifth managed information managed by the first device from among first distributed information distributively managed by the first device and the second device; and

acquiring, by the first device, as the first managed information, sixth managed information managed by the first device from among third permutation results obtained as a result of permutating the first distributed information based on the second permutation information and distributively managed by the first device and the second device,

acquiring, by the second device, seventh managed information managed by the second device from among the first distributed information;

acquiring, by the second device, eighth managed information managed by the second device from among the third permutation results;

acquiring, by the second device, first public information to be disclosed to the first device as ninth managed information managed by the second device among fourth permutation results obtained as a result of permutating the first secret information based on the first permutation information and distributively managed by the first device and the second device; and

transmitting, by the second device, the first public information to the first device,

receiving, by the first device, the first public information from the second device;

acquiring, by the first device, tenth managed information managed by the first device from among the fourth permutation results based on the first public information;

acquiring, by the first device, second public information to be disclosed to the second device based on the tenth managed information and the fifth managed information; and

transmitting, by the first device, the second public information to the second device, and

receiving, by the second device, the second public information from the first device;

acquiring, by the second device, first computation information based on the eighth managed information, the ninth managed information, and the second public information; and

acquiring, by the second device, the third managed information based on the eighth managed information and fifth permutation results obtained by permutating the first computation information based on the second permutation information;

executing training of a learning model in federated learning based on the secret product.