A privacy information retrieval method, device and system

By employing homomorphic encryption and order-preserving encryption technologies, privacy information retrieval based on data range is achieved, solving the problem that existing technologies cannot support data range retrieval and ensuring user information security and data protection.

CN115795514BActive Publication Date: 2025-11-25NSFOCUS INFORMATION TECHNOLOGY CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211652351.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-21
Publication Date
2025-11-25
Estimated Expiration
2042-12-21

AI Technical Summary

Technical Problem

Existing privacy information retrieval methods only support keyword-based searches and cannot perform data-wide searches, which prevents users from obtaining relevant information without revealing the version number when querying software vulnerability information.

Method used

Homomorphic encryption and order-preserving encryption technologies are used to encrypt the user-input numbers to be searched, and data range retrieval is achieved through unobtrusive transmission protocols to ensure user information security.

Benefits of technology

This enables the server to retrieve private information within a data range without disclosing the user's query information, thus ensuring user information security and data protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115795514B_ABST
    Figure CN115795514B_ABST
Patent Text Reader

Abstract

The application provides a privacy information retrieval method, device and system, wherein the privacy information retrieval method is applied to a client and includes the following steps: obtaining a user-inputted search number; using homomorphic encryption to encrypt the search number and sending the encrypted ciphertext to a server; receiving the ciphertext processed by the server using homomorphic encryption and order-preserving encryption, and the order-preserving ciphertext data range obtained by the server by performing order-preserving encryption transformation on each piece of data range in a full-amount plaintext data set; using homomorphic decryption to decrypt the processed ciphertext to obtain a decrypted number; comparing the decrypted number with the numbers in the order-preserving ciphertext data range piece by piece to obtain a data serial number corresponding to the data range of the search number; and executing a careless transmission protocol according to the data serial number to obtain a search result corresponding to the data serial number.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of information technology, and in particular to a method, apparatus and system for retrieving privacy information. Background Technology

[0002] Privacy information retrieval protocols enable users to perform retrieval tasks without the server knowing the user's search criteria or search results.

[0003] In the field of privacy information retrieval, existing methods only support keyword-based retrieval and cannot yet support data range retrieval. Consider the following scenario: Security company C possesses vulnerability information about software D, forming a knowledge base. The knowledge base is stored as follows: {Vulnerability 1, Affected Version Range (1.2–3.7)}, …, {Vulnerability n, Affected Version Range (3.9–7.8)}. A user U (e.g., a client in a high-security field such as finance or industrial control) happens to be using software D, assuming version 4.7. User U wants security company C to provide vulnerability information for software D in a specific version 4.7 without revealing their own version number. Because this involves data range retrieval, it cannot currently be achieved using keyword-based privacy information retrieval methods.

[0004] Therefore, how to achieve privacy information retrieval based on data scope has become an urgent technical problem to be solved. Summary of the Invention

[0005] This invention provides a privacy information retrieval method, apparatus, and system for achieving privacy information retrieval based on data range, thereby ensuring user information security.

[0006] In a first aspect, embodiments of the present invention provide a privacy information retrieval method, applied to a client, comprising:

[0007] Get the number to be searched by the user;

[0008] The number to be checked is encrypted using homomorphic encryption, and the encrypted ciphertext is sent to the server.

[0009] The server receives ciphertext after processing the encrypted ciphertext using homomorphic encryption and order-preserving encryption, and order-preserving ciphertext data ranges after the server performs order-preserving encryption transformation on each data range in the full plaintext dataset, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0010] The processed ciphertext is decrypted using homomorphic decryption to obtain the decrypted number;

[0011] The decrypted number is compared with each number in the ordered ciphertext data range to obtain the data sequence number that matches the data range of the number to be searched.

[0012] The unintentional transmission protocol is executed according to the data sequence number to obtain the search results corresponding to the data sequence number.

[0013] In one possible implementation, the step of encrypting the number to be queried using homomorphic encryption and sending the encrypted ciphertext to the server includes:

[0014] Generate public and private keys for homomorphic encryption;

[0015] The public key is used to encrypt and hide the number to be checked, and the encrypted ciphertext is obtained.

[0016] The encrypted ciphertext and the public key are sent to the server, and the private key is stored.

[0017] In one possible implementation, receiving the ciphertext obtained by the server processing the encrypted ciphertext using homomorphic encryption and order-preserving encryption, and the ordered ciphertext data range obtained by the server performing order-preserving encryption transformation on each data range in the full plaintext dataset, includes:

[0018] The server receives a first ciphertext and a second ciphertext obtained by encrypting two randomly generated numbers using the public key, and a ciphertext obtained by performing homomorphic multiplication and homomorphic addition operations on the encrypted ciphertext using the first ciphertext and the second ciphertext, wherein the two numbers are keys used for order-preserving encryption.

[0019] The server receives the ordered ciphertext data range after performing order-preserving encryption transformation on each data range in the full plaintext dataset using the two numbers.

[0020] In one possible implementation, the step of using homomorphic decryption to decrypt the processed ciphertext to obtain the decrypted number includes:

[0021] The processed ciphertext is decrypted using the private key to obtain a number that has been encrypted by the server using the two numbers in order preservation, and the number encrypted in order preservation is used as the decrypted number.

[0022] Secondly, embodiments of the present invention also provide a privacy information retrieval method, applied to a server, comprising:

[0023] Receive encrypted ciphertext from the client, wherein the encrypted ciphertext is the ciphertext in which the client encrypts the user-inputted number using homomorphic encryption;

[0024] The encrypted ciphertext is processed using homomorphic encryption and order-preserving encryption to obtain the processed ciphertext;

[0025] The order-preserving encryption transformation is performed on each data range in the full plaintext dataset to obtain the order-preserving ciphertext data range, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0026] The processed ciphertext and the ordered ciphertext data range are sent to the client, so that the client will compare the decrypted number obtained by decrypting the processed ciphertext using homomorphic decryption with the numbers in the ordered ciphertext data range one by one, and obtain the data sequence number that matches the data range of the number to be searched.

[0027] In one possible implementation, the process of using homomorphic encryption and order-preserving encryption to process the encrypted ciphertext to obtain the processed ciphertext includes:

[0028] Randomly generate two numbers for order-preserving encryption;

[0029] The system receives a public key for homomorphic encryption sent by the client, and encrypts the two numbers using the public key to obtain a first ciphertext and a second ciphertext, respectively.

[0030] Homomorphic multiplication and homomorphic addition are performed on the encrypted ciphertext using the first ciphertext and the second ciphertext to obtain the processed ciphertext.

[0031] Thirdly, embodiments of the present invention also provide a privacy information retrieval device, applied to a client, comprising:

[0032] The first acquisition unit is used to acquire the number to be searched input by the user;

[0033] An encryption unit is used to encrypt the number to be checked using homomorphic encryption and send the encrypted ciphertext to the server.

[0034] The first receiving unit is configured to receive the ciphertext after the server processes the encrypted ciphertext using homomorphic encryption and order-preserving encryption, and the ordered ciphertext data range after the server performs order-preserving encryption transformation on each data range in the full plaintext dataset, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0035] The decryption unit is used to decrypt the processed ciphertext using homomorphic decryption to obtain the decrypted number;

[0036] The first obtaining unit is used to compare the decrypted number with the numbers in the ordered ciphertext data range one by one to obtain the data sequence number that matches the data range corresponding to the number to be searched.

[0037] The second acquisition unit is used to execute an unintentional transmission protocol based on the data sequence number to obtain the search result corresponding to the data sequence number.

[0038] Fourthly, embodiments of the present invention also provide a privacy information retrieval device, applied to a server, comprising:

[0039] The second receiving unit is used to receive encrypted ciphertext from the client, wherein the encrypted ciphertext is the ciphertext in which the client encrypts the user-inputted number using homomorphic encryption;

[0040] The processing unit is used to process the encrypted ciphertext using homomorphic encryption and order-preserving encryption to obtain the processed ciphertext;

[0041] The second obtaining unit is used to perform order-preserving encryption transformation on each of the multiple data ranges in the full plaintext dataset to obtain the order-preserving ciphertext data range, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0042] The sending unit is used to send the processed ciphertext and the ordered ciphertext data range to the client, so that the client will compare the decrypted number obtained by decrypting the processed ciphertext using homomorphic decryption with the numbers in the ordered ciphertext data range one by one, and obtain the data sequence number that matches the data range corresponding to the number to be searched.

[0043] Fifthly, embodiments of the present invention also provide a privacy information retrieval system, comprising:

[0044] A client and a server connected to the client; wherein: the client is configured as follows:

[0045] Get the number to be searched by the user;

[0046] The number to be queried is encrypted using homomorphic encryption, and the encrypted ciphertext is sent to the server.

[0047] The server receives ciphertext after processing the encrypted ciphertext using homomorphic encryption and order-preserving encryption, and order-preserving ciphertext data ranges after the server performs order-preserving encryption transformation on each data range in the full plaintext dataset, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0048] The processed ciphertext is decrypted using homomorphic decryption to obtain the decrypted number;

[0049] The decrypted number is compared with each number in the ordered ciphertext data range to obtain the data sequence number that matches the data range of the number to be searched.

[0050] The unintentional transmission protocol is executed according to the data sequence number to obtain the search results corresponding to the data sequence number.

[0051] In a sixth aspect, embodiments of the present invention also provide a privacy information retrieval device, the retrieval device including a processor, the processor being configured to execute a computer program stored in a memory to implement the steps of the privacy information retrieval method as described in the first aspect and / or the second aspect.

[0052] In a seventh aspect, embodiments of the present invention also provide a readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the privacy information retrieval method as described in the first and / or second aspects.

[0053] The beneficial effects of this invention are as follows:

[0054] This invention provides a privacy information retrieval method, apparatus, and system. First, a user-inputted number is obtained. Then, homomorphic encryption is used to encrypt the number, and the encrypted ciphertext is sent to a server. The server processes the encrypted ciphertext using both homomorphic and order-preserving encryption, performing order-preserving encryption transformation on each data range in a pre-stored full plaintext dataset on the server to obtain an order-preserving ciphertext data range. The processed ciphertext and the order-preserving ciphertext data range are then sent to a client. The client then uses homomorphic decryption to decrypt the processed ciphertext, obtaining a decrypted number. The decrypted number is then compared with each number in the order-preserving ciphertext data range to obtain a data sequence number that matches the data range of the number to be retrieved. Finally, an unauthorized transfer protocol is executed based on the data sequence number to obtain the retrieval result corresponding to that data sequence number.

[0055] In this way, homomorphic encryption and order-preserving encryption can protect server-side data and enable clients to retrieve encrypted ranges of server-side data. This ensures that the server-side data range is presented to the user in ordered ciphertext, preventing the user from decrypting the original plaintext data range without knowing the order-preserving key. Simultaneously, the ordered ciphertext guarantees that the client can perform sequential ordered ciphertext range retrievals of server-side data. This enables privacy-preserving information retrieval within data ranges, ensuring user information security. Attached Figure Description

[0056] Figure 1 A flowchart illustrating one method of a privacy information retrieval method provided in an embodiment of the present invention;

[0057] Figure 2 for Figure 1 Flowchart of one method for step S102;

[0058] Figure 3 for Figure 1 Flowchart of one method for step S103;

[0059] Figure 4 This is a schematic diagram of one method for determining data sequence numbers based on homomorphic encryption and order-preserving encryption in a privacy information retrieval method provided by an embodiment of the present invention;

[0060] Figure 5 This is a schematic diagram illustrating the specific implementation process of a privacy information retrieval scheme supporting range queries in a privacy information retrieval method provided in an embodiment of the present invention.

[0061] Figure 6 This is a schematic diagram of one method of the unintentional transmission protocol with multiple-choice-1 used in the privacy query stage of a privacy information retrieval method provided in an embodiment of the present invention;

[0062] Figure 7 A flowchart illustrating another method of privacy information retrieval provided in this embodiment of the invention;

[0063] Figure 8 for Figure 7 Flowchart of one method for step S402;

[0064] Figure 9 This is a structural block diagram of a privacy information retrieval device provided in an embodiment of the present invention;

[0065] Figure 10 This is another structural block diagram of a privacy information retrieval device provided in an embodiment of the present invention;

[0066] Figure 11 This is a structural block diagram of a privacy information retrieval system provided in an embodiment of the present invention. Detailed Implementation

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

[0068] In the specification, claims, and accompanying drawings of this invention, the terms "first," "second," etc., are used to distinguish different objects, not to describe a specific order. Furthermore, the term "comprising," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0069] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the invention. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0070] In this embodiment of the invention, the term "and / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.

[0071] The application scenarios described in the embodiments of this invention are for the purpose of more clearly illustrating the technical solutions of the embodiments of this invention, and do not constitute a limitation on the technical solutions provided by the embodiments of this invention. Those skilled in the art will understand that with the emergence of new application scenarios, the technical solutions provided by the embodiments of this invention are also applicable to similar technical problems. In the description of this invention, unless otherwise stated, "multiple" means two or more.

[0072] In related technologies, existing privacy information retrieval methods only implement keyword-based retrieval and cannot yet support data range retrieval.

[0073] In view of this, embodiments of the present invention provide a privacy information retrieval method, apparatus and system for realizing privacy information retrieval based on data range and ensuring user information security.

[0074] Before introducing the privacy information retrieval method, apparatus and system mentioned in this invention, a brief introduction to the relevant terms will be given.

[0075] Private Information Retrieval (PIR), also known as anonymous query, ensures that when a user submits a query request to the database on the server, the query is completed without the user's privacy information being leaked. In other words, during the user's query process, the server does not know the specific information the user is querying or the data items retrieved.

[0076] Order-preserving encryption (OPE) means that the order of the plaintext and the order of the ciphertext match. For example, if the plaintexts a and b satisfy a < b, then the encrypted ciphertexts k(a) and k(b) also satisfy k(a). <k(b)。

[0077] In Oblivious Transfer (OT), during the privacy information query phase, the client uses a known data item (index), and the server uses a known dataset E. Both parties jointly execute a multiple-choice OT protocol. The client obtains the final search result, while the server can only guess that the client's search result is one of the items in dataset E, but cannot determine which specific item. For a concrete example, Zhang San has n messages {m1, ..., m...} n Li Si wanted to know one of the messages, m. i By executing the OT protocol, Li Si can correctly obtain the information he wants to know. i It is impossible to obtain the other (n-1) messages out of the n messages, and Zhang San cannot know which message Li Si obtained.

[0078] like Figure 1 As shown, this embodiment of the invention provides a privacy information retrieval method, applied to a client, including:

[0079] S101: Obtain the number to be searched input by the user;

[0080] S102: The number to be checked is encrypted using homomorphic encryption, and the encrypted ciphertext is sent to the server;

[0081] S103: Receive the ciphertext after the server processes the encrypted ciphertext using homomorphic encryption and order-preserving encryption, and the order-preserving ciphertext data range after the server performs order-preserving encryption transformation on each data range in the full plaintext dataset, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0082] S104: Use homomorphic decryption to decrypt the processed ciphertext to obtain the decrypted number;

[0083] S105: Compare the decrypted number with the numbers in the ordered ciphertext data range one by one to obtain the data sequence number that matches the data range corresponding to the number to be searched;

[0084] S106: Execute the unintentional transmission protocol according to the data sequence number to obtain the search result corresponding to the data sequence number.

[0085] In the specific implementation process, the implementation process of steps S101 to S106 is explained as follows:

[0086] First, the system obtains the user-inputted number, for example, 'a'. Then, it encrypts the number using homomorphic encryption and sends the encrypted ciphertext to the server. In one exemplary embodiment, the client can encrypt the number using the public key used for the generated homomorphic encryption. After sending the encrypted ciphertext to the server, the client receives the ciphertext processed by the server using homomorphic encryption and order-preserving encryption, as well as the ordered ciphertext data ranges obtained by the server performing order-preserving encryption transformation on each data range in the full plaintext dataset.

[0087] Then, homomorphic decryption is used to decrypt the processed ciphertext to obtain the decrypted number. In one exemplary embodiment, the private key generated by the client, corresponding to the public key used for homomorphic encryption, can be used to decrypt the processed ciphertext to obtain the decrypted number. Then, the decrypted number is compared line by line with the numbers in the ordered ciphertext data range to obtain the data sequence number corresponding to the data range of the number to be searched. Then, an unauthorized transfer protocol is executed based on the data sequence number to obtain the search result corresponding to that data sequence number. In this way, through homomorphic encryption and ordered encryption, the protection of server-side data and the client's ciphertext range retrieval of server-side data can be achieved. This ensures that the server-side data range is presented to the user in the form of ordered ciphertext, so that the user cannot decrypt the original plaintext data range of the server without knowing the ordered key; at the same time, the ordered ciphertext ensures that the client can perform sequential ordered ciphertext range retrieval of server-side data; thus, it realizes privacy information retrieval supporting data ranges and ensures the user's information security.

[0088] In embodiments of the present invention, such as Figure 2 As shown, step S102: Encrypt the number to be checked using homomorphic encryption, and send the encrypted ciphertext to the server, including:

[0089] S201: Generate a public and private key for homomorphic encryption;

[0090] S202: Use the public key to encrypt and hide the number to be checked, and obtain the encrypted ciphertext;

[0091] S203: Send the encrypted ciphertext and the public key to the server, and store the private key.

[0092] In the specific implementation process, steps S201 to S203 are implemented as follows:

[0093] First, the client generates a public-private key pair for homomorphic encryption, which includes a public key and a private key. Then, the client uses the public key to encrypt and hide the user-inputted number to be checked, obtaining the encrypted ciphertext. Then, the encrypted ciphertext and the public key are sent to the server, while the client stores the private key.

[0094] In embodiments of the present invention, such as Figure 3 As shown, step S103: receiving the ciphertext processed by the server using homomorphic encryption and order-preserving encryption, and the ordered ciphertext data range obtained by the server performing order-preserving encryption transformation on each data range in the full plaintext dataset, including:

[0095] S301: Receive the first ciphertext and the second ciphertext obtained by the server encrypting two randomly generated numbers using the public key, and the ciphertext obtained by performing homomorphic multiplication and homomorphic addition operations on the encrypted ciphertext using the first ciphertext and the second ciphertext, wherein the two numbers are keys used for order-preserving encryption;

[0096] S302: Receive the ordered ciphertext data range after the server performs order-preserving encryption transformation on each data range in the full plaintext dataset using the two numbers.

[0097] In the specific implementation process, steps S301 to S302 are implemented as follows:

[0098] First, after the client sends the encrypted ciphertext and public key to the server, the server uses the public key to encrypt two randomly generated numbers to obtain the first ciphertext and the second ciphertext. In one exemplary embodiment, the public-private key pair generated by the client is (pk, sk), where pk represents the public key and sk represents the private key. The client encrypts the user-input number 'a' using the public key pk to obtain the encrypted ciphertext En_a = E(pk, a). The server randomly generates two numbers, x and y, which can be used as keys in order-preserving encryption. The server encrypts x using the public key pk to obtain the first ciphertext En_x = E(pk, x), and encrypts y using the public key pk to obtain the second ciphertext En_y = E(pk, y). Then, the server performs homomorphic multiplication and homomorphic addition operations on the encrypted ciphertext En_a to obtain the processed ciphertext. Where ⊙ represents the ciphertext homomorphic multiplication. This indicates that the ciphertext is homomorphically added. Then, the server uses the order-preserving encryption keys x and y to perform order-preserving encryption transformations on multiple data ranges in the full plaintext dataset, generating an order-preserving ciphertext data range. The server then sends this order-preserving ciphertext data range to the client, allowing the client to determine the data sequence number of the data range corresponding to the searched number based on the processed ciphertext obtained by performing homomorphic multiplication and homomorphic addition operations on the encrypted ciphertext using the received first and second ciphertexts, and the order-preserving ciphertext data range. Furthermore, the specific implementation process for determining the data sequence number can be found in the descriptions below, and will not be detailed here.

[0099] In this embodiment of the invention, step S104: decrypting the processed ciphertext using homomorphic decryption to obtain the decrypted number includes:

[0100] The processed ciphertext is decrypted using the private key to obtain a number that has been encrypted by the server using the two numbers in order preservation, and the number encrypted in order preservation is used as the decrypted number.

[0101] In the specific implementation process, after the client receives the ciphertext processed by the server using homomorphic encryption and order-preserving encryption, the client can use the private key to decrypt the processed ciphertext. Taking the above exemplary embodiment as an example, the client can use the homomorphic encryption private key sk to decrypt the processed ciphertext En_En_a, thereby obtaining the number A after the server uses the order-preserving encryption keys x and y to preserve the order, and A = (a*x + y).

[0102] The following is combined Figure 4 The diagram provides a detailed explanation of the specific implementation process for determining data sequence numbers based on homomorphic encryption and order-preserving encryption.

[0103] In one exemplary embodiment, the server has n data ranges {(a1, b1), ..., (a... n b n The range of n data items belongs to the entire plaintext data range, and the range of the i-th data item satisfies a i <b i Let i be any positive integer from 1 to n, and let a be the user input. To determine the server-side data sequence number that matches the user's search criteria, we need to find a data sequence number t that satisfies a. t <a<b t The specific process for determining the data sequence number t is as follows:

[0104] First, the client generates a public-private key pair (pk, sk) for homomorphic encryption, where pk is the public key and sk is the private key. Then, the client uses the public key pk to encrypt and hide the user's input 'a', resulting in En_a = E(pk, a). Finally, the ciphertext En_a and the public key pk are transmitted to the server.

[0105] For the server, two random numbers x and y are generated and used as the keys in the order-preserving encryption. Then, using the public key, x and y are encrypted through the first calculation module on the server to obtain En_x = E(pk, x) and En_y = E(pk, y). Then, homomorphic multiplication and homomorphic addition are performed on the ciphertext En_a to obtain the ciphertext. Where ⊙ represents the ciphertext homomorphic multiplication. This indicates that the ciphertext is homomorphically added; the expanded ciphertext En_En_a is actually equivalent to the result of encrypting the original plaintext (a*x+y) using the public key pk;

[0106] The second calculation module in the server can use the order-preserving encryption keys x and y to process the data range {(a1, b1), ..., (a... n b n The n data entries in the array are sequentially encrypted and transformed to generate ordered ciphertext data within the range En_db = {(A1, B)}. 1) , ..., (A n B n )}, where (A1, B1) = (a1*x+y, b1*x+y), (A n B n )=(a n *x+y,b n *x+y), for (A i B i )=(a i *x+y,b i (x+y), 1≤i≤n.

[0107] Then, the first and second computing modules in the server send the ordered ciphertext data range En_db and the homomorphic encrypted ciphertext En_En_a to the client, respectively.

[0108] Then, the client uses the homomorphic encryption private key sk to decrypt the ciphertext En_En_a, obtaining the number A after the server has encrypted it using the order-preserving encryption keys x and y, where A = D(sk, En_En_a) = a*x + y. Since A and En_db are encrypted using the same order-preserving encryption keys x and y, they satisfy the order-preserving relation. Therefore, "find the data sequence number t, satisfying a..." t <a<b tThe task then becomes "find the data index t that satisfies A". t <A<B t ".

[0109] Once the client finds the data sequence number t that satisfies the relation, it can execute the unintentional transmission protocol to obtain the search results. This achieves data sequence number determination based on homomorphic encryption and order-preserving encryption, enabling privacy-preserving information retrieval with range queries.

[0110] The following is combined Figure 5 The following provides a detailed explanation of the specific implementation process of the privacy information retrieval scheme supporting range queries in the embodiments of the present invention, where User represents the client and Server represents the server.

[0111] exist Figure 5 In the exemplary example shown, the full plaintext dataset (also known as the original plaintext dataset) db, pre-stored on the server, is {[(range1_left,range1_right),plaintext1],…,[(rangen_left,rangen_right),plaintextn]}, containing n data entries. Here, rangei_left and rangei_right represent the range interval of a certain attribute corresponding to the i-th data entry among the n data entries, and plaintexti represents the specific value of that attribute corresponding to the i-th data entry among the n data entries. If the user inputs the number 'a' on the client side, the server needs to provide plaintexti within the data range that satisfies rangei_left < a < rangei_right.

[0112] exist Figure 5 The exemplary embodiment shown supports a privacy information retrieval scheme for range queries, which includes a public key generation stage, an order-preserving encryption stage, an index determination stage, and a privacy information query stage.

[0113] During the public key generation phase, the client performs the following data preprocessing:

[0114] 1. Enter the number 'a' to be searched;

[0115] 2. Generate the public-private key pair (pk, sk) used for homomorphic encryption, where pk is the public key and sk is the private key;

[0116] 3. Use the public key pk to encrypt and hide the user's input 'a', resulting in En_a. The encryption formula is En_a = E(pk, a), where E() represents homomorphic encryption. Then, transmit the ciphertext En_a and the public key pk to the server.

[0117] During the order-preserving encryption phase, after obtaining the public key pk and the ciphertext En_a, the server performs the following operations:

[0118] 4. Randomly generate two numbers x and y that meet certain requirements, and use x and y as the key for this order-preserving encryption algorithm; in one exemplary embodiment, x and y can be integers, but in practical applications, they are not limited to this.

[0119] 5. Perform calculations on En_a: Where ⊙ represents the ciphertext homomorphic multiplication. This indicates the addition of ciphertext homomorphisms;

[0120] 6. Using x and y, and the dataset db, generate the ciphertext range set En_list that preserves order encryption, where En_list = {(range1_left*x+y, range1_right*x+y), ..., (rangen_left*x+y, rangen_right*x+y)}; then, return the ciphertext range set En_list and the transformed ciphertext data En_En_a to the client.

[0121] During the index determination phase, after receiving the ciphertext range set En_list and the transformed ciphertext data En_En_a, the client performs the following operations:

[0122] 7. Decrypt the ciphertext data En_En_a using the homomorphic encryption private key sk to obtain A=D(sk,En_En_a)=a*x+y;

[0123] 8. Using A and En_list, find the data item that meets the range. This data item (index) is the index of the number to be searched.

[0124] During the privacy information retrieval phase, the client utilizes a known index, and the server utilizes a known dataset db. Both parties jointly execute an unintentional transmission protocol (IPR) where one option is chosen from n. The client obtains the final retrieval result. The server can only guess that the client's retrieval result is a specific item in the dataset db, but cannot determine which item it is. In other words, the client and server each execute PIR, thereby enabling privacy information retrieval that supports a wide range of data.

[0125] exist Figure 5In the exemplary embodiment shown, steps 3, 5, and 7 utilize homomorphic encryption and order-preserving encryption algorithms to perform order-preserving encryption transformation on the client data. This ensures that the order-preserving encryption algorithm key is hidden from the client, while also guaranteeing that the server can perform order-preserving encryption transformation on the client data without knowing the original client data. Steps 2-8 utilize homomorphic encryption and order-preserving encryption algorithms to protect the server data and enable the client to perform ciphertext range retrieval of the server data. This ensures that the server's range of data is presented to the user in the form of order-preserving ciphertext, and the user cannot decrypt the plaintext range of the original server data without knowing the order-preserving key; simultaneously, the order-preserving ciphertext guarantees that the client can perform an order-preserving ciphertext range retrieval on the server data.

[0126] For the unintentional transmission protocol using multiple-choice-one-options during the privacy information query phase, the following can be adopted: Figure 6 One exemplary embodiment shown implements the classic multiple-choice-one-inadvertent transport protocol, where the user end is also referred to as the client. In this exemplary embodiment, the multiple-choice-one-inadvertent transport protocol execution process can be implemented using RSA public-key encryption and Advanced Encryption Standard (AES) symmetric encryption. For specific implementation details, please refer to the technical implementations in related technologies; they will not be detailed here.

[0127] Based on the same inventive concept, such as Figure 7 As shown, this embodiment of the invention also provides a privacy information retrieval method, applied to a server, including:

[0128] S401: Receive encrypted ciphertext from the client, wherein the encrypted ciphertext is the ciphertext in which the client encrypts the user-inputted number using homomorphic encryption;

[0129] S402: Process the encrypted ciphertext using homomorphic encryption and order-preserving encryption to obtain the processed ciphertext;

[0130] S403: Perform order-preserving encryption transformation on each of the multiple data ranges in the full plaintext dataset to obtain the order-preserving ciphertext data range, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0131] S404: The processed ciphertext and the ordered ciphertext data range are sent to the client, so that the client will compare the decrypted number obtained by decrypting the processed ciphertext using homomorphic decryption with the numbers in the ordered ciphertext data range one by one, and obtain the data sequence number that matches the data range corresponding to the number to be searched.

[0132] For the specific implementation process of steps S401 to S404, please refer to the description of the relevant parts mentioned above, and it will not be repeated here.

[0133] In embodiments of the present invention, such as Figure 8 As shown, step S402: The encrypted ciphertext is processed using homomorphic encryption and order-preserving encryption to obtain the processed ciphertext, including:

[0134] S501: Randomly generate two numbers for order-preserving encryption;

[0135] S502: Receive the public key for homomorphic encryption sent by the client, and encrypt the two numbers using the public key to obtain the first ciphertext and the second ciphertext respectively;

[0136] S503: Using the first ciphertext and the second ciphertext, perform homomorphic multiplication and homomorphic addition operations on the encrypted ciphertext to obtain the processed ciphertext.

[0137] For the specific implementation process of steps S501 to S503, please refer to the description of the relevant parts mentioned above, and it will not be repeated here.

[0138] Furthermore, the privacy information retrieval method applied to the server provided in this embodiment of the invention addresses the same technical problem as the aforementioned privacy information retrieval method applied to the client. The technical implementation of the relevant parts can be referred to the specific description of the corresponding parts above, and will not be repeated here.

[0139] Based on the same inventive concept, such as Figure 9 As shown, this embodiment of the invention also provides a privacy information retrieval device, applied to a client, comprising:

[0140] The first acquisition unit 10 is used to acquire the number to be searched input by the user;

[0141] Encryption unit 20 is used to encrypt the number to be checked using homomorphic encryption and send the encrypted ciphertext to the server;

[0142] The first receiving unit 30 is used to receive the ciphertext after the server processes the encrypted ciphertext using homomorphic encryption and order-preserving encryption, and the order-preserving ciphertext data range after the server performs order-preserving encryption transformation on each data range in the full plaintext dataset, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0143] The decryption unit 40 is used to decrypt the processed ciphertext using homomorphic decryption to obtain the decrypted number;

[0144] The first obtaining unit 50 is used to compare the decrypted number with the numbers in the ordered ciphertext data range one by one to obtain the data sequence number that matches the data range corresponding to the number to be searched.

[0145] The second acquisition unit 60 is used to execute an unintentional transmission protocol according to the data sequence number to obtain the search result corresponding to the data sequence number.

[0146] In this embodiment of the invention, the encryption unit 20 is used for:

[0147] Generate public and private keys for homomorphic encryption;

[0148] The public key is used to encrypt and hide the number to be checked, and the encrypted ciphertext is obtained.

[0149] The encrypted ciphertext and the public key are sent to the server, and the private key is stored.

[0150] In this embodiment of the invention, the first receiving unit 30 is used for:

[0151] The server receives a first ciphertext and a second ciphertext obtained by encrypting two randomly generated numbers using the public key, and a ciphertext obtained by performing homomorphic multiplication and homomorphic addition operations on the encrypted ciphertext using the first ciphertext and the second ciphertext, wherein the two numbers are keys used for order-preserving encryption.

[0152] The server receives the ordered ciphertext data range after performing order-preserving encryption transformation on each data range in the full plaintext dataset using the two numbers.

[0153] In this embodiment of the invention, the decryption unit 40 is used for:

[0154] The processed ciphertext is decrypted using the private key to obtain a number that has been encrypted by the server using the two numbers in order preservation, and the number encrypted in order preservation is used as the decrypted number.

[0155] Based on the same inventive concept, such as Figure 10 As shown, this embodiment of the invention also provides a privacy information retrieval device, applied to a server, comprising:

[0156] The second receiving unit 70 is used to receive encrypted ciphertext from the client, wherein the encrypted ciphertext is the ciphertext in which the client encrypts the user-inputted number using homomorphic encryption;

[0157] Processing unit 80 is used to process the encrypted ciphertext using homomorphic encryption and order-preserving encryption to obtain the processed ciphertext;

[0158] The second obtaining unit 90 is used to perform order-preserving encryption transformation on each of the multiple data ranges in the full plaintext dataset to obtain the order-preserving ciphertext data range, wherein the full plaintext dataset is a dataset pre-stored on the server.

[0159] The sending unit 100 is used to send the processed ciphertext and the ordered ciphertext data range to the client, so that the client will compare the decrypted number obtained by decrypting the processed ciphertext using homomorphic decryption with the numbers in the ordered ciphertext data range one by one, and obtain the data sequence number that matches the data range corresponding to the number to be searched.

[0160] In this embodiment of the invention, the processing unit 80 includes:

[0161] Randomly generate two numbers for order-preserving encryption;

[0162] The system receives a public key for homomorphic encryption sent by the client, and encrypts the two numbers using the public key to obtain a first ciphertext and a second ciphertext, respectively.

[0163] Homomorphic multiplication and homomorphic addition are performed on the encrypted ciphertext using the first ciphertext and the second ciphertext to obtain the processed ciphertext.

[0164] Based on the same inventive concept, such as Figure 11 As shown, this embodiment of the invention also provides a privacy information retrieval system, including:

[0165] Client 110 and server 120 connected to client 110; wherein: client 110 is configured as follows:

[0166] Get the number to be searched by the user;

[0167] The number to be checked is encrypted using homomorphic encryption, and the encrypted ciphertext is sent to the server 120;

[0168] The server 120 receives ciphertext after processing the encrypted ciphertext using homomorphic encryption and order-preserving encryption, and order-preserving ciphertext data ranges after the server 120 performs order-preserving encryption transformation on each data range in the full plaintext dataset, wherein the full plaintext dataset is a dataset pre-stored in the server 120.

[0169] The processed ciphertext is decrypted using homomorphic decryption to obtain the decrypted number;

[0170] The decrypted number is compared with each number in the ordered ciphertext data range to obtain the data sequence number that matches the data range of the number to be searched.

[0171] The unintentional transmission protocol is executed according to the data sequence number to obtain the search results corresponding to the data sequence number.

[0172] Based on the same inventive concept, embodiments of the present invention also provide a privacy information retrieval device, the retrieval device including a processor, the processor being used to execute a computer program stored in a memory to implement the steps of the privacy information retrieval method as described above.

[0173] Based on the same inventive concept, embodiments of the present invention also provide a readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the privacy information retrieval method described above.

[0174] This invention provides a privacy information retrieval method, apparatus, and system. First, a user-inputted number is obtained. Then, homomorphic encryption is used to encrypt the number, and the encrypted ciphertext is sent to a server. The server processes the encrypted ciphertext using both homomorphic and order-preserving encryption, performing order-preserving encryption transformation on each data range in a pre-stored full plaintext dataset on the server to obtain an order-preserving ciphertext data range. The processed ciphertext and the order-preserving ciphertext data range are then sent to a client. The client then uses homomorphic decryption to decrypt the processed ciphertext, obtaining a decrypted number. The decrypted number is then compared with each number in the order-preserving ciphertext data range to obtain a data sequence number that matches the data range of the number to be retrieved. Finally, an unauthorized transfer protocol is executed based on the data sequence number to obtain the retrieval result corresponding to that data sequence number.

[0175] In this way, homomorphic encryption and order-preserving encryption can protect server-side data and enable clients to retrieve encrypted ranges of server-side data. This ensures that the server-side data range is presented to the user in ordered ciphertext, preventing the user from decrypting the original plaintext data range without knowing the order-preserving key. Simultaneously, the ordered ciphertext guarantees that the client can perform sequential ordered ciphertext range retrievals of server-side data. This enables privacy-preserving information retrieval within data ranges, ensuring user information security.

[0176] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0177] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0178] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0179] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0180] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for retrieving privacy information, applied to a client, characterized in that, The method comprises the following steps: obtaining a user inputted search number; encrypting the search number by homomorphic encryption and sending the encrypted ciphertext to a server; receiving the ciphertext processed by the server by homomorphic encryption and order-preserving encryption, and the order-preserving ciphertext data range processed by the server by order-preserving encryption on each data range in a full-amount plaintext data set, wherein the full-amount plaintext data set is a data set pre-stored in the server; decrypting the processed ciphertext by homomorphic decryption to obtain a decrypted number; comparing the decrypted number with the numbers in the order-preserving ciphertext data range to obtain a data sequence number corresponding to the data range of the search number; performing an oblivious transfer protocol according to the data sequence number to obtain a search result corresponding to the data sequence number.

2. The method of claim 1, wherein, The method of encrypting the search number by homomorphic encryption and sending the encrypted ciphertext to a server comprises the following steps: generating a public key and a private key for homomorphic encryption; encrypting the search number by the public key to obtain the encrypted ciphertext; sending the encrypted ciphertext and the public key to the server and storing the private key.

3. The method of claim 2, wherein, The method of receiving the ciphertext processed by the server by homomorphic encryption and order-preserving encryption, and the order-preserving ciphertext data range processed by the server by order-preserving encryption on each data range in a full-amount plaintext data set comprises the following steps: receiving the first ciphertext and the second ciphertext obtained by the server by encrypting two randomly generated numbers by the public key, and the processed ciphertext obtained by performing homomorphic multiplication and homomorphic addition on the encrypted ciphertext by the first ciphertext and the second ciphertext, wherein the two numbers are keys for order-preserving encryption; receiving the order-preserving ciphertext data range processed by the server by order-preserving encryption on each data range in a full-amount plaintext data set by the two numbers.

4. The method of claim 3, wherein, The method of decrypting the processed ciphertext by homomorphic decryption to obtain a decrypted number comprises the following steps: decrypting the processed ciphertext by the private key to obtain a number processed by order-preserving encryption by the server by the two numbers, and taking the number processed by order-preserving encryption as the decrypted number.

5. A method for retrieving privacy information, applied on a server side, characterized in that, The method comprises the following steps: receiving the encrypted ciphertext from a client, wherein the encrypted ciphertext is the ciphertext obtained by the client by encrypting a user inputted search number by homomorphic encryption; processing the encrypted ciphertext by homomorphic encryption and order-preserving encryption to obtain processed ciphertext; processing each data range in a full-amount plaintext data set by order-preserving encryption to obtain an order-preserving ciphertext data range, wherein the full-amount plaintext data set is a data set pre-stored in the server; sending the processed ciphertext and the order-preserving ciphertext data range to the client, so that the client compares the decrypted number obtained by decrypting the processed ciphertext by homomorphic decryption with the numbers in the order-preserving ciphertext data range, and obtains a data sequence number corresponding to the data range of the search number. The processing of the encrypted ciphertext by the homomorphic encryption and the order-preserving encryption includes: Randomly generating two numbers for order-preserving encryption; Receiving the public key for homomorphic encryption sent by the client, and encrypting the two numbers by the public key to obtain first ciphertext and second ciphertext respectively; Homomorphic multiplication and homomorphic addition are performed on the encrypted ciphertext by using the first ciphertext and the second ciphertext to obtain processed ciphertext. 6.A private information retrieval device, applied to a client, characterized in that, It includes: A first acquisition unit configured to acquire a user-input search number; An encryption unit configured to encrypt the search number by homomorphic encryption and send the encrypted ciphertext to a server; A first receiving unit configured to receive ciphertext processed by the server by homomorphic encryption and order-preserving encryption, and order-preserving ciphertext data ranges obtained by the server by performing order-preserving encryption on multiple data ranges in a full-amount plaintext data set, wherein the full-amount plaintext data set is a data set pre-stored in the server; A decryption unit configured to decrypt the processed ciphertext by homomorphic decryption to obtain decrypted numbers; A first obtaining unit configured to compare the decrypted numbers with numbers in the order-preserving ciphertext data ranges to obtain data sequence numbers corresponding to data ranges of the search number; A second acquisition unit configured to execute an oblivious transfer protocol according to the data sequence numbers to obtain search results corresponding to the data sequence numbers. 7.A privacy information retrieval apparatus, applied to a server, characterized in that, It includes: A second receiving unit configured to receive encrypted ciphertext from a client, wherein the encrypted ciphertext is ciphertext encrypted by the client by homomorphic encryption on a user-input search number; A processing unit configured to process the encrypted ciphertext by homomorphic encryption and order-preserving encryption to obtain processed ciphertext; A second obtaining unit configured to perform order-preserving encryption on multiple data ranges in a full-amount plaintext data set to obtain order-preserving ciphertext data ranges, wherein the full-amount plaintext data set is a data set pre-stored in the server; A sending unit configured to send the processed ciphertext and the order-preserving ciphertext data ranges to the client, so that the client compares decrypted numbers obtained by decrypting the processed ciphertext by homomorphic decryption with numbers in the order-preserving ciphertext data ranges, and obtains data sequence numbers corresponding to data ranges of the search number; The processing unit includes: Randomly generating two numbers for order-preserving encryption; Receiving the public key for homomorphic encryption sent by the client, and encrypting the two numbers by the public key to obtain first ciphertext and second ciphertext respectively; Homomorphic multiplication and homomorphic addition are performed on the encrypted ciphertext by using the first ciphertext and the second ciphertext to obtain processed ciphertext.

8. A private information retrieval system characterized in that, It includes: A client and a server connected to the client; wherein the client is configured to: Acquire a user-input search number; Encrypt the search number by homomorphic encryption and send the encrypted ciphertext to the server; receive the ciphertext processed by the server using homomorphic encryption and order-preserving encryption, and the order-preserving ciphertext data range transformed by the server from each piece of data range in the full-amount plaintext data set, wherein the full-amount plaintext data set is a data set pre-stored in the server; decrypt the processed ciphertext using homomorphic decryption to obtain a decrypted number; compare the decrypted number with the numbers in the order-preserving ciphertext data range piece by piece to obtain a data sequence number corresponding to the data range of the to-be-searched number; execute a careless transmission protocol according to the data sequence number to obtain a search result corresponding to the data sequence number.

9. A private information retrieval apparatus characterized by comprising: The search device comprises a processor configured to implement the steps of the privacy information search method according to any one of claims 1-5 when executing a computer program stored in a memory.

Citation Information

Patent Citations

  • Homomorphic privacy set intersection method based on order-preserving function

    CN113179150A