Privacy preserving image retrieval system

By collaborating with trusted third parties, image owners, query users, and cloud servers, and combining vector commitment technology and reversible data hiding technology to generate encryption keys, the problem of semantic attributes and feature correlation being destroyed in existing image retrieval technologies is solved, enabling fast and accurate image retrieval in the ciphertext domain.

CN121887932BActive Publication Date: 2026-05-19XIAN UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
XIAN UNIV OF POSTS & TELECOMM
Filing Date
2026-03-18
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing encryption technologies disrupt the semantic attributes and feature relevance of images in image retrieval, making it difficult to accurately calculate ciphertext feature distances and quickly locate targets in the ciphertext domain.

Method used

Through collaboration among trusted third parties, image owners, query users, and cloud servers, and by combining vector commitment technology and reversible data hiding technology, encryption keys, hidden keys, verification parameters, index key pairs, and re-encryption key pairs are generated to ensure that encryption processing and retrieval are performed without compromising the semantic attributes and feature correlation of the image.

Benefits of technology

It enables the rapid location of target images in a massive index without decryption, ensuring the security of image data and the accuracy of retrieval.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121887932B_ABST
    Figure CN121887932B_ABST
Patent Text Reader

Abstract

The application provides a privacy protection image retrieval system and relates to the technical field of image retrieval. A trusted third party is used to generate an encryption key, a hidden key, a verification parameter, an index key pair, a retrieval key pair and a re-encryption key pair; an image owner embeds a proof into a ciphertext image based on the hidden key to obtain a target image corresponding to the ciphertext image; a target image set is determined based on all target images; a cloud server obtains a plurality of search image identifiers corresponding to a query image and target images corresponding to the search image identifiers, and sends all search image identifiers and the corresponding target images to a query user. The technical scheme of the application combines vector commitment technology and reversible data hiding technology through the cooperation of the trusted third party, the image owner, the query user and the cloud server to quickly locate a target in a mass index without damaging the semantic attributes and feature correlation of the image as much as possible.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of image retrieval technology, and in particular to a privacy-preserving image retrieval system. Background Technology

[0002] With the rapid development of internet technology, the demand for storing massive amounts of image data is increasing daily. People tend to outsource these massive image data resources to cloud servers to reduce local storage and maintenance costs. However, cloud servers are often considered "semi-honest" third parties. Image data often contains sensitive information, and direct plaintext outsourcing not only faces the risk of data leakage and illegal theft but also the possibility of malicious tampering, leading to compromised data integrity. Therefore, how to achieve secure and reliable retrieval services without decryption is a primary problem that needs to be solved. Although traditional encryption technologies can ensure data confidentiality, they destroy the semantic attributes and feature relevance of images, making content-based image retrieval in the ciphertext domain extremely challenging. Therefore, how to accurately calculate ciphertext feature distances and quickly locate targets in massive indexes without decryption is a primary problem that needs to be solved. Summary of the Invention

[0003] This invention provides a privacy-preserving image retrieval system to address the problem that while encryption technologies can ensure data confidentiality, they often compromise the semantic attributes and feature relevance of images. The technical solution of this invention combines vector commitment technology and reversible data hiding technology through collaboration between a trusted third party, the image owner, the query user, and a cloud server. This allows for rapid target location within a massive index while minimizing disruption to the semantic attributes and feature relevance of the image.

[0004] This invention provides a privacy-preserving image retrieval system, comprising:

[0005] A trusted third party generates an encryption key, a hidden key, verification parameters, an index key pair, a retrieval key pair, and a re-encryption key pair; sends the encryption key, the hidden key, the verification parameters, and the index key pair to the image owner; sends the retrieval key pair to the querying user; and sends the re-encryption key pair, the index private key in the index key pair, and the retrieval private key in the retrieval key pair to the cloud server.

[0006] The image owner is responsible for determining a ciphertext index based on the plaintext image set and the index key pair; encrypting the plaintext image set based on the encryption key to obtain a ciphertext image set; for each ciphertext image in the ciphertext image set, determining the proof corresponding to the ciphertext image based on the verification parameters, and embedding the proof into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image; determining a target image set based on all the target images, and sending the ciphertext index and the target image set to the cloud server.

[0007] The cloud server is used to re-encrypt the ciphertext index based on the re-encryption public key in the re-encryption key pair and the index private key to obtain the target index corresponding to the ciphertext index.

[0008] The querying user is used to encrypt the query feature vector corresponding to the query image based on the retrieval key pair to obtain an initial query trap, and then send the initial query trap to the cloud server.

[0009] The cloud server is also used to determine a target query trap based on the re-encryption public key, the retrieval private key, and the initial query trap.

[0010] The cloud server is further configured to determine the squared secure Euclidean distance between the target query trapdoor and the centroid vector in the target index; the centroid vector is the centroid vector corresponding to the feature vector set corresponding to the plaintext image set; determine the main interval based on the squared secure Euclidean distance and the boundaries of each distance interval; the distance interval is the distance interval corresponding to the feature vector set; determine that the target query trapdoor is located at a first position in the main interval; search the target index based on the first position to obtain multiple search image identifiers corresponding to the query image and target images corresponding to each search image identifier, and send all the search image identifiers and corresponding target images to the query user.

[0011] According to the privacy-preserving image retrieval system provided by the present invention, the generation of encryption key, hidden key, verification parameters, index key pair, retrieval key pair and re-encryption key pair includes:

[0012] Generate cyclic subgroup parameters based on preset security parameters;

[0013] A random number is selected to determine the index private key corresponding to the image owner, the retrieval private key corresponding to the querying user, and the re-encryption private key corresponding to the cloud server;

[0014] Determine the index public key based on the index private key; determine the retrieval public key based on the retrieval private key; determine the re-encryption public key based on the re-encryption private key;

[0015] The index key pair is determined based on the index private key and the index public key; the retrieval key pair is determined based on the retrieval private key and the retrieval public key; the re-encryption key pair is determined based on the re-encryption private key and the re-encryption public key;

[0016] The verification parameters are determined based on a secret value and preset cyclic subgroup parameters; the secret value is determined based on random numbers.

[0017] The encryption key and the hidden key are preset.

[0018] According to the privacy-preserving image retrieval system provided by the present invention, the step of determining the ciphertext index based on the plaintext image set and the index key pair includes:

[0019] Feature extraction is performed on the plaintext image set to obtain the feature vector set corresponding to the plaintext image set;

[0020] Determine the centroid vector corresponding to the feature vector set based on the feature vector set;

[0021] For each feature vector in the feature vector set, determine the squared Euclidean distance between the feature vector and the centroid vector;

[0022] The feature vectors are sorted according to the squared Euclidean distance, and the sorted feature vectors are divided into multiple sub-feature vector sets of equal quantity. Each sub-feature vector set corresponds to a distance interval. The distance interval includes the minimum squared Euclidean distance, the maximum squared Euclidean distance, and the median squared Euclidean distance. The minimum squared Euclidean distance is the smallest squared Euclidean distance corresponding to the sub-feature vector set. The maximum squared Euclidean distance is the largest squared Euclidean distance corresponding to the sub-feature vector set. The median squared Euclidean distance is the average of the minimum squared Euclidean distance and the maximum squared Euclidean distance.

[0023] Based on all the sub-feature vector sets and their corresponding centroid vectors and distance intervals, construct the plaintext index corresponding to the plaintext image set;

[0024] The ciphertext index is obtained by encrypting the feature vector, distance interval, and centroid vector on the plaintext index based on the index key pair.

[0025] According to the privacy-preserving image retrieval system provided by the present invention, the step of constructing a plaintext index corresponding to the plaintext image set based on all the sub-feature vector sets and their corresponding centroid vectors and distance intervals includes:

[0026] For each of the aforementioned sub-feature vector sets, the sub-feature vector set is determined as the current node. If the number of feature vectors of the current node is less than or equal to a preset threshold, the current node is determined as a leaf node.

[0027] If the number of feature vectors of the current node is greater than the preset threshold, the current node is determined as an intermediate node; and the following operations are performed on each intermediate node:

[0028] Randomly select two from the feature vectors corresponding to the intermediate nodes as the first reference point and the second reference point;

[0029] Construct a hyperplane based on the first and second reference points;

[0030] For each feature vector corresponding to the intermediate node, the feature vector is divided based on the dot product of the feature vector and the normal vector of the hyperplane to obtain at least two new nodes;

[0031] The sub-index corresponding to the sub-feature vector set is obtained when the number of feature vectors of all nodes is less than or equal to the preset threshold.

[0032] The first index is determined based on the sub-indexes corresponding to all the sub-feature vector sets; the plaintext index is determined based on the first index, all the sub-feature vector sets and their corresponding centroid vectors and distance intervals.

[0033] According to the privacy-preserving image retrieval system provided by the present invention, the step of encrypting the plaintext image set based on the encryption key to obtain the ciphertext image set includes:

[0034] The plaintext image set is subjected to block compression processing to obtain a preprocessed image set;

[0035] A stream cipher encryption algorithm is used to generate a pseudo-random matrix based on the encryption key, and the pixel values ​​of each image in the preprocessed image set are XORed and encrypted based on the pseudo-random matrix to obtain the ciphertext image set.

[0036] According to a privacy-preserving image retrieval system provided by the present invention, the step of performing block compression processing on the plaintext image set to obtain a preprocessed image set includes:

[0037] For each plaintext image in the plaintext image set, a predicted value corresponding to each pixel value of the plaintext image is determined. For each pixel value, a prediction error corresponding to the pixel value is determined based on the pixel value and the predicted value corresponding to the pixel value.

[0038] The pixel value whose prediction error falls within the set range is determined as the first pixel value;

[0039] The pixel value whose prediction error does not conform to the preset range is determined as the second pixel value, and the position information of the second pixel value is recorded;

[0040] Multiple bit planes are constructed based on the prediction errors corresponding to all the first pixel values, and each bit plane is divided into blocks and rearranged to obtain the rearranged bit stream corresponding to each bit plane.

[0041] For each rearranged bitstream, the rearranged bitstream is compressed to obtain compressed data; if the data length of the compressed data is less than the data length of the rearranged bitstream, the bit plane corresponding to the rearranged bitstream is determined as the compressed bit plane; if the data length of the compressed data is greater than or equal to the data length of the rearranged bitstream, the bit plane corresponding to the rearranged bitstream is determined as the uncompressed bit plane.

[0042] Based on all the compressed bit planes, all the uncompressed bit planes, all the second pixel values ​​and the position information corresponding to all the second pixel values, a preprocessed image corresponding to the plaintext image is obtained by reconstruction.

[0043] The preprocessed image set is determined based on all of the preprocessed images.

[0044] According to a privacy-preserving image retrieval system provided by the present invention, the step of determining the proof corresponding to the ciphertext image based on the verification parameters, and embedding the proof into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image includes:

[0045] A hash value is obtained by performing a hash calculation based on the ciphertext image and the image identifier information corresponding to the ciphertext image;

[0046] Map the hash value to a positive integer, and construct a polynomial based on the positive integer;

[0047] The commitment value is determined based on the polynomial and the verification parameters;

[0048] The proof corresponding to the ciphertext image is determined based on the commitment value;

[0049] The proof is embedded into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image.

[0050] According to a privacy-preserving image retrieval system provided by the present invention, the cloud server includes a first cloud server and a second cloud server;

[0051] The step of re-encrypting the ciphertext index based on the re-encryption public key and the index private key in the re-encryption key pair to obtain the target index corresponding to the ciphertext index includes:

[0052] The first cloud server is configured to generate a first random vector, determine first decrypted data based on the first random vector, the index private key, and the ciphertext index, and send the first decrypted data to the second cloud server.

[0053] The second cloud server is used to decrypt the first decrypted data based on the index private key to obtain the second decrypted data; and to encrypt the second decrypted data based on the re-encryption public key to obtain the first encrypted data.

[0054] The first cloud server is also used to perform re-encryption calculation on the ciphertext index based on the first encrypted data to obtain the target index.

[0055] According to the privacy-preserving image retrieval system provided by the present invention, the step of encrypting the query feature vector corresponding to the query image based on the retrieval key pair to obtain an initial query trapdoor includes:

[0056] An initial query feature vector corresponding to the query image is extracted using a general multimodal neural network model. The initial query feature vector is then processed to unify its format to obtain the query feature vector.

[0057] The query feature vector is encrypted based on the retrieval key pair to obtain the initial query trapdoor;

[0058] The first cloud server is further configured to generate a second random vector, and determine third decrypted data based on the second random vector, the retrieval private key, and the initial query trapdoor; and send the third decrypted data to the second cloud server;

[0059] The second cloud server is also used to decrypt the third decrypted data based on the retrieval private key to obtain the fourth decrypted data; and to encrypt the fourth decrypted data based on the re-encryption public key to obtain the second encrypted data.

[0060] The first cloud server is also used to determine a target query trap based on the second encrypted data.

[0061] According to a privacy-preserving image retrieval system provided by the present invention, the querying user is further configured to obtain the hidden key and the verification parameters, and decrypt the target images corresponding to all the search image identifiers based on the hidden key to obtain decryption proof and multiple target encrypted images;

[0062] The target encrypted image and the corresponding search image identifier are hashed to obtain a target hash value, and the target hash value is mapped to a target positive integer;

[0063] Bilinear pairing verification is performed based on the decryption proof, the commitment value, the target positive integer, and the verification parameters to obtain the target verification result;

[0064] If the target verification result is successful, the encryption key is obtained, and all the target encrypted images are decrypted based on the encryption key to obtain similar plaintext images.

[0065] The privacy-preserving image retrieval system provided by this invention, using a trusted third party, generates an encryption key, a hidden key, verification parameters, an index key pair, a retrieval key pair, and a re-encryption key pair; sends the encryption key, the hidden key, the verification parameters, and the index key pair to the image owner; sends the retrieval key pair to the query user; and sends the re-encryption key pair, the index private key in the index key pair, and the retrieval private key in the retrieval key pair to a cloud server. The image owner determines a ciphertext index based on a plaintext image set and the index key pair; encrypts the plaintext image set based on the encryption key to obtain a ciphertext image set; for each ciphertext image in the ciphertext image set, determines the corresponding proof based on the verification parameters, and embeds the proof into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image; determines a target image set based on all the target images, and sends the ciphertext index and the target image set to the cloud server; the cloud server is used to determine the ciphertext index based on the re-encryption public key in the re-encryption key pair and the hidden key. The private key is used to re-encrypt the ciphertext index to obtain the target index corresponding to the ciphertext index. The query user is used to encrypt the query feature vector corresponding to the query image based on the retrieval key pair to obtain an initial query trapdoor, and send the initial query trapdoor to the cloud server. The cloud server is also used to determine the target query trapdoor based on the re-encryption public key, the retrieval private key, and the initial query trapdoor. The cloud server is also used to determine the squared secure Euclidean distance between the target query trapdoor and the centroid vector in the target index. The centroid vector is the centroid vector corresponding to the feature vector set corresponding to the plaintext image set. The main interval is determined based on the squared secure Euclidean distance and the boundary of each distance interval. The distance interval is the distance interval corresponding to the feature vector set. It is determined that the target query trapdoor is located at a first position in the main interval. Based on the first position, the target index is searched to obtain multiple search image identifiers corresponding to the query image and the target images corresponding to each search image identifier, and all the search image identifiers and the corresponding target images are sent to the query user. The technical solution of this invention combines vector commitment technology and reversible data hiding technology through the collaboration of trusted third parties, image owners, query users and cloud servers, so as to quickly locate the target in a massive index without destroying the semantic attributes and feature relevance of the image as much as possible. Attached Figure Description

[0066] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0067] Figure 1 This is one of the structural schematic diagrams of the privacy-protected image retrieval system provided by the present invention.

[0068] Figure 2 This is the second schematic diagram of the privacy-protected image retrieval system provided by the present invention. Detailed Implementation

[0069] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0070] To address the aforementioned problems in the prior art, this invention provides a privacy-preserving image retrieval system. Figure 1 This is one of the structural schematic diagrams of the privacy-preserving image retrieval system provided by the present invention, such as... Figure 1 As shown, the system 100 includes the following parts.

[0071] A trusted third party 110 is used to generate an encryption key, a hidden key, verification parameters, an index key pair, a retrieval key pair, and a re-encryption key pair; the encryption key, the hidden key, the verification parameters, and the index key pair are sent to the image owner; the retrieval key pair is sent to the querying user; and the re-encryption key pair, the index private key in the index key pair, and the retrieval private key in the retrieval key pair are sent to the cloud server.

[0072] The image owner 120 is configured to determine a ciphertext index based on the plaintext image set and the index key pair; encrypt the plaintext image set based on the encryption key to obtain a ciphertext image set; for each ciphertext image in the ciphertext image set, determine the proof corresponding to the ciphertext image based on the verification parameters, and embed the proof into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image; determine a target image set based on all the target images, and send the ciphertext index and the target image set to the cloud server;

[0073] The cloud server 130 is used to re-encrypt the ciphertext index based on the re-encryption public key and the index private key in the re-encryption key pair to obtain the target index corresponding to the ciphertext index.

[0074] The query user 140 is used to encrypt the query feature vector corresponding to the query image based on the retrieval key pair to obtain an initial query trap, and send the initial query trap to the cloud server;

[0075] The cloud server 130 is also used to determine a target query trap based on the re-encryption public key, the retrieval private key, and the initial query trap.

[0076] The cloud server 130 is further configured to determine the squared secure Euclidean distance between the target query trapdoor and the re-encrypted centroid vector; the centroid vector is the centroid vector corresponding to the feature vector set corresponding to the plaintext image set; determine the main interval based on the squared secure Euclidean distance and the boundaries of each distance interval; the distance interval is the distance interval corresponding to the feature vector set; determine that the target query trapdoor is located at a first position in the main interval; search the target index based on the first position to obtain multiple search image identifiers corresponding to the query image and the target image corresponding to each search image identifier, and send all the search image identifiers and the corresponding target images to the query user.

[0077] Specifically, Figure 2 This is a second schematic diagram of the privacy-protected image retrieval system provided by the present invention, as shown below. Figure 2 As shown, the cloud server also includes a first cloud server CSA and a second cloud server CSB, wherein the re-encryption private key in the re-encryption key pair includes the first encryption private key. Second encryption private key The index private key includes the first index private key. Second index private key The private key to be retrieved includes the first private key to be retrieved. Second Retrieval Private Key ,in, This indicates the user ID of the user being queried. , and Send to CSA , and The re-encryption public key in the re-encryption key pair is sent to both the CSA and the CSB.

[0078] The privacy-preserving image retrieval system provided by this invention, using a trusted third party, generates an encryption key, a hidden key, verification parameters, an index key pair, a retrieval key pair, and a re-encryption key pair; sends the encryption key, the hidden key, the verification parameters, and the index key pair to the image owner; sends the retrieval key pair to the query user; and sends the re-encryption key pair, the index private key in the index key pair, and the retrieval private key in the retrieval key pair to a cloud server. The image owner determines a ciphertext index based on a plaintext image set and the index key pair; encrypts the plaintext image set based on the encryption key to obtain a ciphertext image set; for each ciphertext image in the ciphertext image set, determines the corresponding proof based on the verification parameters, and embeds the proof into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image; determines a target image set based on all the target images, and sends the ciphertext index and the target image set to the cloud server; the cloud server is used to determine the ciphertext index based on the re-encryption public key in the re-encryption key pair and the hidden key. The private key is used to re-encrypt the ciphertext index to obtain the target index corresponding to the ciphertext index. The query user is used to encrypt the query feature vector corresponding to the query image based on the retrieval key pair to obtain an initial query trapdoor, and send the initial query trapdoor to the cloud server. The cloud server is also used to determine the target query trapdoor based on the re-encryption public key, the retrieval private key, and the initial query trapdoor. The cloud server is also used to determine the squared secure Euclidean distance between the target query trapdoor and the centroid vector in the target index. The centroid vector is the centroid vector corresponding to the feature vector set corresponding to the plaintext image set. The main interval is determined based on the squared secure Euclidean distance and the boundary of each distance interval. The distance interval is the distance interval corresponding to the feature vector set. It is determined that the target query trapdoor is located at a first position in the main interval. Based on the first position, the target index is searched to obtain multiple search image identifiers corresponding to the query image and the target images corresponding to each search image identifier, and all the search image identifiers and the corresponding target images are sent to the query user. The technical solution of this invention combines vector commitment technology and reversible data hiding technology through the collaboration of trusted third parties, image owners, query users and cloud servers, so as to quickly locate the target in a massive index without destroying the semantic attributes and feature relevance of the image as much as possible.

[0079] In one embodiment, generating the encryption key, hidden key, verification parameters, index key pair, retrieval key pair, and re-encryption key pair includes:

[0080] Generate cyclic subgroup parameters based on preset security parameters;

[0081] A random number is selected to determine the index private key corresponding to the image owner, the retrieval private key corresponding to the querying user, and the re-encryption private key corresponding to the cloud server;

[0082] Determine the index public key based on the index private key; determine the retrieval public key based on the retrieval private key; determine the re-encryption public key based on the re-encryption private key;

[0083] The index key pair is determined based on the index private key and the index public key; the retrieval key pair is determined based on the retrieval private key and the retrieval public key; the re-encryption key pair is determined based on the re-encryption private key and the re-encryption public key;

[0084] The verification parameters are determined based on a secret value and preset cyclic subgroup parameters; the secret value is determined based on random numbers.

[0085] The encryption key and the hidden key are preset.

[0086] Specifically, a trusted third party (TA) can base its actions on preset security parameters. Generate cyclic subgroup parameters ,in, express generator, express Order, Represents the modulus. and All are large prime numbers ( Bit, (bits), to ensure the difficulty of the discrete logarithm problem.

[0087] Different random numbers can be selected to determine the index private key corresponding to the image owner, and the retrieval private key corresponding to the user and the re-encryption private key corresponding to the cloud server can be retrieved. Then, the index public key can be determined based on the index private key; the retrieval public key can be determined based on the retrieval private key; and the re-encryption public key can be determined based on the re-encryption private key. For example, selecting random numbers... and Record the index private key as and It can calculate public key parameters. Public key parameters This leads to the determination of the index public key. and ,in, .

[0088] Furthermore, based on the index private key and index public key Determine the index key pair Based on retrieving the private key and retrieve public key Determine the retrieval key pair Based on re-encrypted private key And re-encryption public key Determine the re-encryption key pair .

[0089] Assume the preset cyclic subgroup parameters are and , and Satisfy bilinear mapping , Represents a bilinear mapping. This represents the target group of the bilinear mapping. and The corresponding generators are respectively and The secret value can be determined in advance based on random numbers. , Modulus Within a finite field, the secret value can be destroyed immediately after its generation; thus, a public reference string can be constructed based on the secret value. ,in, This indicates the number of plaintext images in the plaintext image set. Constructing a polynomial The maximum possible number of times. Validation parameters include... , , , and public reference strings .

[0090] In addition, encryption key and hidden key It is preset.

[0091] In the above embodiments, the encryption key, hidden key, verification parameters, index key pair, retrieval key pair and re-encryption key pair lay the foundation for accurate retrieval of encrypted images.

[0092] In one embodiment, determining the ciphertext index based on the plaintext image set and the index key pair includes:

[0093] Feature extraction is performed on the plaintext image set to obtain the feature vector set corresponding to the plaintext image set;

[0094] Determine the centroid vector corresponding to the feature vector set based on the feature vector set;

[0095] For each feature vector in the feature vector set, determine the squared Euclidean distance between the feature vector and the centroid vector;

[0096] The feature vectors are sorted according to the squared Euclidean distance, and the sorted feature vectors are divided into multiple sub-feature vector sets of equal quantity. Each sub-feature vector set corresponds to a distance interval. The distance interval includes the minimum squared Euclidean distance, the maximum squared Euclidean distance, and the median squared Euclidean distance. The minimum squared Euclidean distance is the smallest squared Euclidean distance corresponding to the sub-feature vector set. The maximum squared Euclidean distance is the largest squared Euclidean distance corresponding to the sub-feature vector set. The median squared Euclidean distance is the average of the minimum squared Euclidean distance and the maximum squared Euclidean distance.

[0097] Based on all the sub-feature vector sets and their corresponding centroid vectors and distance intervals, construct the plaintext index corresponding to the plaintext image set;

[0098] The ciphertext index is obtained by encrypting the feature vector, distance interval, and centroid vector on the plaintext index based on the index key pair.

[0099] Specifically, the image owner can use a general multimodal neural network model (such as the Contrastive Language-Image Pre-training, CLIP model) to extract features from the plaintext image set, thus obtaining the plaintext image set. Corresponding feature vector set When determining the feature vector set, the format of each dimension of the generated feature vector can be standardized: the image owner performs L2 normalization on the feature vector, multiplies each dimension by a scaling factor, and rounds the data in each dimension. The centroid vector corresponding to the feature vector set can also be determined based on the feature vector set. The average value of all eigenvectors in the same dimension is the value of the centroid vector in that dimension.

[0100] For each eigenvector in the eigenvector set, determine the squared Euclidean distance between that eigenvector and its centroid vector, and sort the eigenvectors according to the squared Euclidean distance, which can be done in ascending order. Then, divide the sorted eigenvectors into multiple equal sub-eigenvector sets. Each sub-feature vector set corresponds to a distance interval. The distance interval includes the minimum Euclidean distance squared. Maximum Euclidean distance squared and the square of the Euclidean distance in the middle The minimum Euclidean distance squared is the smallest Euclidean distance squared corresponding to this sub-feature vector set (i.e., the smallest Euclidean distance squared among all feature vectors in this sub-feature vector set to the centroid vector), the maximum Euclidean distance squared is the largest Euclidean distance squared corresponding to this sub-feature vector set (i.e., the largest Euclidean distance squared among all feature vectors in this sub-feature vector set to the centroid vector), and the middle Euclidean distance squared is the average of the minimum and maximum Euclidean distance squared. It should be noted that the right interval of the distance interval corresponding to the last sorted sub-feature vector set can be set to positive infinity to ensure that the query is always valid.

[0101] Based on all sub-feature vector sets and their corresponding centroid vectors and distance intervals, a plaintext index is constructed for the plaintext image set. After obtaining the plaintext index, the feature vectors, distance intervals, and centroid vectors on the plaintext index can be encrypted using the public key in the index key pair to obtain the ciphertext index. This process can be represented by the following formula:

[0102]

[0103] in, This represents the data for each dimension of the feature vector and centroid vector that need to be encrypted, as well as the data for the distance interval. Represents a random number. and Both represent parameters in the index public key.

[0104] In the above embodiments, the determination of the ciphertext index lays the foundation for encrypted image retrieval.

[0105] In one embodiment, constructing the plaintext index corresponding to the plaintext image set based on all the sub-feature vector sets and their corresponding centroid vectors and distance intervals includes:

[0106] For each of the aforementioned sub-feature vector sets, the sub-feature vector set is determined as the current node. If the number of feature vectors of the current node is less than or equal to a preset threshold, the current node is determined as a leaf node.

[0107] If the number of feature vectors of the current node is greater than the preset threshold, the current node is determined as an intermediate node; and the following operations are performed on each intermediate node:

[0108] Randomly select two from the feature vectors corresponding to the intermediate nodes as the first reference point and the second reference point;

[0109] Construct a hyperplane based on the first and second reference points;

[0110] For each feature vector corresponding to the intermediate node, the feature vector is divided based on the dot product of the feature vector and the normal vector of the hyperplane to obtain at least two new nodes;

[0111] The sub-index corresponding to the sub-feature vector set is obtained when the number of feature vectors of all nodes is less than or equal to the preset threshold.

[0112] The first index is determined based on the sub-indexes corresponding to all the sub-feature vector sets; the plaintext index is determined based on the first index, all the sub-feature vector sets and their corresponding centroid vectors and distance intervals.

[0113] Specifically, for each sub-feature vector set, the sub-feature vector set is determined as the current node, and the number of feature vectors in the current node is less than or equal to a preset threshold. In this case, the current node is determined as a leaf node, meaning that the node does not need to be further divided.

[0114] The number of feature vectors at the current node is greater than a preset threshold. In this case, the current node is determined as an intermediate node; and the following operations are performed on each intermediate node:

[0115] Randomly select two features from the feature vectors corresponding to the intermediate nodes as the first and second reference points. For example, the first reference point is denoted as... The second reference point is denoted as Therefore, we can construct a path that passes through the origin and bisects... and The hyperplane with the included angle, and the normal vector of the hyperplane. .

[0116] For each feature vector corresponding to the intermediate node, based on the feature vector dot product of the normal vector of the hyperplane The feature vector is partitioned to obtain at least two new nodes. This can be achieved through... Positive and negative judgments distance Closer or Distance Closer, if ,but and More closely, can Divide to the new left node ,like ,but and More closely, can Assign to the new right node For nodes after partitioning, if they are still intermediate nodes, the above operation continues until the number of feature vectors of all nodes is less than or equal to a preset threshold, at which point the sub-index corresponding to the sub-feature vector set is obtained. It should be noted that since the reference point is randomly selected, one sub-feature vector set can correspond to multiple sub-indexes with different reference points. The root node in the index contains the identification information of all feature vectors under the feature vector set.

[0117] Furthermore, the first index can be determined based on the sub-indices corresponding to all sub-feature vector sets. It's easy to understand that the first index mentioned above uses the Annoy index; Annoy is an open-source library for approximate nearest neighbor search in high-dimensional spaces. The plaintext index is determined based on the first index, all sub-feature vector sets and their corresponding centroid vectors, and the distance intervals corresponding to all sub-feature vector sets.

[0118] In the above embodiments, the Annoy index achieves a good balance between query speed and memory consumption.

[0119] In one embodiment, encrypting the plaintext image set based on the encryption key to obtain the ciphertext image set includes:

[0120] The plaintext image set is subjected to block compression processing to obtain a preprocessed image set;

[0121] A stream cipher encryption algorithm is used to generate a pseudo-random matrix based on the encryption key, and the pixel values ​​of each image in the preprocessed image set are XORed and encrypted based on the pseudo-random matrix to obtain the ciphertext image set.

[0122] Specifically, the plaintext image set can be segmented and compressed to obtain a preprocessed image set. Then, a stream cipher encryption algorithm can be used to generate a pseudo-random matrix based on the encryption key. Based on this pseudo-random matrix, each bit of the pixel value of each image in the preprocessed image set is XORed and encrypted. This process can be represented by the following formula:

[0123]

[0124] in, Indicates the location of the encrypted image at the th Line number The 8-bit binary bitstream of the column pixel values Bit, Indicates the position of the preprocessed image at the th Line number The 8-bit binary bitstream of the column pixel values Bit, Describes the first... Line number The 8-bit binary bitstream of the column pixel values Bit.

[0125] Ultimately, a set of encrypted images can be obtained. .

[0126] In the above embodiments, the plaintext image set is first preprocessed, and then the preprocessed image set is encrypted to obtain the ciphertext image set, thus ensuring the security of image information.

[0127] In one embodiment, the step of performing block compression processing on the plaintext image set to obtain a preprocessed image set includes:

[0128] For each plaintext image in the plaintext image set, a predicted value corresponding to each pixel value of the plaintext image is determined. For each pixel value, a prediction error corresponding to the pixel value is determined based on the pixel value and the predicted value corresponding to the pixel value.

[0129] The pixel value whose prediction error falls within a preset range is determined as the first pixel value;

[0130] The pixel value whose prediction error does not conform to the preset range is determined as the second pixel value, and the position information of the second pixel value is recorded;

[0131] Multiple bit planes are constructed based on the prediction errors corresponding to all the first pixel values, and each bit plane is divided into blocks and rearranged to obtain the rearranged bit stream corresponding to each bit plane.

[0132] For each rearranged bitstream, the rearranged bitstream is compressed to obtain compressed data; if the data length of the compressed data is less than the data length of the rearranged bitstream, the bit plane corresponding to the rearranged bitstream is determined as the compressed bit plane; if the data length of the compressed data is greater than or equal to the data length of the rearranged bitstream, the bit plane corresponding to the rearranged bitstream is determined as the uncompressed bit plane.

[0133] Based on all the compressed bit planes, all the uncompressed bit planes, all the second pixel values ​​and the position information corresponding to all the second pixel values, a preprocessed image corresponding to the plaintext image is obtained by reconstruction.

[0134] The preprocessed image set is determined based on all of the preprocessed images.

[0135] Specifically, for each plaintext image in the plaintext image set, the plaintext image can be determined. Each pixel value The corresponding predicted values , It can be expressed by the following formula:

[0136]

[0137] in, The left pixel value of the current pixel value, This indicates the pixel value above the current pixel value and... This represents the pixel value to the left of the current pixel value.

[0138] For each pixel value, the prediction error can then be determined based on that pixel value and the predicted value. Prediction error It can be converted to 7 bits of binary. The 8th bit is used to mark the sign (1 for negative, 0 for positive), and the remaining 7 bits represent the absolute value. A preset range can be set to [-127, 127], and pixel values ​​whose prediction errors conform to the preset range are determined as the first pixel value. Pixel values ​​whose prediction errors do not conform to the preset range are determined as the second pixel value, and the position information of the second pixel value can also be recorded as auxiliary information.

[0139] Multiple bit planes are constructed based on the prediction error corresponding to all first pixel values, and each bit plane is reordered in blocks to obtain the reordered bit stream corresponding to each bit plane. The block reordering can be carried out in the following four types: (1) intra-block row priority + inter-block row priority; (2) intra-block row priority + inter-block column priority; (3) intra-block column priority + inter-block row priority; (4) intra-block column priority + intra-block column priority.

[0140] Furthermore, for each rearranged bitstream, run-length encoding compression is performed to obtain compressed data. Short codes replace long consecutive bits, and the space freed up after compression is used for data embedding. For each rearranged bitstream, compression can be performed to obtain compressed data. The data lengths of the compressed data and the corresponding rearranged bitstream can then be compared. If the compressed data length is less than the rearranged bitstream length, the bit plane corresponding to the rearranged bitstream is determined as the compressed bit plane; if the compressed data length is greater than or equal to the rearranged bitstream length, the bit plane corresponding to the rearranged bitstream is determined as the uncompressed bit plane. Based on all compressed bit planes, all uncompressed bit planes, all second pixel values, and the positional information corresponding to all second pixel values, reconstruction is performed to obtain the preprocessed image corresponding to the plaintext image. A preprocessed image set is determined based on all preprocessed images.

[0141] In the above embodiments, the image is compressed, which reduces the amount of data transmission.

[0142] In one embodiment, determining the proof corresponding to the ciphertext image based on the verification parameters, and embedding the proof into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image, includes:

[0143] A hash value is obtained by performing a hash calculation based on the ciphertext image and the image identifier information corresponding to the ciphertext image;

[0144] Map the hash value to a positive integer, and construct a polynomial based on the positive integer;

[0145] The commitment value is determined based on the polynomial and the verification parameters;

[0146] The proof corresponding to the ciphertext image is determined based on the commitment value;

[0147] The proof is embedded into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image.

[0148] Specifically, based on encrypted images and encrypted images Corresponding image identification information Perform a hash calculation to obtain the hash value. The generated hash value is mapped to a positive integer. Construct polynomials using positive integers from the mapping :

[0149]

[0150] in, This indicates that the polynomial obtained through interpolation satisfies the following conditions: Therefore, the commitment value can be determined based on the polynomial and the SRS in the verification parameters.

[0151]

[0152] in, represents the number of images in the plaintext image set, and b represents the iteration subscript variable for the product operation.

[0153] Therefore, it can be determined based on the commitment value. This allows us to determine the proof corresponding to the ciphertext image. .

[0154] Furthermore, the proof can be embedded into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image. Specifically, the number of compressed bits in each bit plane can be extracted from the least significant bit (LSB) plane of the encrypted image to determine the position and size of the embedding space, and then the hidden key can be used. Encryption proof Obtain the encrypted proof And use LSB to replace the encrypted proof These LSB planes are filled to generate target images with watermark information. Therefore, the target image set can be represented as... .

[0155] In one embodiment, the cloud server includes a first cloud server and a second cloud server;

[0156] The step of re-encrypting the ciphertext index based on the re-encryption public key and the index private key in the re-encryption key pair to obtain the target index corresponding to the ciphertext index includes:

[0157] The first cloud server is configured to generate a first random vector, determine first decrypted data based on the first random vector, the index private key, and the ciphertext index, and send the first decrypted data to the second cloud server.

[0158] The second cloud server is used to decrypt the first decrypted data based on the index private key to obtain the second decrypted data; and to encrypt the second decrypted data based on the re-encryption public key to obtain the first encrypted data.

[0159] The first cloud server is also used to perform re-encryption calculation on the ciphertext index based on the first encrypted data to obtain the target index.

[0160] Specifically, CSA generates a first random vector with the same dimension as each of the aforementioned feature vectors. ,and Each dimension of data belongs to ciphertext index eigenvectors in Using scalar addition, we obtain CSA is based on indexed private keys right Decryption is performed to obtain the first decrypted data. First decrypted data It can be represented as:

[0161]

[0162]

[0163]

[0164] in, This represents a partial decryption function, used here to obtain the first decrypted data. and It is a parameter in the index public key. is the parameter of the first index private key, and r is a random number.

[0165] Furthermore, the CSA sends the first decrypted data to the CSB, which uses the index private key. For the first decrypted data After decryption, the second decrypted data is obtained. This process can be represented as:

[0166]

[0167]

[0168]

[0169]

[0170] Here, Dec represents the decryption function, used here to obtain the second decrypted data. This is a parameter of the second index private key. DLOG represents solving the discrete logarithm, which is used here to obtain the second decrypted data.

[0171] This allows for the use of the re-encryption public key in the re-encryption key pair. right Encryption is performed to obtain the first encrypted data. and will Send to CSA.

[0172] CSA based on The inverse of each dimension of the data is used to calculate a new encrypted feature vector using addition. ,Will The target index is obtained by performing the above re-encryption calculation operation on all feature vectors. .

[0173] In one embodiment, the step of encrypting the query feature vector corresponding to the query image based on the retrieval key pair to obtain the initial query trapdoor includes:

[0174] An initial query feature vector corresponding to the query image is extracted using a general multimodal neural network model. The initial query feature vector is then processed to unify its format to obtain the query feature vector.

[0175] The query feature vector is encrypted based on the retrieval key pair to obtain the initial query trapdoor;

[0176] The first cloud server is further configured to generate a second random vector, and determine third decrypted data based on the second random vector, the retrieval private key, and the initial query trapdoor; and send the third decrypted data to the second cloud server;

[0177] The second cloud server is also used to decrypt the third decrypted data based on the retrieval private key to obtain the fourth decrypted data; and to encrypt the fourth decrypted data based on the re-encryption public key to obtain the second encrypted data.

[0178] The first cloud server is also used to determine a target query trap based on the second encrypted data.

[0179] Specifically, the query user uses a general multimodal neural network model to extract the query image. The corresponding initial query feature vector is processed to unify its format, resulting in the query feature vector. The standardized processing involves L2 normalizing the initial query vector, multiplying each dimension of the data by a scaling factor, and rounding the data in each dimension.

[0180] Furthermore, the query user retrieves the public key from the retrieval key pair. right Encryption is performed to obtain the initial query trapdoor. .

[0181] CSA generates a second random vector with the same dimensions as the query feature vector. ,and Each dimension of data belongs to Calculate using scalar addition And then based on the retrieval of the private key right Decryption is performed to obtain the third decrypted data. .

[0182] CSB based on retrieving the private key Third decrypted data Decryption was performed, resulting in the fourth decrypted data. Furthermore, based on the public key in the re-encryption key pair ( The fourth decrypted data is then encrypted to obtain the second encrypted data. .

[0183] CSA based on The target query trapdoor is obtained by calculating the inverse of each dimension of the data using addition. .

[0184] In one embodiment, determining the squared safe Euclidean distance between the target query trapdoor and the centroid vector in the target index includes:

[0185] CSA blinds each bit of data in the target query trapdoor and generates a random number. ∈ The calculation uses scalar addition, specifically including:

[0186]

[0187]

[0188] Where 1≤m≤d, and d represents the dimension of the feature vector. The m-th dimension represents the centroid vector. The target query trapdoor has m dimensions; a new ciphertext vector is obtained. and Using private key Partially decrypt it to obtain and And send it to CSB.

[0189] CSB is based on private keys. right and Decrypt to obtain and The result is obtained using safe scalar multiplication: , and And send these three values ​​to CSA.

[0190] CSA performs the following calculations:

[0191]

[0192]

[0193]

[0194] Calculate using scalar multiplication:

[0195] Using addition to calculate:

[0196] )

[0197] =

[0198] in, This is the squared safe Euclidean distance between the target query trapdoor and the centroid vector in the target index.

[0199] Furthermore, the main intervals are determined based on the square of the safe Euclidean distance and the boundaries of each distance interval, including:

[0200] make CSA generates a random bit string b∈{0,1} and performs the following calculations:

[0201] When b=0 (Diff) = ( ) = ( ).

[0202] When b=1 (Diff) = ( ) = ( ).

[0203] Generate random numbers v and e, and To blind the Diff using scalar multiplication and addition, first calculate... Based on Sure ; and use right Partial decryption yields ( ),Will ( Send to CSB.

[0204] CSB uses right ( Partial decryption is performed to obtain the plaintext after blinding. Using public keys Encrypting the numbers 0 and 1 yields (0) and (1):

[0205] like Then return the encrypted string cr = ( (0), (1)).

[0206] like Then return the encrypted string cr = ( (1), (0)).

[0207] The above string is then sent to the CSA. The CSA determines the two based on the received string and its corresponding b value. The value of b is determined by the size of the variable, i.e., when b=0, output cr; when b=1, flip cr; the final result is as follows:

[0208] like Then cr = ( (0), (1));

[0209] like Then cr = ( (1), (0)).

[0210] in, This represents the minimum squared Euclidean distance or the maximum squared Euclidean distance.

[0211] Determining that the target query trapdoor is located at the first position of the main interval includes:

[0212] CSA, in collaboration with CSB, compares and The size of the target query trapdoor determines whether it is located inside or outside the main interval (i.e., the first position). If the target query trapdoor is located outside the main interval, then... If the target query trapdoor is located inside the main interval, then if the target query trapdoor is located outside the main interval, then the target index corresponding to the main interval and the target index corresponding to the next interval adjacent to the main interval are searched; if the target query trapdoor is located inside the main interval, then the target index corresponding to the main interval and the target index corresponding to the previous interval adjacent to the main interval are searched.

[0213] Further, based on the first position, the target index is searched to obtain multiple search image identifiers corresponding to the query image and target images corresponding to each search image identifier, including:

[0214] CSA generates a random vector of the same dimension as the feature vector. ,and Each dimension of data belongs to ,right Blinding is performed using addition, resulting in ,use Partial decryption yields Send to CSB;

[0215] CSB received and used it. right Decryption Calculate using safety scalars Send to CSA;

[0216] CSA Calculation The target dot product is obtained by calculating the inverse of each dimension of the data using addition. :

[0217]

[0218] Cloud server comparison:

[0219] like : Enter the left subset of this node;

[0220] like : Enter the right subset of this node;

[0221] The process is repeated recursively until a leaf node is reached; the top k feature vectors with the smallest distance are selected, and k target images with watermark information are found based on their corresponding image identifiers. The target images with watermarks and their corresponding search image identifiers are then returned to the querying user as search results.

[0222] In one embodiment, the querying user is further configured to obtain the hidden key and the verification parameters, and decrypt the target images corresponding to all the search image identifiers based on the hidden key to obtain decryption proof and multiple target encrypted images;

[0223] The target encrypted image and the corresponding search image identifier are hashed to obtain a target hash value, and the target hash value is mapped to a target positive integer;

[0224] Bilinear pairing verification is performed based on the decryption proof, the commitment value, the target positive integer, and the verification parameters to obtain the target verification result;

[0225] If the target verification result is successful, the encryption key is obtained, and all the target encrypted images are decrypted based on the encryption key to obtain similar plaintext images.

[0226] Specifically, the query user obtains the hidden key and verification parameters, and identifies all searched images based on the hidden key. The corresponding target image is decrypted to obtain the decryption proof. and multiple target encrypted images .

[0227] Furthermore, a hash calculation can be performed on the target encrypted image and the corresponding search image identifier to obtain the target hash value. =Hash( || ), and map the target hash value to the target positive integer. .

[0228] Furthermore, bilinear pairwise verification can be performed based on the decryption proof, commitment value, target positive integer, and verification parameters, yielding the following formula: e( )=e( If both sides of the formula are equal, the target verification result is successful; otherwise, it is a failure.

[0229] If the target verification result is successful, the encryption key is obtained, and all target encrypted images are decrypted based on the encryption key to obtain similar plaintext images. These similar plaintext images are the k plaintext images most similar to the query image.

[0230] In the above embodiments, a verification mechanism is designed to verify the authenticity of the search results, thereby achieving comprehensive verification of the authenticity, completeness, and correctness of the results returned by the cloud server.

[0231] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0232] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A privacy-preserving image retrieval system, characterized in that, include: Trusted third parties are used to generate encryption keys, hidden keys, verification parameters, index key pairs, retrieval key pairs, and re-encryption key pairs. Send the encryption key, the hidden key, the verification parameters, and the index key pair to the image owner; The retrieval key pair is sent to the querying user; Send the re-encryption key pair, the index private key in the index key pair, and the retrieval private key in the retrieval key pair to the cloud server; The image owner is used to determine the ciphertext index based on the plaintext image set and the index key pair; The plaintext image set is encrypted using the encryption key to obtain the ciphertext image set; For each ciphertext image in the ciphertext image set, a proof corresponding to the ciphertext image is determined based on the verification parameters, and the proof is embedded into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image; a target image set is determined based on all the target images, and the ciphertext index and the target image set are sent to the cloud server; The cloud server is used to re-encrypt the ciphertext index based on the re-encryption public key in the re-encryption key pair and the index private key to obtain the target index corresponding to the ciphertext index. The querying user is used to encrypt the query feature vector corresponding to the query image based on the retrieval key pair to obtain an initial query trap, and then send the initial query trap to the cloud server. The cloud server is also used to determine a target query trap based on the re-encryption public key, the retrieval private key, and the initial query trap. The cloud server is further configured to determine the squared secure Euclidean distance between the target query trapdoor and the centroid vector in the target index; the centroid vector is the centroid vector corresponding to the feature vector set corresponding to the plaintext image set; a main interval is determined based on the squared secure Euclidean distance and the boundaries of each distance interval; the distance interval is the distance interval corresponding to the feature vector set; the target query trapdoor is determined to be located at a first position in the main interval; the target index is searched based on the first position to obtain multiple search image identifiers corresponding to the query image and target images corresponding to each search image identifier, and all search image identifiers and corresponding target images are sent to the query user; The generation of encryption keys, hidden keys, verification parameters, index key pairs, retrieval key pairs, and re-encryption key pairs includes: Generate cyclic subgroup parameters based on preset security parameters; A random number is selected to determine the index private key corresponding to the image owner, the retrieval private key corresponding to the querying user, and the re-encryption private key corresponding to the cloud server; Determine the index public key based on the index private key; determine the retrieval public key based on the retrieval private key; determine the re-encryption public key based on the re-encryption private key; The index key pair is determined based on the index private key and the index public key; the retrieval key pair is determined based on the retrieval private key and the retrieval public key; the re-encryption key pair is determined based on the re-encryption private key and the re-encryption public key; The verification parameters are determined based on a secret value and preset cyclic subgroup parameters; the secret value is determined based on random numbers. The encryption key and the hidden key are preset.

2. The privacy-preserving image retrieval system according to claim 1, characterized in that, The step of determining the ciphertext index based on the plaintext image set and the index key pair includes: Feature extraction is performed on the plaintext image set to obtain the feature vector set corresponding to the plaintext image set; Determine the centroid vector corresponding to the feature vector set based on the feature vector set; For each feature vector in the feature vector set, determine the squared Euclidean distance between the feature vector and the centroid vector; The feature vectors are sorted according to the squared Euclidean distance, and the sorted feature vectors are divided into multiple sub-feature vector sets of equal quantity. Each sub-feature vector set corresponds to a distance interval. The distance interval includes the minimum squared Euclidean distance, the maximum squared Euclidean distance, and the median squared Euclidean distance. The minimum squared Euclidean distance is the smallest squared Euclidean distance corresponding to the sub-feature vector set. The maximum squared Euclidean distance is the largest squared Euclidean distance corresponding to the sub-feature vector set. The median squared Euclidean distance is the average of the minimum squared Euclidean distance and the maximum squared Euclidean distance. Based on all the sub-feature vector sets and their corresponding centroid vectors and distance intervals, construct the plaintext index corresponding to the plaintext image set; The ciphertext index is obtained by encrypting the feature vector, distance interval, and centroid vector on the plaintext index based on the index key pair.

3. The privacy-preserving image retrieval system according to claim 2, characterized in that, The step of constructing a plaintext index corresponding to the plaintext image set based on all the sub-feature vector sets and their corresponding centroid vectors and distance intervals includes: For each of the aforementioned sub-feature vector sets, the sub-feature vector set is determined as the current node. If the number of feature vectors of the current node is less than or equal to a preset threshold, the current node is determined as a leaf node. If the number of feature vectors of the current node is greater than the preset threshold, the current node is determined as an intermediate node; and the following operations are performed on each intermediate node: Randomly select two from the feature vectors corresponding to the intermediate nodes as the first reference point and the second reference point; Construct a hyperplane based on the first and second reference points; For each feature vector corresponding to the intermediate node, the feature vector is divided based on the dot product of the feature vector and the normal vector of the hyperplane to obtain at least two new nodes; The sub-index corresponding to the sub-feature vector set is obtained when the number of feature vectors of all nodes is less than or equal to the preset threshold. The first index is determined based on the sub-indexes corresponding to all the sub-feature vector sets; the plaintext index is determined based on the first index, all the sub-feature vector sets and their corresponding centroid vectors and distance intervals.

4. The privacy-preserving image retrieval system according to claim 1, characterized in that, The step of encrypting the plaintext image set based on the encryption key to obtain the ciphertext image set includes: The plaintext image set is subjected to block compression processing to obtain a preprocessed image set; A stream cipher encryption algorithm is used to generate a pseudo-random matrix based on the encryption key, and the pixel values ​​of each image in the preprocessed image set are XORed and encrypted based on the pseudo-random matrix to obtain the ciphertext image set.

5. The privacy-preserving image retrieval system according to claim 4, characterized in that, The step of performing block compression on the plaintext image set to obtain a preprocessed image set includes: For each plaintext image in the plaintext image set, a predicted value corresponding to each pixel value of the plaintext image is determined. For each pixel value, a prediction error corresponding to the pixel value is determined based on the pixel value and the predicted value corresponding to the pixel value. The pixel value whose prediction error falls within a preset range is determined as the first pixel value; The pixel value whose prediction error does not conform to the preset range is determined as the second pixel value, and the position information of the second pixel value is recorded; Multiple bit planes are constructed based on the prediction errors corresponding to all the first pixel values, and each bit plane is divided into blocks and rearranged to obtain the rearranged bit stream corresponding to each bit plane. For each rearranged bitstream, the rearranged bitstream is compressed to obtain compressed data; if the data length of the compressed data is less than the data length of the rearranged bitstream, the bit plane corresponding to the rearranged bitstream is determined as the compressed bit plane; if the data length of the compressed data is greater than or equal to the data length of the rearranged bitstream, the bit plane corresponding to the rearranged bitstream is determined as the uncompressed bit plane. Based on all the compressed bit planes, all the uncompressed bit planes, all the second pixel values ​​and the position information corresponding to all the second pixel values, a preprocessed image corresponding to the plaintext image is obtained by reconstruction. The preprocessed image set is determined based on all of the preprocessed images.

6. The privacy-preserving image retrieval system according to any one of claims 1 to 5, characterized in that, The step of determining the proof corresponding to the ciphertext image based on the verification parameters, and embedding the proof into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image includes: A hash value is obtained by performing a hash calculation based on the ciphertext image and the image identifier information corresponding to the ciphertext image; Map the hash value to a positive integer, and construct a polynomial based on the positive integer; The commitment value is determined based on the polynomial and the verification parameters; The proof corresponding to the ciphertext image is determined based on the commitment value; The proof is embedded into the ciphertext image based on the hidden key to obtain the target image corresponding to the ciphertext image.

7. The privacy-preserving image retrieval system according to claim 1, characterized in that, The cloud server includes a first cloud server and a second cloud server; The step of re-encrypting the ciphertext index based on the re-encryption public key and the index private key in the re-encryption key pair to obtain the target index corresponding to the ciphertext index includes: The first cloud server is configured to generate a first random vector, determine first decrypted data based on the first random vector, the index private key, and the ciphertext index, and send the first decrypted data to the second cloud server. The second cloud server is used to decrypt the first decrypted data based on the index private key to obtain the second decrypted data; and to encrypt the second decrypted data based on the re-encryption public key to obtain the first encrypted data. The first cloud server is also used to perform re-encryption calculation on the ciphertext index based on the first encrypted data to obtain the target index.

8. The privacy-preserving image retrieval system according to claim 7, characterized in that, The initial query trapdoor is obtained by encrypting the query feature vector corresponding to the query image based on the retrieval key pair, including: An initial query feature vector corresponding to the query image is extracted using a general multimodal neural network model. The initial query feature vector is then processed to unify its format to obtain the query feature vector. The query feature vector is encrypted based on the retrieval key pair to obtain the initial query trapdoor; The first cloud server is further configured to generate a second random vector, and determine third decrypted data based on the second random vector, the retrieval private key, and the initial query trapdoor; and send the third decrypted data to the second cloud server. The second cloud server is also used to decrypt the third decrypted data based on the retrieval private key to obtain the fourth decrypted data; and to encrypt the fourth decrypted data based on the re-encryption public key to obtain the second encrypted data. The first cloud server is also used to determine a target query trap based on the second encrypted data.

9. The privacy-preserving image retrieval system according to claim 6, characterized in that, The querying user is also used to obtain the hidden key and the verification parameters, and decrypt the target images corresponding to all the search image identifiers based on the hidden key to obtain decryption proof and multiple target encrypted images; The target encrypted image and the corresponding search image identifier are hashed to obtain a target hash value, and the target hash value is mapped to a target positive integer; Bilinear pairing verification is performed based on the decryption proof, the commitment value, the target positive integer, and the verification parameters to obtain the target verification result; If the target verification result is successful, the encryption key is obtained, and all the target encrypted images are decrypted based on the encryption key to obtain similar plaintext images.