A multi-keyword search encryption method and system

By using doubly linked list indexing, HMAC functions, and multi-bitmap indexing technology, the problems of low file search efficiency and insufficient security are solved, enabling efficient, accurate, and secure multi-keyword search and supporting dynamic updates.

CN115795512BActive Publication Date: 2026-05-19HENAN POLYTECHNIC UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HENAN POLYTECHNIC UNIV
Filing Date
2022-12-20
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing technologies are inefficient, inaccurate, and insecure in file searching, failing to provide users with the files they need in a timely manner, resulting in a poor user experience.

Method used

It employs a doubly linked list index structure, including a validation chain and a keyword chain, combined with HMAC functions and multi-bitmap indexing technology, to enable multi-keyword joint queries and supports the validation and dynamic updating of search results, ensuring forward security.

Benefits of technology

It improves search efficiency, ensures the accuracy and completeness of search results, supports dynamic updates of documents and keywords, and achieves forward security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115795512B_ABST
    Figure CN115795512B_ABST
Patent Text Reader

Abstract

The application discloses a multi-keyword search encryption method and system, and relates to the technical field of encrypted search. i Firstly, a server acquires a verification chain VIC, a keyword chain KIC and an encrypted file set F sent by a client, sets storage content, acquires a search trapdoor Tw sent by the client, searches according to the search trapdoor Tw, and sends a search result to the client. The client can verify the search result and update the storage content in the server. The application improves the multi-keyword search efficiency by constructing a double-linked list structure index, realizes multi-keyword joint query by using an HMAC function and a multi-bit map index technology, supports verification of the correctness and integrity of the search result, supports dynamic update of the storage index of the cloud server, and meets forward security. The application optimizes the search efficiency of the encrypted data, realizes verification of the search result by the user, supports dynamic update of the file and the keyword, and achieves forward security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of encrypted search technology, and more specifically to a multi-keyword search encryption method and system. Background Technology

[0002] In today's society, users typically need to store large amounts of files. To enable users to quickly and easily locate target files from a large number of files, existing technologies provide file search functionality. Taking file storage on a cloud server as an example, users can enter file keywords in the cloud search interface. The cloud server then searches for files based on these keywords, finding multiple files that match the keywords and providing the results to the user, thus enabling efficient access.

[0003] However, when there are many files on the terminal, it takes a long time to traverse all the files, the efficiency of searching for files is low, it cannot provide users with the files they need in a timely manner, the user's file search experience is poor, and the accuracy and security of the search cannot be guaranteed.

[0004] Therefore, how to provide a more efficient, accurate, complete, and secure document search method is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] In view of this, the present invention provides a multi-keyword search encryption method and system.

[0006] To achieve the above objectives, the present invention provides the following technical solution:

[0007] A multi-keyword search encryption method, characterized by the following steps:

[0008] Step 1: The server obtains the verification chain VIC, keyword chain KIC, and encrypted file set F sent by the client. i ′, to configure the stored content;

[0009] Step 2: The server obtains the search trapdoor Tw sent by the client;

[0010] Step 3: The server performs a search based on the search trap Tw and sends the search results to the client.

[0011] Optionally, in step 1, the client's encrypted file set F i The method for generating ′ is as follows:

[0012] The client determines the security parameter λ and the data file set F. i ;

[0013] The client generates keys k1, k2, k3 and private key sk based on the security parameter λ;

[0014] The client selects a symmetric encryption algorithm and performs encryption on the data file set F. i Encryption is performed to obtain the encrypted file set F. i ′.

[0015] Optionally, in step 1, the method for generating the client's verification chain (VIC) is as follows:

[0016] Generate a hash function H and a pseudo-random function F based on the security parameter λ;

[0017] Based on the pseudo-random function F, the client identity u l The client identity ku is obtained by processing the key k2. l ;

[0018] The processed client identity ku l Perform 1 to Clen hash operations respectively to obtain the verification chain. Where Clen represents the length of the verification chain, H c (ku l () represents the c-th node in the verification chain;

[0019] The method for generating the client's keyword chain KIC is as follows:

[0020] Perform a hash function operation on each node in the verification chain. The hash function is H1 = {h | h: {0, 1}. λ →{0,1} λ}, obtain the address of each keyword node, for the k-th keyword w k Let its keyword node address be Add_Key k ;

[0021] Select a symmetric encryption algorithm for the keyword w k Encryption is performed to obtain the encrypted keywords.

[0022] Randomly generate the next keyword node address rt k+1 ,rt k+1 It is a string of 0s and 1s of length λ, used to point to the next key node;

[0023] Based on the data file set F i Generate multi-bitmap indexes

[0024] Use the HMAC function to compress the key k3 and the multi-bitmap index. and encrypted keywords Generate verification function

[0025] For those containing the keyword w k Each file f j ′, use the HMAC function to compress key k3 and file f j ′ and encrypted keywords Generate file verification function Store in collection middle;

[0026] Get the keyword w k generated nodes

[0027] Based on the nodes generated from all keywords, a keyword chain is obtained.

[0028] Optionally, in step 2, the method for generating the search trapdoor Tw is as follows:

[0029] Based on the pseudo-random function F, the client identity u l The client identity ku is obtained by processing the key k2. l ;

[0030] The processed client identity ku l Perform C l The hash operation yields the Cth node in the verification chain. l Nodes Let it be represented as Key;

[0031] The client encrypts each query keyword, generating an encrypted set of query keywords W. q ′;

[0032] The client is based on the query keyword set W q Set the keyword matching threshold Thr, where Thr represents W. q The binary representation of the number of keywords in the text;

[0033] We get Tw = {Key, W′} q ,Thr}.

[0034] Optionally, step 3 specifically includes:

[0035] The server found the corresponding verification chain based on the search trapdoor Tw. From the corresponding keyword chain Search the nodes sequentially;

[0036] Based on the node address Add_Key, access all nodes in the verification chain, determine whether the keyword in the corresponding keyword chain is the query keyword, and use W. q"Store the set of encrypted keywords for successful queries;"

[0037] Retrieve W q Information on all nodes in " Perform a bitwise AND operation on the multi-bitmap indexes nbs. If the result equals Thr, it means the query file meets the query requirements, and the result is expressed using set F. q Store encrypted files;

[0038] For each successfully matched encrypted keyword w k ′∈W q "and ciphertext f j ′∈F q ',from Retrieve the corresponding verification function from Store in collection middle;

[0039] Get the keyword w k Node information set

[0040] Based on all keywords contained in the search trapdoor Tw, obtain the node information RES = {res} contained in the search trapdoor Tw. Tw ;

[0041] The server will send RES, F q ′、W q "Sent to the client."

[0042] Optionally, step 4 is also included, whereby the client verifies the search results sent by the server, specifically through the following method:

[0043] Based on the search results sent by the server, determine each w k ′∈W q "Does it meet the following requirements: "

[0044]

[0045] If satisfied, calculate the AND operation result of all nbs, and determine whether the result matches F in the returned result. q ′ Corresponding equality;

[0046] If they are equal, for each w k ′∈W q "and f j ′∈F q ', verify whether it satisfies:

[0047]

[0048] If the conditions are met, the verification is successful, and the client accepts the search results returned by the cloud server; otherwise, the verification fails.

[0049] Optionally, step 5 is also included, whereby the client sends the update information to the server for modification, specifically including two update methods: adding and deleting.

[0050] The method for updating information through the add operation is as follows:

[0051] Add file f to client up The set of keywords extracted from this file is W. up Each keyword is encrypted to obtain the encrypted keyword set W. u ′ p The client determines the client's identity based on u l Modify the corresponding verification chain VIC and calculate. And move the position of KIC, while updating C. i And modify the address information Add_Key of the first node;

[0052] Iterate through each node, for each w′ k ∈W u ′ p ,make Perform addition operation and modify simultaneously Add to To H wi Generate a new file verification set from the collection.

[0053] The client will update information. And each keyword corresponds to Send to the cloud server for modification.

[0054] The method for updating information through deletion is as follows:

[0055] Add file f to client up The set of keywords extracted from this file is W. up The client determines the client's identity based on u l Modify the corresponding verification chain VIC and calculate. And move the position of KIC, while updating C. i And modify the address information Add_Key of the first node;

[0056] Iterate through each node, for each w k ∈W up ,make Perform the two's complement addition operation to obtain the updated result. Revise from Delete Get a new set of file verifications

[0057] The client will update information. And each keyword corresponds to Send to the cloud server for modification.

[0058] A multi-keyword search encryption system, comprising:

[0059] The server settings module is used by the server to obtain the verification chain VIC, keyword chain KIC, and encrypted file set F sent by the client. i ′, to configure the stored content;

[0060] The trapdoor acquisition module is used by the server to obtain the trapdoor Tw sent by the client;

[0061] The search module is used by the server to perform a search based on the search trap Tw and send the search results to the client.

[0062] Optionally, a verification module may also be included, which allows the client to verify the search results sent by the server.

[0063] Optionally, it also includes an information update module, which is used by the client to send updated information to the server for modification.

[0064] As can be seen from the above technical solution, the present invention provides a multi-keyword search encryption method and system, which has the following advantages compared with the prior art:

[0065] (1) This invention constructs a doubly linked list structure index, which improves the efficiency of multi-keyword search. One linked list is the verification chain, which is used for user authentication, and the other linked list is the keyword chain, which establishes the index relationship between keywords and files, ensuring that the search time is not affected by the number of files, thus improving efficiency.

[0066] (2) This invention uses the HMAC function and multi-bitmap indexing technology to implement multi-keyword joint queries and supports the verification of the correctness and completeness of search results. Specifically, the HMAC function is used to verify whether the file returned by the cloud server is complete, and the multi-bitmap technology is used to verify whether the returned file is the result the user intended to search for.

[0067] (3) This invention also supports dynamic updates of the cloud server storage index while satisfying forward security. When the client submits update information, the address information of the linked list on the index will change accordingly, ensuring that the address information contained in the previous search trapdoor becomes invalid, thus preventing access to the index and ensuring that the scheme achieves forward security.

[0068] In summary, this invention optimizes the efficiency of encrypted data search, enables users to verify search results, and supports dynamic updates of files and keywords, thus achieving forward security. Attached Figure Description

[0069] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0070] Figure 1(a) is a schematic diagram of the multi-bitmap creation of the present invention;

[0071] Figure 1(b) is a schematic diagram of the multi-bitmap addition operation of the present invention;

[0072] Figure 1(c) is a schematic diagram of the multi-bitmap subtraction operation of the present invention;

[0073] Figure 1(d) is a schematic diagram of the multi-bitmap joint query of the present invention;

[0074] Figure 2 To verify - Keyword chain diagram;

[0075] Figure 3 This is a schematic diagram of keyword node information;

[0076] Figure 4 This is a schematic diagram of the method flow of the present invention;

[0077] Figure 5 This is a schematic diagram of the system modules of the present invention. Detailed Implementation

[0078] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0079] The implementation of this invention depends on the following:

[0080] I. Multi-bitmap index:

[0081] Given a dataset with m files, using n bits to represent a file, initialize a string nbs of length m×n with a value of 0. If file f exists in the dataset... i Then f iThe numbers are stored in the array nbs as strings of 0s and 1s, from right to left representing the least significant digit to the most significant digit. The n×(i-1)+1 to i×n digits of nbs represent f. i The n×(i-1)+1 bits are set to 1. With m=5 and n=2, the creation, addition, deletion, and AND operations of the nbs are demonstrated. Figure 1(a) shows the creation of a multi-bitmap index, which includes files f1, f3, and f5; Figure 1(b) shows the addition operation of the multi-bitmap index, adding file f2 to the existing structure; Figure 1(c) shows the deletion operation of the multi-bitmap index, deleting file f5 from the structure; Figure 1(d) shows the union query operation of the multi-bitmap index. If the query keywords are w1, w2, and w3, each keyword corresponds to an nbs. After the union query, the multi-bitmap index nbs corresponding to w1, w2, and w3 are retrieved and ANDed. If there exists a bitwise AND operation between bits n×(i-1)+1 and i×n, it indicates that file f1 is 11. i If it contains the keywords w1, w2, and w3, return file f. i .

[0082] II. Validation - Keyword Chain:

[0083] An index structure is built based on user identities to control user access and modification permissions. User identities are encrypted using a one-way hash function, and a one-way linked list, called the Verification Index Chain (VIC), is created for each user. Simultaneously, a linked list, called the Keyword Index Chain (KIC), is created for keywords in user files to establish the index relationship between keywords and files. The KIC is appended to the VIC, and a counter C records the position of the KIC. The VIC uses a one-way hash function to encrypt user identities, ensuring its one-way nature. Each node in the KIC stores the current node address Add_Key, the next node address rt, and keyword-related information Inf(w). The last node's rt points to an empty address ⊥. Figure 2 As shown.

[0084] When an update operation is performed, the position of KIC is moved to the next node of VIC; that is, the address of the first node of KIC is modified, and the counter C is also modified. Due to the one-way nature of the hash function, previous search trapdoors cannot access the updated keyword chain.

[0085] Based on the user's identity, the system uses a hash function to establish a verification chain of length Clen, where Clen is determined by the system, as shown in formula (1):

[0086] H Clen (u),…,H 2 (u),H1 (u)(1)

[0087] Where u is the user identity, and H(·) is a one-way hash function, as shown in formula (2):

[0088]

[0089] Since H(·) is a one-way hash function, when H is known... i When (u), H cannot be deduced. i The hash values ​​prior to (u) cannot be used to deduce H(u),...,H i-1 (u).

[0090] KIC is attached to a node of VIC, initially attached to the first node of VIC. With each update, KIC moves one node to the right, and an update counter C records the position of KIC. KIC can only be accessed after obtaining the address of its first node. Each node on KIC contains keywords and related information. During each update, the address of the first node of KIC is first modified, and C is used to record the position of KIC. Then, based on the update request, the information within the node is modified.

[0091] III. Security Model:

[0092] This invention's security model includes a cloud server that honestly performs search services according to system requirements, but also records and analyzes data owner data and search traps for data users. This article primarily uses the real-world game Real... A (λ) and simulation game Ideal A,S (λ) is used to prove the security of the scheme. The leakage function in the game is defined as L = (L Setup ,L Src ,L Updt Define a keyword query q = (t, w) and an update operation u = (t, op, (w, nbs)), where t represents the operation time, w represents the keyword, and nbs represents the binary form of the file identifier to be updated. The search pattern is defined as sp(q) = {t:{t, w} w∈q} q∈Q Search patterns can reveal the repetition of queries with the same keywords. The result pattern is defined as rp(q) = {nbs}. w∈q The result pattern will leak search results. Define an update time leakage function Time(q) for each keyword = {t:{t,(w,nbs)} w∈q A represents the adaptive adversary, and S is a probabilistic multinomial-time simulator. The specific definitions for two games are given below:

[0093] (1)Real A(λ): Opponent A selects a set of files. The system executes an encryption algorithm and returns encrypted files to Opponent A. Opponent A can send multiple adaptive queries, including three types: search query, add query, and delete query. After the query is completed, Opponent A outputs a bit value b1∈{0,1} as the game output.

[0094] (2) Ideal A,S (λ): The adversary A selects a set of files, and the simulator S uses the leak function L. Setup A simulated ciphertext is generated and sent to adversary A. Adversary A can send multiple adaptive queries, including three types: search queries, add queries, and delete queries. Based on adversary A's queries, simulator S uses the leak function L... Src and L Updt The system generates search, add, and delete commands for opponent A. Finally, opponent A outputs a bit value b2∈{0,1} as the game's output.

[0095] Definition 1: If for a polynomial-time adversary A, there exists a simulator S such that |Pr[Real] = ... A (λ)=1]-Pr[Ideal A,S If [λ] = 1 | ≤ negl(λ) holds, where negl(λ) is a negligible function, then the scheme is said to satisfy adaptive safety.

[0096] Forward security is a powerful property defined in dynamic symmetric searchable encryption. Simply put, forward security requires that cloud servers cannot use previous search trapdoors to query updated information.

[0097] Definition 2: If the leaking function during the update phase is described as L Updt (op,in)=L′(op,{(f i ,u i )}), where op represents the type of operation, {(f i ,u i )} represents the set of updated file-keyword pairs, u i Represents file f i The corresponding number of keywords indicates that the adaptive security scheme satisfies forward update security.

[0098] In this invention, since multi-bitmap indexing is used to implement file update operations, both adding and deleting files involve addition operations performed on the cloud server. The cloud server cannot obtain the update category; therefore, the leak function is defined as L. Updt (op,w,nbs)=L′(|w|,nbs), where |w| is the number of updated keywords.

[0099] Specifically, based on the above theory, this invention discloses a multi-keyword search encryption method. The data owner is the client, multiple clients share data with a cloud server, and each client can access its own uploaded data, as well as add and delete data it has uploaded. See also Figure 4 The method includes the following steps:

[0100] Step 1: The server obtains the verification chain VIC, keyword chain KIC, and encrypted file set F sent by the client. i ′, to configure the stored content.

[0101] Specifically, the client's encrypted file set F i The method for generating ′ is as follows:

[0102] The server obtains the security parameter λ selected by the client and the data file set F. i ;

[0103] The server generates keys k1, k2, k3 ← {0, 1} based on the security parameter λ. λ and private key sk←SKE.Gen(1 λ ), where SKE is a secure symmetric encryption algorithm, and is sent to the client; the system sends (k1,k2,k3,sk) to the client. The system verifies the identity of each client U={u1,u2,…,u l ,…u m The client uses a proprietary set of files F that is outsourced. i Previously, the keyword set W was extracted from the file. l The client selects a symmetric encryption algorithm Enc() to encrypt the file, generating a ciphertext set F. i ′.

[0104] The client's verification chain (VIC) and keyword chain (KIC) are generated as follows:

[0105] A hash function H = {h | h: {0, 1} is generated based on the security parameter λ. λ →{0,1} λ} and the pseudo-random function F:{0,1} λ ×{0,1} * →{0,1} λ The system generates a verification chain (VIC) and a keyword chain (KIC) for each client based on their identity. The VIC contains several nodes {H}. Clen (ku l ),…,H 2 (ku l ),H 1 (ku l)}, where Clen is determined by the number of updates made by the client. Indicates the position of KIC, C l To update the counter, so KIC contains multiple nodes, each built around a keyword. Each node contains information corresponding to the keyword, such as... Figure 3 As shown.

[0106] Node information includes the node address Add_Key k Encrypted keywords and the address of the next node rt k+1 The last node points to a null address. Each key node also contains an extended bitmap index. The verification function is Used for verification The validity of w. k Each file Generate file verification function Will Store in collection In this context, it is used to verify the completeness of the returned results. Keyword w k The generated nodes are Finally, a keyword chain is generated.

[0107] The specific algorithm is as follows:

[0108]

[0109]

[0110] Step 2: The server obtains the search trap Tw sent by the client.

[0111] The method for generating the client-side search trapdoor Tw is as follows:

[0112] Based on the pseudo-random function F, the client identity u l The client identity ku is obtained by processing the key k2. l ;

[0113] The processed client identity ku l Perform C l The hash operation yields the Cth node in the verification chain. l Nodes Let it be represented as Key;

[0114] The client encrypts each query keyword, generating an encrypted set of query keywords W. q ′;

[0115] The client is based on the query keyword set W q Set a keyword matching threshold Thr to detect which files on nbs generated by the joint query meet the query requirements, where Thr represents W q The binary representation of the number of keywords in the text;

[0116] Get Tw←{Key,W q ′,Thr}.

[0117] The specific algorithm is as follows:

[0118]

[0119] Step 3: The server performs a search based on the search trap Tw and sends the search results to the client.

[0120] The server found the corresponding verification chain based on the search trapdoor Tw. From the corresponding keyword chain Search the nodes sequentially;

[0121] Based on the node address Add_Key, access all nodes in the verification chain, determine whether the keyword in the corresponding keyword chain is the query keyword, and use W. q "Store the set of encrypted keywords for successful queries;"

[0122] Retrieve W q Information on all nodes in " Perform a bitwise AND operation on the multi-bitmap indexes nbs. If the result equals Thr, it means the query file meets the query requirements, and the result is expressed using set F. q Store encrypted files;

[0123] For each successfully matched encrypted keyword w k ′∈W q "and ciphertext f j ′∈F q ',from Retrieve the corresponding verification function from Store in collection middle;

[0124] Get the keyword w k Node information set

[0125] Based on all keywords contained in the search trapdoor Tw, obtain the node information RES = {res} contained in the search trapdoor Tw. Tw ;

[0126] The server will send RES, F q ′、W q "Sent to the client."

[0127] The specific algorithm is as follows:

[0128]

[0129]

[0130] In another embodiment, the method further includes step 4, in which the client verifies the search results sent by the server, specifically:

[0131] Based on the search results sent by the server, determine each w k ′∈W q "Does it meet the following requirements: "

[0132]

[0133] If satisfied, calculate the AND operation result of all nbs, and determine whether the result matches F in the returned result. q ′ Corresponding equality;

[0134] If they are equal, for each w k ′∈W q "and f j ′∈F q ', verify whether it satisfies:

[0135]

[0136] If the conditions are met, the verification is successful, and the client accepts the search results returned by the cloud server; otherwise, the verification fails.

[0137] The specific algorithm is as follows:

[0138]

[0139]

[0140] In another embodiment, the method further includes step 5, in which the client sends the update information to the server for modification, specifically including two update methods: adding and deleting.

[0141] The method for updating information through the add operation is as follows:

[0142] Add file f to client up The set of keywords extracted from this file is W. up Each keyword is encrypted to obtain the encrypted keyword set W′. up The client determines the client's identity based on u l Modify the corresponding verification chain VIC and calculate. And move the position of KIC, while updating C.i And modify the address information Add_Key of the first node;

[0143] Iterate through each node, for each w′ k ∈W′ up ,make Perform addition operation and modify simultaneously Add to arrive Generate a new file verification set from the collection.

[0144] The client will update information. And each keyword corresponds to Send to the cloud server for modification.

[0145] The method for updating information through deletion is as follows:

[0146] Add file f to client up The set of keywords extracted from this file is W. up The client determines the client's identity based on u l Modify the corresponding verification chain VIC and calculate. And move the position of KIC, while updating C. i And modify the address information Add_Key of the first node;

[0147] Iterate through each node, for each w k ∈W up ,make Perform the two's complement addition operation to obtain the updated result. Revise from Delete Get a new set of file verifications

[0148] The client will update information. And each keyword corresponds to Send to the cloud server for modification.

[0149] The specific algorithm is as follows:

[0150]

[0151]

[0152] This invention also discloses a multi-keyword search encryption system, see [link to relevant documentation]. Figure 5 ,include:

[0153] The server settings module is used by the server to obtain the verification chain VIC, keyword chain KIC, and encrypted file set F sent by the client. i ′, to configure the stored content;

[0154] The trapdoor acquisition module is used by the server to obtain the trapdoor Tw sent by the client;

[0155] The search module is used by the server to perform a search based on the search trap Tw and send the search results to the client.

[0156] Optionally, a verification module may also be included, which allows the client to verify the search results sent by the server.

[0157] Optionally, it also includes an information update module, which is used by the client to send updated information to the server for modification.

[0158] The system modules disclosed in the embodiments are described simply because they correspond to the methods disclosed in the embodiments. For relevant details, please refer to the method section.

[0159] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0160] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A multi-keyword search encryption method, characterized in that, Includes the following steps: Step 1: The server obtains the verification chain VIC, keyword chain KIC, and encrypted file set sent by the client. Configure storage content and encrypt file collections. The generation method is as follows: Client determines security parameters and data file collection ; The client, based on the security parameters Generate key , , and private key ; The client selects a symmetric encryption algorithm and performs encryption on the data file set. Encryption is performed to obtain a set of encrypted files. ; The method for generating the client's verification chain (VIC) is as follows: According to the security parameters Generate a hash function H and a pseudo-random function F; Based on the pseudo-random function F, client identity is... Using a key Process the data to obtain the processed client identity. ; Processed client identity Perform 1 to 1 respectively The next hash operation yields the verification chain. ,in, Indicates the length of the verification chain. This represents the c-th node in the verification chain; The method for generating the client's keyword chain KIC is as follows: Perform a hash function operation on each node in the verification chain. The hash function is: This yields the address of each keyword node. k Key words Let its keyword node address be ; Select a symmetric encryption algorithm for the keywords Encryption is performed to obtain the encrypted keywords. ; Randomly generate the address of the next keyword node. , It is a length of A string of 0s and 1s is used to point to the next keyword node; Based on the data file set Generate multi-bitmap indexes ; Compress the key using the HMAC function. Multi-bitmap index and encrypted keywords Generate verification function ; For keywords Each file Use the HMAC function to compress the key. ,document and encrypted keywords Generate file verification function Store in a collection middle; Get keywords generated nodes ; Based on the nodes generated from all keywords, a keyword chain is obtained. ; Step 2: The server obtains the search trapdoor sent by the client. The generation method is as follows: Based on the pseudo-random function F, client identity is... Using a key Process the data to obtain the processed client identity. ; Processed client identity conduct The hash operation yields the first hash in the verification chain. Nodes Let it be expressed as Key ; The client encrypts each query keyword, generating an encrypted set of query keywords. ; The client is based on a set of query keywords. Set keyword matching threshold ,in express The binary form of the number of keywords in the text; get ; Step 3: The server searches for trapdoors. Perform a search and send the search results to the client, specifically: The server uses a search trap. Find the corresponding verification chain From the corresponding keyword chain Search the nodes sequentially; Based on node address Access all nodes in the verification chain, determine whether the keyword in the corresponding keyword chain is the query keyword, and use... Store the set of encrypted keywords from successfully queried queries; retrieve Information on all nodes Index the multiple bitmaps within them Perform a bitwise AND operation; if the result equals ... This indicates that the queried file satisfies the query requirements, using a set. Store encrypted files; For each successfully matched encrypted keyword and ciphertext ,from Retrieve the corresponding verification function from Store in collection middle; Get keywords Node information set ; Based on search traps All keywords contained within the search result lead to a search trap. All node information contained ; The server will , , Send to the client.

2. The multi-keyword search encryption method according to claim 1, characterized in that, It also includes step 4, where the client verifies the search results sent by the server, specifically through the following method: Based on the search results sent by the server, determine each Does it meet the following requirements: If satisfied, then calculate all The result of the AND operation is used to determine whether the obtained result matches the result in the returned result. Corresponding equal; If they are equal, for each and Verify whether the following conditions are met: If the conditions are met, the verification is successful, and the client accepts the search results returned by the cloud server; otherwise, the verification fails.

3. The multi-keyword search encryption method according to claim 1, characterized in that, It also includes step 5, where the client sends the update information to the server for modification, specifically including two update methods: adding and deleting. The method for updating information through the add operation is as follows: Add files to client The set of keywords extracted from this file is Each keyword is encrypted to obtain a set of encrypted keywords. The client determines the client identity. Modify the corresponding verification chain VIC and calculate. And move the position of KIC, and update it simultaneously. And modify the address information of the first node. ; Iterate through each node, for each ,make Perform addition operation and modify simultaneously ,Add to arrive Generate a new file verification set from the collection. ; The client will update information. And each keyword corresponds to Send to the cloud server for modification. ; The method for updating information through deletion is as follows: Add files to client The set of keywords extracted from this file is The client determines the client identity. Modify the corresponding verification chain VIC and calculate. And move the position of KIC, and update it simultaneously. And modify the address information of the first node. ; Iterate through each node, for each ,make Perform the two's complement addition operation to obtain the updated result. ,Revise ;from Delete A new set of file verifications is obtained. ; The client will update information. And each keyword corresponds to Send to the cloud server for modification. .

4. A system utilizing the multi-keyword search encryption method of claim 1, characterized in that, include: The server settings module is used by the server to obtain the verification chain VIC, keyword chain KIC, and encrypted file set sent by the client. Configure the stored content; The trapdoor acquisition module is used by the server to obtain trapdoors sent by the client. ; The search module is used by the server based on the search trap. Perform a search and send the search results to the client.

5. The system according to claim 4, characterized in that, It also includes a verification module, which is used by the client to verify the search results sent by the server.

6. The system according to claim 4, characterized in that, It also includes an information update module, which is used by the client to send updated information to the server for modification.