A privacy set intersection method and device based on scalable-ot

Through the scalable-ot privacy set intersection method, cuckoo hashing and simple hashing algorithms are used to generate a new hash table to store hash collision data, which solves the problem of increased computational complexity caused by hash collisions in the existing technology and realizes efficient intersection calculation.

CN113961961BActive Publication Date: 2025-09-30BAIBAO (SHANGHAI) TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111180326.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-11
Publication Date
2025-09-30
Estimated Expiration
2041-10-11

AI Technical Summary

Technical Problem

In the existing technology, when intersecting private sets through the OT method, there is a hash collision problem, which leads to increased computational complexity and reduced efficiency.

Method used

The scalable-ot privacy set intersection method is adopted to generate a new hash table through the first data party to store hash conflict data, avoiding repeated calculation processes. The hash table is constructed using cuckoo hashing and simple hashing algorithms to reduce the amount of calculation.

Benefits of technology

The calculation process is simplified, the calculation efficiency is improved, the amount of intersection calculation is reduced, and the calculation simplicity is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113961961B_ABST
    Figure CN113961961B_ABST
Patent Text Reader

Abstract

The present invention discloses a scalable-ot-based private set intersection method and device. A first data party uses a first hash algorithm to calculate the current first data to be processed, obtains a first calculation result, determines whether there is a hash conflict between the first calculation result and all currently generated first hash tables, and if so, generates a new first hash table to store the current first data to be processed. The above steps are repeated until all the first data to be processed are calculated. A second data party uses a second hash algorithm to calculate the second data to be processed, and generates a second hash table based on the obtained second calculation result. The intersection data of all the first data to be processed and the second data to be processed is calculated based on all the first hash tables and the second hash table, and a private intersection is generated based on the intersection data. The present invention can avoid repeating the entire calculation process multiple times to obtain the intersection result, greatly reducing the amount of intersection calculation, improving calculation efficiency, and making the entire calculation process more concise.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information processing technology, and in particular to a scalable-OT-based privacy set intersection method and device. Background Art

[0002] With the rapid development of the internet in my country, a vast amount of user data has been accumulated across all industries. This data includes a wide range of data related to users' personal privacy, such as their spending habits, medical records, and loan repayments. In recent years, the government has also introduced relevant laws and regulations to protect citizens' personal privacy.

[0003] To legally and compliantly combine diverse data from various industries for modeling and querying while protecting personal privacy, technologies such as federated learning, differential privacy, and multi-party secure computation have become hot topics in recent years. These technologies enable modeling to meet diverse application scenarios while maintaining data security, breaking down data silos. Because data exists between two (or multiple) parties, alignment based on unique identifiers is required before modeling. This allows for subsequent feature engineering and model training to be performed on the aligned data. Common data alignment solutions include secure intersection (also known as private set intersection), with mainstream approaches using homomorphic encryption or over-the-air (OT) methods. OT methods typically use hashing algorithms to perform computations on the data, which inevitably introduces hash collisions.

[0004] However, when solving the hash collision problem, the existing secure intersection solutions such as the OT method need to repeat the entire calculation process multiple times to obtain the intersection result, which greatly increases the calculation amount of the secure intersection and reduces the calculation efficiency.

[0005] In summary, it is urgent to propose a new privacy set intersection method to solve the above problems. Summary of the Invention

[0006] In order to solve the problems of the prior art, the present invention provides a privacy set intersection method and device based on scalable-OT. When solving the hash collision problem, there is no need to repeat the entire calculation process multiple times to obtain the intersection result, which greatly reduces the amount of intersection calculation, improves the calculation efficiency, and makes the entire calculation process more concise.

[0007] To solve one or more of the above technical problems, the technical solutions adopted in this application are:

[0008] In a first aspect, a method for intersecting private sets based on scalable-OT is provided, the method comprising:

[0009] The first data entity calculates the current first data to be processed using a first hash algorithm to obtain a first calculation result;

[0010] Determine whether there is a hash conflict between the first calculation result and all currently generated first hash tables. If so, generate a new first hash table to store the current first data to be processed, and repeat the above steps until all first data to be processed are calculated;

[0011] The second data entity calculates the second data to be processed using a second hash algorithm, and generates a second hash table according to the obtained second calculation result;

[0012] Intersection data of all the first to-be-processed data and the second to-be-processed data is calculated according to all the first hash tables and the second hash tables, and a private intersection is generated according to the intersection data.

[0013] Furthermore, the method further comprises:

[0014] When the first data entity performs the first calculation using the first hash algorithm, it constructs the first first hash table according to the obtained calculation result.

[0015] Furthermore, the method further comprises:

[0016] When the first data entity performs the first calculation using the first hash algorithm, it constructs the first first hash table according to the obtained calculation result.

[0017] Furthermore, the first hash algorithm includes a cuckoo hash algorithm, and the first hash table includes a cuckoo hash table.

[0018] Furthermore, the second hash algorithm includes a simple hash algorithm, and the second hash table includes a simple hash table.

[0019] In a second aspect, a scalable-OT-based privacy set intersection device is also provided, the device comprising:

[0020] A first calculation module is configured for the first data party to calculate the current first data to be processed using a first hash algorithm to obtain a first calculation result;

[0021] a conflict determination module, configured to determine whether the first calculation result has a hash conflict with all currently generated first hash tables;

[0022] A data storage module, configured to generate a new first hash table to store the current first data to be processed when a hash conflict occurs between the first calculation result and all currently generated first hash tables;

[0023] A second calculation module is used for the second data entity to calculate the second to-be-processed data using a second hash algorithm, and generate a second hash table according to the obtained second calculation result;

[0024] A data intersection module is configured to calculate intersection data of all the first to-be-processed data and the second to-be-processed data according to all the first hash tables and the second hash tables, and generate a private intersection according to the intersection data.

[0025] Furthermore, the data storage module is also used for:

[0026] When the first data entity performs the first calculation using the first hash algorithm, it constructs the first first hash table according to the obtained calculation result.

[0027] Furthermore, the data intersection module is used to:

[0028] The first data party executes the OT extension protocol on each of the first hash tables to generate an execution result;

[0029] The first data party performs an intersection calculation on the execution result and the execution result generated by executing the OT extension protocol on the second hash table and sent by the second data party to generate a private intersection.

[0030] On the third aspect, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the computer program is executed by the processor, the scalable-OT-based privacy set intersection method is implemented.

[0031] In a fourth aspect, a computer-readable storage medium is also provided, in which a computer program is stored. When the computer program is executed, the scalable-OT-based privacy set intersection method is implemented.

[0032] According to the specific embodiments provided by the present invention, the present invention discloses the following technical effects:

[0033] The present invention provides a scalable-OT-based privacy set intersection method and device. The first data party uses a first hash algorithm to calculate the current first data to be processed, obtains a first calculation result, and determines whether there is a hash conflict between the first calculation result and all the currently generated first hash tables. If so, a new first hash table is generated to store the current first data to be processed, and the above steps are repeated until all the first data to be processed are calculated. The second data party uses a second hash algorithm to calculate the second data to be processed, and generates a second hash table based on the obtained second calculation result. The intersection data of all the first data to be processed and the second data to be processed are calculated based on all the first hash tables and the second hash tables, and a private intersection is generated based on the intersection data. When there is a hash conflict between the first calculation result and all the currently generated first hash tables, a new first hash table is generated to store the current first data to be processed, thereby avoiding the need to repeat the entire calculation process multiple times to obtain the intersection result when performing the intersection calculation. This greatly reduces the amount of intersection calculation, improves the calculation efficiency, and makes the entire calculation process more concise. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0035] Figure 1 This is a flow chart of a method for performing private set intersection by OT in the prior art;

[0036] Figure 2 and Figure 3 Each is a flowchart of a scalable-ot-based privacy set intersection method provided by an embodiment of the present invention;

[0037] Figure 4 1 is a schematic diagram of the structure of a scalable-OT-based privacy set intersection device provided by an embodiment of the present invention;

[0038] Figure 5 This is an architectural diagram of a computer device provided by one embodiment of the present invention. DETAILED DESCRIPTION

[0039] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0040] In computing, a hash table is a data structure that implements the associative array abstract data type, mapping keys to given values. A hash table uses a hash function to compute an index into an array of buckets or slots, from which the desired value can be found. Ideally, the hash function would assign each key to a unique bucket, but most hash table designs use imperfect hash functions, which can lead to hash collisions, where the hash function generates the same index for multiple keys.

[0041] As described in the background technology, the existing privacy set intersection solution usually includes a client and a server. Figure 1 As shown, in the prior art, when performing privacy set intersection through OT, the basic OT protocol (i.e., base-OT) is usually executed on the client and server first. Then, the client performs cuckoo hash calculation on the ID of the original data to form a cuckoo hash table (cuckoo-hash-table). The server performs simple hash calculation on the ID of its own data to form a simple hash table (simple-hash-table). In this process, the client will store the conflicting IDs in a storage table (stash-table) structure. Secondly, after the hash calculation is completed on the client and server, the extended OT protocol is executed on both sides for the data in the cuckoo-hash-table. Then, the calculation result of the extended OT is intersected (i.e., PSI calculation) on the client to obtain the intersection result of the IDs in the cuckoo-hash-table. Finally, the storage table is queried. If the storage table is not empty, the above steps are repeated one by one by taking out one ID from the storage table until all the data in the storage table is calculated. In summary, when performing private set intersection through OT, when solving the hash collision problem, the entire calculation process needs to be repeated multiple times to obtain the intersection result, which greatly increases the computational complexity of secure intersection and reduces computational efficiency.

[0042] To solve the above problems, the embodiments of the present application creatively propose a privacy set intersection method based on scalable-ot. When there is a hash conflict between the first calculation result and all the currently generated first hash tables, a new first hash table is generated to store the current first data to be processed, thereby avoiding the need to repeat the entire calculation process multiple times to obtain the intersection result when performing the intersection calculation. This greatly reduces the amount of intersection calculation, improves the calculation efficiency, and makes the entire calculation process more concise.

[0043] The solution of this application will be described in detail below with reference to the accompanying drawings and various embodiments.

[0044] Example 1

[0045] An embodiment of the present invention provides a privacy set intersection method based on scalable-ot, which can avoid repeating the entire calculation process multiple times when performing intersection calculation, greatly reducing the amount of intersection calculation, improving calculation efficiency, and making the entire calculation process more concise.

[0046] The privacy set intersection method based on scalable-ot provided in the embodiment of the present invention mainly involves two or more parties. Taking two parties as an example, refer to Figure 2 and 3 As shown, the scalable-OT based privacy set intersection method mainly includes a client and a server. Specifically, the scalable-OT based privacy set intersection method provided by the embodiment of the present invention includes the following steps:

[0047] S1: The first data party calculates the current first data to be processed using a first hash algorithm to obtain a first calculation result.

[0048] Specifically, in this embodiment of the present invention, the first data party includes but is not limited to the client, and the second data party includes but is not limited to the server. The first and second data parties first execute the basic OT protocol, namely, base-OT, including but not limited to pinkas-base-OT. Next, the first and second data parties each perform a hash calculation on the ID of the local raw data (including the first data to be processed and the second data to be processed) using a preset hash algorithm. Specifically, the first data party performs a hash calculation on the current first data to be processed using the first hash algorithm to obtain a first calculation result.

[0049] S2: Determine whether there is a hash conflict between the first calculation result and all the first hash tables currently generated. If so, generate a new first hash table to store the current first data to be processed, and repeat the above steps until all the first data to be processed are calculated.

[0050] Specifically, after obtaining the first calculation result, the first data party will first determine whether there is a hash conflict between the currently obtained first calculation result and all the currently generated first hash tables. If there is a hash conflict between the currently obtained first calculation result and all the currently generated first hash tables, a new first hash table is generated to store the current first data to be processed. If there is no hash conflict between the currently obtained first calculation result and all the currently generated first hash tables, the current first data to be processed is stored in the first hash table without hash conflict, and the above steps are repeated until all the first data to be processed are calculated. It should be noted here that all the first hash tables in the embodiment of the present invention are hash tables of the same size.

[0051] In the embodiment of the present invention, since a new first hash table is regenerated for storing the first data to be processed with hash conflicts, and all hash tables have the same size, on the one hand, it does not affect the subsequent intersection calculation, and the entire process only needs to be executed once, and there is no need to repeat the entire process to obtain the intersection result. The solution is relatively simple. On the other hand, the second data party does not need to repeatedly calculate the second data to be processed, which greatly improves the computing efficiency and saves computing resources.

[0052] S3: The second data entity calculates the second data to be processed using a second hash algorithm, and generates a second hash table according to the obtained second calculation result.

[0053] Specifically, similarly, the second data party will use the second hash algorithm to calculate the second data to be processed, and generate a second hash table based on the second calculation result. The second hash algorithm and the first hash algorithm here can be different hash algorithms, and there is no specific limitation here.

[0054] S4: Calculate intersection data of all the first to-be-processed data and the second to-be-processed data according to all the first hash tables and the second hash tables, and generate a private intersection according to the intersection data.

[0055] Specifically, after the calculation of the first data cube and the second data cube is completed, the intersection calculation of the first data to be processed and the second data to be processed is performed based on all the first hash tables and second hash tables obtained by calculation, the intersection data is obtained, and a private intersection is generated based on the intersection data.

[0056] As a preferred implementation, in an embodiment of the present invention, the method further includes:

[0057] When the first data entity performs the first calculation using the first hash algorithm, it constructs the first first hash table according to the obtained calculation result.

[0058] Specifically, in an embodiment of the present invention, when the first data party uses the first hash algorithm to perform the first calculation, it will construct the first first hash table based on the obtained calculation result. In the subsequent calculation process, the obtained first calculation result will be compared with the first first hash table to determine whether there is a hash conflict. If so, a new first hash table will be generated to store the corresponding first data to be processed. Otherwise, the corresponding first data to be processed will be stored in the first first hash table. When the number of first hash tables exceeds one, the obtained first calculation result will be compared with all the currently existing first hash tables to determine whether there is a hash conflict. If there is a hash conflict, a new first hash table will be generated to store the corresponding first data to be processed. If there is no hash conflict with all the currently existing first hash tables, the corresponding first data to be processed will be stored in the first hash table without hash conflict. The above steps are repeated until all the first data to be processed are calculated.

[0059] As a preferred implementation, in an embodiment of the present invention, calculating the intersection data of all the first to-be-processed data and the second to-be-processed data based on all the first hash tables and the second hash tables, and generating a private intersection based on the intersection data includes:

[0060] The first data party executes the OT extension protocol on each of the first hash tables to generate an execution result;

[0061] The first data party performs an intersection calculation on the execution result and the execution result generated by executing the OT extension protocol on the second hash table and sent by the second data party to generate a private intersection.

[0062] Specifically, in this embodiment of the present invention, after the first and second data parties complete the computation, they execute an extended OT protocol on all first hash tables to generate an execution result. The extended OT protocol includes, but is not limited to, the KK extended OT protocol. Assuming the first hash tables have N tables (N is a positive integer greater than or equal to 1), the extended OT protocol needs to be executed N times. The first data party then performs an intersection calculation on the execution result and the second hash table using the extended OT protocol to generate a final private intersection.

[0063] As a preferred implementation, in an embodiment of the present invention, the first hash algorithm includes a cuckoo hash algorithm, and the first hash table includes a cuckoo hash table.

[0064] Specifically, the first hash algorithm includes but is not limited to the cuckoo hash algorithm, and correspondingly, the first hash table includes but is not limited to the cuckoo hash table. The cuckoo hash algorithm (cuckoo-hash) can use a simple hash function to improve hash table utilization while ensuring query time. The basic idea is to use two hash functions to handle collisions, so that each key (such as the first data to be processed) corresponds to two locations. During the specific calculation, the key value is first hashed to generate two hashkey values, hashk1 and hashk2. If one of the two corresponding positions is empty, the key is directly inserted. Otherwise, a position is selected and the key value is inserted, kicking out the key value already in that position. The kicked-out key value needs to be reinserted until no key is kicked out.

[0065] As a preferred implementation, in an embodiment of the present invention, the second hash algorithm includes a simple hash algorithm, and the second hash table includes a simple hash table.

[0066] Specifically, the second hash algorithm includes but is not limited to a simple hash algorithm, and correspondingly, the second hash table includes but is not limited to a simple hash table.

[0067] Example 2

[0068] Corresponding to the above-mentioned embodiment 1, the present invention further provides a privacy set intersection device based on scalable-ot, wherein, in this embodiment, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction and will not be described in detail later. Figure 4 The device comprises:

[0069] A first calculation module is configured for the first data party to calculate the current first data to be processed using a first hash algorithm to obtain a first calculation result;

[0070] a conflict determination module, configured to determine whether the first calculation result has a hash conflict with all currently generated first hash tables;

[0071] A data storage module, configured to generate a new first hash table to store the current first data to be processed when a hash conflict occurs between the first calculation result and all currently generated first hash tables;

[0072] A second calculation module is used for the second data entity to calculate the second to-be-processed data using a second hash algorithm, and generate a second hash table according to the obtained second calculation result;

[0073] A data intersection module is configured to calculate intersection data of all the first to-be-processed data and the second to-be-processed data according to all the first hash tables and the second hash tables, and generate a private intersection according to the intersection data.

[0074] As a preferred implementation, in an embodiment of the present invention, the data storage module is further used to:

[0075] When the first data entity performs the first calculation using the first hash algorithm, it constructs the first first hash table according to the obtained calculation result.

[0076] As a preferred implementation, in an embodiment of the present invention, the data intersection module is used to:

[0077] The first data party executes the OT extension protocol on each of the first hash tables to generate an execution result;

[0078] The first data party performs an intersection calculation on the execution result and the execution result generated by executing the OT extension protocol on the second hash table and sent by the second data party to generate a private intersection.

[0079] As a preferred implementation, in an embodiment of the present invention, the first hash algorithm includes a cuckoo hash algorithm, and the first hash table includes a cuckoo hash table.

[0080] As a preferred implementation, in an embodiment of the present invention, the second hash algorithm includes a simple hash algorithm, and the second hash table includes a simple hash table.

[0081] Example 3

[0082] Corresponding to the above-mentioned embodiments one and two, the present invention also provides a computer device, including: a processor and a memory, wherein the memory stores a computer program that can be run on the processor, and when the computer program is executed by the processor, the scalable-OT-based privacy set intersection method provided in any one of the above-mentioned embodiments is executed.

[0083] in, Figure 5 The computer device 1500 is shown as an example and may include a processor 1510, a video display adapter 1511, a disk drive 1512, an input / output interface 1513, a network interface 1514, and a memory 1520. The processor 1510, the video display adapter 1511, the disk drive 1512, the input / output interface 1513, the network interface 1514, and the memory 1520 may be communicatively connected via a communication bus 1530.

[0084] The processor 1510 may be implemented using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and may be used to execute relevant programs to implement the technical solutions provided by the present invention.

[0085] The memory 1520 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1520 can store an operating system 1521 for controlling the operation of the electronic device and a basic input and output system (BIOS) 1522 for controlling the low-level operation of the electronic device. In addition, a web browser 1523, a data storage management system 1524, and a device identification information processing system 1525, etc. can also be stored. The above-mentioned device identification information processing system 1525 can be an application program that specifically implements the operations of the aforementioned steps in the embodiment of the present invention. In short, when the technical solution provided by the present invention is implemented by software or firmware, the relevant program code is stored in the memory 1520 and is called and executed by the processor 1510.

[0086] The input / output interface 1513 is used to connect to an input / output module to implement information input and output. The input / output module can be configured as a component within the device (not shown) or can be externally connected to the device to provide corresponding functions. Input devices may include a keyboard, mouse, touch screen, microphone, various sensors, etc. Output devices may include a display, speaker, vibrator, indicator light, etc.

[0087] The network interface 1514 is used to connect to a communication module (not shown) to enable communication between the device and other devices. The communication module can communicate via wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, Wi-Fi, Bluetooth, etc.).

[0088] The bus comprises a pathway that transmits information between various components of the device (eg, processor 1510 , video display adapter 1511 , disk drive 1512 , input / output interface 1513 , network interface 1514 , and memory 1520 ).

[0089] In addition, the electronic device can also obtain information on specific collection conditions from the virtual resource object collection condition information database for use in condition judgment, etc.

[0090] It should be noted that although the above device only shows a processor 1510, a video display adapter 1511, a disk drive 1512, an input / output interface 1513, a network interface 1514, a memory 1520, a bus, etc., in a specific implementation, the device may also include other components necessary for normal operation. In addition, those skilled in the art will understand that the above device may only include components necessary to implement the solution of the present invention, and does not necessarily include all the components shown in the figure.

[0091] Example 4

[0092] Corresponding to the above-mentioned embodiments one to three, an embodiment of the present invention further provides a computer-readable storage medium. In this embodiment, the same or similar contents as those of the above-mentioned embodiments one to three can be referred to the above introduction and will not be repeated later.

[0093] The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the following steps:

[0094] The first data entity calculates the current first data to be processed using a first hash algorithm to obtain a first calculation result;

[0095] Determine whether there is a hash conflict between the first calculation result and all currently generated first hash tables. If so, generate a new first hash table to store the current first data to be processed, and repeat the above steps until all first data to be processed are calculated;

[0096] The second data entity calculates the second data to be processed using a second hash algorithm, and generates a second hash table according to the obtained second calculation result;

[0097] Intersection data of all the first to-be-processed data and the second to-be-processed data is calculated according to all the first hash tables and the second hash tables, and a private intersection is generated according to the intersection data.

[0098] In some implementations, in the embodiments of the present application, when the computer program is executed by the processor, it can also implement steps corresponding to the method described in Example 1. Please refer to the detailed description in Example 1 and will not be repeated here.

[0099] From the above description of the embodiments, it is clear that those skilled in the art will clearly understand that the present invention can be implemented using software and a necessary general-purpose hardware platform. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium such as ROM / RAM, a magnetic disk, or an optical disk, and includes instructions for enabling a computer device (such as a personal computer, server, or network device) to execute the methods described in various embodiments of the present invention, or portions thereof.

[0100] Each embodiment in this specification is described in a progressive manner. The same or similar parts between the embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments. In particular, for system or system embodiments, since they are basically similar to method embodiments, the description is relatively simple. For relevant parts, refer to the partial description of the method embodiment. The system and system embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. A person of ordinary skill in the art can understand and implement it without expending creative work.

[0101] The technical solutions provided by the present invention have been described in detail above. Specific examples have been used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is intended only to help understand the method and core concept of the present invention. At the same time, those skilled in the art will appreciate that the specific implementation methods and application scopes may vary based on the concepts of the present invention. In summary, the contents of this specification should not be construed as limiting the present invention.

Claims

1. A scalable-ot based private set intersection method, characterized in that: The method comprises: The first data entity calculates the current first data to be processed using a first hash algorithm to obtain a first calculation result; Determine whether there is a hash conflict between the first calculation result and all currently generated first hash tables. If so, generate a new first hash table to store the current first data to be processed, and repeat the above steps until all first data to be processed are calculated, wherein all first hash tables have the same size; The second data entity calculates the second data to be processed using a second hash algorithm, and generates a second hash table according to the obtained second calculation result; Calculating intersection data of all the first to-be-processed data and the second to-be-processed data according to all the first hash tables and the second hash tables, and generating a private intersection according to the intersection data, including: The first data party executes the OT extension protocol on each of the first hash tables to generate an execution result; The first data party performs an intersection calculation on the execution result and the execution result generated by executing the OT extension protocol on the second hash table and sent by the second data party to generate a private intersection.

2. The scalable-OT based private set intersection method according to claim 1, characterized in that: The method further comprises: When the first data entity performs the first calculation using the first hash algorithm, it constructs the first first hash table according to the obtained calculation result.

3. The scalable-OT-based private set intersection method according to claim 1 or 2, characterized in that: The first hash algorithm includes a cuckoo hash algorithm, and the first hash table includes a cuckoo hash table.

4. The scalable-OT-based privacy set intersection method according to claim 1 or 2, characterized in that: The second hash algorithm includes a simple hash algorithm, and the second hash table includes a simple hash table.

5. A privacy set intersection device based on scalable-ot, characterized in that: The device comprises: A first calculation module is configured for the first data party to calculate the current first data to be processed using a first hash algorithm to obtain a first calculation result; a conflict determination module, configured to determine whether the first calculation result has a hash conflict with all currently generated first hash tables; A data storage module, configured to generate a new first hash table to store the current first data to be processed when a hash conflict occurs between the first calculation result and all currently generated first hash tables, wherein all the first hash tables have the same size; A second calculation module is used for the second data entity to calculate the second to-be-processed data using a second hash algorithm, and generate a second hash table according to the obtained second calculation result; A data intersection module, configured to calculate intersection data of all the first to-be-processed data and the second to-be-processed data according to all the first hash tables and the second hash tables, and generate a private intersection according to the intersection data, including: The first data party executes the OT extension protocol on each of the first hash tables to generate an execution result; The first data party performs an intersection calculation on the execution result and the execution result generated by executing the OT extension protocol on the second hash table and sent by the second data party to generate a private intersection.

6. The scalable-OT-based privacy set intersection device according to claim 5, characterized in that: The data storage module is further used for: When the first data entity performs the first calculation using the first hash algorithm, it constructs the first first hash table according to the obtained calculation result.

7. A computer device, characterized in that: It includes a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the computer program is executed by the processor, the scalable-OT-based privacy set intersection method described in any one of claims 1 to 4 is implemented.

8. A computer-readable storage medium storing a computer program, wherein: When the computer program is executed, the scalable-OT-based privacy set intersection method described in any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Private data intersection calculation method and device, equipment and storage medium

    CN113343305A