Sortable fuzzy multi-keyword search method supporting forward and backward security

By using Word2Vec technology and correlation algorithm to establish encrypted indexes in symmetric searchable encryption, fuzzy multi-keyword search and security problems are solved, and efficient and flexible search functions are achieved, while ensuring forward and backward security.

CN119441575APending Publication Date: 2025-02-14HUAIYIN INSTITUTE OF TECHNOLOGY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411530603.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-30
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

The prior art is difficult to implement fuzzy multi-keyword search in symmetric searchable encryption and cannot ensure forward and backward security during updates.

Method used

Word2Vec technology is used to convert keywords into vectors, and the correlation score between keywords and documents is calculated through word frequency-inverse document frequency TF-IDF and three-factor algorithm to establish an encrypted index. At the same time, random security parameters and anti-collision hash functions are used to ensure that database content and search query information are not leaked during the update.

Benefits of technology

The sortable function of fuzzy multi-keyword search is realized, which broadens the search range, improves search flexibility and practicality, while ensuring forward and backward security, and preventing information leakage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119441575A_ABST
    Figure CN119441575A_ABST
Patent Text Reader

Abstract

The invention discloses a sortable fuzzy multi-keyword search method supporting forward and backward security, which comprises the following steps: calculating correlation scores between keywords and documents by adopting word frequency-inverse document frequency and a three-factor algorithm, setting a random security parameter and a key set, converting the keywords into vectors by a proxy server by utilizing Word2Vec, encrypting to determine an encryption index, and searching for the keywords and the documents according to the encryption index. Encrypting the database file by using the symmetric key to obtain a ciphertext; the proxy server performs updating according to a document needing to be updated to obtain a new encryption index; a user inputs a query keyword set, and the proxy server calculates an encrypted trap door; the cloud server receives the encrypted trap door sent by the proxy server to execute search operation; and the cloud server retrieves the corresponding ciphertext after receiving the file identifier. Compared with the prior art, the method has the advantages that the problem of fuzzy multi-keyword search is solved, and document sorting is realized by using word frequency-inverse document frequency and a three-factor algorithm; and in the aspect of safety, forward and backward safety is realized, and the method has a feasible practical value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information security technology, and in particular to a sortable fuzzy multi-keyword search method supporting forward and backward security. Background Art

[0002] Cloud computing has attracted more and more users to store data on cloud servers due to its scalability and flexibility. Cloud users can store and use data remotely on cloud servers, obtain high-quality on-demand services, and generate less storage and computing burden. However, this data storage operation inevitably involves security and privacy issues. Data encryption can eliminate this problem to a certain extent, but searching for encrypted data is a challenging problem. Therefore, symmetric searchable encryption technology came into being.

[0003] Symmetric searchable encryption is an encryption technology that allows users to search for encrypted files of interest. In 2000, Song et al. first proposed symmetric searchable encryption, which effectively solved the search problem of encrypted data and ensured that data privacy was not leaked. In 2006, Curtmola et al. proposed a symmetric searchable encryption scheme based on inverted index, achieved sublinear search time, and defined the concepts of non-adaptive security and adaptive security. However, these schemes only support precise keyword search, not fuzzy search.

[0004] In order to solve the problem of user fuzzy queries, in 2010, Li et al. proposed the first scheme to support fuzzy keyword search, which used edit distance to represent the relevance of keywords and wildcards to construct fuzzy keyword sets. However, this scheme cannot sort the returned results and is not suitable for actual production environments. In order to solve the above problems, in 2023, Li et al. proposed an efficient and dynamically updateable sorted fuzzy multi-keyword search scheme, which uses locality-sensitive hashing and Bloom filters to implement fuzzy keyword search, and the data owner can update the database. However, this may leak information about the database content and the search queries and keywords involved during the update. Therefore, it is necessary to design a sortable fuzzy multi-keyword search method that supports forward and backward security. Summary of the invention

[0005] Purpose of the invention: In response to the problems raised in the background technology, the present invention proposes a sortable fuzzy multi-keyword search method that supports forward and backward security. The method can achieve forward and backward security while ensuring the sortable fuzzy multi-keyword search.

[0006] Technical solution: The purpose of the present invention is to provide a sortable fuzzy multi-keyword search method that supports forward and backward security, comprising the following steps:

[0007] Step 1: Set the random security parameter λ and key set SK = (M 1 ,M 2 ,S,∑,H 1 ,H 2 ,F 1 ,F 2 ), where M 1 , M 2 is a reversible matrix, S is a randomly generated binary string, ∑ is an initialized empty mapping function, H 1 , H 2 is a collision-resistant hash function, F 1 , F 2 is a pseudo-random function;

[0008] Step 2: The proxy server constructs an encrypted index I based on the file set F and the key set SK. When constructing the encrypted index I, the term frequency-inverse document frequency TF-IDF and three-factor algorithm are used to calculate the keyword w i and the plaintext f in the file set F i The correlation score between them is calculated by using Word2Vec to convert the keywords into vectors, and the vectors are encrypted to determine the encrypted index I; where the keyword w i The keyword set W is extracted from the file set F by the proxy server. 1 ,…,w d A keyword in};

[0009] Step 3: The proxy server uses the symmetric key K e For each plaintext f in the file set F i Encrypt and get the ciphertext C i ;

[0010] Step 4: The user updates the document, and the proxy server uses the encryption index generation method in step 2 to update the encrypted index for the keywords of the updated document, and updates the status of the keywords and determines the trapdoor for each keyword.

[0011] Step 5: User enters a set of query keywords The proxy server generates an encrypted trapdoor T according to the encryption index generation method in step 2 q ;

[0012] Step 6: After receiving the encrypted trapdoor in step 5, the cloud server matches it with the keyword trapdoor in step 4 to obtain the corresponding keyword w i , then retrieve the encrypted index I and put the search result R i Send to the proxy server;

[0013] Step 7: The proxy server receives the search result R i Then, according to the user's requirements, the top K file identifiers id i Sent to the cloud server, the cloud server uses the file identifier id i Retrieve the ciphertext and then send the search result R to the proxy server.

[0014] Furthermore, the specific process of calculating the relevance score between keywords and documents using term frequency-inverse document frequency TF-IDF and a three-factor algorithm in step 2 includes the following steps:

[0015] S2.1: The data owner sends the document set F to the proxy server, which preprocesses the document, including word segmentation and stem extraction;

[0016] S2.2: The proxy server uses the term frequency-inverse document frequency TF-IDF and three-factor algorithm to calculate the keyword w i With file f i The relevance score of

[0017] Term Frequency - Inverse Document Frequency Calculation formula:

[0018]

[0019] in, For keyword w i In the file f i The frequency in is the keyword w in the file set F i The frequency, For keyword w i In the file f i The number of occurrences in |f i | for file f i The total number of keywords in the file set F, |F| is the total number of files in the file set F, |{j:w∈f j}| contains the keyword w i The total number of file collections;

[0020] Three-factor algorithm Z ij Calculation formula:

[0021] Z ij =g 1 ×V 1 +g 2 ×V 2 +g 3 ×V 3 , g 1 >g 2 >g 3 , g 1,g 2 ,g 3 ∈[0,1]

[0022] Among them, g 1 is the weight coefficient of the title, g 2 is the weight coefficient of the summary, g 3 is the weight coefficient of the text, V 1 is the title field, V 2 is the summary domain, V 3 For the text field;

[0023] The calculation formula of relevance score is:

[0024]

[0025] Furthermore, in step 2, the keyword is converted into a vector using Word2Vec, and the vector is encrypted to determine the encryption index I. The specific process includes the following steps:

[0026] The proxy server uses Word2vec to convert each keyword w in the keyword set W i Convert to vector v i , then the vector v i Expands to (v i ,r,1), where r is a random number, and the proxy server expands the vector (v i ,r,1) is encrypted, that is, the extended vector (v i ,r,1) is split into vector v i ' and vector v i ", that is, the two indexes obtained, and the obtained indexes are encrypted, as follows:

[0027] First, check each character of the binary string S in order. If it is 0, then the extended vector (v i ,r,1) perform the following operations on the elements at the same position in v i ′=v i ″=v i ; If it is 1, the expansion vector (v i ,r,1) perform the following operations on the elements at the same position Among them, o is a random number, and then get the index I i ′=v i ′,I i ″=v i ″, and then encrypt the index to obtain the encrypted index I i ,

[0028] The proxy server performs expansion and encryption operations on each keyword in the keyword set W, and finally establishes an encrypted index I, where I = {I 1 ,I 2 ,...I i ...,I d}.

[0029] Furthermore, in step 3, the proxy server performs ciphertext construction, including the following steps:

[0030] The proxy server performs a query on each file f in the file set F. i Encrypt and get the ciphertext C i =Enc(K e ,f i ), then the ciphertext C i There is a ciphertext table T c In the example, let T c [id i ]=C i , where id i Is the file f i The identifier of T c [id i ] is the ciphertext C i There is a ciphertext table T c By entering the file identifier id i In the ciphertext table T c , take out the ciphertext.

[0031] Furthermore, the step 4 specifically includes the following steps:

[0032] S4.1: Proxy server settings in, For keyword w i In the state under the count of c, at the time of initialization, let in And c←0,⊥is empty;

[0033] S4.2: When a file status is updated or a new file is uploaded, the data owner uploads the document to be updated to the proxy server, and the proxy server performs a query on each keyword w in the document. i Convert it into a vector, encrypt the vector to determine the new encryption index and assign it to I;

[0034] S4.3: Proxy server calculates keyword w i New status in, For keyword w i Compute the key for the new state, For keyword status, the proxy server calculates the key of the keyword trapdoor and the value of the keyword trapdoor in, It is a keyword trap door, setting H 1 is a hash function, For XOR operation, is the number of files;

[0035] S4.4: For the i The proxy server calculates the key of the j-th file and the value of the file is the file identifier, j is the file serial number, op is the add or delete operation, and score is the relevance score.

[0036] Furthermore, searching for a trapdoor in step 5 includes the following steps:

[0037] S5.1: The user sets the keywords he wants to search for Upload to the proxy server, the proxy server uses Word2vec to convert the search keyword q i Transformed into vector Q i , then Q i Expanded to (Q i ,r,1), r is a random number; the proxy server extends the vector (Q i ,r,1) is encrypted, that is, the extended vector (Q i ,r,1) is split into vector q i ′ and vector q i ″, that is, the two trapdoors obtained, and the obtained trapdoors are encrypted as follows:

[0038] First, check each character of S in order. If it is 0, the extended vector (Q i ,r,1) perform the following operation on the elements at the same position q i ′=q i =q i ; If it is 1, the extended vector (Q i ,r,1) perform the following operations on the elements at the same position Among them, o is a random number; then we get the vector Q i ′=q i ′,Q i =q i ″, the proxy server will Q i ′ and Q i "Encrypted as

[0039] S5.2: The proxy server will send all keywords toi Calculate the search trap and determine the final search trap Upload to the cloud server.

[0040] Furthermore, in step 6, the cloud server performs document retrieval, including the following steps:

[0041] S6.1: Cloud server receives search trap After that, calculate The cloud server calculates the trapdoor using the following formula and keyword w i The correlation between:

[0042]

[0043] S6.2: After the cloud server calculates all inner product results, it will return the first N matching keywords (w 1 ,...,w N ) Sort by relevance score, cloud server retrieves encrypted index calculate Get keyword status and the number of files Cloud Server Computing And retrieve the encrypted index calculate Put the results into result set R i Then the cloud server calculates Get keyword w i The previous state Continue looping to find the remaining matching files;

[0044] S6.3: The cloud server sends the result set R i Sent to the proxy server.

[0045] Furthermore, in step 7, the cloud server performs ciphertext retrieval, including the following steps:

[0046] S7.1: The proxy server receives the result set R i First, check whether op is a delete operation. If so, the file identifier does not need to be sorted; otherwise, the file identifier is sorted; then, in descending order of relevance score, the file identifiers of the first K files participating in the sort are sorted. i Sort and assign the sorted file identifier id i Send to cloud server;

[0047] S7.2: The cloud server generates a file based on the file identifier id iRetrieve the ciphertext and return the ciphertext result set R to the proxy server, which returns the ciphertext result set R to the user.

[0048] Beneficial effects:

[0049] 1. The present invention proposes a sortable fuzzy multi-keyword search method that supports forward and backward security. The method uses Word2Vec technology to implement fuzzy multi-keyword search, further broadens the search scope, and improves the flexibility and practicality of the search. At the same time, the word frequency-inverse document frequency and three-factor algorithm are used to calculate the correlation score between keywords and documents, so as to achieve the sorting of search results and optimize the search effect. In addition, the method realizes forward and backward security, preventing the disclosure of database content and the information of search queries and keywords involved during the update.

[0050] 2. When using the term frequency-inverse document frequency and three-factor algorithm to calculate the relevance score between keywords and documents, the result of multiplying the two is used as the relevance score. Multiplication can amplify or reduce the impact of a value. TF-IDF already represents the importance of a word. If multiplication is combined with a weight factor, if the weight factor is greater than 1, the original relevance score will be amplified; if it is less than 1, the relevance score will be reduced. This proportional adjustment method is more intuitive and reasonable in many scenarios, because it can directly affect the relevance score according to the size of the weight factor, and can flexibly adjust the impact of different features or parameters. At the same time, the TF-IDF value and the weight factor may have different units or orders of magnitude, and multiplication can ensure proportional scaling on the original value. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] Figure 1 It is a schematic diagram of the overall structural flow of the present invention. Specific implementation method:

[0052] The present invention will be further described below in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solutions of the present invention and are not intended to limit the protection scope of the present invention.

[0053] The present invention provides a sortable fuzzy multi-keyword search method that supports forward and backward security. Figure 1 , including the following steps:

[0054] S1: System initialization; Setting random security parameter λ and key set SK=(M 1 ,M 2 ,S,∑,H 1 ,H 2 ,F 1 ,F 2 ), where M 1 , M 2is a reversible matrix, S is a randomly generated binary string, ∑ is an initialized empty mapping function, H 1 , H 2 is a collision-resistant hash function, F 1 , F 2 is a pseudo-random function.

[0055] S2: The proxy server constructs an encrypted index I based on the file set F and the key set SK. When constructing the encrypted index I, the term frequency-inverse document frequency TF-IDF and three-factor algorithm are used to calculate the keyword w i and the plaintext f in the file set F i The correlation score between them is calculated by using Word2Vec to convert the keywords into vectors, and the vectors are encrypted to determine the encrypted index I; where the keyword w i The keyword set W is extracted from the file set F by the proxy server. 1 ,…,w d A keyword in}.

[0056] The specific steps are as follows:

[0057] S2.1: The data owner sends the document set F to the proxy server, which preprocesses the documents, including word segmentation and stem extraction.

[0058] S2.2: The proxy server extracts keyword w from the document set F i , forming a keyword set W = {w 1 ,…,w d Then the keyword w is calculated using the term frequency-inverse document frequency (TF-IDF) and three-factor algorithm. i With file f i The relevance score score.

[0059] Term Frequency - Inverse Document Frequency Calculation formula:

[0060]

[0061] in, For keyword w i In the file f i The frequency in is the keyword w in the file set F i The frequency, For keyword w i In the file f i The number of occurrences in |f i | for file f i The total number of keywords in the file set F, |F| is the total number of files in the file set F, |{j:w∈f j}| contains the keyword w i The total number of file collections.

[0062] Three-factor algorithm Z ij Calculation formula:

[0063] Z ij =g 1 ×V 1 +g 2 ×V 2 +g 3 ×V 3 , g 1 >g 2 >g 3 , g 1 ,g 2 ,g 3 ∈[0,1]

[0064] Among them, g 1 is the weight coefficient of the title, g 2 is the weight coefficient of the summary, g 3 is the weight coefficient of the text, V 1 is the title field, V 2 is the summary domain, V 3 The text field.

[0065] The calculation formula of relevance score is:

[0066]

[0067] S2.3: In order to implement fuzzy search, the proxy server uses Word2vec technology to convert each keyword w i Convert to vector v i Then the vector v i Expands to (v i ,r,1), where r is a random number, which the proxy server encrypts as I i ′ and I i ″, used to protect the privacy of keywords. Encryption follows the following rules:

[0068] Use a binary string S with the same number of bits as the extended vector if S i [j]=0, ​​then set v i ′=v i ″=v i , if S i [j]=1, then set Among them, o is a random number. Then get the index I i ′=v i ′,I i ″=v i ″, then the proxy server will Ii ′ and I i ″Encryption I i , It is a keyword trapdoor.

[0069] S2.4: The proxy server performs expansion and encryption operations on each keyword in the keyword set W, and finally establishes an encrypted index I, where I = {I 1 ,I 2 ,...I i ...,I d}.

[0070] S3: Ciphertext construction; the proxy server uses the symmetric key K e For the plaintext f i Encrypt and get the ciphertext C i ; The specific steps for constructing ciphertext are as follows:

[0071] S3.1: The proxy server performs a query on each file f in the file set F. i Encrypt and get the ciphertext C i =Enc(K e ,f i ), then the ciphertext C i There is a ciphertext table T c In the example, let T c [id i ]=C i .

[0072] S4: The user updates the document, and the proxy server uses the encryption index generation method in step 2 to update the encrypted index for the keywords of the updated document, and updates the status of the keywords and the trapdoor for each keyword. The specific steps to update the document are as follows:

[0073] S4.1: Proxy server settings in, For keyword w i The state under the count of c. At initialization, let in And c←0,⊥is empty;

[0074] S4.2: When a file status is updated or a new file is uploaded, the data owner will update the file f i Upload to the proxy server, the proxy server will process the file i Each keyword w i Execute the above S2.3.

[0075] S4.3: Proxy server calculates keyword w i New status Among them, F 1 is a pseudo-random function, For keyword w i Calculate the key for the new state. The proxy server calculates the key for the keyword trapdoor and the value of the keyword trapdoor in, It is a keyword trap door. is the number of files.

[0076] S4.4: For each identifier The proxy server calculates the key of the file and the value of the file Among them, j is the sequence number of the file, and op is the add or delete operation.

[0077] S5: Search trap; user inputs a set of query keywords The proxy server generates an encrypted trapdoor T according to the encryption index generation method in step 2 q ; The specific steps for searching trapdoors are as follows:

[0078] S5.1: The user sets the keywords he wants to search for Upload to the proxy server, the proxy server uses Word2vec to convert the search keyword q i Transformed into vector Q i , then Q i Expanded to (Q i ,r,1), r is a random number; the proxy server extends the vector (Q i ,r,1) is encrypted, that is, the extended vector (Q i ,r,1) is split into vector q i ′ and vector q i ″, that is, the two trapdoors obtained, and the obtained trapdoors are encrypted as follows:

[0079] First, check each character of S in order. If it is 0, the extended vector (Q i ,r,1) perform the following operation on the elements at the same position q i ′=q i =q i ; If it is 1, the extended vector (Q i ,r,1) perform the following operations on the elements at the same position Among them, o is a random number; then we get the vector Q i ′=q i ′,Q i =q i ″, the proxy server will Q i ′ and Qi "Encrypted as

[0080] S5.2: The proxy server will send all keywords to i Calculate the search trap and determine the final search trap Upload to the cloud server.

[0081] S6: Document retrieval; cloud server receives encrypted trapdoor Then match it with the keyword trap door to get the corresponding keyword w i , then retrieve the encrypted index I and put the search result R i Sent to the proxy server; the specific steps for document retrieval are as follows:

[0082] S6.1: After receiving the search trap, the cloud server calculates In order to implement fuzzy keyword search, the cloud server calculates the trap door through the following formula and keyword w i The correlation between:

[0083]

[0084] S6.2: After the cloud server calculates all inner product results, it will return the first N matching keywords (w 1 ,...,w N ) are sorted according to the relevance score. Cloud server retrieves encrypted index calculate Get keyword status and the number of files Cloud Server Computing And retrieve the encrypted index calculate Put the results into result set R i Then the cloud server calculates Get keyword w i The previous state Continue looping to find remaining matching files.

[0085] S6.3: The cloud server sends the result set R i Sent to the proxy server.

[0086] S7: Ciphertext retrieval; the proxy server receives the search result R i Then, according to the user's requirements, the top K file identifiers id i Sent to the cloud server, the cloud server uses the file identifier id i Retrieve the ciphertext and then send the search result R to the proxy server. The specific steps of ciphertext retrieval are as follows:

[0087] S7.1: The proxy server receives the result set R i First, check whether op is a delete operation. If so, the file identifier does not need to be sorted. Otherwise, the file identifier needs to be sorted. Then, in descending order of relevance score, sort the file identifiers of the first K files involved in the sort. i Sort and assign the sorted file identifier id i Send to the cloud server.

[0088] S7.2: The cloud server generates a file based on the file identifier id i Retrieve the ciphertext and return the ciphertext result set R to the proxy server, which returns the ciphertext result set R to the user.

[0089] The present invention has conducted an experimental evaluation of the technical solution and conducted a ciphertext search performance test on queries containing 6 keywords. The experimental results show that the method can effectively support forward and backward security in the sorting and retrieval process of the first K files, and the obtained retrieval accuracy rate reaches 89%, which verifies that the method has high retrieval accuracy while ensuring data privacy.

[0090] The above embodiments are only for illustrating the technical concept and features of the present invention, and their purpose is to enable people familiar with the technology to understand the content of the present invention and implement it accordingly, and they cannot be used to limit the protection scope of the present invention. Any equivalent transformation or modification made according to the spirit of the present invention should be included in the protection scope of the present invention.

Claims

1. A sortable fuzzy multi-keyword search method supporting forward and backward security, characterized in that: The following steps are involved: Step 1: Set the random security parameter λ and key set SK = (M1, M2, S, ∑, H1, H2, F1, F2), where M1 and M2 are reversible matrices, S is a randomly generated binary string, ∑ is an initialized empty mapping function, H1 and H2 are collision-resistant hash functions, and F1 and F2 are pseudo-random functions; Step 2: The proxy server constructs an encrypted index I based on the file set F and the key set SK. When constructing the encrypted index I, the term frequency-inverse document frequency TF-IDF and three-factor algorithm are used to calculate the keyword w i and the plaintext f in file set F i The correlation score between them is calculated by using Word2Vec to convert the keywords into vectors, and the vectors are encrypted to determine the encrypted index I; where the keyword w i The keyword set W is formed by the proxy server extracting from the file set F = {w1,…,w d A keyword in}; Step 3: The proxy server uses the symmetric key K e For each plaintext f in the file set F i Encrypt and get the ciphertext C i ; Step 4: The user updates the document, and the proxy server uses the encrypted index generation method in step 2 to update the encrypted index for the keywords of the updated document, and updates the status of the keywords and the trapdoor for each keyword. Step 5: User enters a set of query keywords The proxy server generates an encrypted trapdoor according to the encryption index generation method in step 2; Step 6: After receiving the encrypted trapdoor in step 5, the cloud server matches it with the keyword trapdoor in step 4 to obtain the corresponding keyword w i , then retrieve the encrypted index I and put the search result R i Send to the proxy server; Step 7: The proxy server receives the search result R i Then, according to the user's requirements, the top K file identifiers id i Sent to the cloud server, the cloud server uses the file identifier id i Retrieve the ciphertext and then send the search result R to the proxy server.

2. The forward and backward secure sortable fuzzy multi-keyword search method according to claim 1, characterized in that: The specific process of using term frequency-inverse document frequency TF-IDF and three-factor algorithm to calculate the relevance score between keywords and documents in step 2 includes the following steps: S2.1: The data owner sends the document set F to the proxy server, which preprocesses the document, including word segmentation and stem extraction; S2.2: The proxy server uses the term frequency-inverse document frequency TF-IDF and three-factor algorithm to calculate the keyword w i With file f i The relevance score of Term Frequency - Inverse Document Frequency Calculation formula: in, For keyword w i In the file f i The frequency in is the keyword w in the file set F i The frequency, For keyword w i In the file f i The number of occurrences in |f i | for file f i The total number of keywords in the file set F, |F| is the total number of files in the file set F, |{j:w∈f j }| contains the keyword w i The total number of file collections; Three-factor algorithm Z ij Calculation formula: Z ij =g1×V1+g2×V2+g3×V3,g1>g2>g3,g1,g2,g3∈[0,1] Among them, g1 is the weight coefficient of the title, g2 is the weight coefficient of the abstract, g3 is the weight coefficient of the text, V1 is the title field, V2 is the abstract field, and V3 is the text field; The calculation formula of relevance score is:

3. The forward and backward secure sortable fuzzy multi-keyword search method according to claim 1 or 2, characterized in that: In step 2, Word2Vec is used to convert keywords into vectors, and the vectors are encrypted to determine the encryption index I. The specific process includes the following steps: The proxy server uses Word2vec to convert each keyword w in the keyword set W i Convert to vector v i , then the vector v i Expands to (v i ,r,1), where r is a random number, and the proxy server expands the vector (v i ,r,1) is encrypted, that is, the extended vector (v i ,r,1) is split into vector v i ' and vector v i ", that is, the two indexes obtained, and the obtained indexes are encrypted, as follows: First, check each character of the binary string S in order. If it is 0, then the extended vector (v i ,r,1) perform the following operations on the elements at the same position in v i ′=v i ″=v i ; If it is 1, the expansion vector (v i ,r,1) perform the following operations on the elements at the same position Among them, o is a random number, and then get the index I i ′=v i ′,I i ″=v i ″, and then encrypt the index to obtain the encrypted index I i , The proxy server performs expansion and encryption operations on each keyword in the keyword set W, and finally establishes an encrypted index I, where I = {I1, I2, ... I i ...,I d }.

4. The forward and backward secure sortable fuzzy multi-keyword search method according to claim 1, characterized in that: In step 3, the proxy server performs ciphertext construction, including the following steps: The proxy server performs a query on each file f in the file set F. i Encrypt and get the ciphertext C i =Enc(K e ,f i ), then the ciphertext C i There is a ciphertext table T c In the example, let T c [id i ]=C i , where id i Is the file f i The identifier of T c [id i ] is the ciphertext C i There is a ciphertext table T c By entering the file identifier id i In the ciphertext table T c , take out the ciphertext.

5. The forward and backward secure sortable fuzzy multi-keyword search method according to claim 3, characterized in that: The step 4 specifically includes the following steps: S4.1: Proxy server settings in, For keyword w i In the state under the count of c, at the time of initialization, let in And c←0,⊥is empty; S4.2: When a file status is updated or a new file is uploaded, the data owner uploads the document to be updated to the proxy server, and the proxy server performs a query on each keyword w in the document. i Convert it into a vector, encrypt the vector to determine the new encryption index and assign it to I; S4.3: Proxy server calculates keyword w i New status in, For keyword w i Compute the key for the new state, For keyword status, the proxy server calculates the key of the keyword trapdoor and the value of the keyword trapdoor in, It is a keyword trap door, setting H1 is the hash function, For XOR operation, is the number of files; S4.4: For the i The proxy server calculates the key of the j-th file and the value of the file is the file identifier, j is the file serial number, op is the add or delete operation, and score is the relevance score.

6. The forward and backward secure sortable fuzzy multi-keyword search method according to claim 5, characterized in that: The step 5 of searching for a trapdoor includes the following steps: S5.1: The user sets the keywords he wants to search for Upload to the proxy server, the proxy server uses Word2vec to convert the search keyword q i Transformed into vector Q i , then Q i Expanded to (Q i ,r,1), r is a random number; the proxy server extends the vector (Q i ,r,1) is encrypted, that is, the extended vector (Q i ,r,1) is split into vector q i ′ and vector q i ″, that is, the two trapdoors obtained, and the obtained trapdoors are encrypted as follows: First, check each character of S in order. If it is 0, the extended vector (Q i ,r,1) perform the following operation on the elements at the same position q i ′=q i ″=q i ; If it is 1, the extended vector (Q i ,r,1) perform the following operations on the elements at the same position Among them, o is a random number; then we get the vector Q i ′=q i ′,Q i ″=q i ″, the proxy server will Q i ′ and Q i "Encrypted as S5.2: The proxy server will send all keywords to i Calculate the search trap and determine the final search trap Upload to the cloud server.

7. The forward and backward secure sortable fuzzy multi-keyword search method according to claim 6, characterized in that: In step 6, the cloud server performs document retrieval, including the following steps: S6.1: After receiving the search trap, the cloud server calculates The cloud server calculates the trapdoor using the following formula and keyword w i The correlation between: S6.2: After the cloud server calculates all inner product results, it will return the first N matching keywords (w1,...,w N ) Sort by relevance score, cloud server retrieves encrypted index calculate Get keyword status and number of files Cloud Server Computing And retrieve the encrypted index calculate Put the results into result set R i Then the cloud server calculates Get keyword w i The previous state Continue looping to find the remaining matching files; S6.3: The cloud server sends the result set R i Sent to the proxy server.

8. The forward and backward secure sortable fuzzy multi-keyword search method according to claim 1, characterized in that: In step 7, the cloud server performs ciphertext retrieval, including the following steps: S7.1: The proxy server receives the result set R i First, check whether op is a delete operation. If so, the file identifier does not need to be sorted; otherwise, the file identifier is sorted; then, in descending order of relevance score, the file identifiers of the first K files participating in the sort are sorted. i Sort and assign the sorted file identifier id i Send to cloud server; S7.2: The cloud server uses the file identifier id i Retrieve the ciphertext and return the ciphertext result set R to the proxy server, which returns the ciphertext result set R to the user.