Method, system and equipment for predicting intersection of privacy sets of two parties based on batch grouping parallelization intersection and medium
By using a shared hash function to perform grouping parallel interchange protocol in the two-party privacy set intersection method, the existing protocol has been solved, and the problem of insufficient availability, slow computing speed and low flexibility under the scale of 100 million data is achieved. Efficient and flexible privacy set intersection calculation.
Patent Information
- Application Number
- CN202411493885.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-24
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2044-10-24
AI Technical Summary
The existing two-party privacy set intersection protocols have problems such as insufficient availability, slow computing speed and low flexibility when processing 100 million data scales.
The hash function shared by the sender and the receiver maps the elements in the respective privacy set into different numbered packets with the same total number of packets, and performs interception calculations by parallelizing the same numbered packets to achieve rapid obtaining the privacy set Intersection method.
It improves the availability and computing speed of the privacy set intersection protocol at a data scale of 100 million, and improves the flexibility of the protocol, allowing flexible integration of the privacy set intersection protocol with different advantages.
Smart Images

Figure CN119397592A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of basic components and underlying technologies of secure multi-party computing, and in particular relates to a method, system, device and medium for predicting the intersection of two privacy sets based on batch grouping parallel intersection. Background Art
[0002] Private Set Intersection (PSI) allows participants who do not trust each other and hold private data to obtain each other's private data intersection without disclosing other information through secure data integration across regions and institutions. It is a type of cryptographic technology that effectively achieves privacy protection. In the calculation of the intersection of two private sets, the two parties each hold a private set X and Y. After the calculation is completed, both parties can obtain the intersection of private data X∩Y, and cannot obtain any information other than the non-intersection [Benny Pinkas, Thomas Schneider, and Michael Zohner. Faster private set intersection based on ot extension. In Proceedings of the 23rdUSENIX Conference on Security Symposium, SEC'14, pages 797–812, Berkeley, CA, USA, 2014. USENIX Association.], [Vladimir Kolesnikov, Ranjit Kumaresan, Mike Rosulek, and Ni Trieu. Efficient batched oblivious PRF with applications to private set intersection. In Proceedings of the 2016ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24-28, 2016, pages 818–829. ACM, 2016.], [Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. SpOT-light: Lightweight private set intersection from sparse OT extension. In Alexandra Boldyreva and Daniele Micciancio, editors, CRYPTO2019, Part III, volume 11694ofLNCS,pages401–431.Springer,Heidelberg,August2019.],[Pinkas B,Rosulek M,TrieuN,et al.PSI from PaXoS:fast,malicious private set intersection[C] / / AnnualInternational Conference on the Theory and Applications of CryptographicTechniques.Cham:Springer International Publishing,2020:739-767.],[Rosulek M,Trieu N.Compact and malicious private set intersection for smallsets.InProceedings of the 2021ACM SIGSAC Conference on Computer and Communications Security.2021:1166-1181.], [Raghuraman S,Rindal P. BlazingfastPSI from improved OKVS and subfield VOLE[C] / / Proceedings of the 2022ACMSIGSAC Conference on Computer and Communications Security.2022:2505-2517.]. .
[0003] The current two-party private set intersection protocol has the following bottlenecks when dealing with calculations on sets of hundreds of millions.
[0004] First, some efficient protocols are not available. The current protocols that support efficient computing at the 10 million level (for example, the PSZ protocol [Pinkas B, Schneider T, Zohner M. Scalable private set intersection based on OT extension [J]. ACM Transactions on Privacy and Security (TOPS), 2018, 21 (2): 1-35.]) lack the selection of key parameters when facing billion-level computing, resulting in the inability to guarantee the correctness of the protocol. Protocols that support billion-level computing (for example, the CM protocol [CM20]) are highly dependent on the performance specifications of the hardware on which the protocol is deployed. When the hardware performance is insufficient, the protocol operation will stop midway, resulting in execution failure.
[0005] Second, the available protocols have low computation speed. Protocols that support billion-scale data computation (e.g., spot-fast protocol [Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. SpOT-light: Lightweight private set intersection from sparse OT extension. In Alexandra Boldyreva and Daniele Micciancio, editors, CRYPTO 2019, Part III, volume 11694 of LNCS, pages 401–431. Springer, Heidelberg, August 2019.], CM protocol, etc.) have a significantly increased computation time when performing billion-scale computations due to frequent IO operations involving CPU and memory, as well as communication waiting between the two parties.
[0006] Third, the flexibility of the protocol is low. When performing a private set intersection calculation at a time, the two parties can only bind their respective set elements to the same protocol and bind each to a single server. This makes it impossible for both parties to use multiple protocols with different advantages at the same time, and it is impossible to use multiple servers for private set intersection calculations, and it is impossible to select the most suitable protocol for deployment based on the different network conditions of multiple servers. Summary of the invention
[0007] In order to overcome the defects of the above-mentioned prior art, the purpose of the present invention is to provide a prediction method, system, device and medium for the intersection of two privacy sets of two parties based on parallel intersection of batch groups. The elements in each privacy set of the sender and the receiver are mapped to groups with different numbers with the same total number of groups through a hash function shared by the sender and the receiver. The participating parties parallelize the intersection calculation process of groups with the same number, so that the receiver can quickly obtain the intersection of privacy sets. The present invention generates the same output value through the hash function of the same input and the correctness of the adopted privacy set intersection protocol, thereby improving the calculation speed and flexibility.
[0008] In order to achieve the above object, the present invention adopts the following specific scheme:
[0009] A method for calculating the intersection of two private sets based on batch grouping and parallel intersection is divided into three stages: hash grouping, parallel intersection, and intersection merging. The specific method is as follows:
[0010] Step 1: Use the hash function agreed upon by both parties, the sender and the receiver, to group the privacy sets of both parties;
[0011] Step 2: parallelize and intersect the grouping results of both parties in step 1;
[0012] Step 3: Intersect and merge the intersection results of step 2.
[0013] The specific method of step 1 is:
[0014] Step 1.1: Let G s represents a grouped set of sender set elements, Represents the jth group, j∈[0,m-1]; initialize m groups Empty, used to store the elements in the sender's privacy set X in the subsequent storage;
[0015] The sender uses the hash function h to calculate the element x in the sender's private set i ∈X corresponding to the binary bit fingerprint string h(x i ), i∈[n1];
[0016] The sender intercepts the sender collection element x i The corresponding binary bit fingerprint string h(x i ) are grouped into the first k bits, and the binary bit fingerprint string h(x i ) is restored to decimal to obtain the group number j;
[0017] The sender sends the sender set element x i Put in group middle;
[0018] When the grouping is completed, the sender's m pairs of groupings are
[0019] Step 1.2: Let G c represents a grouped set of elements of the receiver set, represents the jth packet, j∈[0,m-1]; the receiver initializes m packets G c , Empty, used to store the elements in the receiver's privacy set Y in the future;
[0020] The receiver uses the hash function h to solve the element y in the receiver's privacy set i ∈Y corresponding to the binary bit fingerprint string h(y i ), i∈[n2];
[0021] The receiver intercepts the receiver collection element y i The corresponding binary bit fingerprint string h(y i ) are grouped into the first k bits, and the fingerprint string h(y i) is converted to decimal to obtain the group number j;
[0022] The receiver sets the receiver set element y i Put in group middle;
[0023] When the grouping is completed, the receiver's m pairs of groupings are
[0024] The specific method of step 2 is:
[0025] According to the m-pair grouping results of both parties obtained in step 1, the sender and the receiver start the groups with the same number in parallel. and and and The intersection of the private sets is calculated to complete the parallel intersection:
[0026] For the jth group, j∈[0,m-1], the sender and receiver call the ideal privacy set intersection protocol To solve;
[0027] The sender and receiver each group the jth element of the sender's set and the jth group of the receiver set elements As an Ideally Private Set Intersection Protocol When the ideal privacy set intersection protocol After the execution is completed, the receiver will obtain the ideal privacy set intersection protocol The output of is the intersection of the privacy sets of the jth group
[0028] The specific method of step 3 is:
[0029] The receiver merges the privacy set intersection solution of m pairs of groups from both parties in step 2, that is,
[0030] A prediction method for the intersection of two private sets based on batch grouping parallel intersection, where both parties meet the following conditions: the sender's private set is The receiver's privacy set is When both parties complete the calculation of the intersection of the private sets, the receiver obtains the private set intersection I = X ∩ Y. In addition, both parties agree on the hash function h: {0,1} * →{0,1} l , the two parties agree that the number of groups in the privacy set is m, let m = 2 k , the privacy set intersection protocol is These m protocols are the same or different; denote 1 ≤ i ≤ n as i ∈ [n]; denote 1 < a ≤ j ≤ b as j ∈ [a, b].
[0031] A prediction system for two-party private set intersection based on batch grouping parallel intersection, comprising:
[0032] A hash grouping module, configured to group the hash functions agreed upon by both participating parties, i.e., the sender and the receiver, in step 1;
[0033] A parallel intersection module, configured to, in step 2, according to the grouping results of both participating parties in step 1, the sender and the receiver initiate the solution of the private set intersection of the groups with the same numbers in parallel to complete the parallel intersection;
[0034] An intersection merging module, configured to, in step 3, the receiver merge the solution results of the private set intersections of the m pairs of groups of both parties.
[0035] A prediction device for two-party private set intersection based on batch grouping parallel intersection, comprising:
[0036] A memory, configured to store a computer program;
[0037] A processor, configured to implement the prediction method for two-party private set intersection based on batch grouping parallel intersection described in steps 1 to 3 when executing the computer program.
[0038] A computer-readable storage medium, the computer-readable storage medium is used to store a computer program, and when the computer program is executed by a processor, it can perform two-party private set intersection prediction on the prediction method for two-party private set intersection based on batch grouping parallel intersection described in steps 1 to 3.
[0039] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0040] 1. The present invention can enhance the usability of the private set intersection protocol. It is known that protocols such as PSZ and KKRT only support the calculation of private set intersections with a data scale of tens of millions on ordinary personal PCs and servers. When the data scale reaches hundreds of millions, they cannot be successfully executed. Moreover, there are no parameter selections for these protocols when the scale is in the hundreds of millions, so the correctness of the protocols cannot be guaranteed. By using the present invention to divide a single private set intersection calculation of hundreds of millions into several intersection calculations of tens of millions and millions, such problems can be effectively avoided, thereby improving the usability of the protocol in the calculation of private set intersections with a data scale of hundreds of millions.
[0041] 2. The present invention's parallelized intersection calculation of the grouping results of both parties can improve the speed of solving the privacy set intersection protocol. Splitting the single two-party privacy set intersection calculation of billions of large data into several groups of relatively small data sets of tens of millions or millions of relatively small data sets will effectively reduce the calculation time of both parties. In theory, the calculation time can be reduced to the time when there is no grouping. (m is the number of groups).
[0042] 3. The present invention can improve the flexibility of the protocol by parallelizing the intersection of the grouping results of the two parties. The same privacy set intersection protocol can be chosen for instantiation (e.g. ), can also be instantiated using different privacy set intersection protocols (e.g., ). In other words, privacy set intersection protocols with different advantages can be flexibly integrated into the scheme of the present invention, and various protocols with various computing efficiency priority, communication efficiency priority, memory overhead priority, and balance priority can be used for implementation during the scheme.
[0043] 4. The present invention uses the hash function agreed upon by the two parties, the sender and the receiver, to group the privacy sets of both parties, which can reduce the number of comparisons of elements. Assume that the size of the elements in the privacy sets of both parties is n1 and n2 respectively. If the two parties do not group, the number of comparisons of the elements of both parties is n1n2. If the two parties evenly distribute their elements to m groups, the number of comparisons of the elements of both parties is still n1n2. If the two parties adopt the scheme of the present invention, the number of comparisons of the elements of both parties is will be the original number of comparisons
[0044] In summary, the present invention maps the elements in each privacy set to groups with different numbers and the same total number of groups through a hash function shared by the sender and the receiver. The participating parties parallelize the intersection calculation process of groups with the same number, so that the receiver can quickly obtain the intersection of privacy sets. The present invention generates the same output value through the hash function with the same input, and the correctness of the adopted privacy set intersection protocol is improved, thereby improving the calculation speed and flexibility. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 It is a two-party private set intersection calculation scheme based on batch grouping and parallel intersection.
[0046] Figure 2 This is an embodiment of the present invention based on a server cluster.
[0047] Figure 3 This is an embodiment of the present invention based on a single server. Detailed implementation manners
[0048] The embodiments of the present invention will be described in detail below, and examples of the embodiments are shown in the accompanying drawings.
[0049] The two-party private set intersection calculation scheme BGP-PSI based on batch grouping parallel intersection can be instantiated by the following two types of embodiments, the BGP-PSI scheme embodiment based on a server cluster, and the BGP-PSI scheme embodiment based on a single server. By using different levels of computing power (such as multiple servers, CPU physical cores, multi-threading, etc.), the parallelization ability of the BGP-PSI scheme is improved, thereby improving the computing efficiency of the private set intersection protocol. It should be noted that the instantiation of BGP-PSI is not limited to the two types of embodiments proposed here.
[0050] See Figure 1 , a prediction method for two-party private set intersection based on batch grouping parallel intersection. The two participating parties meet the following conditions: the private set of the sender is The private set of the receiver is When the two participating parties complete the calculation of the private set intersection, the receiver obtains the private set intersection I = X ∩ Y; in addition, the two parties agree on a hash function h: {0,1} * →{0,1} l , the two parties agree that the number of groups of the private set is m, and let m = 2 k , and the private set intersection protocol is These m protocols are the same or different; denote 1 ≤ i ≤ n as i ∈ [n]; denote 1 < a ≤ j ≤ b as j ∈ [a, b].
[0051] A two-party private set intersection calculation method based on batch grouping parallel intersection is divided into three stages, namely hash grouping, parallel intersection, and intersection merging; the specific method is as follows:
[0052] Step 1. Use the hash function agreed upon by the two participating parties, namely the sender and the receiver, to group the private sets of both parties;
[0053] Step 1.1; Let G s represent the set of groups of the elements of the sender's set, represent the j-th group, j ∈ [0, m - 1]; initialize m groups to be empty, for storing the elements in the sender's private set X subsequently;
[0054] The sender uses the hash function h to calculate the binary bit fingerprint string h(x i ∈ X) corresponding to the element x in the sender's private set, i ∈ [n1];
[0055] The sender intercepts the sender collection element x i The corresponding binary bit fingerprint string h(x i ) are grouped into the first k bits, and the binary bit fingerprint string h(x i ) is restored to decimal to obtain the group number j;
[0056] The sender sends the sender set element x i Put in group middle;
[0057] When the grouping is completed, the sender's m pairs of groupings are
[0058] Step 1.2: Let G c represents a grouped set of elements of the receiver set, represents the jth packet, j∈[0,m-1]; the receiver initializes m packets G c , Empty, used to store the elements in the receiver's privacy set Y in the future;
[0059] The receiver uses the hash function h to calculate the element y in the receiver's private set i ∈Y corresponding to the binary bit fingerprint string h(y i ), i∈[n2];
[0060] The receiver intercepts the receiver collection element y i The corresponding binary bit fingerprint string h(y i ) are grouped into the first k bits, and the fingerprint string h(y i ) is converted to decimal to obtain the group number j;
[0061] The receiver sets the receiver set element y i Put in group middle;
[0062] When the grouping is completed, the receiver's m pairs of groupings are
[0063] Step 2: parallelize and intersect the grouping results of both parties in step 1;
[0064] According to the m-pair grouping results of both parties obtained in step 1, the sender and the receiver start the groups with the same number in parallel. and and and The intersection of the private sets is calculated to complete the parallel intersection:
[0065] For the jth group, j∈[0,m-1], the sender and receiver call the ideal privacy set intersection protocol Perform calculations;
[0066] The sender and receiver each group the jth element of the sender's set and the jth group of the receiver set elements As an Ideally Private Set Intersection Protocol When the ideal privacy set intersection protocol After the execution is completed, the receiver will obtain the ideal privacy set intersection protocol The output of is the intersection of the privacy sets of the jth group
[0067] Step 3, perform intersection merging on the intersection results of step 2;
[0068] The receiver combines the intersection calculation results of the private sets of m pairs of groups of both parties, that is,
[0069] Example 1: Based on server cluster
[0070] like Figure 2 As shown, this embodiment assumes that the sender's privacy set is The receiver's privacy set is When both parties complete the calculation of the intersection of the private sets, the receiver obtains the private set intersection I = X ∩ Y. In addition, both parties agree on the hash function h: {0,1} * →{0,1} l , the number of groups is m, let m = 2 k , Ideally Private Set Intersection Protocol The m protocols can be the same or different. This embodiment assumes that the sender has several servers The receiver also has several servers
[0071] This embodiment includes three stages, namely, hash grouping, parallel intersection, and intersection merging; the details are as follows:
[0072] Phase 1 - Hash grouping.
[0073] The sender initializes α+1 servers in Is the primary server.
[0074] The sender's primary server Initialize m groups Is empty.
[0075] The sender's primary server Traverse x i ∈X, i∈[n1], use the hash function h to calculate x i Corresponding binary bit fingerprint string h(x i ), intercept the fingerprint string h(x i ) and convert it to the corresponding decimal to get the group number j, 0≤j≤m-1, and x i Put in group middle.
[0076] The sender's primary server Group m Randomly and evenly distributed to α servers In the middle, it is advisable to set up groups Will be assigned to the server 0≤j≤m-1, 0≤p≤α-1.
[0077] The receiver initializes β+1 servers in Is the primary server.
[0078] The receiving party's primary server Initialize m groups Is empty.
[0079] The receiving party's primary server Traverse y i ∈Y, i∈[n2], use the hash function h to calculate y i Corresponding to the binary bit fingerprint string h(y i ), intercept the fingerprint string h(y i ) and restore to the corresponding decimal to get the group number j, 0≤j≤m-1, y i Put in group middle.
[0080] The receiving party's primary server Group m Randomly and evenly distributed to β servers In the middle, it is advisable to set up groups Will be assigned to the server 0≤j≤m-1, 0≤q≤β-1.
[0081] The second stage - parallel intersection.
[0082] The sender parallelizes the process of calculating the intersection of the privacy sets of the m groups assigned to the α servers.
[0083] Sender's server Store the jth group As Input, 0≤j≤m-1, 0≤p≤m-1.
[0084] The receiver parallelizes the process of calculating the intersection of the privacy sets of the m groups assigned to the β servers.
[0085] The receiving server Store the jth group As Input, 0≤j≤m-1, 0≤q≤m-1.
[0086] The receiving server get The intersection of the private sets of the jth group output 0≤j≤m-1.
[0087] The receiving server Send the calculated intersection of privacy sets to the main server
[0088] The third stage is intersection and merge.
[0089] The receiving party's primary server Merge Servers The returned result is the intersection calculation result of the private sets of m pairs of groups, that is,
[0090] This embodiment 1 can enhance the usability of the privacy set intersection protocol. It is known that protocols such as PSZ and KKRT only support privacy set intersection calculations of tens of millions of data scales on ordinary personal PCs and servers. When the data scale reaches hundreds of millions, it cannot be successfully executed. Moreover, these protocols do not have parameter selection at the billion-level scale, so the correctness of the protocol cannot be guaranteed. The present invention is used to divide a single billion-level privacy set intersection calculation into several tens of millions and millions of intersection calculations, which will effectively avoid such problems, thereby improving the usability of the protocol when calculating the intersection of privacy sets on a billion-level data scale.
[0091] The solution of parallelizing the intersection of the grouping results of the two parties in this embodiment 1 can improve the speed of solving the privacy set intersection protocol. Splitting the single two-party privacy set intersection calculation of billions of large data into several groups of relatively small data scales such as tens of millions or millions of private sets of two parties for parallel calculation will effectively reduce the calculation time of both parties. In theory, the calculation time can be reduced to the time when there is no grouping. (m is the number of groups).
[0092] This embodiment 1 can improve the flexibility of the protocol by parallelizing the intersection of the grouping results of the two parties. The same privacy set intersection protocol can be chosen for instantiation (e.g. ), can also be instantiated using different privacy set intersection protocols (e.g., ). In other words, privacy set intersection protocols with different advantages can be flexibly integrated into the scheme of the present invention, and various protocols with various computing efficiency priority, communication efficiency priority, memory overhead priority, and balance priority can be used for implementation during the scheme.
[0093] This embodiment 1 uses the hash function agreed upon by the two parties, the sender and the receiver, to group the privacy sets of both parties, which can reduce the number of comparisons of elements. Assume that the size of the elements in the privacy sets of both parties is n1 and n2 respectively. If the two parties do not group, the number of comparisons of the elements of both parties is n1n2. If the two parties evenly distribute their elements to m groups, the number of comparisons of the elements of both parties is still n1n2. If the two parties adopt the scheme of the present invention, the number of comparisons of the elements of both parties is will be the original number of comparisons
[0094] In summary, in this embodiment 1, the sender and the receiver use a hash function shared by the sender and the receiver to map the elements in their respective privacy sets to groups with different numbers and the same total number of groups. The two parties involved parallelize the intersection calculation process of the groups with the same number, so that the receiver can quickly obtain the intersection of the privacy sets. This embodiment generates the same output value through the hash function with the same input, and the correctness of the adopted privacy set intersection protocol is improved, thereby improving the calculation speed and flexibility.
[0095] Example 2: Based on a single server
[0096] like Figure 3 As shown, this embodiment assumes that the sender's privacy set is The receiver's privacy set is When both parties complete the calculation of the intersection of the private sets, the receiver obtains the private set intersection I = X ∩ Y. In addition, both parties agree on the hash function h:{0,1}*→{0,1}l, the number of groups m, let m = 2 k , Ideally Private Set Intersection Protocol The m protocols can be the same or different. This embodiment assumes that the sender has several processes The receiver also has several processes
[0097] This embodiment includes three stages, namely, hash grouping, parallel intersection, and intersection merging. The details are as follows:
[0098] Phase 1 - Hash grouping.
[0099] The sender initializes α+1 processes in Is the main process.
[0100] The sender's main process Initialize m groups Is empty.
[0101] The sender's main process Traverse x i ∈X, i∈[n1], use the hash function h to calculate x i Corresponding binary bit fingerprint string h(x i ), intercept the fingerprint string h(x i ) and convert it to the corresponding decimal to get the group number j, 0≤j≤m-1, and x i Put in group middle.
[0102] The sender's main process Group m Randomly and uniformly distributed to α processes In the middle, it is advisable to set up groups Will be assigned to the process 0≤j≤m-1, 0≤p≤α-1.
[0103] The sender's main process Based on user settings, decide whether to add α processes Bind to a CPU core.
[0104] The receiver initializes β+1 processes in Is the main process.
[0105] The receiving main process Initialize m groups Is empty.
[0106] The receiving main process Traverse y i ∈Y, i∈[n2], use the hash function h to calculate y i Corresponding to the binary bit fingerprint string h(y i ), intercept the fingerprint string h(y i ) and restore to the corresponding decimal to get the group number j, 0≤j≤m-1, y i Put in group middle.
[0107] The receiving main process Group m Randomly and uniformly distributed to β processes In the middle, it is advisable to set up groups Will be assigned to the process 0≤j≤m-1, 0≤q≤β-1.
[0108] The receiving main process Based on user settings, decide whether to add β processes Bind to a CPU core.
[0109] The second stage - parallel intersection.
[0110] The sender parallelizes the calculation process of the intersection of the private sets of m groups assigned to α processes.
[0111] The sender's process Store the jth group As Input, 0≤j≤m-1, 0≤p≤m-1.
[0112] The receiver parallelizes the calculation process of the intersection of the private sets of m groups assigned to β processes.
[0113] The receiving process Store the jth group As Input, 0≤j≤m-1, 0≤q≤m-1.
[0114] The receiving process get The intersection of the private sets of the jth group output 0≤j≤m-1.
[0115] The receiving process Send the calculated private set intersection to the main process
[0116] The third stage is intersection and merge.
[0117] The receiving main process Merge Process The returned result is the intersection calculation result of the private sets of m pairs of groups, that is,
[0118] The BGP-PS I solution implementation example based on a single server is described as follows:
[0119] The sender can choose to use the jth packet The corresponding privacy set intersection protocol Process Bind to CPU cores to further reduce execution time.
[0120] The receiver can choose to use the jth packet The corresponding privacy set intersection protocol Process Bind to CPU cores to further reduce execution time.
[0121] This embodiment 2 can enhance the usability of the privacy set intersection protocol. It is known that protocols such as PSZ and KKRT only support privacy set intersection calculations of tens of millions of data scales on ordinary personal PCs and servers. When the data scale reaches hundreds of millions, it cannot be successfully executed. Moreover, these protocols do not have parameter selection at the billion-level scale, so the correctness of the protocol cannot be guaranteed. The present invention is used to divide a single billion-level privacy set intersection calculation into several tens of millions and millions of intersection calculations, which will effectively avoid such problems, thereby improving the usability of the protocol in the privacy set intersection calculation of hundreds of millions of data scales.
[0122] The solution of parallelizing the intersection of the grouping results of the two parties in this embodiment 2 can improve the speed of solving the privacy set intersection protocol. Splitting the single two-party privacy set intersection calculation of billions of large data into several groups of relatively small data scales such as tens of millions and millions of private sets of two parties for parallel calculation will effectively reduce the calculation time of both parties. In theory, the calculation time can be reduced to the time when there is no grouping. (m is the number of groups).
[0123] This embodiment 2 can improve the flexibility of the protocol by parallelizing the intersection of the grouping results of the two parties. The same privacy set intersection protocol can be chosen for instantiation (e.g. ), can also be instantiated using different privacy set intersection protocols (e.g., ). In other words, privacy set intersection protocols with different advantages can be flexibly integrated into the scheme of the present invention, and various protocols with various computing efficiency priority, communication efficiency priority, memory overhead priority, and balance priority can be used for implementation during the scheme.
[0124] This embodiment 2 uses the hash function agreed upon by the two parties, the sender and the receiver, to group the privacy sets of both parties, which can reduce the number of comparisons of elements. Assume that the size of the elements in the privacy sets of both parties is n1 and n2 respectively. If the two parties do not group, the number of comparisons of the elements of both parties is n1n2. If the two parties evenly distribute their elements to m groups, the number of comparisons of the elements of both parties is still n1n2. If the two parties adopt the solution of the present invention, the number of comparisons of the elements of both parties is will be the original number of comparisons
[0125] In summary, in this embodiment 2, the sender and the receiver use a hash function shared by the sender and the receiver to map the elements in their respective privacy sets to groups with different numbers but the same total number of groups. The two parties involved parallelize the intersection calculation process of the groups with the same number, so that the receiver can quickly obtain the intersection of the privacy sets. This embodiment generates the same output value through the hash function with the same input, as well as the correctness of the adopted privacy set intersection protocol, thereby improving the computing speed and flexibility.
Claims
1. A method for predicting the intersection of two private sets based on batch grouping parallel intersection, characterized in that: The specific steps are as follows: Step 1: Use the hash function agreed upon by the sender and receiver to group the privacy sets of both parties; Step 2: parallelize and intersect the grouping results of both parties in step 1; Step 3: Intersect and merge the intersection results of step 2.
2. According to claim 1, a method for predicting the intersection of two private sets based on batch grouping parallel intersection, characterized in that: The specific method of step 1 is: Step 1.1: Let G s represents a grouped set of sender set elements, Represents the jth group, j∈[0,m-1]; initialize m groups Empty, used to store the elements in the sender's privacy set X in the subsequent storage; The sender uses the hash function h to calculate the element x in the sender's private set i ∈X corresponding to the binary bit fingerprint string h(x i ), i∈[n1]; The sender intercepts the sender collection element x i The corresponding binary bit fingerprint string h(x i ) are grouped into the first k bits, and the binary bit fingerprint string h(x i ) is restored to decimal to obtain the group number j; The sender sends the sender set element x i Put in group middle; When the grouping is completed, the sender's m pairs of groupings are Step 1.2: Let G c represents a grouped set of elements of the receiver set, represents the jth packet, j∈[0,m-1]; the receiver initializes m packets G c , Empty, used to store the elements in the receiver's privacy set Y in the future; The receiver uses the hash function h to solve the element y in the receiver's privacy set i ∈Y corresponding to the binary bit fingerprint string h(y i ), i∈[n2]; The receiver intercepts the receiver collection element y i The corresponding binary bit fingerprint string h(y i ) are grouped into the first k bits, and the fingerprint string h(y i ) is converted to decimal to obtain the group number j; The receiver sets the receiver set element y i Put in group middle; When the grouping is completed, the receiver's m pairs of groupings are 3. According to claim 1, a method for predicting the intersection of two private sets based on batch grouping parallel intersection, characterized in that: The specific method of step 2 is: According to the m-pair grouping results obtained in step 1, the sender and the receiver start the groups with the same number in parallel. and and and The intersection of the private sets is calculated to complete the parallel intersection: For the jth group, j∈[0,m-1], the sender and receiver call the ideal privacy set intersection protocol To solve; The sender and receiver each group the jth element of the sender's set and the jth group of the receiver set elements As an Ideally Private Set Intersection Protocol When the ideal privacy set intersection protocol After the execution is completed, the receiver will obtain the ideal privacy set intersection protocol The output of is the intersection of the privacy sets of the jth group 4. According to claim 1, a method for predicting the intersection of two private sets based on batch grouping parallel intersection, characterized in that: The specific method of step 3 is: The receiver merges the privacy set intersection solution of m pairs of groups from both parties in step 2, that is, 5. The method for predicting the intersection of two private sets based on batch grouping parallel intersection according to claim 1, characterized in that: The two participating parties satisfy the following conditions: the private set of the sender is the private set of the receiver is When the two participating parties complete the calculation of the intersection of private sets, the receiver obtains the intersection of private sets I = X ∩ Y; in addition, the two parties agree that the hash function h: {0, 1} * → {0, 1} l , the two parties agree that the number of groups of the private set is m, and let m = 2 k , the private set intersection protocol is These m protocols are the same or different; denote 1 ≤ i ≤ n as i ∈ [n]; denote 1 < a ≤ j ≤ b as j ∈ [a, b].
6. A prediction system for the intersection of two private sets based on batch grouping and parallel intersection, characterized in that: include: A hash grouping module, used for grouping the hash functions agreed upon by the two parties, i.e., the sender and the receiver, in step 1; A parallelized intersection module, used for completing the parallelized intersection in step 2, according to the grouping results of the two parties in step 1, by the sender and the receiver starting the private set intersection solution of the groups with the same number in parallel; The intersection merging module is used for the receiver to merge the intersection solution results of the m pairs of privacy sets of the two parties in step 3.
7. A prediction device for the intersection of two private sets based on batch grouping parallel intersection, characterized in that: include: Memory for storing computer programs; A processor is used to implement the method for predicting the intersection of two privacy sets based on batch grouping parallel intersection as described in steps 1 to 3 when executing the computer program.
8. A computer-readable storage medium for storing a computer program, characterized in that: When the computer program is executed by a processor, it is capable of performing two-party privacy set intersection prediction based on the two-party privacy set intersection prediction method based on batch grouping parallel intersection described in steps 1 to 3.
Citation Information
Patent Citations
Privacy intersection method and device
CN114036572A
Privacy set intersection calculation method, device and system
CN115333721A
Joint query method and device
CN116383246A
Privacy preserving machine learning using secure multi-party computing
CN116529730A
Privacy set intersection method based on error learning problem
CN117273156A