Homomorphic Encryption Packing to Reduce Convolution Rotations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing homomorphic encryption methods are inefficient in packing data for operations and require excessive rotation operations during convolution, leading to prolonged processing times.
Innovation Solution
A method and apparatus that generate packing data for encrypted input data using duplication and rotation operations, optimizing convolution operations through selective hoisting and rotation techniques to reduce the number of rotation operations and enhance processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is packed densely in one ciphertext to reduce operation time, then processing speed improves, but data arrangement complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-arranging input data into packed format before encryption operations. The data is organized with duplication constants and packing constants applied in advance, creating a structured layout that enables efficient batch processing. This preliminary organization reduces the need for complex rearrangements during subsequent homomorphic operations.
Solution Approach 2:
The patent segments data processing into distinct operational phases: data packing with specific constants, encryption operations on packed data, and result extraction. By dividing the convolution operation into segments that operate on packed ciphertexts, the system achieves higher throughput while managing complexity through structured data organization.
2Measurement precision
If rotation operations are performed frequently during convolution on ciphertext, then convolution accuracy is maintained, but total operation time increases
Solution Approach 1:
The patent applies partial action by selectively performing rotation operations only when necessary for maintaining convolution accuracy. Instead of rotating at every operation step, the system determines optimal rotation points based on the packed data structure, reducing the total number of rotation operations while preserving computational correctness.
Solution Approach 2:
The patent changes operational parameters by introducing packing constants and duplication constants that transform the data layout. This parameter change enables the system to perform multiple convolution operations in parallel on packed data, reducing the frequency of rotation operations needed while maintaining accuracy through the structured packing format.
3Reliability
If multiple rotation operations are performed to handle different kernel groups, then convolution completeness is achieved, but processing efficiency decreases
Solution Approach 1:
The patent merges multiple rotation operations into a unified packed data processing approach. By combining multiple input data elements into a single packed ciphertext structure with appropriate constants, the system performs convolution operations that simultaneously handle multiple kernel groups, reducing the total number of rotation operations required while maintaining complete convolution coverage.
Solution Approach 2:
The packed data structure serves multiple functions: it enables parallel processing of multiple input elements, maintains convolution accuracy across different kernel groups, and reduces the frequency of rotation operations. This multi-functional design allows a single operational framework to handle diverse convolution requirements efficiently.
Data Source
AI summary
A processor-implemented method including generating packing data of encrypted input data, based on a packing constant and a duplication constant, generating an operation result set based on a homomorphic encryption operation for a convolution operation on each of kernels belonging to a same group in the kernel set and the packing data, and generating a convolution operation result of the encrypted input data based on a rotation operation of operation result sets generated corresponding to groups in the kernel set.


