Symmetrical searchable encryption method and device in hidden search mode, equipment and medium

By using Bloom filter and obfuscated Bloom filter on cloud servers to convert secure indexes into vectors and encrypting query vectors with homomorphic encryption, the problem of search mode leakage in existing symmetric searchable encryption schemes is solved. It realizes efficient and secure search mode hiding in big data and mobile scenarios.

CN119475398APending Publication Date: 2025-02-18CETC CYBERSPACE SECURITY TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411709042.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

The existing symmetric searchable encryption scheme has been leaked in the search mode and access mode. Attackers can infer relevant information about query keywords by analyzing the search mode, and the existing hidden search mode scheme does not exist in big data scenarios and mobile scenarios. Applicable.

Method used

By using Bloom filter and obfuscated Bloom filter on a cloud server, converting secure indexes into the first vector and the second vector, and encrypting the query vector using homomorphic encryption, making it impossible for the cloud server to judge the data user to search twice Whether the keywords of the simultaneous, thus hiding the search mode.

Benefits of technology

It effectively hides the search mode, prevents attackers from analyzing the relevant information of query keywords through the search mode, improves data security, and reduces the storage and computing burden of data users. It is suitable for big data and mobile scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119475398A_ABST
    Figure CN119475398A_ABST
Patent Text Reader

Abstract

The invention discloses a symmetric searchable encryption method and device with a hidden search mode, equipment and a medium, and relates to the technical field of data retrieval, and the method comprises the following steps: obtaining an encrypted document uploaded by a data owner and a corresponding security index, respectively converting the security index into a corresponding first vector and a corresponding second vector through a bloom filter and a confusion bloom filter of the cloud server; when a keyword query vector sent by a data user is received, performing matching calculation on the first vector, the second vector and the keyword query vector based on a preset homomorphic encryption algorithm and the homomorphic encryption public key to obtain a corresponding matching calculation result; and sending a matching calculation result to the data user, so that the data user decrypts the matching calculation result by using the homomorphic encryption private key to obtain a corresponding first vector dot product result and a corresponding second vector dot product result, decrypting the first vector dot product result and the second vector dot product result by using the pseudo-random encryption shared key, and sending the decrypted result to the data user. And obtaining a corresponding plaintext document identifier set containing the keyword.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of search privacy protection technology, and in particular to a symmetric searchable encryption method, device, equipment and medium for hiding a search mode. Background Art

[0002] With the advent of the era of cloud computing and big data, data securely stored in the cloud faces the problem of ciphertext retrieval. Searchable encryption technology supports retrieval of ciphertext data without decryption, which can solve the ciphertext retrieval problem well. Compared with asymmetric searchable encryption, symmetric searchable encryption has the advantages of simple scheme structure, rich search functions and high computational efficiency. However, due to the determinism of search traps, symmetric searchable encryption schemes generally leak search patterns and access patterns. Studies have shown that some malicious attackers can analyze the relevant information of query keywords through search patterns. Therefore, it is necessary to design a symmetric searchable encryption scheme that hides the search pattern under a malicious security model.

[0003] Currently, there are very few symmetric searchable encryption schemes that can hide search patterns. The only schemes mainly include two technical routes. One is to hide search patterns by using keyword classification and shared index items and multiple ciphertext copies corresponding to the same plaintext. The other is to combine homomorphic encryption and polynomial interpolation technology to achieve randomization of search traps and keyword matching. However, the former requires data users to store a query table locally. Its computational burden, storage burden, and communication burden will increase sharply with the increase of data volume. It is not suitable for resource-constrained clients in big data scenarios and mobile scenarios. The latter requires data owners to assist in decryption online during the query process, and query users need to store keyword dictionaries and even all document identifiers. Therefore, this type of scheme requires not only data owners to be online in real time, but also data users to store a large amount of additional data. Summary of the invention

[0004] In view of this, the purpose of the present invention is to provide a symmetric searchable encryption method, device, equipment and medium for hiding search patterns, which can hide search patterns and access patterns when using keyword searches, and prevent attackers from analyzing keyword-related information through search patterns. The specific scheme is as follows:

[0005] In a first aspect, the present application discloses a symmetric searchable encryption method with hidden search mode, which is applied to a cloud server, comprising:

[0006] Obtain an encrypted document uploaded by a data owner and a corresponding security index, so as to convert the security index into a corresponding first vector and a second vector respectively through a Bloom filter and an obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting a plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on encrypted index items and target keyword tags; the encrypted index items are obtained by encrypting a target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword tag is obtained by encrypting the target keyword using a pseudo-random permutation shared key;

[0007] When receiving a keyword query vector sent by a data user, a matching calculation is performed on the first vector, the second vector, and the keyword query vector based on a preset homomorphic encryption algorithm and a homomorphic encryption public key to obtain a corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector encrypted by using a preset homomorphic encryption algorithm and a homomorphic encryption public key to encrypt the keyword vector to be queried;

[0008] The matching calculation result is sent to the data user so that the data user can decrypt the matching calculation result using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and use the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain a corresponding set of plaintext document identifiers containing keywords.

[0009] Optionally, the converting the security index into a corresponding first vector and a corresponding second vector respectively through a Bloom filter and a confused Bloom filter of the cloud server includes:

[0010] Performing hash mapping on each of the target keyword tags in the index list constructed based on the security index through the Bloom filter of the cloud server to obtain a bit vector of a preset dimension as a first vector;

[0011] The security index is input into the obfuscated Bloom filter of the cloud server in the form of a key-value pair, so that the obfuscated Bloom filter outputs a random vector corresponding to each mapping position after hash mapping as the second vector.

[0012] Optionally, before obtaining the encrypted document uploaded by the data owner and the corresponding security index, the process further includes:

[0013] A corresponding shared key is generated by the data owner according to preset encryption security parameters, and the shared key and the preset encryption security parameters are sent to the data user; wherein the shared key includes a pseudo-random permutation shared key, a pseudo-random encryption shared key, and a symmetric encryption shared key.

[0014] Optionally, the receiving a keyword query vector sent by a data user includes:

[0015] When a data user initiates a keyword query request, the keyword query request is encrypted by the data user using the pseudo-random permutation shared key to obtain a corresponding keyword tag to be queried;

[0016] Performing hash mapping on the keyword tag to be queried through a local Bloom filter on the side where the data user is located, so as to obtain a ciphertext vector of a preset dimension as the ciphertext vector to be queried;

[0017] The data user encrypts the ciphertext vector to be queried bit by bit using a preset homomorphic encryption algorithm, homomorphic encryption parameters, and a homomorphic encryption public key to obtain and send a corresponding keyword query vector to the cloud server.

[0018] Optionally, before encrypting the ciphertext vector to be queried bit by bit by the data user using a preset homomorphic encryption algorithm, homomorphic encryption parameters, and a homomorphic encryption public key, the method further includes:

[0019] Generate corresponding homomorphic encryption parameters and homomorphic encryption keys through the data user and according to preset encryption security parameters, and send the homomorphic encryption parameters and the homomorphic encryption public key to the cloud server; wherein the homomorphic encryption key includes a homomorphic encryption public key and a homomorphic encryption private key.

[0020] Optionally, the performing matching calculation on the first vector, the second vector, and the keyword query vector based on a preset homomorphic encryption algorithm and a homomorphic encryption public key to obtain a corresponding matching calculation result includes:

[0021] Based on the preset homomorphic encryption algorithm, the homomorphic encryption parameters, and the homomorphic encryption public key, the first vector and the keyword query vector are homomorphically encrypted to obtain an encrypted first matching calculation result;

[0022] Based on the preset homomorphic encryption algorithm, the homomorphic encryption parameters, and the homomorphic encryption public key, the second vector and the keyword query vector are homomorphically encrypted to obtain an encrypted second matching calculation result.

[0023] Optionally, sending the matching calculation result to the data user so that the data user decrypts the matching calculation result using a homomorphic encryption private key to obtain a corresponding first vector dot product result and a second vector dot product result, and decrypting the first vector dot product result and the second vector dot product result using the pseudo-random encryption shared key to obtain a corresponding plaintext document identifier set containing keywords, includes:

[0024] Sending the first matching calculation result and the second matching calculation result to the data user, so that the data user uses the homomorphic encryption private key to decrypt the first matching calculation result and the second matching calculation result, respectively, to obtain a first vector dot product result corresponding to the first matching calculation result and a second vector dot product result corresponding to the second matching calculation result;

[0025] When the first vector dot product result meets the preset document search condition, the second vector dot product result is decrypted using the pseudo-random encryption shared key to obtain a corresponding set of plaintext document identifiers containing keywords.

[0026] In a second aspect, the present application discloses a symmetric searchable encryption device with a hidden search mode, which is applied to a cloud server, comprising:

[0027] A vector conversion module, used to obtain the encrypted document uploaded by the data owner and the corresponding security index, so as to convert the security index into the corresponding first vector and second vector respectively through the Bloom filter and the obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting the plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on the encrypted index item and the target keyword label; the encrypted index item is obtained by encrypting the target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword label is obtained by encrypting the target keyword using a pseudo-random permutation shared key;

[0028] A search matching module, configured to perform a matching calculation on the first vector, the second vector and the keyword query vector based on a preset homomorphic encryption algorithm and a homomorphic encryption public key when receiving a keyword query vector sent by a data user, so as to obtain a corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector encrypted by using a preset homomorphic encryption algorithm and a homomorphic encryption public key to obtain the keyword vector to be queried;

[0029] A decryption module is used to send the matching calculation result to the data user so that the data user can decrypt the matching calculation result using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and use the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain a corresponding set of plaintext document identifiers containing keywords.

[0030] In a third aspect, the present application discloses an electronic device, comprising:

[0031] Memory, used to store computer programs;

[0032] A processor is used to execute the computer program to implement the steps of the aforementioned disclosed symmetric searchable encryption method with hidden search pattern.

[0033] In a fourth aspect, the present application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the steps of the aforementioned disclosed symmetric searchable encryption method with hidden search mode are implemented.

[0034] It can be seen that the present application discloses a symmetric searchable encryption method with hidden search mode, which is applied to a cloud server, including: obtaining an encrypted document uploaded by a data owner and a corresponding security index, so as to convert the security index into a corresponding first vector and a second vector respectively through a Bloom filter and an obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting a plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on encrypted index items and target keyword tags; the encrypted index item is obtained by encrypting a target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword tag is obtained by encrypting the target keyword using a pseudo-random permutation shared key; when Receive the keyword query vector sent by the data user, then perform matching calculation on the first vector, the second vector and the keyword query vector based on the preset homomorphic encryption algorithm and the homomorphic encryption public key to obtain the corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector encrypted by the preset homomorphic encryption algorithm and the homomorphic encryption public key to be queried keyword vector; send the matching calculation result to the data user, so that the data user decrypts the matching calculation result by using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and uses the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain the corresponding plaintext document identifier set containing keywords. It can be seen that by converting the security index into a vector through the Bloom filter and the obfuscated Bloom filter, the cloud server cannot determine whether the keywords searched by the data user twice are the same, thereby effectively hiding the search mode. It is difficult for malicious attackers to analyze the relevant information of the query keyword through the search pattern, which improves the security of the data. During the data transmission and calculation process, the query vector is encrypted using homomorphic encryption. The cloud server can only process ciphertext data and cannot obtain the plaintext content of the query keyword, which further enhances security. In addition, the encrypted document is encrypted using a preset symmetric encryption algorithm and a symmetric encryption shared key. Only data users with the correct key can decrypt the document, ensuring the confidentiality of the document content on the cloud server. In the process of building a secure index, the target keyword is pseudo-randomly encrypted and pseudo-randomly permuted, which increases the security of the keyword and prevents the cloud server from directly obtaining the plaintext information of the keyword. In this way, data users only need to store key data locally, without storing any other additional data, such as query tables, keyword dictionaries, etc. This reduces the storage burden of data users on resource-constrained clients in big data scenarios and mobile scenarios. Data users only involve basic decryption calculations in the query process, which has a light computational burden, improves query efficiency, and is applicable to various devices and environments. In addition, data users can complete the query process independently without the need for real-time online assistance from data owners.This improves the flexibility and convenience of queries, and users can perform query operations at any time without being restricted by the online status of the data owner. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0036] Figure 1 A flow chart of a symmetric searchable encryption method with hidden search mode disclosed in this application;

[0037] Figure 2 A framework diagram of a symmetric searchable encryption system disclosed in this application;

[0038] Figure 3 A flow chart of a symmetric searchable encryption method disclosed in this application;

[0039] Figure 4 This is a schematic diagram of the structure of a symmetric searchable encryption device with a hidden search mode disclosed in this application;

[0040] Figure 5 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0041] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0042] With the advent of the era of cloud computing and big data, data securely stored in the cloud faces the problem of ciphertext retrieval. Searchable encryption technology supports retrieval of ciphertext data without decryption, which can solve the ciphertext retrieval problem well. Compared with asymmetric searchable encryption, symmetric searchable encryption has the advantages of simple scheme structure, rich search functions and high computational efficiency. However, due to the determinism of search traps, symmetric searchable encryption schemes generally leak search patterns and access patterns. Studies have shown that some malicious attackers can analyze the relevant information of query keywords through search patterns. Therefore, it is necessary to design a symmetric searchable encryption scheme that hides the search pattern under a malicious security model.

[0043] Currently, there are very few symmetric searchable encryption schemes that can hide search patterns. The only schemes mainly include two technical routes. One is to hide search patterns by using keyword classification and shared index items and multiple ciphertext copies corresponding to the same plaintext. The other is to combine homomorphic encryption and polynomial interpolation technology to achieve randomization of search traps and keyword matching. However, the former requires data users to store a query table locally. Its computational burden, storage burden, and communication burden will increase sharply with the increase of data volume. It is not suitable for resource-constrained clients in big data scenarios and mobile scenarios. The latter requires data owners to assist in decryption online during the query process, and query users need to store keyword dictionaries and even all document identifiers. Therefore, this type of scheme requires not only data owners to be online in real time, but also data users to store a large amount of additional data.

[0044] To this end, the present invention provides a symmetric searchable encryption scheme for hiding search patterns, which can hide search patterns and access patterns when using keyword searches, thereby preventing attackers from analyzing keyword-related information through the search patterns.

[0045] Reference Figure 1 As shown, the embodiment of the present application discloses a symmetric searchable encryption method with hidden search mode, which is applied to a cloud server and includes:

[0046] Step S11: Obtain the encrypted document and the corresponding security index uploaded by the data owner, and convert the security index into the corresponding first vector and second vector respectively through the Bloom filter and the obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting the plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on the encrypted index item and the target keyword tag; the encrypted index item is obtained by encrypting the target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword tag is obtained by encrypting the target keyword using a pseudo-random permutation shared key.

[0047] In this embodiment, a symmetric searchable encryption system is constructed based on cloud servers, data owners, and data users. Figure 2As shown in FIG. 1 , the symmetric searchable encryption system described in the present method includes three entity participants and two data processing stages. In the data upload stage, the data owner uploads the encrypted personal documents and indexes to the cloud server for storage, and then the cloud server uses Bloom filter and obfuscated Bloom filter to convert the security index into two vectors. In the data search stage, the data user uses Bloom filter to generate query keyword trapdoor, and the cloud server returns the search results through the trapdoor and security index vector. During the whole process, the cloud server cannot obtain the plaintext information of the document and query keyword, and the cloud server cannot determine whether the keywords searched by the data user twice are the same, that is, the search mode is protected. The symmetric searchable encryption system is suitable for application scenarios where data is exclusive, such as personal cloud disks. In the personal cloud disk scenario, the data owner and the data user are the same user role. Before the cloud server obtains the encrypted document uploaded by the data owner and the corresponding security index, the data owner establishes an inverted index of "keyword-document" locally, and then encrypts the document and inverted index to obtain the document ciphertext and security index respectively, and finally uploads the document ciphertext and security index to the cloud server. The specific operation is as follows: the data owner of the symmetric searchable encryption system first encrypts each document input into the system to obtain an encrypted document. The preset symmetric encryption algorithm of the encrypted document can be the SKE (Symmetric Key Encryption) algorithm, and the symmetric encryption shared key is k3. The specific encryption process is to count each plaintext document to obtain a plaintext document set. Before processing the plaintext document set, each plaintext document is first input into the natural language processing system to obtain a document identifier and a keyword set, that is, a plaintext document set. , and each plaintext document ,in, is the document identifier, It is the plain text of the document. is the set of keywords for the document, is the number of keywords.

[0048] Among them, the plaintext document set contains N plaintext documents, namely , for each plaintext document in the collection , the range of i is (1, N), the data owner uses the symmetric encryption algorithm SKE to encrypt the document to obtain the encrypted document, that is, Finally, each plaintext document in the plaintext document set is encrypted using the above encryption method to obtain the corresponding encrypted document set, that is, ; Further, the union of the keyword sets of all plaintext documents is used as the keyword dictionary , where n is the number of keywords, and the set of identifiers of all documents containing keyword w in the plaintext document set is denoted as DB(w). For each keyword in the keyword dictionary W , build the corresponding index item Then we get the plaintext index table , which is the inverted index. Further, the pseudo-random permutation function π and the corresponding pseudo-random permutation shared key k1 are used to calculate the keyword label , using the pseudo-random function f and the corresponding pseudo-random encryption shared key k2 to construct a pseudo-random sequence encryption index item ,Right now , and then obtain a secure index table based on encrypted index items and keyword tags , where the security index table contains the corresponding security indexes of several documents.

[0049] In this embodiment, before obtaining the encrypted document uploaded by the data owner and the corresponding security index, it also includes: generating a corresponding shared key through the data owner and according to the preset encryption security parameters, and sending the shared key and the preset encryption security parameters to the data user; wherein the shared key includes a pseudo-random permutation shared key, a pseudo-random encryption shared key, and a symmetric encryption shared key. It can be understood that the symmetric searchable encryption system pre-selects the symmetric encryption scheme SKE=(gen,enc,dec), the Paillier homomorphic encryption scheme HE=(gen,enc,dec), the pseudo-random permutation function , where * represents a set of binary strings of arbitrary length, λ represents a cryptographic security parameter, and the pseudo-random function . The Bloom filter BF and the obfuscated Bloom filter GBF with parameters m and k are selected. The data owner generates a shared key K=(k1, k2, k3) based on the security parameter λ, where k1 is a pseudo-random permutation shared key for use with the pseudo-random permutation function π, k2 is a pseudo-random encryption shared key for use with the pseudo-random function f, and k3 is a symmetric encryption shared key for use with the symmetric encryption scheme SKE. The shared key K and the encryption security parameter λ are securely sent to the data user so that the data user can generate the Paillier encryption system parameters and the public-private key pair (pk, sk) based on the security parameter λ, and send the parameters and public key of the Paillier encryption system to the cloud server.

[0050] In this embodiment, the cloud server's Bloom filter performs hash mapping on each of the target keyword tags in the index list constructed based on the security index to obtain a bit vector of a preset dimension as the first vector; the security index is input into the obfuscated Bloom filter of the cloud server in the form of a key-value pair, so that the obfuscated Bloom filter outputs a random vector corresponding to each mapping position after hash mapping as the second vector. It can be understood that after receiving the uploaded data, the cloud server stores the document ciphertext and the security index. The cloud server then sets the keyword tag set to the ciphertext. Insert Bloom filter BF (Bloom Filter) to get m-dimensional bit vector , the security index table Insert the random vector into the Garbled Bloom Filter (GBF) as a Key-Value set , is a random number and stores the first vector and the second vector , as a security index vector.

[0051] In this embodiment, the workflow of the Bloom filter BF is as follows: After each element in the keyword tag set is mapped through k hash functions, k positions in an array are obtained, and the values ​​corresponding to these k positions are set to 1. When searching for x, x is mapped through k hash functions. If these k positions in the array are all 1, it means that x is in the set; otherwise, it means that x is not in the set. The Bloom filter maps the set into a bit array, that is, the first vector is obtained. However, the Bloom filter has an error rate, that is, elements that do not belong to the keyword tag set are mistakenly judged to belong to the set. Let m be the length of the bit array, n be the size of the set, and the error rate be ,when When , the misjudgment rate reaches the optimum.

[0052] In this embodiment, the workflow of the obfuscated Bloom filter GBF is as follows: each element (x i ,y i ) After k hash functions are mapped, k positions in an array are obtained, and random values ​​are assigned to the values ​​corresponding to these k positions. The sum of these random values ​​is required to be equal to y i, when retrieving x, if x is in the set, according to the mapping of k hash functions on x, the random values ​​corresponding to these k positions are summed to get y, and then (x, y) is in the set; otherwise y is a random value. The obfuscated Bloom filter maps the Key-Value set into a random array. The obfuscated Bloom filter not only has a false positive rate, that is, when retrieving x, x is not in the set, but the recovered y is in the set; but also there is a case of insertion failure, that is, there is an element (x i ,y i ) so that the k inserted positions have been filled with random numbers, and the sum of these k random numbers is not equal to y i , then the probability of failure in constructing a confused Bloom filter is no more than ,here , m is the length of the obfuscated Bloom filter, and n is the set size.

[0053] Step S12: When receiving the keyword query vector sent by the data user, a matching calculation is performed on the first vector, the second vector and the keyword query vector based on a preset homomorphic encryption algorithm and a homomorphic encryption public key to obtain a corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector after the keyword vector to be queried is encrypted using a preset homomorphic encryption algorithm and a homomorphic encryption public key.

[0054] In this embodiment, when a data user initiates a keyword query request, the keyword query request is encrypted by the data user using the pseudo-random permutation shared key to obtain a corresponding keyword tag to be queried; the keyword tag to be queried is hash-mapped by the local Bloom filter on the side where the data user is located to obtain a ciphertext vector of a preset dimension as the ciphertext vector to be queried; the ciphertext vector to be queried is encrypted bit by bit by the data user using a preset homomorphic encryption algorithm, homomorphic encryption parameters, and homomorphic encryption public key to obtain and send the corresponding keyword query vector to the cloud server. It can be understood that when a data user queries for a keyword w, the keyword tag to be queried is first calculated. , then add the keyword tag Insert the local Bloom filter BF to generate an m-dimensional query vector, which is the ciphertext vector to be queried. , and uses the Paillier homomorphic encryption scheme to Encrypt bit by bit to get the m-dimensional ciphertext vector , and finally search for the trapdoor, that is, the keyword query vector Send to the cloud server.

[0055] In this embodiment, the first vector and the keyword query vector are homomorphically encrypted based on the preset homomorphic encryption algorithm, the homomorphic encryption parameters, and the homomorphic encryption public key to obtain an encrypted first matching calculation result; the second vector and the keyword query vector are homomorphically encrypted based on the preset homomorphic encryption algorithm, the homomorphic encryption parameters, and the homomorphic encryption public key to obtain an encrypted second matching calculation result. It can be understood that when the cloud server receives the keyword query vector, that is, after searching for the trapdoor, it calculates the homomorphic ciphertext, that is, the first matching calculation result. and the second matching calculation result , and returns the two ciphertexts to the data user.

[0056] ;

[0057] ;

[0058] In this embodiment, before the ciphertext vector to be queried is encrypted bit by bit by the data user using a preset homomorphic encryption algorithm, homomorphic encryption parameters, and homomorphic encryption public key, it also includes: generating corresponding homomorphic encryption parameters and homomorphic encryption keys by the data user and according to preset encryption security parameters, and sending the homomorphic encryption parameters and the homomorphic encryption public key to the cloud server; wherein the homomorphic encryption key includes a homomorphic encryption public key and a homomorphic encryption private key. It can be understood that the data user generates homomorphic encryption parameters and homomorphic encryption public keys and homomorphic encryption private keys in the Paillier homomorphic encryption scheme locally according to the shared key and encryption security parameters provided by the data owner, and sends the homomorphic encryption parameters and homomorphic encryption public keys to the cloud server, so that the cloud server can perform calculations in the ciphertext state, so that the cloud server can perform search operations without knowing the plaintext of the query keyword. In this way, even if the cloud server is attacked, the content of the query keyword will not be leaked. After the data user generates a query vector from the query keyword, it uses the Paillier homomorphic encryption scheme to encrypt it bit by bit to obtain a ciphertext vector as a search trap and sends it to the cloud server. The cloud server can only calculate the ciphertext and cannot know the plaintext information, thus protecting the user's query privacy. Moreover, through homomorphic encryption, the cloud server cannot determine whether the keywords searched by the data user twice are the same. Because the search trap generated by each query is in ciphertext form, even for the same keyword, the encrypted result will have a certain degree of uncertainty, which effectively hides the search pattern and prevents malicious attackers from inferring the query keyword by analyzing the search pattern.

[0059] Step S13: Send the matching calculation result to the data user so that the data user can decrypt the matching calculation result using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and use the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain a corresponding set of plaintext document identifiers containing keywords.

[0060] In this embodiment, the first matching calculation result and the second matching calculation result are sent to the data user so that the data user can use the homomorphic encryption private key to decrypt the first matching calculation result and the second matching calculation result respectively to obtain a first vector dot product result corresponding to the first matching calculation result and a second vector dot product result corresponding to the second matching calculation result; when the first vector dot product result meets the preset document search condition, the second vector dot product result is decrypted using the pseudo-random encryption shared key to obtain a corresponding plaintext document identifier set containing keywords. It can be understood that the data user uses the homomorphic encryption private key to decrypt and , get the first vector dot product result The dot product result with the second vector .if satisfy If the condition is , and pass the key Decryption Get the document identifier set containing keyword w; otherwise, output query failure. If multiple keywords are searched, perform corresponding set operations (intersection, union, complement) on all document identifier sets according to the logical relationship (and, or, not) of the keywords, and send the results to the cloud server. The cloud server returns the ciphertext set based on the document identifier set. For each document ciphertext returned by the cloud server , the data user calculates the document plaintext, that is .

[0061] like Figure 3 As shown, in the data owner, execute 1, establish a symmetric searchable encryption system framework for the data owner, cloud server, and data user, and generate relevant shared keys, and then execute 2, establish an inverted index of "keyword-document" locally. For each document in the document set, use a symmetric encryption algorithm to encrypt the document to obtain a ciphertext set. The union of the keyword sets of all documents is used as a keyword dictionary, and for each keyword in the dictionary, a corresponding index item is constructed, where a plaintext index table is obtained. A pseudo-random permutation function is used to calculate the keyword label, and a pseudo-random function is used to construct a pseudo-random sequence encrypted index item, thereby obtaining a secure index table. Finally, the document ciphertext and the secure index are combined. Upload to the cloud server. Execute the corresponding 3. Security index vector in the cloud server and When a data user queries a keyword, execute 4 to generate a search trap. Specifically, the keyword tag of the keyword to be queried is calculated, and then the keyword tag is inserted into the Bloom filter to generate a query vector, and the Paillier homomorphic encryption scheme is used to encrypt the bit by bit to obtain a ciphertext vector of dimension, and finally the search trap is The step of sending to the cloud server. After receiving the trapdoor, the cloud server executes 5. Search: Calculate the homomorphic ciphertext of the vector inner product. Specifically, calculate the homomorphic ciphertexts separately and return the two ciphertexts to the data user. The data user executes 6. Homomorphic decryption to obtain the document identifier. Specifically, decrypt using the homomorphic private key. If certain conditions are met, it is output, and the document identifier set containing the keyword is obtained by key decryption; otherwise, the query fails. If multiple keywords are searched, the corresponding set operation is performed on all document identification sets according to the logical relationship of the keywords, and the results are sent to the cloud server. The cloud server returns the ciphertext set based on the document identifier set. For each document ciphertext returned by the cloud server, the data user executes 7. Symmetric decryption to obtain the document plaintext.

[0062] In this way, the search pattern is effectively hidden through the combination of Bloom filter, obfuscated Bloom filter and homomorphic encryption, preventing malicious attackers from inferring query keyword information by analyzing the search pattern. Data is encrypted during transmission and storage. The document is encrypted using a symmetric encryption algorithm and uploaded to the cloud server. The query vector is sent to the cloud server as a search trap door using homomorphic encryption, ensuring the confidentiality of the data. The cloud server cannot obtain the plaintext information of the document and query keywords during the whole process, which improves the security of the data. Data users only need to store key data locally, without storing other additional data, such as query tables, keyword dictionaries, etc., which reduces the storage burden. Data users only involve basic decryption calculations in the query process, and the calculation burden is light, which is suitable for resource-constrained clients, such as devices in big data scenarios and mobile scenarios. Data users can complete the query process independently without the real-time online assistance of the data owner. The flexibility and convenience of the query are improved, and users can perform query operations at any time without being restricted by the online status of the data owner. The system is suitable for application scenarios where data is exclusive, such as personal cloud disks. It can meet the user's needs for data security and privacy in a cloud storage environment.

[0063] It can be seen that the present application discloses a symmetric searchable encryption method with hidden search mode, which is applied to a cloud server, including: obtaining an encrypted document uploaded by a data owner and a corresponding security index, so as to convert the security index into a corresponding first vector and a second vector respectively through a Bloom filter and an obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting a plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on encrypted index items and target keyword tags; the encrypted index item is obtained by encrypting a target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword tag is obtained by encrypting the target keyword using a pseudo-random permutation shared key; when Receive the keyword query vector sent by the data user, then perform matching calculation on the first vector, the second vector and the keyword query vector based on the preset homomorphic encryption algorithm and the homomorphic encryption public key to obtain the corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector encrypted by the preset homomorphic encryption algorithm and the homomorphic encryption public key to be queried keyword vector; send the matching calculation result to the data user, so that the data user decrypts the matching calculation result by using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and uses the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain the corresponding plaintext document identifier set containing keywords. It can be seen that by converting the security index into a vector through the Bloom filter and the obfuscated Bloom filter, the cloud server cannot determine whether the keywords searched by the data user twice are the same, thereby effectively hiding the search mode. It is difficult for malicious attackers to analyze the relevant information of the query keyword through the search pattern, which improves the security of the data. During the data transmission and calculation process, the query vector is encrypted using homomorphic encryption. The cloud server can only process ciphertext data and cannot obtain the plaintext content of the query keyword, which further enhances security. In addition, the encrypted document is encrypted using a preset symmetric encryption algorithm and a symmetric encryption shared key. Only data users with the correct key can decrypt the document, ensuring the confidentiality of the document content on the cloud server. In the process of building a secure index, the target keyword is pseudo-randomly encrypted and pseudo-randomly permuted, which increases the security of the keyword and prevents the cloud server from directly obtaining the plaintext information of the keyword. In this way, data users only need to store key data locally, without storing any other additional data, such as query tables, keyword dictionaries, etc. This reduces the storage burden of data users on resource-constrained clients in big data scenarios and mobile scenarios. Data users only involve basic decryption calculations in the query process, which has a light computational burden, improves query efficiency, and is applicable to various devices and environments. In addition, data users can complete the query process independently without the need for real-time online assistance from data owners.This improves the flexibility and convenience of queries, and users can perform query operations at any time without being restricted by the online status of the data owner.

[0064] Reference Figure 4 As shown, the present invention also discloses a symmetric searchable encryption device with a hidden search mode, which is applied to a cloud server and includes:

[0065] The vector conversion module 11 is used to obtain the encrypted document uploaded by the data owner and the corresponding security index, so as to convert the security index into the corresponding first vector and second vector respectively through the Bloom filter and the obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting the plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on the encrypted index item and the target keyword label; the encrypted index item is obtained by encrypting the target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword label is obtained by encrypting the target keyword using a pseudo-random permutation shared key;

[0066] The search matching module 12 is used for performing matching calculation on the first vector, the second vector and the keyword query vector based on a preset homomorphic encryption algorithm and a homomorphic encryption public key when receiving the keyword query vector sent by the data user, so as to obtain a corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector encrypted by using a preset homomorphic encryption algorithm and a homomorphic encryption public key to obtain the keyword vector to be queried;

[0067] The decryption module 13 is used to send the matching calculation result to the data user so that the data user can decrypt the matching calculation result using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and use the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain a corresponding set of plaintext document identifiers containing keywords.

[0068] It can be seen that the present application discloses obtaining an encrypted document uploaded by a data owner and a corresponding security index, so as to convert the security index into a corresponding first vector and a second vector respectively through the Bloom filter and the obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting a plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on encrypted index items and target keyword tags; the encrypted index item is obtained by encrypting a target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword tag is obtained by encrypting the target keyword using a pseudo-random permutation shared key; when receiving a keyword query sent by a data user The first vector, the second vector and the keyword query vector are matched and calculated based on the preset homomorphic encryption algorithm and the homomorphic encryption public key to obtain the corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector encrypted by the preset homomorphic encryption algorithm and the homomorphic encryption public key to be queried keyword vector; the matching calculation result is sent to the data user so that the data user decrypts the matching calculation result by using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and uses the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain the corresponding plaintext document identifier set containing keywords. It can be seen that the security index is converted into a vector by using the Bloom filter and the obfuscated Bloom filter, so that the cloud server cannot determine whether the keywords searched by the data user twice are the same, thereby effectively hiding the search mode. It is difficult for malicious attackers to analyze the relevant information of the query keyword through the search mode, which improves the security of the data. In the process of data transmission and calculation, the query vector is encrypted by using homomorphic encryption. The cloud server can only process the ciphertext data and cannot obtain the plaintext content of the query keyword, which further enhances the security. Moreover, the encrypted document is encrypted using a preset symmetric encryption algorithm and a symmetric encryption shared key. Only data users with the correct key can decrypt the document, ensuring the confidentiality of the document content on the cloud server. In the process of building a secure index, the target keywords are encrypted pseudo-randomly and pseudo-randomly permuted, which increases the security of the keywords and prevents the cloud server from directly obtaining the plaintext information of the keywords. In this way, data users only need to store key data locally, without storing any other additional data, such as query tables, keyword dictionaries, etc. This reduces the storage burden of data users on resource-constrained clients in big data scenarios and mobile scenarios. The query process only involves basic decryption calculations for data users, which has a light computational burden, improves query efficiency, and is applicable to various devices and environments. In addition, data users can complete the query process independently without the need for real-time online assistance from data owners.This improves the flexibility and convenience of queries, and users can perform query operations at any time without being restricted by the online status of the data owner.

[0069] Furthermore, the present application also discloses an electronic device. Figure 5 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content in the diagram cannot be regarded as any limitation on the scope of use of the present application.

[0070] Figure 5 A schematic diagram of the structure of an electronic device 20 provided in an embodiment of the present application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the symmetric searchable encryption method of the hidden search mode disclosed in any of the aforementioned embodiments. In addition, the electronic device 20 in this embodiment may specifically be an electronic computer.

[0071] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0072] Among them, the processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 21 can be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 21 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 21 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 21 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0073] In addition, the memory 22, as a carrier for storing resources, can be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon can include an operating system 221, a computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0074] Among them, the operating system 221 is used to manage and control the hardware devices and computer programs 222 on the electronic device 20, so as to realize the operation and processing of the massive data 223 in the memory 22 by the processor 21, which can be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program that can be used to complete the symmetric searchable encryption method of the hidden search mode performed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks. In addition to data transmitted from an external device received by the electronic device, the data 223 can also include data collected by its own input and output interface 25.

[0075] Furthermore, the present application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the symmetric searchable encryption method for the hidden search mode disclosed above is implemented. For the specific steps of the method, reference may be made to the corresponding contents disclosed in the above embodiments, and no further description will be given here.

[0076] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0077] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application. The steps of the method or algorithm described in conjunction with the embodiments disclosed herein can be implemented directly with hardware, a software module executed by a processor, or a combination of the two. The software module can be placed in a random access memory RAM (Random Access Memory), memory, read-only memory ROM (Read Only Memory), electrically programmable EPROM (Electrically Programmable Read Only Memory), electrically erasable programmable EEPROM (ElectricErasable Programmable Read Only Memory), register, hard disk, removable disk, CD-ROM (CompactDisc-Read Only Memory), or any other form of storage medium known in the technical field.

[0078] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0079] The scheme provided by the present invention is introduced in detail above. Specific examples are used in this article to illustrate the principle and implementation mode of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation mode and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A symmetric searchable encryption method with hidden search mode, characterized in that: Applied to cloud servers, including: Obtain an encrypted document uploaded by a data owner and a corresponding security index, so as to convert the security index into a corresponding first vector and a second vector respectively through a Bloom filter and an obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting a plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on encrypted index items and target keyword tags; the encrypted index items are obtained by encrypting a target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword tag is obtained by encrypting the target keyword using a pseudo-random permutation shared key; When receiving a keyword query vector sent by a data user, a matching calculation is performed on the first vector, the second vector, and the keyword query vector based on a preset homomorphic encryption algorithm and a homomorphic encryption public key to obtain a corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector encrypted by using a preset homomorphic encryption algorithm and a homomorphic encryption public key to encrypt the keyword vector to be queried; The matching calculation result is sent to the data user so that the data user can decrypt the matching calculation result using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and use the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain a corresponding set of plaintext document identifiers containing keywords.

2. The symmetric searchable encryption method with hidden search mode according to claim 1, characterized in that: The converting the security index into the corresponding first vector and second vector respectively through the Bloom filter and the obfuscated Bloom filter of the cloud server comprises: Performing hash mapping on each of the target keyword tags in the index list constructed based on the security index through the Bloom filter of the cloud server to obtain a bit vector of a preset dimension as a first vector; The security index is input into the obfuscated Bloom filter of the cloud server in the form of a key-value pair, so that the obfuscated Bloom filter outputs a random vector corresponding to each mapping position after hash mapping as the second vector.

3. The symmetric searchable encryption method with hidden search mode according to claim 1 or 2, characterized in that: Before obtaining the encrypted document uploaded by the data owner and the corresponding security index, the method further includes: A corresponding shared key is generated by the data owner according to preset encryption security parameters, and the shared key and the preset encryption security parameters are sent to the data user; wherein the shared key includes a pseudo-random permutation shared key, a pseudo-random encryption shared key, and a symmetric encryption shared key.

4. The symmetric searchable encryption method with hidden search mode according to claim 3, characterized in that: The receiving of the keyword query vector sent by the data user includes: When a data user initiates a keyword query request, the keyword query request is encrypted by the data user using the pseudo-random permutation shared key to obtain a corresponding keyword tag to be queried; Hash mapping is performed on the keyword tag to be queried through a local Bloom filter on the side where the data user is located, so as to obtain a ciphertext vector of a preset dimension as the ciphertext vector to be queried; The data user encrypts the ciphertext vector to be queried bit by bit using a preset homomorphic encryption algorithm, homomorphic encryption parameters, and a homomorphic encryption public key to obtain and send a corresponding keyword query vector to the cloud server.

5. The symmetric searchable encryption method with hidden search mode according to claim 4, characterized in that: Before encrypting the ciphertext vector to be queried bit by bit by the data user using a preset homomorphic encryption algorithm, homomorphic encryption parameters, and a homomorphic encryption public key, the method further includes: Generate corresponding homomorphic encryption parameters and homomorphic encryption keys through the data user and according to preset encryption security parameters, and send the homomorphic encryption parameters and the homomorphic encryption public key to the cloud server; wherein the homomorphic encryption key includes a homomorphic encryption public key and a homomorphic encryption private key.

6. The symmetric searchable encryption method with hidden search mode according to claim 5, characterized in that: The performing matching calculation on the first vector, the second vector, and the keyword query vector based on a preset homomorphic encryption algorithm and a homomorphic encryption public key to obtain corresponding matching calculation results includes: Based on the preset homomorphic encryption algorithm, the homomorphic encryption parameters, and the homomorphic encryption public key, the first vector and the keyword query vector are homomorphically encrypted to obtain an encrypted first matching calculation result; Based on the preset homomorphic encryption algorithm, the homomorphic encryption parameters, and the homomorphic encryption public key, the second vector and the keyword query vector are homomorphically encrypted to obtain an encrypted second matching calculation result.

7. The symmetric searchable encryption method with hidden search mode according to claim 6, characterized in that: The sending of the matching calculation result to the data user so that the data user decrypts the matching calculation result using a homomorphic encryption private key to obtain a corresponding first vector dot product result and a second vector dot product result, and decrypts the first vector dot product result and the second vector dot product result using the pseudo-random encryption shared key to obtain a corresponding plaintext document identifier set containing keywords, including: Sending the first matching calculation result and the second matching calculation result to the data user, so that the data user uses the homomorphic encryption private key to decrypt the first matching calculation result and the second matching calculation result, respectively, to obtain a first vector dot product result corresponding to the first matching calculation result and a second vector dot product result corresponding to the second matching calculation result; When the first vector dot product result meets the preset document search condition, the second vector dot product result is decrypted using the pseudo-random encryption shared key to obtain a corresponding set of plaintext document identifiers containing keywords.

8. A symmetric searchable encryption device with a hidden search mode, characterized in that: Applied to cloud servers, including: A vector conversion module, used to obtain the encrypted document uploaded by the data owner and the corresponding security index, so as to convert the security index into the corresponding first vector and second vector respectively through the Bloom filter and the obfuscated Bloom filter of the cloud server; wherein the encrypted document is obtained by encrypting the plaintext document using a preset symmetric encryption algorithm and a corresponding symmetric encryption shared key; the security index is an encrypted index corresponding to the plaintext document constructed based on the encrypted index item and the target keyword label; the encrypted index item is obtained by encrypting the target keyword in the plaintext document using a pseudo-random encryption shared key, and the target keyword label is obtained by encrypting the target keyword using a pseudo-random permutation shared key; A search matching module, configured to perform a matching calculation on the first vector, the second vector and the keyword query vector based on a preset homomorphic encryption algorithm and a homomorphic encryption public key when receiving a keyword query vector sent by a data user, so as to obtain a corresponding matching calculation result; wherein the keyword query vector is a ciphertext query vector encrypted by using a preset homomorphic encryption algorithm and a homomorphic encryption public key to obtain the keyword vector to be queried; A decryption module is used to send the matching calculation result to the data user so that the data user can decrypt the matching calculation result using the homomorphic encryption private key to obtain the corresponding first vector dot product result and second vector dot product result, and use the pseudo-random encryption shared key to decrypt the first vector dot product result and the second vector dot product result to obtain a corresponding set of plaintext document identifiers containing keywords.

9. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the steps of the symmetric searchable encryption method with hidden search pattern as claimed in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: Used to store a computer program; wherein, when the computer program is executed by a processor, the steps of the symmetric searchable encryption method with hidden search mode as described in any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Searchable encryption management method and device, storage medium and electronic equipment

    CN120408657A

  • Anti-quantum searchable encryption method for confusing search mode and access mode

    CN121690556A