Privacy set intersection method and device, storage medium and program product
By sending a lightweight filter from the verification device and data obfuscating and encrypting it with the matching device, the problem of high computational overhead and insufficient privacy protection in existing technologies is solved. This achieves efficient and accurate calculation of the intersection of privacy sets and reduces the risk of data leakage.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-09
- Publication Date
- 2026-04-10
AI Technical Summary
Existing privacy set intersection technology suffers from high computational overhead and insufficient privacy protection during the sharing and matching of call detail data. In particular, when conducting joint analysis across operators or between operators and third-party institutions, the risk of privacy leakage is high, and the accuracy of the results is insufficient.
By sending a lightweight filter through the verification device, the matching device obfuscates the local call data and matches it with the encrypted obfuscated data set, ensuring data irreversibility and enhancing privacy protection. At the same time, the verification device encrypts the data to reduce the risk of leakage during transmission and processing, and improves the accuracy of intersection matching results by filtering matching items through XOR filters and count Bloom filters.
It effectively reduces communication overhead and computational pressure, improves the accuracy of intersection matching results, enhances privacy protection during data transmission and processing, and reduces the risk of leakage.
Smart Images

Figure CN121841680A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to privacy set intersection methods, devices, storage media, and program products. Background Technology
[0002] With the continuous improvement of communication technology and big data analytics capabilities, operators, financial institutions, advertising platforms, and other parties are increasingly demanding protection of user privacy when collaborating on data. Especially in the process of sharing and matching call detail records, how to achieve efficient calculation of privacy-preserving data intersections without leaking the original data of both parties has become a pressing technical challenge.
[0003] Currently, Private Set Intersection (PSI) technology is the mainstream solution, aiming to enable two or more participants to identify shared data items while protecting the privacy of their respective non-intersecting data. However, in specific business scenarios such as call detail records, PSI technology still has significant limitations. Specifically, the candidate set often contains a large number of non-intersecting data items, which not only significantly increases the computational overhead of the subsequent verification stage but also has shortcomings in privacy protection. Especially in scenarios involving cross-carrier or joint analysis between carriers and third-party institutions, the risk of privacy leakage is more prominent due to information asymmetry and weak trust foundation, making it difficult to meet their comprehensive requirements for high efficiency, strong privacy, and low bandwidth.
[0004] Therefore, the relevant technical solutions still have problems such as insufficient accuracy of results due to mismatches and weak privacy protection. Summary of the Invention
[0005] This application provides privacy set intersection methods, devices, storage media, and program products to reduce the risk of data leakage during transmission and processing and improve the accuracy of intersection results.
[0006] In a first aspect, this application provides a privacy set intersection method applied to a matching device, wherein the matching device and a verification device are communicatively connected, comprising: receiving a filter sent by the verification device; the filter being obtained based on a first encrypted data set of local call data of the verification device; obfuscating the local call data of the matching device to obtain an obfuscated data set, and sending the obfuscated data set to the verification device so that the verification device encrypts the obfuscated data set; receiving an encrypted obfuscated data set sent by the verification device; and matching the filter with the encrypted obfuscated data set to obtain a privacy data intersection.
[0007] The technical solution provided in this application offers at least the following advantages: The verification device only needs to send a lightweight filter, avoiding the interaction of complex encrypted results between the two parties, effectively reducing communication overhead and computational pressure on the matching device, and improving computational efficiency. Before sending, the matching device obfuscates the local call data and performs matching based on the filter and the encrypted obfuscated data set, ensuring that both the verification and matching devices receive irreversible randomized data, making it impossible to trace its original content, enhancing privacy protection, and reducing the risk of data leakage during transmission and processing. Encrypting the obfuscated data set by the verification device allows for the encryption of data from both devices in the same way; the same data, after encryption, yields the same result, improving the accuracy of intersection matching results.
[0008] One possible implementation method is to use filters such as XOR filters and count Bloom filters.
[0009] Another possible implementation involves deobfuscating the encrypted and obfuscated data set to obtain a second encrypted data set of local call data matching the device; filtering data from the second encrypted data set that matches the first encrypted data set using an XOR filter to obtain at least one match; for each match in the at least one match, resetting the count Bloom filter and recording the frequency of each match; and determining the privacy data intersection based on the frequency of each match.
[0010] Another possible implementation is to determine the intersection of privacy data based on the frequency of each matching item, including adding the matching item to the intersection of privacy data if the frequency of the matching item is less than or equal to a preset value.
[0011] Another possible implementation is to send the intersection of privacy data to the verification device so that the verification device can verify the intersection of privacy data.
[0012] Another possible implementation involves adding a differential privacy perturbation to each element in the intersection of privacy data; the strength of the differential privacy perturbation is dynamically adjusted based on the frequency of occurrence of each element recorded in the count Bloom filter; and the privacy data intersection with the added differential privacy perturbation is sent to the verification device.
[0013] Secondly, this application provides a privacy set intersection method applied to a verification device, wherein the verification device and a matching device are in a communication connection, comprising: encrypting the local call data of the verification device to obtain a first encrypted data set; constructing a filter based on the first encrypted data set and sending the filter to the matching device, so that the matching device matches the second encrypted data set of the local call data of the matching device based on the filter to obtain a privacy data intersection.
[0014] The technical solution provided in this application offers at least the following benefits: By encrypting the original data, it ensures that the data sent to the verifier will not be exposed in plaintext subsequently, reducing the risk of data leakage during transmission and processing. Sending the filter to the matching device, a lightweight data structure, has a transmission cost far lower than transmitting the complete encrypted set, improving communication efficiency between devices.
[0015] One possible implementation involves receiving a set of obfuscated data sent by a matching device; the obfuscated data set is obtained by the matching device obfuscating its local call data; the obfuscated data set is encrypted to obtain an encrypted obfuscated data set, and the encrypted obfuscated data set is sent to the matching device so that the matching device can deobfuscate the encrypted obfuscated data set to obtain a second encrypted data set of the matching device's local call data.
[0016] Another possible implementation involves receiving the intersection of privacy data sent by the matching device; verifying the elements in the intersection of privacy data based on the first encrypted data set of the verification device; and generating an intersection list based on the elements that pass the verification.
[0017] Another possible implementation, before verifying the elements in the privacy data intersection based on the first encrypted data set of the verification device, further includes: removing the differential privacy perturbation if the privacy data intersection is a privacy data intersection with differential privacy perturbation added.
[0018] Thirdly, this application provides a privacy set intersection device, comprising: a processing module and a matching module; the processing module is configured to receive a filter sent by a verification device; the processing module is further configured to obfuscate the local call data of the matching device to obtain an obfuscated data set, and send the obfuscated data set to the verification device so that the verification device encrypts the obfuscated data set; the processing module is further configured to receive an encrypted obfuscated data set sent by the verification device; the matching module is configured to match the filter with the encrypted obfuscated data set to obtain a privacy data intersection.
[0019] One possible implementation method is to use filters such as XOR filters and count Bloom filters.
[0020] Another possible implementation, the processing module, is also used to deobfuscate the encrypted obfuscated data set to obtain a second encrypted data set of local call data matching the device; filter data from the second encrypted data set that matches the first encrypted data set based on an XOR filter to obtain at least one matching item; for each matching item in the at least one matching item, record the frequency of each matching item after resetting the counting Bloom filter; and determine the privacy data intersection based on the frequency of each matching item.
[0021] Another possible implementation is that the matching module is also used to add the matching item to the privacy data intersection if the frequency of the matching item is less than or equal to a preset value.
[0022] Another possible implementation involves a processing module that also sends the privacy data intersection to a verification device, enabling the verification device to verify the privacy data intersection.
[0023] Another possible implementation involves a processing module that adds a differential privacy perturbation to each element in the intersection of privacy data; the strength of the differential privacy perturbation is dynamically adjusted based on the frequency of occurrence of each element recorded in the count Bloom filter; and the privacy data intersection with the added differential privacy perturbation is sent to the verification device.
[0024] Fourthly, this application provides another privacy set intersection device, including: an encryption module and a processing module; the encryption module is used to encrypt the local call data of the verification device to obtain a first encrypted data set; the processing module is used to construct a filter based on the first encrypted data set and send the filter to the matching device, so that the matching device matches the second encrypted data set of the local call data of the matching device based on the filter to obtain a privacy data intersection.
[0025] One possible implementation is that the encryption module is also used to receive a set of obfuscated data sent by the matching device; the obfuscated data set is obtained by the matching device obfuscating the local call data of the matching device; the obfuscated data set is encrypted to obtain an encrypted obfuscated data set, and the encrypted obfuscated data set is sent to the matching device so that the matching device can deobfuscate the encrypted obfuscated data set to obtain a second encrypted data set of the local call data of the matching device.
[0026] Another possible implementation is that the processing module is also used to receive the privacy data intersection sent by the matching device; verify the elements in the privacy data intersection based on the first encrypted data set of the verification device, and generate an intersection list based on the elements that pass the verification.
[0027] Another possible implementation, the processing module, is further configured to, before verifying the elements in the privacy data intersection based on the first encrypted data set of the verification device, remove the differential privacy perturbation if the privacy data intersection is a privacy data intersection with differential privacy perturbation added.
[0028] Fifthly, this application provides an electronic device comprising: a processor and a memory; the memory storing processor-executable instructions; when the processor is configured to execute the instructions, causing the electronic device to implement the methods of the first or second aspect described above.
[0029] In a sixth aspect, this application provides a computer-readable storage medium comprising: computer software instructions; which, when executed in an electronic device, cause the electronic device to implement the methods described in the first or second aspect.
[0030] In a seventh aspect, this application provides a computer program product comprising a computer program; when the computer program is run in an electronic device, it causes the electronic device to implement the methods described in the first or second aspect above.
[0031] The beneficial effects of the third to seventh aspects mentioned above are described in the corresponding descriptions of the first and second aspects, and will not be repeated here. Attached Figure Description
[0032] Figure 1 A schematic diagram of the system architecture of a privacy set intersection system provided in this application embodiment; Figure 2 A flowchart illustrating a privacy set intersection method provided in an embodiment of this application; Figure 3 A flowchart illustrating a method for matching the intersection of privacy data provided in an embodiment of this application; Figure 4 A flowchart illustrating another privacy set intersection method provided in this application embodiment; Figure 5 A flowchart illustrating the steps for finding the intersection of privacy data, as provided in this application embodiment; Figure 6 A flowchart illustrating device interaction provided in an embodiment of this application; Figure 7 This is a schematic diagram illustrating the composition of a privacy set intersection device provided in an embodiment of this application; Figure 8 A schematic diagram illustrating the composition of another privacy set intersection device provided in this application embodiment; Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0033] The following section will describe in detail a privacy set intersection method provided in this application, with reference to the accompanying drawings.
[0034] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.
[0035] The terms "first" and "second," etc., used in the specification and drawings of this application are used to distinguish different objects or to distinguish different treatments of the same object, rather than to describe a specific order of objects.
[0036] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.
[0037] It should be noted that in the embodiments of this application, the words "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0038] To facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish the same or similar items with essentially the same function and effect. Those skilled in the art can understand that the terms "first" and "second" are not intended to limit the quantity or execution order.
[0039] In the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0040] With the continuous improvement of communication technology and big data analytics capabilities, operators, financial institutions, advertising platforms, and other parties are increasingly demanding protection of user privacy when collaborating on data. Especially in the process of sharing and matching call detail records, how to achieve efficient calculation of privacy-preserving data intersections without leaking the original data of both parties has become a pressing technical challenge.
[0041] Currently, PSI technology is the mainstream solution; however, it still has significant limitations in specific business scenarios such as call detail records. Specifically, call detail records contain a large amount of duplicate data, such as the same number making multiple calls within a short period or multiple reports from the same base station. Most existing PSI methods do not support frequency statistics and cannot determine the frequency of a particular element, leading to insufficient reliability of results when dealing with frequency-sensitive businesses (such as abnormal behavior detection and high-frequency call identification). Call detail records contain many low-entropy fields, such as phone numbers and ID card numbers. These fields are easily exploited by attackers to reverse-engineer the original data using rainbow tables, and the lack of differential privacy mechanisms means that the final intersection result may expose individual information. Some PSI implementations based on hash functions or unencrypted Bloom filters do not encrypt the original data, posing serious privacy risks.
[0042] To address the aforementioned technical issues, this application provides a privacy set intersection method. The core idea is as follows: the verification device only needs to send a lightweight filter, avoiding the interaction of complex encrypted results between the two parties, effectively reducing communication overhead and computational pressure on the matching device, and improving computational efficiency. Before sending, the matching device obfuscates the local call data and performs matching based on the filter and the encrypted obfuscated data set. This ensures that both the verification and matching devices receive irreversible randomized data, making it impossible to trace its original content, enhancing privacy protection, and reducing the risk of data leakage during transmission and processing. Encrypting the obfuscated data set by the verification device allows for the encryption of data from both devices in the same way; the same data, after encryption, yields the same result, improving the accuracy of the intersection matching result. Encrypting the original data ensures that the data sent to the verification party will not be exposed in plaintext subsequently, reducing the risk of data leakage during transmission and processing. Sending the filter to the matching device, a lightweight data structure, has a transmission cost far lower than transmitting the complete encrypted set, improving communication efficiency between devices.
[0043] The embodiments provided in this application will now be described in detail with reference to the accompanying drawings.
[0044] The privacy set intersection method provided in this application can be applied to, for example... Figure 1 The privacy set intersection system shown. For example... Figure 1 As shown, the privacy set intersection system 10 of this application includes: a matching device 11 and a verification device 12.
[0045] In this process, a communication connection is established between the matching device 11 and the verification device 12. For example, the connection method can be wireless, such as Bluetooth or Wi-Fi; alternatively, it can be wired, such as fiber optic, etc., without limitation. For example, the matching device 11 and the verification device 12 can be connected to the Internet via a router, thereby enabling the communication connection between them.
[0046] In some implementations, the matching device 11 can receive a filter sent by the verification device 12, or it can obfuscate local call data before sending it to the verification device 12, so that the verification device 12 can encrypt the obfuscated data set. The matching device 11 can also match the filter with the encrypted obfuscated data set to calculate the intersection of privacy data.
[0047] In some embodiments, the electronic device 11 is able to add differential privacy perturbations to each element in the privacy data intersection after calculating the privacy data intersection.
[0048] In some implementations, the electronic device 11 may also store local call data and data related to the filtered and encrypted obfuscated data set received from the verification device 12, in order to facilitate data retrieval, data processing and analysis.
[0049] In some implementations, the verification device 12 can encrypt local call data and construct a filter before sending it to the matching device 11, so that the matching device 11 can match the local call data of the matching device 11 based on the filter. The verification device 12 can also receive an obfuscated data set sent by the matching device 11, encrypt it, and send it to the matching device 11, so that the matching device 11 can deobfuscate the encrypted obfuscated data set.
[0050] In some embodiments, the verification device 12 may also receive the privacy data intersection sent by the matching device 11, and verify the elements in the privacy data intersection based on local call data after removing differential perturbations.
[0051] In some implementations, the verification device 12 may also store local call data and related data from the obfuscated data set received from the matching device 11 to facilitate data retrieval, processing, and analysis.
[0052] In some implementations, the matching device 11 or the verification device 12 can be a server, such as a single server or a server cluster consisting of multiple servers. In some implementations, the server cluster can also be a distributed cluster.
[0053] In some implementations, the matching device 11 or the verification device 12 can be a terminal device, such as a mobile phone, tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, ultra-mobile personal computer (UMPC), netbook, cellular phone, personal digital assistant (PDA), augmented reality (AR) / virtual reality (VR) device, etc. This application embodiment does not impose any special limitations on the specific form of the terminal device.
[0054] It should be noted that the system architecture described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of system architecture, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0055] The privacy set intersection method provided in the embodiments of this application will be described below with reference to the accompanying drawings.
[0056] For example, the privacy set intersection method provided in this application can be achieved through... Figure 1 The privacy set intersection system shown is implemented, or, through Figure 1 The matching and verification devices in the privacy set intersection system shown are implemented.
[0057] See Figure 2 This is a flowchart illustrating a privacy set intersection method provided in an embodiment of this application, which is applied to a matching device. Figure 2 As shown, the privacy set intersection method provided in this application includes the following steps S201~S204.
[0058] S201, Receive the filter sent by the verification device.
[0059] The filter is obtained based on the first encrypted data set of local call data of the verification device.
[0060] In some embodiments, a filter is a data structure for efficiently performing privacy set membership tests. It is constructed from a first encrypted data set of the verification device and can perform matching operations on the complete data set of the verifier with minimal space overhead and extremely high query speed, without directly revealing any original data information.
[0061] In some embodiments, the filter includes: an XOR filter and a count Bloom filter.
[0062] In some embodiments, an XOR filter is a data structure that enables efficient static member queries through XOR operations. Its core is an array that stores fingerprints of a fixed length. During the construction phase, a linear system is solved to ensure that the XOR result of the hash position of each element is equal to its fingerprint, thereby providing deterministic query results without false negatives.
[0063] In some embodiments, the counting Bloom filter is an extension of the standard Bloom filter. At the cost of more storage space, it uses a counter array instead of a simple bit array to record the number of times each position is mapped. This allows it to not only perform member queries but also support element deletion operations, and dynamically maintain the state of the set by incrementing or decrementing the counter value.
[0064] In some embodiments, the matching device can receive the filter from the verification device through a secure network communication channel, such as an encrypted link established based on a transport layer security protocol. This process typically occurs during the initialization phase of the privacy set intersection protocol, whereby the verification device proactively pushes the filter to the matching device after completing the encryption of its local data and the construction of the filter, or sends it in response to a specific request from the matching device.
[0065] In some embodiments, after acquiring the filter, the matching device can also perform integrity verification on the received filter data, for example by verifying the accompanying digital signature or message authentication code, to ensure that the filter has not been tampered with during transmission and indeed originates from a trusted verification device. Furthermore, the matching device can cache the received filter in local memory or a secure storage area for subsequent local matching operations with its own encrypted data set.
[0066] S202. Obfuscate the local call data of the matching device to obtain an obfuscated data set, and send the obfuscated data set to the verification device so that the verification device can encrypt the obfuscated data set.
[0067] In some embodiments, obfuscation is a privacy protection technique that involves introducing a randomization factor to unidirectionally transform the original data, generating pseudo-random data that appears random and untraceable. Its purpose is to ensure that, without affecting the correctness of the final encryption and matching results, no intermediary (including verification devices) can deduce the original data from the obfuscated data.
[0068] In some embodiments, obfuscation can be achieved through a cryptographic blinding method, which involves introducing a randomization factor to perform a one-way transformation on the original data. Specifically, the matching device can generate a cryptographically secure random number as a blinding factor for each local call data, and convert the original data into an irreversible blinded value through modular multiplication on a multiplicative group or elliptic curve point addition.
[0069] For example, obfuscation can be achieved using an elliptic curve-based multiplicative blinding method. This method requires the matching device to pre-obtain the verification device's public key on the elliptic curve and generate a cryptographically secure random blinding factor *r* for each call data to be processed. Subsequently, the matching device calculates the blinding point using elliptic curve scalar multiplication. This blinding point constitutes the basic unit of the obfuscated data set, and its mathematical properties ensure that after the verification device performs regular encryption using the corresponding private key, the matching device can remove the influence of *r* through reverse computation.
[0070] In some embodiments, the obfuscated dataset refers to the entire pseudo-random dataset obtained by the matching device after obfuscating all its local call data entries, which will be sent to the verification device for further processing.
[0071] In some embodiments, the obfuscated data set may include a set of data items generated by the matching device after transforming each original call data record using a blinding factor. For example, each data item may be a blinded value obtained by multiplying or adding the original data with a cryptographically secure random number, or it may be a random number generated using a hash function or by using the original data as a seed.
[0072] For example, the matching device reads a call record, such as a phone number string, from its call data SetB. It then calls a cryptographic library to generate a random obfuscation factor r that is coprime to the order of the cryptographic group. Next, the phone number is converted to a large integer and multiplied with the obfuscation factor r at a point on a multiplicative group or elliptic curve, generating a new, seemingly random obfuscated data point. This obfuscated data point is added to the obfuscated data set r (SetB) to be sent. Finally, after all call data SetB has been processed, the application sends the entire obfuscated data set in batches to the verification device through an established secure communication channel.
[0073] S203, Receive the encrypted and obfuscated data set sent by the verification device.
[0074] In some embodiments, the encrypted obfuscated data set refers to the result set obtained by the verification device after encrypting the obfuscated data set received from the matching device. Each data item in this set is the final form of the original call data after undergoing dual cryptographic transformations of "obfuscation" and "encryption". It is unreadable to both the verification device and the matching device, but retains the structure and characteristics required for specific cryptographic matching operations.
[0075] For example, the verification device can act as a server for the Oblivious Pseudorandom Function (OPRF) algorithm. Using its key k, it performs OPRF computation on each blinded value in the obfuscated data set sent by the matching device, and the resulting sequence of outputs constitutes the encrypted obfuscated data set. Specifically, each data item in the set can be the output of a pseudorandom function of the form OPRF(k, r(SetB)). This output is computationally indistinguishable from a completely random number, but it contains a cryptographic relationship corresponding to the original data.
[0076] In some embodiments, the matching device may receive this encrypted obfuscated data set via a secure channel established with the verification device, either in a request-response or server-push manner. The matching device waits to receive the set after the verification device has completed its cryptographic calculations.
[0077] In some embodiments, after obtaining the encrypted obfuscated data set, preliminary format verification and parsing can be performed on the encrypted obfuscated data set to ensure that the integrity of its data structure is consistent with expectations, and it can be cached in a local secure area.
[0078] S204. Match the filter with the encrypted and obfuscated data set to obtain the intersection of privacy data.
[0079] In some embodiments, the privacy data intersection refers to the set of data items that are common to both the matching device and the verification device in their respective local call data sets. It is the final output of finding the intersection of the entire privacy set. Both parties can only know these common data items themselves and cannot obtain any non-common private data information in the other party's set.
[0080] In some embodiments, the matching device can utilize filters and a deobfuscated encrypted data set to obtain a privacy data intersection by executing a local matching algorithm. This process is performed entirely within the secure environment of the matching device, without any further data exchange with the verification device. For example, such as... Figure 3 As shown, step S204 can be executed as the following steps S301~S304.
[0081] S301. De-obfuscate the encrypted and obfuscated data set to obtain a second encrypted data set of local call data matching the device.
[0082] In some embodiments, deobfuscation refers to the process by which the matching device reverse-processes the encrypted obfuscated data set received from the self-verifying device to remove the randomization factor it introduced during the obfuscation stage. This enables the verification device to restore the encrypted data from the obfuscated data to the original encrypted data.
[0083] For example, the matching device iterates through the encrypted and obfuscated data set. For each ciphertext item in the set, it finds the random blinding factor *r* used to generate the corresponding blinding data during the obfuscation stage. Then, the matching device performs deblinding calculations; in elliptic curve scenarios, this can be done using the modular inverse of the blinding factor *r*. The combined results of all the restored data constitute the second encrypted data set OPRF(k, SetB).
[0084] S302. Based on the XOR filter, filter the data from the second encrypted data set that matches the first encrypted data set to obtain at least one matching item.
[0085] In some embodiments, the matching device can obtain all matches by traversing a local second encrypted dataset and performing an XOR filter query on each element therein. The matching device uses each ciphertext in the second encrypted dataset as a query key, inputs it into the query interface of the XOR filter, and collects all items that return positive results.
[0086] For example, the matching device sequentially reads each ciphertext element in the second encrypted data set OPRF(k, SetB). For each ciphertext to be queried, the matching device uses the same set of hash functions as when constructing the XOR filter to calculate several candidate positions for it in the filter array. Then, it reads the fingerprint values stored at these positions and performs an XOR operation on them. If the result equals a predefined subset of the ciphertext itself (i.e., its fingerprint), the XOR filter determines it as a match. When the entire second encrypted data set has been traversed, the result list contains all the preliminary matches.
[0087] S303. For each of the at least one matching items, after resetting the counting Bloom filter, record the frequency of each matching item.
[0088] In some embodiments, resetting refers to the operation of setting the values of all counter units within the counting Bloom filter to zero. This operation clears the historical state initialized by the verification device, preparing it as a completely new, empty frequency statistics container.
[0089] In some embodiments, frequency refers to the number of times each match appears in a count Bloom filter that has been reset by the matching device.
[0090] In some embodiments, the matching device can obtain the frequency by first performing a reset operation, followed by batch add and query operations. For example, first, the reset interface of the count Bloom filter is called to clear all its counters to zero. Then, the matching items filtered by the XOR filter are traversed, and the add operation of the count Bloom filter is performed with each item as input. Finally, the frequency of occurrence is obtained by querying the counter value corresponding to each matching item.
[0091] S304. Determine the intersection of privacy data based on the frequency of occurrence of each matching item.
[0092] In some embodiments, privacy data intersections can be obtained by executing local aggregation and filtering algorithms. Within the secure environment of the matching device, all recorded frequency matches are traversed and processed according to preset intersection generation rules (such as deduplication rules and frequency threshold rules) to output the final intersection result.
[0093] In some embodiments, if the frequency of a matching item is less than or equal to a preset value, the matching item is added to the privacy data intersection.
[0094] In some embodiments, the preset value refers to an integer threshold predefined by business logic or system configuration, used to filter the frequency of matching items to control the range of data ultimately included in the privacy data intersection. This value serves as a critical criterion for determining whether a matching item is eligible to be included in the intersection, and its specific value depends on the business scenario's tolerance for data redundancy or the need for a specific frequency pattern.
[0095] For example, the preset value can be a non-negative integer that is statically configured or dynamically calculated based on specific business needs. For instance, in a scenario of identifying abnormal call patterns, the value may be set to a low range, such as 1, to filter out low-frequency, non-repeating call records; while in a scenario of finding stable contacts, the value may be set to a higher value to filter out occasional call behavior.
[0096] In some embodiments, the matching device traverses the candidate match list generated by the XOR filter, and for each match, it can perform the following determination process: First, it queries the current frequency value of the data item in the count Bloom filter. If the frequency is zero, it is determined that it is the first occurrence, so it is added to the privacy data intersection, and the count Bloom filter addition operation is performed to update the frequency. If the frequency is greater than zero but does not exceed a preset threshold, the addition operation is continued to accumulate the frequency, and it is added to the privacy data intersection. If the frequency has reached or exceeded the preset threshold, only the frequency statistics in the count Bloom filter are updated, and it is no longer included in the intersection.
[0097] In some embodiments, after obtaining the intersection of privacy data, the intersection of privacy data can be sent to a verification device so that the verification device can verify the intersection of privacy data.
[0098] For example, to improve the transmission efficiency of large-scale privacy data intersections, an optimization strategy combining compression coding and distributed transmission can be adopted. First, a high-performance compression algorithm (such as Zstandard based on dictionary encoding or Brotli for binary data) is applied to the complete privacy data intersection to generate a data stream with a high compression ratio. Then, the compressed data is divided into several load-balanced data fragments, and the different fragments are synchronously distributed to the corresponding receiving nodes of the verification device cluster through multiple parallel TLS secure channels. Each node performs cyclic redundancy check and returns an acknowledgment flag immediately after receiving the fragment.
[0099] In some embodiments, differential privacy perturbations can be added to each element in the privacy data intersection, and then the privacy data intersection with added differential privacy perturbations can be sent to the verification device.
[0100] The strength of the differential privacy perturbation is dynamically adjusted based on the frequency of occurrence of each element recorded in the count Bloom filter.
[0101] In some embodiments, differential privacy perturbation is a rigorous, quantifiable privacy protection technique that injects precisely calibrated random noise into the computation results, making it statistically impossible to deduce the presence or absence of any individual input data item from the output. The strength of the differential privacy perturbation is directly controlled by a privacy budget parameter; the smaller the parameter value, the greater the added noise and the higher the level of privacy protection provided.
[0102] For example, a global noise scaling factor k is determined. For each element in the privacy data intersection, the frequency f of that element is read from the count Bloom filter, and the element-specific noise intensity σ is calculated according to the formula σ = k * f. Subsequently, a random noise value is sampled from a Gaussian or Laplace distribution with zero mean and standard deviation σ, and this noise is added to the element's numerical representation. Finally, the matching device sends the entire noise-perturbed data intersection to the verification device via a secure channel.
[0103] See Figure 4 This is a flowchart of another privacy set intersection method provided in an embodiment of this application, which is applied to a verification device. Figure 4 As shown, the privacy set intersection method provided in this application includes the following steps S401~S402.
[0104] S401. Encrypt the local call data of the verification device to obtain the first encrypted data set.
[0105] In some embodiments, a first encrypted data set can be obtained by calling a locally integrated cryptographic algorithm library to perform batch encryption calculations on call records stored in a secure database or memory.
[0106] For example, firstly, the plaintext data from the verification and matching devices is used as input, and the national cryptographic SM3 hash algorithm is called to generate a 256-bit hash value. Then, the first 16 bytes of this hash value are extracted and converted into an uppercase hexadecimal string, which is used as the key for the OPRF algorithm. Next, the local call data set `setA` is traversed. For each element in the set, OPRF encryption is performed locally using key `k`, and the element and key are used to perform a pseudo-random function calculation based on HMAC-SM3. All the calculated ciphertext results are sequentially stored in the set, resulting in the first encrypted data set.
[0107] S402. Construct a filter based on the first encrypted data set and send the filter to the matching device so that the matching device can match the filter with the second encrypted data set of the matching device's local call data to obtain the intersection of privacy data.
[0108] In some embodiments, an XOR filter is constructed based on a first encrypted data set. The core of this filter is an array storing fixed-length fingerprints. Its construction algorithm is specially designed to ensure that any element in the first encrypted data set can be mapped to several specific positions in the array through a set of hash functions. After performing an XOR operation on the fingerprint values stored at these positions, the result is always equal to the element itself or some specific compressed representation (such as a fingerprint).
[0109] In some embodiments, constructing a count Bloom filter can begin by building a counter array initialized to zero. For each element in the first set of encrypted data to be added, its corresponding positions in the counter array are calculated using multiple independent hash functions, and then the counts at these positions are incremented by one. The count at each position in the counter array reflects the cumulative number of hits at all hash positions of all set elements.
[0110] As a feasible implementation, preprocessing can be performed before sending the filter. First, the frequency of each element in the count Bloom filter is statistically analyzed, and elements with frequencies exceeding a preset threshold are marked as high-frequency items. Then, an XOR filter is constructed based on the original encrypted set, actively excluding these high-frequency items during the construction process, generating a simplified XOR filter containing only low-frequency elements. Finally, this simplified version is sent to the matching device, reducing the amount of data transmitted and minimizing subsequent computational costs.
[0111] In some embodiments, the verification device may also receive an obfuscated data set sent by the matching device. The obfuscated data set is encrypted to obtain an encrypted obfuscated data set, which is then sent to the matching device so that the matching device can deobfuscate the encrypted obfuscated data set to obtain a second encrypted data set of the matching device's local call data.
[0112] The obfuscated data set is obtained by obfuscating the local call data of the matching device.
[0113] In some embodiments, the encrypted obfuscated data set may use the same encryption algorithm as that used to obtain the first encrypted data set. For example, the output sequence is obtained by the verification device using its OPRF key k to operate on each blinded value in the obfuscated data set. In an elliptic curve-based implementation, this set is typically represented as a series of elliptic curve points; for example, for each received blinded point, its scalar multiplication result is calculated, and the set of all scalar multiplication result points constitutes the encrypted obfuscated data set.
[0114] In some embodiments, the verification device may also receive the privacy data intersection sent by the matching device, and remove the differential privacy perturbation if the privacy data intersection is a privacy data intersection with differential privacy perturbation added.
[0115] For example, the privacy data intersection sent by the receiving matching device can be processed in stages. After successfully acquiring the compressed privacy data intersection fragments, each receiving node performs an independent decompression operation to restore the compressed data format of the fragments to the original data format.
[0116] In some embodiments, removing differential privacy perturbations refers to the verification device estimating and restoring intersection information close to the true value from noisy data using specific signal processing or statistical inference techniques.
[0117] In some embodiments, removing differential privacy perturbations may include applying a denoising algorithm based on prior noise distribution. For example, if the type of noise added (such as Laplace noise or Gaussian noise) is known, the verification device may employ a corresponding filtering algorithm, such as smoothing the noise by calculating statistics (such as median or mean) within a sliding window, or using constrained optimization methods to find the most probable true data distribution under a known noise model, thereby achieving significant suppression of the perturbation.
[0118] For example, after decompressing the privacy data intersection fragments and their corresponding noise intensity mappings after differential privacy perturbation, the algorithm traverses each data point in the fragment and dynamically calculates its exclusive filtering neighborhood radius based on the noise intensity corresponding to that point. Based on this radius, all data points within the neighborhood of the data point are extracted from the fragment. Next, a Gaussian kernel function is constructed, and a weighted average is calculated for all data points in the neighborhood using this kernel function. The resulting weighted average is recorded. Through this mechanism, high-noise data points are automatically and strongly smoothed using a larger neighborhood, while low-noise data points are smoothed using a smaller neighborhood to preserve detailed features, thus achieving the removal of non-uniform noise distributions.
[0119] In some embodiments, elements in the privacy data intersection are verified based on a first encrypted data set of the verification device, and an intersection list is generated based on the verified elements.
[0120] In some embodiments, the intersection list refers to the final common data set generated after filtering through the above verification process and confirmed by both parties.
[0121] In some embodiments, each computing node performs parallel verification on the denoised privacy data intersection fragments based on a first encrypted data set, identifying valid privacy data intersections through cryptographic comparison or fuzzy matching algorithms. Each node independently outputs a subset of verified matches and attaches an integrity digital signature. After all fragment verifications are completed, the results of each subset are aggregated to generate a final intersection list.
[0122] For example, a similarity-based fuzzy matching algorithm can be used to compare the first encrypted dataset (after encrypting the local call dataset) with the intersection of the denoised privacy data from each slice. This method achieves effective verification of imprecisely encrypted datasets by tolerating biases introduced by noise processing.
[0123] For example, comparable representations are generated for elements in the two datasets, such as through locality-sensitive hashing or embedding vector techniques, mapping each encrypted data item to a new space where small deviations in the original dataset result in only minor changes in the mapping. Subsequently, a similarity score is calculated between each element in the shard and all elements in the first encrypted set. If the highest similarity score exceeds a preset threshold, the denoised encrypted element is deemed to have passed verification, and its corresponding identifier is added to the intersection list.
[0124] In some embodiments, this application provides a flowchart of steps for finding the intersection of privacy-preserving data. For example, as shown... Figure 5As shown, Party A encrypts all elements of its call data set using the OPRF algorithm, then constructs an XOR filter and a count Bloom filter based on the first encrypted data set, and sends them to Party B. Party B receives and parses the data, then performs an OPRF query on its local call data. Next, Party B queries the XOR filter and filters the intersection of privacy data, adds differential privacy perturbations to the intersection, and finally compresses the data before returning it to Party A. Party A decompresses the data and verifies the final intersection using multiple threads.
[0125] In some embodiments, this application provides a flowchart of device interaction. For example, such as... Figure 6 As shown. The equipment is divided into organization A and organization B.
[0126] For local call data SetA=[x1,x2,…,xn] from party A, encrypt the local call data using its own key k and OPRF. Next, construct an XOR filter (based on the encrypted value), and then determine whether a count Bloom filter is enabled. If enabled, construct a count Bloom filter to count the frequency; otherwise, do not construct a count Bloom filter. Next, serialize and send the XOR filter and count Bloom filter (if none are present) to organization B.
[0127] Party B loads the filter and completes the decryption. Party B's local call data is SetB=[y1,y2,…,yn]. An obfuscation operation is performed on Party B's data to obtain r(SetB), and the result is sent back to organization A.
[0128] Party A calculates OPRF(k, r(SetB)) and returns it to Party B.
[0129] Party B uses a confusion factor to restore the encrypted result to OPRF(k,SetB), and searches for matches in the XOR filter, adding them to the privacy data intersection. Next, it checks if the count Bloom filter is empty; if not, it uses the count Bloom filter to filter out frequency anomalies; if it is, it proceeds directly to the next step, adding differential privacy perturbations and compressing the privacy data intersection. Finally, it sends the privacy data intersection to organization A.
[0130] After decompressing the data, A removes noise and false alarms introduced by differential privacy perturbations. Finally, it uses multiple threads to verify each item's existence in SetA and generates an intersection list.
[0131] As can be seen, the above mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, the embodiments of this application provide corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the modules and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this invention.
[0132] This application embodiment can divide the privacy set intersection device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. Optionally, the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0133] In some embodiments, this application also provides a privacy set intersection device. This privacy set intersection device may include one or more functional modules for implementing the privacy set intersection method of the above method embodiments.
[0134] For example, Figure 7 This is a schematic diagram illustrating the composition of a privacy set intersection device provided in an embodiment of this application. For example... Figure 7 As shown, the privacy set intersection device 700 includes: a processing module 701 and a matching module 702; the processing module 701 is used to receive a filter sent by the verification device; the processing module 701 is also used to obfuscate the local call data of the matching device to obtain an obfuscated data set, and send the obfuscated data set to the verification device so that the verification device encrypts the obfuscated data set; the processing module 701 is also used to receive an encrypted obfuscated data set sent by the verification device; the matching module 702 is used to match the filter with the encrypted obfuscated data set to obtain the privacy data intersection.
[0135] In some embodiments, the filter includes: an XOR filter and a count Bloom filter.
[0136] In other embodiments, the processing module 701 is further configured to deobfuscate the encrypted obfuscated data set to obtain a second encrypted data set of local call data of the matching device; filter data from the second encrypted data set that matches the first encrypted data set based on an XOR filter to obtain at least one matching item; for each matching item in the at least one matching item, record the frequency of each matching item after resetting the counting Bloom filter; and determine the privacy data intersection based on the frequency of each matching item.
[0137] In some other embodiments, the matching module 702 is further configured to add the matching item to the privacy data intersection if the frequency of the matching item is less than or equal to a preset value.
[0138] In some other embodiments, the processing module 701 is further configured to send the privacy data intersection to the verification device so that the verification device can verify the privacy data intersection.
[0139] In some other embodiments, the processing module 701 is further configured to add differential privacy perturbation to each element in the privacy data intersection; the strength of the differential privacy perturbation is dynamically adjusted according to the frequency of occurrence of each element recorded in the count Bloom filter; and the privacy data intersection after adding differential privacy perturbation is sent to the verification device.
[0140] In some embodiments, this application also provides another privacy set intersection device. This privacy set intersection device may include one or more functional modules for implementing the privacy set intersection method of the above method embodiments.
[0141] For example, Figure 8 This is a schematic diagram illustrating the composition of a privacy set intersection device provided in an embodiment of this application. For example... Figure 8 As shown, the privacy set intersection device includes: an encryption module 801 and a processing module 802; the encryption module 801 is used to encrypt the local call data of the verification device to obtain a first encrypted data set; the processing module 802 is used to build a filter based on the first encrypted data set and send the filter to the matching device, so that the matching device matches the second encrypted data set of the local call data of the matching device based on the filter to obtain the privacy data intersection.
[0142] In some embodiments, the encryption module 801 is further configured to receive a set of obfuscated data sent by the matching device; the set of obfuscated data is obtained by the matching device obfuscating the local call data of the matching device; the obfuscated data is encrypted to obtain an encrypted obfuscated data set, and the encrypted obfuscated data set is sent to the matching device so that the matching device can deobfuscate the encrypted obfuscated data set to obtain a second encrypted data set of the local call data of the matching device.
[0143] In other embodiments, the processing module 802 is further configured to receive a privacy data intersection sent by the matching device; verify the elements in the privacy data intersection based on the first encrypted data set of the verification device; and generate an intersection list based on the elements that pass the verification.
[0144] In some other embodiments, before the processing module 802 verifies the elements in the privacy data intersection based on the first encrypted data set of the verification device, the method further includes: removing the differential privacy perturbation if the privacy data intersection is a privacy data intersection with differential privacy perturbation added.
[0145] In the case of implementing the functions of the integrated modules described above in hardware, this embodiment of the invention provides a possible structural schematic diagram of the electronic device involved in the above embodiments. For example... Figure 9 As shown, the electronic device 900 includes: a processor 902, a communication interface 903, and a bus 904. Optionally, the electronic device 900 may also include a memory 901.
[0146] Processor 902 may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 902 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 902 may also be a combination that implements computing functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0147] The communication interface 903 is used to connect to other devices via a communication network. This communication network can be Ethernet, wireless access network, wireless local area network (WLAN), etc.
[0148] The memory 901 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0149] As one possible implementation, the memory 901 can exist independently of the processor 902. The memory 901 can be connected to the processor 902 via a bus 904 and is used to store instructions or program code. When the processor 902 calls and executes the instructions or program code stored in the memory 901, it can implement the privacy set intersection method provided in this embodiment of the invention.
[0150] In another possible implementation, the memory 901 can also be integrated with the processor 902.
[0151] The 904 bus can be an extended industry standard architecture (EISA) bus, etc. The 904 bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 9 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0152] Through the above description of the implementation methods, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the service calling device can be divided into different functional modules to complete all or part of the functions described above.
[0153] This application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be executed by computer instructions instructing related hardware. The program can be stored in the aforementioned computer-readable storage medium, and when executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be any of the foregoing embodiments or memory. The aforementioned computer-readable storage medium can also be an external storage device of the aforementioned service invocation device, such as a plug-in hard drive, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the aforementioned service invocation device. Further, the aforementioned computer-readable storage medium can include both internal storage units of the aforementioned service invocation device and external storage devices. The aforementioned computer-readable storage medium is used to store the aforementioned computer program and other programs and data required by the aforementioned service invocation device. The aforementioned computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0154] This application also provides a computer program product comprising a computer program that, when run on a computer, causes the computer to execute any of the privacy set intersection methods provided in the above embodiments.
[0155] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for finding the intersection of privacy sets, characterized in that, Applied to a matching device, wherein the matching device is communicatively connected to a verification device, the method includes: Receive a filter sent by the verification device; the filter is obtained based on a first encrypted data set of the verification device's local call data; The local call data of the matching device is obfuscated to obtain an obfuscated data set, and the obfuscated data set is sent to the verification device so that the verification device encrypts the obfuscated data set. Receive the encrypted and obfuscated data set sent by the verification device; The privacy data intersection is obtained by matching the filter with the encrypted and obfuscated data set.
2. The method according to claim 1, characterized in that, The filters include: XOR filters and count Bloom filters.
3. The method according to claim 2, characterized in that, The process of matching the filter with the encrypted and obfuscated data set to obtain the privacy data intersection includes: The encrypted and obfuscated data set is deobfuscated to obtain a second encrypted data set of the local call data of the matching device; Based on the XOR filter, data that matches the first encrypted data set is filtered from the second encrypted data set to obtain at least one matching item; For each of the at least one matching items, the frequency of each matching item is recorded after the count Bloom filter is reset. The intersection of the privacy data is determined based on the frequency of occurrence of each matching item.
4. The method according to claim 3, characterized in that, Determining the intersection of privacy data based on the frequency of occurrence of each matching item includes: If the frequency of a matching item is less than or equal to a preset value, the matching item is added to the intersection of the privacy data.
5. The method according to claim 3, characterized in that, After matching the filter with the encrypted and obfuscated data set to obtain the intersection of privacy data, the method further includes: The intersection of the privacy data is sent to the verification device so that the verification device can verify the intersection of the privacy data.
6. The method according to claim 5, characterized in that, Sending the privacy data intersection to the verification device includes: A differential privacy perturbation is added to each element in the intersection of the privacy data; the strength of the differential privacy perturbation is dynamically adjusted according to the frequency of occurrence of each element recorded in the count Bloom filter; The intersection of the privacy data after adding differential privacy perturbations is sent to the verification device.
7. A method for finding the intersection of privacy sets, characterized in that, Applied to a verification device, wherein the verification device is communicatively connected to a matching device, the method includes: The local call data of the verification device is encrypted to obtain a first encrypted data set; A filter is constructed based on the first encrypted data set, and the filter is sent to the matching device so that the matching device can match the filter with a second encrypted data set of the matching device's local call data to obtain a privacy data intersection.
8. The method according to claim 7, characterized in that, The method further includes: Receive a set of obfuscated data sent by the matching device; the obfuscated data set is obtained by the matching device obfuscating its local call data. The obfuscated data set is encrypted to obtain an encrypted obfuscated data set, and the encrypted obfuscated data set is sent to the matching device so that the matching device can deobfuscate the encrypted obfuscated data set to obtain a second encrypted data set of the local call data of the matching device.
9. The method according to claim 7, characterized in that, The method further includes: Receive the intersection of privacy data sent by the matching device; The elements in the intersection of the privacy data are verified based on the first encrypted data set of the verification device, and an intersection list is generated based on the elements that pass the verification.
10. The method according to claim 9, characterized in that, Before verifying the elements in the intersection of the privacy data based on the first encrypted data set of the verification device, the method further includes: If the intersection of the privacy data is the intersection of privacy data after adding differential privacy perturbation, then remove the differential privacy perturbation.
11. An electronic device, characterized in that, include: Processor and memory; The memory stores instructions that the processor can execute; When the processor is configured to execute the instructions, the electronic device implements the privacy set intersection method as described in any one of claims 1 to 6 or the privacy set intersection method as described in any one of claims 7 to 10.
12. A readable storage medium, characterized in that, The readable storage medium includes: computer-executable instructions; when the computer-executable instructions are executed on the computer, the computer performs the privacy set intersection method according to any one of claims 1 to 6 or the privacy set intersection method according to any one of claims 7 to 10.
13. A computer program product, characterized in that, The computer program product includes a computer program that, when run on an electronic device, causes the electronic device to perform the privacy set intersection method as described in any one of claims 1 to 6 or the privacy set intersection method as described in any one of claims 7 to 10.