Homomorphic Encrypted String Search via Substring Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Searching large encrypted texts composed of arbitrary character sets is inefficient due to the need for numerous and complex comparisons in homomorphic encryption (HE) space, where the target string is significantly longer than the query string, leading to slow search procedures.
Innovation Solution
The technique involves encoding the target string into a plurality of substrings with reordered character sequences and encrypting them, allowing for simultaneous comparison with query substrings, which are also encoded and hashed, thereby reducing the number of comparisons by utilizing the ring size R of the HE scheme, enabling faster search by comparing R characters at once.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the target string is divided into segments and the query is compared to each segment sequentially using a sliding window, then the search can be performed on encrypted data, but the number of comparisons becomes very large (N-M+1 comparisons)
Solution Approach 1:
The target string is divided into multiple segments, each of length R (ring size), allowing parallel processing. Instead of sequential comparison of N-M+1 segments, the invention processes multiple segments simultaneously by dividing each segment into substrings of length M, enabling batched homomorphic comparisons that reduce the total number of sequential operations.
Solution Approach 2:
The invention transforms the one-dimensional sequential search problem into a multi-dimensional parallel processing structure. By organizing comparisons across multiple segments and substrings in a grid-like structure, the system can perform multiple comparisons in parallel, effectively adding a dimension of parallelism that reduces overall search time.
2Reliability
If homomorphic encryption is used to secure the search, then data privacy is protected, but the comparison computations become at least an order of magnitude more complex
Solution Approach 1:
Instead of performing complete homomorphic comparisons on entire segments, the invention performs partial comparisons on substrings of length M. By breaking down the comparison into smaller units and using batched operations, the system reduces the computational burden of each individual homomorphic operation while maintaining security.
Solution Approach 2:
The invention performs preliminary preprocessing of the target string into segments and substrings before the homomorphic comparison. This pre-organization allows the subsequent homomorphic operations to work on pre-prepared data structures, reducing the complexity of the encryption-based comparisons by having the data ready in an optimal format.
3Ease of operation
If the ring size R is used to limit the maximum length of encrypted strings, then homomorphic operations can be performed, but the target string must be divided into many small segments
Solution Approach 1:
The target string is divided into multiple segments of length R, and each segment is further divided into substrings of length M. This hierarchical segmentation allows the system to work within the constraints of the ring size while maintaining efficient parallel processing across multiple segments simultaneously.
Solution Approach 2:
The invention merges multiple substrings from different segments into a unified comparison framework. By processing multiple substrings in parallel across different segments and combining the results, the system achieves search efficiency that compensates for the fragmentation caused by the ring size constraint.
Data Source
AI summary
An efficient search of a target string by a query string in homomorphically encrypted space. The target string may be encoded by reordering its characters into a plurality of target substrings, each encoding non-sequential characters of the target string separated by a periodic stride K and different target substrings having stride sequences offset relative to each other. The query string may be encoded into a plurality of query substrings, each defining a repeating sequence of a different respective character value in the query string. Each of the substrings may be homomorphically encrypted and hashed. The plurality of hashed encrypted target substrings and plurality of hashed encrypted query substrings may be compared to determine if there is a search result match. A rolling hash may iteratively update the plurality of hashed encrypted target substrings by one target string slot and the comparison may be repeated for each iterative update.


