Method, device, vehicle terminal and server for establishing ciphertext index

By establishing a ciphertext index, using encrypted nodes to save document identifiers corresponding to search keywords, and constructing a document identifier linked list and a search lookup table, the problem of efficient retrieval of vehicle data on the cloud server side is solved, and efficient and secure ciphertext data retrieval is achieved.

CN115687712BActive Publication Date: 2025-09-19WEICHAI POWER CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211345265.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-31
Publication Date
2025-09-19
Estimated Expiration
2042-10-31

AI Technical Summary

Technical Problem

In the existing technology, during the encrypted retrieval process of traffic data uploaded by vehicles on the cloud server side, all data needs to be decrypted and downloaded locally for retrieval, resulting in the consumption of client computing resources of storage and computing resources, and the inability to effectively utilize the storage and computing power of the cloud, and the inability to effectively utilize the storage and computing resources of the cloud server, resulting in low efficiency.

Method used

By establishing a ciphertext index, using encrypted nodes to save document identifiers corresponding to search keywords, and constructing a document identifier linked list and a search lookup table, efficient retrieval of ciphertext data can be achieved.

Benefits of technology

It realizes retrieval through ciphertext index without decrypting data. The retrieval time complexity is only linearly related to the number of returned results, which improves retrieval efficiency and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115687712B_ABST
    Figure CN115687712B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, device, vehicle terminal, and server for establishing a ciphertext index. The method comprises: for a search keyword, obtaining all documents containing the search keyword, assigning a document identifier to each document, generating an encryption node based on the document identifier, and constructing a document identifier linked list using all the encryption nodes; for a search keyword, obtaining the storage address of the first encryption node in the document identifier linked list corresponding to the search keyword, generating a keyword query parameter corresponding to the search keyword, and generating a search lookup table element based on the storage address and the keyword query parameter; generating a search lookup table using the search lookup table elements corresponding to all the search keywords, and using the search lookup table as the ciphertext index.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to search technology, and in particular to a method, device, vehicle terminal and server for establishing a ciphertext index. Background Art

[0002] The C-V2X (Cellular Vehicle-to-Everything) technology has garnered widespread attention from both industry and academia, not only significantly reducing the probability of traffic accidents but also improving traffic efficiency and the user experience. When equipped with C-V2X, a vehicle can collect sensor data while communicating with other vehicles, roadside infrastructure, or personal mobile smart devices, and then upload this information to a cloud server. The cloud server analyzes this information using deep learning and data mining technologies to develop optimal travel plans for users and create a comfortable driving environment.

[0003] Traffic data uploaded by vehicles usually contains users' private information such as vehicle location and user identity. The open network environment and the diversity of communication types make traffic data vulnerable to various types of attacks, and users' private information is at risk of being leaked at any time.

[0004] To ensure the security of traffic data, a common technique is for users to first encrypt the data using an encryption mechanism such as AES, SM4, SM2, and then transmit the ciphertext to the cloud server. This encryption proxy method effectively solves the problem of information leakage because only the user has the decryption key, so the cloud service cannot decrypt the ciphertext message, thereby protecting the user's privacy data.

[0005] The above-mentioned encryption proxy method brings a lot of trouble to some commonly used operations of users. For example, when an authorized user needs to retrieve data, all cloud data needs to be decrypted and downloaded locally before complex search queries can be performed. This requires the client to have a large storage space and computing power, and completely fails to take advantage of the cloud collaboration and storage advantages. Summary of the Invention

[0006] The present invention provides a method, device, vehicle terminal and server for establishing a ciphertext index, so as to achieve the purpose of reducing the time complexity of retrieval and improving the security of retrieval.

[0007] In a first aspect, an embodiment of the present invention provides a method for establishing a ciphertext index, comprising:

[0008] For a search keyword, all documents containing the search keyword are obtained, a document identifier is assigned to each document, an encrypted node is generated using the document identifier, and a document identifier linked list is constructed using all the encrypted nodes;

[0009] For a search keyword, obtain the storage address of the first encrypted node in the document identification linked list corresponding to the search keyword, generate a keyword query parameter corresponding to the search keyword, and generate a search lookup table element according to the storage address and the keyword query parameter;

[0010] A search lookup table is generated using search lookup table elements corresponding to all search keywords, and the search lookup table is used as a ciphertext index.

[0011] Optionally, generating an encryption node using a document identifier includes:

[0012] Get the i-th document identifier, get the i-1-th node key, generate the i-th node key, and generate the document identifier linked list storage location parameters for the i+1-th encrypted node;

[0013] Generate an i-th node tuple by using the i-th document identifier, the i-th node key, and the document identifier linked list storage position parameter of the i+1-th encrypted node;

[0014] The i-th node tuple is encrypted using the i-1-th node key to generate an i-th encrypted node.

[0015] Optionally, generating the storage location parameters of the document identification linked list includes:

[0016] A first permutation function and a first key are obtained, and for a count value i, the count value i is permuted by the first permutation function using the first key to generate a storage location parameter of a document identification linked list of the i-th encryption node.

[0017] Optionally, building the document identifier list also includes:

[0018] After determining the storage position parameters of the document identification chain table of all encrypted nodes, determine the 0 element in the document identification chain table and obfuscate the 0 element.

[0019] Optionally, generating a search lookup table includes:

[0020] Obtaining a search keyword, a second permutation function, and a second key, and using the second permutation function and the second key to permute the search keyword to generate a search keyword permutation parameter;

[0021] The storage address and the search keyword replacement parameter are used to generate the search lookup table element through a first operation.

[0022] Optionally, generating a search lookup table using search lookup table elements corresponding to all search keywords includes:

[0023] For the i-th search lookup table element, obtain the third permutation function, the third key, and the i-th search keyword;

[0024] The third key is used to permute the i-th search keyword through the third permutation function to generate a search lookup table storage position parameter of the i-th search lookup table element in the search lookup table.

[0025] Optionally, generating the search lookup table further includes:

[0026] After determining the storage location parameters of all the search lookup table elements, the 0 element in the search lookup table is determined, and the 0 element is obfuscated.

[0027] In a second aspect, an embodiment of the present invention further provides a device for establishing a ciphertext index, including a ciphertext index construction unit, wherein the ciphertext index construction unit is configured to:

[0028] For a search keyword, all documents containing the search keyword are obtained, a document identifier is assigned to each document, an encrypted node is generated using the document identifier, and a document identifier linked list is constructed using all the encrypted nodes;

[0029] For a search keyword, obtain the storage address of the first encrypted node in the document identification linked list corresponding to the search keyword, generate a keyword query parameter corresponding to the search keyword, and generate a search lookup table element according to the storage address and the keyword query parameter;

[0030] A search lookup table is generated using search lookup table elements corresponding to all search keywords, and the search lookup table is used as a ciphertext index.

[0031] In a third aspect, an embodiment of the present invention further provides a vehicle terminal, which is communicatively connected to a server;

[0032] The vehicle terminal is used to obtain a search keyword, generate and send a keyword query parameter of the search keyword to the server;

[0033] The keyword query parameter is used to determine a search lookup table element in the search lookup table;

[0034] The search lookup table element is used to determine the storage address of the first encrypted node in the document identification linked list corresponding to the search keyword;

[0035] The storage address is used to determine the document identifier corresponding to the search keyword stored in the document identifier chain table;

[0036] The search lookup table and the document identification chain table are determined according to the method for establishing the ciphertext index described in the embodiment of the present invention.

[0037] In a fourth aspect, an embodiment of the present invention further provides a server, which is communicatively connected to the vehicle terminal, wherein the server stores a search lookup table and a document identification linked list;

[0038] The server is configured to receive a keyword query parameter sent by the vehicle terminal, and determine a search lookup table element in the search lookup table according to the keyword query parameter;

[0039] Determine the storage address of the first encrypted node in the document identification linked list corresponding to the keyword query parameter according to the search lookup table element;

[0040] Determine, according to the storage address, a document identifier corresponding to the keyword query parameter stored in the document identifier chain table;

[0041] The search lookup table and the document identification chain table are determined according to the method for establishing the ciphertext index described in the embodiment of the present invention.

[0042] Compared with the prior art, the beneficial effect of the present invention is that: the present invention proposes a method for establishing a ciphertext index, in which the document identification corresponding to the search keyword is saved through an encryption node, the encryption node is stored through a document identification linked list, and for a search keyword, a search lookup table is generated based on the storage address of the first encryption node corresponding to the search keyword, and the search lookup table is used as a ciphertext index. When the ciphertext index established by the method proposed by the present invention is used, the storage address of the first encryption node corresponding to the search keyword in the search lookup table can be determined through the search keyword, and then all the encryption nodes corresponding to the search keyword in the document identification linked list can be obtained, and finally all the documents corresponding to the search keyword are determined. When searching through the ciphertext index proposed by the present invention, the time complexity of the retrieval is only linearly related to the number of results returned, so a very high query efficiency can be obtained. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 is a flow chart of a method for establishing a ciphertext index in an embodiment;

[0044] Figure 2 is a flowchart of encryption node generation in an embodiment;

[0045] Figure 3 is a flowchart of generating elements of a search lookup table in an embodiment;

[0046] Figure 4 This is a flow chart of another method for establishing a ciphertext index in an embodiment. DETAILED DESCRIPTION

[0047] The present invention will be further described in detail below with reference to the accompanying drawings and examples. It will be understood that the specific embodiments described herein are intended only to illustrate the present invention and are not intended to limit the present invention. It should also be noted that, for ease of description, the accompanying drawings only illustrate portions relevant to the present invention, not all structures.

[0048] Example 1

[0049] Figure 1 This is a flow chart of the method for establishing a ciphertext index in the embodiment, refer to Figure 1 ,The ciphertext index establishment method includes:

[0050] S101. For a search keyword, obtain all documents containing the search keyword, assign a document identifier to each document, generate an encrypted node through a document identifier, and use all encrypted nodes to construct a document identifier linked list.

[0051] Illustratively, in this embodiment, in an application scenario, the document may be a document in a preset form of a graph, table, text, etc., and the document may include user data, manufacturer data, and other data.

[0052] Exemplarily, in this embodiment, a search keyword may be included in several documents. For a search keyword, all documents containing the search keyword should be obtained, and a unique document identifier should be assigned to each document.

[0053] Illustratively, in this embodiment, after the document identifier is determined, each document identifier is encrypted (for example, the document identifier is encrypted using a key), thereby generating a plurality of encrypted nodes.

[0054] Exemplarily, the encrypted nodes may be used as linked list elements in a linked list, that is, the encrypted nodes may be stored using a linked list. Specifically, in this embodiment, a document identification linked list may be configured to implement storage of the encrypted nodes.

[0055] Exemplarily, in this embodiment, one document identification linked list may be used to store the encrypted nodes corresponding to all search keywords, or several document identification linked lists may be configured, and one document identification linked list may be used to store the encrypted nodes corresponding to one search keyword.

[0056] S102. For a search keyword, obtain the storage address of the first encrypted node in the document identification linked list corresponding to the search keyword, generate a keyword query parameter corresponding to the search keyword, and generate a search lookup table element according to the storage address and the keyword query parameter.

[0057] Illustratively, in this embodiment, one search keyword corresponds to a plurality of encrypted nodes, wherein the first encrypted node corresponding to the search keyword is: the first encrypted node generated when generating the encrypted node.

[0058] Illustratively, in this embodiment, the storage address is used to determine a designated encrypted node stored in the document identification linked list, that is, the first encrypted node corresponding to the designated search keyword.

[0059] Illustratively, in this embodiment, the keyword query parameter may be generated by: encrypting the search keyword, or replacing the search keyword using a certain replacement rule.

[0060] Exemplarily, in this embodiment, a storage address and a keyword query parameter may be configured to form a key-value pair, and the key-value pair is used as a search lookup table element;

[0061] Alternatively, the storage address and the keyword query parameter are operated according to certain operation rules (such as shift operation, splicing operation, etc.), and the operation result is used as a search lookup table element.

[0062] S103. Generate a search lookup table using the search lookup table elements corresponding to all the search keywords, and use the search lookup table as a ciphertext index.

[0063] Illustratively, in this embodiment, the search lookup table may be a list or an array, and the search lookup table is configured to store all the search lookup table elements.

[0064] Illustratively, in this embodiment, when storing a search lookup table element, a search lookup table storage location parameter is first generated according to the search keyword, and the storage location of the lookup table element in the search lookup table is determined by the search lookup table storage location parameter.

[0065] For example, in this embodiment, the storage location parameters of the search lookup table may be generated by encrypting the search keyword, or the storage location parameters of the search lookup table may be generated by performing operations on the search keyword according to certain operation rules.

[0066] For example, in this embodiment, the search lookup table is used as follows:

[0067] When the user enters a search keyword, a keyword query parameter and a search lookup table storage location parameter are generated based on the search keyword;

[0068] Retrieving the corresponding retrieval table element from the retrieval table according to the retrieval table storage position parameter;

[0069] Using the keyword query parameter to operate on the search lookup table element to obtain the storage address contained in the search lookup table element;

[0070] The first encrypted node corresponding to the search keyword in the document identification linked list is retrieved according to the storage address, and the remaining encrypted nodes associated with the first encrypted node are retrieved based on the characteristics of the linked list (document identification linked list);

[0071] The encrypted node is decrypted to obtain the document identifier in the encrypted node, and the document containing the search keyword is determined based on the document identifier.

[0072] This embodiment proposes a method for establishing a ciphertext index, in which the document identification corresponding to the search keyword is saved through an encryption node, the encryption node is stored through a document identification linked list, and for a search keyword, a search lookup table is generated based on the storage address of the first encryption node corresponding to the search keyword, and the search lookup table is used as a ciphertext index. When the ciphertext index established by the method proposed in the present invention is used, the storage address of the first encryption node corresponding to the search keyword in the search lookup table can be determined through the search keyword, and then all the encryption nodes corresponding to the search keyword in the document identification linked list can be obtained, and finally all the documents corresponding to the search keyword are determined. When searching through the ciphertext index proposed in the present invention, the time complexity of the retrieval is only linearly related to the number of results returned, so that a very high query efficiency can be achieved.

[0073] Figure 2 This is a flowchart of encryption node generation in the embodiment, refer to Figure 2 ,exist Figure 1 Based on the scheme shown, generating an encrypted node through a document identifier includes:

[0074] S1011. Obtain the i-th document identifier, obtain the i-1-th node key, generate the i-th node key, and generate the document identifier linked list storage location parameters of the i+1-th encrypted node.

[0075] For example, in this solution, for a search keyword, it is assumed that there are N documents containing the search keyword, that is, there are N corresponding document identifiers;

[0076] The 0th node key is set to a preset key, and the 1st to N-1st node keys are set to keys randomly generated during the process of generating the document identification linked list.

[0077] Exemplarily, in this solution, (i+1) may be encrypted, or (i+1) may be operated on according to certain operation rules (such as permutation, shift, etc.) to generate the storage position parameters of the document identification linked list.

[0078] Exemplarily, in this solution, if i is equal to N, the document identification linked list storage location parameter in the encryption node is set to NULL.

[0079] Exemplarily, in this solution, the document identification linked list storage position parameter is used to determine the storage position of the subsequently generated encryption node in the document identification linked list.

[0080] S1012. Generate the i-th node tuple using the i-th document identifier, the i-th node key, and the document identifier linked list storage position parameter of the i+1-th encrypted node.

[0081] For example, in this solution, a node tuple can be a list or an array. For example, the ith document identifier is set to id(D i ), the key of the i-th node is K i , the storage location parameter of the document identification list of the i+1th encrypted node is Then the i-th node tuple N i It can be:

[0082]

[0083] S1013. Encrypt the i-th node tuple using the i-1-th node key to generate the i-th encrypted node.

[0084] For example, in this solution, the generated i-th encrypted node is stored in the document identification list In position.

[0085] For example, in this solution, after using the search lookup table to retrieve the first encrypted node corresponding to the search keyword in the document identification list according to the storage address, the encrypted node is decrypted according to the preset key, and then id (D1), K1 and

[0086] pass The storage location of the second encrypted node corresponding to the search keyword stored in the document identification linked list can be determined, and the second encrypted node can be retrieved;

[0087] After decrypting the second encrypted node using K1, we can get id(D2), K2 and

[0088] By analogy, the document identifiers corresponding to the search keywords can be determined as id(D1)~id(D N ), and then determine all documents containing the search keywords.

[0089] For example, in Figure 2 Based on the scheme shown, the storage location parameters of the generated document identification linked list include:

[0090] Obtain a first permutation function and a first key, and for a count value i, use the first permutation function and the first key to permute the count value i to generate a document identification linked list storage location parameter of the i-th encryption node.

[0091] Exemplarily, in this solution, the first key is a preset key, and the first permutation function may be a random permutation function.

[0092] Exemplarily, in this solution, the document identification linked list storage location parameter of the i-th encryption node can be generated in the following manner:

[0093] Randomly replace the value i with other values, and use the other values ​​to randomly replace one or several bits in the first key, thereby generating the document identification linked list storage position parameter of the i-th encryption node.

[0094] For example, in Figure 2 Based on the solution shown, building a document identification list also includes:

[0095] After determining the storage position parameters of the document identification linked list of all encrypted nodes, determine the 0 element in the document identification linked list and confuse the 0 element.

[0096] For example, Figure 2 In the scheme shown, the length of the document identification linked list can be customized, and the elements in the document identification linked list can be initialized to 0. When an encrypted node is generated, the encrypted node is used to replace the 0 element at the specified position;

[0097] When the number of encrypted nodes is less than the length of the document identification linked list, after all encrypted nodes are stored in the document identification linked list, there are some 0 elements in the document identification linked list. At this time, the remaining 0 elements are obfuscated.

[0098] Exemplarily, in this solution, the purpose of obfuscating the 0 elements is to eliminate the distribution pattern of the remaining 0 elements in the document identification chain list, thereby increasing the difficulty of deciphering the document identification chain list.

[0099] Figure 3 This is a flowchart of generating search table elements in the embodiment, refer to Figure 3 ,exist Figure 1 Based on the scheme shown, the elements of the generated search lookup table include:

[0100] S1021. Obtain a search keyword, a second permutation function, and a second key, and use the second permutation function and the second key to permute the search keyword to generate a search keyword permutation parameter.

[0101] Exemplarily, in this solution, the second key is a preset key, and the second permutation function completes the permutation operation on the input parameter in a fixed permutation manner.

[0102] For example, in this solution, the search keyword replacement parameters can be generated in the following manner:

[0103] The search keyword is replaced with other numerical values ​​through the second replacement function, and one or more bits in the second key are replaced with the other numerical values, thereby generating a search keyword replacement parameter.

[0104] S1022. Use the storage address and the search keyword replacement parameter to generate a search lookup table element through the first operation.

[0105] Exemplarily, in this solution, the first operation may be a shift operation, a concatenation operation, etc., and the storage address and the search keyword replacement parameter are used to generate the search lookup table element through the first operation.

[0106] Exemplarily, in this scheme, when generating a search lookup table element, the search keyword is processed by the second permutation function and the second key to obtain a search keyword permutation parameter, and a search lookup table element is generated based on the search keyword permutation parameter and the storage address corresponding to the search keyword, and then a search lookup table is generated. Based on this, the user's query intention and specific query conditions can be hidden through the search lookup table, so that the ciphertext index has better privacy protection capabilities.

[0107] exist Figure 1 Based on the scheme shown, as an implementable solution, the storage location of the retrieval lookup table element in the retrieval lookup table, i.e., the retrieval lookup table storage location parameter, can be determined in the following manner:

[0108] For the i-th search lookup table element, obtain the third permutation function, the third key, and the i-th search keyword;

[0109] The third key is used to permute the i-th search keyword through the third permutation function to generate a search lookup table storage position parameter of the i-th search lookup table element in the search lookup table.

[0110] Exemplarily, in this solution, the third key is a preset key, and the third permutation function completes the permutation operation on the input parameter in a fixed permutation manner.

[0111] For example, in this solution, the search keyword replacement parameters can be generated in the following manner:

[0112] The search keyword is replaced with other numerical values ​​through the third replacement function, and one or more bits in the third key are replaced with the other numerical values, thereby generating a storage location parameter of the search lookup table.

[0113] For example, Figure 3 Based on the scheme shown, generating a search lookup table also includes:

[0114] After determining the storage position parameters of all the search lookup table elements, the 0 element in the search lookup table is determined and the 0 element is obfuscated.

[0115] For example, Figure 3 In the scheme shown, the length of the search lookup table can be customized, and the elements in the search lookup table can be initialized to 0. When a search lookup table element is generated, the 0 element at the specified position is replaced by the search lookup table element;

[0116] When the number of search lookup table elements is less than the length of the search lookup table, after all search lookup table elements are stored in the search lookup table, there are some 0 elements in the search lookup table. At this time, the remaining 0 elements are obfuscated.

[0117] Exemplarily, in this solution, the purpose of obfuscating the 0 elements is to eliminate the distribution pattern of the remaining 0 elements in the search lookup table, thereby increasing the difficulty of deciphering the search lookup table.

[0118] Figure 4 This is a flow chart of another method for establishing a ciphertext index in the embodiment, refer to Figure 4 ,exist Figures 1 to 3 Based on the scheme shown, the method for establishing the ciphertext index can be:

[0119] S201. For a search keyword, obtain all documents containing the search keyword and assign a document identifier to each document.

[0120] S202. Obtain the i-th document identifier, obtain the i-1-th node key, and generate the i-th node key.

[0121] S203. Obtain a first permutation function and a first key, and use the first permutation function and the first key to permute the count value i to generate a storage location parameter of a document identification linked list of the i-th encryption node.

[0122] S204. Generate the i-th node tuple using the i-th document identifier, the i-th node key, and the document identifier linked list storage position parameter of the i+1-th encrypted node.

[0123] S205. Encrypt the i-th node tuple using the i-1-th node key to generate the i-th encrypted node.

[0124] For example, in this solution, when generating the i-th encryption node, Figure 2 The difference of the scheme shown is that the 0th to N-1th node keys are set as keys randomly generated in the process of generating the document identification linked list.

[0125] S206. Use all encrypted nodes to construct a document identification linked list.

[0126] S207. Obtain the search keyword, the second permutation function, and the second key, and use the second permutation function and the second key to permute the search keyword to generate a search keyword permutation parameter.

[0127] S208. Use the storage address, the 0th node key and the search keyword replacement parameter to generate a search lookup table element through the first operation.

[0128] Exemplarily, in this solution, when generating the search lookup table element, Figure 3 The difference between the schemes shown is that, in addition to the storage address and the search keyword replacement parameters, the 0th node key is also used as the basis for generating the search lookup table elements, including:

[0129] A first array is generated using the storage address and the 0th node key, and a search keyword replacement parameter is used to generate a search lookup table element through a first operation (such as a bitwise XOR operation).

[0130] S209. Obtain a third permutation function, a third key, and the i-th search keyword; use the third permutation function and the third key to permute the i-th search keyword to generate a search lookup table storage location parameter for the i-th search lookup table element.

[0131] S210. Generate a search lookup table using the search lookup table elements corresponding to all the search keywords, and use the search lookup table as a ciphertext index.

[0132] For example, in this solution, the implementation method of the steps not described is the same as Figures 1 to 3 The corresponding contents are the same.

[0133] For example, in this solution, the search lookup table is used as follows:

[0134] When the user enters a search keyword, a keyword query parameter and a search lookup table storage location parameter are generated based on the search keyword;

[0135] Retrieving the corresponding retrieval table element from the retrieval table according to the retrieval table storage position parameter;

[0136] Using the keyword query parameter to operate on the search lookup table element, the storage address and the 0th node key contained in the search lookup table element are obtained;

[0137] According to the storage address, the first encrypted node in the document identification linked list corresponding to the search keyword is retrieved;

[0138] Decrypt the first encrypted node according to the 0th node key, and then get id (D1), K1 and

[0139] pass The storage location of the second encrypted node corresponding to the search keyword stored in the document identification linked list can be determined, and the second encrypted node can be retrieved;

[0140] After decrypting the second encrypted node using K1, we can get id(D2), K2 and

[0141] By analogy, the document identifiers corresponding to the search keywords can be determined as id(D1)~id(D N ), and then determine all documents containing the search keywords.

[0142] Example 2

[0143] This embodiment provides a device for establishing a ciphertext index, including a ciphertext index building unit, which is configured to:

[0144] For a search keyword, obtain all documents containing the search keyword, assign a document identifier to each document, generate an encrypted node based on the document identifier, and use all encrypted nodes to build a document identifier linked list;

[0145] For a search keyword, obtain the storage address of the first encrypted node in the document identification linked list corresponding to the search keyword, generate a keyword query parameter corresponding to the search keyword, and generate a search lookup table element according to the storage address and the keyword query parameter;

[0146] A search lookup table is generated using search lookup table elements corresponding to all search keywords, and the search lookup table is used as a ciphertext index.

[0147] In this embodiment, the ciphertext index construction unit can be specifically configured to implement any ciphertext index establishment method recorded in Example 1. Its implementation process and beneficial effects are the same as the corresponding contents recorded in Example 1 and will not be repeated here.

[0148] Example 3

[0149] This embodiment proposes a vehicle terminal, which is configured to be in communication with a server, wherein the server is configured to store a search lookup table and a document identification link table generated by any one of the ciphertext index establishment methods in the first embodiment.

[0150] Exemplarily, in this embodiment, the vehicle terminal is configured to obtain a search keyword, generate and send a keyword query parameter (or a keyword query parameter and a search lookup table storage location parameter) of the search keyword to the server.

[0151] Exemplarily, in this embodiment, the keyword query parameters (or keyword query parameters and search lookup table storage location parameters) generated by the vehicle terminal are the same as the corresponding contents recorded in the first embodiment.

[0152] Exemplarily, in this embodiment, the server is configured to respond to a user's search request and feed back to the vehicle terminal the determined document containing the search keyword.

[0153] Example 4

[0154] This embodiment proposes a server, which is configured to be in communication connection with a vehicle terminal, and the configuration server stores a search lookup table and a document identification link table generated by any one of the ciphertext index establishment methods in the first embodiment.

[0155] Exemplarily, in this embodiment, the server is configured to receive keyword query parameters (or keyword query parameters and search lookup table storage location parameters) sent by the vehicle terminal, determine and feed back to the vehicle terminal the determined document containing the search keyword.

[0156] Illustratively, in this embodiment, the way in which the server determines the document is the same as the corresponding content recorded in the first embodiment.

[0157] Note that the above are only preferred embodiments of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments, and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments and may include many other equivalent embodiments without departing from the concept of the present invention. The scope of the present invention is determined by the scope of the appended claims.

Claims

1. A method for establishing a ciphertext index, characterized in that: include: For a search keyword, all documents containing the search keyword are obtained, a document identifier is assigned to each document, an encrypted node is generated using the document identifier, and a document identifier linked list is constructed using all the encrypted nodes; For a search keyword, obtain the storage address of the first encrypted node in the document identification linked list corresponding to the search keyword, generate a keyword query parameter corresponding to the search keyword, and generate a search lookup table element according to the storage address and the keyword query parameter; Generate a search lookup table using search lookup table elements corresponding to all search keywords, and use the search lookup table as a ciphertext index; Generating an encryption node through a document identifier includes: Get the i-th document identifier, get the i-1-th node key, generate the i-th node key, and generate the document identifier linked list storage location parameters for the i+1-th encrypted node; Generate an i-th node tuple by using the i-th document identifier, the i-th node key, and the document identifier linked list storage position parameter of the i+1-th encrypted node; Encrypting the i-th node tuple using the i-1-th node key to generate an i-th encrypted node; Generating the storage location parameters of the document identification linked list includes: A first permutation function and a first key are obtained, and for a count value i, the count value i is permuted by the first permutation function using the first key to generate a storage location parameter of a document identification linked list of the i-th encryption node.

2. The method for establishing a ciphertext index according to claim 1, wherein: Building the document identification list also includes: After determining the storage position parameters of the document identification chain table of all encrypted nodes, determine the 0 element in the document identification chain table and obfuscate the 0 element.

3. The method for establishing a ciphertext index according to claim 1, wherein: Generating the search lookup table elements includes: Obtaining a search keyword, a second permutation function, and a second key, and using the second permutation function and the second key to permute the search keyword to generate a search keyword permutation parameter; The storage address and the search keyword replacement parameter are used to generate the search lookup table element through a first operation.

4. The method for establishing a ciphertext index according to claim 3, wherein: Generating a search lookup table using search lookup table elements corresponding to all search keywords includes: For the i-th search lookup table element, obtain the third permutation function, the third key, and the i-th search keyword; The third key is used to permute the i-th search keyword through the third permutation function to generate a search lookup table storage position parameter of the i-th search lookup table element in the search lookup table.

5. The method for establishing a ciphertext index according to claim 4, wherein: Generating the search lookup table further includes: After determining the storage location parameters of all the search lookup table elements, the 0 element in the search lookup table is determined, and the 0 element is obfuscated.

6. A device for establishing a ciphertext index, characterized in that: The system comprises a ciphertext index construction unit, wherein the ciphertext index construction unit is used to: For a search keyword, all documents containing the search keyword are obtained, a document identifier is assigned to each document, an encrypted node is generated using the document identifier, and a document identifier linked list is constructed using all the encrypted nodes; For a search keyword, obtain the storage address of the first encrypted node in the document identification linked list corresponding to the search keyword, generate a keyword query parameter corresponding to the search keyword, and generate a search lookup table element according to the storage address and the keyword query parameter; Generate a search lookup table using search lookup table elements corresponding to all search keywords, and use the search lookup table as a ciphertext index; Generating an encryption node through a document identifier includes: Get the i-th document identifier, get the i-1-th node key, generate the i-th node key, and generate the document identifier linked list storage location parameters for the i+1-th encrypted node; Generate an i-th node tuple by using the i-th document identifier, the i-th node key, and the document identifier linked list storage position parameter of the i+1-th encrypted node; Encrypting the i-th node tuple using the i-1-th node key to generate an i-th encrypted node; Generating the storage location parameters of the document identification linked list includes: A first permutation function and a first key are obtained, and for a count value i, the count value i is permuted by the first permutation function using the first key to generate a storage location parameter of a document identification linked list of the i-th encryption node.

7. A vehicle terminal, characterized in that: Communicate with the server; The vehicle terminal is used to obtain a search keyword, generate and send a keyword query parameter of the search keyword to the server; The keyword query parameter is used to determine a search lookup table element in the search lookup table; The search lookup table element is used to determine the storage address of the first encrypted node in the document identification linked list corresponding to the search keyword; The storage address is used to determine the document identifier corresponding to the search keyword stored in the document identifier chain table; The search lookup table and the document identification linked list are determined according to the method for establishing a ciphertext index according to any one of claims 1-5.

8. A server, characterized in that: The server is connected to the vehicle terminal for communication, and stores a search lookup table and a document identification link table; The server is configured to receive a keyword query parameter sent by the vehicle terminal, and determine a search lookup table element in the search lookup table according to the keyword query parameter; Determine the storage address of the first encrypted node in the document identification linked list corresponding to the keyword query parameter according to the search lookup table element; Determine, according to the storage address, a document identifier corresponding to the keyword query parameter stored in the document identifier chain table; The search lookup table and the document identification linked list are determined according to the method for establishing a ciphertext index according to any one of claims 1-5.

Citation Information

Patent Citations

  • Multi-keyword plaintext and ciphertext retrieving method and device oriented to cloud storage

    CN103593476A

  • Cipher searching method based on cloud document system

    CN104408177A