Privacy-Preserving Server for FHE Noise-Limited Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing encryption systems, such as Fully Homomorphic Encryption (FHE), are impractical for performing certain operations and can only handle a finite number of operations before noise prevents further processing, while decrypting encrypted data for operations exposes it to vulnerabilities and is resource-intensive.
Innovation Solution
A privacy-preserving server decrypts encrypted data to perform operations that are not feasible over FHE-encrypted data, then re-encrypts the output, maintaining data privacy and optimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Fully Homomorphic Encryption (FHE) is used to perform operations on encrypted data, then data privacy is preserved, but only a finite number of operations can be performed before noise prevents further processing
Solution Approach 1:
The patent introduces a privacy-preserving server as an intermediary between the client and the encrypted data. The server holds the secret key and performs decryption operations on behalf of the client, allowing unlimited operations to be performed on decrypted data while the client only interacts with encrypted data. This mediator architecture resolves the contradiction by enabling unlimited productivity (operations) while maintaining reliability (privacy) through the server's controlled decryption capability.
2Adaptability or versatility
If encrypted data is decrypted to perform operations, then more types of operations become feasible, but data exposure vulnerabilities increase and resource consumption increases
Solution Approach 1:
The privacy-preserving server acts as a trusted intermediary that performs decryption and operations in a secure environment. The client never possesses the secret key and only interacts with encrypted data, eliminating data exposure vulnerabilities on the client side. The server's controlled decryption environment allows versatile operations while maintaining security, resolving the contradiction between adaptability and harmful factors.
Solution Approach 2:
The system allows the client to work with encrypted copies of the data while the server works with decrypted copies. This copying mechanism enables the client to perform operations on encrypted data (maintaining privacy) while the server can perform any operation type on decrypted copies (achieving versatility) without exposing the original data.
3Adaptability or versatility
If encrypted data is decrypted for operations, then computational flexibility improves, but computational resource consumption increases
Solution Approach 1:
The system segments the computational workload between the client and server. The client performs lightweight operations on encrypted data (maintaining flexibility), while the server performs resource-intensive decryption and complex operations (reducing client resource consumption). This segmentation resolves the contradiction by distributing computational flexibility and resource consumption across different system components.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Certain aspects of the present disclosure provide techniques for performing computations on encrypted data. One example method generally includes obtaining, at a computing device, encrypted data, wherein the encrypted data is encrypted using fully homomorphic encryption and performing at least one computation on the encrypted data while the encrypted data remains encrypted. The method further includes identifying a clear data operation to perform on the encrypted data and transmitting, from the computing device to a server, a request to perform the clear data operation on the encrypted data, wherein the request includes the encrypted data. The method further includes receiving, at the computing device in response to the request, encrypted output from the server, wherein the encrypted output is of the same size and the same format for all encrypted data transmitted to the server.