Secure Multi-Party Computation via Garbled Circuit Execution Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-party computation libraries face high learning costs due to custom high-level languages, require complex programming, and have high usage costs, making it difficult to embed secure multi-party computation into existing service programs and codes.
Innovation Solution
A method and device that dynamically convert multi-party computation programs into garbled circuits, enabling simultaneous compilation and execution through an execution engine, allowing for secure data encryption and processing between multiple parties without leaking input values, using a pipelining approach that supports languages like Java without special compilation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If custom high-level languages or custom languages similar to high-level languages are used for multi-party computation programs, then the computation can be performed securely, but the learning cost becomes high
Solution Approach 1:
The patent applies universality by enabling multi-party computation to work with existing mainstream high-level languages (Java, C#, etc.) through a language adapter, rather than requiring custom languages. The language adapter translates between mainstream language syntax and the multi-party computation protocol, allowing secure computation while maintaining compatibility with familiar programming languages, thus reducing learning costs while preserving security
2Reliability
If custom high-level languages or custom languages similar to high-level languages are used for multi-party computation programs, then secure computation can be achieved, but the programming complexity increases
Solution Approach 1:
The patent introduces a language adapter as an intermediary component that mediates between mainstream high-level languages and the multi-party computation protocol. This adapter handles the complexity of protocol translation, allowing users to write code in familiar languages while the adapter manages the secure computation protocol details, thus reducing programming complexity while maintaining security
3Reliability
If a two-step process is used for generation and execution of multi-party computation protocol, then secure computation can be performed, but the usage cost becomes extremely high
Solution Approach 1:
The patent merges the generation and execution steps into a single integrated process. The language adapter performs both compilation of the high-level language code into computation protocols and execution of those protocols in one unified workflow, eliminating the need for separate generation and execution steps, thus significantly reducing usage costs while maintaining secure computation
4Reliability
If conventional multi-party computation libraries are used, then secure computation can be implemented, but they cannot be easily embedded into existing service programs and combined with existing codes
Solution Approach 1:
The patent enhances adaptability by designing a language adapter that works with multiple mainstream high-level languages (Java, C#, etc.) and can be integrated into existing service programs. The adapter serves as a universal interface that translates various language syntaxes into the multi-party computation protocol, allowing secure computation to be embedded into existing codes without requiring complete rewriting, thus improving integration capability while maintaining security
Data Source
AI summary
Embodiments of a secure multi-party computation method are provided. The method can include: dynamically converting a multi-party computation program segment into a first garbled circuit by using a multi-party computation operator of a first main body, and executing garbled gates of the first garbled circuit in sequence through an execution engine of the first main body, to encrypt data of the first main body; transmitting to a second main body the encrypted data of the first main body and identifiers for garbled gates of the first garbled circuit; performing a second encryption on the encrypted data of the first main body by the second main body in sequence according to the received identifiers for the garbled gates of the first garbled circuit, and returning to the first main body a result of the second encryption on the encrypted data of the first main body.


