A searchable symmetric encryption method and system based on block storage and compression encoding

CN117220925BActive Publication Date: 2026-10-20INSTITUTE OF INFORMATION ENGINEERING CHINESE ACADEMY OF SCIENCES
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202311084112.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-25
Publication Date
2026-10-20
Estimated Expiration
2043-08-25

AI Technical Summary

Technical Problem

但是当前可搜索对称加密系统缺少一种倒排索引磁盘IO优化方法,在相对廉价的磁盘中,实现高效、低存储开支的倒排索引组织方法

Benefits of technology

[0033]1.本方法提出一种基于磁盘存储的两级分块存储密态倒排索引结构,通过将索引存储于磁盘保障索引的可扩展性,并可以根据数据集大小配置参数块大小和块数目,其核心在于特点对于具有相同主标签的各条密态倒排索引记录,在物理空间中连续分布,使得查询任一主标签时,在磁盘中一次随机寻址,就可以顺序读取出该主标签索引的全部记录,提高密态倒排索引的检索效率和存储效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117220925B_ABST
    Figure CN117220925B_ABST
Patent Text Reader

Abstract

The application discloses a searchable symmetric encryption method and system based on block storage and compression encoding. The method comprises the following steps: 1) a user initializes parameters and generates related keys, and a cloud service provider initializes an inverted index database; 2) the user performs word segmentation on a document to be uploaded, generates an inverted index, adds the inverted index to a local inverted index cache, encrypts a file and uploads the file to the cloud service provider; 3) a document identifier list is encoded and compressed in a block unit, an encrypted inverted index is generated and uploaded to the cloud service provider; 4) the user converts a query condition into a query token for query; 5) the cloud service provider returns a query result; 6) the user decrypts and decompresses the query result to obtain document identifiers satisfying the query condition; and 7) the user retrieves an encrypted file corresponding to the document identifiers from the cloud service provider, and decrypts the encrypted file to obtain a document plaintext. The application realizes a searchable symmetric encryption technology with high space utilization and low retrieval delay in a big data scene.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a searchable symmetric encryption method and system based on block storage and compressed encoding, belonging to the field of information security. Background Technology

[0002] The explosive growth of information since 2012 heralded the arrival of the big data era. Data, as a factor of production, has permeated every industry and business function, becoming a valuable resource for enterprises. However, the rapid expansion of data volume has led to a sharp increase in storage costs. As a result, individuals, enterprises, and organizations outsource data storage to cloud storage service providers to reduce storage costs. However, outsourced storage also poses serious risks of data privacy breaches.

[0003] While traditional encryption methods can protect data confidentiality, encrypted data cannot be computed or retrieved, thus losing usability and significantly diminishing its value. In contrast, searchable symmetric encryption technology supports the retrieval of encrypted data by building encrypted indexes. Although it introduces additional overhead in building and storing intermediate data, it improves data usability while ensuring data privacy and security, and therefore has significant application value.

[0004] As data volumes grow, storing the encrypted index in memory not only suffers from weak disaster recovery and poor reliability (all data is lost in the event of a power outage), but also incurs high storage costs, making it impractical to store the entire encrypted index in memory. On the other hand, while storing the entire encrypted index on disk offers lower storage costs and higher reliability, the large number of random addressings increases data loading overhead, and inefficient disk I / O severely impacts retrieval efficiency. Therefore, the lack of an effective index organization method to improve disk I / O efficiency on disk media, where expansion costs are relatively low, limits the large-scale data expansion capabilities of searchable symmetric encryption technology and restricts its practical application scenarios.

[0005] In the field of text retrieval, finding all documents containing a specified keyword is a common requirement. Each entry in a forward index consists of a document and the keyword appearing in that document. To find all documents containing the query term, the entire forward index needs to be traversed. Each entry in an inverted index consists of a keyword and documents containing that keyword. To find all documents containing the query term, only all index entries with the query term as their key need to be searched, resulting in higher query efficiency. Inverted indexes also have wide applications in searchable symmetric encryption. For example, Chinese patents (application number: CN201780065527.4, publication number: CN109923549A), (application number: CN202211027665.2, publication number: CN115459967A), and (application number: CN202211724642.7, publication number: CN116186761A) all construct inverted indexes to support ciphertext search, realizing searchable symmetric encryption systems. However, current searchable symmetric encryption systems lack a disk I / O optimization method for inverted indexes, specifically a method for organizing inverted indexes efficiently and with low storage overhead on relatively inexpensive disks. Therefore, researching efficient inverted indexing methods for searchable symmetric encryption systems has practical significance and application value. Summary of the Invention

[0006] To address the shortcomings of existing searchable symmetric encryption mechanisms, this invention aims to provide an inverted index method with low storage space consumption and high retrieval efficiency based on block storage and compression encoding techniques. This inverted index enables a searchable symmetric encryption method that meets practical application requirements such as high disk utilization, low retrieval latency, support for dynamic index data addition, and protection of data privacy.

[0007] This invention proposes an inverted index organization method adapted to disk storage media. Through a two-level block storage technique, the storage locations of dense inverted indexes with the same keywords are more clustered in physical space, effectively improving index locality and reducing storage costs and disk I / O. Furthermore, compared to single-level block storage, it achieves similar index locality with smaller block sizes while accelerating the upload speed of dense inverted indexes and reducing storage overhead for users' local caching of inverted indexes. In addition, this invention further compresses the inverted index through compression encoding, reducing index storage costs. This inverted index optimization method is also applicable to dense inverted indexes, effectively improving the index efficiency of searchable symmetric encryption mechanisms and reducing disk I / O bottlenecks.

[0008] According to the solution provided by this invention, the specific steps of a searchable symmetric encryption method based on block storage and compression encoding are as follows:

[0009] A searchable symmetric encryption method based on block storage and compression encoding, comprising the following steps:

[0010] Users input security parameters to generate relevant keys, set block storage parameters, and cloud service providers initialize the database.

[0011] The user performs word segmentation on the document to be uploaded, builds an inverted index for the document, merges it into the user's local inverted index cache, encrypts the document with a symmetric key, and then uploads the encrypted document to the cloud service provider.

[0012] Encode the compressed document identifier in blocks and encrypt it with a symmetric key. Use another key to blind the keywords to generate the key of the encrypted inverted index, build the encrypted inverted index, and send it to the cloud service provider.

[0013] Users select query terms, use a key to generate a query token, and send it to the cloud service provider.

[0014] The cloud service provider retrieves the encrypted inverted index based on the query token and returns a set of encrypted document identifiers that meet the query conditions to the user;

[0015] Users use a symmetric key to decrypt the set of encrypted document identifiers and then decompress it to obtain document identifiers that meet the query conditions.

[0016] Users retrieve the encrypted document corresponding to the document identifier from the cloud service provider and decrypt it using a symmetric key to obtain the plaintext document.

[0017] Furthermore, the dense inverted index is constructed using a two-level block storage dense inverted index construction method suitable for storage on disk, including the following steps:

[0018] The dense inverted index contains three fields: primary label, block number, and value. The primary label is generated based on the keyword w and the label counter. The block number is the number of each block with the same primary label. The value is the set of dense document identifiers of documents containing the keyword w. The (primary label, block number) tuple uniquely identifies the set of document identifiers in the value field.

[0019] The performance of a dense inverted index is adjusted based on the potential size of the data by using the parameters block size and number of blocks. The block size is the number of document identifiers in the set of dense document identifiers stored in the value field, and the number of blocks is the maximum number of records in the table with the same primary label.

[0020] Furthermore, the cloud service provider stores a dense inverted index where records with the same primary label are stored adjacently in physical space. When querying based on the primary label field, a single random address is used to read the data of all records corresponding to that primary label.

[0021] Furthermore, even if any two keywords share the same set of document identifiers, the final encrypted set of document identifiers stored in the value field will be two different pseudo-random strings, encrypted using the key K associated with the keyword. e =F(K S ,w), where K S It is a pseudo-random key shared by all keywords, and function F is a pseudo-random function.

[0022] Furthermore, in the user's locally cached inverted index, once the number of elements in the document identifier list for any keyword reaches the block size, a record of the dense inverted index is generated for that keyword, uploaded to the cloud service provider, and the block number counter for that keyword is incremented by one; if the block number counter for the keyword is equal to the number of blocks, then the tag counter for that keyword is incremented by one, and the block number counter is cleared to zero.

[0023] Furthermore, in the process of generating each dense inverted index record, the document identifier set is first compressed using lossless encoding technology, and then the compressed result is encrypted.

[0024] Furthermore, the query token for the keyword w is F(K). T ,w), where K T Here, F is the key, and F is the pseudo-random function; the main label of the encrypted inverted index is label = H(token||c), where token is the query token, c is the label counter, and H is the hash function.

[0025] Furthermore, when a user initiates a query request to the cloud service provider, the user only needs to generate a query token once based on the query conditions. The cloud server then increments a counter to generate a primary label query inverted index. After one round of interaction with the cloud server, the user can retrieve all document identifiers that meet the query conditions.

[0026] A searchable symmetric encryption system based on block storage and compressed encoding, used to implement the method of the present invention, includes a user terminal and a cloud service provider; wherein, the user terminal includes a data processing module, an index building module, and a query module; the cloud service provider includes a storage module and a cryptographic retrieval module;

[0027] The data processing module is used to encrypt file data that needs to be outsourced and stored on the cloud service provider's end and to decrypt file data retrieved from the cloud service provider's end.

[0028] The index building module is used for document word segmentation, local cached inverted index, and generation of dense inverted index;

[0029] The query module is used to query the encrypted document identifier returned by token generation and decryption;

[0030] The storage module is used to store encrypted documents and encrypted inverted indexes;

[0031] The encrypted retrieval module is used to generate a primary tag query encrypted inverted index based on the user's query token, and return a set of encrypted document identifiers that meet the query conditions.

[0032] Key aspects of this invention include:

[0033] 1. This method proposes a two-level block storage dense inverted index structure based on disk storage. By storing the index on disk, the scalability of the index is guaranteed, and the block size and number of blocks can be configured according to the size of the dataset. Its core feature is that dense inverted index records with the same primary label are continuously distributed in physical space, so that when querying any primary label, all records of the primary label index can be read sequentially with a single random address on the disk, thereby improving the retrieval efficiency and storage efficiency of the dense inverted index.

[0034] 2. This method proposes a block-based storage approach to reduce the size of the inverted index in the user's local cache. By using a two-level index of main tag and block number, the block size is reduced without compromising index locality. Users frequently upload small blocks, and the keyword inverted index table can be built and uploaded with a smaller block size, thus reducing the user's caching overhead.

[0035] 3. This method proposes a dense inverted index compression method, which compresses the document identifier set of keywords through lossless encoding technology, thereby further reducing the storage overhead of the dense inverted index.

[0036] Compared with the prior art, the positive effects of the present invention are as follows:

[0037] 1. This invention addresses the problem in current searchable symmetric encryption systems for big data scenarios that lack a method for organizing a dense inverted index that can effectively address disk I / O bottlenecks. By constructing a two-level block storage, it effectively improves index efficiency and enhances the usability and ease of use of the searchable symmetric encryption mechanism.

[0038] 2. Traditional dense inverted indexes construct a label for each (keyword, document identifier) ​​tuple, wasting a significant amount of storage space. This invention addresses the low space utilization of traditional dense inverted indexes by using a block-based storage mechanism. Each block contains a number of document identifiers multiplied by the block size, constructing a primary label and effectively reducing the number of stored labels. For example, if the number of blocks is m, and the block size (i.e., the number of document identifiers in a block) is n, then a primary label is constructed for every mn document identifiers.

[0039] 3. This invention addresses the problem that index storage costs increase rapidly with the expansion of data scale in big data scenarios. By using encoding compression technology, it significantly reduces the size of index value fields and improves storage efficiency.

[0040] 4. This invention constructs a two-level block-based inverted index by combining the primary tag and block number fields as the primary key. Without affecting index performance, it effectively reduces the average number of elements in the document identifier set for each keyword, thus alleviating the burden on the user's local cache. Attached Figure Description

[0041] Figure 1 This is a flowchart of the method of the present invention;

[0042] Figure 2 This is a schematic diagram of the index construction method of the present invention. Detailed Implementation

[0043] To better illustrate the searchable symmetric encryption system based on block storage and compressed encoding proposed in this invention, the invention will be further described in detail below with reference to embodiments and accompanying drawings. The examples given are only for explaining the invention and are not intended to limit the scope of the invention.

[0044] Figure 1 The flowchart of this invention relates to seven stages: system initialization stage, document upload stage, encrypted inverted index generation stage, query token generation stage, query stage, document identifier decryption stage, and document retrieval stage.

[0045] The specific steps are as follows:

[0046] Step 1. System Initialization Phase. The user inputs the security parameter λ, and a pseudo-random function is used to generate a random key K. S K T Set the key, block number, and block size parameters; the cloud service provider initializes the database.

[0047] Step 2. Document Upload Stage. The user generates a document identifier (id) for the document to be uploaded, uses a tokenizer to segment the document (Doc), builds an inverted index for the document, merges it into the user's local inverted index cache, and finally encrypts the document using a symmetric key (Key) before uploading the encrypted document (C) to the cloud service provider.

[0048] Step 3. Inverted Index Generation Stage. If the number of document identifier set IDs for keyword w in the inverted index reaches the block size, encode and compress the IDs using keyword w and key K. S Generate symmetric key K e Using a symmetric key K e The encrypted and compressed document identifier set uses key K. TThe key label of the keyword w and its tag counter c are used to generate the key label of the dense inverted index, completing the construction of the dense inverted index record. The document identifier set of keyword w is cleared and the counters of keyword w are updated. Finally, the record is sent to the cloud service provider, which permanently stores the dense inverted index on the disk.

[0049] Step 4. Query Token Generation Stage. The user selects the query keyword w and uses the key K. T Generate a query token and send it to the cloud service provider to initiate a query.

[0050] Step 5. Query Phase. The cloud service provider's counter c starts from the default initial value. A primary label (label) is generated based on the query token. If the label appears in the primary label field of the encrypted inverted index, the value fields of all records whose primary label field is the label are retrieved. The counter is incremented, and the above operation is repeated to generate a new label. If the label does not appear in the primary label field of the encrypted inverted index, the query is aborted, and all retrieved value field data is returned to the user.

[0051] Step 6. Document Identifier Decryption Phase. The user uses the query term w and the key K. S Generate symmetric key K e Using key K e The query results are decrypted and then decompressed without loss to obtain a set of document identifiers that meet the query conditions.

[0052] Step 7. Document Retrieval Stage. The user retrieves the encrypted document C corresponding to the document identifier id from the cloud service provider, and decrypts it using the symmetric key Key to obtain the plaintext document Doc.

[0053] The function symbols used in each step above to generate the key, index, and query token are defined as follows: the hash function is represented by H; the pseudo-random function is represented by F; the encryption and decryption functions of the symmetric cryptography algorithm are represented by Enc and Dec, respectively; and the compression algorithm is represented by Compr.

[0054] In step 2 above, the inverted index cached by the client is a set of tuples that obtains a set of document identifiers containing the query term based on the query term.

[0055] In step 2 above, the ciphertext C is the encrypted result of the plaintext document Doc, generated using the following formula:

[0056] C = Enc(Key, Doc)

[0057] Here, Key is the symmetric key generated during system initialization in step 1.

[0058] In step 3 above, the dense inverted index supports obtaining a set of dense document identifiers containing the query term. Each record in the index is a triple consisting of the primary label, the block number, and the value e.

[0059] The formula for generating the main label (label) for the keyword 'w' is as follows:

[0060] token = F(K) T ,w)

[0061] label = H(token||c)

[0062] Where c is the tag counter for keyword w, K T It is the key generated during system initialization in step 1.

[0063] The block number is equal to the block number counter value of keyword w. After each uploaded dense inverted index record, the corresponding keyword counter is updated, and its block number counter is incremented by one; if the block number counter reaches the number of blocks, the block number counter is reset to its initial value, and the keyword tag counter is incremented by one.

[0064] The value field e of the keyword w is the encrypted result of the lossless compressed document identifier set, generated by the following formula:

[0065] K e =F(K S ,w)

[0066] e = Enc(K) e Compr(ID))

[0067] Among them, K S It is the key generated during system initialization in step 1.

[0068] In step 4 above, the formula for generating the query token (token) from the dense inverted index of the keyword 'w' is as follows:

[0069] token = F(K) T ,w)

[0070] Where K T It is the key generated during system initialization in step 1.

[0071] In step 5 above, the formula for generating the primary label of the encrypted inverted index based on the query token is as follows:

[0072] label = H(token||c)

[0073] Where 'c' is a temporary counter cached by the cloud service provider for this query.

[0074] In step 6 above, the symmetric key K for the query term w e The formula for generating it is as follows:

[0075] K e =F(K S ,w)

[0076] Among them, K S It is the key generated during system initialization in step 1.

[0077] In step 6 above, the generated key K is used. e The formula for generating the set of document identifiers (IDs) that satisfy the query conditions by decrypting query result e is as follows:

[0078] ID = Dec(K e e)

[0079] In step 7 above, the formula for generating the plaintext data Doc from the decrypted document C is as follows:

[0080] Doc = Dec(Key, C)

[0081] Here, Key is the symmetric key generated during system initialization in step 1.

[0082] Figure 2 This is a schematic diagram of the index construction of the present invention. It demonstrates that after inserting a new document, the user cached inverted index is updated and a dense inverted index record is generated for the index where the number of elements in the document identifier set reaches the block size. Then, it is uploaded and merged into the dense inverted index stored by the cloud service provider. If there are already records with the same primary label, they are merged and stored contiguously.

[0083] To better illustrate the searchable symmetric encryption method based on block storage and compressed encoding proposed in this invention, the following section provides a further explanation of the invention with specific examples, focusing on the functional flow of single-keyword queries.

[0084] To illustrate the feasibility of this concrete example, we first briefly describe its implementation. The example uses the distributed disk database Cassandra to store the encrypted inverted index and encrypted files. Its storage engine is based on log-structured merge tree technology, ensuring that indexes with the same primary label are stored contiguously in physical space. To ensure index security, the example uses the MD5 algorithm for hashing, the AES algorithm for symmetric cryptography, and a pseudo-random function by using a linear congruential generator to expand the random seed into a pseudo-random string of appropriate length. Furthermore, the example uses a variable-length encoding algorithm to achieve lossless compression.

[0085] Step 1. System Initialization. The user inputs the security parameter 128, and a pseudo-random function is used to generate a 128-bit random key K. S K T The cloud service provider initializes the encrypted data table and encrypted inverted index table, where the encrypted data table contains two fields: document identifier and encrypted document; and the encrypted inverted index table contains three fields: main tag, block number, and value.

[0086] Step 2. Upload the document. For example... Figure 2 As shown in the upper part, suppose a user wants to upload a new document named Doc, which contains two keywords, w2 and w3. The user assigns a unique ID to this document. 47 The document inverted index was used as a document identifier and then constructed. This document inverted index was then merged into the user-cached inverted index. Finally, the document Doc was symmetrically encrypted using the key Key, yielding the ciphertext C. 47 , the tuple (id) 47 C 47 It is sent to the cloud service provider and stored in the confidential file table.

[0087] Step 3. Generating the dense inverted index. For example... Figure 2 As shown, after merging the inverted index of the new document Doc, the number of document identifier set elements for keyword w3 is 3, which is equal to the block size. Therefore, the user initiates the construction of the encrypted inverted index record for keyword w3. First, based on the tag counter value of 1 and the key K... T Generate main tag H(F(K) T ,w3)||1); based on key K T Generate symmetric key K e Use variable-length encoding to compress the document identifier set {id} 42 ,id 46 ,id 47}, then use key K e The encrypted and compressed result is e2. Then, the user will use the triple (H(F(K)) T The data (w3)||1),2,e2) is uploaded to the cloud server, which stores it in a dense inverted index table, where it shares the same primary label (H(F(K)) as the existing primary label in the table. T The two records of keyword w3 are stored together consecutively. Finally, the user increments the block number counter of keyword w3 to 3, which is equal to the block number parameter, and thus resets it to the initial value of 0. At the same time, the tag counter of keyword w3 is incremented to 2.

[0088] Step 4. Query Token Generation. If a user wants to query documents containing the keyword "w3", they generate a key using the given key. TQuery token F(K) T ,w3), send to the cloud service provider to initiate the query.

[0089] Step 5. Query. The cloud service provider uses the counter c and query token F(K) to query. T ,w3) Generate main tag H(F(K) T ,w3)||c), query the primary label in the dense inverted index table and retrieve the corresponding value field data. Here, the counter c starts from 0 and increments by one each time. When c is 2, the query result of the generated primary label in the dense inverted index is empty, the query is terminated, and all retrieved value field data is returned.

[0090] Step 6. Document identifier decryption. User key K T Generate a symmetric key K from the query term w3. e Decrypt the query results returned by the cloud service provider, and then use variable-length encoding to decompress them to obtain all document identifier IDs containing the keyword w3.

[0091] Step 7. Document Retrieval. The user selects the document identifier id from the IDs. 42 This is sent to the cloud service provider. The cloud service provider then queries the confidential document table for the document identifier (id). 42 Retrieve the corresponding encrypted document field data C 42 And return it to the user. The user uses the symmetric key Key to decrypt C. 42 This yields the plaintext document.

[0092] Another embodiment of the present invention provides a searchable symmetric encryption system based on block storage and compressed encoding for implementing the method of the present invention, comprising a user terminal and a cloud service provider; wherein the user terminal includes a data processing module, an index building module, and a query module; and the cloud service provider includes a storage module and a cryptographic retrieval module.

[0093] The data processing module is used to encrypt file data that needs to be outsourced and stored on the cloud service provider's end and to decrypt file data retrieved from the cloud service provider's end.

[0094] The index building module is used for document word segmentation, local cached inverted index, and generation of dense inverted index;

[0095] The query module is used to query the encrypted document identifier returned by token generation and decryption;

[0096] The storage module is used to store encrypted documents and encrypted inverted indexes;

[0097] The encrypted retrieval module is used to generate a primary tag query encrypted inverted index based on the user's query token, and return a set of encrypted document identifiers that meet the query conditions.

[0098] The user end can be a computer, smartphone, or other device, and the cloud service provider can be a computer, server, or other device. Both the user end and the cloud service provider can include a memory and a processor. The memory stores a computer program, which is configured to be executed by the processor. The computer program includes instructions for performing each step of the method of the present invention.

[0099] Although the specific details, implementation algorithms, and accompanying drawings of the present invention have been disclosed for illustrative purposes to aid in understanding and implementing the invention, those skilled in the art will understand that various substitutions, variations, and modifications are possible without departing from the spirit and scope of the invention and the appended claims. The invention should not be limited to the content disclosed in the preferred embodiments and accompanying drawings; the scope of protection claimed by the invention is defined by the claims.

Claims

1. A searchable symmetric encryption method based on block storage and compression encoding, comprising the following steps: The user inputs security parameters, and a random key K is generated using a pseudo-random function. S K T With the Key, set the block storage parameters, and the cloud service provider initializes the database; The user performs word segmentation on the document to be uploaded, builds an inverted index for the document, merges it into the user's local inverted index cache, encrypts the document using a symmetric key Key, and then uploads the encrypted document to the cloud service provider. Using the keyword w and the random key K S Generate symmetric key K e After encoding the compressed document identifier in blocks, a symmetric key K is used. e Encryption, using a random key K T Blinded keywords are used to generate keys for the dense inverted index. The dense inverted index is then constructed and sent to the cloud service provider. During the generation of each dense inverted index record, the document identifier set is first compressed using lossless encoding technology, and then the compressed result is encrypted. The user selects a query term and uses a random key K. T Generate a query token and send it to the cloud service provider; The cloud service provider retrieves the encrypted inverted index based on the query token and returns a set of encrypted document identifiers that meet the query conditions to the user; The user uses the symmetric key K e The encrypted document identifier set is decrypted and then decompressed to obtain document identifiers that meet the query conditions; Users retrieve the encrypted document corresponding to the document identifier from the cloud service provider and decrypt it using the symmetric key Key to obtain the plaintext document. The dense inverted index is constructed using a two-level block storage dense inverted index construction method suitable for storage on disk, including the following steps: The dense inverted index contains three fields: primary tag, block number, and value. The primary tag is generated based on the keyword w and the tag counter. The block number is the number of each block with the same primary tag. The value is the set of dense document identifiers of documents containing the keyword w. The document identifiers are the set of unique identifiers of the value field composed of the primary tag and the block number. The performance of a dense inverted index is adjusted based on the potential size of the data by using the parameters block size and number of blocks; where block size is the number of document identifiers in the set of dense document identifiers stored in the value field, and number of blocks is the maximum number of records in the table with the same primary label; The cloud service provider's encrypted inverted index stores records with the same primary label that are stored adjacent to each other in physical space. When querying based on the primary label field, a single random address is used to read the data of all records corresponding to that primary label. In the user's local cached inverted index, once the number of elements in the document identifier list for any keyword reaches the block size, a record of the dense inverted index is generated for that keyword, uploaded to the cloud service provider, and the block number counter for that keyword is incremented by one; if the block number counter for the keyword is equal to the number of blocks, then the tag counter for that keyword is incremented by one, and the block number counter is cleared to zero. The query token for the keyword w is F(K). T , w), where the function F is a pseudo-random function; the main label of the dense inverted index label=H(token || c), where c is the label counter and the function H is the hash function.

2. The method as described in claim 1, characterized in that, Even if any two keywords share the same set of document identifiers, the encrypted set of document identifiers ultimately stored in the value field will be two different pseudo-random strings, encrypted using the symmetric key K associated with the keywords. e =F(K S w).

3. The method as described in claim 1, characterized in that, When a user initiates a query request to a cloud service provider, the user only needs to generate a query token once based on the query conditions. The cloud server then increments a counter to generate a primary label query inverted index. After one round of interaction with the cloud server, the user can retrieve all document identifiers that meet the query conditions.

4. A searchable symmetric encryption system based on block storage and compressed encoding, used to implement the method described in any one of claims 1 to 3, characterized in that, It includes a user terminal and a cloud service provider terminal; wherein, the user terminal includes a data processing module, an index building module, and a query module; the cloud service provider terminal includes a storage module and a cryptographic retrieval module; The data processing module is used to encrypt file data that needs to be outsourced and stored on the cloud service provider's end and to decrypt file data retrieved from the cloud service provider's end. The index building module is used for document word segmentation, local cached inverted index, and generation of dense inverted index; The query module is used to query the encrypted document identifier returned by token generation and decryption; The storage module is used to store encrypted documents and encrypted inverted indexes; The encrypted retrieval module is used to generate a primary tag query encrypted inverted index based on the user's query token, and return a set of encrypted document identifiers that meet the query conditions.

Citation Information

Patent Citations

  • Searchable symmetric encryption system and method of processing inverted index

    CN109923549A

  • Ciphertext database query method and system based on searchable encryption

    CN115459967A

  • Dynamic symmetric searchable encryption method for multi-keyword query

    CN116186761A

  • A dynamic symmetric searchable encryption method for multi-keyword query

    CN116186761B

  • Symmetrical searchable encryption method and system based on LSM

    CN113626836A