Efficient batch privacy information retrieval method and system based on OCD and GPU optimization

This privacy information retrieval method, optimized by OCD and GPU, utilizes the PBC and national cryptographic SM3 algorithms to divide the database into buckets, compress retrieval requests, and process multiplication operations in parallel. This solves the problems of long response time and low autonomy and controllability in existing technologies, and achieves efficient privacy information retrieval.

CN121093374APending Publication Date: 2025-12-09BEIHANG UNIV +1
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202511043946.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-28
Publication Date
2025-12-09

AI Technical Summary

Technical Problem

Existing privacy information retrieval solutions suffer from long server response times, difficulty in handling large volumes of queries, and low levels of autonomy and control, especially under conditions of large-scale databases and high-frequency access.

Method used

An OCD and GPU-optimized approach is adopted, which uses the PBC encoding algorithm to divide the database into buckets, uses the PBC scheduling algorithm and OCD to compress retrieval requests, and utilizes the GPU to perform parallel multiplication operations to process the multiplication operations in the server response process in parallel. The national cryptographic SM3 algorithm is combined to improve the system's autonomy and controllability.

Benefits of technology

It significantly improves the computational efficiency and batch processing capabilities for privacy information retrieval, is suitable for large-scale databases and high-frequency access, enhances the system's autonomy and controllability, and avoids privacy leaks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121093374A_ABST
    Figure CN121093374A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data information retrieval, and discloses an efficient batch privacy information retrieval method and system based on OCD and GPU optimizing.The efficient batch privacy information retrieval method comprises the steps that firstly, a server is initialized, a database is subjected to bucket division through a PBC encoding algorithm based on the client query number, the database subjected to bucket division is obtained, and when a user conducts information retrieval, the user can retrieve privacy information in a batch mode; the method comprises the following steps of: finding a sub-bucket position of a retrieval request in a server at a client by using a PBC scheduling algorithm, carrying out homomorphic encryption on the retrieval request in each sub-bucket, compressing all the retrieval requests by using an OCD to obtain a retrieval ciphertext, sending the retrieval ciphertext to the server, and sending the retrieval ciphertext to the server according to the retrieval ciphertext provided by the client. The retrieval result in the ciphertext form is obtained and returned to the client side, the client side decrypts the retrieval result in the ciphertext form, and the required retrieval result in the plaintext form is obtained. According to the method, the GPU is used for parallel processing, computing resources in a real scene can be fully utilized, and the computing efficiency of privacy information retrieval is remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data information retrieval, in particular to a high-efficiency batch private information retrieval method and system based on OCD and GPU optimization. BACKGROUND

[0002] Information explosion has become one of the most prominent features of contemporary society. While generating massive amounts of data, it also brings difficulties and challenges in efficiently and accurately utilizing the required data. In this context, information retrieval (IR) technology emerges as the times require, which can help users quickly locate target content from massive amounts of data. Whether it is searching for and purchasing required goods on e-commerce platforms, or searching for and browsing news information on social media, the essence is that the server returns the corresponding results based on the structured database according to the user's retrieval request. However, the traditional retrieval method usually requires the user to submit the query request to the server in plaintext form, which often accompanies the risk of privacy leakage. Specifically, the server can record the user's retrieval history, infer their interests, behaviors, and even sensitive information. For example, e-commerce platforms may use a user's shopping preferences to "kill the familiar with big data", and social media platforms may build "information cocoon" according to the user's browsing preferences.

[0003] In order to enjoy the convenience of data retrieval while protecting user privacy, private information retrieval (PIR) technology is proposed. The core goal of this technology is to balance the correctness and privacy of user queries, that is, users can obtain the required data from the server, while the server cannot know the user's query condition, thereby reducing the server's portrait tracking of the user, making information acquisition no longer a one-way transparent process, but a user-led private and secure behavior. From medical record queries to financial data retrieval, from anonymous access to academic research to daily search anti-tracking, the application scenarios of private information retrieval are expanding. In addition, with the continuous growth of data size and query demand, efficient batch processing of multiple query requests is also the key to promoting the application of private information retrieval technology.

[0004] However, the current existing privacy information retrieval scheme has the following problems. (1) Long server response time: the existing scheme usually needs to serially traverse all database entries when processing a single retrieval request, and the response efficiency is low, which is difficult to adapt to the privacy information retrieval demand of large-scale database. (2) Difficult to deal with a large number of queries: the existing scheme is limited by the characteristics of the underlying encryption technology or the rapid expansion of additional overhead when processing multiple query requests in batches, and the number of requests that can be processed in batches is quite limited, which is difficult to support high-frequency retrieval of the database. (3) Low degree of autonomy and controllability: the underlying password components used by the existing scheme are complex in source, and most of them are not compatible with the national encryption algorithm with complete independent intellectual property rights in China. If part of the components has backdoor or security vulnerability, it may still cause user privacy leakage. SUMMARY

[0005] In view of the defects of the prior art, the present application provides an efficient batch privacy information retrieval method and system based on OCD and GPU optimization, which has the advantages of avoiding privacy leakage and solves the above technical problems.

[0006] To achieve the above object, the present application provides the following technical scheme: an efficient batch privacy information retrieval method based on OCD and GPU optimization, comprising the following steps: S1: server initialization, using PBC encoding algorithm to encode the database based on the number of client queries Carry out the bucketing to obtain the bucketed database ; Among them, Respectively represents the first Bucket; S2: the user uses PBC scheduling algorithm on the client side to find the bucket position of the retrieval request in the server, and homomorphically encrypts the retrieval request in each bucket, and then uses OCD to compress the encrypted retrieval request to obtain retrieval ciphertext And send it to the server; S3: the server needs to obtain the retrieval result in the form of ciphertext according to the retrieval ciphertext provided by the client , and return it to the client, and the client decrypts the retrieval result to obtain the required .

[0007] As a preferred technical scheme of the present application, the total number of buckets in S1 Is 1.5 times the number of client queries ; For the first Data in the server , use 3 hash functions on And ​The three hash values ​​are then assigned to the corresponding buckets.

[0008] As a preferred embodiment of the present invention, the step S2, in which the user uses the PBC scheduling algorithm on the client to find the bucket position of the retrieval request in the server, specifically involves: The client for the first Query requests Each of the three hash functions needs to be selected, and the first one needs to be set as the hash function. Query requests Dispatch to the corresponding bucket; When the Query requests If all three corresponding scheduling positions are occupied, then one of the occupied positions will be used. The query request for the scheduling location is replaced, and the replaced query request uses the same... In the same way, the corresponding three scheduling positions are reselected, and so on.

[0009] As a preferred embodiment of the present invention, the homomorphic encryption specifically comprises: Client record Query requests scheduling results And calculate the first Query requests Order of appearance in this bucket Finally, for Perform homomorphic encryption to obtain the query key-value pair. ; in, Indicates the first The hash function for the th The hash value output by each query request. , , Indicates the number of client queries. Indicates to The homomorphic encrypted ciphertext.

[0010] As a preferred technical solution of the present invention, the query key-value pair is used as a plane Points Having received this points polynomial of degree The specific expression is as follows: in, The input values ​​represent the polynomial. To express summation, In the process of summation, variables are represented. all integers from 1 to , denotes multiplication, denotes the variable all integers from 1 to except , denotes the coordinate of the corresponding point on the plane of the homomorphic encryption ciphertext of , denotes the coordinate of the corresponding point on the plane of the scheduling result of , denotes the coordinate of the corresponding point on the plane of the other scheduling result different from , denotes the coordinate of the corresponding point on the plane of the other scheduling result different from .

[0011] The search ciphertext is a polynomial .

[0012] As a preferred technical scheme of the present application, the server in the S3 needs to obtain the search result in the form of ciphertext according to the search ciphertext provided by the client, and the specific expression of the search result is: wherein, denotes summation, denotes the one-hot vector of the i-th query information of the client, denotes the i-th component of the one-hot vector , denotes the i-th data in the bucket , denotes the i-th data in the bucket , denotes the number of data entries in the bucket ; and in this process, all multiplication operations are processed in parallel using a GPU to improve the response efficiency of the server. The present application also provides an efficient batch private information search system based on OCD and GPU optimization, which is used to execute the above-mentioned efficient batch private information search method based on OCD and GPU optimization.

[0013] Compared with the prior art, the present application provides an efficient batch private information search method and system based on OCD and GPU optimization, which has the following beneficial effects: ​1、The application can fully utilize the computing resources in the real scene, significantly improve the computing efficiency of private information retrieval, make the application scheme better applicable to large-scale databases, and promote its application in the big data scene.

[0014] 2、The application can fully utilize the communication resources in the real scene, significantly improve the batch processing capacity of private information retrieval for large-scale queries, make the application scheme better applicable to databases that need high-frequency access, and promote its application in the data element flow process.

[0015] 3、The hash functions in the application are all adapted to the national SM3 algorithm, which can significantly improve the self-controllability of the system, avoid user privacy leakage caused by backdoors or security risks in the hash function, make the application scheme better applicable to secure databases that need to have China's independent intellectual property rights, and promote its application in the fields of high security and high autonomy such as government and enterprises. BRIEF DESCRIPTION OF DRAWINGS

[0016] Figure 1 is a schematic diagram of the technical implementation scheme of the application; Figure 2 is a schematic diagram of the server initialization stage of the application; Figure 3 is a schematic diagram of the client query stage of the application; Figure 4 is a schematic diagram of the server response stage of the application. DETAILED DESCRIPTION

[0017] The technical solutions in the embodiments of the application will be described clearly and completely below with reference to the drawings in the embodiments of the application. Obviously, the described embodiments are only part of the embodiments of the application, not all the embodiments. Based on the embodiments in the application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the application.

[0018] Please refer to Figures 1-4This invention proposes an efficient batch privacy information retrieval method and system based on OCD and GPU optimization, which can efficiently complete batch retrieval of large-scale databases while protecting user query privacy. Specifically: For problem (1), this invention utilizes the multi-threaded parallel computing capability of GPUs to perform block parallel and multi-threaded processing on the core operation in the server response process—that is, the multiplication operation in the large-scale vector inner product operation—thereby significantly improving the server response efficiency. For problem (2), this invention uses the Oblivious Ciphertext Decompression (OCD) algorithm to compress the user's batch query, significantly reducing additional overhead and improving the processing capability for large-scale batch retrieval. For problem (3), when implementing batch privacy information retrieval, the underlying hash algorithm of this invention is compatible with the national cryptographic SM3 algorithm, thereby enhancing the autonomy and controllability of the entire system. This invention can achieve efficient batch privacy information retrieval of structured databases. In a structured database, each piece of data contains two keywords—index. and information Stock databases (indexed by stock codes and current stock prices), student grade databases (indexed by student IDs and GPAs), and company salary databases (indexed by employee IDs and salary amounts) are all common examples of structured databases. In the following description, this invention will use a stock database as an example to introduce the technical implementation scheme of this invention.

[0019] During the process of performing batch privacy information retrieval on the stock database, the server holds the stock database. ,in This refers to the number of shares recorded in the database. For the first The current stock price of a stock, for example, assuming the current stock price of Ping An Bank (stock code: 000001) is 13 yuan, then its stock price in the stock database... The Chinese character is represented as (For ease of subsequent description, the leading zeros of stock codes in the database are omitted in this invention).

[0020] Users enter the stock code they want to query in the client. ,in This refers to the number of stocks the user wants to query in batches. For the first Each query corresponds to a specific stock code. For example, if a user wants to query the stock price information of banks such as Ping An Bank (stock code: 000001) and Ningbo Bank (stock code: 002142) in batches, the query request provided will be... .

[0021] The server will retrieve the data entry satisfying stock code according to the query request of the client, and return the corresponding stock price information (since , it can also be written as ). And in this process, the server cannot know the specific query request of the client , so as to avoid the server from knowing the user's investment preference through the query behavior of the client, and then selectively pushing information in the related field, constructing "information cocoon room" to mislead the user's judgment, or differentiating the pricing of related financial products, and carrying out "big data killing familiar people".

[0022] As Figure 1 shown, the scheme of the present application realizes efficient batch private information retrieval of structured database through three stages of server initialization, client query and server response, which will be introduced in stages.

[0023] S1: Server initialization stage: In the server initialization stage, the server needs to use the encoding algorithm of the probabilistic batch code (Probabilistic Batch Code, PBC) to divide the database into buckets, and get the divided database , the number of buckets is 1.5 times the number of client queries (where buckets will be used to process queries of the client, and the other buckets are redundant buckets to avoid collision of the hash function); It should be noted that PBC supports two algorithms, namely encoding algorithm (PBC.Encode) and scheduling algorithm (PBC.Schedule), wherein the encoding algorithm is used by the server in this stage, and the scheduling algorithm is used by the client in the next stage (i.e. client query stage).

[0024] The detailed operation is as shown in Figure 2 , for each data , the server uses three hash functions on to get , and then places the corresponding in the bucket .

[0025] It should be noted that the hash functions used in the present application are only used to map the entry index, the input of which is , and the output is The random number in the server is used as a parameter of the hash function, and no other additional properties (such as distance sensitivity) are required to be introduced, so the system is compatible with the SM3 algorithm, and the overall autonomous controllable ability of the system is improved, which is one of the important features of the application.

[0026] In the implementation process taking the stock database as an example, it is assumed that the server allows the user to query a maximum of stock information in batches each time, so the stock database needs to be divided into buckets. For the database entry of the stock code 000001 and the current stock price of 13 yuan, the server calculates , and it is assumed that the calculation result is , so the server places the corresponding stock price information "13 yuan" into the first, fourth and sixth buckets.

[0027] S2 client query phase: In the client query phase, the client needs to construct a search ciphertext according to the user's search request and send it to the server. Specifically, the client first uses the PBC scheduling algorithm to find the bucket position of the search request in the server, then homomorphically encrypts the search request in each bucket, and finally uses the OCD to compress the encrypted search request to obtain the search ciphertext .

[0028] Figure 3 As shown in the detailed operation, in the PBC scheduling process, the client needs to select one from the aforementioned three hash functions for each query request , and schedule the query to the th bucket.

[0029] It should be noted that all queries need to be scheduled to different buckets. Therefore, if all the scheduling positions corresponding to a query request are occupied by other queries, it needs to replace one of the queries occupying the scheduling position, and then make the replaced query request select again in its three scheduling positions, and so on. Therefore, the above scheduling method can ensure that there is a data entry in the corresponding bucket that the client wants to query, and under the parameter selection of , the number of buckets has 50% redundancy, which can ensure that the probability of scheduling failure is less than (trillionth), which can be almost ignored.

[0030] After the scheduling is completed, the client records the scheduling result of each query , and calculates the appearance order in the bucket , and finally homomorphically encrypts to obtain the query key-value pair , wherein represents the homomorphic encryption ciphertext of .

[0031] In addition, in order to avoid the scheduling result from leaking the user query privacy, the client also needs to generate a virtual query key-value pair for the remaining redundant buckets, wherein is a random number, so that the query of each bucket is formally equivalent, and the server cannot judge the true query intention of the user in the subsequent query process.

[0032] After the above steps are completed, the existing scheme often directly sends all query requests, however, 1 / 3 of the contents are useless fillings, which leads to great waste. Therefore, in the present scheme, the present application uses OCD to compress the query request, that is, instead of directly sending query requests, an oblivious key-value pair storage structure is constructed, only query key-value pairs are stored, and the server cannot know which queries in the bucket are meaningful, so as to achieve the same privacy protection effect as sending all query requests.

[0033] Specifically, the present application can use the Lagrange interpolation method to construct , that is, the query key-value pair is regarded as points on a plane, and a polynomial passing through the points is obtained. Wherein represents the input value of the polynomial, represents the summation, represents that the variable needs to traverse all integers between 1 and in the summation process, represents the cumulative multiplication, represents that the variable needs to traverse all integers between 1 and except in the cumulative multiplication process, represents the homomorphism encryption of​ coordinates of points corresponding to homomorphic encryption ciphertexts of coordinates of points corresponding to scheduling results of coordinates of points corresponding to other scheduling results different from coordinates of points corresponding to other scheduling results different from

[0034] At this time, for meaningful buckets , substituting them into can obtain the corresponding query , and for meaningless buckets, substituting them into will obtain a random value, and for the interpolated polynomial, the server cannot know which points in are interpolated to obtain the polynomial. Therefore, the client sends all coefficients of to the server as query ciphertext , which can reduce the size of the query ciphertext of compared to the existing scheme of sending all query requests, or support additional number of batch retrievals under the same query ciphertext size. For example, when the number of entries in the database in the server is , and the client simultaneously performs queries, the query ciphertext size of the existing scheme is 42MB, while the query ciphertext size of the OCD compression of the present application is 28MB, which is one of the important features of the present application.

[0035] In the implementation process taking a stock database as an example, assuming that a user wants to simultaneously query the stock prices of stocks with stock codes 000001, 000002, and 000004, then the client needs to use to schedule the stock codes “1, 2, 4”, assuming that the scheduling result is , then the order of the stock price information in the corresponding buckets is 1, 1, and 3, respectively, and the query key generated by the client corresponds to . Then the client uses Lagrange interpolation to obtain a quadratic polynomial satisfying , and sends the coefficients of the polynomial to the server.

[0036] S3: Server response phase: In the server response phase, the server needs to obtain the retrieval result in the form of ciphertext according to the retrieval ciphertext provided by the user ​​​​The results are then returned to the client, who decrypts the search results to obtain the desired information. Specifically, the server first performs OCD decompression to recover the retrieval request for each bucket, and then retrieves the corresponding results within each bucket.

[0037] Detailed instructions are as follows Figure 4 As shown, during the OCD decompression process, the server sequentially assigns the bucket numbers... Substitute in sequence This will generate the query request for the corresponding bucket.

[0038] The server then queries each bucket. If the client wants to query a bucket... The first in If there are multiple pieces of information, then the server can transform the client's query information into a one-hot vector. Only the first one Components All other components are After that and Performing the dot product, we get ,in Indicates bucket division The number of data entries in the data. Represents the one-hot vector The One portion, Indicates bucket division The first in Data entries.

[0039] In homomorphic encryption systems, the result of operations performed on ciphertext is equivalent to the encryption of the result of operations performed on plaintext. Therefore, in computation... During the process, only Will because of multiplication And those that are retained, others All will be due to multiplication And was discarded, therefore what was ultimately obtained It's about dividing the buckets. The Middle The homomorphic ciphertext of the message, i.e. .

[0040] Finally, the server obtains the ciphertext search results from all buckets. The system then returns the results to the client. The client decrypts the data to obtain the plaintext search results. By combining this plaintext with the mapping between search requests and bucket numbers in the scheduling algorithm, the desired search results can be obtained. .

[0041] It should be noted that when calculating the inner product... A large number of multiplication operations are required in the process. The existing scheme lacks parallel processing in this process and needs to serially traverse the variable , calculate and accumulate all . However, in fact, the here can be processed in parallel, thereby improving the server response efficiency.

[0042] Therefore, the scheme of the present application utilizes the multi-thread parallel computing capability of the GPU and the efficient thread management function of the CUDA architecture, divides the traversal and calculation process of the into intervals of the same size, wherein is the number of threads that can be processed in parallel by the GPU used (for cases that cannot be divided evenly, let the size of the partial interval decrease by 1), and utilizes the GPU to perform parallel calculation on all intervals, thereby greatly improving the actual efficiency of multiplication operations. For example, when the number of entries in the database in the server is , the existing scheme serially processes the NTT multiplication for 11513 milliseconds, while the present application based on the NVIDIA RTX-3090 parallelly processes the NTT multiplication only for 43 milliseconds, which is 267 times faster, and is one of the important features of the present application.

[0043] In the implementation process taking a stock database as an example, assuming that a user wants to simultaneously query the stock prices of stocks with stock codes 000001, 000002 and 000004, and has submitted the polynomials according to the operation in step (2), then the server can obtain by substituting 1 into , and then convert it into a unique vector and perform inner product operation with the stock price information stored in the bucket to obtain .

[0044] After that, the server returns to the client, and after decryption, the client can obtain that the query result corresponding to the first bucket is "45 yuan", and combining the previous scheduling operation of (that is, the stock query for the code 000004 is performed in the first bucket), the user can know that the stock price corresponding to the stock with the code 000004 is 45 yuan, and the rest of the queries are the same.

[0045] Although embodiments of the present application have been shown and described, it will be understood by those of ordinary skill in the art that various changes, modifications, replacements and variations of these embodiments can be made without departing from the principles and spirits of the present application, and the scope of the present application is defined by the appended claims and their equivalents.

Claims

1. A highly efficient batch privacy information retrieval method based on OCD and GPU optimization, characterized in that: Includes the following steps: S1: Perform server initialization, and use the PBC encoding algorithm to initialize the database based on the number of client queries. Perform bucketing to obtain the bucketed database. ; in, They represent the first Individual buckets; S2: The user uses the PBC scheduling algorithm on the client to find the bucket location of the search request on the server, performs homomorphic encryption on the search requests in each bucket, and then uses OCD to compress the encrypted search requests to obtain the ciphertext. and send it to the server; S3: The server needs to retrieve the encrypted text provided by the client. The retrieval results are obtained in encrypted form. The results are then returned to the client, who decrypts them to obtain the desired information. .

2. The efficient batch privacy information retrieval method based on OCD and GPU optimization according to claim 1, characterized in that: The total number of buckets in S1 Number of queries for the client 1.5 times; For the server in the first data ,right Use 3 hash functions, and The three hash values ​​are then assigned to the corresponding buckets.

3. The efficient batch privacy information retrieval method based on OCD and GPU optimization according to claim 2, characterized in that: In S2, the user uses the PBC scheduling algorithm on the client to find the bucket position of the retrieval request on the server, specifically as follows: The client for the first One query request Each of the three hash functions needs to be selected, and the first one needs to be set as the hash function. One query request Dispatch to the corresponding bucket; When the One query request If all three corresponding scheduling positions are occupied, then one of the occupied positions will be used. The query request for the scheduling location is replaced, and the replaced query request uses the same... In the same way, the corresponding three scheduling positions are reselected, and so on.

4. The efficient batch privacy information retrieval method based on OCD and GPU optimization according to claim 3, characterized in that: The homomorphic encryption specifically refers to: Client record One query request scheduling results And calculate the first One query request Order of appearance in this bucket Finally, for Perform homomorphic encryption to obtain the query key-value pair. ; in, Indicates the first The hash function for the th The hash value output by each query request. , , Indicates the number of client queries. Indicates to The homomorphic encrypted ciphertext.

5. The efficient batch privacy information retrieval method based on OCD and GPU optimization according to claim 4, characterized in that: The query key-value pairs are used as a plane Points Having received this points polynomial of degree The specific expression is as follows: in, The input values ​​represent the polynomial. To express summation, In the process of summation, variables are represented. Need to traverse 1 to All integers between Indicates cumulative multiplication. Represents the variable in the cumulative multiplication process. Need to traverse 1 to In addition to All integers other than Indicates to The homomorphic encrypted ciphertext corresponds to the point on the plane coordinate, Indicates to The scheduling results correspond to the points on the plane. coordinate, Indicates different Other scheduling results correspond to points on the plane coordinate. The retrieval ciphertext For polynomials .

6. The efficient batch privacy information retrieval method based on OCD and GPU optimization according to claim 5, characterized in that: In S3, the server needs to retrieve the encrypted text provided by the client. The retrieval results are obtained in encrypted form. The specific expression is: in, To express summation, Indicates the client's first One-hot vector of query information, Represents the one-hot vector The One portion, Indicates bucket division The first in data, Indicates bucket division The number of data entries in the data is determined, and the GPU is used to process all multiplication operations in parallel during this process.

7. A high-efficiency batch privacy information retrieval system based on OCD and GPU optimization, characterized in that: This method is used to perform the efficient batch privacy information retrieval method based on OCD and GPU optimization as described in any one of claims 1-6.

Citation Information

Cited By

  • Precision-controllable lattice-based homomorphic encryption inner product data similarity retrieval method and system

    CN121501866A

  • Fully homomorphic encryption database query processing system based on GPU acceleration

    CN121902198A

  • A GPU-accelerated fully homomorphic encryption database query processing system

    CN121902198B