A forward-secure dynamically searchable encryption method and system based on XOR encryption chain

The searchable and secure index built by XOR encryption chain solves the problems of dynamic data updates and efficient information retrieval in cloud computing environments, and achieves low-overhead forward security and efficient data retrieval. It is suitable for data encryption and retrieval in cloud computing outsourcing models.

CN115913725BActive Publication Date: 2026-05-26CHANGSHA UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHANGSHA UNIVERSITY
Filing Date
2022-11-21
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing searchable encryption technologies struggle to achieve forward security and efficient information retrieval for dynamic data updates in cloud computing environments, and also suffer from high computational and communication overhead.

Method used

The method adopts an XOR encryption chain-based approach to build a searchable and secure index, enabling data users to perform query operations. It also uses lightweight XOR encryption operations to dynamically add new files, ensuring data confidentiality and forward security.

Benefits of technology

It enables dynamic data updates and efficient retrieval in a cloud computing environment with extremely low computational and communication overhead, ensuring data confidentiality and forward security, and is suitable for data encryption and retrieval in cloud computing outsourcing models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115913725B_ABST
    Figure CN115913725B_ABST
Patent Text Reader

Abstract

This invention discloses a forward-secure dynamic searchable encryption method and system based on an XOR encryption chain. The invention includes a data provider dynamically establishing a searchable secure index for a data file; a data user generating a query token based on a keyword 'w' and sending it to a cloud server; upon receiving the query token, the cloud server first decrypts the file identifier at the last index position based on the query token, then decrypts the file identifier at the next index position based on the XOR encryption chain, sequentially using the query token and information from the previous index position, and finally sends the file identifier to the data user for retrieving the data file. This invention can dynamically establish a secure searchable index for data files and achieve forward-secure, efficient encrypted retrieval with extremely low computational and communication overhead, while ensuring data confidentiality and forward security. It can be applied in cloud computing environments to ensure the confidentiality of outsourced data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data security technology in cloud computing, specifically to a forward-secure, dynamically searchable encryption method and system based on an XOR encryption chain. Background Technology

[0002] With the rapid development of cloud computing and big data, more and more enterprises and individuals are storing their private data in cloud centers. This not only significantly reduces local IT construction costs but also leverages the powerful capabilities of cloud computing platforms for data storage and processing. However, cloud data security remains a key concern. Once data is outsourced to a cloud center, it is no longer under the direct physical control of its owner. Encryption is one of the effective ways to protect data confidentiality. In actual cloud platforms, cloud service providers such as Amazon and Dropbox provide corresponding data encryption interfaces for users. However, using traditional cryptographic techniques to encrypt data results in randomized ciphertext that no longer possesses the computational characteristics of plaintext, such as information retrieval, data sorting, and numerical calculations. How to perform privacy-preserving scientific computing in an encrypted environment has become a focus of attention for both industry and academia in recent years. Information retrieval, as one of the most basic and important data operation types, has been extensively studied in plaintext environments. Commonly used encryption techniques, such as block ciphers, introduce random keys, disrupting the original structure of plaintext data, making traditional information retrieval techniques unsuitable in encrypted environments. Without an effective ciphertext-based information retrieval mechanism, whenever a data user retrieves the data needed from a cloud server, they must download all the ciphertext data from the cloud service, decrypt it locally, and then retrieve the information. This not only leads to impractical communication and computational overhead but also clearly violates the original purpose of using cloud computing services. Searchable encryption is a new type of cryptographic primitive proposed in recent years. It enables direct information retrieval from ciphertext by establishing a secure searchable index for encrypted data. Early searchable encryption mainly focused on static datasets, where data providers could not add or update cloud data, making it unsuitable for the dynamic application environment of cloud computing. Current searchable encryption technologies are beginning to explore dynamic methods, allowing data providers to add or delete cloud data with minimal communication and computational overhead. Researchers have discovered that file injection attacks on dynamic searchable encryption schemes can obtain the plaintext information of the entire encrypted data by adding a very small number of attack file samples, thus breaking the original scheme. Therefore, dynamic searchable encryption technologies need to achieve forward security to resist file injection attacks. To achieve this goal, researchers use heavyweight cryptographic primitives such as trapdoor permutation and puncture-proof encryption, or temporary keys, to achieve forward security of dynamically searchable encryption. However, these heavyweight cryptographic operations or the storage and transmission of a large number of temporary keys lead to high computational or storage communication overhead. Summary of the Invention

[0003] The technical problem this invention aims to solve is to provide a forward-secure, dynamically searchable encryption method and system based on an XOR encryption chain, addressing the aforementioned problems in existing technologies. This invention implements a dynamic, forward-secure, and efficient searchable encryption method. Besides enabling efficient information retrieval from encrypted data, it can dynamically add new files using an XOR chain-based approach with extremely low computational and communication overhead, while ensuring the confidentiality and forward security of updated data. This method can be applied to real-world environments under cloud computing outsourcing models, ensuring the confidentiality of outsourced data through encryption while simultaneously achieving dynamic updates and efficient retrieval of encrypted data.

[0004] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:

[0005] A forward-secure, dynamically searchable encryption method based on an XOR cryptographic chain includes a cloud server responding to user queries.

[0006] S101, the cloud server receives a query token from the data user for the search keyword w;

[0007] S102, the cloud server uses the query token to locate the identifier used for storing encrypted files. In the searchable and safe index ST, the index position at the end of the cursor positioning is used as the initial index. cnt At the index position, first decrypt the query token to obtain the index position. cnt File identifier at index position in cnt Then, starting from the last index position, based on the XOR cryptographic chain, sequentially according to the query token and the... cnt The information at the index position is decrypted to obtain the first... cnt- File identifier at 1 index position in cnt-1 Until the file identifier at the first index position is decrypted in 1;

[0008] S103, the cloud server will decrypt the obtained file identifier. in 1 ~in cnt Returned to the data user, allowing the data user to use the file identifier. in 1 ~in cnt Download all data files containing the search keyword 'w' from the cloud server.

[0009] Optionally, step S102 includes:

[0010] S201, Initialize the file identifier set RemainderIf empty, position the cursor at the end of the index and retrieve the XOR encrypted chain from the query token. cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt ;

[0011] S202, according to the... cnt The first pseudo-random value at each index position T cnt Retrieve index position ST in the searchable safe index ST[ T cnt The value of ] yields the encrypted file identifier. According to the first cnt The second pseudo-random value at each index position R cnt Generate a combined encryption string and encrypt the file identifier. Decrypt the file identifier in cnt 、 Index position ST[ T cnt The corresponding XOR operation result and the cnt- The second pseudo-random value at one index position R cnt-1 File identifier in cnt Add to collection Remainder ;

[0012] S203, according to the cnt The first pseudo-random value at each index position T cnt The result of the XOR operation Performing an XOR operation yields the first... cnt- The first pseudo-random value at an index position T cnt-1 ;

[0013] S204, the cursor position is reversed and moved to the new index position, so that the first... cnt- The first pseudo-random value at an index position T cnt-1 Second pseudo-random value R cnt-1 Become the new first cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt If the new index position is 0, proceed to step S103; otherwise, proceed to step S202.

[0014] Optionally, in step S202, the encrypted file identifier is... Decrypt the file identifier 、 Index position ST[ T cnt The corresponding XOR operation result and the cnt- The second pseudo-random value at one index position R cnt-1 The function expression is:

[0015] ,

[0016] In the above formula, For file identifier, The result of the XOR operation. For the first cnt- The second pseudo-random value at index position 1 It is the XOR operator. For encrypted file identifiers, To be based on the first encryption key K w and the cnt The second pseudo-random value at each index position R cnt The generated combined encrypted string, For encryption functions, " represents the function mapping relationship; the XOR operation in step S203 yields the first..." cnt- The first pseudo-random value at an index position T cnt-1 The function expression is:

[0017] T cnt-1 T cnt

[0018] In the above formula, T cnt-1 For the first cnt- The first pseudo-random value at index position 1 T cnt For the first cnt The first pseudo-random value at each index position It is the XOR operator. The result of the XOR operation, "" indicates a function mapping relationship.

[0019] Optionally, it also includes a query token generated and sent to the cloud server by the data user based on the specified search keyword w:

[0020] S301, the data user will specify keywords w As an index, the location CT is retrieved from the keyword index table CT. w If the location is CT[ w If the result is empty, it means that there is no file containing the keyword w in the keyword index table CT, and the search process ends and exits; otherwise, proceed to step S302.

[0021] S302, Read Position CT [ w The value of ] is obtained by including the search keywords. w Number of files cnt According to keywords w Generate different first encryption keys respectively K w Second encrypted key K' w , number of files cnt For the first encryption key K respectively w The second encrypted key K' w Encryption is performed to obtain the first cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt ;

[0022] S303, based on the first encryption key K w Index position ST[ T cnt The corresponding first pseudo-random value T cnt and index position ST[ T cnt The corresponding second pseudo-random value R cnt Build query token ( K w , R cnt , T cnt And send it to the cloud server.

[0023] Optionally, different first encryption keys are generated in step S302. K w Second encrypted key K' w The function expression is:

[0024] , ,

[0025] In the above formula, Here, K is the encryption function, and K is the preset system master key. For search keywords, || represents string concatenation; to count files... cnt For the first encryption key K respectively w The second encrypted key K' w The function expression for encryption is:

[0026] , ,

[0027] In the above formula, For encryption functions, K w and K' w Based on keywords w The first and second encryption keys generated, "" indicates a function mapping relationship.

[0028] Optionally, it may also include data provider data files. f Encrypted file identifier The data file is uploaded to the cloud server. f The key set W is used to represent the data, and the data provider's processing of any key w in the key set W includes:

[0029] S401, the data provider will use keywords w As an index, keywords are retrieved from the keyword index table CT. w Corresponding location CT[ w If the location is CT[ w If empty, then set to include keywords. w Number of files cnt Initially 0, randomly generate the first... cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt Otherwise, based on keywords w Generate different first encryption keys respectively K w Second encrypted key K' w , number of files cnt For the first encryption key K respectively w The second encrypted key K' w Encryption is performed to obtain the first cnt The first pseudo-random value at each index position T cnt Second pseudo-random valueR cnt ;

[0030] S402, the data provider first specifies the number of files. cnt+ 1 and the second encryption key K' w Generate the first cnt+ The second pseudo-random value at one index position R cnt+1 Then the number of files cnt+ 1 and the cnt+ The second pseudo-random value at one index position R cnt+1 Generate the first cnt+ The first pseudo-random value T at index position 1 cnt+1 ; will the first cnt The first pseudo-random value T at each index position cnt and the cnt The first pseudo-random value T at index +1. cnt+1 Perform an XOR operation to generate the XOR result. U cnt+1 ;

[0031] S403, the data provider uses the... cnt The second pseudo-random value at each index position R cnt , No. cnt The second pseudo-random value at index +1 R cnt+1 and the result of the XOR operation U cnt+1 Encryption function H The keyword w corresponds to k File identifier with a length of bits in Encryption is used to encrypt file identifiers. ;

[0032] S404, the data provider will use keywords w Corresponding number of files cnt Add 1 and save it to the location CT in the keyword index table CT[ w In the context of [the process], an update request is constructed ( , T cnt ) and submit it to the cloud server, so that the cloud server receives the update request ( , T cnt After that, encrypt the file identifier. The index position ST is stored in the searchable and secure index ST. T cnt ]middle.

[0033] Optionally, in step S402, the number of files is first... cnt+ 1 and the second encryption key K' w Generate the first cnt+ The second pseudo-random value at one index position R cnt+1 Then the number of files cnt+ 1 and the cnt+ The second pseudo-random value at one index position R cnt+1 Generate the first cnt+ The first pseudo-random value T at index position 1 cnt+1 The function expression is:

[0034] , ,

[0035] in, For encryption functions, " indicates a function mapping relationship;

[0036] In step S402, the first cnt The first pseudo-random value T at each index position cnt and the cnt The first pseudo-random value T at index +1. cnt+1 Perform an XOR operation to generate the XOR result. U cnt+1 The function expression is:

[0037] U cnt+1 T cnt

[0038] in, For the XOR operator, "" indicates a function mapping relationship.

[0039] Optionally, in step S403, the encrypted file identifier is encrypted. The function expression is:

[0040] ,

[0041] In the above formula, The first encryption key is ||, which represents string concatenation. The first encryption key K w Number of files cnt+ The second pseudo-random value corresponding to 1 R cnt+1 Encryption function H The calculation results For the XOR operator, "" indicates a function mapping relationship.

[0042] Furthermore, the present invention also provides a forward-secure dynamically searchable encryption system based on an XOR cryptographic chain, comprising an interconnected microprocessor and a memory, wherein the microprocessor is programmed or configured to execute the forward-secure dynamically searchable encryption method based on the XOR cryptographic chain.

[0043] Furthermore, the present invention also provides a computer-readable storage medium storing a computer program that is programmed or configured by a microprocessor to execute the forward-secure dynamically searchable encryption method based on an XOR cryptographic chain.

[0044] Compared with the prior art, the present invention has the following main advantages:

[0045] 1. The cloud server of this invention uses a query token to store the identifier of the encrypted file. In the searchable and safe index ST, the index position at the end of the cursor positioning is used as the initial index. cnt At the index position, first decrypt the query token to obtain the index position. cnt File identifier at index position in cnt Then, starting from the last index position, proceed sequentially based on the query token and the... cnt The information at the index position is decrypted to obtain the first... cnt- File identifier at 1 index position in cnt-1 Until the file identifier at the first index position is decrypted in 1. Using an XOR chain-based approach, new files are dynamically added with extremely low computational and communication overhead, while ensuring the confidentiality and forward security of updated data. This effectively solves the problems of dynamic data addition and information retrieval, while guaranteeing the security and efficiency of data and retrieval.

[0046] 2. Due to the high efficiency of information retrieval and the dynamic nature of information updates, the forward-secure dynamic searchable encryption method of the present invention can be applied to the environment of cloud computing outsourcing mode to ensure the confidentiality of outsourced data in an encrypted manner, while realizing dynamic updates and efficient retrieval of encrypted data. Attached Figure Description

[0047] Figure 1 This is a schematic diagram illustrating the basic process of a cloud server responding to a user's query operation in accordance with an embodiment of the present invention.

[0048] Figure 2 This is an application system model of the method in the embodiments of the present invention.

[0049] Figure 3 This is a schematic diagram of the structure of the XOR encryption chain and the searchable security index ST in an embodiment of the present invention.

[0050] Figure 4 This is a schematic diagram of the complete process of the method in an embodiment of the present invention. Detailed Implementation

[0051] like Figure 1 As shown, this embodiment of the forward-secure dynamic searchable encryption method based on XOR encryption chain includes cloud server response to user query operations:

[0052] S101, the cloud server receives a query token from the data user for the search keyword w;

[0053] S102, the cloud server uses the query token to locate the identifier used for storing encrypted files. In the searchable and safe index ST, the index position at the end of the cursor positioning is used as the initial index. cnt At the index position, first decrypt the query token to obtain the index position. cnt File identifier at index position in cnt Then, starting from the last index position, based on the XOR cryptographic chain, sequentially according to the query token and the... cnt The information at the index position is decrypted to obtain the first... cnt- File identifier at 1 index position in cnt-1 Until the file identifier at the first index position is decrypted in 1;

[0054] S103, the cloud server will decrypt the obtained file identifier. in 1 ~in cnt Returned to the data user, allowing the data user to use the file identifier. in 1 ~in cnt Download all data files containing the search keyword 'w' from the cloud server. The data files can be plaintext or ciphertext. For example, in this embodiment, they are specifically ciphertext files. Generally, in searchable encryption technologies, data files are encrypted using traditional symmetric encryption techniques. Data encryption is not the focus of this paper.

[0055] Figure 2 The diagram shows the application system model of the forward-secure dynamically searchable encryption method based on XOR encryption chains in this embodiment. It includes three entities: the data provider, the data user (queryer), and the cloud computing platform. The steps described above regarding the cloud server responding to the data user's query are... Figure 2 The execution process of the cloud server.

[0056] In this embodiment, step S102 includes:

[0057] S201, Initialize the file identifier set Remainder If empty, position the cursor at the end of the index and retrieve the XOR encrypted chain from the query token. cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt ;

[0058] S202, according to the... cnt The first pseudo-random value at each index position T cnt Retrieve index position ST in the searchable safe index ST[ T cnt The value of ] yields the encrypted file identifier. According to the first cnt The second pseudo-random value at each index position R cnt Generate a combined encryption string and encrypt the file identifier. Decrypt the file identifier in cnt 、 Index position ST[ T cnt The corresponding XOR operation result and the cnt- The second pseudo-random value at one index position R cnt-1 File identifier in cnt Add to collection Remainder ;

[0059] S203, according to the cnt The first pseudo-random value at each index position T cnt The result of the XOR operation Performing an XOR operation yields the first... cnt- The first pseudo-random value at an index position T cnt-1 ;

[0060] S204, the cursor position is reversed and moved to the new index position, so that the first... cnt- The first pseudo-random value at an index position T cnt-1 Second pseudo-random value R cnt-1 Become the new first cnt The first pseudo-random value at each index positionT cnt Second pseudo-random value R cnt If the new index position is 0, proceed to step S103; otherwise, proceed to step S202.

[0061] This shows that the cloud server received the query token ( K w , R cnt , T cnt After that, starting from the initial number of files cnt, file identifiers are obtained level by level, decreasing until the number of files cnt is 0: starting from the current number of files... cnt The first pseudo-random value at each index position T cnt For indexing, retrieve the index position ST in the searchable safe index ST[ T cnt The value of ] is used to obtain the encrypted file identifier, and based on the first encryption key K w and the cnt The second pseudo-random value at each index position R cnt Decrypt to get the current number of files cnt The corresponding file identifier is used to calculate the number of files. cnt- The first pseudo-random value corresponding to 1 T cnt-1 The current number of files cnt Decrease by 1; finally, all file identifiers are sent to the data user; furthermore, this embodiment also includes first initializing an empty set Rest to store file identifiers (search results) containing the search keyword w. Each searched file identifier is added to the set Rest, and after the loop is completed, the file identifiers in the set Rest can be used to obtain all data files containing the search keyword w. Figure 3 This is a schematic diagram of the XOR encryption chain and the searchable security index ST in this embodiment, where the 0th to... cnt The first pseudo-random value at each index position T 0~ T cnt Second pseudo-random value R 0~ R cnt This forms an XOR encryption chain. The downward-to-left arrow indicates the retrieval process in the searchable secure index ST. First, the query token is used to decrypt the... cnt File identifier at index position in cnt Then, starting from the last index position, proceed sequentially based on the query token and the... cntThe information at the index position is decrypted to obtain the first... cnt- File identifier at 1 index position in cnt-1 Until the file identifier at the first index position is decrypted in 1. This completes the process of sequentially decrypting the file identifiers. in cnt ~in The data retrieval process of 1. Any first... cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt By keywords w Number of files cnt Two chains are formed from smallest to largest, and can be determined based on the first encryption key. K w and the second pseudo-random value at the cnt-th index position R cnt Decrypt to get the current number of files cnt The corresponding file identifier is used to calculate the number of files. cnt- The first pseudo-random value corresponding to 1 T cnt-1 This allows the first and second pseudo-random values ​​at the cnt-th index position to form a forward-secure encrypted inverted index structure based on the searchable secure index ST, which can effectively solve the problems of dynamic data addition and information retrieval, while ensuring the security and efficiency of data and retrieval.

[0062] In this embodiment, step S202 involves encrypting the file identifier. Decrypt the file identifier 、 Index position ST[ T cnt The corresponding XOR operation result and the cnt- The second pseudo-random value at one index position R cnt-1 The function expression is:

[0063] ,

[0064] In the above formula, For file identifier, The result of the XOR operation. For the first cnt- The second pseudo-random value at index position 1 It is the XOR operator. For encrypted file identifiers, To be based on the first encryption key Kw and the cnt The second pseudo-random value at each index position R cnt The generated combined encrypted string, For encryption functions, " represents the function mapping relationship; the XOR operation in step S203 yields the first..." cnt- The first pseudo-random value at an index position T cnt-1 The function expression is:

[0065] T cnt-1 T cnt

[0066] In the above formula, T cnt-1 For the first cnt- The first pseudo-random value at index position 1 T cnt For the first cnt The first pseudo-random value at each index position It is the XOR operator. The result of the XOR operation, "" indicates a function mapping relationship. Because it only uses a lightweight XOR encryption operation and does not require storing a temporary key, it has high retrieval efficiency and low communication storage overhead. In this embodiment, the encryption function... As a pseudo-random function, it can be expressed as:

[0067] ,

[0068] Encryption function The domain is and The range is The function.

[0069] In this embodiment, the data user also generates and sends a query token to the cloud server based on the specified search keyword w.

[0070] S301, the data user will specify keywords w As an index, the location CT is retrieved from the keyword index table CT. w If the location is CT[ w If the result is empty, it means that there is no file containing the keyword w in the keyword index table CT, and the search process ends and exits; otherwise, proceed to step S302.

[0071] S302, Read Position CT [ wThe value of ] is obtained by including the search keywords. w Number of files cnt According to keywords w Generate different first encryption keys respectively K w Second encrypted key K' w , number of files cnt For the first encryption key K respectively w The second encrypted key K' w Encryption is performed to obtain the first cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt ;

[0072] S303, based on the first encryption key K w Index position ST[ T cnt The corresponding first pseudo-random value T cnt and index position ST[ T cnt The corresponding second pseudo-random value R cnt Build query token ( K w , R cnt , T cnt And send it to the cloud server.

[0073] In this embodiment, different first encryption keys are generated in step S302. K w Second encrypted key K' w The function expression is:

[0074] , ,

[0075] In the above formula, Here, K is the encryption function, and K is the preset system master key. For searching keywords, || represents string concatenation, where keywords are concatenated. w The purpose of splicing 1 and 2 is to make w ||1 and w ||2 represents two different strings used to generate different keys. and As an optional implementation, the encryption function in this embodiment... As a pseudo-random function, it can be expressed as:

[0076] ,

[0077] in, Indicates length is k A binary string of bits, Represents a binary string of arbitrary length, that is, a string whose domain is... and The range is The function. Encryption function. F and encryption functions H The differences are: different output lengths and different encryption functions. F The output is of length k A binary string, encryption function H The output is of length 3 k A binary string. Encryption function. The domain is {1,0} k and The range is Due to the encryption function If it is a pseudo-random function, then for any probabilistic multinomial adversary A, A cannot distinguish the encryption function by a non-negligible advantage. The output of a true random function The output of the pseudo-random function is {0,1}. k Represents the key space. k For security parameters. In simple terms, the input system master key K and a length of... x The string, whose output is a string of length . y The string is a random binary string to the adversary. In this embodiment, by inputting a sufficiently large security parameter k (e.g., 256 bits in length), the system master key K ranges from {0,1}. k It is randomly selected from the options.

[0078] In this embodiment, the number of files cnt For the first encryption key K respectively w The second encrypted key K' w The function expression for encryption is:

[0079] , ,

[0080] In the above formula, For encryption functions, K w and K' w Based on keywords w The first and second encryption keys generated, "" indicates a function mapping relationship.

[0081] See Figure 4 This embodiment also includes a data provider data file. f Encrypted file identifier Uploaded to cloud server, data file f The key set W is used to represent the data, and the data provider's processing of any key w in the key set W includes:

[0082] S401, the data provider will use keywords w As an index, keywords are retrieved from the keyword index table CT. w Corresponding location CT[ w If the location is CT[ w If empty, then set to include keywords. w Number of files cnt Initially 0, randomly generate the first... cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt Otherwise, based on keywords w Generate different first encryption keys respectively K w Second encrypted key K' w , number of files cnt For the first encryption key K respectively w The second encrypted key K' w Encryption is performed to obtain the first cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt ;

[0083] S402, the data provider first specifies the number of files. cnt+ 1 and the second encryption key K' w Generate the first cnt+ The second pseudo-random value at one index position R cnt+1 Then the number of files cnt+ 1 and the cnt+ The second pseudo-random value at one index position R cnt+1 Generate the first cnt+ The first pseudo-random value T at index position 1 cnt+1 ; will the first cnt The first pseudo-random value T at each index position cnt and the cnt The first pseudo-random value T at index +1.cnt+1 Perform an XOR operation to generate the XOR result. U cnt+1 ;

[0084] S403, the data provider uses the... cnt The second pseudo-random value at each index position R cnt , No. cnt The second pseudo-random value at index +1 R cnt+1 and the result of the XOR operation U cnt+1 Encryption function H The keyword w corresponds to k File identifier with a length of bits in Encryption is used to encrypt file identifiers. ;

[0085] S404, the data provider will use keywords w Corresponding number of files cnt Add 1 and save it to the location CT in the keyword index table CT[ w In the context of [the process], an update request is constructed ( , T cnt ) and submit it to the cloud server, so that the cloud server receives the update request ( , T cnt After that, encrypt the file identifier. The index position ST is stored in the searchable and secure index ST. T cnt In the context of ], it can be represented as: ST[ T cnt ] ← .

[0086] See Figure 3 As indicated by the rightward arrow above, along with the keywords... w Corresponding number of files cnt The addition of this feature allows searching for encrypted file identifiers within the security index ST. The corresponding number will be added synchronously, the first cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt Also added synchronously. In this embodiment, the data provider submits to the cloud server using the keyword set W={w1,w2,…,w…} n} represents the data file f Plaintext or encrypted files can be submitted as needed, such as data files in this embodiment.f In general, in searchable encryption technologies, data files are encrypted using traditional symmetric encryption techniques. However, data encryption is not the focus of this article. Data providers will use keywords... w As an index, the location CT is retrieved from the keyword index table CT. w If the location is CT[ w If empty, then set to include keywords. w Number of files cnt If the value is 0, randomly generate the first pseudo-random value at the cnt-th index position. T cnt ( T 0) and the second pseudo-random value R cnt ( R 0), specifically, in this embodiment, from {0,1} respectively k Uniformly and randomly select an element as T 0 and R 0.

[0087] In this embodiment, step S402 first counts the number of files. cnt+ 1 and the second encryption key K' w Generate the first cnt+ The second pseudo-random value at one index position R cnt+1 Then the number of files cnt+ 1 and the cnt+ The second pseudo-random value at one index position R cnt+1 Generate the first cnt+ The first pseudo-random value T at index position 1 cnt+1 The function expression is:

[0088] , ,

[0089] in, For encryption functions, " indicates a function mapping relationship;

[0090] In step S402, the first cnt The first pseudo-random value T at each index position cnt and the cnt The first pseudo-random value T at index +1. cnt+1 Perform an XOR operation to generate the XOR result. U cnt+1 The function expression is:

[0091] U cnt+1 T cnt

[0092] in, For the XOR operator, "" indicates a function mapping relationship.

[0093] In this embodiment, step S403 involves encrypting the file identifier. The function expression is:

[0094] ,

[0095] In the above formula, The first encryption key is ||, which represents string concatenation. The first encryption key K w Number of files cnt+ The second pseudo-random value corresponding to 1 R cnt+1 Encryption function H The calculation results For the XOR operator, "" indicates a function mapping relationship.

[0096] In this embodiment, when new data files are dynamically added to the searchable security index ST, all query tokens initiated before any data update operation cannot be used to retrieve these newly added data files, even if the newly added data files meet the query requirements, unless a new query token is initiated. Forward security requires that the keyword information contained in the newly added data files cannot be leaked through historical query tokens. Essentially, this requires query tokens to be unlinkable, meaning that the same query keyword should have different query tokens, ensuring the randomness of the query tokens. In the data update process oriented towards query tokens, the method in this embodiment uses the second encrypted key K' w Under the influence of the second encryption key K', a second pseudo-random value for the number of files cnt was generated. w No data was sent to the cloud server during the entire update process, therefore the cloud server cannot use the previous counters 1, 2, ... cnt Generate the latest second pseudo-random value R cnt+1 Based on the search process, we know that there is no second pseudo-random value R. cnt+1 The cloud server cannot search for the currently updated data file based on the previously submitted query token. Therefore, the forward security of the method in this embodiment can be guaranteed.

[0097] In summary, this embodiment utilizes only lightweight XOR encryption operations to implement a searchable encryption method that supports dynamic data updates, forward security, and high efficiency. It can dynamically add new files using an XOR chain-based approach with extremely low computational and communication overhead, ensuring the confidentiality and forward security of updated data. This effectively solves the problems of dynamic data addition and information retrieval, while guaranteeing both data and retrieval security and efficiency. Due to the efficiency of information retrieval and the dynamic nature of information updates, this forward-secure dynamic searchable encryption method can be applied to real-world environments under cloud computing outsourcing models, ensuring the confidentiality of outsourced data through encryption while simultaneously achieving dynamic updates and efficient retrieval of encrypted data.

[0098] Furthermore, this embodiment also provides a forward-secure dynamically searchable encryption system based on an XOR encryption chain, including a microprocessor and a memory interconnected, wherein the microprocessor is programmed or configured to execute the forward-secure dynamically searchable encryption method based on an XOR encryption chain.

[0099] Furthermore, this embodiment also provides a computer-readable storage medium storing a computer program that is programmed or configured by a microprocessor to execute the forward-secure dynamically searchable encryption method based on an XOR cryptographic chain.

[0100] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-readable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the process. Figure 1 One or more processes and / or boxes Figure 1The computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The functions specified in one or more boxes. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0101] The above description is merely a preferred embodiment of the present invention. The scope of protection of the present invention is not limited to the above embodiments. All technical solutions falling within the scope of the present invention's concept are within the scope of protection of the present invention. It should be noted that for those skilled in the art, any improvements and modifications made without departing from the principles of the present invention should also be considered within the scope of protection of the present invention.

Claims

1. A forward-secure, dynamically searchable encryption method based on an XOR cryptographic chain, characterized in that, This includes cloud server responses to user queries: S101, the cloud server receives a query token from the data user for the search keyword w; S102, the cloud server uses the query token to locate the identifier used for storing encrypted files. In the searchable and safe index ST, the index position at the end of the cursor positioning is used as the initial index. cnt At the index position, first decrypt the query token to obtain the index position. cnt File identifier at index position ind cnt Then, starting from the last index position, based on the XOR cryptographic chain, sequentially according to the query token and the... cnt The information at the index position is decrypted to obtain the first... cnt- File identifier at 1 index position ind cnt-1 Until the file identifier at the first index position is decrypted ind 1; The XOR encryption chain consists of the 0th to... cnt The first pseudo-random value at each index position T 0~ T cnt Second pseudo-random value R 0~ R cnt constitute; S103, the cloud server will decrypt the obtained file identifier. ind 1 ~ind cnt Returned to the data user, allowing the data user to use the file identifier. ind 1 ~ind cnt Download all data files containing the search keyword 'w' from the cloud server; Step S102 includes: S201, Initialize the file identifier set Rest If empty, position the cursor at the end of the index and retrieve the XOR encrypted chain from the query token. cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt ; S202, according to the... cnt The first pseudo-random value at each index position T cnt Retrieve index position ST in the searchable safe index ST[ T cnt The value of ] yields the encrypted file identifier. According to the first cnt The second pseudo-random value at each index position R cnt Generate a combined encryption string and based on the encrypted file identifier. Decrypt the file identifier ind cnt 、 Index position ST[ T cnt The corresponding XOR operation result and the cnt- The second pseudo-random value at one index position R cnt-1 File identifier ind cnt Add to collection Rest ; S203, according to the cnt The first pseudo-random value at each index position T cnt The result of the XOR operation Performing an XOR operation yields the first... cnt- The first pseudo-random value at an index position T cnt-1 ; S204, the cursor position is reversed and moved to the new index position, so that the first... cnt- The first pseudo-random value at an index position T cnt-1 Second pseudo-random value R cnt-1 Become the new first cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt If the new index position is 0, proceed to step S103; otherwise, proceed to step S202. In step S202, based on the encrypted file identifier Decrypt the file identifier 、 Index position ST[ T cnt The corresponding XOR operation result and the cnt- The second pseudo-random value at one index position R cnt-1 The function expression is: , In the above formula, For file identifier, The result of the XOR operation. For the first cnt- The second pseudo-random value at index position 1 It is the XOR operator. For encrypted file identifiers, To be based on the first encryption key K w and the cnt The second pseudo-random value at each index position R cnt The generated combined encrypted string, For encryption functions, " represents the function mapping relationship; the XOR operation in step S203 yields the first..." cnt- The first pseudo-random value at an index position T cnt-1 The function expression is: T cnt-1 T cnt In the above formula, T cnt-1 For the first cnt- The first pseudo-random value at index position 1 T cnt For the first cnt The first pseudo-random value at each index position It is the XOR operator. The result of the XOR operation, "" indicates a function mapping relationship.

2. The forward-secure dynamically searchable encryption method based on an XOR encryption chain according to claim 1, characterized in that, It also includes data users generating and sending query tokens to the cloud server based on specified search keywords: S301, the data user will specify keywords w As an index, the location CT is retrieved from the keyword index table CT. w If the location is CT[ w If the value is empty, it means that there is no file containing the keyword w in the keyword index table CT, and the search process ends and exits. Otherwise, proceed to step S302; S302, Read Position CT [ w The value of ] is obtained by including the search keywords. w Number of files cnt According to keywords w Generate different first encryption keys respectively K w Second encrypted key K' w According to the number of files cnt For the first encryption key K respectively w The second encrypted key K' w Encryption is performed to obtain the first cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt ; S303, based on the first encryption key K w Index position ST[ T cnt The corresponding first pseudo-random value T cnt and index position ST[ T cnt The corresponding second pseudo-random value R cnt Build query token ( K w , R cnt , T cnt And send it to the cloud server.

3. The forward-secure dynamically searchable encryption method based on an XOR encryption chain according to claim 2, characterized in that, In step S302, different first encryption keys are generated. K w Second encrypted key K' w The function expression is: , , In the above formula, Here, K is the encryption function, and K is the preset system master key. For search keywords, || represents string concatenation; based on the number of files... cnt For the first encryption key K respectively w The second encrypted key K' w The function expression for encryption is: , , In the above formula, For encryption functions, K w and K' w Based on keywords w The generated first encryption key and second encryption key, "" indicates a function mapping relationship.

4. The forward-secure dynamically searchable encryption method based on an XOR encryption chain according to claim 1, characterized in that, This also includes data providers providing data files. f Encrypted file identifier The data file is uploaded to the cloud server. f The key set W is used for representation, and the data provider's processing of any key w in the key set W includes: S401, the data provider will use keywords w As an index, keywords are retrieved from the keyword index table CT. w Corresponding location CT [ w If the location is CT[ w If empty, then set to include the keyword. w Number of files cnt Initially 0, randomly generate the first... cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt Otherwise, based on keywords w Generate different first encryption keys respectively K w Second encrypted key K' w According to the number of files cnt For the first encryption key K respectively w The second encrypted key K' w Encryption is performed to obtain the first cnt The first pseudo-random value at each index position T cnt Second pseudo-random value R cnt ; S402, the data provider first determines the number of files. cnt+ 1 and the second encryption key K' w Generate the first cnt+ The second pseudo-random value at one index position R cnt+1 Then based on the number of files cnt+ 1 and the cnt+ The second pseudo-random value at one index position R cnt+1 Generate the first cnt+ The first pseudo-random value T at index position 1 cnt+1 ; will the first cnt The first pseudo-random value T at each index position cnt and the cnt+ The first pseudo-random value T at index position 1 cnt+1 Perform an XOR operation to generate the XOR result. U cnt+1 ; S403, the data provider uses the... cnt The second pseudo-random value at each index position R cnt , No. cnt+ The second pseudo-random value at one index position R cnt+1 and the result of the XOR operation U cnt+1 Encryption function H The keyword w corresponds to k File identifier with a length of bits ind Encryption is used to encrypt file identifiers. ; S404, the data provider will use keywords w Corresponding number of files cnt Add 1 and save it to the location CT in the keyword index table CT[ w In the context of [the process], an update request is constructed ( , T cnt ) and submit it to the cloud server, so that the cloud server receives the update request ( , T cnt After that, encrypt the file identifier. The index position ST is stored in the searchable and secure index ST. T cnt ]middle.

5. The forward-secure dynamically searchable encryption method based on an XOR encryption chain according to claim 4, characterized in that, In step S402, first determine the number of files. cnt+ 1 and the second encryption key K' w Generate the first cnt+ The second pseudo-random value at one index position R cnt+1 Then based on the number of files cnt+ 1 and the cnt+ The second pseudo-random value at one index position R cnt+1 Generate the first cnt+ The first pseudo-random value T at index position 1 cnt+1 The function expression is: , , in, For encryption functions, " indicates a function mapping relationship; In step S402, the first cnt The first pseudo-random value T at each index position cnt and the cnt+ The first pseudo-random value T at index position 1 cnt+1 Perform an XOR operation to generate the XOR result. U cnt+1 The function expression is: U cnt+1 T cnt in, For the XOR operator, " "" indicates a function mapping relationship.

6. The forward-secure dynamically searchable encryption method based on an XOR encryption chain according to claim 5, characterized in that, In step S403, the encrypted file identifier is encrypted. The function expression is: , In the above formula, The first encryption key is ||, which represents string concatenation. The first encryption key K w Number of files cnt+ The second pseudo-random value corresponding to 1 R cnt+1 Encryption function H The calculation results For the XOR operator, " "" indicates a function mapping relationship.

7. A forward-secure, dynamically searchable encryption system based on an XOR cryptographic chain, comprising interconnected microprocessors and a memory, characterized in that, The microprocessor is programmed or configured to execute the forward-secure dynamically searchable encryption method based on an XOR cryptographic chain as described in any one of claims 1 to 6.

8. A computer-readable storage medium storing a computer program, characterized in that, The computer program is used to be programmed or configured by a microprocessor to execute the forward-secure dynamically searchable encryption method based on an XOR cryptographic chain as described in any one of claims 1 to 6.