Efficient wildcard keyword searching method and system for encrypted data
Through new feature extraction technology and symmetric subset predicate encryption, combined with XOR filter, the problem of character sequence false positives and feature matching pattern leakage in wildcard symmetric searchable encryption is solved, and efficient and accurate encrypted data search is achieved.
Patent Information
- Application Number
- CN202411915126.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-24
- Publication Date
- 2025-04-11
AI Technical Summary
Existing wildcard symmetric searchable encryption schemes cannot eliminate false positives in character order, and there are problems with feature matching patterns leaks and high storage overhead.
New feature extraction technology is adopted to extract positive, reverse and 2-gram features, combined with symmetric subset predicate encryption and XOR filters, to reduce feature matching pattern leakage and storage overhead.
It effectively eliminates character sequence false positives, reduces feature matching pattern leakage and storage overhead, and improves search efficiency and accuracy.
Smart Images

Figure CN119808156A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to but is not limited to the field of symmetric searchable encryption technology, and in particular relates to an efficient wildcard keyword search method and system for encrypted data. Background Art
[0002] With the rise of cloud computing, more and more data is hosted in the cloud. However, cloud storage providers often cannot be trusted to protect the privacy of the data they host. A straightforward solution is to encrypt the data before uploading it to the cloud server, which hinders the searchability of the data. Symmetric searchable encryption (SSE) enables users to store encrypted data on cloud servers while still being able to perform secure queries on that data. The concept of symmetric searchable encryption was first proposed by Song et al., and subsequent research has explored various aspects of SSE, including enhanced query capabilities, advanced security paradigms, and performance optimization strategies. Despite these advances, quite a few existing SSE schemes focus primarily on exact keyword matching, which, while highly efficient, lacks expressive power in many practical applications and cannot adapt to wildcard-based keyword searches.
[0003] Pioneering work on wildcard keyword searching of encrypted data was initiated by Sedghi et al. Their seminal contribution proposed the first wildcard searchable encryption scheme that leverages Hidden Vector Encryption (HVE) technology. However, this groundbreaking approach is hampered by the computational overhead associated with asymmetric encryption operations, limiting its practical applicability. Its development in the field of searchable encryption highlights the ongoing tension between functionality expansion and computational efficiency.
[0004] The pursuit of efficient wildcard keyword querying in SSE has led to several major advances in the field. Bosch et al. pioneered the field by introducing the first wildcard SSE scheme that used a Bloom filter for each document. While innovative, this approach was limited to single-character wildcards and faced challenges in scalability. Subsequent work by Suga et al. achieved significant improvements by introducing a keyword feature extraction approach. By integrating this approach with Bloom filters and leveraging an inverted index structure, they achieved Sublinear search complexity and optimal threshold communication. However, the applicability of this scheme is still limited to single-character wildcard queries.
[0005] To address this limitation, Hu et al. extended the framework of Suga et al. by introducing different feature types, including normal order, reverse order, and existence. This enhancement facilitated a more flexible multi-character wildcard SSE system. Meanwhile, Zhao et al. designed an innovative Bloom filter-based wildcard SSE scheme that is able to support single-character and multi-character wildcard queries. Their approach incorporates additional features such as character distance and frequency of occurrence to improve query precision. Zhang et al. achieved further improvement in search performance by introducing a tree-based index structure. This scheme stratifies various features into layers to speed up query processing. In the BF layer, Bloom filters continue to play a vital role in representing keyword features. Despite these progressive developments, a common challenge remains in the above Bloom filter-based schemes: the storage requirements are proportional to the expansion of the Bloom filters. This scalability issue provides an ongoing optimization area for the design of efficient wildcard SSE systems.
[0006] Existing technical solutions
[0007] Suga et al. initialize wildcard keyword search for encrypted data based on feature extraction and Bloom filter. Specifically, for a given keyword, it first extracts the features of the keyword and then inserts them into the corresponding Bloom filter. When querying a wildcard keyword, the user also accurately obtains all the features, and then the server determines whether all the features are in a Bloom filter. If so, the server returns the encrypted identifier corresponding to the Bloom filter. However, this scheme can only handle the case where a wildcard in the query keyword can only represent one unspecified character. To this end, Hu et al. proposed a new feature extraction method, that is, a wildcard in the queried keyword can represent any number of unspecified characters. However, these wildcard SSE schemes based on Bloom filters are susceptible to storage expansion. Specifically, given the false alarm probability ∈=2-λ, the storage overhead of inserting N elements is 1.44λN.
[0008] To reduce storage overhead, Wu et al. proposed a new wildcard SSE scheme based on XOR filters. In detail, the XOR filter is a space-efficient probabilistic data structure similar to the Bloom filter, but it provides better performance in terms of storage consumption. When inserting N elements and setting the false positive probability to ε = 2-λ, the storage requirement is 1.23λN, reducing the overhead by 15%.
[0009] Li et al.
[10] made a significant contribution by introducing a fully wildcard searchable encryption scheme that leverages inner product encryption (IPE). This approach successfully eliminates false positives in character order and achieves a high level of security and functionality. However, the reliance on computationally intensive pairing operations introduces a trade-off between performance and capability. In a recent advance, Wang et al. proposed an innovative wildcard keyword search scheme that accommodates highly flexible wildcard queries and supports both single-character and multi-character wildcards.
[0010] In view of the above analysis, the technical problems that need to be solved urgently in the prior art are:
[0011] (1) Existing wildcard symmetric searchable encryption schemes cannot eliminate the problem of false positives in character order.
[0012] (2) In most existing feature matching schemes, the server checks whether each feature of the query keyword matches the encrypted keyword feature based on a Bloom filter or an XOR filter, which may lead to the problem of feature matching pattern leakage.
[0013] The technical problems are as follows:
[0014] (1) How to reduce or eliminate character sequence false positives in implementing wildcard searchable encryption, that is, the server cannot recognize the sequence between the first and last wildcard characters.
[0015] (2) How to solve the problem of reducing the leakage of feature matching patterns when the server checks whether the features of the query keyword match the features of the encrypted keyword one by one based on the Bloom filter or the XOR filter.
[0016] (3) How to further reduce the storage and query overhead during the search process and improve search performance. Summary of the invention
[0017] In view of the problems existing in the prior art, the present invention provides a wildcard symmetric searchable encryption method which eliminates character sequence false alarms and feature matching pattern leakage and has high query efficiency.
[0018] The present invention is implemented as follows: an efficient wildcard keyword search method for encrypted data comprises the following steps:
[0019] Step 1: Initialization stage: the user first initializes an empty encrypted database EDB, and then for each keyword w in the database DB i , by calling IndexSet(w i ) Extract the feature set of keyword w By calling the encryption algorithm in symmetric subset predicate encryption encryption and symmetric encryption algorithm SE.Enc(K,DB(w i )) Encryption contains keyword w i The document identifier is then stored in an encrypted database and outsourced to a cloud server. The key SK = (K, msk) is stored by the user himself, where K is the symmetric key in the symmetric encryption algorithm and msk is the master key in the symmetric subset predicate encryption algorithm.
[0020] Step 2: User query stage: the user first enters the keyword w containing a wildcard q Call TrapSet(w q ) Generate a query set Then the user passes The algorithm is a query set Calculate the decryption key tk, and finally the user sends tk as a search trap to the cloud server; the cloud server receives the search trap sent by the user and traverses the encrypted database to check whether each item matches the query keyword;
[0021] Step 3: User decryption phase: For the ciphertext identifier, the user uses the key K to obtain the corresponding identifier.
[0022] Further, the symmetric key encryption (SE) protocol consists of three algorithms that run in polynomial time:
[0023] (1)KeyGen(1 λ ): Given a security parameter λ, the algorithm generates a secret key K;
[0024] (2) Encrypt(K,m): Input key K and message m, the algorithm generates ciphertext c;
[0025] (3) Decrypt(K,c): Input key K and ciphertext c, output is the corresponding message m or an error symbol
[0026] Furthermore, symmetric subset predicate encryption (S 2 PE) consists of four polynomial time algorithms: S 2 PE=(S 2 PE.Setup,S 2 PE.KeyGen,S 2 PE.Enc,S 2 PE.Dec); defined as follows:
[0027] (1)S 2 PE.Setup(1 λ): Given a security parameter λ, the algorithm generates a master key msk, defines a message space M, and establishes a universal set U;
[0028] (2)S 2 PE.KeyGen(msk,X): After receiving the master key msk and the predicate set After that, the algorithm generates the decryption key sk X ;
[0029] (3)S 2 PE.Enc(msk,msg,Y): This encryption function uses the master key msk, the message msg∈M and the attribute set Generate ciphertext ct ;
[0030] (4)S 2 PE.Dec(sk X ,ct): The decryption algorithm uses the decryption key sk X Generate the original message msg or error message with the ciphertext ct
[0031] Furthermore, the feature extraction algorithms include the index and trapdoor extraction algorithms IndexSet and TrapSet, which are used to extract positive order, reverse order and 2-gram;
[0032] (1) Feature extraction of the index: For the keyword “cloud” that generates the search index, we get the set S by running IndexSet. index ←S1∪S2∪S3;
[0033] Positive sequence: S1 = {c||1,l||2,o||3,u||4,d||5};
[0034] Reverse order: S2 = {c||-5,l||-4,o||-3,u||-2,d||-1};
[0035] 2-gram: S3={c||l,c||o,c||u,c||d,l||o,l||u,l||d,o||u,o||d,u||d};
[0036] (2) Threshold feature extraction: Generate a trap for the query keyword "c*ou*d" and obtain the set S through TrapSet trapd ←S1∪S2∪S3; Specifically, the characters before the first wildcard are recorded in positive order, the characters after the last wildcard are recorded in reverse order, and the characters outside the wildcards are recorded as 2-grams.
[0037] Positive sequence: S1 = {c||1};
[0038] Reverse order: S2 = {d||-1};
[0039] 2-gram: S3={c||o,c||u,c||d,o||u,o||d,u||d}.
[0040] Furthermore, the efficient wildcard keyword search method for encrypted data is based on a feature extraction algorithm, a symmetric subset predicate encryption and a symmetric encryption algorithm, and consists of two parts: (Setup, Search).
[0041] Furthermore, Setup(1 λ ,DB): This function receives a security parameter λ and a database DB as input and produces (SK,EDB), where SK represents the key retained by the client and EDB represents the encrypted database outsourced to the cloud server;
[0042] Search(SK,w {*} ,DB): The client uses the key SK and the keyword w with wildcards to be queried. {*} To generate a search trap Then the search trap is sent to the cloud server; after receiving the search trap, the cloud server After that, the encrypted database EDB is processed and the keyword w with wildcard characters is found. {*} Match the ciphertext ct1 and use S 2 PE.Dec(tk,ct1) decrypts the keyword ciphertext ct1 to obtain the keyword plaintext msg , and is stored together with the document identifier ciphertext ct2 in the Res file, and then sent to the client; after the client receives the Res file, it decrypts the document identifier ciphertext with SE.Dec(K,ct) to obtain the document identifier, and then stores the keyword and document identifier together in the Rval file.
[0043] Another object of the present invention is to provide an efficient wildcard keyword search method for encrypted data, comprising the following steps:
[0044] Encryption module,In the initial stage, the user first initializes an empty encryption database EDB, and then for each keyword w in the database DB i , by calling IndexSet(w i ) Extract the feature set of keyword w By calling the encryption algorithm in symmetric subset predicate encryption encryption and symmetric encryption algorithm SE.Enc(K,DB(w i )) Encryption contains keyword w iThe document identifier is then stored in an encrypted database and outsourced to a cloud server. The key SK = (K, msk) is stored by the user himself, where K is the symmetric key in the symmetric encryption algorithm and msk is the master key in the symmetric subset predicate encryption algorithm.
[0045] Query module, user query stage, the user first enters the keyword w containing wildcards q Call TrapSet(w q ) Generate a query set Then the user passes The algorithm is a query set Calculate the decryption key tk, and finally the user sends tk as a search trap to the cloud server; the cloud server receives the search trap sent by the user and traverses the encrypted database to check whether each item matches the query keyword;
[0046] Decryption module, in the user decryption phase, for the ciphertext identifier, the user uses the key K to obtain the corresponding identifier.
[0047] Another object of the present invention is to provide a computer device, the computer device includes a memory and a processor, the memory stores a computer program, when the computer program is executed by the processor, the processor executes the steps of the efficient wildcard keyword search method for encrypted data.
[0048] Another object of the present invention is to provide a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to perform the steps of the method for efficiently searching encrypted data for wildcard keywords.
[0049] Another object of the present invention is to provide an information data processing terminal, which includes the efficient wildcard keyword search system for encrypted data.
[0050] In combination with the above technical solutions and the technical problems solved, the advantages and positive effects of the technical solutions to be protected by the present invention are as follows:
[0051] First, the present invention proposes a new feature extraction technology that can accurately extract the features of the queried keywords, so that the server can identify the order between the first and last wildcards. Using this technology to extract the positive order, reverse order and 2-gram features of keywords can solve the problem of feature matching pattern leakage and the problem of character order misreporting in existing solutions.
[0052] The present invention uses cryptographic primitives of symmetric subset predicate encryption to support checking whether a set is a subset of another set, so as to reduce the problem of feature matching pattern leakage.
[0053] The present invention uses an XOR filter, and compared with using a Bloom filter, the storage overhead on the server side is reduced by 15%.
[0054] The present invention reduces the computational overhead in the search process and achieves better search performance.
[0055] Second, as auxiliary evidence of the inventiveness of the claims of the present invention, it is also reflected in the following important aspects:
[0056] (1) The technical solution of the present invention fills the technical gap in the industry at home and abroad: a new feature extraction algorithm is proposed, including a feature extraction algorithm with keyword index and a trapdoor feature extraction algorithm containing wildcard keywords, which fills the problem of character sequence false positives in the existing wildcard symmetric searchable encryption technology.
[0057] (2) The technical solution of the present invention solves a technical problem that people have long been eager to solve but have never been able to solve: it solves the problems of character sequence false alarms and feature matching pattern leakage in wildcard symmetric searchable encryption schemes, wherein a feature extraction algorithm is proposed that can effectively solve the problem of character sequence false alarms, and at the same time, the cryptographic primitives of symmetric subset predicate encryption and XOR filters are used to solve the problem of feature matching pattern leakage and reduce storage overhead.
[0058] Third, the technical solution of the present invention solves the technical problems of the prior art in industrial applications.
[0059] 1. Low efficiency of searching encrypted data in existing technologies
[0060] In existing solutions, searching for encrypted data usually requires decrypting and matching the entire encrypted database one by one. This process is time-consuming and computationally intensive, and it is difficult to meet the needs of real-time search.
[0061] The present invention realizes efficient wildcard search in an encrypted state by introducing symmetric subset predicate encryption and feature extraction algorithms, and can complete fast matching without decrypting one by one, thereby greatly improving search efficiency.
[0062] 2. Insufficient support for wildcard search in existing technologies
[0063] Wildcard search is very important in complex query scenarios, but traditional encrypted search technology does not support partial or fuzzy matching. Existing solutions usually only support exact matching and cannot meet users' needs for flexible queries.
[0064] The present invention innovatively combines the forward order, reverse order and 2-gram feature extraction methods to make the search of wildcard keywords more accurate and efficient, effectively solving the problem of insufficient support for wildcard search in the prior art.
[0065] 3. Insufficient data privacy protection in existing technologies
[0066] Traditional search methods require plaintext storage or processing of keywords on cloud servers, which leads to the risk of user data leakage, especially in scenarios with sensitive data (such as medical records and corporate confidential documents).
[0067] The present invention ensures that user keywords and document identifiers are always stored and processed in encrypted form by adopting symmetric encryption and symmetric subset predicate encryption technology, thereby comprehensively improving the data privacy protection capability.
[0068] 4. The problem of serious false alarm in the existing technology
[0069] Some existing fuzzy search algorithms produce false positives due to character order issues, resulting in inaccurate search results or excessive redundant information.
[0070] The present invention solves the problem of character sequence misreporting through a feature extraction algorithm, thereby effectively improving the accuracy of search results.
[0071] The significant technical progress obtained by the present invention:
[0072] 1. Efficient encrypted data search capabilities
[0073] The present invention innovatively combines symmetric subset predicate encryption with a feature extraction algorithm, significantly reducing the computational complexity of the search process, achieving efficient search of encrypted data, and meeting real-time requirements.
[0074] 2. Flexible wildcard keyword query support
[0075] Through the forward order, reverse order and 2-gram feature extraction methods, the present invention can support complex wildcard searches while maintaining high accuracy and low false positive rate, thus solving the problem that traditional technologies do not support partial matching requirements sufficiently.
[0076] 3. Data privacy protection capabilities have been significantly enhanced
[0077] All data in the solution of the present invention, including keyword indexes and document identifiers, are stored and processed in encrypted form. Even on the cloud server side, the plaintext information cannot be directly accessed, which fundamentally eliminates the risk of data leakage.
[0078] 4. The false alarm rate is significantly reduced
[0079] The present invention avoids false positives caused by character sequence through a feature extraction algorithm, making search results more accurate and further improving user experience and system performance.
[0080] 5. Strong industry applicability, covering multiple scenarios
[0081] The present invention is widely applicable to multiple fields such as medical care, finance, and enterprise document management, meeting the needs of encrypted storage and efficient retrieval of sensitive data, and has important industrial application value.
[0082] 6. Improved intelligence and automation
[0083] The encryption and search process of the present invention is highly automated and does not require complicated user intervention, which greatly reduces the usage threshold and improves the intelligence level of the system.
[0084] The present invention solves the problems of low efficiency, high false positive rate, insufficient privacy protection and other issues in the prior art through symmetric subset predicate encryption, feature extraction algorithm and efficient encryption search mechanism, and achieves significant technological progress in the field of encrypted data search. Its excellent performance in real-time, accuracy and privacy protection provides efficient and reliable solutions for scenarios such as medical data management and enterprise document search, and has important industrial promotion value and application prospects. BRIEF DESCRIPTION OF THE DRAWINGS
[0085] Figure 1 This is a flow chart of an efficient wildcard keyword search method for encrypted data provided by an embodiment of the present invention.
[0086] Figure 2 Schematic diagram of performance evaluation provided by an embodiment of the present invention; (a) index time; (b) index size; (c) threshold time; (d) threshold size;
[0087] Figure 3 It is a structural diagram of an efficient wildcard keyword search system for encrypted data provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0088] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with examples. It should be understood that the specific examples described herein are only used to explain the present invention and are not used to limit the present invention.
[0089] Example 1: Encrypted medical record search system based on medical data
[0090] In the medical industry, a large amount of patient medical record data needs to be stored in cloud servers and support doctors to quickly retrieve specific case information. For example, doctors need to search for case records with specific keywords or partial matching conditions (such as wildcards) while ensuring the security of patient privacy data.
[0091] #Implementation process:
[0092] 1. Initialize the encrypted database:
[0093] The hospital management system acts as the user end and extracts keywords (such as symptoms and drug names) from all patient medical records.
[0094] Using the feature extraction algorithm, each keyword generates a set of positive, reverse and 2-gram features.
[0095] The keyword set is encrypted using symmetric subset predicate encryption to generate ciphertext, and the document identifier of the medical record is encrypted using a symmetric encryption algorithm.
[0096] The encrypted keyword ciphertext and document identifier ciphertext form a database and are uploaded to the cloud server.
[0097] 2. Doctor initiates query:
[0098] The doctor enters a wildcard keyword query (such as "dia*tes" for "diabetes"), and the client uses a feature extraction algorithm to generate a query set.
[0099] The query set is encrypted using symmetric subset predicates to generate a search trap and sent to the cloud server.
[0100] 3. Cloud server processes the query:
[0101] The cloud server traverses and matches relevant ciphertexts in the encrypted database based on the search trap.
[0102] The matching ciphertext is partially decrypted using the decryption key, and a result containing the matching keyword and document identifier is returned to the client.
[0103] 4. Results decryption and display:
[0104] The client receives the encryption result and decrypts it, obtains the document identifier of the relevant medical record, and quickly locates the matching case record.
[0105] #Technical advantages:
[0106] - Provides fast and privacy-protected medical record search functions to avoid leaking patient privacy.
[0107] -Supports flexible queries with wildcards, enhancing the practicality of retrieval.
[0108] Example 2: Encrypted keyword search in an enterprise document management system
[0109] The enterprise document management system stores a large number of documents related to projects and contracts. Employees need to retrieve documents related to partially matching keywords (such as contract numbers and project names) on the cloud server while ensuring the security of confidential information during storage and transmission.
[0110] 1. Database initialization:
[0111] The enterprise extracts keywords (such as the project name "project123") from the document content and generates a feature set.
[0112] The keyword set is encrypted using a symmetric subset predicate encryption algorithm, and the corresponding document identifier is encrypted using a symmetric encryption algorithm.
[0113] The encrypted keyword index and document identifier ciphertext are stored in the cloud server, and the keys are managed by the enterprise itself.
[0114] 2. Initiate a query:
[0115] The user enters a wildcard keyword (such as "pro*ct123") on the client.
[0116] The feature extraction algorithm generates forward, reverse and 2-gram feature sets.
[0117] The client generates a search trapdoor using the key and sends it to the cloud server.
[0118] 3. The cloud server performs the search:
[0119] The cloud server receives the search trap, traverses the encrypted database, and finds the matching keyword ciphertext.
[0120] The matching result and the corresponding document identifier ciphertext are returned to the client.
[0121] 4. Client result decryption:
[0122] The client uses the key to decrypt the document identifier, locate the specific document, and display the search results.
[0123] #Technical advantages:
[0124] -Enables efficient encrypted storage and fast retrieval of corporate documents.
[0125] -Supports complex wildcard queries to meet diverse search needs.
[0126] -Prevent sensitive information from being leaked during cloud storage or transmission, and improve data security.
[0127] These two embodiments demonstrate the practical application of the present invention in the medical and enterprise fields, solving the problem of the prior art that it is impossible to balance data security and flexible retrieval, while significantly improving search efficiency and user experience.
[0128] like Figure 1 As shown, the example of the present invention provides an efficient wildcard keyword search method for encrypted data, wherein the wildcard keyword can search the encrypted data mainly including the following participants:
[0129] (1) User: In the initial stage, the user first initializes an empty encrypted database EDB, and then for each keyword w in the database DB i , by calling IndexSet(w i ) Extract the feature set of keyword w By calling the encryption algorithm in symmetric subset predicate encryption Encryption S wi and symmetric encryption algorithm SE.Enc(K,DB(w i )) Encryption contains keyword w i The document identifier is then stored in an encrypted database and outsourced to a cloud server. The key SK = (K, msk) is stored by the user himself, where K is the symmetric key in the symmetric encryption algorithm and msk is the master key in the symmetric subset predicate encryption algorithm.
[0130] In the user query stage, the user first enters the keyword w containing a wildcard q Call TrapSet(w q ) Generate a query set Then the user passes The algorithm is a query set Calculate the decryption key tk, and finally the user sends tk to the cloud server as a search trap.
[0131] In the user decryption phase, for the ciphertext identifier, the user uses the key K to obtain the corresponding identifier
[0132] (2) Cloud Server: The cloud server receives the search trap sent by the user and traverses the encrypted database to check whether each item matches the query keyword.
[0133] The core algorithms of the solution of the present invention are symmetric key encryption, symmetric subset predicate encryption, and feature extraction algorithm.
[0134] Symmetric key encryption
[0135] The symmetric key encryption (SE) protocol consists of three algorithms that run in polynomial time:
[0136] (1)KeyGen(1 λ ): Given a security parameter λ, the algorithm generates a secret key K.
[0137] (2) Encrypt(K,m): Input key K and message m, and the algorithm generates ciphertext c.
[0138] (3) Decrypt(K,c): Input key K and ciphertext c, output is the corresponding message m or an error symbol
[0139] Symmetric SubsetPredicate Encryption
[0140] Symmetric subset predicate encryption can check whether all elements in X belong to another set Y at one time. It is a powerful tool for implementing private subset membership test. 2 PE) consists of four polynomial time algorithms: S 2 PE=(S 2 PE.Setup,S 2 PE.KeyGen,S 2 PE.Enc,S 2 PE.Dec). They are defined as follows:
[0141] (1)S 2 PE.Setup(1 λ ): Given a security parameter λ, the algorithm generates a master key msk, defines a message space M, and establishes a universal set U.
[0142] (2)S 2 PE.KeyGen(msk,X): After receiving the master key msk and the predicate set After that, the algorithm generates the decryption key sk X .
[0143] (3)S 2 PE.Enc(msk,msg,Y): This encryption function uses the master key msk, the message msg∈M and the attribute set Generate ciphertext ct.
[0144] (4)S 2 PE.Dec(sk X ,ct): The decryption algorithm uses the decryption key sk X Generate the original message msg or error message with the ciphertext ct
[0145] Feature extraction algorithm
[0146] Since existing solutions all have the problem of false positives of character order, in order to solve this problem, we propose a new feature extraction algorithm to extract positive order, reverse order and 2-gram. The following is a formal description of the extraction algorithms IndexSet and TrapSet for generating indexes and trapdoors, as shown in Algorithm 1. For a clear description, an example is given to illustrate these three types of feature sets.
[0147] (1) Feature extraction of index. For the keyword “cloud” that generates the search index, we get the set S by running IndexSet. index ←S1∪S2∪S3.
[0148] Positive sequence: S1 = {c||1,l||2,o||3,u||4,d||5};
[0149] Reverse order: S2 = {c||-5,l||-4,o||-3,u||-2,d||-1};
[0150] 2-gram: S3={c||l,c||o,c||u,c||d,l||o,l||u,l||d,o||u,o||d,u||d}.
[0151] (2) Threshold feature extraction. Generate a trap for the query keyword "c*ou*d" and obtain the set S through TrapSet trapd ←S1∪S2∪S3. Specifically, the characters before the first wildcard are recorded in positive order, the characters after the last wildcard are recorded in reverse order, and the characters outside the wildcards are recorded as 2-grams.
[0152] Positive sequence: S1 = {c||1};
[0153] Reverse order: S2 = {d||-1};
[0154] 2-gram: S3={c||o,c||u,c||d,o||u,o||d,u||d}.
[0155] Algorithm 1 Feature extraction algorithm
[0156]
[0157]
[0158] The wildcard symmetric searchable encryption method proposed in the present invention is based on feature extraction algorithm, symmetric subset predicate encryption and symmetric encryption scheme, and consists of two parts (Setup, Search). For details, see Algorithm 2.
[0159] (1)Setup(1 λ ,DB): This function receives a security parameter λ and a database DB as input, and it generates (SK,EDB), where SK represents the key retained by the client, which consists of two parts, namely the symmetric key K of the symmetric encryption algorithm and the master key msk in the symmetric subset predicate encryption algorithm; EDB represents the encrypted database outsourced to the cloud server, including the keyword index ciphertext ct wi and the document identifier ciphertext ctid , where the keyword index is generated using IndexSet in the feature extraction algorithm.
[0160] (2)Search(SK,w {*} ,DB): This operation involves the client and the cloud server. Specifically, the client uses the key SK and the keyword w with a wildcard to be queried. {*} To generate a search trap Then the search trap is sent to the cloud server. After that, the encrypted database EDB is processed and the keyword w with wildcard characters is found. {*} Match the ciphertext ct1 and use S 2 PE.Dec(tk,ct1) decrypts the keyword ciphertext ct1 to obtain the keyword plaintext msg, and stores it together with the document identifier ciphertext ct2 in the Res file, and then sends it to the client; after the client receives the Res file, it decrypts the document identifier ciphertext with SE.Dec(K,ct) to obtain the document identifier, and then stores the keyword and document identifier together in the Rval file.
[0161] Algorithm 2
[0162]
[0163] Figure 2 (a) and Figure 2 (b) is the Setup performance evaluation. Compared with the other two solutions, the solution of the present invention has better efficiency. First, the XOR filter is used, and the parameters of the XOR filter are optimized to reduce the storage cost. Second, in terms of index construction, the time spent on processing the data set is shorter.
[0164] Figure 2 (c) and Figure 2 (d) is the Search performance evaluation. Figure 2 (c) It shows that the solution of the present invention has higher efficiency in large-scale data search. Figure 2 (d) shows that, under the condition of equal keyword length, the solution of the present invention requires smaller storage capacity.
[0165] like Figure 3 As shown, the present invention provides an efficient wildcard keyword search system for encrypted data, comprising the following steps:
[0166] Encryption module,In the initial stage, the user first initializes an empty encryption database EDB, and then for each keyword w in the database DB i , by calling IndexSet(wi ) Extract the feature set of keyword w By calling the encryption algorithm in symmetric subset predicate encryption encryption and symmetric encryption algorithm SE.Enc(K,DB(w i )) Encryption contains keyword w i The document identifier is then stored in an encrypted database and outsourced to a cloud server. The key SK = (K, msk) is stored by the user himself, where K is the symmetric key in the symmetric encryption algorithm and msk is the master key in the symmetric subset predicate encryption algorithm.
[0167] Query module, user query stage, the user first enters the keyword w containing wildcards q Call TrapSet(w q ) Generate a query set Then the user passes S 2 The PE algorithm is a query set Calculate the decryption key tk, and finally the user sends tk as a search trap to the cloud server; the cloud server receives the search trap sent by the user and traverses the encrypted database to check whether each item matches the query keyword;
[0168] Decryption module, in the user decryption phase, for the ciphertext identifier, the user uses the key K to obtain the corresponding identifier.
[0169] The specific application fields or related products of the present invention.
[0170] (1) Personal data storage and retrieval: In a cloud storage environment, users store a large number of personal files (such as documents, photos, videos, etc.) in the cloud. Wildcard symmetric searchable encryption technology allows users to perform fuzzy searches on encrypted data by using wildcards.
[0171] (2) Enterprise data management: Enterprises usually store a large amount of business data on cloud platforms, including customer information, financial statements, project documents, etc. Wildcard searchable encryption technology can help enterprise employees perform flexible searches in encrypted data.
[0172] Medical Information Systems
[0173] (1) Electronic medical record retrieval: Hospitals and medical institutions store a huge amount of electronic medical records. During diagnosis and treatment, doctors need to search for a specific patient’s medical record based on vague memories.
[0174] (2) Medical research data query: In the field of medical research, researchers need to access a large amount of clinical data. This data is usually sensitive and needs to be stored in encrypted form. Wildcard searchable encryption technology enables researchers to perform flexible data retrieval based on research needs without leaking data privacy.
[0175] To ensure a fair comparison, we reimplemented all schemes in Python and used the PyCrypto library for cryptographic operations, including AES-256, SHA-256, and HMAC-SHA256. Specifically, we used AES-256 in CBC mode for the symmetric encryption scheme, SHA-256 for the hash function, and HMAC-SHA256 for the pseudo-random function (PRF). The experiment was conducted on a machine with Core TM The experiments were conducted on a professional machine with an i9-11900K@3.50GHz processor and 125GB of memory. To ensure accurate measurement of client and server costs, all experiments were conducted on the same device to ensure a consistent and controllable evaluation environment. Specifically, the reported execution time is calculated by averaging the results of 10 and 100 individual experiments to ensure the robustness and reliability of the evaluation. We conducted extensive experiments using real data for performance testing.
[0176] Due to different configurations of index sets, the compared schemes have differences in the size of the plaintext set. The storage overhead on the server side is due to the different filtering mechanisms used. The Hu scheme uses Bloom filters, resulting in a false positive rate of 2 -10 , with a total storage of 1.44n, where n is the number of data elements. In contrast, the XOR filter used in the other two schemes provides a total storage of Where β is a constant factor derived from the XOR filter design in Wu’s scheme. Through experiments, we optimize the parameters of each XOR filter so that the β value is close to 0 or 1. Figure 2 As shown in (b), the XOR filter is implemented in the two comparison schemes, and the storage overhead on the server side is reduced by 15% compared with the Bloom filter-based method. Figure 2 As shown in (a), the indexing process in Hu’s scheme takes longer, about 2.5 times longer than our scheme due to its unique dataset processing procedure. This highlights that our scheme and Wu’s scheme provide better storage efficiency and time-effective generation cost.
[0177] We compare the search time performance of our scheme with that of the scheme introduced by Hu and Wu. To maintain fairness, we set all experimental parameters the same among the three schemes, including the database size and keyword length. In particular, when studying the effect of database size, the keyword length is kept at 13 characters. Figure 2 As shown in (c), our scheme has the best time growth rate and achieves a search time of 500 seconds on a large-scale database, which is the shortest among the three schemes. Due to the difference in the search process, the keyword rules used in Hu's scheme cited security vulnerabilities and efficiency losses, highlighting the advantages of our scheme in large-scale databases. Figure 2 As shown in (d), when the keyword length is normalized to 8 bytes, our scheme outperforms other schemes. The scheme proposed by Hu takes 1.6 times the search time of our scheme, and the scheme proposed by Wu takes 1.4 times the search time of our scheme. This shows that our scheme has a greater advantage under the same keyword length.
[0178] It should be noted that the embodiments of the present invention can be implemented by hardware, software, or a combination of software and hardware. The hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware. It can be understood by a person of ordinary skill in the art that the above-mentioned devices and methods can be implemented using computer executable instructions and / or contained in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on the carrier medium. The device and its modules of the present invention can be implemented by hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., can also be implemented by software executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software, such as firmware.
[0179] The above description is only a specific implementation mode of the present invention, but the protection scope of the present invention is not limited thereto. Any modifications, equivalent substitutions and improvements made by any technician familiar with the technical field within the technical scope disclosed by the present invention and within the spirit and principle of the present invention should be covered by the protection scope of the present invention.
Claims
1. An efficient wildcard keyword search method for encrypted data, characterized in that: The following steps are involved: Step 1: Initialization stage: the user first initializes an empty encrypted database EDB, and then for each keyword w in the database DB i , by calling IndexSet(w i ) Extract the feature set S of keyword w wi , by calling the encryption algorithm S in the symmetric subset predicate encryption 2 PE.Enc(msk,μ='True',S wi ) Encrypt S wi and symmetric encryption algorithm SE.Enc(K,DB(w i )) Encryption contains keyword w i The document identifier is then stored in an encrypted database and outsourced to a cloud server. The key SK = (K, msk) is stored by the user himself, where K is the symmetric key in the symmetric encryption algorithm and msk is the master key in the symmetric subset predicate encryption algorithm. Step 2: User query stage: the user first enters the keyword w containing a wildcard q Call TrapSet(w q ) Generate query set S wq , and then the user passes S 2 The PE algorithm is a query set S wq Calculate the decryption key tk, and finally the user sends tk as a search trap to the cloud server; the cloud server receives the search trap sent by the user and traverses the encrypted database to check whether each item matches the query keyword; Step 3: User decryption phase: For the ciphertext identifier, the user uses the key K to obtain the corresponding identifier.
2. The efficient wildcard keyword search method for encrypted data as claimed in claim 1, characterized in that: The symmetric key encryption SE protocol consists of three algorithms that run in polynomial time: (1)KeyGen(1 λ ): Given a security parameter λ, the algorithm generates a secret key K; (2) Encrypt(K,m): Input key K and message m, the algorithm generates ciphertext c; (3) Decrypt(K,c): Input key K and ciphertext c, and output the corresponding message m or error symbol ⊥.
3. The efficient wildcard keyword search method for encrypted data as claimed in claim 1, characterized in that: Symmetric Subset Predicate Encryption (S 2 PE) consists of four polynomial time algorithms: S 2 PE=(S 2 PE.Setup,S 2 PE.KeyGen,S 2 PE.Enc,S 2 PE.Dec); defined as follows: (1)S 2 PE.Setup(1 λ ): Given a security parameter λ, the algorithm generates a master key msk, defines a message space M, and establishes a universal set U; (2)S 2 PE.KeyGen(msk,X): After receiving the master key msk and the predicate set After that, the algorithm generates the decryption key sk X ; (3)S 2 PE.Enc(msk,msg,Y): This encryption function uses the master key msk, the message msg∈M and the attribute set Generate ciphertext ct; (4)S 2 PE.Dec(sk X ,ct): The decryption algorithm uses the decryption key sk X And the ciphertext ct generates the original message msg or the error prompt ⊥.
4. The efficient wildcard keyword search method for encrypted data as claimed in claim 1, characterized in that: Feature extraction algorithms include index and trapdoor extraction algorithms IndexSet and TrapSet, which are used to extract positive order, reverse order and 2-gram; (1) Feature extraction of the index: For the keyword "cloud" that generates the search index, we get the set S by running IndexSet. index ←S1∪S2∪S3; Positive sequence: S1 = {c||1,l||2,o||3,u||4,d||5}; Reverse order: S2 = {c||-5,l||-4,o||-3,u||-2,d||-1}; 2-gram: S3={c||l,c||o,c||u,c||d,l||o,l||u,l||d,o||u,o||d,u||d}; (2) Threshold feature extraction: Generate a trap for the query keyword "c*ou*d" and obtain the set S through TrapSet trapd ←S1∪S2∪S3; Specifically, the characters before the first wildcard are recorded in positive order, the characters after the last wildcard are recorded in reverse order, and the characters other than the wildcards are recorded as 2-grams; Positive sequence: S1 = {c||1}; Reverse order: S2 = {d||-1}; 2-gram: S3={c||o,c||u,c||d,o||u,o||d,u||d}.
5. The efficient wildcard keyword search method for encrypted data as claimed in claim 1, characterized in that: The efficient wildcard keyword search method for encrypted data is based on a feature extraction algorithm, a symmetric subset predicate encryption and a symmetric encryption algorithm, and consists of two parts: (Setup, Search).
6. The efficient wildcard keyword search method for encrypted data as claimed in claim 5, characterized in that: Setup(1 λ ,DB): This function receives a security parameter λ and a database DB as input and produces (SK,EDB), where SK represents the key retained by the client and EDB represents the encrypted database outsourced to the cloud server; Search(SK,w {*} ,DB): The client uses the key SK and the keyword w with wildcards to be queried. {*} To generate a search trap Then the search trap is sent to the cloud server; after receiving the search trap, the cloud server After that, the encrypted database EDB is processed and the keyword w with wildcard characters is found. {*} Match the ciphertext ct1 and use S 2 PE.Dec(tk,ct1) decrypts the keyword ciphertext ct1 to obtain the keyword plaintext msg, and stores it together with the document identifier ciphertext ct2 in the Res file, and then sends it to the client; after the client receives the Res file, it decrypts the document identifier ciphertext with SE.Dec(K,ct) to obtain the document identifier, and then stores the keyword and document identifier together in the Rval file.
7. An efficient wildcard keyword search system for encrypted data according to any one of the methods of claims 1 to 6, characterized in that: include: Encryption module,In the initial stage, the user first initializes an empty encryption database EDB, and then for each keyword w in the database DB i , by calling IndexSet(w i ) Extract the feature set S of keyword w wi , by calling the encryption algorithm S in the symmetric subset predicate encryption 2 PE.Enc(msk,μ='True',S wi ) Encrypt S wi and symmetric encryption algorithm SE.Enc(K,DB(w i )) Encryption contains keyword w i The document identifier is then stored in an encrypted database and outsourced to a cloud server. The key SK = (K, msk) is stored by the user himself, where K is the symmetric key in the symmetric encryption algorithm and msk is the master key in the symmetric subset predicate encryption algorithm. Query module, user query stage, the user first enters the keyword w containing wildcards q Call TrapSet(w q ) Generate query set S wq , and then the user passes S 2 PE.KeyGen(msk,S wq ) algorithm for the query set S wq Calculate the decryption key tk, and finally the user sends tk as a search trap to the cloud server; the cloud server receives the search trap sent by the user and traverses the encrypted database to check whether each item matches the query keyword; Decryption module, in the user decryption phase, for the ciphertext identifier, the user uses the key K to obtain the corresponding identifier.
8. A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the method for efficient wildcard keyword search for encrypted data as described in any one of claims 1-6.
9. A computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to execute the steps of the method for efficient wildcard keyword search for encrypted data as described in any one of claims 1 to 6.
10. An information data processing terminal, comprising the efficient wildcard keyword search system for encrypted data according to claim 7.
Citation Information
Cited By
Anti-quantum fuzzy keyword processing method and system and electronic equipment
CN121098500A