Secure Computation Compiler Optimization via Expression Rewriting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Secure multi-party computation protocols suffer from poor performance compared to non-secure computations, and manual optimization methods are difficult to scale and optimize effectively.
Innovation Solution
An automatic compiler optimization method that transforms human-readable secure computation programs into optimized protocols by applying cost-driven rewriting rules to localize calculations, reducing the number of cryptographic steps and improving efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secure multi-party computation protocols are implemented, then security guarantees are provided, but performance deteriorates compared to non-secure computations
Solution Approach 1:
The computation is divided into local computations performed by individual parties and centralized cryptographic operations. The rewriting rules identify expressions that can be evaluated locally without requiring secure multi-party computation, thereby segmenting the workload to improve performance while maintaining security guarantees for the critical cryptographic operations.
Solution Approach 2:
The system performs preliminary analysis of the computation program to identify and rewrite expressions that can be localized before execution. By pre-processing the program to determine which computations can be performed locally by individual parties, the system avoids unnecessary cryptographic operations during actual execution, thus improving performance while preserving security.
2Productivity
If manual optimization methods are applied to secure computation protocols, then performance improves, but scalability deteriorates
Solution Approach 1:
The system implements an automated rewriting framework that performs optimization without requiring manual intervention. The rewriting rules and cost-driven heuristic automatically analyze the computation program, identify optimization opportunities, and generate optimized code, thereby eliminating the need for manual optimization while maintaining high performance and enabling scalability.
Solution Approach 2:
The system introduces a cost metric that quantifies the computational expense of different evaluation strategies. By assigning costs to different computation patterns and using a cost-driven heuristic to select optimal evaluation strategies, the system automatically transforms programs to minimize cryptographic operations without requiring manual tuning or complex optimization procedures.
3Reliability
If cryptographic operations are performed for secure computation, then security is maintained, but computational complexity increases
Solution Approach 1:
The system extracts and identifies expressions that can be evaluated locally without requiring cryptographic operations. By separating local computations from cryptographic operations, the system eliminates unnecessary computational complexity while maintaining security guarantees for the essential cryptographic operations that cannot be avoided.
Data Source
AI summary
Implementations of the present disclosure are directed to provide secure, multi-party computation and include actions of receiving a program, the program being human-readable and including one or more expressions to provide secure computation based on inputs provided by two or more parties, the program providing a secure computation protocol including at least one calculation that is performed on behalf of the two or more parties, processing the program and one or more rewriting rules in view of a cost-driven heuristic to automatically generate a rewritten program, the rewritten program including a structure that enables localization of one or more calculations and providing an optimized secure computation protocol that localizes the at least one calculation to be performed by at least one of the two or more parties, and compiling the rewritten program to generate a computer-executable program.


