Client-side-noninductive distributed private information retrieval method supporting metadata protection

By embedding encrypted homomorphic computation into a distributed private information retrieval method, the problems of metadata privacy protection and low efficiency of private information retrieval in network communication are solved, achieving client-unnoticed metadata protection and low-latency communication.

CN121125341APending Publication Date: 2025-12-12UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511619721.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-06
Publication Date
2025-12-12

AI Technical Summary

Technical Problem

Existing technologies cannot effectively protect metadata privacy in network communication, and the low efficiency of private information retrieval leads to high server computing pressure and increased user response latency.

Method used

A client-insensitive distributed private information retrieval method supporting metadata protection is adopted. Through steps such as system initialization, slot allocation, message sending and matrix filling, client login and private information retrieval request distribution, encrypted homomorphic computation is embedded to achieve client-insensitive private information retrieval, reduce server computing pressure and protect metadata.

Benefits of technology

It achieves client-side seamless metadata protection, reduces server computational load and communication latency, while protecting the privacy of metadata such as communication time and objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121125341A_ABST
    Figure CN121125341A_ABST
Patent Text Reader

Abstract

The invention discloses a client non-inductive distributed private information retrieval method supporting metadata protection, which relates to the technical field of communication security and comprises the following steps: initializing a system to determine a public parameter set; the system distributes a message matrix slot position for the online client and completes the establishment of communication connection between the two communication clients; the online client encrypts a transmission message and transmits the encrypted transmission message to the server, and a corresponding matrix slot of the client is filled with ciphertext information at the server side to obtain a message matrix; the online client sends a private information retrieval request according to the matrix slot position of the communication opposite side; performing client login and distributed private information retrieval calculation under a challenge-response mechanism; the server performs final private information retrieval request calculation and returns a final response to the requesting client, and the client recovers communication plaintext data by using a private key; according to the invention, the calculation pressure of the server side is effectively reduced; and meanwhile, metadata such as communication time and communication objects are protected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication security technology, and specifically to a client-invisible distributed private information retrieval method that supports metadata protection. Background Technology

[0002] In network communication systems, the core of communication security is not limited to the encryption and protection of the message content itself. In fact, communication metadata, such as communication time, communication partners, and access patterns, also carries extremely high privacy value. In the era of big data, with the advancement of data collection and analysis technologies, data aggregation is becoming increasingly convenient, and more and more information can be derived from metadata. If servers are allowed to collect and analyze metadata without restriction for extended periods, even if the message content is encrypted, it is possible to use metadata to build user profiles, construct user social relationship networks, and understand behavioral preferences through traffic pattern recognition, leading to serious privacy risks. On the other hand, private information retrieval technology is a technology that responds to user queries without disclosing the user's request. In large-scale user scenarios, servers need to independently perform a large number of encrypted homomorphic computations to handle a large number of private information retrieval requests, placing a heavy computational burden on the server. This not only increases the server load but also increases the response latency of user requests, causing system unavailability.

[0003] To meet the core requirement of metadata privacy protection in network communication, the Onion Network is widely used. Its core protection logic uses layered encryption and multi-hop forwarding mechanisms to decrypt and forward communication data layer by layer among multiple relay nodes, thereby hiding the true identities and communication paths of the communicating parties. However, although this technology can hide the communication content and data transmission path to a certain extent, metadata such as communication time, interaction frequency, and access patterns can still be inferred through traffic analysis, timing attacks, and other methods, thus posing a threat to personal information security. In addition, to improve the efficiency of private information retrieval and accelerate the response latency of user requests, distributing ciphertext homomorphic computation to users is a relatively intuitive solution. However, this requires users to perform additional interactions with the server during communication to complete proof-of-work, increasing the user's communication overhead. Summary of the Invention

[0004] The purpose of this invention is to overcome the shortcomings of the prior art and provide a client-side, seamless, distributed private information retrieval method that supports metadata protection.

[0005] The objective of this invention is achieved through the following technical solution: This invention discloses a client-side, seamless, distributed private information retrieval method supporting metadata protection, applicable to a communication system with metadata privacy protection, including a server. Online client and login client , Indicates the number of online clients. Indicate the number of logged-in clients, including the following steps: S1. During the system initialization phase, the common parameter set of the system is determined based on the system parameters; a secure homomorphic encryption algorithm, a keyword-based private information retrieval method, and a request-compressed private information retrieval method are selected; the client selects public and private keys for key negotiation and message encryption. S2, Slot Allocation and Communication Connection Establishment Phase: The server allocates a message matrix slot to the online client to store the client's encrypted message. To establish a communication connection, both clients, with the assistance of the server, verify each other's identity and obtain each other's message matrix slot. If some clients do not need to communicate with any other clients during the current communication cycle, then during the message sending phase, the client sends false data, and during the private information retrieval phase, the client sends a fuzzy query. S3, Message Sending and Matrix Filling Stage: The online client encrypts the message to be sent and sends it to the server; the server receives the ciphertext messages from all online clients, fills them into the corresponding message matrix slots, and obtains a message matrix; S4. In the private information retrieval request generation and sending stage, the online client calculates the private information retrieval request based on the message matrix slot of the communication sender and sends it to the server. S5. In the client login and private information retrieval request distribution phase, the client verifies the server's identity and establishes a secure communication connection with the server, then sends a login request. The server distributes the private information retrieval request to the client and allocates a portion of the encrypted message to the client. The client responds to the challenge sent by the server, performs encrypted homomorphic computation, and signs the computation result. Based on the client's response, the server verifies the client's identity and the correctness of the computation result. If both verifications pass, the client is allowed to enter the system. S6. In the stage of calculating the result of the private information retrieval request and returning the response, the server continues to calculate the row request of the private information retrieval based on the column request result returned by the logged-in client, obtains the final result, and returns the private information retrieval response to the online client. After receiving the response, the online client uses the private key to decrypt it and obtain the plaintext information of the communication.

[0006] Furthermore, step S1 specifically includes the following steps: S11. The system determines the system common parameter set based on safety parameters. ,in, It is a prime number. cyclic group yes generator, It is a pair of secure digital signature / verification algorithms. It is a secure pair of homomorphic encryption / decryption algorithms. It is a safe pseudo-random number function. It is a keyword-based private information retrieval algorithm. It is a private information retrieval algorithm that compresses sparse requests; S12, Computing Client The key pair, the client Includes online clients and login clients. Select As its private key, the computing client public key This key is used by the server to authenticate the client's identity and to encrypt messages during communication.

[0007] Preferably, step S2 specifically includes the following steps: S21, Server For online clients Allocate message matrix slots And send the slot information to the client. Used to store online clients The encrypted communication message; S22, Sender With the recipient Establish a communication connection and calculate the shared key. ,in Indicates the recipient The public key is the base number of the sender. The private key is an exponentiation operation, after which the first key is calculated. And send to the server ; S23, Server Received from sender of Then, create the first binary tree. The first keyword The value is ; S24, Recipient Calculate the shared key Second keyword , ,in Indicates the sender The public key is the base number of the receiver. The private key is an exponentiation operation, using the formula... calculate Send it to the server ;in This refers to the algorithm that outputs a KPIR request in a keyword-based private information retrieval algorithm. This indicates a retrieval request from the receiving client to the server using a keyword-based private information retrieval algorithm. S25, Server Through formula Calculate the first request response and send it to the recipient. , This refers to the algorithm that outputs the KPIR response in a keyword-based private information retrieval algorithm. S26, Recipient according to Get the sender The communication request is made through the formula Calculate the first keyword value And use it as the first message matrix slot. ; This refers to an algorithm that outputs private data corresponding to keywords in a keyword-based private information retrieval algorithm. S27, Recipient Respond to the communication connection request and calculate the third keyword. And send to the server ; S28, Server Received by the recipient of Then, create the second binary tree. The third keyword The value is ; S29, Sender Respond to the communication connection request and calculate the fourth keyword. Through formula calculate Send it to the server ; This indicates a retrieval request from the sender's client to the server using a keyword-based private information retrieval algorithm; S210, Server Through formula Calculate the second request response and send it to the sender. ; S211, if the sender receive ,implement Then the sender receives the message "The receiver agrees to communicate" from the receiver, along with the third keyword. value and the third keyword value As the second message matrix slot; otherwise, the receiver refuses to communicate with the sender, and the sender publishes ambiguous information during the communication process to hide the fact that it does not need to communicate.

[0008] Preferably, step S3 specifically includes the following steps: S31, Sender Select the data to be transferred. and using the receiver public key Encrypt it to obtain the ciphertext message. Then the encrypted message is sent to the server. ; S32, Server After receiving all the encrypted messages, fill them into the corresponding message matrix slots. In the process, the message matrix is ​​obtained. ,in, m The dimension of the message matrix is ​​denoted as and , Represents the message matrix of the first... Line communication encrypted data, T represents transpose.

[0009] Preferably, step S4 specifically includes the following steps: S41, Based on the first message matrix slot Recipient By using sealPIR The algorithm obtains the ciphertext of the request. Then send it to the server. ; This refers to an algorithm that encodes the requested location in an encrypted manner into an extensible sealPIR request; S42, Server Received ciphertext Then, through the formula calculate sealPIR Line request and sealPIR List Request Then, all online clients were integrated. of sealPIR Line request and sealPIR List Request Get the row request set With column request set ,Right now , This represents an algorithm that expands a request into a sparse vector in homomorphic ciphertext form.

[0010] Preferably, step S5 specifically includes the following steps: S51, Login Client Initiate a login request and communicate with the server. Establish a TLS secure channel, authentication server A valid certificate, and with the server Calculate session key Establish a secure channel, and then conduct client communication within the secure channel. With server Communication between them; S52. Based on the dimension m of the message matrix, confirm the grouping rules, and the server... The login client is divided into There are several groups, where m' represents the limit on the number of clients in each group. Then each group contains m' clients, if Then the first The number of clients in one group is less than m', and each of the remaining groups contains m' clients, as shown below: S53, Server message matrix Distributed to clients in the packets obtained in step S52, each client holding one Login client group Merge and hold a complete message matrix ,like , No. Within each group, each client has its own message matrix row, and there is no need to merge and hold a complete message matrix. ; S54, if ,server Will Cut into Mutually exclusive subsets Each set contains One request; if ,server Will Cut into Mutually exclusive subsets Each set contains Each request is processed, and a subset of each request is distributed to the client group, enabling the login client group to... All clients within have the same sealPIR Request subset ;like ,Will Send to the Groups Internal clients; S55, server Pre-calculation is performed to prepare data for subsequent checks of the login client's calculation results; one is randomly selected. m dimensional column vector Through formula Calculate inspection parameters ,in Indicates the first Group sealPIR List requests; S56, Login Client get and Through formula Calculate the first calculation result The logged-in client uses its own private key to sign the first calculation result. Get a signature Finally, the response will be Return to server ; S57. Upon receiving a login client response, the server... According to the response For login client The identity and the correctness of the calculation results are verified as follows: (1) Server Calculate the result of digital signature verification , Indicates logging into the client. public key, if Perform the calculation result verification; otherwise, abort the verification. (2) For each login client response data, the server Calculate the first intermediate result Second intermediate result ,like If the client's calculation is correct, the client is allowed to enter the system to obtain services; otherwise, if the client's calculation is incorrect, entry into the system is denied. S58. If some users calculate incorrectly, the server will perform the calculation on their behalf and obtain the corresponding first calculation result. .

[0011] Preferably, step S6 specifically includes the following steps: S61, via client login ,server Obtain the first calculation result Then, the responses within the group are merged to form a response to... The response results correspond to the first... Login client group The column request results will eventually result in a vector. Splitting by column and splitting by row: ; ; in Indicates the first The calculation results for each logged-in client, Indicates the first The calculation results for each logged-in client, Indicates the first One online client sealPIR List of request responses, Indicates online client of sealPIR List of request responses, Indicates online client of sealPIR List of request responses; S62, Server Through formula Perform local calculations to obtain the first... The final sealPIR request response from each online client And return it to the online client that made the request. ; S63, Use local private key Decryption Obtain plaintext information from the communication .

[0012] The beneficial effects of this invention are: 1) This invention distributes encrypted homomorphic computation as a login verification challenge to the client that is logging in. In the traditional challenge-response login authentication mechanism, the computation task is embedded in the challenge, so that the client performs encrypted homomorphic computation without being aware of it, which effectively reduces the computational pressure on the server side. In addition, private information retrieval technology is used to serve the communication between clients, so as to protect metadata such as communication time and communication objects. Attached Figure Description

[0013] Figure 1 This is a flowchart illustrating a client-side, seamless, distributed private information retrieval method supporting metadata protection, as described in an embodiment of the present invention. Detailed Implementation

[0014] The technical solution of the present invention will be clearly and completely described below with reference to the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and 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.

[0015] This invention discloses a client-invisible distributed private information retrieval method supporting metadata protection. It utilizes a private information retrieval method to achieve anonymous communication by requiring all users within the system to send messages to mask the existence of real communication behavior. By embedding the encrypted homomorphic computation of private information retrieval into the challenge-response process of logged-in users, client-invisible distributed private information retrieval is achieved. The flowchart of the method is shown below. Figure 1 As shown, this application provides a communication system for metadata privacy protection, including a server. Online client and login client , Indicates the number of online clients. Indicate the number of logged-in clients, including the following steps: S1. During the system initialization phase, the common parameter set of the system is determined based on the system parameters; a secure homomorphic encryption algorithm, a keyword-based private information retrieval method, and a request-compressed private information retrieval method are selected; the client selects public and private keys for key negotiation and message encryption. S2, Slot Allocation and Communication Connection Establishment Phase: The server allocates a message matrix slot to the online client to store the client's encrypted message. To establish a communication connection, both clients, with the assistance of the server, verify each other's identity and obtain each other's message matrix slot. If some clients do not need to communicate with any other clients during the current communication cycle, then during the message sending phase, the client sends false data, and during the private information retrieval phase, the client sends a fuzzy query. S3, Message Sending and Matrix Filling Stage: The online client encrypts the message to be sent and sends it to the server; the server receives the ciphertext messages from all online clients, fills them into the corresponding message matrix slots, and obtains a message matrix; S4. In the private information retrieval request generation and sending stage, the online client calculates the private information retrieval request based on the message matrix slot of the communication sender and sends it to the server. S5. In the client login and private information retrieval request distribution phase, the client verifies the server's identity and establishes a secure communication connection with the server, then sends a login request. The server distributes the private information retrieval request to the client and allocates a portion of the encrypted message to the client. The client responds to the challenge sent by the server, performs encrypted homomorphic computation, and signs the computation result. Based on the client's response, the server verifies the client's identity and the correctness of the computation result. If both verifications pass, the client is allowed to enter the system. S6. In the stage of calculating the result of the private information retrieval request and returning the response, the server continues to calculate the row request of the private information retrieval based on the column request result returned by the logged-in client, obtains the final result, and returns the private information retrieval response to the online client. After receiving the response, the online client uses the private key to decrypt it and obtain the plaintext information of the communication.

[0016] For example, the cryptographic primitives involved in this application are as follows: (1) Paillier algorithm ,in Indicates the use of a public key Encrypted messages m And output ciphertext c , Indicates use sk Decrypting the ciphertext c Received message in plaintext m .

[0017] (2) Keyword-based private information retrieval scheme KPIR algorithm ,in Indicates the use of keywords k As input, output KPIR ask kq , Indicates a request Input, Output KPIR response ka , Indicated by KPIR The response is the input, and the output is the keyword. k Corresponding privacy data a .

[0018] (3) Private information retrieval algorithm for compressing sparse requests sealPIR algorithm This algorithm primarily packages multiple requests into a single PIR request, significantly reducing communication overhead. In this invention, it is used to compress client requests by compressing vectors with a Hamming distance of 1, which are then expanded by the server to further reduce communication volume. Indicates that the location will be requested. x Encoded using the same encryption method into an extensible form. sealPIR ask, Indicates that a request will be made Extend it into a sparse vector in the form of homomorphic encrypted ciphertext.

[0019] For example, step S1 specifically includes the following steps: S11. The system determines the system common parameter set based on safety parameters. ,in, It is a prime number. cyclic group yes generator, It is a pair of secure digital signature / verification algorithms. It is a secure pair of homomorphic encryption / decryption algorithms. It is a safe pseudo-random number function. It is a keyword-based private information retrieval algorithm. It is a private information retrieval algorithm that compresses sparse requests; S12, Computing Client The key pair, the client Includes online clients and login clients. Select As its private key, the computing client public key This key is used by the server to authenticate the client's identity and to encrypt messages during communication. This represents the reduced residue group modulo p.

[0020] For example, step S2 specifically includes the following steps: S21, Server For online clients Allocate message matrix slots And send the slot information to the client. Used to store online clients The encrypted communication message; S22, Sender With the recipient Establish a communication connection and calculate the shared key. ,in Indicates the recipient The public key is the base number of the sender. The private key is an exponentiation operation, after which the first key is calculated. And send to the server ; S23, Server Received from sender of Then, create the first binary tree. The first keyword The value is ; S24, Recipient Calculate the shared key Second keyword , ,in Indicates the sender The public key is the base number of the receiver. The private key is an exponentiation operation, using the formula... calculate Send it to the server ;in This refers to the algorithm that outputs a KPIR request in a keyword-based private information retrieval algorithm. This indicates a retrieval request from the receiving client to the server using a keyword-based private information retrieval algorithm. S25, Server Through formula Calculate the first request response and send it to the recipient. , This refers to the algorithm that outputs the KPIR response in a keyword-based private information retrieval algorithm. S26, Recipient according to Get the sender The communication request is made through the formula Calculate the first keyword value And use it as the first message matrix slot; This refers to an algorithm that outputs private data corresponding to keywords in a keyword-based private information retrieval algorithm. S27, Recipient Respond to the communication connection request and calculate the third keyword. And send to the server ; S28, Server Received by the recipient of Then, create the second binary tree. The third keyword The value is ; S29, Sender Respond to the communication connection request and calculate the fourth keyword. Through formula calculate Send it to the server ; This indicates a retrieval request from the sender's client to the server using a keyword-based private information retrieval algorithm; S210, Server Through formula Calculate the second request response and send it to the sender. ; S211, if the sender receive ,implement Then the sender receives the message "The receiver agrees to communicate" from the receiver, along with the third keyword. value and the third keyword value As the second message matrix slot; otherwise, the receiver refuses to communicate with the sender, and the sender publishes ambiguous information during the communication process to hide the fact that it does not need to communicate.

[0021] For example, step S3 specifically includes the following steps: S31, Sender Select the data to be transferred. and using the receiver public key Encrypt it to obtain the ciphertext message. Then the encrypted message is sent to the server. ; S32, Server After receiving all the encrypted messages, fill them into the corresponding message matrix slots. In the process, the message matrix is ​​obtained. ,in, m The dimension of the message matrix is ​​denoted as and , Represents the message matrix of the first... Line communication encrypted data, T represents transpose.

[0022] Preferably, step S4 specifically includes the following steps: S41, Based on the first message matrix slot Recipient By using sealPIR The algorithm obtains the ciphertext of the request. Then send it to the server. ; This refers to an algorithm that encodes the requested location in an encrypted manner into an extensible sealPIR request; S42, Server Received ciphertext Then, through the formula calculate sealPIR Line request and sealPIR List Request Then, all online clients were aggregated. sealPIR Line request and sealPIR List Request Get the row request set With column request set ,Right now .in, and All of them have a Hamming distance of 1 (i.e., only one component is 1, and the rest are 0). m dimensional vectors (e.g., and ), This represents an algorithm that expands a request into a sparse vector in homomorphic ciphertext form.

[0023] For example, step S5 specifically includes the following steps: S51, Login Client Initiate a login request and communicate with the server. Establish a TLS secure channel, authentication server A valid certificate, and with the server Calculate session key Establish a secure channel, and then conduct client communication within the secure channel. With server Communication between them; S52. Based on the dimension m of the message matrix, confirm the grouping rules, and the server... The login client is divided into There are several groups, where m' represents the limit on the number of clients in each group. Then each group contains m' clients, if Then the first The number of clients in one group is less than m', and each of the remaining groups contains m' clients, as shown below: S53, Server message matrix Distributed to clients in the packets obtained in step S52, each client holding one Login client group Merge and hold a complete message matrix ,like , No. Within each group, each client has its own message matrix row, and there is no need to merge and hold a complete message matrix. ; S54, if ,server Will Cut into Mutually exclusive subsets Each set contains One request; if ,server Will Cut into Mutually exclusive subsets Each set contains Each request is processed, and a subset of each request is distributed to the client group, enabling the login client group to... All clients within have the same sealPIR Request subset ;like ,Will Send to the Groups Internal clients; S55, server Pre-calculation is performed to prepare data for subsequent checks of the login client's calculation results; one is randomly selected. m dimensional column vector Through formula Calculate inspection parameters ,in Indicates the first Group sealPIR List requests; S56, Login Client get and Through formula Calculate the first calculation result The logged-in client uses its own private key to sign the first calculation result. Get a signature Finally, the response will be Return to server ; S57. Upon receiving a login client response, the server... According to the response For login client The identity and the correctness of the calculation results are verified as follows: (1) Server Calculate the result of digital signature verification , Indicates logging into the client. public key, if Perform the calculation result verification; otherwise, abort the verification. (2) For each login client response data, the server Calculate the first intermediate result Second intermediate result ,like If the client's calculation is correct, the client is allowed to enter the system to obtain services; otherwise, if the client's calculation is incorrect, entry into the system is denied. S58. If some users calculate incorrectly, the server will perform the calculation on their behalf and obtain the corresponding first calculation result. .

[0024] For example, step S6 specifically includes the following steps: S61, via client login ,server Obtain the first calculation result Then, the responses within the group are merged to form a response to... The response results correspond to the first... Login client group The column request results will eventually result in a vector. Splitting by column and splitting by row: ; ; In the above formula The corresponding client is located at the . Groups middle, Indicates the first The calculation results for each logged-in client, Indicates the first The calculation results for each logged-in client, Indicates the first One online client sealPIR The column request response, in the above formula, indicates that the client's column request is located at the [number]th [position]. Groups middle, Indicates online client of sealPIR List of request responses, Indicates online client of sealPIR List of request responses; S62, Server Through formula Perform local calculations to obtain the first... The final sealPIR request response from each online client And return it to the online client that made the request. ; S63, Use local private key Decryption Obtain plaintext information from the communication .

[0025] In summary, this application utilizes distributed private information retrieval technology and integrates a challenge-response authentication mechanism to achieve client-unnoticed, metadata-protected communication functions. It can be embedded with most current challenge-response authentication mechanisms, protecting client metadata to prevent dishonest servers from profiling the client and threatening client information security. At the same time, through the distribution of encrypted homomorphic computation, communication latency is greatly reduced during the request-response phase.

[0026] The above description is merely a preferred embodiment of the present invention. It should be understood that the present invention is not limited to the forms disclosed herein and should not be construed as excluding other embodiments. It can be used in various other combinations, modifications, and environments, and can be altered within the scope of the concept described herein through the above teachings or related technologies or knowledge. Modifications and variations made by those skilled in the art that do not depart from the spirit and scope of the present invention should be within the protection scope of the appended claims.

Claims

1. A client-side, seamless, distributed private information retrieval method supporting metadata protection, used in a metadata privacy-preserving communication system, including a server. Online client and login client , Indicates the number of online clients. Indicates the number of logged-in clients, characterized in that, Includes the following steps: S1. During the system initialization phase, the common parameter set of the system is determined based on the system parameters; a secure homomorphic encryption algorithm, a keyword-based private information retrieval method, and a request-compressed private information retrieval method are selected; the client selects public and private keys for key negotiation and message encryption. S2, Slot Allocation and Communication Connection Establishment Phase: The server allocates a message matrix slot to the online client to store the client's encrypted message. To establish a communication connection, both clients, with the assistance of the server, verify each other's identity and obtain each other's message matrix slot. If some clients do not need to communicate with any other clients during the current communication cycle, then during the message sending phase, the client sends false data, and during the private information retrieval phase, the client sends a fuzzy query. S3, Message Sending and Matrix Filling Stage: The online client encrypts the message to be sent and sends it to the server; the server receives the ciphertext messages from all online clients, fills them into the corresponding message matrix slots, and obtains a message matrix; S4. In the private information retrieval request generation and sending stage, the online client calculates the private information retrieval request based on the message matrix slot of the communication sender and sends it to the server. S5. In the client login and private information retrieval request distribution phase, the client verifies the server's identity and establishes a secure communication connection with the server before sending a login request. The server distributes private information retrieval requests to the logged-in client and also distributes a portion of the encrypted message to the logged-in client. The login client responds to the challenge sent by the server, performs encrypted homomorphic computation, and signs the computation result; the server verifies the login client's identity and the correctness of the computation result based on the login client's response. If both verifications pass, the login client is allowed to enter the system. S6. In the stage of calculating the result of the private information retrieval request and returning the response, the server continues to calculate the row request of the private information retrieval based on the column request result returned by the logged-in client, obtains the final result, and returns the private information retrieval response to the online client. After receiving the response, the online client uses the private key to decrypt it and obtain the plaintext information of the communication.

2. The client-side, seamless distributed private information retrieval method supporting metadata protection as described in claim 1, characterized in that, Step S1 specifically includes the following steps: S11. The system determines the system common parameter set based on safety parameters. ,in, It is a prime number. cyclic group yes generator, It is a pair of secure digital signature / verification algorithms. It is a secure pair of homomorphic encryption / decryption algorithms. It is a safe pseudo-random number function. It is a keyword-based private information retrieval algorithm. It is a private information retrieval algorithm that compresses sparse requests; S12, Computing Client The key pair, the client Includes online clients and login clients. Select As its private key, the computing client public key This key is used by the server to authenticate the client's identity and to encrypt messages during communication.

3. The client-side, seamless distributed private information retrieval method supporting metadata protection as described in claim 2, characterized in that, Step S2 specifically includes the following steps: S21, Server For online clients Allocate message matrix slots And send the slot information to the client. Used to store online clients The encrypted communication message; S22, Sender With the recipient Establish a communication connection and calculate the shared key. ,in Indicates the recipient The public key is the base number of the sender. The private key is an exponentiation operation, after which the first key is calculated. And send to the server ; S23, Server Received from sender of Then, create the first binary tree. The first keyword The value is ; S24, Recipient Calculate the shared key Second keyword , ,in Indicates the sender The public key is the base number of the receiver. The private key is an exponentiation operation, using the formula... calculate Send it to the server ;in This refers to the algorithm that outputs a KPIR request in a keyword-based private information retrieval algorithm. This indicates a retrieval request from the receiving client to the server using a keyword-based private information retrieval algorithm. S25, Server Through formula Calculate the first request response and send it to the recipient. , This refers to the algorithm that outputs the KPIR response in a keyword-based private information retrieval algorithm. S26, Recipient according to Get the sender The communication request is made through the formula Calculate the first keyword value And use it as the first message matrix slot; This refers to an algorithm that outputs private data corresponding to keywords in a keyword-based private information retrieval algorithm. S27, Recipient Respond to the communication connection request and calculate the third keyword. And send to the server ; S28, Server Received by the recipient of Then, create the second binary tree. The third keyword The value is ; S29, Sender Respond to the communication connection request and calculate the fourth keyword. Through formula calculate Send it to the server ; This indicates a retrieval request from the sender's client to the server using a keyword-based private information retrieval algorithm; S210, Server Through formula Calculate the second request response and send it to the sender. ; S211, if the sender receive ,implement Then the sender receives the message "The receiver agrees to communicate" from the receiver, along with the third keyword. value and the third keyword value As the second message matrix slot; otherwise, the receiver refuses to communicate with the sender, and the sender publishes ambiguous information during the communication process to hide the fact that it does not need to communicate.

4. The client-side, seamless distributed private information retrieval method supporting metadata protection as described in claim 3, characterized in that, Step S3 specifically includes the following steps: S31, Sender Select the data to be transferred. and using the receiver public key Encrypt it to obtain the ciphertext message. Then the encrypted message is sent to the server. ; S32, Server After receiving all the encrypted messages, fill them into the corresponding message matrix slots. In the process, the message matrix is ​​obtained. ,in, m The dimension of the message matrix is ​​denoted as and , Represents the message matrix of the first... Line communication encrypted data, T represents transpose.

5. A client-side, seamless distributed private information retrieval method supporting metadata protection as described in claim 4, characterized in that, Step S4 specifically includes the following steps: S41, Based on the first message matrix slot Recipient By using sealPIR The algorithm obtains the ciphertext of the request. Then send it to the server. ; This refers to an algorithm that encodes the requested location in an encrypted manner into an extensible sealPIR request; S42, Server Received ciphertext Then, through the formula calculate sealPIR Line request and sealPIR List Request Then, all online clients were aggregated. sealPIR Line request and sealPIR List Request Get the row request set With column request set ,Right now , This represents an algorithm that expands a request into a sparse vector in homomorphic ciphertext form.

6. A client-side, seamless distributed private information retrieval method supporting metadata protection as described in claim 5, characterized in that, Step S5 specifically includes the following steps: S51, Login Client Initiate a login request and communicate with the server. Establish a TLS secure channel and authenticate the server. A valid certificate, and with the server Calculate session key Establish a secure channel, and then conduct client communication within the secure channel. With server Communication between them; S52. Based on the dimension m of the message matrix, confirm the grouping rules, and the server... The login client is divided into There are several groups, where m' represents the limit on the number of clients in each group. Then each group contains m' clients, if Then the first The number of clients in one group is less than m', and each of the remaining groups contains m' clients, as shown below: S53, Server message matrix Distributed to clients in the packets obtained in step S52, each client holding one Login client group Merge and hold a complete message matrix ,like , No. Within each group, each client has its own message matrix row, and there is no need to merge and hold a complete message matrix. ; S54, if ,server Will Cut into Mutually exclusive subsets Each set contains One request; if ,server Will Cut into Mutually exclusive subsets Each set contains Each request is processed, and a subset of each request is distributed to the client group, enabling the login client group to... All clients within have the same sealPIR Request subset ;like ,Will Send to the Groups Internal clients; S55, server Pre-calculation is performed to prepare data for subsequent checks of the login client's calculation results; one is randomly selected. m dimensional column vector Through formula Calculate inspection parameters ,in Indicates the first Group sealPIR List requests; S56, Login Client get and Through formula Calculate the first calculation result The logged-in client uses its own private key to sign the first calculation result. Get a signature Finally, the response will be Return to server ; S57. Upon receiving a login client response, the server... According to the response For login client The identity and the correctness of the calculation results are verified as follows: (1) Server Calculate the result of digital signature verification , Indicates logging into the client. public key, if Perform the calculation result verification; otherwise, abort the verification. (2) For each login client response data, the server Calculate the first intermediate result Second intermediate result ,like If the client's calculation is correct, the client is allowed to enter the system to obtain services; otherwise, if the client's calculation is incorrect, entry into the system is denied. S58. If some users calculate incorrectly, the server will perform the calculation on their behalf and obtain the corresponding first calculation result. .

7. A client-side, seamless distributed private information retrieval method supporting metadata protection as described in claim 6, characterized in that, Step S6 specifically includes the following steps: S61, via client login ,server Obtain the first calculation result Then, the responses within the group are merged to form a response to... The response results correspond to the first... Login client group The column request results will eventually result in a vector. Splitting by column and splitting by row: ; ; in Indicates the first The calculation results for each logged-in client, Indicates the first The calculation results for each logged-in client, Indicates the first One online client sealPIR List of request responses, Indicates online client of sealPIR List of request responses, Indicates online client of sealPIR List of request responses; S62, Server Through formula Perform local calculations to obtain the first... The final sealPIR request response from each online client And return it to the online client that made the request. ; S63, Use local private key Decryption Obtain plaintext information from the communication .