IP Library › Granted Patent US 12,244,711
Granted Patent B2
US 12,244,711 · App. 18/040,033 · Granted Mar 4, 2025

Secure massively parallel computation for dishonest majority

Inventors: Rex Fernando (Pittsburgh, PA); Ilan Komargodski (Tel Aviv, IL); Runting Shi (Pittsburgh, PA)
Assignees: NTT Research, Inc.; Cornell University
H04L9/30H04L9/008
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 12,244,711
App. No.
18/040,033
Granted
Mar 4, 2025
Kind
B2
Abstract

Systems, methods, network devices, and machine-readable media disclosed herein include executing a secure algorithm for computing on a plurality of machines in a cluster by receiving a large input message and dividing the large input message into a plurality of initial input messages, computing an encryption of initial input messages, and evaluating a cluster computing circuit using a homomorphic encryption scheme.

Claims (44)

1. A method for executing a secure algorithm for computing on a plurality of machines in a cluster, the method comprising:

establishing a public key infrastructure, the public key infrastructure further comprising a public key and a plurality of secret keys for a homomorphic encryption scheme, each of the secret keys associated with one of the plurality of machines, wherein the machines each comprise at least one computer processor unit and memory storage unit;

transmitting the secret keys to the machines with which they are associated;

receiving a large input message for operation in the plurality of machines and dividing the large input message into a plurality of initial input messages capable of being stored within the memory storage unit of each of the machines;

transmitting the initial input messages to each machine;

computing an encryption of an initial state at each machine and the initial input message using the public key;

evaluating a cluster computing circuit using the homomorphic encryption scheme;

in a decryption phase, at each machine:

receiving the ciphertext output from another one of the machines in the cluster as a ciphertext input;

computing a partial homomorphic decryption of the ciphertext output using the secret key associated with the machine;

at each machine except for a selected first machine, transmitting the partial decryption to the selected first machine in a tree-like fashion to combine the partial decryptions;

at the first machine receiving the combined partial decryption; and

decrypting the combined partial decryptions and storing the combined output on a storage media;

wherein the cluster computing circuit further comprises a protocol for execution on a plurality of machines and the protocol is configured for computing a pre-defined functionality, and

wherein the pre-defined functionality is an output having a size that fits within the memory storage unit of the machine.

2. The method of claim 1 , wherein the algorithm is secure against all-but-one of the machines being corrupted or controlled by an adversary.

3. The method of claim 1 , wherein the cluster computing circuit is configured to output a trained machine learning model.

4. The method of claim 1 , further comprising repeating the decryption phase an arbitrary number of times, wherein the pre-defined functionality is an output having a size that exceeds the memory storage unit of the machine.

5. The method of claim 1 , wherein the combining is executed by performing a sum of the partial decryptions.

6. The method of claim 1 , wherein the combined partial decryption output can fit within the storage space of a single machine.

7. The method of claim 1 , wherein the output of each machine is an encrypted version of an insecure massively parallel computation algorithm using a threshold fully homomorphic encryption scheme.

8. A system for executing a secure algorithm for computing on a plurality of machines in a cluster, the system comprising:

a processor with computer-executable instructions configured for:

establishing a public key infrastructure, the public key infrastructure further comprising a public key and a plurality of secret keys for a homomorphic encryption scheme, each of the secret keys associated with one of the plurality of machines, wherein the machines each comprise at least one computer processor unit and memory storage unit;

transmitting the secret keys to the machines with which they are associated;

a plurality of machines in a cluster, the machines comprising processors with computer-executable instructions configured for:

receiving a large input message for operation in the plurality of machines and dividing the large input message into a plurality of initial input messages capable of being stored within the memory storage unit of each of the machines;

transmitting the initial input messages to each machine;

computing an encryption of an initial state at each machine and the initial input message using the public key;

evaluating a cluster computing circuit using the homomorphic encryption scheme;

in a decryption phase, at each machine:

receiving the ciphertext output from another one of the machines in the cluster as a ciphertext input;

computing a partial homomorphic decryption of the ciphertext output using the secret key associated with the machine;

at each machine except for a selected first machine, transmitting the partial decryption to the selected first machine in a tree-like fashion to combine the partial decryptions;

at the first machine receiving the combined partial decryption; and

decrypting the combined partial decryptions and storing the combined output on a storage media;

wherein the cluster computing circuit further comprises a protocol for execution on a plurality of machines and the protocol is configured for computing a pre-defined functionality, and

wherein the pre-defined functionality is an output having a size that fits within the memory storage unit of the machine.

9. The system of claim 8 , wherein the algorithm is secure against all-but-one of the machines being corrupted or controlled by an adversary.

10. The system of claim 8 , wherein the cluster computing circuit is configured to output a trained machine learning model.

11. The system of claim 8 , further comprising repeating the decryption phase an arbitrary number of times, wherein the pre-defined functionality is an output having a size that exceeds the memory storage unit of the machine.

12. The system of claim 8 , wherein the combining is executed by performing a sum of the partial decryptions.

13. The system of claim 8 , wherein the combined partial decryption output can fit within the storage space of a single machine.

14. The system of claim 8 , wherein the output of each machine is an encrypted version of an insecure massively parallel computation algorithm using a threshold fully homomorphic encryption scheme.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2025
From: FERNANDO, REX; KOMARGODSKI, ILAN; SHI, RUNTING
To: CORNELL UNIVERSITY; NTT RESEARCH, INC.
Reel/Frame 069978/0958 →
Continuity (2)
Provisional Application 63059962 · Jul 31, 2020
Related Publication 20230344628A1 · Oct 26, 2023
References Cited (16)
US 9774578B1 · Ateniese · 2017 [cited by examiner]
US 20160149866A1 · Dolev · 2016 [cited by examiner]
US 20180068280A1 · Micali · 2018 [cited by examiner]
US 20180276417A1 · Cerezo Sanchez · 2018 [cited by examiner]
US 20190386814A1 · Ahmed · 2019 [cited by examiner]
US 20200186356A1 · Veeningen · 2020 [cited by examiner]
US 20200242234A1 · Furukawa · 2020 [cited by examiner]
US 20210391987A1 · Badrinarayanan · 2021 [cited by examiner]
US 20220247551A1 · Joye · 2022 [cited by examiner]
US 20230188319A1 · Froelicher · 2023 [cited by examiner]
US 20230396420A1 · Badrinarayanan · 2023 [cited by examiner]
US 20240121098A1 · Herder, III · 2024 [cited by examiner]
Chan et al., MPC for MPC: Secure Computation on a Massively Parallel Computing Architecture, 11th Innovations in Theoretical Computer Science Conference, Jan. 2020, 52 pgs. [cited by applicant]
Katz et al., Round Efficiency of Multi-party Computation with a Dishonest Majority, International Conference on the Theory and Applications of Cryptographic Techniques, 2003, (pp. 578-595), 18 pgs. [cited by applicant]
Koutris et al., Algorithmic Aspects of Parallel Data Processing, 2018, pp. 239-370, 19 pgs. [cited by applicant]
International Search Report and Written Opinion in PCT/US2021/043770, 7 pgs. [cited by applicant]