Systems and methods for secure multi-party computation protocol execution using check points
AssigneeEnveil, Inc.
InventorsRyan Carr, Jeffery Hein, Claire Tomesch
Life of this patent
Estimating the term…
Abstract
An encryption system and method are provided that provide the ability to execute a secure multi-party computation (SMPC) protocol to compute a large function using check points. At each checkpoint, respective parties to the computation write out some encrypted data that can be used to initiate the next stage of the computation between the present check point and the next check point. In this manner, if any participating party experiences a failure, such as a network outage, system crash, disk corruption, etc., during the protocol execution, there is no need to re-start the entire protocol from scratch. This allows for large functions to be practically computed using SMPC.
Claims20
A method comprising:
- a) establishing a communication link between a first party device and a second party device;
- b) jointly dividing a function to be computed into a multi-staged function by the first party device and the second party device;
- c) jointly choosing an encryption function E by the first party and second party devices;
- d) jointly constructing a multi-stage Secure Multi-Party Computation (SMPC)-compatible function, by the first party device and the second party device, such that each stage of the multi-stage SMPC-compatible function is compatible with a corresponding stage of the multi-staged function;
- e) jointly executing a multi-stage SMPC protocol to jointly compute the multi-stage SMPC-compatible function by the first party device and the second party device;
- f) triggering a checkpoint event upon separately determining a failure in the joint computation of the multi-stage SMPC-compatible function at a current stage of execution;
- and
- g) restarting the multi-stage SMPC protocol from the current stage of execution in response to the checkpoint event.
A system comprising:
- a memory;
- and
- a processor communicatively coupled to the memory, the memory storing instructions executable by the processor to:
- a) establish a communication link between a first party device and a second party device;
- b) jointly divide a function to be computed into a multi-staged function by the first party device and the second party device;
- c) jointly choose an encryption function E by the first party and second party devices;
- d) jointly construct a multi-stage Secure Multi-Party Computation (SMPC)-compatible function, by the first party device and the second party device, such that each stage of the multi-stage SMPC-compatible function is compatible with a corresponding stage of the multi-staged function;
- e) jointly execute a multi-stage SMPC protocol to jointly compute the multi-stage SMPC-compatible function by the first party device and the second party device;
- f) trigger a checkpoint event upon separately determining a failure in the joint computation of the multi-stage SMPC-compatible function at a current stage of execution;
- and
- g) restart the multi-stage SMPC protocol from the current stage of execution in response to the checkpoint event.
Dependencies are inferred from the claim text.