A limited boolean symmetric searchable encryption method supporting forward and backward privacy protection
By deploying bitmap XOR computation and Boolean operations on the server side, combined with a hidden update chain, the challenges of forward and backward privacy protection and multi-keyword query in dynamic symmetric searchable encryption are solved. This achieves efficient multi-keyword Boolean search, reduces client-side computation and communication overhead, and improves system security and query efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- UNIV OF ELECTRONICS SCI & TECH OF CHINA
- Filing Date
- 2026-03-16
- Publication Date
- 2026-06-16
AI Technical Summary
Existing dynamic symmetric searchable encryption schemes struggle to simultaneously achieve forward and backward privacy protection and efficient multi-keyword queries, leading to privacy leaks and excessive computational and communication overhead during large-scale cloud data retrieval.
By employing bitmap XOR and Boolean computation techniques, multi-keyword queries and Boolean operations are deployed on the server side. By hiding the update chain and using XOR encryption operations, forward and backward privacy protection is achieved, reducing client-side computation and communication overhead.
It supports multi-keyword finite Boolean queries within a forward and backward privacy protection framework, reducing client-side computational overhead, improving system security and query functionality, and is suitable for large-scale cloud data retrieval.
Smart Images

Figure FT_1 
Figure FT_2 
Figure SMS_92
Abstract
Description
Technical Field
[0001] This invention primarily relates to the field of cryptography, specifically to encrypted data retrieval in a cloud computing environment, and particularly to a finite Boolean symmetric searchable encryption method that supports forward and backward privacy protection. Background Technology
[0002] Today, the booming research in areas such as big data and artificial intelligence models has led to an increasing importance of data across all industries, making it a crucial factor driving social development and industrial transformation. Meanwhile, with the widespread adoption of cloud storage technology, cloud computing, aiming to save local storage and computing resources, has attracted increasing attention from individuals, institutions, and organizations due to its flexibility and scalability, resulting in a growing number of cloud storage solutions. Cloud users can remotely store and use local data on cloud servers, obtaining high-quality on-demand services and reducing their storage and computing burden. This necessitates data interaction between users and servers. However, the current imperfections in data protection laws and regulations, coupled with competition among companies for data, have placed higher demands on data security and privacy protection. Simple data encryption is no longer sufficient to meet the security and usage requirements of cloud data.
[0003] Searchable encryption is a search scheme based on encrypted files, allowing users to retrieve encrypted files of interest without leaking data or query privacy, effectively solving the dilemma of data having to be decrypted before processing. Searchable encryption is divided into asymmetric search encryption and symmetric search encryption. Asymmetric search encryption has the advantage of high security; however, its computational overhead is too high for processing large databases, making it unsuitable for current big data applications. Symmetric search encryption has lower computational overhead and is more in line with practical engineering needs. In the development of symmetric search encryption, static symmetric searchable encryption has gradually fallen out of favor due to cloud users frequently adding or deleting data stored in the cloud, and has been replaced by dynamic symmetric searchable encryption. However, dynamic symmetric searchable encryption schemes face serious privacy leakage risks: in addition to content privacy, access pattern privacy is equally important. Servers are often not completely trustworthy parties and may collect and analyze various leaked data without authorization, inferring sensitive plaintext information by analyzing user operation sequences. To address the data privacy leakage problem, researchers have proposed two key privacy protection attributes: forward privacy and backward privacy, and have proposed various privacy protection strategies to construct searchable encryption schemes. The former means the server cannot associate an update with any past query; the latter means the server cannot associate a previous deletion with the current query.
[0004] However, existing searchable encryption technologies have some drawbacks. While some applications employ inadvertent random transmission or fully homomorphic encryption to achieve high security and multi-functional module privacy protection, they incur significant computational or communication overhead. Among efficiency-oriented solutions, most focus on forward privacy protection, with few implementing backward privacy. Although some solutions can achieve both forward and backward privacy, they typically struggle to support efficient multi-keyword queries, with most designed only for single keywords. When performing multi-keyword queries, existing solutions usually require the client to first retrieve all results for each keyword, then decrypt and find the intersection locally. This process incurs substantial communication and client-side computational overhead, making it unsuitable for large-scale datasets.
[0005] Therefore, there is an urgent need to develop a dynamic symmetric searchable encryption scheme that can provide sufficient forward and backward privacy protection while supporting efficient execution of multi-keyword queries on the server side, in order to address the security challenges of searching large-scale datasets. Summary of the Invention
[0006] The purpose of this invention is to solve the problems of privacy leakage and excessive computation and communication overhead during large-scale cloud data retrieval caused by the difficulty in balancing forward and backward privacy protection and efficient multi-keyword query in existing dynamic symmetric searchable encryption schemes.
[0007] This invention provides a finite Boolean symmetric searchable encryption method supporting forward and backward privacy protection. Based on the FB-DSSE framework for forward and backward privacy protection, this method utilizes bitmap XOR and Boolean computation techniques to deploy multi-keyword queries and Boolean operations on the server side, significantly reducing client-side computational overhead. Furthermore, according to the search scheme, only two bitmap data points need to be returned in the result return, reducing communication overhead and achieving multi-keyword finite Boolean queries under forward and backward privacy protection.
[0008] A finite Boolean symmetric searchable encryption method supporting forward and backward privacy protection, comprising the following steps:
[0009] Step 1: System Initialization: The client generates a global key, generates a corresponding key pair for each keyword based on the global key, and maintains a dictionary for each keyword locally; the server initializes the encrypted database;
[0010] Step 2: Keyword-Document Pair Update: The client generates an update bitmap based on the keyword-document pair that needs to be updated, encrypts the update bitmap using a key, generates an update token and a counter token, and sends the encrypted update bitmap, update token, and counter token to the server; the server stores the received data in the encrypted database based on the update token.
[0011] Step 3: Forward and Backward Privacy Protection: Forward privacy protection is achieved through the irreversibility of updating tokens and constructing a hidden update chain; backward privacy protection is achieved through unintentional update operations and XOR encryption operations.
[0012] Step 4: Multi-keyword finite Boolean search: The client generates a search token and a Boolean expression and sends them to the server; the server retrieves encrypted bitmaps based on the search token, performs calculations on multiple encrypted bitmaps according to the Boolean expression, and returns the calculation results; the client decrypts the calculation results to obtain a set of matching document identifiers.
[0013] Furthermore, step 1 includes:
[0014] In a symmetric searchable encryption system, a client and a server are configured, where...
[0015] The client generates and saves a global key. Global key Used for each keyword Generate the corresponding public key and private key It generates search and update tokens, decrypts query results, and maintains a keyword dictionary locally. ;
[0016] The server maintains an encrypted database for storing encrypted data and encrypted indexes; the server is configured to process dynamic requests sent by users, including adding or deleting indexes and keyword search requests; wherein the server acts as an honest but curious entity, that is, it performs operations according to the protocol and attempts to analyze the user's private data during the operation.
[0017] The client and the server uniformly initialize system parameters, including system security parameters. These system security parameters include parameters... , ,in , The key generation based on this security parameter specifically involves the client selecting three hash functions. , and , and satisfy , Then it satisfies And select a length of The random number is used as the client's global key. That is, it satisfies The client selects As the bitmap length, i.e., the maximum number of stored documents, is sent to the server, where represents the set of positive integers;
[0018] The client initializes the keyword dictionary and sets , where , , where means assigning -1 to the counter c, represents the search token.
[0019] Furthermore, step 2 includes:
[0020] Step 2.1: The client extracts its keywords from the document set in the current local database for association and forms an index , and builds a keyword bitmap according to this index; where represents the keyword, j represents the client keyword identifier, ind represents the file, and i represents the client file identifier; the identifier of the document is generated by an unbiased hash function, that is, the identifiers of each document do not overlap; when building , if the file identifier is i, then the i-th position of this keyword bitmap is set to 1;
[0021] Step 2.2: During the update, for the keyword currently updated by the client, a corresponding public key and private key are generated, and the generation method is , and satisfies ; update the dictionary : The counter c is incremented, and a new search token is generated to replace the previous search token ; then use the hash functions , and to generate an update token and a counter token to construct a hidden update chain, ⊕ represents the exclusive-or operation;
[0022] Step 2.3: The client builds an updated keyword bitmap based on the keyword-document pairs to be updated; when encrypting the bitmap, use the pseudo-random function , and use and the counter c as parameters to generate an encryption key and , calculate the encrypted updated bitmap , if and only if When equal to -1 Equals 0;
[0023] Step 2.4: The client will Send to the server;
[0024] Step 2.5: After receiving the update request, the server updates the data using the update token. Store in an encrypted database at the specified location.
[0025] Furthermore, step 3 includes:
[0026] When the server serves user requests, the system employs forward privacy protection mechanisms and backward privacy protection mechanisms. The forward privacy protection mechanism ensures that currently added documents are not associated with past keyword searches; the backward privacy protection mechanism ensures that currently deleted documents are not associated with future keyword searches.
[0027] The forward privacy protection mechanism is implemented in the following ways:
[0028] Client update token Only with the latest search token Related to previous search tokens Irrelevant, and all search tokens They are not related to each other in any way;
[0029] Counter token Although similar to the previous search token However, due to the irreversibility of the hash function and XOR encryption in the constructed hidden update chain, the server is also unable to associate it with the previous search token.
[0030] The backward privacy protection mechanism is implemented in the following ways:
[0031] By leveraging the properties of the XOR operation, the client's deletion operation is identical to the addition operation, and the server cannot distinguish the specific update operation.
[0032] The server performs a uniform XOR calculation on the bitmap during the search, inadvertently inserting and deleting bits in the bitmap. Since the bitmap cannot be decrypted, it is impossible to distinguish the relationship between this search and a previous update.
[0033] Furthermore, in step 4, the finite Boolean search process for multiple keywords includes:
[0034] Step 4.1: The client sets the keywords to be queried. The corresponding latest search token and public key Send to the server, along with the Boolean expression. and mask ,in Indicates the first One keyword, This indicates the latest counter value. Keywords At counter value Search token at the time Keywords public key, mask , This indicates that the counter value is The decryption key at that time This represents the random number selected by the client.
[0035] Step 4.2: The server processes each keyword Based on the received search token and public key Calculate the latest update token And thus find the counter token. and update bitmap And then according to Find the last search token Repeat the above search until empty, then perform an XOR operation on all updated bitmaps to obtain the encrypted bitmap. and replace the latest updated bitmap. Delete all updates under this keyword except for the latest update to save space;
[0036] Step 4.3: After obtaining the encrypted bitmap of multiple keywords, parse the Boolean expression and convert it into the corresponding expression to calculate the encrypted bitmap, and send the calculation result to the client;
[0037] Step 4.4: After receiving the calculation result, the client calculates the matching document identifier according to the formula, and the specific Boolean formulas and calculation methods supported are as follows:
[0038]
[0039]
[0040]
[0041]
[0042] in, This represents a supported Boolean expression, and the expression still holds true when any single term in it is negated. This indicates that the bitmap is inverted. This represents a plaintext bitmap of the result's single keyword. This represents a random number selected by the client. This indicates an intermediate result of the calculation. and This represents the calculation result returned by the server to the client. This indicates that the matching document identifier is calculated, and the set of document identifiers is... , .
[0043] The technical solution provided by this invention brings at least the following beneficial effects:
[0044] (1) This invention, through the technical means described in step 3, solves the dilemma of traditional dynamic symmetric searchable encryption systems being unable to efficiently combine forward and backward privacy protection. After introducing the hidden update chain, it is possible to link backwards with only the latest search token, thereby querying all update states of the keyword. At the same time, space is traded for time during updates, and time is traded for space during searches, balancing time and space efficiency, and enabling efficient completion of dynamic requests. Conversely, without the latest search token, subsequent updates of the keyword cannot be obtained, making it impossible for the server to associate updates with previous searches, thus achieving forward privacy protection and resisting file injection attacks. The introduction of the unintentional update mechanism utilizes the simple homomorphic operation property of XOR operation, which can be performed in the encrypted state. Combined with the hidden update chain, the server unintentionally completes the update operation without knowing whether the update is an insertion or deletion, achieving backward privacy protection with minimal overhead, reducing privacy leakage, and further improving system security.
[0045] (2) This invention solves the technical problem that previous dynamic symmetric searchable encryption systems with forward privacy protection do not support multi-keyword Boolean search through the technical means described in step 4. A bitwise operation protocol based on bitmap is designed, which only requires one round of interaction in the search phase to retrieve the matching results. Multi-keyword Boolean search in the encrypted bitmap state is implemented and outsourced to the server, which can transfer the computational overhead of multi-keyword Boolean search to the server, thereby minimizing privacy leakage and reducing client computational overhead.
[0046] (3) This invention achieves symmetric searchable encryption by combining the technical means described in steps 3 and 4, thereby improving system security and the practicality of the query function. It enables the system to support multi-keyword finite Boolean search within a framework of forward and backward privacy protection. Compared to traditional symmetric searchable encryption systems, this method not only ensures data privacy and security but also solves the dilemma that traditional symmetric searchable encryption systems do not support both forward and backward privacy protection and multi-keyword Boolean search simultaneously. This reduces system overhead, improves system efficiency, and makes forward and backward privacy-protected multi-keyword Boolean searchable encryption possible in a cloud environment. This method overcomes the difficulty of performing Boolean calculations on bitmaps in an encrypted state, improves system security, and expands system functionality. Attached Figure Description
[0047] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 This is a flowchart illustrating a finite Boolean symmetric searchable encryption method that supports forward and backward privacy protection, as provided in an embodiment of the present invention.
[0049] Figure 2 This is a comparison chart showing the time overhead of multi-keyword Boolean search on the client side compared to traditional solutions in this embodiment of the invention. Detailed Implementation
[0050] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be described in detail and completely below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Generally, the components of the embodiments of the present invention described and shown in the accompanying drawings can be arranged and designed using different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments of the present invention.
[0051] In one possible implementation, see Figure 1 The specific implementation process of a finite Boolean symmetric searchable encryption method supporting forward and backward privacy protection provided by this invention includes:
[0052] Step 1: System Initialization:
[0053] In a symmetric searchable encryption system, a client and a server are set up, where:
[0054] The client generates and saves a global key. Its satisfaction Global key Used for each keyword Generate the corresponding public key and private key It generates search and update tokens, decrypts query results, and maintains a keyword dictionary locally. ;
[0055] The server maintains an encrypted database for storing encrypted data and encrypted indexes; the server is configured to process dynamic requests sent by users, including adding or deleting indexes and keyword search requests; wherein the server acts as an honest but curious entity, that is, it performs operations according to the protocol and attempts to analyze the user's private data during the operation.
[0056] The client and the server uniformly initialize system parameters, including system security parameters. These system security parameters include parameters... , ,in , The key generation based on this security parameter specifically involves the client selecting three hash functions. , and , and satisfy , Then it satisfies And select a length of The random number is used as the client's global key. The client selects As the bitmap length, i.e., the maximum number of documents that can be stored, Send to the server, where, Represents the set of positive integers;
[0057] The client uses a keyword dictionary. Perform initialization and settings ,in , ,in This means assigning -1 to the counter c. This represents a search token.
[0058] Step 2: Keyword-Document Pair Update: The client generates an update bitmap based on the keyword-document pairs to be updated, encrypts the update bitmap using a secret key to generate an update token and a counter token, and sends the encrypted update bitmap, update token, and counter token to the server; The server stores the received data in the encrypted database according to the update token;
[0059] Step 2.1: The client extracts keywords from the document set in the current local data for association and forms an index , and establishes a keyword bitmap based on this index ; where represents a keyword, j represents the client keyword identifier, ind represents a file, and i represents the client file identifier; The identifier of a document is generated using an unbiased hash function, that is, the identifiers of each document do not overlap; When establishing , if the file identifier is i, the i-th position of this keyword bitmap is set to 1;
[0060] Step 2.2: During an update, for the keyword to be updated by the client generates the corresponding public key and private key , and the generation method is , and satisfies ; Update the dictionary : The counter c is incremented, and a new search token is regenerated to replace the previous search token ; Subsequently, use the hash functions , and to generate the update token and the counter token to construct a hidden update chain, ⊕ represents the exclusive-or operation;
[0061] Step 2.3: The client establishes an update keyword bitmap based on the keyword-document pairs to be updated ; When encrypting the bitmap, use the pseudo-random function , and use and the counter c as parameters to generate the encryption key and , calculate the encrypted update bitmap , if and only if is equal to -1 is equal to 0;
[0062] Step 2.4: The client sends to the server;
[0063] Step 2.5: After receiving the update request, the server updates the data using the update token. Specify location, will and Store in an encrypted database.
[0064] Step 3: Forward and Backward Privacy Protection: Forward privacy protection is achieved by ensuring the irreversibility of the updated token and constructing a hidden update chain; backward privacy protection is achieved by inadvertent update operations and XOR encryption operations.
[0065] The forward privacy protection mechanism is implemented in the following ways:
[0066] Client update token Only with the latest search token Related to previous search tokens Irrelevant, and all search tokens They are not related to each other in any way;
[0067] Counter token Although similar to the previous search token However, due to the irreversibility of the hash function and XOR encryption in the constructed hidden update chain, the server is also unable to associate it with the previous search token.
[0068] The backward privacy protection mechanism is implemented in the following ways:
[0069] By leveraging the properties of the XOR operation, the client's deletion operation is identical to the addition operation, and the server cannot distinguish the specific update operation.
[0070] The server performs a uniform XOR calculation on the bitmap during the search, inadvertently inserting and deleting bits in the bitmap. Since the bitmap cannot be decrypted, it is impossible to distinguish the relationship between this search and a previous update.
[0071] Step 4: Multi-keyword finite Boolean search: The client generates a search token and a Boolean expression and sends them to the server; the server retrieves encrypted bitmaps based on the search token, performs calculations on multiple encrypted bitmaps according to the Boolean expression, and returns the calculation results; the client decrypts the calculation results to obtain a set of matching document identifiers.
[0072] Step 4.1: The client sets the keywords to be queried. The corresponding latest search token and public key Send to the server, along with the Boolean expression. and mask ,in Indicates the first One keyword, This indicates the latest counter value. Keywords At counter value Search token at the time Keywords public key, mask , This indicates that the counter value is The decryption key at that time This represents the random number selected by the client.
[0073] Step 4.2: The server processes each keyword Based on the received search token and public key Calculate the latest update token And thus find the counter token. and update bitmap And then according to Find the last search token Repeat the above search until empty, then perform an XOR operation on all updated bitmaps to obtain the keyword encrypted bitmap. and replace the latest updated bitmap. Delete all updates under this keyword except for the latest update to save space;
[0074] Step 4.3: After obtaining the encrypted bitmap of multiple keywords, parse the Boolean expression. The encrypted bitmap is then converted into a corresponding calculation formula, and the calculation result is sent. and For the client;
[0075] Step 4.4: After receiving the calculation result, the client calculates the matching document identifier according to the formula, and the specific Boolean formulas and calculation methods supported are as follows:
[0076]
[0077]
[0078]
[0079] Among them, the server for each keyword Able to calculate the encrypted bitmap of each keyword Therefore, it is possible to calculate And then calculate and And the client receives and Later, because he possessed the random number... Therefore, it is possible to calculate Thus, the recovery The value, and .
[0080] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
[0081] The above descriptions are merely some embodiments of the present invention. Those skilled in the art can make various modifications and improvements without departing from the inventive concept of the present invention, and these all fall within the scope of protection of the present invention.
[0082] Experimental data
[0083] 1. Solution Testing Instructions
[0084] To verify the reliability and accuracy of the proposed solution, a multi-dimensional comparative experiment was designed, focusing on the timeliness performance of the solution under different search scenarios to reflect the search computational overhead. The purpose of the following tests is to verify that the present invention supports multi-keyword Boolean search compared to traditional solutions, and reduces client-side computational overhead and improves search efficiency in multi-keyword Boolean search compared to local Boolean operation search, while minimizing privacy leakage. The experiment compares this solution with the FB-DSSE searchable encryption scheme (hereinafter referred to as the "traditional solution"). The test environment simulates a real cloud storage scenario, using a diverse keyword library and a 1024-bit bitmap simulated database. The experimental data is calculated by averaging multiple times. Since the traditional solution does not support multi-keyword Boolean search, local client-side Boolean calculation is used.
[0085] 2. Performance Comparison Test and Analysis in Multi-Keyword Boolean Search Scenarios
[0086] refer to Figure 2To evaluate the performance of the solution in a dynamic environment, the disjunctive search (FFL2), i.e., the union search mode of multi-keyword results, was used as an example, and different gradients of the number of search keywords were set (2, 5, 10, 20, 50, 100). Experimental data shows that the client's search time increases almost linearly with the increase of the number of search keywords, and the search time within 100 keywords is less than 2ms, which can effectively adapt to the search requirements of large databases. When the number of search keywords is 2, the time cost of this solution is slightly higher than that of the traditional solution, because the computation cost of the mask in this solution is slightly higher than the local Boolean computation cost. From the number of search keywords onwards, the time cost curve of this solution is significantly lower than that of the traditional solution, and the performance advantage of this solution becomes more and more obvious as the number of search keywords increases. This fully demonstrates that the "multi-keyword finite Boolean search" mechanism adopted in this invention, through bitwise computation on the encrypted bitmap, can transfer the computation cost to the server while satisfying forward and backward privacy protection, effectively handle multi-keyword search requests, and significantly reduce the client's computational overhead.
[0087] In summary, the experimental data fully demonstrate that the present invention not only solves the functional limitations of traditional searchable encryption technology in terms of forward and backward security and multi-keyword Boolean retrieval, but also achieves a significant breakthrough in client-side performance efficiency, providing strong technical support for the practical application of searchable encryption technology in large-scale cloud storage environments.
Claims
1. A finite Boolean symmetric searchable encryption method supporting forward and backward privacy protection, characterized in that, The method includes the following steps: Step 1: System Initialization: The client generates a global key, generates a corresponding key pair for each keyword based on the global key, and maintains a keyword dictionary locally; the server initializes the encrypted database; Step 2: Keyword-Document Pair Update: The client generates an update bitmap based on the keyword-document pair that needs to be updated, encrypts the update bitmap using a key, generates an update token and a counter token, and sends the encrypted update bitmap, update token, and counter token to the server. The server stores the received data in an encrypted database based on the update token. Step 3: Forward and Backward Privacy Protection: Forward privacy protection is achieved through the irreversibility of updating tokens and constructing a hidden update chain; backward privacy protection is achieved through unintentional update operations and XOR encryption operations. Step 4: Multi-keyword finite Boolean search: The client generates a search token and a Boolean expression and sends them to the server; The server retrieves encrypted bitmaps based on the search token, performs calculations on multiple encrypted bitmaps according to the Boolean formula, and returns the calculation results; the client decrypts the calculation results to obtain a set of matching document identifiers.
2. The method according to claim 1, characterized in that, Step 1 includes: In a symmetric searchable encryption system, a client and a server are set up, where: The client generates and saves a global key. Global key Used for each keyword Generate the corresponding public key and private key It generates search and update tokens, decrypts query results, and maintains a keyword dictionary locally. ; The server maintains an encrypted database for storing encrypted data and encrypted indexes; the server is configured to process dynamic requests sent by users, including adding or deleting indexes and keyword search requests; wherein the server acts as an honest but curious entity, that is, it performs operations according to the protocol and attempts to analyze the user's private data during the operation. The client and the server uniformly initialize system parameters, including system security parameters. These system security parameters include parameters... , ,in , The key generation based on this security parameter specifically involves the client selecting three hash functions. , and , and satisfy , Then it satisfies And select a length of The random number is used as the client's global key. The client selects As the bitmap length, i.e., the maximum number of documents that can be stored, Send to the server, where, Represents the set of positive integers; The client uses a keyword dictionary. Perform initialization and settings ,in , ,in This means assigning -1 to the counter c. This represents a search token.
3. The method according to claim 1, characterized in that, Step 2 includes: Step 2.1: The client extracts keywords from the document set in the current local database, associates them, and forms an index. And build a keyword bitmap based on the index. ;in, The keyword is represented by 'j', the client keyword identifier is represented by 'ind', and the file identifier is represented by 'i'. Step 2.2: During the update, the client checks the keywords for the current update. Generate the corresponding public key and private key Update the dictionary The counter c increments and a new search token is generated. Replace the previous search token Then a hash function is used. , and Generate update token and counter token ; Step 2.3: The client creates an update keyword bitmap based on the keyword-document pairs that need to be updated. Use a pseudo-random function when encrypting bitmaps. ,by The encryption key is generated using the counter c as a parameter. and , Calculate encrypted update bitmap If and only if When equal to -1 Equal to 0, , , , ⊕ represents the XOR operation; Step 2.4: The client will Send to the server; Step 2.5: After receiving the update request, the server updates the data using the update token. Store in an encrypted database at the specified location.
4. The method according to claim 1, characterized in that, Step 3 includes: When the server serves user requests, the system employs forward privacy protection mechanisms and backward privacy protection mechanisms. The forward privacy protection mechanism ensures that currently added documents are not associated with past keyword searches; the backward privacy protection mechanism ensures that currently deleted documents are not associated with future keyword searches. The forward privacy protection mechanism is implemented in the following ways: Client update token Only with the latest search token Related to previous search tokens Irrelevant, and all search tokens They are not related to each other in any way; Counter token Although similar to the previous search token It is relevant, but due to the irreversibility of the hash function and XOR encryption, the server is also unable to associate it with the previous search token; The backward privacy protection mechanism is implemented in the following ways: The client performs the same deletion and addition operations, and the server cannot distinguish the specific update operation. The server performs a uniform XOR calculation on the bitmap during the search, achieving an unintentional update, and the bitmap cannot be decrypted, so it is impossible to distinguish the relationship between this search and a previous update.
5. The method according to claim 1, characterized in that, In step 4, the finite Boolean search process for multiple keywords includes: Step 4.1: The client sets the keywords to be queried. The corresponding latest search token and public key Send to the server, along with the Boolean expression. and mask ,in The latest decryption key With a selected random number XOR, Indicates the first One keyword, Keywords At counter value Search token at the time Keywords public key, This indicates that the counter value is The decryption key at that time This represents the random number selected by the client. Step 4.2: The server processes each keyword Based on the received search token and public key Calculate the latest update token And thus find the counter token. and update bitmap And then according to Find the last search token Repeat the above search until empty, then perform an XOR operation on all updated bitmaps to obtain the single-key encrypted bitmap. and replace the latest updated bitmap. Delete all updates under this keyword except for the latest update to save space; Step 4.3: After obtaining the encrypted bitmap of multiple keywords, parse the Boolean expression and convert it into the corresponding calculation formula to calculate the encrypted bitmap, and send the calculation result to the client; Step 4.4: After receiving the calculation result, the client calculates the matching document identifier according to the formula.
6. The method according to claim 1, characterized in that, In step 4.3, after obtaining the encrypted bitmap of multiple keywords, the server parses the Boolean expression FFL and converts it into a corresponding expression, then calculates the encrypted bitmap to obtain the intermediate result. And send it to the client; where the Boolean expression is as follows: in, This represents a supported Boolean expression, and the expression still holds true when any single term in it is negated. This indicates that the bitmap is inverted. This represents a plaintext bitmap of the result's single keyword. This represents a random number selected by the client. This indicates an intermediate result of the calculation. and This represents the calculation result returned by the server to the client. This indicates that the matching document identifier is calculated, and the set of document identifiers is... , .