Neural Network Inference With Partial Homomorphic Encryption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing fully homomorphic encryption (FHE) schemes are limited by the depth of neural networks and the size of digital content due to large ciphertexts and noise accumulation, leading to inefficiencies in processing confidential data.
Innovation Solution
A method using a partially homomorphic encryption protocol homomorphic with respect to addition is iteratively applied between a client device and a processing device, allowing the client to encrypt and decrypt data while delegating multiplicative operations to the processing device, thus processing confidential digital content efficiently without revealing the content.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fully homomorphic encryption (FHE) is used to encrypt digital content, then data confidentiality is maintained, but ciphertext size becomes very large leading to data inflation
Solution Approach 1:
The patent changes the encryption parameter from fully homomorphic encryption to partially homomorphic encryption (specifically Paillier cryptosystem), which is homomorphic with respect to addition only. This parameter change reduces ciphertext size while still enabling the required operations for neural network processing through iterative encryption-decryption-encryption cycles.
2Reliability
If fully homomorphic encryption (FHE) is used to encrypt digital content, then data confidentiality is maintained, but processing speed becomes very slow
Solution Approach 1:
The patent changes the encryption parameter from fully homomorphic encryption to partially homomorphic encryption, which has lower computational overhead and faster encryption/decryption speeds. The iterative approach with partial homomorphism achieves comparable security with significantly improved processing speed.
3Reliability
If fully homomorphic encryption (FHE) is used, then encryption is possible, but the number of successive multiplications is limited due to noise accumulation
Solution Approach 1:
The patent segments the neural network processing into iterative stages, where each stage processes a subset of layers. Between stages, the ciphertext is decrypted and re-encrypted. This segmentation resets noise accumulation, enabling processing of deep neural networks with many layers that would be impossible with a single FHE encryption pass.
Solution Approach 2:
The patent implements periodic decryption and re-encryption at intermediate stages of neural network processing. This periodic action prevents noise from accumulating beyond acceptable thresholds, allowing the system to handle deeper networks by breaking the processing into periodic cycles rather than a single continuous operation.
4Productivity
If partially homomorphic encryption homomorphic with respect to addition is used, then ciphertext size is reduced and processing speed improves, but only additive operations are directly supported
Solution Approach 1:
The patent merges multiple operations into the iterative process: additive operations are performed directly on ciphertext using partial homomorphism, while multiplicative operations (weights application) are performed after decryption. The combination of these approaches in an iterative framework achieves both efficiency and versatility for complete neural network processing.
Data Source
Figure 1~2
Figure 3
Figure 4~5
AI summary
A method for processing a digital content by a client device, comprising: - obtaining a plaintext representative of the content, and information regarding a neural network comprising a plurality of layers; - iterating over the layers, comprising: • encrypting the plaintext by applying an encryption protocol being homomorphic with respect to addition to the plaintext; • sending the resulting ciphertext to a processing device; • receiving a processed ciphertext from the processing device, the processed ciphertext being determined by the processing device by applying weights of a current layer to the ciphertext; • decrypting the processed ciphertext; • processing the decrypted processed ciphertext to obtain a processed plaintext, by applying an activation function of the current layer to the decrypted processed ciphertext, wherein in a next iteration, the processed plaintext is used as the plaintext; - obtaining an output plaintext equal to the processed plaintext of a last iteration.