Homomorphic Encryption Search via Offline Preprocessing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Homomorphic encryption mechanisms are computationally intensive, making real-time searches over large encrypted data impractical due to long computation times and significant resource requirements, which hinders efficient retrieval and security in applications like secure network traffic management.
Innovation Solution
An apparatus and method that combines encrypted datasets using a symmetrical encryption key to create an encrypted third dataset, optimizing performance by reducing computation time and resource usage, while maintaining security and functionality, particularly through vector inner product operations on large datasets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If homomorphic encryption mechanisms are used to perform operations on encrypted data, then security is improved, but computation time and resource requirements increase significantly
Solution Approach 1:
The patent segments the computation process into two phases: an offline preprocessing phase where encrypted datasets are prepared and stored in a database, and an online query phase where search operations are performed. This segmentation allows computationally intensive operations to be performed in advance when resources are available, while queries execute quickly when needed, thus resolving the contradiction between security and computation time.
Solution Approach 2:
The patent performs preliminary actions by pre-processing encrypted datasets during an offline phase, including creating encrypted indexes and preparing data structures before they are stored in the database. This preliminary preparation reduces the computational burden during actual search operations, enabling fast query execution while maintaining security through homomorphic encryption.
2Reliability
If homomorphic encryption mechanisms are used to perform operations on encrypted data, then security is improved, but computation resources (memory, processors) increase significantly
Solution Approach 1:
The patent divides the system into a client component that performs lightweight encryption and query operations, and a server component that stores pre-processed encrypted data. This segmentation reduces the computational resource requirements on individual devices, as the heavy lifting is distributed to the server during offline preprocessing, while the client maintains low resource usage.
Solution Approach 2:
The patent creates encrypted copies of datasets and stores them in a database structure optimized for efficient retrieval. By pre-processing and storing encrypted versions of data in optimized formats, the system reduces the computational resources needed during actual search operations, as the server can perform operations on pre-processed encrypted data rather than raw encrypted data.
3Adaptability or versatility
If general-purpose homomorphic encryption mechanisms are used, then functionality is improved, but computational efficiency for large datasets deteriorates
Solution Approach 1:
The patent applies local quality by designing a specialized encryption and data structure system tailored specifically for search operations on encrypted data. Rather than using general-purpose homomorphic encryption for all operations, the system optimizes the encryption scheme and data structures locally for the specific task of encrypted search, improving computational efficiency for this particular functionality while maintaining security.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is provided an apparatus for searching over an encrypted dataset, the apparatus is configured to: receive a first dataset arranged in a data structure having a first dimension; receive a second dataset having a second dimension, the second dimension being equal to first dimension; generate a symmetrical encryption key according to the first dimension; encrypt the first dataset using the symmetrical encryption key; encrypt the second dataset using the symmetrical encryption key; transmit the encrypted first dataset and the encrypted second dataset to a server for storage; receive from the server an encrypted third dataset; decrypt the encrypted third dataset using the symmetrical encryption key; and output the decrypted third dataset; wherein the encrypted third dataset is a combination of the encrypted first dataset and the encrypted second dataset, wherein combination is performed while the first dataset and the second dataset are in the encrypted state.