Document storage methods, systems, devices, computer equipment, and storage media

By generating encrypted file identifiers and mapping relationships, and combining linear secret sharing schemes and attribute-based encryption technology, the problem of index table reconstruction during updates in traditional document storage methods is solved, thereby improving data storage efficiency and security in cloud computing.

CN117076406BActive Publication Date: 2026-03-13INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Traditional document storage methods require rebuilding the index table when data is updated, resulting in long storage times and low efficiency, which cannot meet the data storage needs of cloud computing.

Method used

By generating encrypted file identifiers and establishing a mapping relationship between them and target documents on the cloud server, the index table is avoided from being regenerated every time it is updated. The document is encrypted using a linear secret sharing scheme and attribute-based encryption technology, achieving dynamic searchable encryption and multi-user sharing.

Benefits of technology

It improves the efficiency and security of data storage, enables dynamic searchable encryption, shortens data storage time, and enhances document storage performance in a cloud computing environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117076406B_ABST
    Figure CN117076406B_ABST
Patent Text Reader

Abstract

This application relates to a document storage method, system, apparatus, computer equipment, storage medium, and computer program product, and pertains to the fields of cloud computing and big data technologies. The method is applied to a data owner and includes: determining a target document and target keywords for the target document; obtaining current counting parameter information of the target keywords and operation information of the target document; and generating an encrypted file identifier for the target document based on a preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keywords; uploading the encrypted file identifier of the target document to a cloud server; the cloud server is used to establish a mapping relationship between the encrypted file identifier and the target document. This method can improve the efficiency of data storage.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of cloud computing and big data technology, and in particular to a document storage method, system, device, computer equipment, storage medium and computer program product. Background Technology

[0002] With the development of big data and cloud computing, more and more enterprises are willing to outsource their data to cloud servers to obtain more storage space and reduce human and material costs. However, in reality, data leaks can occur both during cloud service searches and transmission. Therefore, institutions such as banking financial institutions and medical institutions that require a high degree of confidentiality for customer information are hesitant to adopt cloud computing.

[0003] This problem can be solved by using searchable encryption. The relevant searchable encryption method is a static searchable encryption scheme, in which the document storage method is to create an index table containing an index of all documents for the data owner, and then send the index table and all encrypted documents together to the cloud server.

[0004] However, when updating the dataset, the data owner needs to rebuild the index table containing the index of all documents each time and send the new index table to the cloud server. Therefore, traditional document storage methods result in long data storage times and low efficiency. Summary of the Invention

[0005] Therefore, it is necessary to provide a document storage method, system, device, computer equipment, computer-readable storage medium, and computer program product that can improve data storage efficiency in response to the above-mentioned technical problems.

[0006] Firstly, this application provides a document storage method. The method is applied to a data owner and includes:

[0007] Identify the target document and its target keywords;

[0008] Obtain the current counting parameter information of the target keyword and the operation information of the target document, and generate the encrypted file identifier of the target document based on the preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keyword;

[0009] The encrypted file identifier of the target document is uploaded to the cloud server; the cloud server is used to establish a mapping relationship between the encrypted file identifier and the target document.

[0010] In one embodiment, generating the encrypted file identifier of the target document based on a preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keywords includes:

[0011] Based on the current counting parameter information, the target keyword, and the data owner's private key, a first symmetric key and a second symmetric key are generated.

[0012] Based on the first symmetric key, the second symmetric key, the operation information of the target document, the current counting parameter information, the plaintext identifier of the target document, and the public key, the keyword ciphertext of the target document is generated;

[0013] Based on the ciphertext of the keywords, the plaintext identifier of the target document, and the third symmetric key, an encrypted file identifier for the target document is generated.

[0014] In one embodiment, the method further includes:

[0015] Based on the public key and the linear secret sharing scheme access structure, the target document is encrypted to obtain the target encrypted document;

[0016] The target encrypted document is uploaded to the cloud server.

[0017] Secondly, this application provides a document storage method. The method is applied to a cloud server and includes:

[0018] The encrypted file identifier of the target document sent by the data owner is received; the encrypted file identifier is generated based on a preset encryption strategy, the target keyword of the target document, the plaintext identifier of the target document, the current counting parameter information of the target keyword, and the operation information of the target document.

[0019] Establish a mapping relationship between the encrypted file identifier and the target document.

[0020] In one embodiment, the method further includes:

[0021] Receive the target encrypted document corresponding to the target document sent by the data owner; the target encrypted document is obtained by encrypting the target document based on a public key and a linear secret sharing scheme access structure;

[0022] Store the target encrypted document.

[0023] In one embodiment, the method further includes:

[0024] Receive search requests sent by data users; the search requests are generated based on the data users' search keywords, the current counting parameter information of the search keywords, and a preset search request generation strategy;

[0025] Based on the search request, the target document is retrieved from the encrypted documents uploaded by the data owner.

[0026] In one embodiment, the search request includes an update count value, a first symmetric key, and a request index, and the step of retrieving the target document from the encrypted documents uploaded by the data owner based on the search request includes:

[0027] The update count value is used as the target count value. If the target count value is not 0, the new operation and the document record identifier corresponding to the new operation are determined based on the first symmetric key, the target count value, and the public key.

[0028] Based on the requested index, determine the historical search results corresponding to the search keywords from the locally stored historical search results;

[0029] Based on the newly added operation and the document record identifier corresponding to the newly added operation, update the historical search results corresponding to the search keywords;

[0030] Subtract 1 from the target count value and return the step of determining the new operation and the document record identifier corresponding to the new operation based on the first symmetric key, the target count value, and the public key when the target count value is not 0;

[0031] Until the target count value is 0, the remaining encrypted file identifiers in the updated historical search results are used as target encrypted identifiers, and the encrypted documents corresponding to each target encrypted identifier are used as target search documents.

[0032] In one embodiment, determining the addition operation and the document record identifier corresponding to the addition operation based on the first symmetric key, the target count value, and the public key includes:

[0033] Based on the first symmetric key, the target count value, and the public key, generate the target bit string;

[0034] Based on the target bit string, determine the keyword index of the search keyword and the remaining bit string of the target bit string;

[0035] Based on the keyword index of the search keywords, the unsearched index of the updated and unsearched ciphertext is searched to obtain the remaining bit string of the keyword ciphertext that matches the ciphertext in the updated and unsearched ciphertext.

[0036] Based on the remaining bit string of the keyword ciphertext of the hit ciphertext and the remaining bit string of the target bit string, the new operation and the document record identifier corresponding to the new operation are determined.

[0037] In one embodiment, the step of retrieving the unsearched index of the updated and unsearched ciphertext based on the keyword index of the search keywords to obtain the remaining bit string of the keyword ciphertext that matches the ciphertext in the updated and unsearched ciphertext includes:

[0038] Based on the keyword index of the search keywords, the unsearched index of the updated and unsearched ciphertext is searched to obtain the encrypted file identifier that matches the ciphertext in the updated and unsearched ciphertext.

[0039] Based on the encrypted file identifier of the hit ciphertext and the first symmetric key, the remaining bit string of the keyword ciphertext of the hit ciphertext is determined.

[0040] In one embodiment, the historical search results include historical document record identifiers, and updating the historical search results corresponding to the search keywords based on the new operation and the document record identifiers corresponding to the new operation includes:

[0041] If the newly added operation is a deletion, and there exists a historical document record identifier that is the same as the document record identifier corresponding to the newly added operation, then the historical document record identifier and the encrypted file identifier corresponding to the historical document record identifier will be removed from the historical search results corresponding to the search keyword.

[0042] If the new operation is to add, and there are historical document record identifiers that are all different from the document record identifiers corresponding to the new operation, then the document record identifiers corresponding to the new operation and the encrypted file identifiers corresponding to the document record identifiers are added to the historical search results corresponding to the search keywords.

[0043] In one embodiment, the method further includes:

[0044] The target retrieval document is sent to a fog node, which then performs partial decryption of the target retrieval document based on the conversion key sent by the data user, obtaining partially decrypted ciphertext, and sends the partially decrypted ciphertext to the data user; the partially decrypted ciphertext is used to decrypt the target decrypted document based on the data user's private key.

[0045] Thirdly, this application also provides a document storage system. The system includes:

[0046] The data owner is used to determine the target document and the target keywords of the target document; the current counting parameter information of the target keywords and the operation information of the target document are obtained, and based on the preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keywords, an encrypted file identifier of the target document is generated; the encrypted file identifier of the target document is uploaded to the cloud server.

[0047] A cloud server is used to receive the encrypted file identifier of the target document and establish a mapping relationship between the encrypted file identifier and the target document.

[0048] In one embodiment, the data owner is further used for:

[0049] Based on a public key and a linear secret sharing scheme access structure, the target document is encrypted to obtain an encrypted target document; the encrypted target document is then uploaded to the cloud server.

[0050] The cloud server is also used for:

[0051] Receive and store the target encrypted document.

[0052] In one embodiment, the system further includes:

[0053] The data user is used to generate a search request based on the search keywords, the current counting parameter information of the search keywords, and a preset search request generation strategy; and send the search request to the cloud server.

[0054] The cloud server is also used for:

[0055] The system receives the search request and, based on the search request, retrieves the target document from the encrypted documents uploaded by the data owner.

[0056] In one embodiment, the system further includes:

[0057] Fog nodes are used to receive a conversion key and a target retrieval document sent by the data user; based on the conversion key, the target retrieval document is partially decrypted to obtain partially decrypted ciphertext, and the partially decrypted ciphertext is sent to the data user;

[0058] The cloud server is also used for:

[0059] Send the target document to the fog node;

[0060] The data user also uses it for:

[0061] Based on the public key, a conversion key and the data user's private key are generated, and the conversion key is sent to the fog node; the partially decrypted ciphertext is received, and based on the data user's private key, the partially decrypted ciphertext is decrypted to obtain the target decrypted document.

[0062] Fourthly, this application also provides a document storage device. The device includes:

[0063] The determination module is used to determine the target document and the target keywords of the target document;

[0064] The generation module is used to obtain the current counting parameter information of the target keyword and the operation information of the target document, and generate the encrypted file identifier of the target document based on the preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keyword.

[0065] The first sending module is used to upload the encrypted file identifier of the target document to the cloud server; the cloud server is used to establish a mapping relationship between the encrypted file identifier and the target document.

[0066] In one embodiment, the generation module is specifically used for:

[0067] Based on the current counting parameter information, the target keyword, and the data owner's private key, a first symmetric key and a second symmetric key are generated.

[0068] Based on the first symmetric key, the second symmetric key, the operation information of the target document, the current counting parameter information, the plaintext identifier of the target document, and the public key, the keyword ciphertext of the target document is generated;

[0069] Based on the ciphertext of the keywords, the plaintext identifier of the target document, and the third symmetric key, an encrypted file identifier for the target document is generated.

[0070] In one embodiment, the device further includes:

[0071] The first encryption module encrypts the target document based on a public key and a linear secret sharing scheme access structure to obtain the target encrypted document;

[0072] The second sending module is used to upload the target encrypted document to the cloud server.

[0073] Fifthly, this application also provides a document storage device. The device includes:

[0074] The first receiving module is used to receive the encrypted file identifier of the target document sent by the data owner; the encrypted file identifier is generated based on a preset encryption strategy, the target keyword of the target document, the plaintext identifier of the target document, the current counting parameter information of the target keyword, and the operation information of the target document.

[0075] A module is established to create a mapping relationship between the encrypted file identifier and the target document.

[0076] In one embodiment, the device further includes:

[0077] The second receiving module is used to receive the target encrypted document corresponding to the target document sent by the data owner; the target encrypted document is obtained by encrypting the target document based on a public key and a linear secret sharing scheme access structure;

[0078] A storage module for storing the target encrypted document.

[0079] In one embodiment, the device further includes:

[0080] The third receiving module is used to receive search requests sent by data users; the search request is generated based on the data user's search keywords, the current counting parameter information of the search keywords, and a preset search request generation strategy.

[0081] The retrieval module is used to retrieve the target document from the encrypted documents uploaded by the data owner based on the search request.

[0082] In one embodiment, the search request includes an update count value, a first symmetric key, and a request index, and the retrieval module is specifically used for:

[0083] The update count value is used as the target count value. If the target count value is not 0, the new operation and the document record identifier corresponding to the new operation are determined based on the first symmetric key, the target count value, and the public key.

[0084] Based on the requested index, determine the historical search results corresponding to the search keywords from the locally stored historical search results;

[0085] Based on the newly added operation and the document record identifier corresponding to the newly added operation, update the historical search results corresponding to the search keywords;

[0086] Subtract 1 from the target count value and return the step of determining the new operation and the document record identifier corresponding to the new operation based on the first symmetric key, the target count value, and the public key when the target count value is not 0;

[0087] Until the target count value is 0, the remaining encrypted file identifiers in the updated historical search results are used as target encrypted identifiers, and the encrypted documents corresponding to each target encrypted identifier are used as target search documents.

[0088] In one embodiment, the retrieval module is specifically used for:

[0089] Based on the first symmetric key, the target count value, and the public key, generate the target bit string;

[0090] Based on the target bit string, determine the keyword index of the search keyword and the remaining bit string of the target bit string;

[0091] Based on the keyword index of the search keywords, the unsearched index of the updated and unsearched ciphertext is searched to obtain the remaining bit string of the keyword ciphertext that matches the ciphertext in the updated and unsearched ciphertext.

[0092] Based on the remaining bit string of the keyword ciphertext of the hit ciphertext and the remaining bit string of the target bit string, the new operation and the document record identifier corresponding to the new operation are determined.

[0093] In one embodiment, the retrieval module is specifically used for:

[0094] Based on the keyword index of the search keywords, the unsearched index of the updated and unsearched ciphertext is searched to obtain the encrypted file identifier that matches the ciphertext in the updated and unsearched ciphertext.

[0095] Based on the encrypted file identifier of the hit ciphertext and the first symmetric key, the remaining bit string of the keyword ciphertext of the hit ciphertext is determined.

[0096] In one embodiment, the historical search results include historical document record identifiers, and the retrieval module is specifically used for:

[0097] If the newly added operation is a deletion, and there exists a historical document record identifier that is the same as the document record identifier corresponding to the newly added operation, then the historical document record identifier and the encrypted file identifier corresponding to the historical document record identifier will be removed from the historical search results corresponding to the search keyword.

[0098] If the new operation is to add, and there are historical document record identifiers that are all different from the document record identifiers corresponding to the new operation, then the document record identifiers corresponding to the new operation and the encrypted file identifiers corresponding to the document record identifiers are added to the historical search results corresponding to the search keywords.

[0099] In one embodiment, the device further includes:

[0100] The third sending module is used to send the target retrieval document to the fog node, so that the fog node can partially decrypt the target retrieval document according to the conversion key sent by the data user to obtain partially decrypted ciphertext, and send the partially decrypted ciphertext to the data user; the partially decrypted ciphertext is used to decrypt the target decrypted document based on the data user's private key.

[0101] Sixthly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps described in the first or second aspect above.

[0102] In a seventh aspect, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the steps described in the first or second aspect above.

[0103] Eighthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the steps described in the first or second aspect above.

[0104] The aforementioned document storage method, system, apparatus, computer equipment, storage medium, and computer program product, wherein the method is applied to a data owner, the method comprising: determining a target document and target keywords of the target document; obtaining current counting parameter information of the target keywords and operation information of the target document, and generating an encrypted file identifier of the target document based on a preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keywords; uploading the encrypted file identifier of the target document to a cloud server; the cloud server being used to establish a mapping relationship between the encrypted file identifier and the target document. In this way, the data owner generates an encrypted file identifier for the target document based on the target document's target keywords, operation information, target keywords, current counting parameters of the target keywords, and a preset encryption strategy. This identifier is then sent to the cloud server, enabling the cloud server to establish a mapping relationship between the target document and the encrypted file identifier. This allows the cloud server to retrieve encrypted documents from its database using the encrypted file identifier. Since the indexes of all documents are not stored in a single index table, when updating the dataset, only the encrypted file identifier of the target document needs to be generated, without needing to regenerate the indexes of other documents. This significantly shortens data storage time and improves data storage efficiency. Attached Figure Description

[0105] Figure 1 This is a flowchart illustrating a document storage method in one embodiment;

[0106] Figure 2 This is a flowchart illustrating the steps for generating an encrypted file identifier for a target document in one embodiment.

[0107] Figure 3 This is a schematic diagram of the process of encrypting a document in one embodiment;

[0108] Figure 4 This is a flowchart illustrating the document storage method in another embodiment;

[0109] Figure 5 This is a schematic diagram of the process for encrypting a document in another embodiment;

[0110] Figure 6 This is a schematic diagram of the process for retrieving encrypted documents in another embodiment;

[0111] Figure 7 This is a schematic diagram illustrating the process of retrieving a target document from encrypted documents uploaded by a data owner based on a search request, as described in another embodiment.

[0112] Figure 8This is a flowchart illustrating the process of determining the new operation and the document record identifier corresponding to the new operation in another embodiment;

[0113] Figure 9 This is a flowchart illustrating the process of determining the remaining bit string of the keyword ciphertext that hits the ciphertext in another embodiment.

[0114] Figure 10 This is a schematic diagram illustrating the process of updating historical search results corresponding to search keywords in another embodiment;

[0115] Figure 11 This is a schematic diagram of the structure of a document storage system in one embodiment;

[0116] Figure 12 This is a schematic diagram of the document storage system in another embodiment;

[0117] Figure 13 This is a structural block diagram of a document storage device in one embodiment;

[0118] Figure 14 This is a structural block diagram of a document storage device in another embodiment;

[0119] Figure 15 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0120] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0121] In one embodiment, such as Figure 1 As shown, a document storage method is provided, which is applied to a data owner. It is understood that the data owner can be a terminal, a server, or a system including both a terminal and a server, and is implemented through interaction between the terminal and the server. The terminal can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can be smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc. Portable wearable devices can be smartwatches, smart bracelets, head-mounted devices, etc. The server can be a standalone server or a server cluster composed of multiple servers. In this embodiment, the method includes the following steps:

[0122] Step 101: Determine the target document and the target keywords for the target document.

[0123] In this embodiment, the cloud server is used to store documents uploaded by the data owner. The target document is a document on the cloud server to be updated; it can be a document to be added to the cloud server or a document to be deleted from the cloud server. The target keyword is the keyword of the target document.

[0124] The data owner generates target keywords for the target document based on the target document.

[0125] In one example, the data owner uses predefined keywords retrieved from the target document as the target keywords.

[0126] In one example, the data owner inputs the target document into a pre-trained keyword recognition model to obtain the target keywords.

[0127] Step 102: Obtain the current counting parameter information of the target keyword and the operation information of the target document, and generate the encrypted file identifier of the target document based on the preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keyword.

[0128] In this embodiment, the counting parameter information includes an update count value and a retrieval count value for the target keyword. The update count value is the number of updates to documents containing the target keyword belonging to the data owner stored in the cloud server. The retrieval count value is the number of times the target keyword is retrieved in each document belonging to the data owner stored in the cloud server. The counting parameter information can be recorded in a counting parameter mapping. If a target document has multiple target keywords, each target keyword in the target document corresponds to an encrypted file identifier, and the encrypted file identifiers corresponding to each target keyword in the target document constitute multiple encrypted file identifiers corresponding to the target document.

[0129] In one embodiment, the data owner obtains the current count value of keyword w from the count parameter mapping Count: update the count value. and retrieval count value If the count parameter mapping Count is empty, then initialize Make By setting The cumulative update count of keyword w is recorded in the counting parameter mapping Count[w]. The data owner can retrieve the operation information of the target document from the operation information set {add,del}. Here, op∈{add,del}, op represents the operation information; add is used for adding, and del is used for deleting.

[0130] Step 103: Upload the encrypted file identifier of the target document to the cloud server.

[0131] The cloud server is used to establish a mapping relationship between encrypted file identifiers and target documents.

[0132] In the aforementioned document storage method, the method is applied to the data owner to determine the target document and its target keywords; obtain the current counting parameter information of the target keywords and the operation information of the target document; and generate an encrypted file identifier for the target document based on a preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keywords; upload the encrypted file identifier of the target document to the cloud server; and the cloud server is used to establish a mapping relationship between the encrypted file identifier and the target document. In this way, the data owner generates an encrypted file identifier for the target document based on the target keywords, the operation information of the target document, the target keywords, the current counting parameter information of the target keywords, and the preset encryption strategy, and sends it to the cloud server. This allows the cloud server to establish a mapping relationship between the target document and the encrypted file identifier, enabling the cloud server to retrieve encrypted documents from its database using the encrypted file identifier. Since the indexes of all documents are not stored in a single index table, when updating the dataset, only the encrypted file identifier of the target document needs to be generated, without regenerating the indexes of other documents. This significantly shortens data storage time and improves data storage efficiency. This method achieves dynamic updates of outsourced ciphertext by generating an encrypted file identifier for the target document, solving the problem that previously required regenerating the index when updating ciphertext. It realizes dynamic searchable encryption and improves the practical performance of searchable encryption schemes.

[0133] In one embodiment, such as Figure 2 As shown, the specific process of generating an encrypted file identifier for a target document based on a preset encryption strategy, current counting parameter information, operation information of the target document, plaintext identifier of the target document, and target keywords includes the following steps:

[0134] Step 201: Based on the current counting parameter information, target keyword, and the data owner's private key, generate the first symmetric key and the second symmetric key.

[0135] In this embodiment, the data owner generates a first symmetric key based on the current counting parameter information, the target keyword, and the data owner's private key. Simultaneously, the data owner generates a second symmetric key based on the target keyword and the data owner's private key. The data owner's private key is generated during system initialization.

[0136] In one embodiment, the data owner generates a first symmetric key and a second symmetric key, which can be represented as follows:

[0137]

[0138] K′ w ←F(S,w||-1)

[0139] Among them, K w Let K′ be the first symmetric key. w Let F be the second symmetric key, S be the data owner's private key, and w be the target keyword. This represents the current search count for the target keyword.

[0140] In one embodiment, the specific process of the data owner performing system initialization is as follows: Based on the specified first security parameter λ, a bilinear group G of order p and generator g is selected; based on the bilinear group G, four hash functions H1:{0,1} are determined. * →G, H2:G→{0,1} l H3:{0,1} * →{0,1} λ′+λ+1 H4:{0,1} * →{0,1} λ l is the number of bits, λ′ is the second security parameter; select random numbers α, a∈Z p Z p ={0,1,2,...,p-1} is the residue system of the prime number p; set the master key MSK to g. α Choose the third symmetric key K ξ Given the data owner's private key S, the output public key (also known as the public parameter) can be represented as:

[0141] PK = {g, e(g, g)} α ,g a ,H1,H2,H3,H4}

[0142] Where e is a bilinear mapping and g is a generator of the bilinear group G. Initialize three empty mappings: a counting parameter mapping Count, an updated and unsearched ciphertext index set CDB and a ciphertext index set EDB, and let op∈{add,del}, where op is an operation, adding add=1 and deleting del=0.

[0143] Step 202: Generate the keyword ciphertext of the target document based on the first symmetric key, the second symmetric key, the operation information of the target document, the current counting parameter information, the plaintext identifier of the target document, and the public key.

[0144] In this embodiment of the application, the public key is generated by the data owner during system initialization.

[0145] In one embodiment, the keyword ciphertext generated by the data owner for the target document can be represented as:

[0146]

[0147] Where (L||D) is the keyword ciphertext of the target keyword w in the target document; L is the high λ′ bit, which is the keyword index; D is the remaining (λ+1) bits, which is the remaining bit string of the keyword ciphertext; and id is the plaintext identifier of the target document.

[0148] Step 203: Generate the encrypted file identifier of the target document based on the keyword ciphertext, the plaintext identifier of the target document, and the third symmetric key.

[0149] In this embodiment, the third symmetric key is generated by the data owner during system initialization.

[0150] In one embodiment, the encrypted file identifier of the target document generated by the data owner can be represented as:

[0151] C id ←ε(K ξ ,id,(L||D)).

[0152] Among them, C id K is the identifier for the encrypted file, and it is a symmetric encryption algorithm. ξ Let be the third symmetric key, id be the plaintext identifier of the target document, and (L||D) be the ciphertext of the target keyword w in the target document.

[0153] In the aforementioned document storage method, a first symmetric key and a second symmetric key are generated based on the current counting parameter information, the target keyword, and the data owner's private key. Based on the first symmetric key, the second symmetric key, the target document's operation information, the current counting parameter information, the target document's plaintext identifier, and the public key, the target document's keyword ciphertext is generated. Based on the keyword ciphertext, the target document's plaintext identifier, and a third symmetric key, the target document's encrypted file identifier is generated. In this way, the data owner generates the target document's encrypted file identifier based on the target document's target keyword, the target document's operation information, the target keyword, the target keyword's current counting parameter information, and a preset encryption strategy. The file identifier is encrypted using the target keyword's current counting parameter information. During ciphertext retrieval and transmission, the target keyword's counting parameter information will not be leaked, achieving forward and backward security in dynamic searchable encryption, thus improving the security of the searchable encryption scheme and document storage.

[0154] In one embodiment, such as Figure 3 As shown, the document storage method also includes the following steps:

[0155] Step 301: Based on the public key and the linear secret sharing scheme access structure, encrypt the target document to obtain the target encrypted document.

[0156] In this embodiment, when the operation information of the target document indicates the addition of the target document, the data owner encrypts the target document based on the public key and the linear secret sharing scheme access structure to obtain the encrypted target document. The encrypted target document is the ciphertext document obtained by encrypting the plaintext target document.

[0157] In one example, when the operation information of the target document indicates that the target document is to be added, the data owner only generates and uploads the encrypted file identifier of the target document, without encrypting the target document or uploading the encrypted target document to the cloud server.

[0158] Step 302: Upload the target encrypted document to the cloud server.

[0159] In one embodiment, the specific process by which the data owner encrypts the target document is as follows: Define a Linear Secret Sharing Scheme (LSSS) access structure (M3, ρ), where M3 is an l×k access policy matrix, l is the number of attributes included in the access policy, k reflects the computational cost required for secret reconstruction, and ρ is a mapping function that maps each row of matrix M3 to the corresponding attribute ρ(h); define a random vector For set Z p Let s be a k-order subset of a linear secret-sharing scheme, y2 be a secret value to be shared, and y3 be a subset of a linear secret-sharing scheme. k for Random numbers in the data; calculation h = 1, 2, ..., l, M 3,h Let λ represent the h-th row of matrix M3. h Let represent the h-th share of the secret value s, corresponding to the attribute ρ(h); based on the bilinear group G, hash functions H1, H2, H3, H4, generator g, attribute ρ(h), and share λ h Encrypting a plaintext document set into a ciphertext document set can be represented as:

[0160] CT = {CT1, CT2, ..., CT} n}

[0161] CT i =r i ·e(g,g) αs ,r i ∈G

[0162] CF = {CF1, CF2, ..., CF} n}

[0163]

[0164] C′=g s

[0165]

[0166] in, Represents the XOR operation; r i Let CF, CT, C′, C1, ..., Cn be the i-th element of an n-element bilinear group G, where i = 1, 2, ..., n; C1, C2, C3, C4, C5, C6, C7, C8, C9, C1, ..., C9, C1, C2 ... l D1, ..., D l These are all intermediate ciphertexts from a set of ciphertext documents. The data owner needs to send them the first time. After that, you only need to send the encrypted ciphertext to the cloud server each time.

[0167] In the aforementioned document storage method, the target document is encrypted based on a public key and a linear secret sharing scheme access structure, resulting in an encrypted target document. This encrypted target document is then uploaded to a cloud server. In this way, the data owner encrypts the target document using a linear secret sharing scheme. By introducing a Ciphertext-Policy Attribute-Based Encryption (CP-ABE) scheme into the searchable encryption scheme to solve the problem of sharing encrypted documents, authorized data users can obtain partially decrypted ciphertext if they can access the structure, and then decrypt the partially decrypted ciphertext to obtain the plaintext; otherwise, they cannot obtain it, thus achieving multi-user sharing of the searchable encryption scheme. Furthermore, this method uses a linear secret sharing scheme to encrypt the target document. Compared to common searchable encryption methods that only use symmetric encryption and do not care about the encryption itself, this method achieves indistinguishability under adaptive chosen-ciphertext attacks, reaching the highest security level (IND-CCA2). Most current schemes only achieve indistinguishability under chosen-ciphertext attacks (IND-CCA). This method further improves the security of the searchable encryption scheme and document storage. Furthermore, the data owner directly participates in the ciphertext generation process and uploads the ciphertext to the cloud server. Therefore, after receiving the returned ciphertext document set, the data owner does not need to consider the access structure and can directly generate the decryption key based on the secret value s, thereby decrypting the ciphertext to obtain the plaintext, which improves the data owner's decryption efficiency.

[0168] In one embodiment, such as Figure 4As shown, a document storage method is provided, which is applied to a cloud server. It is understood that the cloud server can be a terminal, a server, or a system including both a terminal and a server, and is implemented through interaction between the terminal and the server. The terminal can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can be smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc. Portable wearable devices can be smartwatches, smart bracelets, head-mounted devices, etc. The server can be implemented using a standalone server or a server cluster consisting of multiple servers. In this embodiment, the method includes the following steps:

[0169] Step 401: Receive the encrypted file identifier of the target document sent by the data owner.

[0170] The encrypted file identifier is generated based on a preset encryption strategy, the target keywords of the target document, the plaintext identifier of the target document, the current counting parameter information of the target keywords, and the operation information of the target document.

[0171] In this embodiment of the application, the specific process of generating the encrypted file identifier is the same as that in steps 102 and 201-203.

[0172] Step 402: Establish a mapping relationship between the encrypted file identifier and the target document.

[0173] In the aforementioned document storage method, the method is applied to a cloud server, receiving an encrypted file identifier for the target document sent by the data owner; and establishing a mapping relationship between the encrypted file identifier and the target document. In this way, the cloud server establishes a mapping relationship between the target document and the encrypted file identifier. The encrypted file identifier is generated based on a preset encryption strategy, the target document's target keywords, the target document's plaintext identifier, the current counting parameter information of the target keywords, and the target document's operation information. This allows the cloud server to retrieve encrypted documents from its database using the encrypted file identifier. Since the indexes of all documents are not all stored in a single index table, when updating the dataset, only the encrypted file identifier of the target document needs to be generated; the indexes of other documents do not need to be regenerated, which can significantly shorten data storage time and improve data storage efficiency.

[0174] In one embodiment, such as Figure 5 As shown, the document storage method also includes the following steps:

[0175] Step 501: Receive the target encrypted document corresponding to the target document sent by the data owner.

[0176] The target encrypted document is obtained by encrypting the target document based on a public key and a linear secret sharing scheme access structure.

[0177] In this embodiment of the application, the specific process of generating the target encrypted document is the same as the specific process of generating the target encrypted document in step 301.

[0178] Step 502: Store the target encrypted document.

[0179] In the aforementioned document storage method, the target encrypted document corresponding to the target document sent by the data owner is received and stored. The target encrypted document is obtained by encrypting the target document based on a public key and a linear secret sharing scheme access structure. By introducing the CP-ABE scheme into the searchable encryption scheme to solve the problem of ciphertext document sharing, authorized data users can obtain part of the decrypted ciphertext if they can access the structure, and then decrypt the part of the decrypted ciphertext to obtain the plaintext; otherwise, they cannot obtain it, thus realizing multi-user sharing of the searchable encryption scheme. Furthermore, this method uses a linear secret sharing scheme to encrypt the target document. Compared to common searchable encryption methods that only use symmetric encryption and do not care about the encryption itself, this method can achieve indistinguishability under adaptive chosen-ciphertext attacks, reaching the highest security level (IND-CCA2). Currently, most schemes only achieve indistinguishability under chosen-ciphertext attacks (IND-CCA). This method can further improve the security of the searchable encryption scheme and document storage. Furthermore, the data owner directly participates in the ciphertext generation process and uploads the ciphertext to the cloud server. Therefore, after receiving the returned ciphertext document set, the data owner does not need to consider the access structure and can directly generate the decryption key based on the secret value s, thereby decrypting the ciphertext to obtain the plaintext, which improves the data owner's decryption efficiency.

[0180] In one embodiment, such as Figure 6 As shown, the document storage method also includes the following steps:

[0181] Step 601: Receive the search request sent by the data user.

[0182] The search request is generated based on the user's search keywords, the current count parameter information of the search keywords, and the preset search request generation strategy.

[0183] In this application embodiment, a search request, also known as a search trapdoor, is used to represent the search keywords used by a data user to search in a database on a cloud server.

[0184] In one example, the specific process of generating a search request is as follows: based on the data user's search keywords, the current counting parameter information of the search keywords, and the data owner's private key, a first symmetric key and a second symmetric key are generated; based on the second symmetric key and the public key, a request index for the search keywords is generated; based on the current counting parameter information of the search keywords, the first symmetric key, and the request index for the search keywords, a search request is generated.

[0185] In one embodiment, the data user obtains the current count value of keyword w from the count parameter map Coynt[w]: update the count value. and retrieval count value If Count[w] is empty, the data user aborts the calculation. The data user calculates the first and second symmetric keys, which can be represented as:

[0186]

[0187] K′ w ←F(S,w||-1)

[0188] Then, the data user calculates the request index for the search keywords, which can be represented as: Then, the data user will construct a search request using the current update count value of the search keyword, the first symmetric key, and the request index of the search keyword.

[0189] Step 602: Based on the search request, retrieve the target document from the encrypted documents uploaded by the data owner.

[0190] In this embodiment of the application, the target retrieval document is an encrypted document containing the retrieval keywords in the database of the data owner on the cloud server.

[0191] In the document storage method described above, a search request is received from a data user. This search request is generated based on the data user's search keywords, the current count parameters of those keywords, and a preset search request generation strategy. Based on the search request, the target document is retrieved from the encrypted documents uploaded by the data owner. In this way, the data user generates a search request based on their search keywords, the current count parameters of those keywords, and the preset search request generation strategy. The cloud server then retrieves the encrypted document based on this search request, enabling retrieval of encrypted documents using encrypted file identifiers. When the dataset is updated, only the encrypted file identifier of the target document needs to be generated; the indexes of other documents do not need to be regenerated, significantly reducing data storage time and improving data storage efficiency.

[0192] In one embodiment, such as Figure 7As shown, the search request includes an update count value, a first symmetric key, and a request index. Based on the search request, the specific process of retrieving the target document from the encrypted documents uploaded by the data owner includes the following steps:

[0193] Step 701: Use the update count value as the target count value, and if the target count value is not 0, determine the new operation and the document record identifier corresponding to the new operation based on the first symmetric key, the target count value, and the public key.

[0194] In this embodiment, the "add operation" refers to an operation that adds a new element to the database on the cloud server. The "add operation" includes adding a document and deleting a document. Document record identifiers are used to distinguish different encrypted documents.

[0195] When the target count is 0, the cloud server terminates the retrieval of the target document and returns the retrieval results to the data user to indicate that no target document was retrieved. In one embodiment, an empty set is initialized. Let the count value If j = 0, it means that none of the documents contain the keyword w, so the cloud server terminates the search and returns the result "no relevant documents" to the data user.

[0196] Step 702: Based on the requested index, determine the historical search results corresponding to the search keywords in the locally stored historical search results.

[0197] In this embodiment, the cloud server stores historical search results corresponding to multiple keywords. Historical search results include a document record identifier corresponding to the document and an encrypted file identifier corresponding to the document, used to represent an index of still valid retrieved encrypted documents. For example, To retrieve historical search results for the keyword "w", To retrieve the index corresponding to the keyword 'w'.

[0198] Step 703: Based on the new operation and the document record identifier corresponding to the new operation, update the historical search results corresponding to the search keywords.

[0199] Step 704: Subtract 1 from the target count value and return the steps for determining the new operation and the corresponding document record identifier based on the first symmetric key, the target count value, and the public key, if the target count value is not 0.

[0200] Step 705: Until the target count value is 0, the remaining encrypted file identifiers in the updated historical search results are used as target encrypted identifiers, and the encrypted documents corresponding to each target encrypted identifier are used as target search documents.

[0201] In the document storage method described above, the historical search results corresponding to the request index are updated by adding a new operation and the document record identifier corresponding to the new operation. This ensures that the updated historical search results not only retain the search results from the previous historical retrieval but also include the changes in search results brought about by the new operation after the previous historical retrieval. This not only enables the cloud server to retrieve encrypted documents based on the search request and to retrieve encrypted documents by encrypted file identifiers, but also allows the data to be updated only when the dataset needs to generate the encrypted file identifier of the target document, without needing to regenerate the index of other documents. This significantly shortens the data storage time, improves the efficiency of data storage, and enhances the accuracy of document retrieval.

[0202] In one embodiment, such as Figure 8 As shown, the specific process of determining the new operation and the corresponding document record identifier based on the first symmetric key, the target count value, and the public key includes the following steps:

[0203] Step 801: Generate the target bit string based on the first symmetric key, the target count value, and the public key.

[0204] In this embodiment of the application, the cloud server generates the target bit string, which can be represented as:

[0205] (L||D′)←H3(K w ,j)

[0206] Where (L||D′) is the target bit string; L is the high λ′ bit, which is the keyword index for the search keyword w; D′ is the remaining λ+1 bits, which is the remaining bit string of the target bit string; and j is the target count value.

[0207] Step 802: Based on the target bit string, determine the keyword index of the search keywords and the remaining bit string of the target bit string.

[0208] In this embodiment, the target bit string is a bit string of length equal to the sum of the second security parameter, the first security parameter, and 1. The target bit string consists of a keyword index for the search keyword and the remaining bits of the target bit string. The keyword index is the high-order second security parameter bit of the target bit string. The remaining bits of the target bit string are the remaining first security parameter bits plus 1.

[0209] Step 803: Based on the keyword index of the search keywords, search the unsearched index of the updated and unsearched ciphertext to obtain the remaining bit string of the keyword ciphertext that matches the ciphertext in the updated and unsearched ciphertext.

[0210] In this embodiment, the keyword ciphertext is a bit string of length equal to the sum of the second security parameter, the first security parameter, and 1. The keyword ciphertext consists of a keyword index and the remaining bit string of the keyword ciphertext. The remaining bit string of the keyword ciphertext is the remaining first security parameter plus 1 bit.

[0211] Step 804: Based on the remaining bit string of the keyword ciphertext that hits the ciphertext and the remaining bit string of the target bit string, determine the new operation and the document record identifier corresponding to the new operation.

[0212] In this embodiment, the cloud server performs an XOR operation on the remaining bit string of the keyword ciphertext that hits the ciphertext and the remaining bit string of the target bit string to obtain a bit string containing the add operation and the document record identifier corresponding to the add operation. Then, the cloud server determines the add operation and the document record identifier corresponding to the add operation from the bit string containing the add operation and the document record identifier corresponding to the add operation. Specifically, the add operation and the document record identifier corresponding to the add operation constitute a bit string containing the add operation and the document record identifier corresponding to the add operation, where the add operation is only the first bit, and the remaining bits are the document record identifier corresponding to the add operation.

[0213] In one embodiment, the cloud server determines the new operation and the document record identifier corresponding to the new operation, which can be represented as:

[0214]

[0215] Where op is the new operation, X is the document record identifier corresponding to the new operation, D is the remaining bit string of the keyword ciphertext that hits the ciphertext, and D′ is the remaining bit string of the target bit string.

[0216] In the aforementioned document storage method, a target bit string is generated based on the first symmetric key, the target count value, and the public key. Based on the target bit string, the keyword index for the search keyword and the remaining bit string of the target bit string are determined. Based on the keyword index for the search keyword, the unsearched index of the updated and unsearched ciphertext is searched to obtain the remaining bit string of the keyword ciphertext that matches the updated and unsearched ciphertext. Based on the remaining bit string of the keyword ciphertext that matches the ciphertext and the remaining bit string of the target bit string, the new operation and the document record identifier corresponding to the new operation are determined. In this way, by determining the new operation and the document record identifier corresponding to the new operation through the remaining bit string of the keyword ciphertext that matches the ciphertext and the remaining bit string of the target bit string, the cloud server can retrieve encrypted documents based on the search request. This allows for the retrieval of encrypted documents using encrypted file identifiers. When updating the dataset, only the encrypted file identifier of the target document needs to be generated; the indexes of other documents do not need to be regenerated, which can significantly shorten data storage time and improve data storage efficiency.

[0217] In one embodiment, such as Figure 9 As shown, the specific process of retrieving the remaining bit string of the keyword ciphertext that matches the keyword in the updated and unsearched ciphertext based on the keyword index of the search keywords includes the following steps:

[0218] Step 901: Based on the keyword index of the search keywords, search the unsearched index of the updated and unsearched ciphertext to obtain the encrypted file identifier that matches the ciphertext in the updated and unsearched ciphertext.

[0219] Step 902: Based on the encrypted file identifier of the hit ciphertext and the first symmetric key, determine the remaining bit string of the keyword ciphertext of the hit ciphertext.

[0220] In one embodiment, the cloud server, based on the keyword index of the search keywords, searches the unsearched index of the updated and unsearched ciphertext to obtain the remaining bit string of the keyword ciphertext that matches the ciphertext in the updated and unsearched ciphertext, which can be represented as:

[0221] (D,C id )←CDB[L]

[0222] Where L is the keyword index for retrieving keyword w, CDB is the unsearched index of the updated and unsearched ciphertext, and C... id is the identifier of the encrypted file that hit the ciphertext, and D is the remaining bit string of the keyword ciphertext that hit the ciphertext.

[0223] In the document storage method described above, based on the keyword index of the search keywords, the unsearched index of the updated and unsearched ciphertext is retrieved to obtain the encrypted file identifier that matches the ciphertext in the updated and unsearched ciphertext. Based on the encrypted file identifier that matches the ciphertext and the first symmetric key, the remaining bit string of the keyword ciphertext that matches the ciphertext is determined. In this way, encrypted documents can be retrieved by encrypted file identifier. When the dataset is updated, only the encrypted file identifier of the target document needs to be generated, without regenerating the indexes of other documents, which can greatly shorten the data storage time and improve the data storage efficiency.

[0224] In one embodiment, such as Figure 10 As shown, historical search results include historical document record identifiers. The specific process of updating historical search results corresponding to search keywords based on the new operation and the document record identifier corresponding to the new operation includes the following steps:

[0225] Step 1001: If the new operation is deletion, and there exists a historical document record identifier that is the same as the document record identifier corresponding to the new operation, then remove the historical document record identifier and the encrypted file identifier corresponding to the historical document record identifier from the historical search results corresponding to the search keywords.

[0226] In this embodiment of the application, the historical document record identifier is the document record identifier in the historical search results.

[0227] Step 1002: If the new operation is "add", and all historical document record identifiers are different from the document record identifiers corresponding to the new operation, then the document record identifiers corresponding to the new operation and the encrypted file identifiers corresponding to the document record identifiers are added to the historical search results corresponding to the search keywords.

[0228] In one embodiment, if the add operation op = del, it indicates a delete operation. The cloud server adds the identifier X to the set. If a historical document record identifier X′ = X exists, that is, the document record identifier X already existed in the historical search records corresponding to the search keyword w before the search. The cloud server then removes all old ciphertext based on the identifier X′. If the new operation op = add, it means that this is an add operation, and the cloud server will associate the document record identifier X with the set. Compare all historical document records with their identifiers. If the identifier... The cloud server then records the historical search history from (X, C) to the search keyword w.

[0229] In the above document storage method, by checking whether the document record identifier corresponding to the new operation is consistent with the historical search identifier in the historical search record, and by considering the type of the new operation, the document record identifier corresponding to the new operation and the encrypted file identifier corresponding to that document record are removed or added to the historical search record. This updates the historical search results, ensuring that the updated historical search results not only retain the search results from the previous historical search but also reflect the changes in search results brought about by the new operation after the previous historical search. This not only enables the cloud server to retrieve encrypted documents based on the search request and to retrieve encrypted documents by encrypted file identifier, but also, when updating the dataset, only the encrypted file identifier of the target document needs to be generated, without regenerating the index of other documents. This significantly shortens data storage time, improves data storage efficiency, and enhances the accuracy of document retrieval.

[0230] In one embodiment, the document storage method further includes the following steps: sending the target retrieval document to a fog node, so that the fog node partially decrypts the target retrieval document according to the conversion key sent by the data user to obtain partially decrypted ciphertext, and sends the partially decrypted ciphertext to the data user.

[0231] Some of the decrypted ciphertext is used to decrypt the target decrypted document based on the data user's private key.

[0232] In this embodiment, the data user generates a conversion key and a private key based on the public key. The data user then sends the conversion key to the fog node. The fog node receives the conversion key from the data user and the target retrieval document from the cloud server. The fog node then partially decrypts the target retrieval document using the conversion key sent by the data user, obtaining partially decrypted ciphertext, and sends this partially decrypted ciphertext back to the data user. The data user receives the partially decrypted ciphertext from the fog node. Then, the fog node decrypts the partially decrypted ciphertext using the data user's private key to obtain the target decrypted document.

[0233] The specific process for a data user to generate a conversion key and a private key is as follows: The data user generates a first private key based on the public key. Then, the data user selects a random number. The data user generates a conversion key based on the public key, the first private key, and the random number. Finally, the data user combines the conversion key and the random number to form a second private key, which is the data user's private key.

[0234] In one embodiment, the data user generates a conversion key and a private key, which can be represented as follows:

[0235] SK′=(PK,K′=g α g at′ L′=g t′ ,{K′ x =H1(x) t′} x∈A )

[0236] TK = (PK, K, L, {K x} x∈A )

[0237]

[0238]

[0239]

[0240] SK = (z, TK)

[0241] Where SK′ is the first private key; PK is the public key; A is the attribute set of the data user; H1 is the hash function; x is any attribute in the attribute set; t′∈Z p TK is the key that the data user randomly selects based on the master key and multiple attributes; TK is the conversion key. It is a random number obtained by random selection; It is set Z p The non-zero subset of ; SK is the data user's private key, i.e., the second private key; K′, L′, K′ x ,K,L,t,{K x} x∈A These are all intermediate parameters.

[0242] The specific process of the fog node partially decrypting the target retrieved document is as follows: the fog node partially decrypts the target retrieved document based on the Transform algorithm and the transformation key to obtain partially decrypted ciphertext.

[0243] In one embodiment, the fog node input transformation key TK = (PK, K, L, {K x} x∈A ) and ciphertext C = {CF, CT, C′, C1, ..., C l D1, ..., D l The Transform algorithm is run to generate a partial decrypted ciphertext CT′, where CT′ is (CF,CT,e(g,g)). sα / z If the attribute set A of the data user does not satisfy the access structure, output an empty ⊥. If the attribute set A of the data user satisfies the access structure, let the set... Defined as B = (b: ρ(b) ∈ A). Then, let {ω b ∈Z p} b∈B Let be a set of constants such that if {λ} b If} is the effective sharing of secret s with matrix M3, then Σ b∈B ω b λ b =s. The conversion algorithm calculates it using the following formula:

[0244]

[0245] Where e is the bilinear pairing computation, C′ is the intermediate parameter of the ciphertext returned by the cloud service, K and L are the intermediate parameters of the conversion key, b is a constant, and ω b ρ(b) is a constant, ρ(b) is an attribute, and t is an intermediate parameter.

[0246] In one embodiment, the data user decrypts the decrypted ciphertext as follows:

[0247]

[0248]

[0249] Among them, CT i It is the i-th ciphertext in the ciphertext set CT, CF i It is the i-th ciphertext in the ciphertext set CF.

[0250] In the above document storage method, the target retrieval document is sent to the fog node, so that the fog node can partially decrypt the target retrieval document according to the conversion key sent by the data user, obtain partially decrypted ciphertext, and send the partially decrypted ciphertext to the data user. By referencing the fog node and placing the bilinear pairing on the fog node for calculation, and outsourcing CP-ABE, the computational pressure on the data user can be greatly reduced and the efficiency of document decryption can be improved.

[0251] Based on the same inventive concept, this application also provides a document storage system for implementing the document storage method described above. The solution provided by this system is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more document storage system embodiments provided below can be found in the limitations of the document storage method described above, and will not be repeated here.

[0252] In one embodiment, such as Figure 11 As shown, a document storage system 1100 is provided, the system comprising:

[0253] Data owner 1102 is used to determine the target document and the target keywords of the target document; obtain the current counting parameter information of the target keywords and the operation information of the target document, and generate the encrypted file identifier of the target document based on the preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keywords; and upload the encrypted file identifier of the target document to the cloud server.

[0254] Cloud server 1104 is used to receive the encrypted file identifier of the target document and establish a mapping relationship between the encrypted file identifier and the target document.

[0255] In one embodiment, data owner 1102 is also used for:

[0256] Based on a public key and a linear secret sharing scheme access structure, the target document is encrypted to obtain the encrypted target document; the encrypted target document is then uploaded to a cloud server.

[0257] Cloud server 1104 is also used for:

[0258] Receive and store the target encrypted document.

[0259] In one embodiment, the system 1100 further includes:

[0260] Data user 1106 is used to generate a search request based on the search keywords, the current count parameter information of the search keywords, and the preset search request generation strategy; and send the search request to the cloud server.

[0261] Cloud server 1104 is also used for:

[0262] Receive search requests and, based on the search requests, retrieve the target document from the encrypted documents uploaded by the data owner.

[0263] In one embodiment, the system 1100 further includes:

[0264] Fog node 1108 is used to receive the conversion key and target retrieval document sent by the data user; based on the conversion key, it partially decrypts the target retrieval document to obtain partially decrypted ciphertext, and sends the partially decrypted ciphertext back to the data user.

[0265] Cloud server 1104 is also used for:

[0266] Send the target document to the fog node.

[0267] Data user 1106 is also used for:

[0268] Based on the public key, a conversion key and the data user's private key are generated, and the conversion key is sent to the fog node; a portion of the decrypted ciphertext is received, and based on the data user's private key, the portion of the decrypted ciphertext is decrypted to obtain the target decrypted document.

[0269] In the embodiments of this application, it is understood that the specific processes of each step involved in the document storage system are similar to the specific processes of each step involved in the document storage method described above.

[0270] In one embodiment, such as Figure 12As shown, a document storage system 1200 is provided, comprising: a data owner 1102, a cloud server 1104, a data user 1106, and a fog node 1108. The data owner 1102 generates an encrypted file identifier for a target document and encrypts the target document to obtain the target encrypted document. Then, the data owner 1102 sends the target encrypted document and its corresponding encrypted file identifier to the cloud server 1104. The cloud server 1104 establishes a mapping relationship between the target encrypted document and the encrypted file identifier. The data user 1106 generates a search request and sends it to the cloud server 1104. Based on the search request, the cloud server 1104 retrieves the encrypted document, obtains the target retrieved document, and sends it to the fog node 1108. The data user 1106 generates a conversion key and a private key, and sends the conversion key to the fog node 1108. The fog node 1108 receives the target retrieved document and the conversion key, and partially decrypts the target retrieved document based on the conversion key to obtain partially decrypted ciphertext. Then, fog node 1108 sends a portion of the decrypted ciphertext to data user 1106. Data user 1106 receives the portion of the decrypted ciphertext and, based on the data user's private key, decrypts the portion of the decrypted ciphertext to obtain the target decrypted document.

[0271] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0272] Based on the same inventive concept, embodiments of this application also provide two document storage devices for implementing the document storage method described above. The solution provided by these devices is similar to the implementation described in the above method; therefore, the specific limitations in one or more document storage device embodiments provided below can be found in the limitations of the document storage method described above, and will not be repeated here.

[0273] In one embodiment, such as Figure 13 As shown, a document storage device 1300 is provided, including: a determining module 1310, a generating module 1320, and a first sending module 1330, wherein:

[0274] The determination module 1310 is used to determine the target document and the target keywords of the target document;

[0275] The generation module 1320 is used to obtain the current counting parameter information of the target keyword and the operation information of the target document, and generate the encrypted file identifier of the target document based on the preset encryption strategy, the current counting parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keyword.

[0276] The first sending module 1330 is used to upload the encrypted file identifier of the target document to the cloud server; the cloud server is used to establish a mapping relationship between the encrypted file identifier and the target document.

[0277] Optionally, the generation module 1320 is specifically used for:

[0278] Based on the current counting parameter information, the target keyword, and the data owner's private key, a first symmetric key and a second symmetric key are generated.

[0279] Based on the first symmetric key, the second symmetric key, the operation information of the target document, the current counting parameter information, the plaintext identifier of the target document, and the public key, the keyword ciphertext of the target document is generated;

[0280] Based on the ciphertext of the keywords, the plaintext identifier of the target document, and the third symmetric key, an encrypted file identifier for the target document is generated.

[0281] Optionally, the device 1300 further includes:

[0282] The first encryption module encrypts the target document based on a public key and a linear secret sharing scheme access structure to obtain the target encrypted document;

[0283] The second sending module is used to upload the target encrypted document to the cloud server.

[0284] In one embodiment, such as Figure 14 As shown, a document storage device 1400 is provided, including: a first receiving module 1410 and a creation module 1420, wherein:

[0285] The first receiving module 1410 is used to receive the encrypted file identifier of the target document sent by the data owner; the encrypted file identifier is generated based on a preset encryption strategy, the target keyword of the target document, the plaintext identifier of the target document, the current counting parameter information of the target keyword, and the operation information of the target document.

[0286] Module 1420 is used to establish a mapping relationship between the encrypted file identifier and the target document.

[0287] Optionally, the device 1400 further includes:

[0288] The second receiving module is used to receive the target encrypted document corresponding to the target document sent by the data owner; the target encrypted document is obtained by encrypting the target document based on a public key and a linear secret sharing scheme access structure;

[0289] A storage module for storing the target encrypted document.

[0290] Optionally, the device 1400 further includes:

[0291] The third receiving module is used to receive search requests sent by data users; the search request is generated based on the data user's search keywords, the current counting parameter information of the search keywords, and a preset search request generation strategy.

[0292] The retrieval module is used to retrieve the target document from the encrypted documents uploaded by the data owner based on the search request.

[0293] Optionally, the search request includes an update count value, a first symmetric key, and a request index; the retrieval module is specifically used for:

[0294] The update count value is used as the target count value. If the target count value is not 0, the new operation and the document record identifier corresponding to the new operation are determined based on the first symmetric key, the target count value, and the public key.

[0295] Based on the requested index, determine the historical search results corresponding to the search keywords from the locally stored historical search results;

[0296] Based on the newly added operation and the document record identifier corresponding to the newly added operation, update the historical search results corresponding to the search keywords;

[0297] Subtract 1 from the target count value and return the step of determining the new operation and the document record identifier corresponding to the new operation based on the first symmetric key, the target count value, and the public key when the target count value is not 0;

[0298] Until the target count value is 0, the remaining encrypted file identifiers in the updated historical search results are used as target encrypted identifiers, and the encrypted documents corresponding to each target encrypted identifier are used as target search documents.

[0299] Optionally, the retrieval module is specifically used for:

[0300] Based on the first symmetric key, the target count value, and the public key, generate the target bit string;

[0301] Based on the target bit string, determine the keyword index of the search keyword and the remaining bit string of the target bit string;

[0302] Based on the keyword index of the search keywords, the unsearched index of the updated and unsearched ciphertext is searched to obtain the remaining bit string of the keyword ciphertext that matches the ciphertext in the updated and unsearched ciphertext.

[0303] Based on the remaining bit string of the keyword ciphertext of the hit ciphertext and the remaining bit string of the target bit string, the new operation and the document record identifier corresponding to the new operation are determined.

[0304] Optionally, the retrieval module is specifically used for:

[0305] Based on the keyword index of the search keywords, the unsearched index of the updated and unsearched ciphertext is searched to obtain the encrypted file identifier that matches the ciphertext in the updated and unsearched ciphertext.

[0306] Based on the encrypted file identifier of the hit ciphertext and the first symmetric key, the remaining bit string of the keyword ciphertext of the hit ciphertext is determined.

[0307] Optionally, the historical search results include historical document record identifiers, and the retrieval module is specifically used for:

[0308] If the newly added operation is a deletion, and there exists a historical document record identifier that is the same as the document record identifier corresponding to the newly added operation, then the historical document record identifier and the encrypted file identifier corresponding to the historical document record identifier will be removed from the historical search results corresponding to the search keyword.

[0309] If the new operation is to add, and there are historical document record identifiers that are all different from the document record identifiers corresponding to the new operation, then the document record identifiers corresponding to the new operation and the encrypted file identifiers corresponding to the document record identifiers are added to the historical search results corresponding to the search keywords.

[0310] Optionally, the device 1400 further includes:

[0311] The third sending module is used to send the target retrieval document to the fog node, so that the fog node can partially decrypt the target retrieval document according to the conversion key sent by the data user to obtain partially decrypted ciphertext, and send the partially decrypted ciphertext to the data user; the partially decrypted ciphertext is used to decrypt the target decrypted document based on the data user's private key.

[0312] Each module in the aforementioned document storage device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can invoke and execute the operations corresponding to each module.

[0313] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 15 As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When executed by the processor, the computer program implements a document storage method. The display unit is used to form a visually visible image and can be a display screen, projection device, or virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.

[0314] Those skilled in the art will understand that Figure 15 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0315] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0316] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the above method embodiments.

[0317] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0318] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0319] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0320] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0321] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A document storage method characterized by comprising: The method is applied to a data owner, and the method comprises: determining a target document and a target keyword of the target document; obtaining current count parameter information of the target keyword and operation information of the target document, and generating an encrypted file identifier of the target document based on a preset encryption strategy, the current count parameter information, the operation information of the target document, a plaintext identifier of the target document, and the target keyword; wherein the generation of the encrypted file identifier of the target document based on the preset encryption strategy, the current count parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keyword comprises: generating a first symmetric key and a second symmetric key based on the current count parameter information, the target keyword, and a private key of the data owner; generating keyword ciphertext of the target document based on the first symmetric key, the second symmetric key, the operation information of the target document, the current count parameter information, the plaintext identifier of the target document, and a public key; and generating the encrypted file identifier of the target document based on the keyword ciphertext, the plaintext identifier of the target document, and a third symmetric key; uploading the encrypted file identifier of the target document to a cloud server; the cloud server is configured to establish a mapping relationship between the encrypted file identifier and the target document.

2. The method of claim 1, wherein, The method further comprises: encrypting the target document based on a public key and a linear secret sharing scheme access structure to obtain a target encrypted document; uploading the target encrypted document to the cloud server.

3. A document encryption method characterized by, The method is applied to a cloud server, and the method comprises: receiving an encrypted file identifier of a target document sent by a data owner; the encrypted file identifier is generated based on a preset encryption strategy, a target keyword of the target document, a plaintext identifier of the target document, current count parameter information of the target keyword, and operation information of the target document; wherein the generation of the encrypted file identifier of the target document by the data owner based on the preset encryption strategy, the target keyword of the target document, the plaintext identifier of the target document, the current count parameter information of the target keyword, and the operation information of the target document comprises: generation of a first symmetric key and a second symmetric key by the data owner based on the current count parameter information, the target keyword, and a private key of the data owner; generation of keyword ciphertext of the target document by the data owner based on the first symmetric key, the second symmetric key, the operation information of the target document, the current count parameter information, the plaintext identifier of the target document, and a public key; and generation of the encrypted file identifier of the target document by the data owner based on the keyword ciphertext, the plaintext identifier of the target document, and a third symmetric key; establishing a mapping relationship between the encrypted file identifier and the target document.

4. The method of claim 3, wherein, The method further comprises: receive a target encrypted document corresponding to the target document sent by the data owner; the target encrypted document is obtained by encrypting the target document based on a public key and a linear secret sharing scheme access structure; store the target encrypted document.

5. The method of claim 3, wherein, The method further comprises: receive a search request sent by a data user; the search request is generated based on a search keyword of the data user, current count parameter information of the search keyword, and a preset search request generation strategy; based on the search request, search a target search document from the encrypted document uploaded by the data owner.

6. The method of claim 5, wherein, The search request contains an update count value, a first symmetric key and a request index, and the search of the target search document from the encrypted document uploaded by the data owner based on the search request comprises: determine a new operation and a document record identifier corresponding to the new operation based on the first symmetric key, the target count value and the public key when the target count value is not 0, taking the update count value as a target count value; based on the request index, determine the historical search result corresponding to the search keyword from the local stored historical search result; update the historical search result corresponding to the search keyword based on the new operation and the document record identifier corresponding to the new operation; subtract 1 from the target count value and return the step of determining the new operation and the document record identifier corresponding to the new operation based on the first symmetric key, the target count value and the public key when the target count value is not 0; until the target count value is 0, take the remaining encrypted file identifier in the updated historical search result as a target encrypted identifier, and take the encrypted document corresponding to each target encrypted identifier as a target search document.

7. The method of claim 6, wherein, The determination of the new operation and the document record identifier corresponding to the new operation based on the first symmetric key, the target count value and the public key comprises: generate a target bit string based on the first symmetric key, the target count value and the public key; determine the keyword index of the search keyword and the remaining bit string of the target bit string based on the target bit string; based on the keyword index of the search keyword, search the unsearched index of the updated and unsearched ciphertext to obtain the keyword ciphertext remaining bit string of the hit ciphertext in the updated and unsearched ciphertext; determine the new operation and the document record identifier corresponding to the new operation based on the keyword ciphertext remaining bit string of the hit ciphertext and the remaining bit string of the target bit string.

8. The method of claim 7, wherein, The search of the unsearched index of the updated and unsearched ciphertext based on the keyword index of the search keyword to obtain the keyword ciphertext remaining bit string of the hit ciphertext in the updated and unsearched ciphertext comprises: based on the keyword index of the search keyword, search the unsearched index of the updated and unsearched ciphertext to obtain the encrypted file identifier of the hit ciphertext in the updated and unsearched ciphertext; determine a keyword ciphertext residual bit string of the hit ciphertext based on the encrypted file identifier of the hit ciphertext and the first symmetric key.

9. The method of claim 6, wherein, The history search result includes a history document record identifier, and the history search result corresponding to the search keyword is updated based on the new operation and the document record identifier corresponding to the new operation, including: In the case of the new operation being deletion, if there is a history document record identifier identical to the document record identifier corresponding to the new operation, the history document record identifier and the encrypted file identifier corresponding to the history document record identifier are removed from the history search result corresponding to the search keyword; In the case of the new operation being addition, if each history document record identifier is different from the document record identifier corresponding to the new operation, the document record identifier corresponding to the new operation and the encrypted file identifier corresponding to the document record identifier are added to the history search result corresponding to the search keyword.

10. The method of claim 5, wherein, The method further includes: sending the target search document to the fog node, so that the fog node performs partial decryption on the target search document according to the conversion key sent by the data user to obtain a partial decryption ciphertext, and sends the partial decryption ciphertext to the data user; the partial decryption ciphertext is used to obtain a target decryption document based on the private key of the data user.

11. A document storage system characterized by, The system includes: a data owner configured to determine a target document and a target keyword of the target document, acquire current count parameter information of the target keyword and operation information of the target document, and generate an encrypted file identifier of the target document based on a preset encryption strategy, the current count parameter information, the operation information of the target document, a plaintext identifier of the target document, and the target keyword; and upload the encrypted file identifier of the target document to a cloud server. The data owner generates the encrypted file identifier of the target document based on the preset encryption strategy, the current count parameter information, the operation information of the target document, the plaintext identifier of the target document, and the target keyword, including: the data owner generates a first symmetric key and a second symmetric key based on the current count parameter information, the target keyword, and a private key of the data owner; the data owner generates keyword ciphertext of the target document based on the first symmetric key, the second symmetric key, the operation information of the target document, the current count parameter information, the plaintext identifier of the target document, and a public key; and the data owner generates the encrypted file identifier of the target document based on the keyword ciphertext, the plaintext identifier of the target document, and a third symmetric key. The cloud server is configured to receive the encrypted file identifier of the target document and establish a mapping relationship between the encrypted file identifier and the target document.

12. The system of claim 11, wherein, The data owner is further configured to: encrypt the target document based on the public key and a linear secret sharing scheme access structure to obtain a target encrypted document; and upload the target encrypted document to the cloud server; The cloud server is further configured to: receive and store the target encrypted document.

13. The system of claim 11, wherein, The system further comprises: a data user configured to generate a search request based on a search keyword, current count parameter information of the search keyword, and a preset search request generation strategy, and send the search request to the cloud server; The cloud server is further configured to: receive the search request and search for a target search document from the encrypted documents uploaded by the data owner based on the search request.

14. The system of claim 13, wherein, The system further comprises: a fog node configured to receive a conversion key and the target search document sent by the data user, perform partial decryption on the target search document based on the conversion key to obtain partial decrypted ciphertext, and send the partial decrypted ciphertext to the data user; The cloud server is further configured to: send the target search document to the fog node; The data user is further configured to: generate a conversion key and a private key of the data user based on the public key, send the conversion key to the fog node, receive the partial decrypted ciphertext, and decrypt the partial decrypted ciphertext based on the private key of the data user to obtain a target decrypted document.

15. A document storage apparatus characterized by comprising: The apparatus comprises: a determination module configured to determine a target document and a target keyword of the target document; a generation module configured to obtain current count parameter information of the target keyword and operation information of the target document, and generate an encrypted file identifier of the target document based on a preset encryption strategy, the current count parameter information, the operation information of the target document, a plaintext identifier of the target document, and the target keyword; The generation module is specifically configured to: generate a first symmetric key and a second symmetric key based on the current count parameter information, the target keyword, and a private key of a data owner; generate keyword ciphertext of the target document based on the first symmetric key, the second symmetric key, the operation information of the target document, the current count parameter information, the plaintext identifier of the target document, and a public key; and generate the encrypted file identifier of the target document based on the keyword ciphertext, the plaintext identifier of the target document, and a third symmetric key. A first sending module is configured to upload the encrypted file identifier of the target document to a cloud server, and the cloud server is configured to establish a mapping relationship between the encrypted file identifier and the target document.

16. A document encryption apparatus characterized by comprising: The apparatus comprises: A first receiving module is configured to receive an encrypted file identifier of a target document sent by a data owner, and the encrypted file identifier is generated based on a preset encryption strategy, a target keyword of the target document, a plaintext identifier of the target document, current count parameter information of the target keyword, and operation information of the target document. The encryption file identifier of the target document is generated by the data owner based on a preset encryption strategy, a target keyword of the target document, a plaintext identifier of the target document, current count parameter information of the target keyword, and operation information of the target document, including: generating, by the data owner, a first symmetric key and a second symmetric key based on the current count parameter information, the target keyword, and a private key of the data owner; generating, by the data owner, keyword ciphertext of the target document based on the first symmetric key, the second symmetric key, operation information of the target document, the current count parameter information, the plaintext identifier of the target document, and a public key; and generating, by the data owner, the encryption file identifier of the target document based on the keyword ciphertext, the plaintext identifier of the target document, and a third symmetric key; The mapping relationship between the encryption file identifier and the target document is established. 17.A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the computer device is configured to perform the method according to any one of claims 1-16. The processor executes the computer program to implement the steps of the method in any one of claims 1 to 2 or 3 to 10.

18. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 2 or 3 to 10.

19. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 2 or 3 to 10.

Citation Information

Patent Citations

  • Robust searchable symmetric encryption method and system

    CN112199698A

  • Forward security dynamic searchable encryption method and system based on XOR encryption chain

    CN115913725A

  • Searchable encryption method and device supporting outsourcing calculation and multi-user sharing

    CN116614247A