A privacy computing method, system and computing device

By binning and asynchronously transmitting business data, the problem of resource waste and low efficiency in low-bandwidth scenarios of Paillier semi-homomorphic computing is solved, achieving more efficient data transmission and utilization of computing resources.

CN120811576BActive Publication Date: 2026-03-03NETSUNION CLEARING CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511309120.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-15
Publication Date
2026-03-03
Estimated Expiration
2045-09-15

AI Technical Summary

Technical Problem

Existing Paillier semi-homogeneous computation methods consume a significant amount of processing time for data transmission in low-bandwidth scenarios, resulting in wasted computational resources and low overall processing efficiency.

Method used

By binning business data, the data is divided into multiple bins, and encrypted and transmitted in units of bins, thus asynchronously processing data computation and transmission tasks and making full use of CPU and bandwidth resources.

Benefits of technology

It effectively reduces the amount of dense data transmitted each time, shortens the data transmission time, improves data transmission efficiency and resource utilization, reduces serialization processing, and improves the overall processing efficiency of computing tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120811576B_ABST
    Figure CN120811576B_ABST
Patent Text Reader

Abstract

The application discloses a privacy calculation method, system and calculation device, the method comprises the following steps: a first calculation device of an initiator node generates a public key, a private key and a number of bins, and sends the public key and the number of bins to a second calculation device of a participant node, so that the second calculation device processes first business data of the second calculation device according to the public key and the number of bins, and obtains a plurality of first bin data; based on the number of bins and the public key, the second business data of the first calculation device is processed to obtain a plurality of second bin data, and the plurality of second bin data is sent to the second calculation device, so that the second calculation device obtains third bin data according to the first bin data and the second bin data; the third bin data is processed by using the private key to obtain a privacy calculation result. Through the binning processing and asynchronous transmission processing of data, the CPU resources and the bidirectional bandwidth resources are fully utilized, the data transmission efficiency is improved, and the resource utilization rate is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data security technology, and in particular to a privacy computing method, system and computing device. Background Technology

[0002] Privacy computing is a technology that enables data sharing, analysis, computation, and modeling while protecting the data itself from being leaked. It aims to make the data "usable but not visible," and can realize the transformation and release of data value while fully protecting data and privacy.

[0003] Paillier semi-homomorphic computation is a crucial technology for ensuring data security in the field of privacy computing. Based on the Paillier cryptosystem, it is an encrypted data computation technique that possesses additive homomorphism, meaning that adding ciphertext data in the encrypted state yields the same result as adding the plaintext data. Therefore, it is widely used in scenarios such as multi-party data joint statistical analysis and encrypted data transmission and processing.

[0004] However, in the existing Paillier semi-homomorphic computation implementation, the data expansion rate is large after homomorphic encryption. Therefore, in low-bandwidth transmission scenarios, the transmission of encrypted data will take up a lot of processing time. The entire computation task is mainly consumed in data transmission, while the CPU is idle for a long time. This not only wastes computing resources, but also leads to a long overall processing time and low processing efficiency. Summary of the Invention

[0005] This invention provides a privacy computing method, system, and computing device to solve the problems of long overall task execution time, low processing efficiency, and serious waste of computing resources in existing privacy computing methods based on Paillier semi-homomorphic computation.

[0006] In a first aspect, embodiments of the present invention provide a privacy computing method, applied to a first computing device of an initiating node, the method comprising:

[0007] A public key, a private key, and a number of bins are generated, and the public key and the number of bins are sent to the second computing device of the participating node, so that the second computing device processes the first business data of the second computing device according to the public key and the number of bins to obtain multiple first bin data;

[0008] Based on the number of bins and the public key, the second business data of the first computing device is processed to obtain multiple second bin data, and the multiple second bin data is sent to the second computing device so that the second computing device can obtain multiple third bin data according to the multiple first bin data and the multiple second bin data;

[0009] The system receives the multiple third-box data sent by the second computing device and processes the multiple third-box data using the private key to obtain a privacy computing result.

[0010] In some embodiments, the processing of the second business data of the first computing device based on the number of bins and the public key to obtain multiple second bin data includes:

[0011] Based on the number of bins, the second business data is subjected to percentile binning to obtain multiple fourth bin data;

[0012] For any one of the plurality of fourth bin data: using the public key, the difference between each data in the fourth bin data and the preset data threshold is encrypted to obtain the second bin data.

[0013] In some embodiments, the process of performing percentile binning on the second business data based on the number of bins to obtain multiple fourth bin data includes:

[0014] Based on the unique identifier of each second business data, sort the second business data.

[0015] Based on the number of bins and the result of the sorting process, the second business data is subjected to percentile binning to obtain the multiple fourth bin data.

[0016] The data in each of the fourth sub-boxes comes from K unique data identifiers, where K is a positive integer.

[0017] In some embodiments, sending the plurality of second bin data to the second computing device includes:

[0018] According to the generation order of the second bin data, the plurality of second bin data are stored in the first queue in the first computing device;

[0019] The second bin data stored in the first queue is asynchronously sent to the second computing device.

[0020] In some embodiments, receiving the plurality of third bin data sent by the second computing device and processing the plurality of third bin data using the private key to obtain a privacy computation result includes:

[0021] According to the receiving order of the third bin data, the multiple third bin data sent by the second computing device are stored in the second queue in the first computing device;

[0022] Using the private key, the data in the third bin obtained from the second queue is decrypted to obtain an initial decryption result. Based on the relationship between the initial decryption result and a preset value, the target decryption result is determined.

[0023] The privacy calculation result is obtained by summarizing the decryption results of all identified targets.

[0024] In some embodiments, generating the public key, private key, and number of bins includes:

[0025] The public key and the private key are generated based on the Paillier algorithm;

[0026] The number of boxes is determined based on the amount of data in the second business data, or a preset number value is used as the number of boxes.

[0027] Secondly, embodiments of the present invention provide a privacy computing method applied to a second computing device of a participating node, the method comprising:

[0028] After receiving the public key and bin data sent by the first computing device of the initiating node, the first business data of the second computing device is processed according to the public key and the number of bins to obtain multiple first bin data, wherein the public key, private key and the number of bins are generated by the first computing device;

[0029] Based on the multiple first bin data and multiple second bin data, multiple third bin data are obtained, wherein the multiple second bin data are obtained by the first computing device processing the second business data of the first computing device based on the number of bins and the public key;

[0030] The multiple third-box data are sent to the first computing device, so that the first computing device can use the private key to process the multiple third-box data and obtain privacy computing results.

[0031] In some embodiments, processing the first service data of the second computing device according to the public key and the number of bins to obtain multiple first bin data includes:

[0032] Based on the number of bins, the first business data is subjected to percentile binning to obtain multiple fifth bin data.

[0033] For any one of the plurality of fifth bin data: use the public key to encrypt the fifth bin data to obtain the first bin data.

[0034] In some embodiments, the step of performing percentile binning on the first business data based on the number of bins to obtain multiple fifth bin data includes:

[0035] Based on the unique identifier of each first business data, sort the first business data.

[0036] Based on the number of bins and the sorted unique identifiers of multiple data, the first business data is subjected to percentile binning to obtain the multiple fifth bin data.

[0037] The data in each of the fifth sub-boxes comes from K unique data identifiers, where K is a positive integer.

[0038] In some embodiments, the unique identifier of the data corresponding to the first business data is the same as the unique identifier of the data corresponding to the second business data, and one first bin data corresponds to one second bin data.

[0039] The process of obtaining multiple third-box data based on the multiple first-box data and multiple second-box data includes:

[0040] For any one of the plurality of second bin data: perform dense summation on the second bin data and the first bin data corresponding to the second bin data to obtain the sixth bin data, and use random numbers to perform random scaling on the sixth bin data to obtain the third bin data;

[0041] The random number is generated by the second computing device after receiving the public key and the binning data sent by the first computing device.

[0042] In some embodiments, after obtaining multiple first bin data, the method further includes:

[0043] According to the receiving order of the second bin data, the plurality of second bin data are stored in the third queue in the second computing device;

[0044] The second bin data is obtained sequentially from the third queue to obtain the third bin data.

[0045] In some embodiments, sending the plurality of third bin data to the first computing device includes:

[0046] According to the generation order of the third bin data, the multiple third bin data are stored in the fourth queue in the second computing device;

[0047] The third bin data stored in the fourth queue is asynchronously sent to the first computing device.

[0048] Thirdly, embodiments of the present invention provide a privacy computing system, including a first computing device for an initiating node and a second computing device for a participating node, wherein:

[0049] The first computing device is configured to: generate a public key, a private key, and a number of bins, and send the public key and the number of bins to a second computing device of a participating node; process the second business data of the first computing device based on the number of bins and the public key to obtain multiple second bin data, and send the multiple second bin data to the second computing device; receive multiple third bin data sent by the second computing device, and process the multiple third bin data using the private key to obtain a privacy computation result;

[0050] The second computing device is configured to: process the first business data of the second computing device according to the public key and the number of bins to obtain multiple first bin data; obtain multiple third bin data according to the multiple first bin data and the multiple second bin data; and send the multiple third bin data to the first computing device.

[0051] Fourthly, embodiments of the present invention provide a privacy computing device, comprising:

[0052] The data processing module is used to: generate a public key, a private key, and a number of bins, and send the public key and the number of bins to the second computing device of the participating node, so that the second computing device processes the first business data of the second computing device according to the public key and the number of bins to obtain multiple first bin data;

[0053] The first bin encryption module is used to: process the second business data of the first computing device of the initiating node based on the number of bins and the public key to obtain multiple second bin data, and send the multiple second bin data to the second computing device so that the second computing device can obtain multiple third bin data based on the multiple first bin data and the multiple second bin data;

[0054] The bin decryption module is used to: receive the multiple third bin data sent by the second computing device, and process the multiple third bin data using the private key to obtain privacy computing results.

[0055] Fifthly, embodiments of the present invention provide a privacy computing device, comprising:

[0056] The second bin encryption module is used to: after receiving the public key and bin data sent by the first computing device of the initiating node, process the first business data of the second computing device of the participating node according to the public key and the number of bins to obtain multiple first bin data, wherein the public key, private key and the number of bins are generated by the first computing device;

[0057] The binning calculation module is used to: obtain multiple third binning data based on the multiple first binning data and multiple second binning data, wherein the multiple second binning data are obtained by the first computing device processing the second business data of the first computing device based on the number of bins, the public key and a preset number threshold;

[0058] The data sending module is used to send the multiple third-box data to the first computing device, so that the first computing device can use the private key to process the multiple third-box data and obtain privacy computing results.

[0059] Sixthly, embodiments of the present invention provide a computing device, comprising:

[0060] Memory, used to store executable instructions;

[0061] A processor is configured to read and execute executable instructions stored in the memory to implement the steps of the privacy computing method as described in any of the embodiments of the first aspect above.

[0062] In a seventh aspect, embodiments of the present invention provide a computing device, comprising:

[0063] Memory, used to store executable instructions;

[0064] A processor is configured to read and execute executable instructions stored in the memory to implement the steps of the privacy computing method as described in any of the embodiments of the second aspect above.

[0065] Eighthly, embodiments of the present invention provide a computer-readable storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the steps of the privacy computing method as described in any of the embodiments of the first aspect above.

[0066] In a ninth aspect, embodiments of the present invention provide a computer-readable storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the steps of the privacy computation method as described in any of the embodiments of the second aspect above.

[0067] In a tenth aspect, embodiments of the present invention provide a computer program product, including a computer program stored in a computer-readable storage medium; when a processor of a memory access device reads the computer program from the computer-readable storage medium, the processor executes the computer program, causing the memory access device to perform the steps of the privacy computing method as described in any of the embodiments of the first aspect above.

[0068] Eleventhly, embodiments of the present invention provide a computer program product, including a computer program stored in a computer-readable storage medium; when a processor of a memory access device reads the computer program from the computer-readable storage medium, the processor executes the computer program, causing the memory access device to perform the steps of the privacy computing method as described in any of the embodiments of the second aspect above.

[0069] The technical solutions provided by the embodiments of the present invention bring at least the following beneficial effects:

[0070] In the privacy computing method provided by this invention, the first and second business data are binned using the number of bins. This ensures that both the initiating node's first computing device and the participating node's second computing device encrypt and transmit the business data in bins, effectively reducing the amount of encrypted data transmitted each time. In low-bandwidth scenarios, this significantly shortens data transmission time and improves data transmission efficiency. Furthermore, binning the business data separates the computation and transmission tasks, reducing serial processing in the overall task flow, enabling asynchronous task processing, and fully utilizing CPU computing resources and bidirectional bandwidth resources to effectively improve resource utilization. Attached Figure Description

[0071] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0072] Figure 1 A schematic diagram of the interaction process for privacy computing based on Paillier semi-homomorphic computation, provided for related technologies;

[0073] Figure 2 A schematic diagram illustrating CPU utilization and transmission bandwidth utilization in a privacy computation process based on Paillier semi-homomorphic computation, provided for related technologies;

[0074] Figure 3 This is a schematic diagram of the structure of a privacy computing system provided in an embodiment of the present invention;

[0075] Figure 4 This is a schematic diagram of the interaction process of a privacy computing system provided in an embodiment of the present invention;

[0076] Figure 5 This is a schematic diagram showing the CPU resource utilization and bandwidth resource utilization during the operation of a privacy computing method provided in an embodiment of the present invention.

[0077] Figure 6 This is a schematic diagram of the complete interaction process of a privacy computing system provided in an embodiment of the present invention;

[0078] Figure 7 A schematic diagram illustrating the workflow of a privacy computing method provided in an embodiment of the present invention;

[0079] Figure 8 A schematic diagram illustrating the workflow of another privacy computing method provided in an embodiment of the present invention;

[0080] Figure 9 This is a schematic diagram of the module structure of a privacy computing device provided in an embodiment of the present invention;

[0081] Figure 10 This is a schematic diagram of the module structure of another privacy computing device provided in an embodiment of the present invention;

[0082] Figure 11 This is a schematic diagram of the structure of a computing device provided in an embodiment of the present invention. Detailed Implementation

[0083] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.

[0084] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this invention. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the invention as detailed in the appended claims.

[0085] Privacy computing is a technology that enables data sharing, analysis, computation, and modeling while protecting the data itself from being leaked. It aims to make the data "usable but not visible," and can realize the transformation and release of data value while fully protecting data and privacy.

[0086] Paillier semi-homomorphic computation is a crucial technology for ensuring data security in the field of privacy computing. Based on the Paillier cryptosystem, it is an encrypted data computation technique that possesses additive homomorphism, meaning that adding ciphertext data in the encrypted state yields the same result as adding the plaintext data. Therefore, it is widely used in scenarios such as multi-party data joint statistical analysis and encrypted data transmission and processing.

[0087] Figure 1 This diagram illustrates an interactive flow of privacy-preserving computation based on Paillier semi-homomorphic computation, provided by related technologies. For example... Figure 1 As shown, it includes the following steps:

[0088] Step 101: The computing device of the initiating node generates the Paillier public key and the Paillier private key;

[0089] Step 102: The initiating node's computing device sends the Paillier public key and data threshold to the participating node's computing device;

[0090] Step 103: After receiving the Paillier public key and data threshold, the computing device of the participating node generates a random number;

[0091] Step 104: The computing device of the initiating node uses the public key to perform encrypted calculation on the difference between its own business data and the data threshold to obtain the first encrypted data.

[0092] Step 105: The computing devices of the participating nodes use the public key to perform encrypted calculations on their own business data to obtain the second encrypted data.

[0093] Step 106: The computing device of the initiating node sends the first encrypted data to the computing devices of the participating nodes;

[0094] Step 107: The computing devices of the participating nodes perform a secret-state summation on the first encrypted data and the second encrypted data, and use random numbers to randomly scale the secret-state summation result to obtain the encrypted result data;

[0095] Step 108: The computing devices of the participating nodes send the encrypted result data to the computing devices of the initiating nodes;

[0096] Step 109: The computing device of the initiating node decrypts the encrypted result data and filters the decryption result to obtain the target result.

[0097] As can be seen from the processing flow of the Paillier semi-homomorphic computation method described above, each processing and transmission involves a "whole block of data", and the tasks are processed serially. That is, the computing devices of the participating nodes need to receive the complete first encrypted data sent by the computing devices of the initiating nodes before they can perform the calculation of the encrypted summation. The computing devices of the initiating nodes also need to wait for the computing devices of the participating nodes to send back the complete encrypted result data before they can execute the subsequent decryption process.

[0098] Figure 2 This diagram illustrates CPU utilization and bandwidth utilization during a privacy-preserving computation process based on Paillier semi-homomorphic computation, as provided by related technologies. Figure 2 As shown, (a) is a waveform diagram of CPU utilization during privacy computation based on the existing Paillier semi-homomorphic computation method, and (b) is a waveform diagram of transmission bandwidth utilization during privacy computation based on the existing Paillier semi-homomorphic computation method. Referring to (a) and (b), it can be seen that during the entire privacy computation process, the computation task is mainly consumed in data transmission, and the CPU is idle for most of the time.

[0099] In summary, due to the large data expansion rate after homomorphic encryption, the transmission of encrypted data will take up a lot of processing time in low-bandwidth transmission scenarios. The entire computing task is mainly consumed by data transmission, while the CPU is idle for a long time. This not only wastes computing resources, but also leads to a long overall processing time and low processing efficiency.

[0100] Based on this, embodiments of the present invention provide a privacy computing method, system, and computing device to shorten the data transmission time between the initiating node and the participating nodes, improve data transmission efficiency, thereby improving the overall processing efficiency of the privacy computing task, making full use of CPU computing resources and bidirectional bandwidth resources, and effectively improving resource utilization.

[0101] The objectives, functional features, and advantages of this invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustrative and explanatory purposes only and are not intended to limit the invention. Furthermore, the embodiments and features described herein can be combined with each other without conflict.

[0102] The technical terms used in the privacy computation method provided in this invention are explained as follows:

[0103] (1) Privacy-preserving computation: refers to a technology that allows data to be computed and analyzed while it is in an encrypted or other protected form without disclosing the original data. By encrypting, transforming, anonymizing, etc., the original data can still be computed and analyzed in an encrypted or other protected form, thereby achieving data that is "usable but not visible".

[0104] (2) Collaborative computation: refers to the process by which multiple parties jointly complete a computational task without disclosing their original data. This process relies on secure communication protocols and privacy protection mechanisms, and each party only transmits encrypted or processed intermediate computation results, not the original data.

[0105] The technical solutions provided by the embodiments of the present invention will be described in detail below with reference to the accompanying drawings:

[0106] Figure 3 A schematic diagram of the architecture of a privacy computing system provided in an embodiment of the present invention is shown. Figure 3 As shown, the privacy computing system 1 includes an initiator node 11 and multiple participant nodes 12. Both the initiator node 11 and the multiple participant nodes 12 are equipped with corresponding computing devices to perform privacy computing tasks. That is, the initiator node 11 is equipped with a first computing device, and the multiple participant nodes 12 are equipped with a second computing device.

[0107] For ease of explanation, the following embodiments all use the example of communication interaction between an initiating node 11 and a participating node 12. It should be understood that in actual applications, the number of participating nodes 12 can be one or more, and the embodiments of the present invention do not impose any restrictions on this.

[0108] Based on such Figure 3 The architecture of the privacy computing system shown is illustrated, and the implementation of privacy computing within this system is described in detail:

[0109] Figure 4 A schematic diagram of the interaction flow of a privacy computation method provided in an embodiment of the present invention is shown. For example... Figure 4 As shown, the method may include the following steps:

[0110] Step 401: The first computing device of the initiating node 11 generates the public key, private key, and number of bins.

[0111] In some embodiments, the first computing device of the initiating node 11 can generate the public key, private key and bin number in the following ways: the first computing device of the initiating node 11 can generate the public key and private key based on the Paillier algorithm; at the same time, the bin number can be determined according to the amount of data of the second business data of the first computing device, or a preset value can be used as the bin number.

[0112] In specific implementations, the number of bins in this embodiment of the invention can be a fixed empirical value (i.e., a preset number), for example, the number of bins N=10 can be directly set. The number of bins can also be flexibly set according to the amount of the second business data of the first computing device of the initiating node 11. For example, when it is determined that the amount of the second business data is small, the number of bins N=2 can be set; when it is determined that the amount of the second business data is large, the number of bins N=10 can be set.

[0113] Specifically, the size of the second business data can be determined by pre-setting multi-level data volume thresholds. Based on the relationship between the second business data volume and these thresholds, the size of the second business data is determined, thus determining the number of bins. For example, two data volume thresholds can be set: Nth1 and Nth2, where Nth1 < Nth2. When the second business data volume Ndata satisfies: 0 < Ndata ≤ Nth1, the number of bins is set to N = 2; when the second business data volume Ndata satisfies: Nth1 < Ndata ≤ Nth2, the number of bins is set to N = 5; and when the second business data volume Ndata satisfies: Ndata > Nth2, the number of bins is set to N = 10.

[0114] Furthermore, in some embodiments, before the first computing device of the initiating node 11 generates the public key, private key, and number of bins, the first computing device of the initiating node 11 will also perform data alignment processing on its own second initial business data and the first initial business data of the second computing device of the participating node 12, so that the first computing device of the initiating node 11 can determine the second business data in the second initial business data, and the second computing device of the participating node 12 can determine the first business data in the first initial business data.

[0115] The unique identifier for the first business data is the same as the unique identifier for the second business data.

[0116] In practice, the first initial business data and the second initial business data can be intersected, and the first business data and the second business data can be determined based on the intersection result. For example, suppose the first initial business data includes the business data corresponding to the unique data identifiers 100000001, 100000002, 100000003, 100000004, and 100000005, and suppose the second initial business data includes the business data corresponding to the unique data identifiers 100000001, 100000002, 100000005, and 100000006, then after performing the intersection operation, the first business data obtained is the business data corresponding to the unique data identifiers 100000001, 100000002, and 100000005 in the first initial business data, and the second business data is the business data corresponding to the unique data identifiers 100000001, 100000002, and 100000005 in the second initial business data.

[0117] Step 402: The first computing device of the initiating node 11 sends the public key and the number of sub-bins to the second computing device of the participating node 12.

[0118] In some embodiments, the first computing device of the initiating node 11 may also send a preset quantity threshold to the second computing device of the participating node 12.

[0119] In some embodiments, after receiving the public key and the number of bins sent by the first computing device of the initiating node 11, the second computing device of the participating node 12 initializes the random number pool and generates a random number R.

[0120] Step 403: The second computing device of the participating node 12 processes the first business data of the second computing device according to the public key and the number of bins to obtain multiple first bin data.

[0121] In some embodiments, the second computing device of participant node 12 may include the following steps in the process of generating multiple first bin data:

[0122] Step 403-1: The second computing device of the participating node 12 can perform percentile binning on its own first business data based on the number of bins to obtain multiple fifth bin data.

[0123] In some embodiments, the second computing device of the participating node 12 can implement percentile binning processing in the following manner: the second computing device of the participating node 12 can sort each first business data based on the unique data identifier of each first business data; according to the number of bins and the result of the sorting process, the first business data can be binned by percentile to obtain multiple fifth bin data; wherein, the data included in each fifth bin data comes from K unique data identifiers, where K is a positive integer.

[0124] In this embodiment of the invention, the first business data can be sorted in ascending order of data unique identifiers, or in descending order of data unique identifiers. This embodiment of the invention does not impose any limitation on this. For ease of explanation, the following embodiments all use the example of sorting the first business data in ascending order of data unique identifiers:

[0125] For example, in this embodiment of the invention, the unique data identifier can be a customer ID. For instance, if multiple first business data items all come from the same customer, their unique data identifiers (i.e., customer IDs) are the same; if multiple first business data items come from different customers, their unique data identifiers (i.e., customer IDs) are different. It should be understood that the customer ID is only one example of a unique data identifier, and it can also use any other feasible identifier, without specific limitations here.

[0126] To make it easier to understand, here is a specific example of the first business data:

[0127]

[0128] Table 1

[0129] Table 1 shows a specific example of first business data, which is various types of fee data. Specifically, the data 4000 corresponding to the unique data identifier 100000001 and fee type 1 in Table 1 constitutes one first business data point. Among all the first business data on the second computing device, some first business data (such as multiple first business data points in the same row in Table 1) share the same unique data identifier. In other words, some first business data originate from the same data identifier; for example, all the first business data in the first row of Table 1 originate from the unique data identifier 100000001.

[0130] The following is a simple example to illustrate the process of generating the fifth bin's data:

[0131] Assuming there are 10 unique data identifiers for all first service data on the second computing device, ranging from 100000001 to 100000010, and setting the number of bins received by the second computing device of participant node 12 to N=5, the first service data is first sorted according to these 10 unique data identifiers in ascending order. Then, the sorted first service data is divided into 5 groups (number of bins N=5) according to their unique data identifiers, with each group forming a fifth bin. For example, the first fifth bin contains two parts: one part has a unique data identifier of 100000001, and the other part has a unique data identifier of 100000002. The second fifth bin also contains two parts: one part has a unique data identifier of 100000003, and the other part has a unique data identifier of 100000004. And so on. Thus, the data from the multiple fifth sub-boxes were obtained in order.

[0132] Specifically, each of the multiple first business data items included in the fifth container data has its own unique identifier. Therefore, if the fifth container data includes Q (Q is a positive integer) first business data items, then Q unique identifiers can be determined. However, these Q unique identifiers are partially identical, so deduplication can be performed on these Q unique identifiers to obtain K unique identifiers (as in the example above where the number of containers N=5, K=2). After the above processing, K unique identifiers can be determined for different fifth container data items.

[0133] Step 403-2, for any one of the multiple fifth bin data: the second computing device of the participating node 12 can use the public key to encrypt the fifth bin data to obtain the first bin data.

[0134] In practice, after dividing the first business data into percentile bins to obtain multiple fifth bin data, the second computing device of the participating node 12 will use the public key sent by the first computing device of the initiating node 11 to perform encryption calculations on each fifth bin data in sequence to obtain multiple first bin data.

[0135] For example, assuming that multiple fifth bin data can be represented as B1, B2, ..., Bk, then the corresponding multiple first bin data can be represented as E(B1), E(B2), ..., E(Bk).

[0136] While the second computing device of participating node 12 is performing binning and encryption on its own first business data, the first computing device of initiating node 11 is also performing the same operation on its own second business data, as follows:

[0137] Step 404: The first computing device of the initiating node 11 processes the second business data of the first computing device based on the number of bins and the public key to obtain multiple second bin data.

[0138] In some embodiments, the first computing device of the initiating node 11 may include the following steps in the process of generating multiple second bin data:

[0139] Step 404-1: The first computing device of the initiating node 11 can perform percentile binning on the second business data based on the number of bins to obtain multiple fourth bin data.

[0140] In some embodiments, the first computing device of the initiating node 11 can implement percentile binning processing in the following way: the first computing device of the initiating node 11 can sort the second business data based on the unique data identifier of each second business data; according to the number of bins and the result of the sorting process, the second business data can be sorted by percentile binning to obtain multiple fourth bin data; wherein, the data included in each fourth bin data comes from K unique data identifiers, where K is a positive integer.

[0141] It should be noted that in this embodiment of the invention, the arrangement of each second business data is the same as the arrangement of each first business data. Specifically, if the first business data is arranged in ascending order according to its unique data identifier, then the second business data must also be arranged in ascending order according to its unique data identifier. If the first business data is arranged in descending order according to its unique data identifier, then the second business data will also be arranged in descending order according to its unique data identifier.

[0142] Similar to the processing method for the first business data, for ease of understanding, the following is a specific example of the second business data:

[0143]

[0144] Table 2

[0145] Table 2 shows a specific example of the second business data. It should be understood that because the business data of the initiating node and participating nodes were aligned before key generation, the unique data identifier corresponding to the first business data is consistent with the unique data identifier corresponding to the second business data. This second business data is also various types of fee data; that is, the data 5000 corresponding to the unique data identifier 100000001 and fee type 1 in Table 2 constitutes one second business data. Among all the second business data of the first computing device, some second business data (such as multiple second business data in the same row in Table 2) will have the same unique data identifier. In other words, some second business data originate from the same data identifier; for example, all the second business data in the first row of Table 2 originate from the unique data identifier 100000001.

[0146] Furthermore, since the generation process of the fourth sub-box data is similar to that of the fifth sub-box data, its specific implementation method can refer to the implementation method corresponding to the fifth sub-box data, and therefore will not be repeated here.

[0147] Step 404-2, for any one of the multiple fourth bin data: the first computing device of the initiating node 11 can use the public key to encrypt the difference between each data in the fourth bin data and the preset data threshold to obtain the second bin data.

[0148] In specific implementation, taking one of the multiple third bin data as an example, the first computing device of the initiating node 11 can first calculate the difference between each business data in the third bin data and the preset data threshold to obtain bin data composed of multiple difference data; then, the public key is used to encrypt the bin data composed of multiple difference data to obtain the second bin data.

[0149] For example, assuming that multiple fourth bin data can be represented as: A1, A2, ..., Ak, and the preset data threshold can be represented as C, then the bin data composed of difference data can be represented as: A1' = A1 - C, A2' = A2 - C, ..., Ak' = Ak - C; the corresponding multiple second bin data can be represented as: E(A1'), E(A2'), ..., E(Ak').

[0150] Furthermore, in this embodiment of the invention, as the data of the fourth sub-box is processed one by one, each time a second sub-box of data is generated, the second sub-box of data is stored in the first queue in the first computing device of the initiating node 11. That is, multiple second sub-boxes of data are stored in the first queue in an orderly manner according to the generation order of the second sub-boxes of data.

[0151] Step 405: The first computing device of the initiating node 11 sends multiple second sub-bins of data to the second computing device of the participating node 12.

[0152] In some embodiments, the first computing device of the initiating node 11 asynchronously sends the second bin data stored in the first queue to the second computing device of the participating node 12. Specifically, the storage and sending can be performed in a first-in-first-out order.

[0153] In some embodiments, the second computing device of the participating node 12 may store multiple second sub-bins into its own third queue according to the receiving order of the second sub-bins data; and sequentially retrieve the second sub-bins data from the third queue for subsequent processing.

[0154] In this way, by binning the business data and separating the data computation and transmission tasks, and sending the binned data asynchronously, compared to the prior art where the second computing device of the participating node 12 can only perform subsequent processing after all the business data has been transmitted, in this embodiment of the invention, the second computing device of the participating node 12 can immediately process each second bin of data asynchronously sent by the first computing device of the initiating node 11. This reduces the serialization of processing in the entire task flow, makes full use of the CPU's computing resources and bidirectional bandwidth resources, and effectively improves resource utilization.

[0155] Step 406: The second computing device of participant node 12 obtains multiple third-bin data based on multiple first-bin data and multiple second-bin data.

[0156] In some embodiments, the second computing device of the participating node 12 can generate multiple third bin data in the following manner: For any one of the multiple second bin data: the second computing device of the participating node 12 can perform dense summation processing on the second bin data and the first bin data corresponding to the second bin data to obtain the sixth bin data, and use a random number R to perform random scaling processing on the sixth bin data to obtain the third bin data.

[0157] As can be seen from the foregoing embodiments, the first and second sub-box data have a one-to-one correspondence. Specifically, the unique data identifier of the internal business data of the first sub-box data corresponding to the second sub-box data is the same as the unique data identifier of the internal business data of the second sub-box data.

[0158] For example, assuming multiple first bin data can be represented as: E(B1), E(B2), ..., E(Bk), and multiple second bin data can be represented as: E(A1'), E(A2'), ..., E(Ak'), then multiple sixth bin data can be represented as: E(D1) = E(A1') + E(B1), E(D2) = E(A2') + (B2), ..., E(Dk) = E(Ak') + E(Bk); the corresponding multiple third bin data can be represented as: R E(D1), R E(D2), ..., R E(Dk).

[0159] In some embodiments, after generating the third bin data, the second computing device of participant node 12 can store multiple third bin data into a fourth queue in the second computing device of participant node 12. Specifically, the third bin data can be stored into the fourth queue according to the generation order of the third bin data, that is, each time a third bin data is generated, the third bin data is immediately stored into the fourth queue.

[0160] Step 407: The second computing device of participating node 12 sends multiple third sub-bin data to the first computing device of initiating node 11.

[0161] In some embodiments, the second computing device of participant node 12 can asynchronously send the third bin data stored in the fourth queue to the first computing device of initiating node 11. Specifically, the data can be stored and sent in a first-in-first-out order.

[0162] In some embodiments, the first computing device of the initiating node 11 may store multiple third sub-boxes of data into its own second queue in the order in which the third sub-boxes of data are received; and retrieve the third sub-boxes of data from the second queue in sequence for subsequent processing.

[0163] In this way, by separating the computation and transmission tasks of the binned data and executing an asynchronous processing flow, compared to the prior art which requires waiting for all the results of the encrypted computation to be transmitted before the first computing device of the initiating node 11 can perform subsequent decryption processing, in this embodiment of the invention, the second computing device of the participating node 12 sends one third bin of data asynchronously to the first computing device of the initiating node 11, and the first computing device of the initiating node 11 can immediately perform decryption processing. This reduces the serialization of the entire task flow, makes full use of the CPU's computing resources and bidirectional bandwidth resources, and effectively improves resource utilization.

[0164] In step 408, the first computing device of the initiating node 11 uses the private key to process the data of multiple third bins to obtain the privacy computing result.

[0165] In some embodiments, the first computing device of the initiating node 11 may include the following steps in the process of generating privacy computing results:

[0166] Step 408-1: The first computing device of the initiating node 11 uses its private key to decrypt the third bin data obtained from the second queue, obtains the initial decryption result, and determines the target decryption result based on the relationship between the initial decryption result and the preset value.

[0167] In this embodiment of the invention, the preset value can be 0. That is, the first computing device of the initiating node 11 uses its private key to decrypt the data in the third bin. After obtaining the initial decryption result, it can compare it with 0, and then use the unique identifiers corresponding to the business data greater than 0 in the business data included in the initial decryption result to obtain the target decryption result. The target decryption result is a list of target unique identifiers, which includes multiple unique identifiers of the decrypted business data that are greater than 0.

[0168] Step 408-2: Summarize the decryption results of all identified targets to obtain the privacy computation results.

[0169] In practice, after decrypting the data in each third bin, multiple target decryption results are obtained. By summarizing these multiple target decryption results, the final privacy calculation result can be obtained.

[0170] In the privacy computing method provided by this invention, the first and second business data are binned using the number of bins. This ensures that both the initiating node's first computing device and the participating node's second computing device encrypt and transmit the business data in bins, effectively reducing the amount of encrypted data transmitted each time. In low-bandwidth, large-scale data scenarios, this significantly shortens data transmission time and improves data transmission efficiency. Furthermore, binning the business data separates the computation and transmission tasks, reducing serial processing in the overall task flow, enabling asynchronous task processing, fully utilizing CPU computing resources and bidirectional bandwidth resources, and effectively improving resource utilization.

[0171] Figure 5 This diagram illustrates the CPU and bandwidth resource utilization during the operation of a privacy computing method provided in an embodiment of the present invention. Figure 5As shown, (a) is a waveform diagram of CPU resource utilization during the operation of the privacy computing method provided in this embodiment of the invention, and (b) is a waveform diagram of transmission bandwidth resource utilization during the operation of the privacy computing method provided in this embodiment of the invention. Referring to (a) and (b), it can be seen that the privacy computing method provided in this embodiment of the invention can reduce the task execution time to 50% of the previous time, and makes full use of CPU resources and bidirectional bandwidth resources.

[0172] Figure 6 A schematic diagram of the complete interactive process of a privacy computing method provided in an embodiment of the present invention is shown, as follows: Figure 6 As shown, the method includes the following steps:

[0173] In step S601, the first computing device of the initiating node 11 generates a public key, a private key, and the number of bins.

[0174] In step S602, the first computing device of the initiating node 11 sends the public key, the preset quantity threshold, and the number of bins to the second computing device of the participating node 12.

[0175] In step S603, the second computing device of participating node 12 initializes the random number pool and generates a random number R.

[0176] In step S604, the first computing device of the initiating node 11 performs percentile binning on its own second business data based on the number of bins, and obtains multiple fourth bin data.

[0177] In step S605, the first computing device of the initiating node 11 uses the public key to encrypt the difference between each data in each fourth sub-bin and the preset data threshold in turn, thereby obtaining multiple second sub-bin data.

[0178] In step S606, the second computing device of participating node 12 performs percentile binning processing on its own first business data based on the number of bins, and obtains multiple fifth bin data.

[0179] In step S607, the second computing device of participating node 12 uses the public key to encrypt the data of each fifth sub-box in sequence to obtain multiple first sub-box data.

[0180] In step S608, the first computing device of the initiating node 11 stores multiple second sub-boxes into its own first queue according to the order to be sent.

[0181] In step S609, the first computing device of the initiating node 11 asynchronously sends the second sub-bin data to the second computing device of the participating node 12.

[0182] In step S610, the second computing device of the participating node 12 stores multiple second sub-bins of data into its own third queue according to the receiving order of the second sub-bins of data.

[0183] In step S611, the second computing device of the participating node 12 performs dense summation processing and random scaling processing based on random number R on each second bin data and the first bin data corresponding to the second bin data to obtain multiple third bin data.

[0184] In step S612, the second computing device of the participating node 12 stores multiple third sub-boxes of data into its own fourth queue according to the order to be sent.

[0185] In step S613, the second computing device of participating node 12 asynchronously sends the third sub-bin data to the first computing device of initiating node 11.

[0186] In step S614, the first computing device of the initiating node 11 stores multiple third-box data into its own second queue according to the receiving order of the third-box data.

[0187] In step S615, the first computing device of the initiating node 11 uses its private key to decrypt multiple third-box data in sequence, and obtains the target decryption result based on a preset value.

[0188] In step S616, the first computing device of the initiating node 11 summarizes the decryption results of all determined targets to obtain the privacy computing results.

[0189] Based on the same concept, this embodiment of the invention also provides a privacy computing method applied to a first computing device of the initiating node. Since this method is the same as the method in the privacy computing system of this embodiment of the invention, and the principle of solving the problem by this method is similar to that of the system, the implementation of this method can refer to the implementation of the system, and the repeated parts will not be described again.

[0190] like Figure 7 As shown, the privacy computing method provided in this embodiment of the invention may include the following steps:

[0191] Step S701: Generate a public key, a private key, and a number of bins, and send the public key and the number of bins to the second computing device of the participating node, so that the second computing device processes the first business data of the second computing device according to the public key and the number of bins to obtain multiple first bin data;

[0192] Step S702: Based on the number of sub-boxes and the public key, process the second business data of the first computing device to obtain multiple second sub-boxes, and send the multiple second sub-boxes to the second computing device so that the second computing device can obtain multiple third sub-boxes based on the multiple first sub-boxes and the multiple second sub-boxes.

[0193] Step S703: Receive multiple third-box data sent by the second computing device, and process the multiple third-box data using the private key to obtain the privacy computing result.

[0194] In some embodiments, based on the number of bins and the public key, the second business data of the first computing device is processed to obtain multiple second bin data, including:

[0195] Based on the number of bins, the second business data is binned by percentile to obtain multiple fourth bin data;

[0196] For any one of the multiple fourth bin data: using the public key, encrypt the difference between each data in the fourth bin data and the preset data threshold to obtain the second bin data.

[0197] In some embodiments, the second business data is binned by percentile based on the number of bins to obtain multiple fourth bins, including:

[0198] Based on the unique identifier of each second business data, sort the second business data.

[0199] Based on the number of bins and the results of sorting, the second business data is binned by percentile to obtain multiple fourth bins.

[0200] The data in each fourth bin comes from K unique data identifiers, where K is a positive integer.

[0201] In some embodiments, sending multiple second bin data to a second computing device includes:

[0202] According to the generation order of the second bin data, the data of multiple second bins are stored in the first queue in the first computing device;

[0203] The second bin data stored in the first queue is asynchronously sent to the second computing device.

[0204] In some embodiments, receiving multiple third-bin data sent by a second computing device, and processing the multiple third-bin data using a private key to obtain a privacy calculation result includes:

[0205] According to the receiving order of the third sub-box data, the multiple third sub-box data sent by the second computing device are stored in the second queue in the first computing device;

[0206] Using the private key, the data in the third bin obtained from the second queue is decrypted to obtain the initial decryption result. Based on the relationship between the initial decryption result and the preset value, the target decryption result is determined.

[0207] The privacy computation results are obtained by summarizing the decryption results of all identified targets.

[0208] In some embodiments, generating a public key, a private key, and a number of bins includes:

[0209] Public and private keys are generated based on the Paillier algorithm;

[0210] The number of boxes is determined based on the amount of data in the second business data, or a preset number is used as the number of boxes.

[0211] Based on the same concept, this embodiment of the invention also provides a privacy computing method and a second computing device for participating nodes. Since this method is the same as the method in the privacy computing system of this embodiment of the invention, and the principle of solving the problem by this method is similar to that of the system, the implementation of this method can refer to the implementation of the system, and the repeated parts will not be described again.

[0212] like Figure 8 As shown, the privacy computing method provided in this embodiment of the invention may include the following steps:

[0213] Step S801: After receiving the public key and bin data sent by the first computing device of the initiating node, the first business data of the second computing device is processed according to the public key and the number of bins to obtain multiple first bin data, wherein the public key, private key and bin number are generated by the first computing device.

[0214] Step S802: Based on multiple first box data and multiple second box data, multiple third box data are obtained, wherein the multiple second box data are obtained by the first computing device processing the second business data of the first computing device based on the number of boxes and the public key;

[0215] Step S803: Send multiple third-box data to the first computing device so that the first computing device can process the multiple third-box data using a private key to obtain privacy computing results.

[0216] In some embodiments, the first business data is processed according to the public key and the number of bins to obtain multiple first bin data, including:

[0217] Based on the number of bins, the first business data is binned by percentile to obtain multiple fifth bin data;

[0218] For any one of the multiple fifth bin data: use the public key to encrypt the fifth bin data to obtain the first bin data.

[0219] In some embodiments, based on the number of bins, the first business data is binned by percentile to obtain multiple fifth bin data, including:

[0220] Based on the unique identifier of each first business data, sort the first business data.

[0221] Based on the number of bins and the results of sorting, the first business data is binned by percentile to obtain multiple fifth bin data.

[0222] The data in each fifth bin comes from K unique data identifiers, where K is a positive integer.

[0223] In some embodiments, the unique identifier of the data corresponding to the first business data is the same as the unique identifier of the data corresponding to the second business data, and one first bin data corresponds to one second bin data.

[0224] Based on multiple first-box data and multiple second-box data, multiple third-box data are obtained, including:

[0225] For any one of the multiple second bin data: perform dense summation on the second bin data and the first bin data corresponding to the second bin data to obtain the sixth bin data, and use random numbers to perform random scaling on the sixth bin data to obtain the third bin data;

[0226] The random number is generated by the second computing device after receiving the public key and bin data sent by the first computing device.

[0227] In some embodiments, after obtaining multiple first bin data, the method further includes:

[0228] According to the receiving order of the second sub-bin data, the data of multiple second sub-bins are stored in the third queue in the second computing device;

[0229] The data from the second bin is retrieved sequentially from the third queue to obtain the data from the third bin.

[0230] In some embodiments, sending multiple third-divided data packets to a first computing device includes:

[0231] According to the generation order of the third bin data, the data of multiple third bins are stored in the fourth queue in the second computing device;

[0232] The data from the third bin stored in the fourth queue is asynchronously sent to the first computing device.

[0233] Based on the same concept, this embodiment of the invention also provides a privacy computing device. Since this device is the same as the device in the method of this embodiment of the invention, and the principle of the device in solving the problem is similar to that of the method, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0234] like Figure 9 As shown, the aforementioned privacy computing device may include the following modules:

[0235] Data processing module 901 is used to: generate a public key, a private key, and a number of bins, and send the public key and the number of bins to the second computing device of the participating node, so that the second computing device processes the first business data of the second computing device according to the public key and the number of bins to obtain multiple first bin data;

[0236] The first sub-bin encryption module 902 is used to: process the second business data of the first computing device of the initiating node based on the number of sub-bins and the public key, obtain multiple second sub-bin data, and send the multiple second sub-bin data to the second computing device, so that the second computing device can obtain multiple third sub-bin data based on the multiple first sub-bin data and the multiple second sub-bin data;

[0237] The bin decryption module 903 is used to: receive multiple third bin data sent by the second computing device, and process the multiple third bin data using a private key to obtain privacy computing results.

[0238] Based on the same concept, this embodiment of the invention also provides a privacy computing device. Since this device is the same as the device in the method of this embodiment of the invention, and the principle of the device in solving the problem is similar to that of the method, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0239] like Figure 10 As shown, the aforementioned privacy computing device may include the following modules:

[0240] The second bin encryption module 1001 is used to: after receiving the public key and bin data sent by the first computing device of the initiating node, process the first business data of the second computing device of the participating node according to the public key and the number of bins to obtain multiple first bin data, wherein the public key, private key and the number of bins are generated by the first computing device;

[0241] The binning calculation module 1002 is used to: obtain multiple third binning data based on multiple first binning data and multiple second binning data, wherein the multiple second binning data are obtained by the first computing device processing the second business data of the first computing device based on the number of binnings and the public key;

[0242] The data sending module 1003 is used to send multiple third-box data to the first computing device, so that the first computing device can use the private key to process the multiple third-box data and obtain privacy computing results.

[0243] Based on the same concept, this embodiment of the invention also provides a computing device. Since this computing device is the same computing device in the method of this embodiment of the invention, and the principle of solving the problem by this computing device is similar to that of this method, the implementation of this computing device can refer to the implementation of the method, and the repeated parts will not be described again.

[0244] The following reference Figure 11 To describe a computing device 100 according to this embodiment of the present invention. Figure 11 The computing device 100 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0245] like Figure 11 As shown, computing device 100 can be manifested as a general-purpose computing device, such as a terminal device. Components of computing device 100 may include, but are not limited to: server 110, memory 120, and bus 130 connecting different system components (including memory 120 and server 110). In a specific implementation, server 110 may be a computer system server of a clearing institution, and memory 120 may be any feasible storage component.

[0246] In one feasible implementation, server 110 performs the following steps by running executable instructions:

[0247] Generate a public key, a private key, and a number of bins, and send the public key and the number of bins to the second computing device of the participating node, so that the second computing device processes the first business data of the second computing device according to the public key and the number of bins to obtain multiple first bin data;

[0248] Based on the number of bins and the public key, the second business data of the first computing device is processed to obtain multiple second bin data, and the multiple second bin data are sent to the second computing device so that the second computing device can obtain multiple third bin data based on the multiple first bin data and the multiple second bin data;

[0249] The system receives multiple third-box data sent by the second computing device and processes the multiple third-box data using a private key to obtain privacy computing results.

[0250] In another feasible implementation, server 110 performs the following steps by running executable instructions:

[0251] After receiving the public key and bin data sent by the first computing device of the initiating node, the first business data of the second computing device is processed according to the public key and the number of bins to obtain multiple first bin data, wherein the public key, private key and the number of bins are generated by the first computing device;

[0252] Based on multiple first bin data and multiple second bin data, multiple third bin data are obtained. Among them, the multiple second bin data are obtained by the first computing device processing the second business data of the first computing device based on the number of bins and the public key.

[0253] Multiple third-box data are sent to the first computing device, so that the first computing device can process the multiple third-box data using a private key to obtain privacy computing results.

[0254] Furthermore, embodiments of the present invention also provide a computer-readable storage medium storing computer-executable instructions required to execute a server in the aforementioned computing device, comprising a program required to execute a server in the aforementioned computing device.

[0255] In some possible implementations, various aspects of the present invention may also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps of the modules in the privacy computing apparatus according to various exemplary embodiments of the present disclosure as described in the "Exemplary Methods" section above.

[0256] For example, a public key, a private key, and a number of bins are generated, and the public key and the number of bins are sent to the second computing device of the participating node. The second computing device processes the first business data of the second computing device according to the public key and the number of bins to obtain multiple first bins. Based on the number of bins and the public key, the second business data of the first computing device is processed to obtain multiple second bins. The multiple second bins are then sent to the second computing device so that the second computing device obtains multiple third bins based on the multiple first bins and the multiple second bins. The multiple third bins sent by the second computing device are received, and the multiple third bins are processed using the private key to obtain the privacy computation result.

[0257] For example, after receiving the public key and bin data sent by the first computing device of the initiating node, the second computing device processes the first business data according to the public key and the number of bins to obtain multiple first bin data, wherein the public key, private key and the number of bins are generated by the first computing device; based on the multiple first bin data and multiple second bin data, multiple third bin data are obtained, wherein the multiple second bin data are obtained by the first computing device processing the second business data of the first computing device based on the number of bins and the public key; the multiple third bin data are sent to the first computing device so that the first computing device can process the multiple third bin data using the private key to obtain the privacy computing result.

[0258] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0259] It should be noted that although several modules or sub-modules of the system have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of the present invention, the features and functions of two or more modules described above can be embodied in one module. Conversely, the features and functions of one module described above can be further divided and embodied by multiple modules.

[0260] Furthermore, although the operation of the modules of the system of the present invention is described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain operations may be omitted, multiple operations may be combined into one operation, and / or one operation may be broken down into multiple operations.

[0261] The invention has been described above with reference to block diagrams and / or flowcharts illustrating methods, apparatus (systems), and / or computer program products according to embodiments of the invention. It should be understood that a block of a block diagram and / or flowchart, as well as combinations of blocks of block diagrams and / or flowcharts, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, and / or other programmable data processing means to produce a machine such that the instructions, executable via the computer processor and / or other programmable data processing means, create methods for implementing the functions / actions specified in the blocks of the block diagrams and / or flowcharts.

[0262] Accordingly, the present invention can also be implemented using hardware and / or software (including firmware, resident software, microcode, etc.). Furthermore, the present invention can take the form of a computer program product on a computer-usable or computer-readable storage medium, having computer-usable or computer-readable program code implemented in the medium for use by or in conjunction with an instruction execution system. In the context of the present invention, a computer-usable or computer-readable medium can be any medium that can contain, store, communicate, transmit, or deliver a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0263] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A method of privacy computation, the method comprising: The method applied to a first computing device of an initiator node comprises: generating a public key, a private key and a number of bins, and sending the public key and the number of bins to a second computing device of a participant node, so that the second computing device processes first service data of the second computing device according to the public key and the number of bins to obtain a plurality of first bin data; processing second service data of the first computing device based on the number of bins and the public key to obtain a plurality of second bin data, and sending the plurality of second bin data to the second computing device, so that the second computing device obtains a plurality of third bin data according to the plurality of first bin data and the plurality of second bin data; receiving the plurality of third bin data sent by the second computing device, and processing the plurality of third bin data using the private key to obtain a privacy computing result.

2. The method of claim 1, wherein, The method further comprises: processing the second service data based on the number of bins to obtain a plurality of fourth bin data; for any one of the plurality of fourth bin data, respectively encrypting a difference between each data in the fourth bin data and a preset data threshold using the public key to obtain the second bin data.

3. The method of claim 2, wherein, The method further comprises: sorting each second service data based on a data unique identifier of the second service data; processing the second service data based on the number of bins and a result of the sorting to obtain the plurality of fourth bin data; wherein each fourth bin data includes data from N data unique identifiers, and N is a positive integer.

4. The method of claim 1, wherein, The method further comprises: storing the plurality of second bin data in a first queue in the first computing device according to a generation order of the second bin data; asynchronously sending the second bin data stored in the first queue to the second computing device.

5. The method of claim 1, wherein, The method further comprises: storing the plurality of third bin data sent by the second computing device in a second queue in the first computing device according to a receiving order of the third bin data; decrypting the third bin data obtained from the second queue using the private key to obtain an initial decryption result, and determining a target decryption result according to a size relationship between the initial decryption result and a preset value; summarizing all determined target decryption results to obtain the privacy computing result.

6. The method according to any one of claims 1 to 5, wherein, The method further comprises: generating the public key and the private key based on a Paillier algorithm. The number of bins is determined according to a data amount of the second service data, or a preset number of values is taken as the number of bins.

7. A method of privacy computation, the method comprising: The method applied to the second computing device of the participant node comprises: After receiving the public key and the bin data sent by the first computing device of the initiator node, processing first service data of the second computing device according to the public key and the number of bins to obtain a plurality of first bin data, wherein the public key, the private key and the number of bins are generated by the first computing device; According to the plurality of first bin data and a plurality of second bin data, a plurality of third bin data is obtained, wherein the plurality of second bin data is obtained by processing second service data of the first computing device based on the number of bins and the public key; The plurality of third bin data is sent to the first computing device, so that the first computing device processes the plurality of third bin data by using the private key to obtain a privacy calculation result.

8. The method of claim 7, wherein, The processing of the first service data of the second computing device according to the public key and the number of bins to obtain a plurality of first bin data comprises: Based on the number of bins, the first service data is processed by percentile binning to obtain a plurality of fifth bin data; For any one of the plurality of fifth bin data: using the public key, the fifth bin data is encrypted to obtain the first bin data.

9. The method of claim 8, wherein, The processing of the first service data by percentile binning based on the number of bins to obtain a plurality of fifth bin data comprises: Based on the data unique identifier of each first service data, each first service data is sorted; According to the number of bins and the result of the sorting processing, the first service data is processed by percentile binning to obtain the plurality of fifth bin data; Wherein, each fifth bin data includes data from K data unique identifiers, K is a positive integer.

10. The method of claim 7, wherein, The data unique identifier corresponding to the first service data is the same as the data unique identifier corresponding to the second service data, and one first bin data corresponds to one second bin data. The processing of the plurality of first bin data and the plurality of second bin data to obtain a plurality of third bin data comprises: For any one of the plurality of second bin data: the second bin data and the first bin data corresponding to the second bin data are processed by homomorphic summation to obtain sixth bin data, and the sixth bin data is processed by random scaling by using a random number to obtain the third bin data; Wherein, the random number is generated by the second computing device after receiving the public key and the bin data sent by the first computing device.

11. The method of any one of claims 7-10, wherein, After obtaining the plurality of first bin data, it further comprises: According to the receiving order of the second bin data, the plurality of second bin data is stored in a third queue in the second computing device; The second bin data is obtained from the third queue in sequence to obtain the third bin data.

12. The method of any one of claims 7-10, wherein, The sending of the plurality of third binned data to the first computing device comprises: storing the plurality of third binned data to a fourth queue in the second computing device according to the generation order of the third binned data; sending the third binned data stored in the fourth queue to the first computing device asynchronously.

13. A privacy computing system, comprising: The first computing device comprises an initiator node, and the second computing device comprises a participant node, wherein: The first computing device is configured to: generate a public key, a private key and a number of bins, and send the public key and the number of bins to the second computing device; process second business data of the first computing device based on the number of bins and the public key to obtain a plurality of second binned data, and send the plurality of second binned data to the second computing device; receive a plurality of third binned data sent by the second computing device, and process the plurality of third binned data using the private key to obtain a privacy computing result; The second computing device is configured to: process first business data of the second computing device according to the public key and the number of bins to obtain a plurality of first binned data; obtain the plurality of third binned data according to the plurality of first binned data and the plurality of second binned data; and send the plurality of third binned data to the first computing device.

14. A computing device, comprising: The first computing device comprises: a memory configured to store executable instructions; a processor configured to read and execute the executable instructions stored in the memory to implement the steps of the privacy computing method according to any one of claims 1-6.

15. A computing device, comprising: The second computing device comprises: a memory configured to store executable instructions; a processor configured to read and execute the executable instructions stored in the memory to implement the steps of the privacy computing method according to any one of claims 7-12.

Citation Information

Patent Citations

  • Multi-party secure computing method, device and system

    CN114785480A

  • Data hiding statistical query method and system based on privacy calculation

    CN117494177A