Data processing method, device and apparatus, and computer-readable storage medium
By obtaining the union of identifier sets among financial institutions and using homomorphic encryption and random number encryption for joint computation, the problems of transaction data security and computational accuracy in the financial industry are solved, thereby improving data security and accuracy.
Patent Information
- Application Number
- CN202411779296.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2044-12-04
AI Technical Summary
In the financial industry, existing technologies for joint computation suffer from insufficient security of transaction data and inaccuracy of computation results. In particular, computations at the intersection of datasets are insufficient to achieve the purpose of risk monitoring, and direct data merging poses a risk of data leakage.
By obtaining the union of the identifier sets of the participants, data encryption and computation are performed using homomorphic encryption and random number encryption to ensure data security, while joint computation is performed to improve accuracy.
This approach ensures the security of transaction data while improving the accuracy and efficiency of joint calculation results, thereby enhancing data security and mutual trust among all parties.
Smart Images

Figure CN119652600B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of data processing technology, and in particular relates to a data processing method, apparatus, device, and computer-readable storage medium. Background Art
[0002] Financial institutions typically store transaction data and use it to monitor merchant or user risk. However, a single institution often lacks access to comprehensive transaction data. Therefore, to better monitor risk, it's often necessary to jointly calculate transaction data from multiple institutions and then conduct risk monitoring based on the combined results. During this joint calculation process, ensuring the security of transaction data is crucial.
[0003] Currently, joint computation is typically performed using privacy-safe intersection algorithms or federated modeling. Both these approaches rely on the intersection of data sets from multiple participants, and the computation often involves complex cryptographic methods to ensure the security and privacy of transaction data.
[0004] However, in certain scenarios within the financial industry, the joint calculation results obtained based solely on intersection calculations may be inaccurate and insufficient for risk monitoring. Therefore, there is an urgent need for a joint calculation method that ensures both the security of transaction data and the accuracy of the joint calculation results. Summary of the Invention
[0005] The embodiments of the present application provide a data processing method, apparatus, device, computer-readable storage medium, and computer program product, which can ensure both the security of transaction data and the accuracy of joint calculation results.
[0006] In a first aspect, an embodiment of the present application provides a data processing method, applied to a first participant, the method comprising:
[0007] Obtaining a joint identification set, where the joint identification set is a union of a first identification set of the first participant and a second identification set of the second participant, the first identification set including a plurality of first object identifications of first objects to be monitored, the second identification set including a plurality of second object identifications of second objects to be monitored, and the joint identification set including a plurality of joint object identifications;
[0008] Encrypting first transaction data corresponding to each of the joint object identifiers using a homomorphic encryption key to obtain first transaction data ciphertext, where the first transaction data is transaction data of the first participant;
[0009] Sending the joint identification set and the corresponding first transaction data ciphertext to the second participant;
[0010] receiving a first joint data ciphertext sent by the second participant, where the first joint data ciphertext is obtained by encrypting joint transaction data using a random number, the joint transaction data being data determined for each joint object identifier based on the first transaction data ciphertext and the second transaction data, and the second transaction data being transaction data of the second participant;
[0011] A joint calculation is performed based on the first joint data ciphertext to obtain a first joint calculation result.
[0012] In a second aspect, an embodiment of the present application provides a data processing method, applied to a second participant, the method comprising:
[0013] Receive a joint identification set and its corresponding first transaction data ciphertext sent by a first participant, where the joint identification set is the union of a first identification set of the first participant and a second identification set of the second participant, the first identification set includes a plurality of first object identifications of first objects to be monitored, the second identification set includes a plurality of second object identifications of second objects to be monitored, and the joint identification set includes a plurality of joint object identifications; the first transaction data ciphertext is obtained by encrypting first transaction data corresponding to the joint object identification using a homomorphic encryption key, and the first transaction data is the transaction data of the first participant;
[0014] For each of the joint object identifiers, determining joint transaction data based on the first transaction data ciphertext and second transaction data, where the second transaction data is transaction data of the second participant;
[0015] Encrypting the joint transaction data using a random number to obtain a first joint data ciphertext;
[0016] The first joint data ciphertext is sent to the first participant, so that the first participant performs a joint calculation based on the first joint ciphertext to obtain a first joint calculation result.
[0017] In a third aspect, an embodiment of the present application provides a data processing device, applied to a first participant, the device comprising:
[0018] a first acquisition module, configured to acquire a joint identification set, the joint identification set being a union of a first identification set of the first participant and a second identification set of the second participant, the first identification set including a plurality of first object identifications of first objects to be monitored, the second identification set including a plurality of second object identifications of second objects to be monitored, and the joint identification set including a plurality of joint object identifications;
[0019] a first encryption module, configured to encrypt first transaction data corresponding to each of the joint object identifiers using a homomorphic encryption key to obtain first transaction data ciphertext, where the first transaction data is transaction data of the first participant;
[0020] a first sending module, configured to send the joint identification set and the corresponding first transaction data ciphertext to the second party;
[0021] a first receiving module configured to receive a first joint data ciphertext sent by the second participant, where the first joint data ciphertext is obtained by encrypting joint transaction data using a random number, the joint transaction data being data determined for each joint object identifier based on the first transaction data ciphertext and the second transaction data, and the second transaction data being transaction data of the second participant;
[0022] The first calculation module is used to perform joint calculation based on the first joint data ciphertext to obtain a first joint calculation result.
[0023] In a fourth aspect, an embodiment of the present application provides a data processing device, applied to a second participant, the device comprising:
[0024] a second receiving module, configured to receive a joint identification set and its corresponding first transaction data ciphertext sent by a first participant, wherein the joint identification set is a union of a first identification set of the first participant and a second identification set of the second participant, the first identification set including a plurality of first object identifications of first objects to be monitored, the second identification set including a plurality of second object identifications of second objects to be monitored, and the joint identification set including a plurality of joint object identifications; the first transaction data ciphertext is obtained by encrypting the first transaction data corresponding to the joint object identification using a homomorphic encryption key, and the first transaction data is the transaction data of the first participant;
[0025] a first determining module, configured to determine, for each joint object identifier, joint transaction data based on the first transaction data ciphertext and second transaction data, where the second transaction data is transaction data of the second participant;
[0026] a second encryption module, configured to encrypt the joint transaction data using a random number to obtain a first joint data ciphertext;
[0027] The second sending module is used to send the first joint data ciphertext to the first participant, so that the first participant performs joint calculation based on the first joint ciphertext to obtain a first joint calculation result.
[0028] In a fifth aspect, an embodiment of the present application provides an electronic device, the device comprising: a processor and a memory storing computer program instructions;
[0029] When the processor executes the computer program instructions, the method in any possible implementation method of the first aspect or the second aspect is implemented.
[0030] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, the method of any possible implementation method in the first aspect or the second aspect mentioned above is implemented.
[0031] In the seventh aspect, an embodiment of the present application provides a computer program product. When the instructions in the computer program product are executed by the processor of an electronic device, the electronic device executes a method in any possible implementation method of the first aspect or the second aspect mentioned above.
[0032] In the embodiment of the present application, since the joint identification set is the union of the first identification set of the first participant and the second identification set of the second participant, by obtaining the joint identification set and performing joint calculation based on the transaction data corresponding to the joint identification set, the comprehensiveness of the joint calculation data can be guaranteed, thereby ensuring the accuracy of the joint calculation result. In addition, the joint transaction data is the data determined by the second participant for each joint object identifier based on the first transaction data ciphertext and the second transaction data. Therefore, by sending the joint identification set to the second participant and encrypting the first transaction data corresponding to each joint object identifier using the homomorphic encryption key to obtain the first transaction data ciphertext, receiving the first joint data ciphertext sent by the second participant by encrypting the joint transaction data using a random number, and performing joint calculation based on the first joint data ciphertext, that is, in the joint calculation process, the joint calculation process is optimized by holding the key by one party and the random number by the other participants, which can reduce the risk of data leakage, improve the data security of each participant, and enhance the mutual trust between the parties. In this way, through the embodiment of the present application, both the security of the transaction data and the accuracy of the joint calculation result can be guaranteed. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0034] Figure 1 This is a flowchart of a data processing method applied to a first participant provided in an embodiment of the present application;
[0035] Figure 2 This is a flowchart of a data processing method applied to a second participant provided in an embodiment of the present application;
[0036] Figure 3 This is a flow chart of a joint calculation based on ID union provided in an embodiment of the present application;
[0037] Figure 4 This is another flowchart of joint calculation based on ID union provided in an embodiment of the present application;
[0038] Figure 5 1 is a schematic structural diagram of a data processing device applied to a first participant provided in an embodiment of the present application;
[0039] Figure 6 is a structural diagram of a data processing device applied to a second participant provided in an embodiment of the present application;
[0040] Figure 7 This is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0041] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is merely to provide a better understanding of the present application by illustrating the examples of the present application.
[0042] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, the elements defined by the phrase "comprising..." do not exclude the presence of other identical elements in the process, method, article, or device comprising the elements.
[0043] In addition, the acquisition, storage, use, and processing of data in the technical solution of this application comply with the relevant provisions of national laws and regulations.
[0044] Financial data collaboration scenarios involving sensitive user information, such as ID numbers and mobile phone numbers, typically require compliance with strict data protection regulations and privacy policies. Even when processing this sensitive information, even if encrypted using national encryption algorithms like SM3 and SM4, external transmission of the encrypted data is generally prohibited due to the high priority placed on data security and strict privacy protection. At the same time, financial institutions must maintain necessary data collaboration and sharing while protecting user privacy to support business development and risk management.
[0045] In the financial industry, the main application scenarios of current privacy computing technology focus on privacy-safe intersection and federated modeling:
[0046] Private Set Intersection (PSI): The private set intersection algorithm allows two or more parties to find the intersection of their datasets without revealing the specific contents of their respective datasets. Different financial institutions can use the PSI algorithm to share customer information and identify common customers while protecting their privacy.
[0047] Federated Modeling: Federated modeling allows multiple participants to jointly train a model without exchanging data. It can be used in scenarios such as risk scoring modeling, product preference modeling, intelligent pricing modeling, and precision marketing modeling.
[0048] The key to both privacy-safe intersection and federated modeling is the intersection of participating datasets. Privacy-safe intersection algorithms focus on securely identifying and utilizing common elements across participating datasets, known as intersection data. Federated modeling, based on identified intersection data, uses this data as a common training set, allowing multiple participants to jointly build and optimize machine learning models without directly exchanging raw data. Their computational processes involve complex cryptographic methods to ensure data security and privacy.
[0049] However, in certain scenarios within the financial industry, performing privacy-safe intersection (PSI) and federated modeling based solely on the intersection of participant datasets may not meet all requirements. For one thing, in some cases, the datasets of participating parties may have little or no intersection. Another scenario involves business analysis or decision support needs that require a more comprehensive view of the data, not just the intersection. In these cases, federated computations based solely on the intersection may yield inaccurate results and be insufficient for risk monitoring.
[0050] If the joint calculation results based on intersection calculations are insufficient for risk monitoring purposes, multiple institutions will need to manually transfer and merge the non-intersection data to ensure data security. However, the multiple rounds of data exchange and manual operations are cumbersome, resulting in low efficiency of joint calculations.
[0051] In addition, if joint calculations are performed directly using the union of multiple data sets, there is a potential possibility that the partner's data will be reversed, leading to data leakage. For example, through statistical methods or association analysis, different fragments of data will be combined to infer sensitive information.
[0052] In addition, due to data security and compliance management requirements, sensitive data of various institutions cannot be transmitted externally even in encrypted form.
[0053] Therefore, there is an urgent need for a joint computing method that can ensure the security of transaction data, the accuracy of joint computing results, and the efficiency of joint computing.
[0054] Based on this, and to address the problems of the prior art, embodiments of the present application provide a data processing method, apparatus, device, computer-readable storage medium, and computer program product. The data processing method can be applied to scenarios involving joint computation of transaction data from multiple institutions. The data processing method can be executed by a server and / or processor in a data processing system.
[0055] The following is an introduction to the data processing system provided in the embodiments of the present application.
[0056] The data processing system provided in the embodiments of the present application may include a first participant and at least one second participant. The first participant may be the initiator of a joint computing task. One or more second participants may be recipients and collaborators of the joint computing task. The one or more second participants may or may not perform joint computing, which is not limited herein.
[0057] Specifically, the first participant may include a first data platform and a first privacy computing platform. The first data platform may be used to store a first data set. The first data set may include first object identifiers corresponding to multiple first monitored objects and first transaction data corresponding to each first object identifier. The first monitored objects may include merchants and users. Furthermore, the first privacy computing platform may be used to perform privacy computing based on the first data set.
[0058] Similarly, the second participant may include a second data platform and a second privacy computing platform. The second data platform may be used to store a second data set. The second data set may include second object identifiers corresponding to multiple second monitored objects and second transaction data corresponding to each second object identifier. The second monitored objects may include merchants and users. Furthermore, the second privacy computing platform may be used to perform privacy computing based on the second data set.
[0059] The following introduces the data processing method applied to the first participant provided in the embodiment of the present application.
[0060] Figure 1 The flowchart of a data processing method applied to a first participant provided by an embodiment of the present application is shown. The data processing method can be executed by a server and / or processor in the first privacy computing platform. Figure 1 As shown, the data processing method provided in the embodiment of the present application includes the following steps:
[0061] S110: Obtain a joint identification set, where the joint identification set is a union of a first identification set of the first participant and a second identification set of the second participant, the first identification set including a plurality of first object identifications of first objects to be monitored, the second identification set including a plurality of second object identifications of second objects to be monitored, and the joint identification set including a plurality of joint object identifications;
[0062] S120. Encrypt the first transaction data corresponding to each joint object identifier using a homomorphic encryption key to obtain a first transaction data ciphertext, where the first transaction data is transaction data of the first participant;
[0063] S130. Send the joint identification set and its corresponding first transaction data ciphertext to the second party;
[0064] S140: Receive first joint data ciphertext sent by the second participant, where the first joint data ciphertext is obtained by encrypting joint transaction data using a random number, the joint transaction data is data determined for each joint object identifier based on the first transaction data ciphertext and the second transaction data, and the second transaction data is transaction data of the second participant;
[0065] S150: Perform joint calculation based on the first joint data ciphertext to obtain a first joint calculation result.
[0066] In the embodiment of the present application, since the joint identification set is the union of the first identification set of the first participant and the second identification set of the second participant, by obtaining the joint identification set and performing joint calculation based on the transaction data corresponding to the joint identification set, the comprehensiveness of the joint calculation data can be guaranteed, thereby ensuring the accuracy of the joint calculation result. In addition, the joint transaction data is the data determined by the second participant for each joint object identifier based on the first transaction data ciphertext and the second transaction data. Therefore, by sending the joint identification set to the second participant and encrypting the first transaction data corresponding to each joint object identifier using the homomorphic encryption key to obtain the first transaction data ciphertext, receiving the first joint data ciphertext sent by the second participant by encrypting the joint transaction data using a random number, and performing joint calculation based on the first joint data ciphertext, that is, in the joint calculation process, the joint calculation process is optimized by holding the key by one party and the random number by the other participants, which can reduce the risk of data leakage, improve the data security of each participant, and enhance the mutual trust between the parties. In this way, through the embodiment of the present application, both the security of the transaction data and the accuracy of the joint calculation result can be guaranteed.
[0067] The specific implementation methods of the above steps are introduced below.
[0068] In some embodiments, in S110, the first object to be monitored may be an object to be monitored for risk. The first object to be monitored may be a merchant or a user. The first object identifier may be used to uniquely identify the first object to be monitored. The first object identifier may include an ID number and / or a mobile phone number. Since both the ID number and the mobile phone number are sensitive information, in order to comply with strict data protection regulations and privacy policies, the ID number and / or the mobile phone number may be encrypted to obtain a first object identifier displayed in ciphertext information to ensure data security and user privacy. The first identifier set may be recorded as, for example: X = {IDx1, IDx2, IDx3, ..., IDxm}. Among them, IDx1, IDx2, IDx3, ..., IDxm may represent m first object identifiers.
[0069] The second object to be monitored may be an object to be monitored for risk. The second object to be monitored may be a merchant or a user. The second object identifier may be used to uniquely identify the second object to be monitored. The second object identifier may include an ID number and / or a mobile phone number. Since both the ID number and the mobile phone number are sensitive information, in order to comply with strict data protection regulations and privacy policies, the ID number and / or the mobile phone number may be encrypted to obtain a second object identifier displayed in ciphertext information to ensure data security and user privacy. The second identifier set may be recorded as, for example: Y = {IDy1, IDy2, IDy3, ..., IDyn}. Among them, IDy1, IDy2, IDy3, ..., IDyn may represent n second object identifiers.
[0070] As an example, a joint identification set can be obtained by taking the union of the first identification set and the second identification set. The joint identification set can be denoted as X∪Y. The object identification in the joint identification set can be denoted as a joint object identification.
[0071] Based on this, in order to ensure both data transmission security and the first party can obtain the joint identifier set, in some embodiments, the above S110 may specifically include:
[0072] Obtaining a first identification set of the first party;
[0073] receiving a target identification ciphertext set sent by a second participant, the target identification ciphertext set including a plurality of target object identification ciphertexts, the target object identification ciphertexts being obtained by encrypting the target object identification based on a one-way encryption algorithm, the target object identification being an object identification in the second identification set and not in the first identification set, determined based on a stealth query algorithm;
[0074] Based on the anonymous query algorithm, searching for a target identification set corresponding to a target identification ciphertext set in a data subset set, wherein the data subset set includes a plurality of target object identification ciphertexts and their one-to-one corresponding target object identifications, and the target identification set includes a target object identification corresponding one-to-one to each target object identification ciphertext;
[0075] The joint identifier set is determined according to the union of the first identifier set and the target identifier set.
[0076] During the data preparation phase, each participant can prepare the data set required for the joint calculation. The data set can include at least the object identifier (i.e., key) of the object to be monitored and the transaction data (i.e., value) corresponding to the object identifier. The data set of the first participant can be recorded as the first data set. The first data set can include a set of first identifiers and the first transaction data corresponding to each first object identifier. The first transaction data can include, for example, the merchant settlement transaction amount, the merchant acquisition transaction amount, and the merchant settlement amount to the registered account. A data item in the first data set can be recorded as [IDx1, u1, v1, ...]. Where IDx1 can represent the first object identifier, and u1, v1, ... can represent the first transaction data. In addition, the data set of the second participant can be recorded as the second data set. The second data set can include a set of second identifiers and the second transaction data corresponding to each second object identifier. A data item in the second data set can be recorded as [IDy1, u1, v1, ...]. Where IDy1 can represent the second object identifier, and u1, v1, ... can represent the second transaction data.
[0077] As an example, a first participant can obtain a first dataset from a first data platform via a first privacy-preserving computing platform and determine a first set of identifiers in the first dataset. Similarly, a second participant can obtain a second dataset from a second data platform via a second privacy-preserving computing platform and determine a second set of identifiers in the second dataset.
[0078] After obtaining the second set of identifiers through the second privacy-preserving computing platform, the second party can initiate a first anonymous query task. The first anonymous query task can be used to batch query whether a particular party's object identifier is in another party's dataset. If the second party initiates the first anonymous query task to the first party, the query data column can be the second object identifier column, and the return value can be whether the second object identifier is in the first dataset. By executing the first anonymous query task, the second privacy-preserving computing platform can determine which second object identifiers in the second set of identifiers are not in the first set of identifiers, specifically, target object identifiers in the second set of identifiers that are different from the first object identifiers. In other words, the target object identifier can be an object identifier in the second set of identifiers that is not in the first set of identifiers. Specifically, the second privacy-preserving computing platform can execute the first anonymous query task based on an anonymous query algorithm. For example, the anonymous query algorithm can be the FATE SIR algorithm. FATE represents the open source privacy-preserving computing project, and SIR is an algorithm for batch anonymous queries provided within the open source project. Because the second privacy-preserving computing platform uses an anonymous query method to query target object identifiers, the first party cannot know which object identifiers the first party has queried, thus ensuring data security.
[0079] After determining multiple target object identifiers, the second party can determine a target identifier set based on the multiple target object identifiers. To ensure data security, the second party typically does not send the target identifier set directly to the first party. Instead, the second party encrypts each target object identifier in the target identifier set using a one-way encryption algorithm to obtain a target identifier ciphertext set, which is then sent to the first party. The target identifier ciphertext set may include target object identifier ciphertexts corresponding to the multiple target object identifiers. The one-way encryption algorithm may include a hash algorithm.
[0080] As an example, the second party can perform a hash operation on the target object identifier using the SM3 algorithm or other encryption algorithm to obtain a hash value (i.e., the target object identifier ciphertext). Based on the multiple target object identifier ciphertexts, the second party can then determine a target identifier ciphertext set. The second party can then send the target identifier ciphertext set to the first party.
[0081] It should be noted that since the target object identification ciphertext is calculated once, if the second participant sends a target identification ciphertext set to the first participant, the first participant cannot know the target object identification corresponding to the target object identification ciphertext.
[0082] Therefore, to ensure that the first participant can obtain a target identification set including multiple target object identifications, on the one hand, after determining multiple target object identification ciphertexts, the second participant can determine a data subset set based on the multiple target object identification ciphertexts and their one-to-one corresponding target object identifications. That is, the data subset set can include multiple target object identification ciphertexts and target object identifications corresponding to the multiple target object identification ciphertexts. On the other hand, after receiving the target identification ciphertext set, the second participant can initiate a second anonymous query task to the first participant. The second anonymous query task can use the target object identification ciphertext as a query condition to batch obtain the target object identifications in the data subset set. Specifically, the second participant can query the data subset set for the target identification set corresponding to the target identification ciphertext set based on the correspondence between the target object identification ciphertexts and the target object identifications stored in the data subset based on a anonymous query algorithm (such as the FATE SIR algorithm).
[0083] Since the target identification set includes multiple target object identifications that exist in the second identification set but do not exist in the first identification set, the full object identification set corresponding to the first participant and the second participant, that is, the joint identification set, can be obtained by performing a union calculation on the first identification set and the target identification set.
[0084] The embodiment of the present application can ensure data transmission security by receiving the target identification ciphertext set sent by the second participant instead of the target identification set. Since the target object identification ciphertext is calculated once, if the second participant sends the target identification ciphertext set to the first participant, the first participant cannot know the target object identification corresponding to the target object identification ciphertext. Therefore, by querying the target identification set corresponding to the target identification ciphertext set in the data subset set based on the anonymous query algorithm, it can be ensured that the first participant can obtain the target identification set including multiple target object identifications, and further ensure that the first participant can obtain the full object identification set corresponding to the first and second participants, that is, the joint identification set.
[0085] Based on this, in order to further improve the security of transaction data during the joint computing process, in some embodiments, obtaining the first identification set of the first participant may specifically include:
[0086] Acquire a third identification set from the first participant, where the third identification set includes multiple real object identifications of the first objects to be monitored;
[0087] generating a first noise identification set corresponding to the third identification set, where the first noise identification set includes a plurality of first noise identifications;
[0088] The first identifier set is determined according to the third identifier set and the first noise identifier set.
[0089] Here, the third identification set may be an identification set actually stored in the first data platform. The actual object identification of the first monitored object in the third identification set may be recorded as the third object identification. In addition, the first noise identification set may be a noise identification set generated based on the third identification set.
[0090] As an example, the dataset stored in the first data platform of the first participant can be recorded as the third dataset. The third dataset can include a third identifier set and third transaction data corresponding to each third object identifier. Specifically, the first participant can obtain the third dataset from the first data platform through the first privacy computing platform and determine the third identifier set in the third dataset.
[0091] After obtaining the third dataset, the first party may randomly generate a first obfuscated dataset corresponding to the third dataset in a ratio of 1:N. N may be a positive integer greater than or equal to 1. In other words, the first party may generate one or more obfuscated data corresponding to each piece of data in the third dataset.
[0092] As an example, the first participant may randomly generate a first noise identifier corresponding to each third object identifier in the third identifier set in a ratio of 1:N. N may be a positive integer greater than or equal to 1. That is, the first participant may generate one or more first noise identifiers corresponding to each third object identifier. The first noise identifier is different from the multiple third object identifiers. In addition, the first noise transaction data corresponding to the first noise identifier may be set to 0 or other meaningless values, as long as it does not affect subsequent calculations. In addition, in order to avoid the first noise transaction data from hitting the normal data sets of other participants, the data features of the normal data sets may be identified in advance based on the business scenarios of other participants, and the data generation rules for the first noise transaction data may be set based on the data features of the normal data sets of other participants, and then the first noise transaction data may be generated based on the above data generation rules.
[0093] As a more specific example, the first noise identifier set can be recorded as S = {IDs1, IDs2, IDs3, ..., IDsp}, where IDs1, IDs2, IDs3, ..., IDsp can represent the first noise identifier. If the third identifier set is recorded as A, then X = A∪S.
[0094] Additionally, the obfuscated data may include an obfuscation identifier to mark a piece of data in the mixed dataset as obfuscated data. For example, a piece of obfuscated data in the first obfuscated dataset may be represented as [IDs1, u1, v1, ..., flag1]. IDs1 may represent the first noise identifier, u1, v1, ..., may represent the first noise transaction data, and flag1 may be used to mark a piece of data in the mixed dataset as obfuscated data. Furthermore, the obfuscated data in the first dataset may also include [IDx1 + IDs1, u1, v1, ..., flag1].
[0095] The embodiment of the present application determines the first identification set based on the third identification set and the first noise identification set, so that both the obfuscated data and the normal data are desensitized and encrypted in a consistent manner in the subsequent joint calculation process. Therefore, only the object identification column data is indistinguishable, thereby protecting the real object identifications of multiple first monitored objects in the third identification set and their corresponding first transaction data, further improving the security of the transaction data in the joint calculation process.
[0096] Based on this, in order to improve the similarity between the first noise identifier and the third object identifier and further improve the security of transaction data during the joint calculation process, in some embodiments, generating the first noise identifier set corresponding to the third identifier set may specifically include:
[0097] Based on the identification features of the real object identifications in the third identification set, a first noise identification set corresponding to the third identification set is generated, and the first noise identifications in the first noise identification set have the same identification features as the real object identifications in the third identification set.
[0098] Here, the identification feature may include an identification type, an identification length, etc. For example, if the third object identification is a mobile phone number, the identification feature of the third object identification may include a numeric type and a length of 11.
[0099] The embodiment of the present application generates a first noise identification set corresponding to the third identification set based on the identification features of the real object identification in the third identification set, thereby ensuring that the first noise identification in the first noise identification set and the real object identification in the third identification set have the same identification features, thereby improving the similarity between the first noise identification and the third object identification, and further improving the security of transaction data in the joint calculation process.
[0100] In some embodiments, in S120, after obtaining the joint identification set, the first participant can initiate a joint computing task. Specifically, for each joint object identifier in the joint identification set, the first participant can generate a homomorphic encryption key through the first privacy computing platform, and use the homomorphic encryption key to encrypt the first transaction data held by the first participant to obtain the first transaction data ciphertext. For example, if the first transaction data corresponding to a joint object identifier is recorded as [ID, u1, v1], the first transaction data ciphertext corresponding to the joint object identifier can be [ID, enc(u1), enc(v1)].
[0101] It should be noted that, assuming all other conditions remain unchanged, the calculation result based on the first transaction data is the same as the calculation result based on the ciphertext of the first transaction data. Therefore, homomorphic encryption of the first transaction data does not affect subsequent calculation results while ensuring data security.
[0102] In some embodiments, at S130, the first party may batch-send multiple joint object identifiers and the first transaction data ciphertext corresponding to each joint object identifier to the second party. This can provide the second party with the first transaction data for joint computation. Furthermore, it can trigger the second party to return its own second transaction data, enabling the first party to perform joint computation based on the second transaction data.
[0103] In some embodiments, in S140, to prevent the second party's data from being reversely deduced by other parties, after receiving the first transaction data ciphertext, the second party may generate a random number r, determine the joint transaction data based on the first transaction data ciphertext and the second transaction data, and then encrypt the joint transaction data using the random number r to obtain the first joint data ciphertext. For example, if the first transaction data ciphertext corresponding to a joint object identifier is recorded as [ID, enc(u1), enc(v1)], and the second transaction data ciphertext corresponding to the joint object identifier is recorded as [ID, u2, v2], then the joint transaction data corresponding to the joint object identifier may include u=u2+enc(u1), v=v2+enc(v1), and the first joint data ciphertext may include u'=r*u2+r*enc(u1), v'=r*v2+r*enc(v1).
[0104] After generating the first joint data ciphertext, the second participant may send the first joint data ciphertext to the second participant.
[0105] In the embodiment of the present application, the second party encrypts the joint transaction data using a random number to obtain a first joint data ciphertext, and sends the first joint data ciphertext to the first party, thereby preventing the data of the second party from being reversely deduced by the first party and ensuring data security.
[0106] Based on this, in order to improve the security of the first joint data ciphertext during the data transmission process, in some embodiments, the above S140 may specifically include:
[0107] receiving a second joint data ciphertext sent by the second participant, where the second joint data ciphertext is obtained by encrypting the first joint data ciphertext using the homomorphic encryption key;
[0108] The second joint data ciphertext is decrypted using the homomorphic encryption key to obtain the first joint data ciphertext.
[0109] Here, after generating the first joint data ciphertext, the second party can also encrypt the first joint data ciphertext using the homomorphic encryption key to obtain the second joint data ciphertext, and send the second joint data ciphertext to the first party. After receiving the second joint data ciphertext, the second party can decrypt the second joint data ciphertext using the homomorphic encryption key to obtain the first joint data ciphertext.
[0110] In an embodiment of the present application, after the second party generates the first joint data ciphertext, the first joint data ciphertext is encrypting the first joint data ciphertext with a homomorphic encryption key to obtain the second joint data ciphertext, and the second joint data ciphertext is sent to the first party, thereby improving the security of the first joint data ciphertext during the data transmission process.
[0111] In some embodiments, in S150, after determining the first joint data ciphertext, the second participant may perform a joint calculation on the first joint data ciphertext based on the joint calculation formula corresponding to the joint calculation task to obtain a first joint calculation result. The first joint calculation result may be a specific numerical value or a comparison result of the numerical value with a first preset range, which is not limited here. The first preset range may be a preset numerical range set in advance for risk monitoring of the first monitored object or the joint monitored objects. The first preset range may be, for example, recorded as (p, q).
[0112] As an example, the joint calculation formula may include a division calculation formula. The division calculation formula may be used to offset the random number. The joint calculation formula may be as follows:
[0113]
[0114] By substituting u'=r*u2+r*enc(u1) and v'=r*v2+r*enc(v1) into the above joint calculation formula, the random number r can be offset, thereby calculating the first joint calculation result. After obtaining the first joint calculation result, the first joint calculation result is compared with the first preset range to obtain a comparison result, and abnormal data screening is performed based on the comparison result, and risk monitoring is performed based on the screening result of the abnormal data. For example, if the first joint calculation result is k, if k is between p and q, it can be determined that k is abnormal data, and then it is determined that the monitored object corresponding to k is at risk.
[0115] Based on this, in order to improve the risk monitoring efficiency of the monitored object, in some embodiments, the above S150 may specifically include:
[0116] Performing a joint calculation based on the first joint data ciphertext to obtain a fifth joint calculation result;
[0117] The first joint calculation results that meet the first preset range are screened from the fifth joint calculation results.
[0118] Here, the joint calculation formula can be, for example, as follows:
[0119]
[0120] By substituting u'=r*u2+r*enc(u1) and v'=r*v2+r*enc(v1) into the above joint calculation formula, the random number r can be offset first, and the fifth joint calculation result can be calculated. Then, the fifth joint calculation result can be compared with the size relationship between p and q to obtain a comparison result, and abnormal data can be screened based on the comparison result, and risk monitoring can be performed based on the screening results of abnormal data.
[0121] The embodiment of the present application can improve the efficiency of determining the comparison result by directly outputting the comparison result based on the joint calculation formula, thereby improving the risk monitoring efficiency of the monitored object.
[0122] Furthermore, as can be seen from the above description, the first identifier set can be the union of the third identifier set and the first noise identifier set. Similarly, based on the above-described method for determining the first noise identifier set and determining whether the first identifier set is identical or similar, the second party can determine a second noise identifier set and a second identifier set that includes the second noise identifier set. Therefore, the first joint calculation result can include the joint calculation result corresponding to the first noise identifier and the second noise identifier. Furthermore, the second noise identifier is a noise identifier in the second noise identifier set.
[0123] Based on this, after the above S150, the following steps may also be included:
[0124] The joint calculation results corresponding to the first noise identifier and the second noise identifier are deleted from the first joint calculation result to obtain a third joint calculation result.
[0125] As described above, the obfuscated data can include an obfuscation flag to mark a particular piece of data in the mixed data set as obfuscated data. Therefore, the third joint calculation result can be obtained by filtering the first joint calculation result using the Flag column of the obfuscated data. Specifically, the obfuscation flag in the obfuscated data can be used to identify the first noise flag and the second noise flag. The joint calculation results corresponding to the first and second noise flags in the first joint calculation result can then be deleted to obtain a third joint calculation result, and risk monitoring can be performed based on the third joint calculation result.
[0126] In the embodiment of the present application, the accuracy of risk monitoring can be ensured by deleting the joint calculation results corresponding to the first noise identifier and the second noise identifier in the first joint calculation result to obtain a third joint calculation result, and performing risk monitoring based on the third joint calculation result.
[0127] The following introduces the data processing method applied to the second participant provided in the embodiment of the present application.
[0128] Figure 2 The flowchart of a data processing method applied to the second participant provided by an embodiment of the present application is shown. The data processing method can be executed by the server and / or processor in the second privacy computing platform. Figure 2 As shown, the data processing method provided in the embodiment of the present application includes steps S210-S240.
[0129] S210. Receive a joint identification set and its corresponding first transaction data ciphertext sent by the first participant, where the joint identification set is the union of the first identification set in the first participant and the second identification set in the second participant, the first identification set includes multiple first object identifications of first objects to be monitored, the second identification set includes multiple second object identifications of second objects to be monitored, and the joint identification set includes multiple joint object identifications; the first transaction data ciphertext is obtained by encrypting the first transaction data corresponding to the joint object identification using a homomorphic encryption key, and the first transaction data is the transaction data in the first participant.
[0130] Based on this, in order to ensure both data transmission security and the first party can obtain a target identifier set including multiple target object identifiers, in some embodiments, before the above S210, the following steps may also be included:
[0131] Obtaining a second identification set of the second party;
[0132] Based on the anonymous query algorithm, determining the target object identifier that is different from the first object identifier in the second identifier set to obtain a target identifier set;
[0133] Based on a one-way encryption algorithm, each target object identifier in the target identifier set is encrypted to obtain a target identifier ciphertext set, wherein the target identifier ciphertext set includes target object identifier ciphertexts corresponding to the multiple target object identifiers one by one;
[0134] The target identification ciphertext set is sent to the first participant, and a data subset set is determined based on multiple target object identification ciphertexts and their one-to-one corresponding target object identifications, so that the first participant determines the target identification set based on the target identification ciphertext set and the data subset set.
[0135] During the data preparation phase, each participant can prepare the data set required for the joint calculation. The data set can include at least the object identifier (i.e., key) of the object to be monitored and the transaction data (i.e., value) corresponding to the object identifier. The data set in the second participant can be recorded as the second data set, and the second data set can include a second identifier set and second transaction data corresponding to each second object identifier. The second transaction data can, for example, include the merchant settlement transaction amount, the merchant acquisition transaction amount, the merchant settlement amount to the registered account, etc. A piece of data in the second data set can, for example, be recorded as [IDy1, u1, v1,...]. Among them, IDy1 can represent the second object identifier, and u1, v1,... can represent the second transaction data.
[0136] After obtaining the second set of identifiers through the second privacy-preserving computing platform, the second participant can initiate a first anonymous query task. The first anonymous query task can be used to batch query whether a participant's object identifier is in another participant's data set. If the second participant initiates the first anonymous query task to the first participant, the query data column can be the second object identifier column, and the return value can be whether the second object identifier is in the first data set. By executing the first anonymous query task, the second privacy-preserving computing platform can determine which second object identifiers in the second set of identifiers are not in the first set of identifiers, that is, determine target object identifiers in the second set of identifiers that are different from the first object identifiers. In other words, the target object identifier can be an object identifier in the second set of identifiers that is not in the first set of identifiers. Specifically, the second privacy-preserving computing platform can execute the first anonymous query task based on an anonymous query algorithm. The anonymous query algorithm can, for example, be the FATE SIR algorithm. Because the second privacy-preserving computing platform uses an anonymous query method to query target object identifiers, the first participant cannot know which object identifiers the first participant has queried, thus ensuring data security.
[0137] After determining multiple target object identifiers, the second party can determine a target identifier set based on the multiple target object identifiers. To ensure data security, the second party typically does not send the target identifier set directly to the first party. Instead, the second party encrypts each target object identifier in the target identifier set using a one-way encryption algorithm to obtain a target identifier ciphertext set, which is then sent to the first party. The target identifier ciphertext set may include target object identifier ciphertexts corresponding to the multiple target object identifiers. The one-way encryption algorithm may include a hash algorithm.
[0138] As an example, the second party can perform a hash operation on the target object identifier using the SM3 algorithm or other encryption algorithm to obtain a hash value (i.e., the target object identifier ciphertext). Based on the multiple target object identifier ciphertexts, the second party can then determine a target identifier ciphertext set. The second party can then send the target identifier ciphertext set to the first party.
[0139] In addition, after determining the multiple target object identification ciphertexts, the second participant may also determine a data subset set based on the multiple target object identification ciphertexts and their corresponding target object identifications. In other words, the data subset set may include the multiple target object identification ciphertexts and the target object identifications that correspond to the multiple target object identification ciphertexts.
[0140] The embodiment of the present application sends a target identification ciphertext set to the first participant, and determines a data subset set based on multiple target object identification ciphertexts and their one-to-one corresponding target object identifications, so that the first participant can determine the target identification set based on the target identification ciphertext set and the data subset set, which can not only ensure the security of data transmission, but also ensure that the first participant can obtain the target identification set including multiple target object identifications.
[0141] Based on this, in order to further improve the security of transaction data during the joint computing process, in some embodiments, obtaining the second identification set of the second participant may specifically include:
[0142] Acquire a fourth identification set from the second participant, where the fourth identification set includes multiple real object identifications of second objects to be monitored;
[0143] generating a second noise identification set corresponding to the fourth identification set, where the second noise identification set includes a plurality of second noise identifications;
[0144] The second identification set is determined according to the fourth identification set and the second noise identification set.
[0145] Here, the fourth identification set may be an identification set actually stored in the second data platform. The real object identification of the second monitored object in the fourth identification set may be recorded as the fourth object identification. In addition, the second noise identification set may be a noise identification set generated based on the fourth identification set.
[0146] As an example, the dataset stored in the second data platform of the second party can be recorded as the fourth dataset. The fourth dataset can include a fourth identifier set and fourth transaction data corresponding to each fourth object identifier. Specifically, the second party can obtain the fourth dataset from the second data platform via the second privacy computing platform and determine the fourth identifier set in the fourth dataset.
[0147] After obtaining the fourth data set, the second party may randomly generate a second obfuscated data set corresponding to the fourth data set in a ratio of 1:N. N may be a positive integer greater than or equal to 1. In other words, the second party may generate one or more obfuscated data corresponding to each piece of data in the fourth data set.
[0148] As an example, the second participant may randomly generate a second noise identifier corresponding to each fourth object identifier in the fourth identifier set in a ratio of 1:N. N may be a positive integer greater than or equal to 1. That is, the second participant may generate one or more second noise identifiers corresponding to each fourth object identifier. The second noise identifier is different from the multiple fourth object identifiers. In addition, the second noise transaction data corresponding to the second noise identifier may be set to 0 or other meaningless values, as long as it does not affect subsequent calculations. In addition, in order to prevent the second noise transaction data from hitting the normal data sets of other participants, the data features of the normal data sets of other participants may be identified in advance based on the business scenarios of other participants, and the data generation rules for the second noise transaction data may be set based on the data features of the normal data sets of other participants, and then the second noise transaction data may be generated based on the above data generation rules.
[0149] As a more specific example, the second noise identifier set can be recorded as T = {IDt1, IDt2, IDt3, ..., IDtp}, where IDt1, IDt2, IDt3, ..., IDtp can represent the second noise identifier. If the fourth identifier set is recorded as B, then Y = B∪T.
[0150] Additionally, the obfuscated data may include an obfuscation flag to mark a piece of data in the mixed dataset as obfuscated data. For example, a piece of obfuscated data in the second obfuscated dataset may be represented by [IDt1, u2, v2, ..., flag2]. IDt1 may represent the second noise flag, u2, v2, ..., may represent the second noise transaction data, and flag2 may be used to mark a piece of data in the mixed dataset as obfuscated data. Furthermore, the obfuscated data in the second dataset may also include [IDy1 + IDt1, u2, v2, ..., flag2].
[0151] The embodiment of the present application determines the second identification set based on the fourth identification set and the second noise identification set, so that both the obfuscated data and the normal data are desensitized and encrypted in a consistent manner in the subsequent joint calculation process. Therefore, only the object identification column data is indistinguishable, thereby protecting the real object identifications of multiple second monitored objects in the fourth identification set and their corresponding second transaction data, further improving the security of the transaction data in the joint calculation process.
[0152] Based on this, in order to increase the similarity between the second noise identifier and the fourth object identifier and further improve the security of transaction data during the joint calculation process, in some embodiments, generating the second noise identifier corresponding to the fourth identifier set may specifically include:
[0153] Based on the identification features of the real object identifications in the fourth identification set, a second noise identification set corresponding to the fourth identification set is generated, and the second noise identifications in the second noise identification set have the same identification features as the real object identifications in the fourth identification set.
[0154] Here, the identification feature may include an identification type, an identification length, etc. For example, if the fourth object identification is a mobile phone number, the identification feature of the fourth object identification may include a numeric type and a length of 11.
[0155] The embodiment of the present application generates a second noise identification set corresponding to the fourth identification set based on the identification features of the real object identification in the fourth identification set, thereby ensuring that the second noise identification in the second noise identification set and the real object identification in the fourth identification set have the same identification features, thereby increasing the similarity between the second noise identification and the fourth object identification, and further improving the security of transaction data in the joint calculation process.
[0156] S220. For each joint object identifier, determine joint transaction data based on the first transaction data ciphertext and the second transaction data, where the second transaction data is the transaction data of the second participant.
[0157] S230: Encrypt the joint transaction data using a random number to obtain a first joint data ciphertext.
[0158] S240. Send the first joint data ciphertext to the first participant, so that the first participant performs a joint calculation based on the first joint ciphertext to obtain a first joint calculation result.
[0159] Based on this, in order to improve the security of the first joint data ciphertext during the data transmission process, in some embodiments, before the above S240, the method may further include:
[0160] The first joint data ciphertext is encrypted using the homomorphic encryption key to obtain a second joint data ciphertext.
[0161] Based on this, the above S240 may specifically include:
[0162] The second joint data ciphertext is sent to the first participant, so that the first participant performs a joint calculation based on the second joint ciphertext to obtain a first joint calculation result.
[0163] Here, after generating the first joint data ciphertext, the second party can also encrypt the first joint data ciphertext using the homomorphic encryption key to obtain the second joint data ciphertext, and send the second joint data ciphertext to the first party. After receiving the second joint data ciphertext, the second party can decrypt the second joint data ciphertext using the homomorphic encryption key to obtain the first joint data ciphertext.
[0164] In an embodiment of the present application, after the second party generates the first joint data ciphertext, the first joint data ciphertext is encrypting the first joint data ciphertext with a homomorphic encryption key to obtain the second joint data ciphertext, and the second joint data ciphertext is sent to the first party, thereby improving the security of the first joint data ciphertext during the data transmission process.
[0165] In addition, other steps of the method in the embodiment of the present application can be found in the above Figure 1 The description of the embodiments shown will not be repeated here.
[0166] In an embodiment of the present application, since the joint identifier set is the union of the first identifier set of the first participant and the second identifier set of the second participant, by obtaining the joint identifier set and performing a joint calculation based on the transaction data corresponding to the joint identifier set, the comprehensiveness of the joint calculation data can be guaranteed, thereby ensuring the accuracy of the joint calculation result. In addition, the joint transaction data is the data determined by the second participant for each joint object identifier based on the first transaction data ciphertext and the second transaction data. Therefore, by receiving the joint identifier set and its corresponding first transaction data ciphertext sent by the first participant, determining the joint transaction data for each joint object identifier based on the first transaction data ciphertext and the second transaction data, encrypting the joint transaction data using a random number to obtain the first joint data ciphertext, and sending the first joint data ciphertext to the first participant so that the first participant performs a joint calculation based on the first joint ciphertext to obtain the first joint calculation result, that is, during the joint calculation process, by optimizing the joint calculation process by having one party hold a key and the other parties hold random numbers, the risk of data leakage can be reduced, the data security of each participant can be improved, and the mutual trust between the parties can be enhanced. In this way, through the embodiment of the present application, both the security of the transaction data and the accuracy of the joint calculation result can be guaranteed.
[0167] In the above embodiment, the second participant can act as a collaborator of the first participant and provide transaction data to the first participant. In addition, the second participant itself can also perform joint calculations to implement risk monitoring of the second monitoring object or the joint monitoring object.
[0168] Based on this, in order to implement risk monitoring for the second monitoring object or the joint monitoring object, in some embodiments, after the above S220, the method may further include:
[0169] A joint calculation is performed based on the joint transaction data to obtain a second joint calculation result.
[0170] The joint calculation based on the joint transaction data may specifically be performed on the joint transaction data using a joint calculation formula corresponding to the joint calculation task. The joint calculation formula used to calculate the second joint calculation result may be the same as or different from the joint calculation formula used to calculate the first joint calculation result, and is not limited here.
[0171] In addition, the second combined calculation result can be a specific numerical value or a comparison result of the numerical value with a second preset range, which is not limited here. The second preset range can be a preset numerical range pre-set for risk monitoring of the second monitored object or the combined monitored objects. The first preset range can be recorded as (p', q'), for example.
[0172] As described above, if the first transaction data ciphertext corresponding to a joint object identifier is recorded as [ID, enc(u1), enc(v1)], and the second transaction data ciphertext corresponding to the joint object identifier is recorded as [ID, u2, v2], then the joint transaction data corresponding to the joint object identifier may include u = u2 + enc(u1), v = v2 + enc(v1). In this way, by substituting u = u2 + enc(u1), v = v2 + enc(v1) into the joint calculation formula, the second joint calculation result can be obtained. After obtaining the second joint calculation result, the second joint calculation result is compared with the second preset range to obtain a comparison result, and abnormal data screening is performed based on the comparison result, and risk monitoring is performed based on the abnormal data screening result. For example, if the second joint calculation result is k', if k' is between p' and q', it can be determined that k' is abnormal data, and then it is determined that the monitored object corresponding to k' is at risk. Among them, p' and p can be the same or different; q' and q can be the same or different.
[0173] Based on this, in order to improve the risk monitoring efficiency of the monitored object, in some embodiments, the joint calculation based on the joint transaction data is performed to obtain the second joint calculation result, which may specifically include:
[0174] Performing joint calculation based on the joint transaction data to obtain a sixth joint calculation result;
[0175] The second joint calculation results that meet the second preset range are screened from the sixth joint calculation results.
[0176] Here, the joint calculation formula can be, for example, as follows:
[0177]
[0178] By substituting u=u2+enc(u1) and v=v2+enc(v1) into the above joint calculation formula, the sixth joint calculation result can be calculated, and the size relationship between the sixth joint calculation result and p' and q' can be compared to obtain a comparison result, and abnormal data screening can be performed based on the comparison result, and risk monitoring can be performed based on the screening result of abnormal data.
[0179] The embodiment of the present application can improve the efficiency of determining the comparison result by directly outputting the comparison result based on the joint calculation formula, thereby improving the risk monitoring efficiency of the monitored object.
[0180] Furthermore, as can be seen from the above description, the second identifier set can be the union of the fourth identifier set and the second noise identifier set, and the first identifier set can be the union of the third identifier set and the first noise identifier set. Therefore, the second joint calculation result can include the joint calculation results corresponding to the first noise identifier and the second noise identifier.
[0181] Based on this, after obtaining the second joint calculation result, the following steps may also be performed:
[0182] The joint calculation results corresponding to the first noise identifier and the second noise identifier are deleted from the second joint calculation result to obtain a fourth joint calculation result.
[0183] As described above, the obfuscated data can include an obfuscation flag to mark a particular piece of data in the mixed data set as obfuscated data. Therefore, the fourth joint calculation result can be obtained by filtering the second joint calculation result using the Flag column of the obfuscated data. Specifically, the first and second noise flags can be identified using the obfuscation flags in the obfuscated data. The joint calculation results corresponding to the first and second noise flags can then be deleted from the second joint calculation result to obtain a fourth joint calculation result, and risk monitoring can be performed based on the fourth joint calculation result.
[0184] In the embodiment of the present application, the accuracy of risk monitoring can be ensured by deleting the joint calculation results corresponding to the first noise identifier and the second noise identifier in the second joint calculation result to obtain a fourth joint calculation result, and performing risk monitoring based on the fourth joint calculation result.
[0185] Based on the above embodiments, it can be seen that the embodiments of the present application propose a method for calculating the union of ID (i.e., identification of the object to be monitored) data of two or more parties, combining the anonymous query algorithm and data obfuscation in privacy computing to calculate the union of the data ID sets of two or more parties. At the same time, joint calculation is performed based on the union of data IDs. In the joint calculation, the task initiator holds the homomorphic encryption key, and the other participants hold random numbers to randomize the data. A division calculation is constructed to offset the random number to realize the calculation of the joint calculation rule; finally, the final calculation result is obtained by removing the obfuscated ID.
[0186] The joint data operation between two or more parties usually involves the following key steps:
[0187] (1) Dataset preparation: Each participant prepares its own data set, including the ID of the object to be monitored and transaction data. The transaction data may include statistical data obtained through statistical analysis of the transaction data.
[0188] (2) ID alignment: Without directly exchanging original data, two or more parties need to align their different ID sets and find the intersection or union of the IDs in the sets in order to perform data integration or analysis;
[0189] (3) Joint operation: two or more parties perform predetermined computational tasks based on their respective data sets, such as sum, average, maximum, minimum, etc.
[0190] (4) Operation results: The results of the joint operation can be used for further data analysis, decision support or business process optimization.
[0191] This application mainly focuses on the two stages of ID alignment and joint operation. By using privacy computing, each participant calculates the union of their respective sets based on the principle of "minimum necessary" without disclosing other elements in their respective sets, and performs joint operations on the basis of the union to calculate the final statistical results.
[0192] In order to better describe the entire solution, some specific examples are given based on the above embodiments.
[0193] Taking the joint calculation of two parties as an example, the flowchart of a joint calculation based on ID union provided in the embodiment of the present application can be as follows: Figure 3 shown.
[0194] To describe the entire solution in more detail, the flowchart of a joint calculation based on ID union provided in the embodiment of the present application can be as follows: Figure 4 shown.
[0195] The embodiment of the present application realizes the union operation based on privacy computing, which can improve the efficiency of calculation in the joint operation of multi-party data sharing. Compared with the operation method of secure intersection of privacy computing, the operation based on ID union can obtain the required statistical or analysis results through a single task operation based on the privacy computing platform of each party, thereby avoiding multiple rounds of data exchange and manual operation steps, avoiding the manual processing of non-intersection data and complex calculation logic in multi-party data calculation, improving the efficiency of calculation in business cooperation, and meeting the needs of actual business. In addition, in the joint calculation process, the calculation process is optimized by holding a key by one party and a random number by other participants, which can reduce the risk of data leakage, improve the data security of the participating parties, and enhance mutual trust among the parties.
[0196] Based on the data processing method applied to the first participant provided in the above embodiment, the present application also provides a specific implementation of a data processing device applied to the first participant. Please refer to the following embodiment.
[0197] like Figure 5 As shown, the data processing device 500 provided in this embodiment of the application includes the following modules:
[0198] A first acquisition module 510 is configured to acquire a joint identification set, where the joint identification set is a union of a first identification set of the first participant and a second identification set of the second participant, wherein the first identification set includes first object identifications of a plurality of first objects to be monitored, the second identification set includes second object identifications of a plurality of second objects to be monitored, and the joint identification set includes a plurality of joint object identifications;
[0199] A first encryption module 520 is configured to encrypt first transaction data corresponding to each joint object identifier using a homomorphic encryption key to obtain first transaction data ciphertext, where the first transaction data is transaction data of the first participant;
[0200] A first sending module 530 is configured to send the joint identification set and its corresponding first transaction data ciphertext to the second party;
[0201] A first receiving module 540 is configured to receive a first joint data ciphertext sent by a second participant. The first joint data ciphertext is obtained by encrypting joint transaction data using a random number. The joint transaction data is data determined for each joint object identifier based on the first transaction data ciphertext and the second transaction data. The second transaction data is the transaction data of the second participant.
[0202] The first calculation module 550 is configured to perform a joint calculation based on the first joint data ciphertext to obtain a first joint calculation result.
[0203] The data processing device 500 is described in detail below.
[0204] In some embodiments, the first acquisition module 510 may specifically include:
[0205] A first acquisition submodule, configured to acquire a first identification set of a first participant;
[0206] a first receiving submodule configured to receive a target identification ciphertext set sent by a second participant, the target identification ciphertext set including a plurality of target object identification ciphertexts, the target object identification ciphertexts being obtained by encrypting the target object identification based on a one-way encryption algorithm, the target object identification being an object identification in the second identification set and not in the first identification set, determined based on a stealth query algorithm;
[0207] a query submodule for searching, based on a stealth query algorithm, a target identifier set corresponding to a target identifier ciphertext set in a data subset set, wherein the data subset set includes a plurality of target object identifier ciphertexts and their one-to-one corresponding target object identifiers, and the target identifier set includes target object identifiers corresponding one-to-one to the plurality of target object identifier ciphertexts;
[0208] The first determining submodule is configured to determine a joint identifier set according to a union of the first identifier set and the target identifier set.
[0209] In some embodiments, the first acquisition submodule may specifically include:
[0210] an acquiring unit, configured to acquire a third identification set from the first participant, the third identification set including a plurality of real object identifications of the first objects to be monitored;
[0211] A first generating unit is configured to generate a first noise identifier set corresponding to the third identifier set, where the first noise identifier set includes a plurality of first noise identifiers;
[0212] The determining unit is configured to determine the first identifier set according to the third identifier set and the first noise identifier set.
[0213] In some embodiments, the first joint calculation result includes a joint calculation result corresponding to a first noise identifier and a second noise identifier, and the second noise identifier is a noise identifier in a second noise identifier set. Based on this, the data processing device 500 may further include:
[0214] The first deletion module is configured to delete the joint calculation results corresponding to the first noise identifier and the second noise identifier in the first joint calculation result after obtaining the first joint calculation result, so as to obtain a third joint calculation result.
[0215] In some embodiments, the first generating unit may specifically include:
[0216] The generating subunit is configured to generate a first noise identification set corresponding to the third identification set based on identification features of the real object identifications in the third identification set, wherein the first noise identifications in the first noise identification set have the same identification features as the real object identifications in the third identification set.
[0217] In some embodiments, the first receiving module 540 may specifically include:
[0218] A second receiving submodule is configured to receive a second joint data ciphertext sent by a second participant, where the second joint data ciphertext is obtained by encrypting the first joint data ciphertext using a homomorphic encryption key;
[0219] The decryption submodule is used to decrypt the second joint data ciphertext using the homomorphic encryption key to obtain the first joint data ciphertext.
[0220] In some embodiments, the first calculation module 550 may specifically include:
[0221] A first calculation submodule, configured to perform a joint calculation based on the first joint data ciphertext to obtain a fifth joint calculation result;
[0222] The first screening submodule is configured to screen the first joint calculation results that meet a first preset range from the fifth joint calculation results.
[0223] In the embodiment of the present application, since the joint identification set is the union of the first identification set of the first participant and the second identification set of the second participant, by obtaining the joint identification set and performing joint calculation based on the transaction data corresponding to the joint identification set, the comprehensiveness of the joint calculation data can be guaranteed, thereby ensuring the accuracy of the joint calculation result. In addition, the joint transaction data is the data determined by the second participant for each joint object identifier based on the first transaction data ciphertext and the second transaction data. Therefore, by sending the joint identification set to the second participant and encrypting the first transaction data corresponding to each joint object identifier using the homomorphic encryption key to obtain the first transaction data ciphertext, receiving the first joint data ciphertext sent by the second participant by encrypting the joint transaction data using a random number, and performing joint calculation based on the first joint data ciphertext, that is, in the joint calculation process, the joint calculation process is optimized by holding the key by one party and the random number by the other participants, which can reduce the risk of data leakage, improve the data security of each participant, and enhance the mutual trust between the parties. In this way, through the embodiment of the present application, both the security of the transaction data and the accuracy of the joint calculation result can be guaranteed.
[0224] Based on the data processing method applied to the second participant provided in the above embodiment, the present application also provides a specific implementation of a data processing device applied to the second participant. Please refer to the following embodiment.
[0225] like Figure 6 As shown, the data processing device 600 provided in this embodiment of the application includes the following modules:
[0226] A second receiving module 610 is configured to receive a joint identification set and its corresponding first transaction data ciphertext sent by a first participant, where the joint identification set is the union of a first identification set of the first participant and a second identification set of the second participant, the first identification set including a plurality of first object identifications of first objects to be monitored, the second identification set including a plurality of second object identifications of second objects to be monitored, and the joint identification set including a plurality of joint object identifications; the first transaction data ciphertext is obtained by encrypting the first transaction data corresponding to the joint object identification using a homomorphic encryption key, the first transaction data being the transaction data of the first participant;
[0227] A first determining module 620 is configured to determine, for each joint object identifier, joint transaction data based on the first transaction data ciphertext and the second transaction data, where the second transaction data is the transaction data of the second participant;
[0228] The second encryption module 630 is used to encrypt the joint transaction data using a random number to obtain a first joint data ciphertext;
[0229] The second sending module 640 is configured to send the first joint data ciphertext to the first participant, so that the first participant performs a joint calculation based on the first joint ciphertext to obtain a first joint calculation result.
[0230] The data processing device 600 is described in detail below.
[0231] In some embodiments, the data processing device 600 may further include:
[0232] The second calculation module is configured to determine the joint transaction data based on the first transaction data ciphertext and the second transaction data for each joint object identifier, and then perform joint calculation based on the joint transaction data to obtain a second joint calculation result.
[0233] In some embodiments, the data processing device 600 may further include:
[0234] A second acquisition module is configured to acquire a second identification set of the second party before receiving the joint identification set and the corresponding first transaction data ciphertext sent by the first party;
[0235] A second determining module is configured to determine, based on an anonymous query algorithm, a target object identifier that is different from the first object identifier in the second identifier set, to obtain a target identifier set;
[0236] a third encryption module, configured to encrypt each target object identifier in the target identifier set based on a one-way encryption algorithm to obtain a target identifier ciphertext set, wherein the target identifier ciphertext set includes target object identifier ciphertexts corresponding one-to-one to the plurality of target object identifiers;
[0237] The third sending module is used to send a target identification ciphertext set to the first participant, and to determine a data subset set based on multiple target object identification ciphertexts and their one-to-one corresponding target object identifications, so that the first participant determines the target identification set based on the target identification ciphertext set and the data subset set.
[0238] In some embodiments, the second acquisition module may specifically include:
[0239] A second acquisition submodule is configured to acquire a fourth identification set from the second participant, where the fourth identification set includes multiple real object identifications of the second objects to be monitored;
[0240] A generating submodule, configured to generate a second noise identification set corresponding to the fourth identification set, where the second noise identification set includes a plurality of second noise identifications;
[0241] The second determining submodule is configured to determine a second identifier set according to the fourth identifier set and the second noise identifier set.
[0242] In some embodiments, the second joint calculation result includes a joint calculation result corresponding to the second noise identifier and the first noise identifier, and the first noise identifier is a noise identifier in the first noise identifier set.
[0243] Based on this, the data processing device 600 may further include:
[0244] The second deletion module is configured to delete the joint calculation results corresponding to the first noise identifier and the second noise identifier in the second joint calculation result after obtaining the second joint calculation result, so as to obtain a fourth joint calculation result.
[0245] In some embodiments, the generating submodule may specifically include:
[0246] The second generating unit is configured to generate a second noise identification set corresponding to the fourth identification set based on the identification features of the real object identifications in the fourth identification set, wherein the second noise identifications in the second noise identification set have the same identification features as the real object identifications in the fourth identification set.
[0247] In some embodiments, the data processing device 600 may further include:
[0248] The fourth encryption module is used to encrypt the first joint data ciphertext using the homomorphic encryption key before sending the first joint data ciphertext to the first participant to obtain the second joint data ciphertext.
[0249] Based on this, the second sending module 640 may specifically include:
[0250] The second sending submodule is used to send the second joint data ciphertext to the first participant, so that the first participant performs a joint calculation based on the second joint ciphertext to obtain a first joint calculation result.
[0251] In some embodiments, the second calculation module may specifically include:
[0252] a second calculation submodule, configured to perform a joint calculation based on the joint transaction data to obtain a sixth joint calculation result;
[0253] The second screening submodule is configured to screen the sixth joint calculation results for second joint calculation results that meet a second preset range.
[0254] In an embodiment of the present application, since the joint identifier set is the union of the first identifier set of the first participant and the second identifier set of the second participant, by obtaining the joint identifier set and performing a joint calculation based on the transaction data corresponding to the joint identifier set, the comprehensiveness of the joint calculation data can be guaranteed, thereby ensuring the accuracy of the joint calculation result. In addition, the joint transaction data is the data determined by the second participant for each joint object identifier based on the first transaction data ciphertext and the second transaction data. Therefore, by receiving the joint identifier set and its corresponding first transaction data ciphertext sent by the first participant, determining the joint transaction data for each joint object identifier based on the first transaction data ciphertext and the second transaction data, encrypting the joint transaction data using a random number to obtain the first joint data ciphertext, and sending the first joint data ciphertext to the first participant so that the first participant performs a joint calculation based on the first joint ciphertext to obtain the first joint calculation result, that is, during the joint calculation process, by optimizing the joint calculation process by having one party hold a key and the other parties hold random numbers, the risk of data leakage can be reduced, the data security of each participant can be improved, and the mutual trust between the parties can be enhanced. In this way, through the embodiment of the present application, both the security of the transaction data and the accuracy of the joint calculation result can be guaranteed.
[0255] Based on the data processing method provided in the above embodiment, the embodiment of the present application also provides a specific implementation of the electronic device. Figure 7 A schematic diagram of an electronic device 700 provided in an embodiment of the present application is shown.
[0256] The electronic device 700 may include a processor 710 and a memory 720 storing computer program instructions.
[0257] Specifically, the processor 710 may include a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0258] The memory 720 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 720 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 720 may include removable or non-removable (or fixed) media. Where appropriate, the memory 720 may be inside or outside the electronic device 700. In a specific embodiment, the memory 720 is a non-volatile solid-state memory.
[0259] The memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to the first aspect of the present application.
[0260] The processor 710 implements any one of the data processing methods in the above embodiments by reading and executing computer program instructions stored in the memory 720 .
[0261] In one example, the electronic device 700 may further include a communication interface 730 and a bus 740. Figure 7 As shown, the processor 710 , the memory 720 , and the communication interface 730 are connected via a bus 740 and communicate with each other.
[0262] The communication interface 730 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0263] Bus 740 comprises hardware, software or both, couples the parts of electronic equipment to each other.For example, and not limitation, bus can comprise accelerated graphics port (AGP) or other graphics bus, enhanced industry standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industry standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations.In suitable cases, bus 740 can comprise one or more buses.Although the present application embodiment describes and shows specific bus, the application considers any suitable bus or interconnection.
[0264] Illustratively, the electronic device 700 may be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA).
[0265] The electronic device can execute the data processing method in the embodiment of the present application, thereby realizing the combination Figures 1 to 6 Described data processing method and device.
[0266] In addition, in conjunction with the data processing methods in the above embodiments, embodiments of the present application may provide a computer-readable storage medium for implementation. The computer-readable storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the data processing methods in the above embodiments is implemented.
[0267] In combination with the data processing method in the above embodiments, the present application can provide a computer program product to implement the data processing method in the above embodiments. When the instructions in the computer program product are executed by a processor of an electronic device, any one of the data processing methods in the above embodiments is implemented.
[0268] It should be understood that the present application is not limited to the specific configurations and processes described above and illustrated in the figures. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and illustrated as examples. However, the method process of the present application is not limited to the specific steps described and illustrated. Those skilled in the art can make various changes, modifications, and additions, or change the order of the steps after understanding the spirit of the present application.
[0269] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium that can store or transmit information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROMs, flash memories, erasable ROMs (EROMs), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0270] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps. In other words, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0271] Aspects of the present application have been described above with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed via the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. This processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit. It is also understood that each box in the block diagram and / or the flowchart and the combination of the boxes in the block diagram and / or the flowchart can also be implemented by the dedicated hardware that performs the specified function or action, or can be implemented by the combination of dedicated hardware and computer instructions.
[0272] The above description is only a specific embodiment of the present application. Those skilled in the art will clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the scope of protection of the present application.
Claims
1. A data processing method, characterized in that: Applied to a first party, the method includes: Obtaining a joint identification set, where the joint identification set is a union of a first identification set of the first participant and a second identification set of the second participant, the first identification set including a plurality of first object identifications of first objects to be monitored, the second identification set including a plurality of second object identifications of second objects to be monitored, and the joint identification set including a plurality of joint object identifications; Encrypting first transaction data corresponding to each of the joint object identifiers using a homomorphic encryption key to obtain first transaction data ciphertext, where the first transaction data is transaction data of the first participant; Sending the joint identification set and the corresponding first transaction data ciphertext to the second participant; receiving a first joint data ciphertext sent by the second participant, where the first joint data ciphertext is obtained by encrypting joint transaction data using a random number, the joint transaction data being data determined for each joint object identifier based on the first transaction data ciphertext and the second transaction data, and the second transaction data being transaction data of the second participant; A joint calculation is performed based on the first joint data ciphertext to obtain a first joint calculation result.
2. The method according to claim 1, characterized in that The obtaining of the joint identifier set includes: Obtaining the first identification set of the first party; receiving a target identification ciphertext set sent by the second participant, the target identification ciphertext set including a plurality of target object identification ciphertexts, the target object identification ciphertexts being obtained by encrypting target object identifications based on a one-way encryption algorithm, the target object identifications being object identifications that are in the second identification set and not in the first identification set, as determined based on a stealth query algorithm; Based on a stealth query algorithm, searching a data subset set for a target identifier set corresponding to the target identifier ciphertext set, the data subset set including the multiple target object identifier ciphertexts and their one-to-one corresponding target object identifiers, the target identifier set including the target object identifiers corresponding one-to-one to the multiple target object identifier ciphertexts; The joint identifier set is determined according to a union of the first identifier set and the target identifier set.
3. The method according to claim 2, characterized in that The obtaining of the first identification set of the first party includes: Acquire a third identification set from the first participant, where the third identification set includes multiple real object identifications of the first objects to be monitored; generating a first noise identifier set corresponding to the third identifier set, wherein the first noise identifier set includes a plurality of first noise identifiers; The first identifier set is determined according to the third identifier set and the first noise identifier set.
4. The method according to claim 3, characterized in that The first joint calculation result includes a joint calculation result corresponding to the first noise identifier and a second noise identifier, where the second noise identifier is a noise identifier in the second noise identifier set; After obtaining the first joint calculation result, the method further includes: The joint calculation results corresponding to the first noise identifier and the second noise identifier in the first joint calculation results are deleted to obtain a third joint calculation result.
5. The method according to claim 3, characterized in that The generating a first noise identification set corresponding to the third identification set includes: Based on the identification features of the real object identifications in the third identification set, a first noise identification set corresponding to the third identification set is generated, wherein the first noise identifications in the first noise identification set have the same identification features as the real object identifications in the third identification set.
6. The method according to any one of claims 1 to 5, characterized in that The receiving the first joint data ciphertext sent by the second participant includes: receiving a second joint data ciphertext sent by the second participant, where the second joint data ciphertext is obtained by encrypting the first joint data ciphertext using a homomorphic encryption key; The second joint data ciphertext is decrypted using the homomorphic encryption key to obtain the first joint data ciphertext.
7. The method according to any one of claims 1 to 5, characterized in that The performing joint calculation based on the first joint data ciphertext to obtain the first joint calculation result includes: Performing a joint calculation based on the first joint data ciphertext to obtain a fifth joint calculation result; The first joint calculation results that meet a first preset range are screened from the fifth joint calculation results.
8. A data processing method, characterized in that: Applied to the second party, the method includes: Receive a joint identification set and its corresponding first transaction data ciphertext sent by a first participant, where the joint identification set is the union of a first identification set of the first participant and a second identification set of the second participant, the first identification set includes a plurality of first object identifications of first objects to be monitored, the second identification set includes a plurality of second object identifications of second objects to be monitored, and the joint identification set includes a plurality of joint object identifications; the first transaction data ciphertext is obtained by encrypting first transaction data corresponding to the joint object identification using a homomorphic encryption key, and the first transaction data is the transaction data of the first participant; For each of the joint object identifiers, determining joint transaction data based on the first transaction data ciphertext and second transaction data, where the second transaction data is transaction data of the second participant; Encrypting the joint transaction data using a random number to obtain a first joint data ciphertext; The first joint data ciphertext is sent to the first participant, so that the first participant performs a joint calculation based on the first joint data ciphertext to obtain a first joint calculation result.
9. The method according to claim 8, characterized in that After determining the joint transaction data for each joint object identifier based on the first transaction data ciphertext and the second transaction data, the method further includes: A joint calculation is performed based on the joint transaction data to obtain a second joint calculation result.
10. The method according to claim 9, characterized in that Before receiving the joint identification set and the corresponding first transaction data ciphertext sent by the first participant, the method further includes: Obtaining the second identification set of the second party; Based on an anonymous query algorithm, determining a target object identifier that is different from the first object identifier in the second identifier set to obtain a target identifier set; Encrypting each target object identifier in the target identifier set based on a one-way encryption algorithm to obtain a target identifier ciphertext set, wherein the target identifier ciphertext set includes target object identifier ciphertexts corresponding one-to-one to the plurality of target object identifiers; The target identification ciphertext set is sent to the first participant, and a data subset set is determined based on a plurality of target object identification ciphertexts and their one-to-one corresponding target object identifications, so that the first participant determines the target identification set based on the target identification ciphertext set and the data subset set.
11. The method according to claim 10, characterized in that The acquiring the second identification set of the second participant includes: Acquire a fourth identification set from the second participant, where the fourth identification set includes multiple real object identifications of second objects to be monitored; generating a second noise identifier set corresponding to the fourth identifier set, wherein the second noise identifier set includes a plurality of second noise identifiers; The second identifier set is determined according to the fourth identifier set and the second noise identifier set.
12. The method according to claim 11, characterized in that The second joint calculation result includes a joint calculation result corresponding to the second noise identifier and the first noise identifier, where the first noise identifier is a noise identifier in the first noise identifier set; After obtaining the second joint calculation result, the method further includes: The joint calculation results corresponding to the first noise identifier and the second noise identifier in the second joint calculation results are deleted to obtain a fourth joint calculation result.
13. The method according to claim 11, characterized in that The generating a second noise identification set corresponding to the fourth identification set includes: Based on the identification features of the real object identifications in the fourth identification set, a second noise identification set corresponding to the fourth identification set is generated, and the second noise identifications in the second noise identification set have the same identification features as the real object identifications in the fourth identification set.
14. The method according to any one of claims 8 to 13, characterized in that: Before sending the first joint data ciphertext to the first participant, the method further includes: Encrypting the first joint data ciphertext using a homomorphic encryption key to obtain a second joint data ciphertext; The sending the first joint data ciphertext to the first participant includes: The second joint data ciphertext is sent to the first participant, so that the first participant performs a joint calculation based on the second joint data ciphertext to obtain a first joint calculation result.
15. The method according to any one of claims 9 to 13, characterized in that: The performing joint calculation based on the joint transaction data to obtain a second joint calculation result includes: performing a joint calculation based on the joint transaction data to obtain a sixth joint calculation result; The second joint calculation results that meet a second preset range are screened from the sixth joint calculation results.
16. A data processing device, characterized in that: Applied to a first participant, the apparatus includes: a first acquisition module, configured to acquire a joint identification set, the joint identification set being a union of a first identification set of the first participant and a second identification set of the second participant, the first identification set including a plurality of first object identifications of first objects to be monitored, the second identification set including a plurality of second object identifications of second objects to be monitored, and the joint identification set including a plurality of joint object identifications; a first encryption module, configured to encrypt first transaction data corresponding to each of the joint object identifiers using a homomorphic encryption key to obtain first transaction data ciphertext, where the first transaction data is transaction data of the first participant; a first sending module, configured to send the joint identification set and the corresponding first transaction data ciphertext to the second party; a first receiving module configured to receive a first joint data ciphertext sent by the second participant, where the first joint data ciphertext is obtained by encrypting joint transaction data using a random number, the joint transaction data being data determined for each joint object identifier based on the first transaction data ciphertext and the second transaction data, and the second transaction data being transaction data of the second participant; The first calculation module is used to perform joint calculation based on the first joint data ciphertext to obtain a first joint calculation result.
17. A data processing device, characterized in that: Applied to a second participant, the apparatus comprises: a second receiving module, configured to receive a joint identification set and its corresponding first transaction data ciphertext sent by a first participant, wherein the joint identification set is a union of a first identification set of the first participant and a second identification set of the second participant, the first identification set including a plurality of first object identifications of first objects to be monitored, the second identification set including a plurality of second object identifications of second objects to be monitored, and the joint identification set including a plurality of joint object identifications; the first transaction data ciphertext is obtained by encrypting the first transaction data corresponding to the joint object identification using a homomorphic encryption key, and the first transaction data is the transaction data of the first participant; a first determining module, configured to determine, for each joint object identifier, joint transaction data based on the first transaction data ciphertext and second transaction data, where the second transaction data is transaction data of the second participant; a second encryption module, configured to encrypt the joint transaction data using a random number to obtain a first joint data ciphertext; The second sending module is used to send the first joint data ciphertext to the first participant, so that the first participant performs joint calculation based on the first joint data ciphertext to obtain a first joint calculation result.
18. An electronic device, characterized in that: The electronic device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the data processing method according to any one of claims 1-7 or 8-15.
19. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the data processing method according to any one of claims 1 to 7 or 8 to 15 is implemented.
20. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the data processing method according to any one of claims 1 to 7 or 8 to 15.
Citation Information
Patent Citations
Multi-party security computing method and device
CN115883207A
Efficient privacy protection joint calculation method, system and device for data confusion
CN116702192A