Homomorphic Encryption Wildcard Pattern Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current secure pattern matching techniques using homomorphic encryption are not practical for handling special characters like wild cards, limiting their general applicability and efficiency in secure data processing.
Innovation Solution
A method involving numerical vectorization, polynomial transformation, and homomorphic encryption is employed to perform pattern matching while keeping data encrypted, using operations such as squaring and cubing components of numerical vectors and transforming them into polynomials, which are then encrypted and processed using a homomorphic encryption scheme, allowing for secure pattern matching with wild cards.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If homomorphic encryption is used for secure pattern matching, then data security is improved, but the ability to handle special characters like wild cards deteriorates
Solution Approach 1:
The pattern matching process is segmented into multiple polynomial operations (squaring, cubing, inner product calculations) that can independently handle different character types. This segmentation allows the system to process wild cards and regular characters through separate computational paths while maintaining encryption throughout.
Solution Approach 2:
The invention changes the parameter representation by transforming numerical vectors into polynomials with specific degree constraints. This parameter transformation enables the encrypted data to represent multiple states (exact match, wild card match, no match) through polynomial coefficient relationships, thereby increasing adaptability while maintaining security.
2Reliability
If homomorphic encryption is used for pattern matching, then data security is improved, but processing efficiency deteriorates
Solution Approach 1:
The system performs preliminary actions by pre-computing and storing squared and cubed polynomial forms of the encrypted text data. These pre-computed polynomials are stored in advance, eliminating the need to perform computationally intensive squaring and cubing operations during the actual pattern matching process, thereby improving efficiency while maintaining security.
Solution Approach 2:
Multiple polynomial operations (squaring, cubing, inner product) are merged into a unified homomorphic encryption framework. By combining these operations into a single encrypted computational flow, the system reduces the number of separate decryption-encryption cycles needed, thereby improving processing efficiency while maintaining data security throughout.
3Adaptability or versatility
If polynomial transformation is applied to numerical vectors, then pattern matching capability is improved, but data complexity increases
Solution Approach 1:
The invention applies local quality by assigning different polynomial degree constraints to different components of the data. Specifically, the text polynomial is constrained to degree n while the pattern polynomial is constrained to degree m, where these degrees are locally optimized for their respective roles. This local differentiation simplifies the overall computational complexity while maintaining comprehensive pattern matching capability.
Data Source
Figure 1~4
Figure 2(A)~2(D)
Figure 3
AI summary
A matching method includes: generating a first numerical vector; generating a second numerical vector by squaring each component of the first numerical vector and a third numerical vector by cubing each component of the first numerical vector; generating first to third polynomials by executing polynomial transformation of the first to third numerical vectors; encrypting the first to third polynomials by a homomorphic encryption scheme; executing a predetermined operation while keeping data used in the predetermined operation encrypted, by using fourth to sixth polynomials obtained by the polynomial transformation and the homomorphic encryption of fourth to sixth numerical vectors, wherein the fourth numerical vector is generated by numerically vectorizing second text, the fifth numerical vector is generated by squaring each component of the fourth numerical vector, and the sixth numerical vector is generated by cubing each component of the fourth numerical vector; and decrypting a result of the predetermined operation.