A data processing method and device, electronic equipment and storage medium

CN117494150BActive Publication Date: 2026-09-04MASHANG CONSUMER FINANCE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310604964.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-25
Publication Date
2026-09-04
Estimated Expiration
2043-05-25

AI Technical Summary

Benefits of technology

[0026] A sixth aspect provides a computer-readable storage medium that, when instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to perform the method as described in the first or second aspect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117494150B_ABST
    Figure CN117494150B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a data processing method and device, electronic equipment and storage medium, which can obtain intersection data meeting a set condition in multiple participants safely and efficiently under the premise of guaranteeing the data privacy of each party. The method is applied to an initiator and includes the following steps: obtaining a first ciphertext data set sent by each participant after performing an encryption operation on an original data set held by the participant based on a private encryption parameter of the participant, the original data of the participant corresponding to an anonymous ID randomly generated by the participant in a one-to-one manner; obtaining a target ciphertext data set of a corresponding participant after performing an encryption operation on the first ciphertext data set of each participant based on a private encryption parameter of each participant except the corresponding participant; and determining a data intersection meeting a set threshold according to the target ciphertext data set of each participant, and synchronizing each ciphertext intersection data in the data intersection and the corresponding anonymous ID to the associated participant.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data security technology, and in particular to a data processing method, apparatus, electronic device and storage medium. Background Technology

[0002] With the rapid development of the mobile internet and the arrival of the big data era, privacy information has become a crucial component of big data. Simultaneously, users have enjoyed personalized services offered by various applications, greatly facilitating their lives. However, the information collected by big data includes sensitive personal information such as identity, interests, location, and income. The leakage of this private information poses significant security risks. Therefore, privacy computing offers a solution for data security. Secure multi-party computation is a common approach to privacy computing, enabling collaborative computation without the parties sharing their data and without a trusted third party, ultimately producing valuable analytical content.

[0003] Private Set Intersection (PSI) is an important branch of secure multi-party computation. PSI allows data-holding participants to calculate the intersection of data without revealing any data outside the intersection, and it has a wide range of applications. How to securely and efficiently obtain intersection data that meets set conditions among multiple participants while ensuring the privacy of all parties' data is one of the most pressing technical problems to be solved in the field of secure multi-party computation. Summary of the Invention

[0004] The purpose of this application is to provide a data processing method, apparatus, electronic device, and computer-readable storage medium to securely and efficiently obtain intersection data that meets set conditions among multiple participants in a privacy set intersection, while ensuring the data privacy of all parties, and to enable the associated participants to obtain accurate intersection results.

[0005] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:

[0006] Firstly, a data processing method is provided, applicable to the initiator of privacy set intersection, including:

[0007] Each participant acquires a first ciphertext data set after encrypting its own original data set based on its own private encryption parameters and sending the data. The initiator is any one of the multiple participants in the intersection of the privacy sets. Each participant's own original data set includes at least one original data set, and the at least one original data set corresponds one-to-one with the anonymous identifier ID randomly generated by the participant. Each first ciphertext data set is bound to the anonymous ID of the corresponding original data set.

[0008] In the first ciphertext data set of each participant, after all other participants except the corresponding participant perform encryption operations based on their respective private encryption parameters, a corresponding target ciphertext data set is obtained; wherein, each target ciphertext data in the target ciphertext data set is bound to the anonymous ID of the corresponding original data;

[0009] Based on the target ciphertext data sets of each participant, a data intersection that satisfies a set threshold is determined. Each ciphertext intersection data set and its corresponding anonymous ID are then synchronized to the associated participants, enabling them to obtain the original data corresponding to the ciphertext intersection data based on the anonymous ID. Herein, the threshold is used to characterize the minimum number of participants required to satisfy the intersection, and the ciphertext intersection data consists of the target ciphertext data sets that satisfy the threshold.

[0010] Secondly, a data processing method is provided, applicable to participants in the intersection of privacy sets, including:

[0011] Generate private encryption parameters during the encryption operation process;

[0012] Based on its own private encryption parameters, the initiator performs encryption operations on its own original data set to obtain a first ciphertext data set, and sends it to the initiator. This allows the initiator to obtain the corresponding target ciphertext data set after all other participants (excluding the corresponding participant) perform encryption operations based on their respective private encryption parameters on the first ciphertext data set. The original data set of each participant includes at least one original data set, which corresponds one-to-one with a randomly generated anonymous ID of the participant. Each first ciphertext data set in the first ciphertext data set is bound to the anonymous ID of the corresponding original data set, and each target ciphertext data set in the target ciphertext data set is bound to the anonymous ID of the corresponding original data set. The initiator is any one of the multiple participants in the intersection of privacy sets.

[0013] Upon receiving the first ciphertext intersection data and the corresponding anonymous ID sent by the initiator, the original data corresponding to the first ciphertext intersection data is obtained based on the anonymous ID mapping; wherein, the first ciphertext intersection data is the ciphertext intersection data associated with the participants in the data intersection, the data intersection is a set that meets a set threshold determined by the initiator based on the target ciphertext data sets of each participant, the threshold is used to characterize the minimum number of intersection participants required to meet the threshold, and the ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold. Thirdly, a data processing method apparatus is provided, set in the initiator of privacy set intersection, comprising:

[0014] The receiving module is used to obtain the first ciphertext data set sent by each participant after encrypting its own original data set based on its own private encryption parameters; wherein, the initiator is any one of the multiple participants in the intersection of privacy sets, and the original data set held by each participant includes at least one original data, the at least one original data corresponds one-to-one with the anonymous ID randomly generated by the participant, and each first ciphertext data in the first ciphertext data set is bound to the anonymous ID of the corresponding original data;

[0015] The distribution module is used to obtain the corresponding target ciphertext data set after all other participants, except the corresponding participant, perform encryption operations on the first ciphertext data set of each participant based on their respective private encryption parameters; wherein, each target ciphertext data in the target ciphertext data set is bound to the anonymous ID of the corresponding original data;

[0016] The intersection module is used to determine the data intersection that satisfies a set threshold based on the target ciphertext data sets of each participant; wherein, the threshold is used to characterize the minimum number of participants required to satisfy the intersection.

[0017] The synchronization module is used to synchronize each ciphertext intersection data and its corresponding anonymous ID in the data intersection to the associated participants, so that the associated participants can obtain the original data corresponding to the ciphertext intersection data based on the anonymous ID mapping; wherein, the ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold threshold.

[0018] Fourthly, a data processing method apparatus is provided, set among the participants in a privacy set intersection, including:

[0019] The private key generation module is used to generate private encryption parameters during the encryption operation process;

[0020] An encryption module is used to perform encryption operations on its own original data set based on its own private encryption parameters to obtain a first ciphertext data set, and send it to the initiator. This allows the initiator to obtain a corresponding target ciphertext data set after all other participants (excluding the corresponding participant) perform encryption operations on the first ciphertext data set based on their respective private encryption parameters. The original data sets of the participants include at least one original data set, each of which corresponds one-to-one with a randomly generated anonymous ID of the participant. Each first ciphertext data set in the first ciphertext data set is bound to the anonymous ID of the corresponding original data set, and each target ciphertext data set in the target ciphertext data set is bound to the anonymous ID of the corresponding original data set. The initiator is any one of the multiple participants in the intersection of privacy sets.

[0021] The mapping module is used to, upon receiving the first ciphertext intersection data and the corresponding anonymous ID sent by the initiator, map the original data corresponding to the first ciphertext intersection data based on the anonymous ID; wherein, the first ciphertext intersection data is the ciphertext intersection data associated with the participants in the data intersection, the data intersection is a set that meets a set threshold determined by the initiator based on the target ciphertext data sets of each participant, the threshold threshold is used to characterize the minimum number of intersection participants required to meet the threshold, and the ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold threshold.

[0022] Fifthly, an electronic device is provided, comprising:

[0023] processor;

[0024] Memory used to store the processor's executable instructions;

[0025] The processor is configured to execute the instructions to implement the method as described in the first aspect or the second aspect.

[0026] A sixth aspect provides a computer-readable storage medium that, when instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to perform the method as described in the first or second aspect.

[0027] The multi-party data processing scheme provided in this application embodiment includes at least one original data set held by each participant. Before encryption, each participant randomly generates a unique anonymous ID for each original data set. Each participant encrypts its own original data set using its private encryption parameters and then sends it to the initiator. Since each participant uses its own private key to encrypt the original data sent to the initiator, the security of each participant's original data is guaranteed. The initiator, after encrypting each participant's first ciphertext data set using the private encryption parameters of all other participants, obtains the corresponding target ciphertext data set. Based on the target ciphertext data sets of each participant, the initiator determines the data intersection that meets a set threshold. Because each participant's original data is encrypted using the private keys of all participants, even if more than half of the participants collude, they cannot decrypt the original data held by each participant. This ensures the security of data during the computation process. This scheme requires no third-party trusted nodes. The initiator can securely calculate the intersection of data sets where the number of participating parties meets a threshold condition based on the target encrypted data sets of each participant. Since each target encrypted data set is bound to the anonymous ID of its corresponding original data, each encrypted intersection data set and its corresponding anonymous ID can be sent to the associated participants. The associated participants can then map back to the original data corresponding to the encrypted intersection data based on the received anonymous ID and the one-to-one correspondence between the original data and the anonymous ID. Even if other participants obtain the intersection result, they cannot deduce the original data they themselves hold, thus ensuring the security and non-disclosure of each participant's original data. This scheme eliminates the need for multiple computation tasks through permutations and combinations, enabling threshold-based privacy set intersection calculations in a single computation task, unaffected by the number of participants, thereby significantly reducing computational complexity and improving computational efficiency. Attached Figure Description

[0028] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0029] Figure 1 A flowchart illustrating a data processing method applied to an initiator, as provided in one embodiment of this application;

[0030] Figure 2 A flowchart illustrating a data processing method applied to participating parties, as provided in one embodiment of this application;

[0031] Figure 3A flowchart illustrating a data processing method for combating malicious proxy rights protection / malicious complaints, provided as an embodiment of this application;

[0032] Figure 4 A schematic diagram of a data processing device disposed at the initiator is provided for one embodiment of this application;

[0033] Figure 5 A schematic diagram of a data processing device disposed in a participating party is provided as an embodiment of this application;

[0034] Figure 6 This is a schematic diagram of the structure of an electronic device provided in one embodiment of this application. Detailed Implementation

[0035] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this document.

[0036] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0037] As mentioned earlier, privacy computing offers a solution for data security. When the concept of privacy computing was formally proposed, it was defined as: a computational theory and method for protecting privacy information throughout its entire lifecycle; a computable model and axiomatic system for privacy measurement, the cost of privacy leakage, and the complexity of privacy protection and analysis when ownership, management, and usage rights of privacy information are separated. Simply put, privacy computing achieves the goal of "data usable but not visible," as well as the transformation and release of data value, while ensuring that the data itself is not leaked externally.

[0038] Currently, the industry typically categorizes privacy-preserving computation technologies into three paths: secure multi-party computation, federated learning, and trusted execution environments. Secure multi-party computation, in particular, allows for collaborative computation without participants sharing their data or having a trusted third party, ultimately producing valuable analytical content. Secure multi-party computation ensures the independence of input data, the accuracy of transmitted data, and the correctness of the computation process, while preventing the disclosure of input data to other participants. In other words, it ensures that participants obtain the correct computation results but cannot access any information beyond those results. Throughout the entire computation process, participants maintain absolute control over the data they possess.

[0039] In the secure multi-party computation framework, Private Set Intersect (PSI) is a prerequisite for multi-party data fusion. Before various institutions carry out data fusion, user alignment needs to be achieved through Private Set Intersect. Then, based on the intersection data, subsequent cooperation can be carried out, such as joint modeling and security statistics.

[0040] Privacy set intersection has a wide range of applications, which can be illustrated using the financial industry as an example. With the development of technology, credit loans and other methods are becoming increasingly prevalent compared to traditional credit card models, subtly changing people's daily lives. Due to the wide reach and the existence of loopholes in the process, some malicious organizations or individuals, under the guise of acting as agents for consumer rights protection, are actually exploiting these loopholes to defraud others. These malicious organizations or individuals do not only target one financial institution, but also engage in malicious agency rights protection / complaints against multiple financial institutions, causing reputational and commercial losses to these institutions. How to securely identify malicious organizations or individuals meeting certain criteria from the original lists held by multiple financial institutions, while ensuring the data privacy of all parties, such as identifying malicious agencies or individuals who have engaged in malicious agency rights protection / complaints against a set number of financial institutions, and thus combating malicious agency rights protection / complaints, has become an urgent problem to be solved.

[0041] Based on research into secure multi-party computation, the inventors believe that the aforementioned problem can be solved using privacy set intersection. First, a brief introduction to the algorithm principle of privacy set intersection: Assume there are two participants, P1 and P2, each possessing two sets, X and Y. The goal is to find the intersection of X and Y without either participant revealing information about the other's sets—that is, P1 is unaware of any additional information about Y, and P2 is unaware of any additional information about X. Extending this to multi-party privacy set intersection, this requirement must be met by all participants. Currently, multi-party privacy set intersection has been extensively studied, and many algorithmic implementations have been proposed and proven to be secure.

[0042] During the invention process, the inventors discovered that in applications aimed at combating malicious agents in rights protection / malicious complaints, a given threshold (t) is required. This threshold (t) represents the minimum number of participants required to achieve a minimum intersection. Ideally, the more financial institutions a malicious organization or individual harms while meeting this threshold (t), the better, as more harm facilitates evidence collection and more effectively combats malicious organizations or individuals. In this application, this is defined as a threshold-based privacy set intersection algorithm. The algorithm's principle is as follows: Under a set threshold (t), a batch of intersection data is determined from m (usually m is greater than or equal to 3) participants. This intersection data satisfies the following conditions:

[0043] 1. The intersection data exists in at least t participants;

[0044] 2. Under the condition of satisfying the threshold t, the intersection data needs to exist in as many participants as possible;

[0045] 3. It is necessary to protect the data of the non-intersecting parts of each participating party from being leaked.

[0046] Existing privacy set intersection algorithms can be used to achieve threshold-based privacy set intersection through permutations and combinations. Under a set threshold condition, multiple multi-party privacy set intersections are performed through permutations and combinations. Finally, after all tasks are completed, the intersection results are merged to obtain the final intersection data that satisfies the threshold t.

[0047] During the invention process, the inventors discovered that, according to the existing definition of multi-party privacy set intersection, the protocol can only find the intersection result belonging to all participants; while for threshold-based privacy set intersection, the protocol only needs to satisfy the minimum number of participants in the intersection with the set threshold threshold, and does not need to satisfy it in all participants. Therefore, threshold-based privacy set intersection can only be achieved through permutation and combination. Assuming that the current threshold threshold is t and the number of participants is m, the total number of calculations T required for multi-party privacy set intersection can be determined by the following formula [1]:

[0048]

[0049] As can be seen, the total number of calculations T increases with the number of participants, leading to a significant decrease in overall computational efficiency.

[0050] In view of this, this application proposes an improved threshold privacy set intersection algorithm. The multi-party data processing scheme based on the principle of this algorithm can securely and efficiently obtain intersection data that meets the set conditions among multiple participants in the privacy set intersection while ensuring the data privacy of all parties, and enable the related participants to obtain accurate intersection results.

[0051] It should be understood that the data processing method provided in this application embodiment can be executed by an electronic device or by software installed in an electronic device, specifically by a terminal device or a server device. The executing entity of this method includes, but is not limited to, intelligent electronic devices such as servers, personal computers, laptops, tablets, and smartphones, which can perform predetermined processing procedures such as numerical calculations and / or logical calculations by running predetermined programs or instructions. The server can be a single network server, a server group composed of multiple network servers, or a cloud based on cloud computing consisting of a large number of computers or network servers. It should be noted that for multiple participants in the intersection of privacy sets, each participant needs to set up a secure and independent electronic device so that each participant can implement the above data processing method.

[0052] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.

[0053] The data processing method provided in this application is based on an improved threshold privacy set intersection algorithm. Unlike existing threshold privacy set intersection algorithms that use permutations and combinations, this method eliminates the need for multiple computational tasks and is unaffected by the number of participants, thus significantly reducing computational complexity and improving efficiency while ensuring the security and privacy of data from all participants. In this application, the number of participants involved in the privacy set intersection is at least two, and typically three or more, making it particularly suitable for application scenarios with a large number of participants.

[0054] Please refer to Figure 1 This is a flowchart illustrating a data processing method provided in one embodiment of this application, applied to the initiator of privacy set intersection. The method may include:

[0055] S101. Obtain the first ciphertext data set sent by each participant after encrypting its own original data set based on its own private encryption parameters.

[0056] A participant is a member that participates in this privacy set intersection calculation. The number of participants in the privacy set intersection calculation is at least two, and typically three or more. An initiator is a member that initiates this privacy set intersection calculation. This initiator is usually included among all participants; that is, the initiator can be any of the multiple participants in the privacy set intersection calculation. The multiple participants refer to at least two participants, and optionally, three or more participants. It should be noted that the initiator is also a participant; in the process of executing the initiator's related operations, it is also necessary to execute the relevant operations of the initiator as a participant.

[0057] The original data set held by a participant typically includes at least one piece of original data, and each piece of original data corresponds one-to-one with a randomly generated anonymous ID. For example, a user's mobile phone number held by a participant can be considered as one piece of original data, and all user's mobile phone numbers held by the participant constitute that participant's original data set. Each user's mobile phone number corresponds to a randomly generated anonymous ID, and different user's mobile phone numbers correspond to different anonymous IDs. The anonymous ID is a meaningless string, such as a random number or a UUID (Universally Unique Identifier). For example, the user's mobile phone number "13800000000" corresponds to a randomly generated anonymous ID "123", the user's mobile phone number "18900000000" corresponds to a randomly generated anonymous ID "456", the user's mobile phone number "13400000000" corresponds to a randomly generated anonymous ID "abc", and so on. Before performing encryption operations, the participant will randomly generate a corresponding anonymous ID for each piece of original data in its own original data set, and different pieces of original data correspond to different anonymous IDs.

[0058] Each participant, based on its own private encryption parameters, performs encryption operations on its own original data set to obtain a first ciphertext data set, which is then sent to the initiator. Each participant's private encryption parameters are typically generated by the participant itself and can be considered its own private key. In this embodiment, for ease of distinction, the ciphertext data set obtained by a participant through encryption operations on its own original data set based on its own private encryption parameters is referred to as the participant's first ciphertext data set, and correspondingly, the ciphertext data within the first ciphertext data set is referred to as first ciphertext data. Each first ciphertext data in the first ciphertext data set needs to be bound to the anonymous ID of the corresponding original data. Since there is a one-to-one correspondence between the original data and the anonymous ID, and the first ciphertext data is obtained by the participant through encryption operations on the original data in its original data set, there is also a one-to-one correspondence between the first ciphertext data and the anonymous ID. In specific implementations, the participant's first ciphertext data set may include at least one data element obtained by combining the first ciphertext data with the corresponding anonymous ID.

[0059] In one alternative implementation, the improved threshold privacy set intersection algorithm can be a threshold privacy set intersection algorithm based on the discrete logarithm problem. For ease of understanding, a brief introduction to the discrete logarithm problem is given first. If, for an integer b and a primitive root a of a prime number p, there exists a unique exponent i such that b = a... i If (mod p) holds true, where 0 ≤ i ≤ p-1, then the exponent i is called the discrete logarithm of b modulo p with base a. Given a large prime number p and a primitive root a of p, calculating the value of the exponent i is quite difficult if a b is given.

[0060] Based on the idea of ​​discrete logarithms, the private encryption parameter of the participating party can be a private encryption exponent. That is, during the encryption operation, the private encryption parameter is used as an exponent for exponential operation. Accordingly, in this embodiment of the application, the following steps need to be included before step S101:

[0061] S100: The initiator generates the modulus index required for the encryption operation and sends it to all participants, so that each participant can generate its own private encryption index based on the modulus index.

[0062] The modular exponent is a prime number within a specified numerical range, and can be represented by p. All participants use the same modular exponent, mainly to prevent the result of exponentiation using a private encrypted exponent from exceeding the range during the encryption operation. Therefore, all exponentiation results are performed using a unified modular exponent p to ensure that the final calculation result converges within an Abelian group.

[0063] To facilitate understanding, a brief introduction to the concept of an abelian group is provided. A group is an algebraic structure that possesses binary operations that satisfy closure, associativity, an identity element, and an inverse element. For any two variables a and b in a group G, generally ab ≠ ba. If the operations of group G satisfy the commutative law, that is, for any a and b ∈ G, ab = ba, then group G is called an abelian group.

[0064] In practice, the modulo exponent p generated by the initiator is usually a large prime number within a specified range, where the key length is greater than or equal to 1024 bits. The key length is the maximum number of bits in the modulo exponent p; the longer the key length, the stronger the encryption and the more difficult it is to crack.

[0065] One possible logic for generating the modulus exponent p includes:

[0066] Within the specified numerical range Within the interval, find a prime number q, and then calculate p = 2 * q + 1. If the obtained p is a prime number, the calculation is complete; otherwise, iterate through the specified prime numbers until the condition is met and then terminate. Here, keysize represents the length of key.

[0067] Accordingly, each participant can generate its own private cryptographic exponent and its inverse based on the received modulus p, within the numerical range of p. Specifically, the private cryptographic exponent can be randomly generated within the numerical range of p, or it can be derived using mathematical formulas. The private cryptographic exponent is usually a large exponent. Assuming that a participant's private cryptographic exponent is denoted by d, the inverse of the private cryptographic exponent d can be written as dinverse. -1 , satisfying d*d -1 =1. The private encryption index generated by each participant can be regarded as the private key of each participant. The private encryption index generated by each participant is different and is held only by the participant itself.

[0068] The participants can perform encryption operations on each original data based on their own private encryption index (assuming the participant's private encryption index is d) and modulus p, which can be achieved through the following formula [2]:

[0069] Enc1(u i )=H(u i ) d %p{0≤i <n} [2]

[0070] Among them, u i Let represent the original data in the participant's original data set, n be the number of original data in the participant's original data set, H(x) be the hash function, % represent the modulo p operation, and Enc1(u iThis represents the first ciphertext data in the participant's first ciphertext data set. Before performing encryption operations, the participant randomly generates an anonymous ID for each original data. i The corresponding anonymous ID can be represented as ID. i .

[0071] The first ciphertext data set obtained by encrypting the original data set held by the participants themselves can be represented by the following formula [3]:

[0072] U={([u0],ID0),([u1],ID1),([u i ID i ),([u n ID n )}{0≤i <n} [3]

[0073] Among them, [u i ] represents the original data u i The first ciphertext data obtained after the participants perform encryption operations themselves, ID i This represents the first ciphertext data [u i The corresponding anonymous ID can be understood as the original data u. i and the first encrypted data [u i ] Corresponds to the same anonymous ID, i.e., ID i 。 ([u i ID i ) indicates that the first ciphertext data [u i ] and the corresponding anonymous ID, i.e., ID i The combined data elements.

[0074] Since each participant sends data to the initiator using its own private encryption index to encrypt the original data, based on the idea of ​​discrete logarithms, it is very difficult to deduce the original data from the ciphertext without knowing the original data and the private encryption index. Therefore, it can more effectively resist semi-honest attack models and malicious attack models, and improve the data privacy of each participant.

[0075] S102. After all other participants except the corresponding participant perform encryption operations on their first ciphertext data set based on their respective private encryption parameters, the corresponding target ciphertext data set is obtained.

[0076] After receiving the initial ciphertext data sets from all participants, the initiator iterates through all participants (including itself), sending each participant's initial ciphertext data set to all other participants except the original data holder for encryption. This process continues until all initial ciphertext data sets have been encrypted by all other participants. It's important to note that for a specific participant, the initiator sends its initial ciphertext data set to all other participants for encryption. The purpose is to use the private keys of all other participants to encrypt the participant's data. Since the participant has already encrypted its own data, there's no need for repeated encryption; therefore, the participant itself must be excluded.

[0077] In this embodiment of the application, for ease of distinction, the ciphertext data set obtained by encrypting the first ciphertext data set of the participating party through encryption operations performed by all other participating parties based on their respective private encryption parameters is called the participating party's target ciphertext data set. Correspondingly, the ciphertext data in the target ciphertext data set is called the target ciphertext data. It can be understood that the participating party's target ciphertext data set is also the final encrypted result obtained by encrypting the original data set held by the participating party through encryption operations performed by all participating parties.

[0078] In one optional implementation, the initiator can iterate through all participants and perform the following operation for any current participant: send the current participant's first ciphertext data set to another participant other than the current participant to obtain the second ciphertext data set returned by the other participant after performing encryption operations, and send the returned second ciphertext data set to the next other participant for encryption operations, until the first ciphertext data set has been encrypted by all other participants, thus obtaining the current participant's target ciphertext data set; wherein the current participant's target ciphertext data set includes at least one data element obtained by combining the target ciphertext data with the corresponding anonymous ID, and the target ciphertext data is obtained by encrypting the original data in the original data set held by the current participant after performing encryption operations by all participants.

[0079] It is understandable that during the process of the initiator encrypting a participant's first ciphertext data set through all other participants, the first ciphertext data set will change accordingly after each encryption operation by another participant. In this embodiment, these can be sequentially referred to as the second ciphertext data set, the third ciphertext data set, the fourth ciphertext data set, ..., the m-th ciphertext data set (where m represents the number of participants), indicating how many participants have performed encryption operations on the original data set. The m-th ciphertext data set is the final encryption result, which is the target ciphertext data set. In this embodiment, the first ciphertext data set, the second ciphertext data set, the third ciphertext data set, the fourth ciphertext data set, etc., can all be collectively referred to as ciphertext data sets.

[0080] For example, suppose the participants in the intersection of the privacy set are participant 0, participant 1, participant 2 and participant 3, participant 0 is the initiator, and the private encryption indices of each participant 0, 1, 2 and 3 are a, b, c and d respectively, and the modulus index is p. Each participant uses its own private encryption index and modulus index p to perform encryption operation on its own original data set to obtain the first ciphertext data set of each participant, and sends it to the initiator / participant 0. The initiator / participant 0 sends the first ciphertext data set of participant 1 (encrypted with private key b) to participant 2 for encryption. Then, the second ciphertext data set returned by participant 0 (encrypted with private keys b and a) is sent to participant 2 for encryption. Finally, the third ciphertext data set returned by participant 2 (encrypted with private keys b, a, and c) is sent to participant 3 for encryption. Since the fourth ciphertext data set returned by participant 3 (encrypted with private keys b, a, c, and d) has been encrypted by all participants, it can be used as the original data set of participant 1 and the final encryption result corresponding to the first ciphertext data set. In this embodiment, it is referred to as the target ciphertext data set. Similarly, the initiator / participant 0 encrypts the first ciphertext data sets of participants 0, 2, and 3 by all other participants to obtain the corresponding target ciphertext data sets. It should be noted that the order in which the other participants perform encryption is not limited.

[0081] Taking the original data of the initiator / participant 0 as an example, the private encryption index of each participant is represented by a, b, c, and d respectively. Then, the method of encryption operation of the original data set of participant 0 by all participants can be achieved by the following formula [4]:

[0082] Enc2(u i )=(((H(u i ) a %p) b %p) c %p) d%p=H(u) i ) abcd %p [4]

[0083] Among them, u i Let represent the original data in the original data set of participant 0, n be the number of original data in the original data set of participant 0, H(x) be the hash function, % represent the modulo p operation, and Enc2(u i ) represents the target ciphertext data in the target ciphertext data set of participant 0.

[0084] The target ciphertext data set obtained after the original data set held by the participants is encrypted by all the participants can be represented by the following formula [5]:

[0085] U={([u0]′,ID0),([u1]′,ID1),([u i ]′,ID i ),([u n ]′,ID n )}{0≤i <n} [5]

[0086] Among them, [u i ]′ represents the original data u i The target ciphertext data, ID, is obtained after encryption operations by all participants. i Represents the target ciphertext data [u i The anonymous ID corresponding to ]′ can be understood as the original data u i First encrypted data [u i ], and target encrypted data [u i ]′ corresponds to the same anonymous ID, i.e., ID i 。 ([u i ]′,ID i ) indicates that the target ciphertext data [u i ]′ and the corresponding anonymous ID, i.e., ID i The combined data elements.

[0087] Throughout the computation, the anonymous ID and the ciphertext data remain bound. Other participants only encrypt the ciphertext data and do not modify the corresponding anonymous ID or its relationship. Furthermore, the original data held by the participants (such as phone numbers and ID card numbers) is encrypted using their private keys, preventing other participants from decrypting it and thus protecting the security of the original data. The anonymous ID is a randomly generated string containing no information, so even if other participants know it, they cannot deduce any information from it.

[0088] S103. Based on the target ciphertext data set of each participant, determine the data intersection that meets the set threshold, and synchronize each ciphertext intersection data and its corresponding anonymous ID to the associated participant, so that the associated participant can obtain the original data corresponding to the ciphertext intersection data based on the anonymous ID.

[0089] The threshold is used to characterize the minimum number of participants required to satisfy the intersection, and the ciphertext intersection data are the target ciphertext data in each target ciphertext data set that satisfy the threshold.

[0090] In one alternative implementation, determining the data intersection that satisfies a set threshold based on the target ciphertext data sets of each participant can be achieved through the following steps:

[0091] Step 1: Based on the target ciphertext data set of each participant, determine at least one participant corresponding to each target ciphertext data.

[0092] In specific implementation, at least one participant corresponding to each target encrypted data can be stored in the form of a hash table. The key in the hash table is the target encrypted data, and the value corresponding to the key in the hash table is an array of anonymous IDs corresponding to the target encrypted data. The array of anonymous IDs includes at least one anonymous ID corresponding to the target encrypted data. The at least one anonymous ID corresponds one-to-one with at least one participant corresponding to the target encrypted data. It can be understood that for any participant corresponding to the target encrypted data, the array of anonymous IDs will include an anonymous ID that is randomly generated from the corresponding original data. The number of anonymous IDs in the array will correspond to the number of participants corresponding to the target encrypted data.

[0093] For example, suppose there are 4 participants, using E i (i={0,1,2,3}) represents the target ciphertext data set obtained after the original data sets of each participant 0, 1, 2, 3 are encrypted by all participants. For details, please refer to formula [6].

[0094] E0={[u0]′,[u1]′,[u2]′,[u3]′}, E1={[u0]′,[u2]′,[u3]′},

[0095] E2={[u0]′,[u3]′,[u4]′,[u5]′},E3={[u1]′,[u2]′,[u3]′,[u4]′}

[0096] It should be noted that this only schematically lists the target ciphertext data included in each target ciphertext data set; the anonymous IDs corresponding to the target ciphertext data are not listed. To facilitate understanding the process of determining the data intersection, the target ciphertext data corresponding to the same original data is represented by the same symbol across different participants. Although each participant uses different private keys (e.g., a, b, c, d respectively), and the order in which they perform encryption operations on the same original data belonging to different participants is also different, the original data, after being encrypted using the private keys of all participants, satisfies the commutative law, effectively using the same private key (all abcd). If the original data is the same, the corresponding target ciphertext data is also the same; therefore, the intersection can be found based on the target ciphertext data sets of each participant.

[0097] It is understandable that as long as the commutative law is satisfied, the final encryption result of the original data after encryption operation by all keys is independent of the order of the keys. Therefore, the target ciphertext data corresponding to the same original data is the same. Thus, the encryption operation method used in this application embodiment is only illustrated by formulas [2] and [4], and is not limited to the encryption operation method shown in formulas [2] and [4].

[0098] In the process of determining the intersection of data of each participant, a hash table is used as an intermediate storage table, and each target ciphertext data of each participant is traversed. The target ciphertext data is used as a key and stored in the hash table. The key of the hash table corresponds to an array. The array stores at least one anonymous ID corresponding to the target ciphertext data. At least one anonymous ID corresponds one-to-one with at least one participant corresponding to the target ciphertext data. After traversing the target ciphertext data of all participants, the resulting hash table is shown in formula [7]:

[0099] M = {[u0]′:[E0,E1,E2],

[0100] [u1]′:[E0,E3],

[0101] [u2]′:[E0,E1,E3],

[0102] [u3]′:[E0,E1,E2,E3],

[0103] [u4]′:[E2,E3],

[0104] [u5]′:[E2]}

[0105] In the hash table, the keys are the different target ciphertext data in all target ciphertext data sets, and the corresponding values ​​are the anonymous IDs of at least one participant for each target ciphertext data. For ease of understanding, the anonymous IDs of each participant in this example are represented by participant identifiers E0, E1, etc. For example, E0 in the array corresponding to the target ciphertext data [u0]′ can be understood as the anonymous ID of participant 0 randomly generated from the original data u0, and E1 can be understood as the anonymous ID of participant 1 randomly generated from the original data u0. These anonymous IDs are all different and have a one-to-one correspondence with the participants.

[0106] Step 2: Based on the number of participants corresponding to each target ciphertext data, the target ciphertext data with a number of participants greater than or equal to the threshold threshold are identified as ciphertext intersection data, and the set including all ciphertext intersection data is taken as the data intersection that satisfies the set threshold threshold.

[0107] Based on the correspondence between the target ciphertext data and the participants, the target ciphertext data with a number of participants greater than or equal to a threshold threshold can be identified as the ciphertext intersection data. The set including all ciphertext intersection data is then taken as the data intersection that satisfies the set threshold threshold. For example, if the set threshold threshold is 2, the data intersection that satisfies the condition is: [[u0]′,[u1]′,[u2]′,[u3]′,[u4]′]; if the set threshold threshold is 3, the data intersection that satisfies the condition is: [[u0]′,[u2]′,[u3]′]; if the set threshold threshold is 4, the data intersection that satisfies the condition is: [[u3]′].

[0108] After determining the data intersection that meets the threshold, the intersection result needs to be synchronized to the relevant participants. At this time, for each ciphertext intersection data, the ciphertext intersection data and the anonymous ID of at least one participant corresponding to the ciphertext intersection data need to be sent to the corresponding participants respectively. Alternatively, all participants corresponding to the ciphertext intersection data can be synchronized to their respective participants. When a participant receives the ciphertext intersection data and the corresponding anonymous ID, it can map back to the original data corresponding to its own anonymous ID.

[0109] For example, when synchronizing the ciphertext intersection data [u0]′ to the associated participants 0, 1, and 2, ([u0]′, ID0) needs to be sent to participant 0 together. Here, ID0 represents an anonymous ID randomly generated by participant 0 for the original data u0 it holds. Participant 0 can map the original data u0 based on ID0. Similarly, when synchronizing [u0]′ to participant 1, ([u0]′, ID1) needs to be sent to participant 1 together. Here, ID1 represents an anonymous ID randomly generated by participant 1 for the original data u0 it holds. Participant 1 can map the original data u0 based on ID1. When synchronizing [u0]′ to participant 2, ([u0]′, ID2) needs to be sent to participant 2 together. Here, ID22 represents an anonymous ID randomly generated by participant 2 for the original data u0 it holds. Participant 2 can map the original data u0 based on ID2. Simultaneously, all participants corresponding to the intersection data [u0]′ of the ciphertext can be designated as participants 0, 1, and 2, and synchronized to participants 0, 1, and 2 respectively. Since ID2, ID1, and ID2 are randomly generated strings by participants 0, 1, and 2 respectively, they have no practical meaning. Even if any other participant or attacker obtains the anonymous ID, they will not be able to deduce the original data.

[0110] Corresponding to the data processing method applied to the initiator described above, this application embodiment also provides a data processing method applied to participants in privacy set intersection. It is understood that the data processing method provided in this embodiment is applicable to all participants in privacy set intersection, including the initiator. This embodiment only uses the operation performed by one participant as an example for explanation. Please refer to... Figure 2 The method may include the following steps:

[0111] S201. Generate private encryption parameters during the encryption operation process.

[0112] In specific implementation, based on the idea of ​​discrete logarithms, the private encryption parameter can be a private encryption exponent, and step S201 may specifically include:

[0113] The participant receives the modulo exponent required for the encryption operation generated by the initiator and generates its own private encryption exponent based on the modulo exponent. The modulo exponent is a prime number within a specified numerical range. The participant can generate its own private encryption exponent and its inverse based on the received modulo exponent p within the numerical range of the modulo exponent. Specifically, the private encryption exponent can be randomly generated within the numerical range of the modulo exponent p, or it can be derived using mathematical formulas.

[0114] S202. Based on its own private encryption parameters, it performs encryption operations on the original data set it holds to obtain a first ciphertext data set, and sends it to the initiator.

[0115] The raw data set held by a participant usually comprises at least one piece of raw data, the at least one piece of raw data is in one-to-one correspondence with anonymous IDs randomly generated by the participant, and each first ciphertext data in the first ciphertext data set is bound to the anonymous ID of the corresponding raw data.

[0116] In an optional implementation, a participant may randomly generate an anonymous ID for each piece of raw data in the raw data set held by the participant, establish a one-to-one correspondence between raw data and anonymous IDs, and different raw data correspond to different anonymous IDs; based on the participant's own private encryption parameter, each piece of raw data is subjected to an encryption operation to obtain corresponding first ciphertext data; each first ciphertext data and the corresponding anonymous ID are combined into a data element, and a set comprising all the data elements is taken as the first ciphertext data set.

[0117] In specific implementation, a participant may perform an encryption operation on each piece of raw data in the raw data set held by the participant based on the participant's own private encryption exponent (e.g., d) and a modular exponent p to obtain corresponding first ciphertext data, which may be obtained by the following formula Enc1(u i )=H(u i ) d %p{0≤i<n}; each first ciphertext data and the corresponding anonymous ID are combined into a data element, a set comprising all the data elements is taken as the first ciphertext data set, and the first ciphertext data set of the participant may be expressed in the following form U={([u0],ID0),([u1],ID1),([u i ,ID i ),([u n ,ID n )}{0≤i<n}.

[0118] Correspondingly, after receiving the first ciphertext data set of the participant, the initiator obtains a corresponding target ciphertext data set after the first ciphertext data set of the participant is subjected to an encryption operation based on respective private encryption parameters by all other participants except the corresponding participant, and each target ciphertext data in the target ciphertext data set is bound to the anonymous ID of the corresponding raw data. During the entire calculation process, a participant will receive ciphertext data sets of other participants sent by the initiator, and the ciphertext data set is any ciphertext data set of the other participants except the target ciphertext data set. For example, the received ciphertext data set may be any one of the first ciphertext data set, the second ciphertext data set, ..., the m-1-th ciphertext data set of another participant, wherein m represents the number of participants. It can be understood that the participant will receive one respective ciphertext data set of all other participants sent by the initiator.

[0119] Accordingly, the method further includes:

[0120] Upon receiving a set of ciphertext data from other participating parties sent by the initiator, the processor performs encryption operations on each piece of ciphertext data to be processed in the set of ciphertext data based on its own private encryption parameters and then returns the encrypted data to the initiator.

[0121] It should be noted that if a participant receives a first ciphertext data set from another participant, it performs an encryption operation and returns the corresponding second ciphertext data set to the initiator; if a participant receives a second ciphertext data set from another participant, it performs an encryption operation and returns the corresponding third ciphertext data set to the initiator; and so on. If a participant receives a (m-1)th ciphertext data set from another participant, it performs an encryption operation and returns the corresponding mth ciphertext data set, i.e., the target ciphertext data set, to the initiator.

[0122] S203. Upon receiving the first ciphertext intersection data and the corresponding anonymous ID sent by the initiator, the original data corresponding to the first ciphertext intersection data is obtained based on the anonymous ID mapping.

[0123] The first ciphertext intersection data is the ciphertext intersection data associated with the participants in the data intersection. The data intersection is a set that meets a set threshold determined by the initiator based on the target ciphertext data sets of each participant. The threshold is used to characterize the minimum number of participants required to satisfy the intersection. The ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold.

[0124] Because the participants have established a one-to-one correspondence between the original data and the anonymous ID (a string randomly generated by the participant for the original data), upon receiving the first ciphertext intersection data and its corresponding anonymous ID, the participant can map back to the original data corresponding to that anonymous ID based on its own anonymous ID. For example, assuming the participant has established a correspondence between anonymous IDs (e.g., 123) and original data (e.g., user's mobile phone number 13800000000), if it receives a certain ciphertext intersection data with the corresponding anonymous ID 123, the participant can map back to the original data corresponding to that ciphertext intersection data, which is the user's mobile phone number 13800000000.

[0125] The data processing method provided in this application embodiment includes at least one original data set held by each participant. Before encryption, each participant randomly generates a unique anonymous ID for each original data set. Each participant encrypts its own original data set using its private encryption parameters and then sends it to the initiator. Since each participant uses its own private key to encrypt the original data sent to the initiator, the security of each participant's original data is guaranteed. The initiator, after encrypting each participant's first ciphertext data set using the private encryption parameters of all other participants, obtains the corresponding target ciphertext data set. Then, based on the target ciphertext data sets of each participant, the intersection of data that meets a set threshold is determined. Because each participant's original data is encrypted using the private keys of all participants, even if more than half of the participants collude, they cannot decrypt the original data held by each participant. This ensures the security of data during the computation process. This solution requires no third-party trusted nodes. The initiator can securely calculate the intersection of data sets where the number of participating parties meets a threshold condition based on the target encrypted data sets of each participant. Since each target encrypted data set is bound to the anonymous ID of its corresponding original data, each encrypted intersection data set and its corresponding anonymous ID can be sent to the associated participants. The associated participants can then map back to the original data corresponding to the encrypted intersection data based on the received anonymous ID and the one-to-one correspondence between the original data and the anonymous ID. Even if other participants obtain the intersection result, they cannot deduce the original data they themselves hold, thus ensuring the security and non-disclosure of each participant's original data. This solution eliminates the need for multiple computation tasks through permutations and combinations, enabling threshold-based privacy set intersection calculations in a single computation task, unaffected by the number of participants, thereby significantly reducing computational complexity and improving computational efficiency.

[0126] The following example illustrates the data processing method provided in this application embodiment, using the application scenario of combating malicious rights protection / malicious complaints in the financial sector as an example. It employs a threshold privacy set intersection algorithm based on the discrete logarithm problem. The Alliance Against Financial Black Market Activities (AIF), comprised of multiple financial institutions, aims to discover and combat black market members within the alliance through the construction of an AIF data sharing platform. This requires identifying malicious organizations or individuals who have engaged in malicious rights protection / malicious complaints against multiple financial institutions within the alliance. Multiple financial institutions (alliance members) are equivalent to multiple participants. The identified malicious organizations or individuals meeting set criteria form a malicious list, which represents the data intersection. Each alliance member holds its own original list, recording malicious organizations or individuals who have engaged in malicious rights protection / malicious complaints against that financial institution. Specifically, unique identifiers such as mobile phone numbers and ID card numbers can be used to identify the corresponding malicious organizations or individuals. The unique identifiers of a malicious organization or individual, such as mobile phone number or ID card number, can be called an original identity ID. The original list held by the alliance members is equivalent to the original data set, and each original identity ID in the original list is equivalent to a piece of original data. For malicious lists that meet the set conditions, it is necessary to identify the alliance members that are harmed by the malicious list as much as possible. At the same time, during the calculation process, it is also necessary to ensure that the other normal list data of all alliance members are not leaked.

[0127] Please refer to Figure 3 This is a flowchart illustrating a data processing method for combating malicious proxy rights protection / malicious complaints, provided as an embodiment of this application. The method may include three stages: key generation, data encryption, and intersection calculation, specifically including the following steps:

[0128] Step 1: The initiator, whose privacy set is intersected, generates the modulus exponent p required for the encryption operation and sends the modulus exponent p to all participants;

[0129] For example, this privacy set intersection involves four participants: participant 0, 1, 2, and 3, with participant 0 being the initiator. It can be understood that, in the current application scenario, all of the above participants are alliance members. Each participant's own original list contains one original identity ID, which is itself a piece of original data. The original list held by each participant constitutes the original data set, which includes all the original identity IDs held by that participant.

[0130] Step 2: Each participant receives the modulo index p sent by the initiator, and generates its own private encrypted index and its inverse within the numerical range of the modulo index p.

[0131] For example, the initiator / participant 0 generates a private encryption exponent a, participant 1 generates a private encryption exponent b, participant 2 generates a private encryption exponent c, and participant 3 generates a private encryption exponent d.

[0132] Step 3: Each participant performs encryption operation on each original identity ID in the original list held by itself using its own private encryption exponent and the modular exponent p to obtain a corresponding first ciphertext list, and sends it to the initiator.

[0133] For example, participant 3 randomly generates an anonymous ID for each original identity ID, and participant 3 can use the formula Enc1(u i )=H(u i ) d %p{0≤i<n} to perform encryption operation, wherein u i represents the identity ID held by participant 3, n is the number of original identity IDs in the original list held by participant 3, and H(x) is a hash function. In addition, participant 3 combines the first ciphertext identity ID obtained after encrypting each original identity ID with the corresponding anonymous ID respectively into a data element, combines all data elements to obtain the first ciphertext list of participant 3, and then participant 3 sends the first ciphertext list to the initiator / participant 0. The data elements in the first ciphertext list corresponding to participant 3 can be expressed as the formula shown below.

[0134] For the encryption operation methods performed by participant 0, participant 1 and participant 2 on their own held original lists, please refer to participant 3, which only differs in the used private encryption exponents, and will not be repeated here. Similarly, the data elements in the first ciphertext list corresponding to participant 0 can be expressed as the formula shown below, the data elements in the first ciphertext list corresponding to participant 1 can be expressed as the formula shown below, and the data elements in the first ciphertext list corresponding to participant 2 can be expressed as the formula shown below. For the convenience of distinction, different parameters are used to represent each original identity ID in the original list held by different participants.

[0135] Step 4: After receiving the first ciphertext lists from all participants, the initiator / participant 0 iterates through all participants (including participant 0 itself). For each participant's first ciphertext list, it performs encryption operations on all other participants except the corresponding participant. This process continues until all first ciphertext lists have been encrypted sequentially by all other participants, resulting in each participant's target ciphertext list. Each target ciphertext identity ID in the target ciphertext list is bound to the anonymous ID of its corresponding original identity ID. Correspondingly, each participant uses its own private encryption index to encrypt the ciphertext lists of other participants sent by the initiator and returns them to the initiator. These ciphertext lists include one of the other participants' first, second, or third ciphertext lists.

[0136] For example, taking the data of initiator / participant 0 as an example, where the private encryption indices of each participant are a, b, c, and d respectively, the data of participant 0 after this round of encryption can be processed by the formula Enc2(x i )=(((H(x i ) a %p) b %p) c %p) d %p = H(x) i ) abcd %p represents...

[0137] Step 5: The initiator / participant 0 determines at least one participant corresponding to each target ciphertext identity ID based on the target ciphertext list of each participant. It can be understood that for any target ciphertext identity ID, at least one participant will have an anonymous ID, which is the anonymous ID randomly generated by the participant for the original identity ID corresponding to the target ciphertext identity ID. The calculation process is to find the intersection of all target ciphertext identity IDs of each participant, and a hash table can be used as an intermediate storage table.

[0138] Step 6: Determine the malicious list that meets the threshold conditions according to the set threshold. Based on the correspondence between the target ciphertext identity ID and the participants, the target ciphertext identity ID with a number of participants greater than or equal to the set threshold can be determined as the ciphertext intersection identity ID. The set including all ciphertext intersection identity IDs is used as the malicious list.

[0139] Step 7: After determining the malicious list that meets the threshold (the intersection of target encrypted identity IDs that meet the set conditions), the intersection result needs to be synchronized to the relevant participants. At this time, each encrypted intersection identity ID in the malicious list and the anonymous ID of each participant corresponding to each encrypted intersection identity ID need to be sent to the corresponding participant. When a participant receives the encrypted intersection identity ID and the corresponding anonymous ID, it can map back the original identity ID (the mobile phone number, ID card number, etc. of the malicious organization or individual) according to its own anonymous ID.

[0140] In practical applications, privacy set intersection attacks fall into two categories: semi-honest and malicious. The semi-honest model involves all participants being either semi-honest or honest. Semi-honest members fully comply with the protocol but collect all records during execution and attempt to infer the inputs of other members. In this model, the attacker is passive. The malicious model involves malicious participants who execute each step of the protocol entirely according to the attacker's wishes. These malicious participants not only disclose all their inputs, outputs, and intermediate data to the attacker but can also alter input data, forge intermediate and output data, or even terminate the protocol. In this model, the attacker is active.

[0141] Using the above data processing method, the intersection results of all participants that meet the threshold can be obtained. Data that does not meet the threshold condition is strictly kept confidential. Each participant can securely calculate the set of participants whose number of intersection participants meets the threshold condition without the participation of a third-party trusted node. When each participant sends its data, it is encrypted using its own private encryption index (large index). Based on the idea of ​​discrete logarithms, it is very difficult to deduce the original data without knowing the original data and the private encryption index. During the calculation process, since the original data has been encrypted by all participants, even if more than half of the participants collude, they cannot decrypt the original data, thus ensuring the security of the intermediate data. Therefore, it can resist attacks from semi-honest and malicious models, and can guarantee the data privacy of each participant under both attack models. Compared with privacy set intersection using permutation and combination methods, this scheme has significantly improved computational efficiency and is not affected by the number of participants.

[0142] The above-mentioned application scenarios for combating malicious agents in rights protection / malicious complaints are merely illustrative examples of the application scenarios of the methods provided in this application embodiment. The data processing method provided in this application embodiment can also be applied to other application scenarios based on threshold-based privacy set intersection.

[0143] In addition, with the above Figure 1Corresponding to the data processing method shown, this application embodiment also provides a data processing method apparatus, which is set at the initiator of the privacy set intersection. Figure 4 This is a schematic diagram of the structure of a data processing method apparatus 400 provided in an embodiment of this application, including:

[0144] The receiving module 401 is used to obtain a first ciphertext data set sent by each participant after performing encryption operations on its own original data set based on its own private encryption parameters; wherein, the initiator is any one of the multiple participants in the intersection of privacy sets, each participant's own original data set includes at least one original data, the at least one original data corresponds one-to-one with the anonymous ID randomly generated by the participant, and each first ciphertext data in the first ciphertext data set is bound to the anonymous ID of the corresponding original data;

[0145] The distribution module 402 is used to obtain a corresponding target ciphertext data set after all other participants except the corresponding participant have performed encryption operations on the first ciphertext data set of each participant based on their respective private encryption parameters; wherein, each target ciphertext data in the target ciphertext data set is bound to the anonymous ID of the corresponding original data.

[0146] The intersection module 403 is used to determine the data intersection that satisfies a set threshold based on the target ciphertext data sets of each participant; wherein the threshold is used to characterize the minimum number of participants required to satisfy the intersection.

[0147] The synchronization module 404 is used to synchronize each ciphertext intersection data and its corresponding anonymous ID in the data intersection to the associated participants, so that the associated participants can obtain the original data corresponding to the ciphertext intersection data based on the anonymous ID mapping; wherein, the ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold threshold.

[0148] In one optional implementation, the first ciphertext data set of each participant includes at least one data element obtained by combining the first ciphertext data with the corresponding anonymous ID. The first ciphertext data is obtained by the participant encrypting the original data in the original data set held by the participant.

[0149] In one optional implementation, the distribution module 402 is specifically used to traverse all participants and perform the following operations for any current participant: send the current participant's first ciphertext data set to another participant other than the current participant to obtain the second ciphertext data set returned after encryption operation, and send the returned second ciphertext data set to the next other participant for encryption operation, until the first ciphertext data set has been encrypted by all other participants, thus obtaining the current participant's target ciphertext data set; wherein the current participant's target ciphertext data set includes at least one data element obtained by combining the target ciphertext data with the corresponding anonymous ID, and the target ciphertext data is obtained by encrypting the original data in the original data set held by the current participant after encryption operation by all participants.

[0150] In one alternative implementation, the intersection module 403 may include:

[0151] The first intersection submodule is used to determine at least one participant corresponding to each target ciphertext data based on the target ciphertext data set of each participant.

[0152] The second intersection submodule is used to determine the target ciphertext data whose number of participants is greater than or equal to the threshold threshold as ciphertext intersection data based on the number of participants corresponding to each target ciphertext data, and to take the set including all ciphertext intersection data as the data intersection that satisfies the set threshold threshold.

[0153] In specific implementation, at least one participant corresponding to each target ciphertext data is stored in the form of a hash table. The key in the hash table is the target ciphertext data, and the value corresponding to each key is an array of anonymous IDs corresponding to the target ciphertext data. The array of anonymous IDs includes at least one anonymous ID corresponding to the target ciphertext data, and each anonymous ID corresponds one-to-one with at least one participant corresponding to the target ciphertext data. It can be understood that the anonymous ID corresponding to a particular participant is the anonymous ID randomly generated from the original data corresponding to the target ciphertext data before the encryption operation.

[0154] In one optional implementation, the synchronization module 404 is specifically used to send each ciphertext intersection data in the data intersection to at least one corresponding participant, and simultaneously send an anonymous ID randomly generated from the original data corresponding to the ciphertext intersection data to each corresponding participant.

[0155] In one alternative implementation, the private encryption parameter includes a private encryption index; the device 400 may further include:

[0156] Modular index generation module 405 is used to generate the modular index required in the encryption operation process and send it to all participants so that each participant can generate its own private encryption index based on the modular index. The modular index is a prime number within a specified numerical range, and the private encryption index is generated within the numerical range of the modular index.

[0157] Obviously, the data processing method apparatus 400 of this application embodiment can be used as described above. Figure 1 The data processing method shown is the execution entity, thus enabling the data processing method to perform... Figure 1 The functions implemented are the same, so they will not be described in detail here.

[0158] In addition, with the above Figure 2 Corresponding to the data processing method shown, this application embodiment also provides a data processing method apparatus, which is set among the participants in the privacy set intersection. Figure 5 This is a schematic diagram of the structure of a data processing method apparatus 500 provided in an embodiment of this application, including:

[0159] The private key generation module 501 is used to generate private encryption parameters during the encryption operation process;

[0160] The encryption module 502 is used to perform encryption operations on its own original data set based on its own private encryption parameters to obtain a first ciphertext data set, and send it to the initiator. This allows the initiator to obtain a corresponding target ciphertext data set after all other participants (excluding the corresponding participant) perform encryption operations on the first ciphertext data set based on their respective private encryption parameters. The original data sets of the participants include at least one original data set, which corresponds one-to-one with a randomly generated anonymous ID of the participant. Each first ciphertext data set in the first ciphertext data set is bound to the anonymous ID of the corresponding original data set, and each target ciphertext data set in the target ciphertext data set is bound to the anonymous ID of the corresponding original data set. The initiator is any one of the multiple participants in the intersection of privacy sets.

[0161] The mapping module 503 is used to, upon receiving the first ciphertext intersection data and the corresponding anonymous ID sent by the initiator, map the original data corresponding to the first ciphertext intersection data based on the anonymous ID; wherein, the first ciphertext intersection data is the ciphertext intersection data associated with the participants in the data intersection, the data intersection is a set that meets a set threshold determined by the initiator based on the target ciphertext data sets of each participant, the threshold threshold is used to characterize the minimum number of intersection participants required to meet the threshold, and the ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold threshold.

[0162] In one alternative implementation, the encryption module 502 may include:

[0163] The mapping establishment submodule is used to randomly generate an anonymous ID for each piece of raw data in the raw data set it holds, and to establish a one-to-one correspondence between the raw data and the anonymous ID;

[0164] The encryption submodule is used to perform encryption operations on each original data in the original data set based on its own private encryption parameters to obtain the corresponding first ciphertext data; combine each first ciphertext data with the corresponding anonymous ID to form a data element, and take the set including all data elements as the first ciphertext data set and send it to the initiator.

[0165] In one optional implementation, the encryption submodule is further configured to, upon receiving a set of ciphertext data from other participants sent by the initiator, perform encryption operations on each ciphertext data in the set of ciphertext data based on its own private encryption parameters and return it to the initiator, wherein the set of ciphertext data is any set of ciphertext data from the other participants other than the target set of ciphertext data.

[0166] In one alternative implementation, the private encryption parameter includes a private encryption index;

[0167] The private key generation module 501 is specifically used to receive the modulo exponent required in the encryption operation process generated by the initiator, and generate its own private encryption exponent based on the modulo exponent. The modulo exponent is a prime number within a specified numerical range, and the private encryption exponent is generated within the numerical range of the modulo exponent.

[0168] The encryption submodule is specifically used to perform hash operations on each piece of data to be processed in the data set to be processed using a hash function, and then perform exponential operations using the private encryption index of the participating party, and then perform modular operations using the modulo index; wherein, the data set to be processed includes the original data set held by the participating party, or the encrypted data set sent by the initiator to the participating party.

[0169] Obviously, the data processing method apparatus 500 of this application embodiment can be used as described above. Figure 2 The data processing method shown is the execution entity, thus enabling the data processing method to perform... Figure 2 The functions implemented are the same, so they will not be described in detail here.

[0170] The data processing method and apparatus provided in this application embodiment eliminates the need for multiple computation tasks through permutations and combinations. It enables threshold-based privacy set intersection in a single computation task, unaffected by the number of participants, significantly reducing computational complexity and improving computational efficiency. During the computation process, each participant's original data is encrypted using its own private encryption parameter. Even if other participants obtain the intersection result, they cannot deduce the original data held by the participant, thus ensuring the security and non-disclosure of each participant's original data. Only encrypted intersection data that meets the set threshold is calculated, and only the encrypted intersection data is sent to the associated participants, ensuring data privacy.

[0171] Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Please refer to it. Figure 6 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and memory. The memory may include main memory, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the electronic device may also include other hardware required for other business operations.

[0172] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 6 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.

[0173] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.

[0174] The processor reads the corresponding computer program from non-volatile memory into memory and then runs it, forming a data processing method apparatus at the logical level. The processor executes the program stored in memory and specifically performs various processes that implement the above-described data processing method embodiments, achieving the same technical effects. To avoid repetition, these details will not be repeated here.

[0175] The data processing method apparatus disclosed in the embodiments of this application can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0176] Of course, in addition to software implementation, the electronic device of this application does not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0177] This application also proposes a computer-readable storage medium that stores one or more programs, the programs including instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described data processing method embodiments and achieve the same technical effects. To avoid repetition, further details are omitted here.

[0178] The processor is the processor in the electronic device described in the above embodiments. The computer-readable storage medium is, for example, a computer read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk.

[0179] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above data processing method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0180] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0181] The foregoing has described specific embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0182] In summary, the above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

[0183] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0184] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0185] The various embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

Claims

1. A data processing method, characterized in that, The initiators used for intersection of privacy sets include: Each participant acquires a first ciphertext data set after encrypting its own original data set based on its own private encryption parameters and sending the data. The initiator is any one of the multiple participants in the intersection of the privacy sets. Each participant's own original data set includes at least one original data set, and the at least one original data set corresponds one-to-one with the anonymous identifier ID randomly generated by the participant. Each first ciphertext data set is bound to the anonymous ID of the corresponding original data set. In the first ciphertext data set of each participant, after all other participants except the corresponding participant perform encryption operations based on their respective private encryption parameters, a corresponding target ciphertext data set is obtained; wherein, each target ciphertext data in the target ciphertext data set is bound to the anonymous ID of the corresponding original data; Based on the target ciphertext data sets of each participant, a data intersection that satisfies a set threshold is determined. Each ciphertext intersection data set and its corresponding anonymous ID are then synchronized to the associated participants, enabling them to obtain the original data corresponding to the ciphertext intersection data based on the anonymous ID. Herein, the threshold is used to characterize the minimum number of participants required to satisfy the intersection, and the ciphertext intersection data consists of the target ciphertext data sets that satisfy the threshold.

2. The method according to claim 1, characterized in that, The first ciphertext data set of each participant includes at least one data element obtained by combining the first ciphertext data with the corresponding anonymous ID. The first ciphertext data is obtained by the participant itself after performing encryption operations on the original data in the original data set held by the participant.

3. The method according to claim 2, characterized in that, The step of obtaining the corresponding target ciphertext data set by performing encryption operations based on the private encryption parameters of all other participants in the first ciphertext data set of each participant includes: Iterate through all participants and perform the following operation for any current participant: send the first ciphertext data set of the current participant to another participant other than the current participant to obtain the second ciphertext data set returned by the other participant after performing encryption operation, and send the returned second ciphertext data set to the next other participant for encryption operation, until the first ciphertext data set has been encrypted by all other participants, and the target ciphertext data set of the current participant is obtained. The target ciphertext data set of the current participant includes at least one data element obtained by combining the target ciphertext data with the corresponding anonymous ID. The target ciphertext data is obtained by encrypting the original data in the original data set held by the current participant after all participants have performed encryption operations.

4. The method according to claim 1, characterized in that, The step of determining the data intersection that satisfies a set threshold based on the target ciphertext data sets of each participant includes: Based on the target ciphertext data set of each participant, at least one participant corresponding to each target ciphertext data is identified; Based on the number of participants corresponding to each target ciphertext data, the target ciphertext data with a number of participants greater than or equal to the threshold threshold are determined as ciphertext intersection data, and the set including all ciphertext intersection data is taken as the data intersection that satisfies the set threshold threshold.

5. The method according to claim 4, characterized in that, At least one participant corresponding to each target encrypted data is stored in the form of a hash table. The key in the hash table is the target encrypted data, and the value corresponding to the key in the hash table is an array of anonymous IDs corresponding to the target encrypted data. The array of anonymous IDs includes at least one anonymous ID corresponding to the target encrypted data, and the at least one anonymous ID corresponds one-to-one with at least one participant corresponding to the target encrypted data.

6. The method according to claim 5, characterized in that, The step of synchronizing each ciphertext intersection data and its corresponding anonymous ID in the data intersection with the associated participants includes: For each ciphertext intersection data in the data intersection, the ciphertext intersection data is sent to at least one corresponding participant, and an anonymous ID randomly generated from the original data corresponding to the ciphertext intersection data is sent to each corresponding participant.

7. The method according to claim 1, characterized in that, The private encryption parameters include a private encryption index; the method further includes: The modulo exponent required for the encryption operation is generated and sent to all participants, so that each participant can generate its own private encryption exponent based on the modulo exponent, wherein the modulo exponent is a prime number within a specified numerical range, and the private encryption exponent is generated within the numerical range of the modulo exponent.

8. A data processing method, characterized in that, The participants used in intersection of privacy sets include: Generate private encryption parameters during the encryption operation process; Based on its own private encryption parameters, the initiator performs encryption operations on its own original data set to obtain a first ciphertext data set, and sends it to the initiator. This allows the initiator to obtain the corresponding target ciphertext data set after all other participants (excluding the corresponding participant) perform encryption operations based on their respective private encryption parameters on the first ciphertext data set. The original data set of each participant includes at least one original data set, which corresponds one-to-one with a randomly generated anonymous ID of the participant. Each first ciphertext data set in the first ciphertext data set is bound to the anonymous ID of the corresponding original data set, and each target ciphertext data set in the target ciphertext data set is bound to the anonymous ID of the corresponding original data set. The initiator is any one of the multiple participants in the intersection of privacy sets. Upon receiving the first ciphertext intersection data and the corresponding anonymous ID sent by the initiator, the original data corresponding to the first ciphertext intersection data is obtained based on the anonymous ID mapping; wherein, the first ciphertext intersection data is the ciphertext intersection data associated with the participants in the data intersection, the data intersection is a set that meets a set threshold determined by the initiator based on the target ciphertext data set of each participant, the threshold is used to characterize the minimum number of intersection participants required to meet the threshold, and the ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold.

9. The method according to claim 8, characterized in that, The first ciphertext data set is obtained by encrypting the original data set held by itself based on its own private encryption parameters, including: Randomly generate an anonymous ID for each piece of raw data in the original data set held by itself, and establish a one-to-one correspondence between the raw data and the anonymous ID; Based on its own private encryption parameters, each original data in the original data set is encrypted to obtain the corresponding first ciphertext data. Each first ciphertext data is combined with its corresponding anonymous ID to form a data element, and the set including all data elements is taken as the first ciphertext data set.

10. The method according to claim 8, characterized in that, The method further includes: Upon receiving a set of ciphertext data from other participants sent by the initiator, the ciphertext data is encrypted using its own private encryption parameters, and then returned to the initiator. The set of ciphertext data is any set of ciphertext data from the other participants other than the target set of ciphertext data.

11. The method according to claim 8, characterized in that, The private encryption parameters include a private encryption index; the private encryption parameters of the participating parties themselves during the encryption generation process include: Receive the modulo exponent required for the encryption operation generated by the initiator, and generate its own private encryption exponent based on the modulo exponent. The modulo exponent is a prime number within a specified numerical range, and the private encryption exponent is generated within the numerical range of the modulo exponent. The method by which the participating parties perform encryption operations based on their own private encryption parameters includes: Each piece of data in the data set to be processed is hashed using a hash function, then first processed by exponentiation using the participant's own private encrypted exponent, and then processed by modulo exponentiation. The data set to be processed includes the original data set held by the participant or the encrypted data set sent by the initiator to the participant.

12. A data processing method apparatus, characterized in that, The initiator of the intersection of privacy sets includes: The receiving module is used to obtain the first ciphertext data set sent by each participant after encrypting its own original data set based on its own private encryption parameters; wherein, the initiator is any one of the multiple participants in the intersection of privacy sets, and the original data set held by each participant includes at least one original data, the at least one original data corresponds one-to-one with the anonymous ID randomly generated by the participant, and each first ciphertext data in the first ciphertext data set is bound to the anonymous ID of the corresponding original data; The distribution module is used to obtain the corresponding target ciphertext data set after all other participants, except the corresponding participant, perform encryption operations on the first ciphertext data set of each participant based on their respective private encryption parameters; wherein, each target ciphertext data in the target ciphertext data set is bound to the anonymous ID of the corresponding original data; The intersection module is used to determine the data intersection that satisfies a set threshold based on the target ciphertext data sets of each participant; wherein, the threshold is used to characterize the minimum number of participants required to satisfy the intersection. The synchronization module is used to synchronize each ciphertext intersection data and its corresponding anonymous ID in the data intersection to the associated participants, so that the associated participants can obtain the original data corresponding to the ciphertext intersection data based on the anonymous ID mapping; wherein, the ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold threshold.

13. A data processing method apparatus, characterized in that, The participants in the intersection of the privacy set include: The private key generation module is used to generate private encryption parameters during the encryption operation process; An encryption module is used to perform encryption operations on its own original data set based on its own private encryption parameters to obtain a first ciphertext data set, and send it to the initiator. This allows the initiator to obtain a corresponding target ciphertext data set after all other participants (excluding the corresponding participant) perform encryption operations on the first ciphertext data set based on their respective private encryption parameters. The original data sets of the participants include at least one original data set, each of which corresponds one-to-one with a randomly generated anonymous ID of the participant. Each first ciphertext data set in the first ciphertext data set is bound to the anonymous ID of the corresponding original data set, and each target ciphertext data set in the target ciphertext data set is bound to the anonymous ID of the corresponding original data set. The initiator is any one of the multiple participants in the intersection of privacy sets. The mapping module is used to, upon receiving the first ciphertext intersection data and the corresponding anonymous ID sent by the initiator, map the original data corresponding to the first ciphertext intersection data based on the anonymous ID; wherein, the first ciphertext intersection data is the ciphertext intersection data associated with the participants in the data intersection, the data intersection is a set that meets a set threshold determined by the initiator based on the target ciphertext data sets of each participant, the threshold threshold is used to characterize the minimum number of intersection participants required to meet the threshold, and the ciphertext intersection data is the target ciphertext data in each target ciphertext data set that meets the threshold threshold.

14. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the data processing method as described in any one of claims 1 to 7, or to implement the data processing method as described in any one of claims 8 to 11.

15. A computer-readable storage medium, characterized in that, When the instructions in the storage medium are executed by the processor of the electronic device, the electronic device is able to perform the data processing method as described in any one of claims 1 to 7, or the electronic device is able to perform the data processing method as described in any one of claims 8 to 11.

Citation Information

Patent Citations

  • Efficient searchable proxy privacy set intersection method and device

    CN114491613A

  • Anonymous method based on sensitive hierarchical information entropy

    CN114580010A