Batch-OT-based privacy set intersection method, system, electronic device and medium

By using the Batch-OT protocol in the privacy protection set request method, the privacy request problem in the scenario of restricted communication resources in the existing technology is solved, and an efficient privacy request solution with low communication volume is realized.

CN117254898BActive Publication Date: 2025-04-29BEIJING TOPWALK INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210659188.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-10
Publication Date
2025-04-29
Estimated Expiration
2042-06-10

AI Technical Summary

Technical Problem

The existing privacy protection set communication method is not suitable for scenarios where communication resources are limited when there are many communication rounds and large communication volume.

Method used

Using a privacy set interleaving method based on Batch-OT, the first data party sorts its own data set, generates a random bit matrix and converts it, and performs the Batch-OT protocol in combination with the selected bit string of the second data party, and calculates the hash value to determine the intersection element.

Benefits of technology

It realizes a low communication volume privacy request solution under the semi-honest model, which is suitable for scenarios where the data volume of both parties is similar, reduces the number of communication rounds and communication volume, and is suitable for scenarios where communication resources are limited.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117254898B_ABST
    Figure CN117254898B_ABST
Patent Text Reader

Abstract

The present application discloses a private set intersection method, system, electronic device and medium based on Batch-OT. The method includes: the first data party sorts its own data set to obtain the sorted data set R; the first data party generates a random bit matrix T, and uses the pseudo-random code C and combines it with the sorted data set R to convert the random bit matrix T into a matrix U; based on the selected bit string s of the second data party, the first data party and the second data party execute the Batch-OT protocol, and the second data party obtains the matrix Q; the second data party calculates the hash value H(q p ⊕(C(y)·s)), and sends the calculation result H(q p ⊕(C(y)·s)) to the first data party; the first data party calculates the hash value H(t i ), and compares H(t i ) with H(q p ⊕(C(y)·s)) to determine whether there are intersection elements between the first data party and the second data party. The present invention uses Batch-OT to implement a low-communication-volume private intersection method under a semi-honest model, and this method is particularly suitable for scenarios where the data volumes of the two parties are similar.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to the field of communication technology, and more particularly to a Batch-OT-based privacy set intersection method, system, electronic device, and medium. Background Art

[0002] Privacy-preserving set intersection (PSI) is a specific application problem in the field of multi-party secure computation. It not only has important theoretical significance but also has strong application value. For example, the online advertising conversion rate is calculated under the premise of protecting the user data held by the participants. Since the user data of browsing ads is in the hands of the ad sender, and the user data of purchasing the online advertising product is in the hands of the merchant. Through PSI, the ad sender and the merchant can protect their respective user data from being known by the other party, calculate the intersection of the two, and then calculate the conversion rate. A typical example is the cooperation between Facebook and credit card holders.

[0003] There are different implementation schemes for PSI based on different cryptographic technologies, such as schemes based on public key systems, schemes based on circuits, schemes based on oblivious transfer (OT), schemes based on fully homomorphic encryption, etc. The existing privacy-preserving set intersection methods have many communication rounds and large communication volumes, which are not suitable for scenarios with limited communication resources. Summary of the invention

[0004] In view of the above-mentioned defects or deficiencies in the prior art, it is desired to provide a Batch-OT-based privacy set intersection method, system, electronic device and medium.

[0005] In a first aspect, a Batch-OT-based privacy set intersection method is provided, comprising:

[0006] The first data party sorts its own data set to obtain a sorted data set R;

[0007] The first data cube generates a random bit matrix T, and converts the random bit matrix T into a matrix U by using a pseudo-random code C and combining the sorted data set R; the random bit matrix T and the matrix U are the same type matrices;

[0008] Based on the selected bit string s of the second data party, the first data party and the second data party execute the Batch-OT protocol, and the second data party obtains the matrix Q;

[0009] The second data party calculates the hash value of the matrix Q And calculate the hash value Sending to the first data party;

[0010] The first data party calculates the hash value H(t i ), and the hash value H(t i ) and the hash value of the random bit matrix T Compare and determine whether there is an intersection element between the first data cube and the second data cube; where H represents a hash function, q p represents the p-th row of the matrix Q, represents an XOR operation, y is the element of the second data element itself, t i represents the i-th row of the matrix T.

[0011] In a second aspect, a Batch-OT-based privacy set intersection system is provided, comprising: a first data cube, a second data cube and a Batch-OT module; wherein the first data cube comprises a sorting module, a matrix conversion module and a first hash module; the second data cube comprises a second hash module and a comparison module;

[0012] A sorting module, used to sort the data set of the first data entity to obtain a sorted data set R;

[0013] A matrix conversion module, configured to enable the first data cube to generate a random bit matrix T, and convert the random bit matrix T into a matrix U by using a pseudo-random code C and combining the sorted data set R; the random bit matrix T and the matrix U are the same type matrices;

[0014] A Batch-OT module, configured to enable the first data party and the second data party to execute a Batch-OT protocol based on a selection bit string s of the second data party, so that the second data party obtains a matrix Q;

[0015] A second hash module, configured to enable the second data cube to calculate the hash value of the matrix Q And calculate the hash value Sending to the first data party;

[0016] A first hash module is configured to enable the first data party to calculate a hash value H(t i );

[0017] A comparison module is used to compare the hash value H(t i ) and the hash value of the random bit matrix T Compare and determine whether there is an intersection element between the first data cube and the second data cube; where H represents a hash function, q p represents the p-th row of the matrix Q, represents an XOR operation, y is the element of the second data element itself, t i represents the i-th row of the matrix T.

[0018] According to a third aspect, an electronic device is provided, the device comprising:

[0019] one or more processors;

[0020] a memory for storing one or more programs,

[0021] When one or more programs are executed by one or more processors, the one or more processors execute the Batch-OT-based privacy set intersection method provided in the embodiments of the present application.

[0022] In a fourth aspect, a computer-readable storage medium storing a computer program is provided, and the program is executed by a processor as the Batch-OT-based privacy set intersection method provided in the embodiments of the present application.

[0023] According to the technical solution provided in the embodiment of the present application, the present invention uses Batch-OT to implement a low-communication privacy intersection scheme under a semi-honest model, which is particularly suitable for scenarios where the amount of data of the two parties is similar. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:

[0025] Figure 1 An exemplary flow chart of a Batch-OT-based privacy set intersection method provided in an embodiment of the present application;

[0026] Figure 2 An exemplary overall framework diagram of a Batch-OT-based privacy set intersection system provided in an embodiment of the present application;

[0027] Figure 3 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] The present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It is also necessary to explain that, for ease of description, only the parts related to the invention are shown in the accompanying drawings.

[0029] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0030] The technical terms involved in the embodiments of this application are as follows:

[0031] PSI: Private Set Intersection, which refers to two parties holding their respective sets and jointly calculating the intersection of the two sets. At the end of the protocol interaction, one or both parties obtain the correct intersection, and no information outside the intersection in the other party's set will be obtained.

[0032] OT: Oblivious Transfer, also known as不经意传输, is a type of protocol in cryptography and the cornerstone of multi-party secure computation. It enables the sender to transfer k out of n private data to the receiver (k < n), but the sender does not know which data the receiver has received. At the same time, the receiver does not know the remaining n - k data. Depending on the value of k, there are 2-out-of-1 (k = 1), n-out-of-1 (k = 1), n-out-of-k, etc.

[0033] Batch-OT: Batch Oblivious Transfer, which means that the two participating parties use oblivious transfer to complete multiple 2-out-of-1 oblivious transfer instances at once.

[0034] Semi-honest Model: A security model in which, when participating parties access and process the private data of other participating parties, on the basis of strictly observing the protocol specifications, they try their best to extract valid information from the data they access and process. Semi-honest participants fully comply with the execution process of the protocol, but may listen to the input and output information of other participating parties during the execution process to infer the private information of other participants.

[0035] Secure Multi-party Computation (MPC): A cryptographic technology that collaborates based on multi-party data to achieve computational goals, and does not disclose the private data of each party except for the computational results and the information that can be deduced from them. The privacy-preserving intersection in this application belongs to the research scope of secure multi-party computation.

[0036] To solve the above technical problems, please refer to Figure 1 , which shows a privacy set intersection method 100 based on Batch-OT provided according to an embodiment of the present application. The privacy set intersection method 100 based on Batch-OT provided by the present invention includes:

[0037] S101: The first data party sorts its own data set to obtain the sorted data set R;

[0038] S102: The first data cube generates a random bit matrix T, and converts the random bit matrix T into a matrix U by using a pseudo-random code C and combining the sorted data set R; the random bit matrix T and the matrix U are the same type matrices;

[0039] S103: Based on the selected bit string s of the second data party, the first data party and the second data party execute the Batch-OT protocol, and the second data party obtains a matrix Q;

[0040] S104: The second data block calculates according to the matrix Q And send the calculation result to the first data party; where q p represents the pth row of the matrix Q, H represents the hash function, Represents the exclusive OR operation;

[0041] S105: The first data party calculates the hash value H(t i ), and the hash value H(t i ) and the hash value of the random bit matrix T Compare and determine whether there is an intersection element between the first data cube and the second data cube; where H represents a hash function, q p represents the p-th row of the matrix Q, represents an XOR operation, y is the element of the second data element itself, t i represents the i-th row of the matrix T.

[0042] Specifically, the two parties participating in the privacy set intersection include the first data party and the second data party, where the first data party is the receiving party Guest and the second data party is the sending party Host. Due to the large amount of communication in OT technology, in the privacy set intersection method based on Batch-OT provided in the embodiment of the present application, Batch-OT is used to implement that the sending party Host only needs 3 rounds of communication (the number of communication rounds of the entire PSI protocol is 3), and the receiving party Guest can obtain several columns of data, while the sending party Host does not know which data the receiving party Guest has obtained. Batch-OT effectively reduces the number of communication rounds and the amount of communication, making the solution not only efficient but also suitable for scenarios with limited communication resources.

[0043] The first data party sorts its own data set to obtain a sorted data set R;

[0044] In one embodiment, step S101 is specifically that the first data party performs cuckoo sorting on its own data set to obtain a sorted data set R=(r1,...,r m ).

[0045] Specifically, the cuckoo sort adopts an improved sorting, which can be referred to in the literature Benny Pinkas, Thomas Schneider, Michael Zohner, Scalable Private Set Intersection Based on OT Extension. The first data party, i.e., the receiving party Guest, can reduce the time complexity of private intersection by performing cuckoo sorting on the data set it holds.

[0046] In one embodiment, in step S102, the random bit matrix T and the matrix U are the same type matrices with m rows and k columns, and the matrix U is Among them, u i represents the i-th row of matrix U, t i represents the i-th row of matrix T, 1<=i<=m; represents XOR operation, k is the security parameter, r i Represents the i-th element in the dataset R.

[0047] Specifically, the matrix T and the matrix U are the same type of matrices with m rows and k columns, that is, T.shape = U.shape = (m, k), k is a security parameter such as 128, and the elements in the matrix T are randomly distributed as 0 or 1. The pseudo-random function C supports arbitrary input and outputs a k-bit string that meets the security requirements.

[0048] In one embodiment, in step S103, based on the selection bit string s of the second data party, the first data party and the second data party execute the Batch-OT protocol, and the second data party Host obtains the matrix Q, which specifically includes:

[0049] S1031: The first data party Guest generates k pairs of random numbers [(h 10 ,h 11 ),(h 20 ,h 21 ),…,(h k0 ,h k1 )], using the pseudo-random number generator G, perform XOR operations with the matrices T and U respectively;

[0050] S1032: The first data party Guest and the second data party Host execute the Batch-OT protocol once. The input of Guest is [(h 10 ,h 11 ),(h 20 ,h 21 ),…,(h k0 ,h k1 )], the input of Host is to select the bit string s, s=(s1,...,s k), after the protocol is executed, the Host obtains the result The Host obtains the bit string from [(h 10 ,h 11 ),(h 20 ,h 21 ),…,(h k0 ,h k1 )] is a random number.

[0051] In one embodiment, S1032 specifically includes:

[0052] The first data party Guest generates two pairs of RSA keys (pk0, sk0) and (pk1, sk1), where pk0 and pk1 are two public keys and sk0 and sk1 are two private keys. The two public keys pk0 and pk1 are sent to the second data party Host.

[0053] The second data party Host generates k pairs of random numbers (r 10 ,r 11 ),(r 20 ,r 21 ),…,(r k0 ,r k1 ), for each pair of random numbers (r j0 ,r j1 ), the second data party Host selects the bit string s j Decide which public key to use for encryption, and the second data party Host will encrypt the list Sent to the first data party Guest; where j∈{1,…,k}; Indicates the use of key For a random number r k0 Encryption, Indicates the key For a random number r k1 Encryption is performed;

[0054] The first data party Guest for each pair Decrypt with two private keys sk0 and sk1 respectively, and record the decrypted result as k j0 ,k j1 , and then use them to mask the private input, that is, to calculate And send them to the second data party Host;

[0055] The second data party Host receives each pair of data Then use the random number generated in the second step (r j0 ,r j1 ) is XORed, that is, the calculation The second data party Host gets the final result It is a bunch of masks applied to matrices T and U. After the OT protocol, the second data party host obtains certain columns of the matrix T or U, that is, obtains the matrix Q.

[0056] In one embodiment, step S104 specifically includes:

[0057] The second data entity performs cuckoo sorting on each of its own set elements y at least n times to obtain the corresponding value p∈{p1,p2,…,p n};

[0058] According to the obtained p value, the hash algorithm is used to calculate

[0059] Specifically, the second data party Host calculates the cuckoo sort three times for each set element y of itself to obtain the corresponding values ​​p1, p2, and p3; according to the principle and function of the cuckoo hash function, using three cuckoo sorts can meet the privacy protection set intersection requirements of both parties.

[0060] In one embodiment, in step S105, the first data party uses a hash algorithm to calculate a hash value H(t i ), and H(t i )and Compare and determine whether there are intersection elements between the first data cube and the second data cube; if If they are equal, then the first data cube and the second data cube have an intersection element r i ; otherwise, there is no intersection element.

[0061] Specifically, the first data party Guest calculates H(t i ),1<=i<=m,t i represents the i-th row of matrix T. After the Host interacts with the Guest, it calculates if Then the two sides have an intersection element r i The following shows that this equation is valid when the elements on both sides are equal.

[0062] The guest and the host execute the batch-OT protocol. After the execution, the host obtains the matrix Q, and according to the properties of batch-OT, it can be obtained:

[0063]

[0064] Among them, q j represents the j-th column of matrix Q, t j represents the j-th column of matrix T; C(r i )=(r i1 ,r i 2 ,…,r i k );s j is the host's selection bit, s j ∈{s1,...,s k}.

[0065] The above formula (1) can be simplified as:

[0066]

[0067] Further deducing from formula (2), Right now,

[0068] If the element y held by the Host is equal to the element r held by the Guest i If they are equal, then according to the properties of pseudo-random coding, C(y)=C(r i ), and then

[0069] In the Batch-OT-based privacy set intersection method provided in the embodiment of the present application, the Batch-OT protocol is used to implement a privacy intersection method with low communication volume under a semi-honest model. This method is particularly suitable for scenarios where the amount of data of the two parties is similar. The number of communication rounds of the privacy-preserving intersection method is independent of the size of the set, and the performance is more prominent in scenarios where communication resources are limited.

[0070] It should be noted that although the operations of the method of the present invention are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. On the contrary, the steps depicted in the flow chart can change the execution order.

[0071] Second, as Figure 2 As shown, a Batch-OT-based privacy set intersection system 200 is provided, which is used to implement the above-mentioned Batch-OT-based privacy set intersection method, including: a first data cube 210, a second data cube 220 and a Batch-OT module 230; wherein the first data cube 210 includes a sorting module 211, a matrix conversion module 212 and a first hash module 213; the second data cube 220 includes a second hash module 221 and a comparison module 222;

[0072] A sorting module 211 is used to sort the data set of the first data entity to obtain a sorted data set R;

[0073] A matrix conversion module 212 is used to enable the first data cube to generate a random bit matrix T, and convert the random bit matrix T into a matrix U by using a pseudo-random code C and combining the sorted data set R; the random bit matrix T and the matrix U are the same type of matrices;

[0074] A Batch-OT module 230, configured to enable the first data cube and the second data cube to execute a Batch-OT protocol based on a selection bit string s of the second data cube, so that the second data cube obtains a matrix Q;

[0075] The second hash module 221 is used to enable the second data cube to calculate the hash value of the matrix Q And calculate the hash value Sending to the first data party;

[0076] The first hash module 213 is used to enable the first data party to calculate the hash value H(t i );

[0077] The comparison module 222 is used to compare the hash value H(t i ) and the hash value of the random bit matrix T Compare and determine whether there is an intersection element between the first data cube and the second data cube; where H represents a hash function, q p represents the p-th row of the matrix Q, represents an XOR operation, y is the element of the second data element itself, t i represents the i-th row of the matrix T.

[0078] The Batch-OT-based privacy set intersection system provided in the embodiment of the present application realizes an efficient privacy-preserving set intersection function under a semi-honest model, reduces the number of communication rounds in the privacy intersection process, and the number of times the Batch-OT protocol is executed is independent of the size of the set.

[0079] like Figure 3 As shown, as another aspect, the present application also provides an electronic device 300, including one or more central processing units (CPU) 301, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 302 or the program loaded from the storage part 308 to the random access memory (RAM) 303. In the RAM 303, various programs and data required for the operation of the system 300 are also stored. The CPU 301, the ROM 302, and the RAM 303 are connected to each other through a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0080] The following components are connected to the I / O interface 305: an input section 306 including a keyboard, a mouse, etc.; an output section 307 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN card, a modem, etc. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as needed. A removable medium 311, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 310 as needed, so that a computer program read therefrom is installed into the storage section 308 as needed.

[0081] In particular, according to the embodiments of the present disclosure, the above reference Figure 1 The described process may be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product including a computer program tangibly contained on a machine-readable medium, the computer program including program code for executing a Batch-OT-based privacy set intersection method. In such an embodiment, the computer program may be downloaded and installed from a network via the communication portion 309, and / or installed from a removable medium 311.

[0082] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, program segment or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a different order from the order marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0083] As another aspect, the present application also provides a computer-readable storage medium, which may be a computer-readable storage medium included in the device described in the above embodiment; or a computer-readable storage medium that exists independently and is not assembled into the device. The computer-readable storage medium stores one or more programs, and the programs are used by one or more processors to execute the Batch-OT-based privacy set intersection method described in the present application.

[0084] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a dedicated hardware-based system that performs a specified function or operation, or can be realized by a combination of dedicated hardware and computer instructions.

[0085] The units or modules involved in the embodiments described in the present application may be implemented by software or by hardware. The units or modules described may also be arranged in a processor. For example, each of the units may be a software program arranged in a computer or a mobile smart device, or may be a separately configured hardware device. The names of these units or modules do not, in some cases, constitute limitations on the units or modules themselves.

[0086] The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the inventive concept. For example, the above features are replaced with (but not limited to) technical features with similar functions disclosed in the present application.

Claims

1. A private set intersection method based on Batch-OT, characterized in that: include: The first data party sorts its own data set to obtain a sorted data set ; The first data party generates a random bit matrix , using pseudo-random coding And combined with the sorted data set , the random bit matrix Convert to Matrix ; The random bit matrix and the matrix is a matrix of the same type; Based on the selected bit string of the second data party , the first data party and the second data party execute the Batch-OT protocol, and the second data party obtains the matrix ; The second data cube calculates the matrix Hash value , and the calculated hash value Sending to the first data party; The first data cube calculates the random bit matrix Hash value , and the matrix Hash value With the random bit matrix Hash value Compare and determine whether there are intersection elements between the first data cube and the second data cube; wherein, represents a hash function, Representation Matrix No. OK, represents the XOR operation, is the element of the second data cube itself, Representation Matrix No. OK; Wherein, the selection bit string based on the second data party , the first data party and the second data party execute the Batch-OT protocol, and the second data party obtains the matrix include: The first data party generates k pairs of random numbers , using the pseudo-random number generator G, respectively with the matrix , Perform XOR operation; The first data party and the second data party execute the Batch-OT protocol once. The input of the first data party is k pairs of random numbers. , the input of the second data party is the selection bit string After the protocol is executed, the second data party obtains the result ; The first data party and the second data party execute a Batch-OT protocol once, including: The first data party generates two pairs of RSA keys , ;in, , For two public keys, , Two private keys; and two public keys , Sending to the second data party; The second data party generates k pairs of random numbers , for each pair of random numbers The second data party selects the bit string Determine the encryption public key, and the second data party will encrypt the list Sending to the first data party; The first data party encrypts each pair of data , Use two private keys respectively , Decryption, the result after decryption is Then calculate , , and send the calculation result to the second data party; The second data party receives each pair of , and then calculate , the second data party gets the final result .

2. The Batch-OT-based private set intersection method according to claim 1, characterized in that: The first data party sorts its own data set to obtain a sorted data set Including: the first data party performs cuckoo sorting on its own data set to obtain a sorted data set .

3. The Batch-OT-based private set intersection method according to claim 2, characterized in that: The random bit matrix and the matrix for OK The matrix is ​​a matrix of the same type as the columns. for ;in, Representation Matrix No. OK, , is a safety parameter, Representation dataset The elements.

4. The Batch-OT-based private set intersection method according to claim 1, characterized in that: The second data cube calculates the matrix Hash value include: The second data party has each set element of itself At least Cuckoo sort, get the corresponding value ; According to the obtained Value, calculated by hash algorithm , .

5. The Batch-OT-based private set intersection method according to claim 1, characterized in that: The and Comparing and determining whether there is an intersection element between the first data cube and the second data cube includes: if If they are equal, then there is an intersection element between the first data cube and the second data cube ; otherwise it does not exist.

6. The Batch-OT-based private set intersection system is characterized by: The system is used to execute the Batch-OT-based privacy set intersection method according to any one of claims 1 to 5, and the system comprises: a first data cube, a second data cube and a Batch-OT module; wherein the first data cube comprises a sorting module, a matrix conversion module and a first hash module; the second data cube comprises a second hash module and a comparison module; The sorting module is used to sort the first data party's own data set to obtain a sorted data set. ; A matrix conversion module, used to enable the first data party to generate a random bit matrix , and using pseudo-random coding And combined with the sorted data set , the random bit matrix Convert to Matrix ; The random bit matrix and the matrix is a matrix of the same type; Batch-OT module for selecting bit strings based on the second data party , so that the first data party and the second data party execute the Batch-OT protocol, and the second data party obtains the matrix ; A second hash module is used to enable the second data cube to calculate the matrix Hash value , and the calculated hash value Sending to the first data party; A first hash module is used to enable the first data party to calculate the random bit matrix Hash value ; A comparison module is used to compare the matrix Hash value With the random bit matrix Hash value Compare and determine whether there are intersection elements between the first data cube and the second data cube; wherein, represents a hash function, Representation Matrix No. OK, represents the XOR operation, is the element of the second data cube itself, Representation Matrix No. OK.

7. An electronic device, characterized in that: include: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors execute the Batch-OT-based privacy set intersection method as described in any one of claims 1 to 5.

8. A computer-readable storage medium storing a computer program, characterized in that: When the program is executed by a processor, a Batch-OT-based privacy set intersection method as described in any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Privacy set intersection method and system

    CN114401080A