Data processing method, system and related device for converting boolean sharing into arithmetic sharing
Patent Information
- Application Number
- CN202310896724.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-20
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-07-20
AI Technical Summary
可以看出,本申请实施例中所描述的布尔分享转算术分享的数据处理方法、系统及相关设备,应用于三方计算系统,三方计算系统包括第一计算节点、第二计算节点和第三计算节点;第一计算节点、第二计算节点拥有第一比较结果数据,第三计算节点拥有第二比较结果数据,第一比较结果数据与第二比较结果数据之间的异或运算结果为预设值,通过第三计算节点获取随机数,根据随机数和第二比较结果数据确定第三比较结果数据;将随机数发送给第一计算节点;将第三比较结果数据发送给第二计算节点,通过第一计算节点根据第一比较结果数据、随机数确定第一运算结果,通过第二计算节点根据第一比较结果数据、第三比较结果数据确定第二运算结果;第一运算结果与第二运算结果的总和等于预设值,如此,计算过程通信量低,本地也只需简单的运算,不仅可以将布尔分享转化为算术分享,而且转化后的比较运算结果可以直接再进行算术运算,包括乘法、除法等,从而,满足了评分卡等模型的计算要求或者带判断条件的计算要求。
Smart Images

Figure CN116974519B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of privacy computing technology and computer technology, specifically to a data processing method, system, and related equipment for converting Boolean sharing to arithmetic sharing. Background Technology
[0002] In secure multi-party computation, the conversion between Boolean sharing (XOR sharing) and arithmetic sharing (additive sharing) is a common data processing procedure. Existing technologies often focus on converting arithmetic sharing to Boolean sharing before proceeding with comparison operations. However, in certain special scenarios, such as scorecard calculations or calculations with conditional statements, it is necessary to perform multiplication operations on the results of comparison operations. This necessitates a data processing method to convert Boolean sharing to arithmetic sharing. Therefore, the problem of how to convert Boolean sharing to arithmetic sharing urgently needs to be solved. Summary of the Invention
[0003] This application provides a data processing method, system, and related equipment for converting Boolean sharing to arithmetic sharing.
[0004] In a first aspect, embodiments of this application provide a data processing method for converting Boolean sharing to arithmetic sharing, applied to a three-party computing system, the three-party computing system including a first computing node, a second computing node, and a third computing node; the first computing node and the second computing node possess first comparison result data, and the third computing node possesses second comparison result data; the XOR operation result between the first comparison result data and the second comparison result data is a preset value; the method includes: A random number is obtained through the third computing node; a third comparison result is determined based on the random number and the second comparison result data; the random number is sent to the first computing node; and the third comparison result data is sent to the second computing node. The first calculation node determines the first calculation result based on the first comparison result data and the random number. The second computing node determines the second operation result based on the first comparison result data and the third comparison result data; the sum of the first operation result and the second operation result is equal to the preset value.
[0005] Secondly, embodiments of this application provide a three-party computing system, comprising a first computing node, a second computing node, and a third computing node; the first computing node and the second computing node possess first comparison result data, and the third computing node possesses second comparison result data; the XOR operation result between the first comparison result data and the second comparison result data is a preset value; wherein... The third computing node is used to obtain a random number, determine a third comparison result data based on the random number and the second comparison result data, send the random number to the first computing node, and send the third comparison result data to the second computing node. The first computing node is used to determine the first calculation result based on the first comparison result data and the random number; The second computing node is used to determine a second calculation result based on the first comparison result data and the third comparison result data; the sum of the first calculation result and the second calculation result is equal to the preset value.
[0006] Thirdly, embodiments of this application provide an electronic device, including a processor, a memory, a communication interface, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the processor, and the programs include instructions for performing the steps in the first aspect of embodiments of this application.
[0007] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program for electronic data interchange, wherein the computer program causes a computer to perform some or all of the steps described in the first aspect of embodiments of this application.
[0008] Fifthly, embodiments of this application provide a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps described in the first aspect of embodiments of this application. The computer program product may be a software installation package.
[0009] Implementing the embodiments of this application has the following beneficial effects: As can be seen, the Boolean sharing to arithmetic sharing data processing method, system and related equipment described in the embodiments of this application are applied to a three-party computing system, which includes a first computing node, a second computing node and a third computing node. The first computing node and the second computing node have first comparison result data, and the third computing node has second comparison result data. The XOR operation result between the first comparison result data and the second comparison result data is a preset value. A random number is obtained through the third computing node, and the third comparison result data is determined based on the random number and the second comparison result data. The random number is sent to the first computing node. The third comparison result data is sent to the second computing node. The first computing node determines the first operation result based on the first comparison result data and the random number, and the second computing node determines the second operation result based on the first comparison result data and the third comparison result data. The sum of the first operation result and the second operation result is equal to the preset value. In this way, the communication volume of the calculation process is low, and only simple calculations are required locally. It can not only convert Boolean sharing to arithmetic sharing, but also the converted comparison operation result can be directly used for arithmetic operations, including multiplication, division, etc., thereby meeting the calculation requirements of models such as scorecards or calculation requirements with judgment conditions. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 This is a schematic diagram of the structure of a third-party computing system for implementing a Boolean sharing to arithmetic sharing data processing method provided in an embodiment of this application; Figure 2 This is a schematic flowchart of a data processing method for converting Boolean sharing to arithmetic sharing, provided in an embodiment of this application. Figure 3 This is a flowchart illustrating another data processing method for converting Boolean sharing to arithmetic sharing provided in an embodiment of this application; Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0012] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0013] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0014] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0015] The computing nodes described in this application embodiment can be electronic devices, including smartphones (such as Android phones, iOS phones, Windows Phones, etc.), tablets, PDAs, dashcams, servers, laptops, mobile internet devices (MIDs), or wearable devices (such as smartwatches, Bluetooth headsets), etc. These are merely examples and not exhaustive; the electronic devices include, but are not limited to, those described above. The electronic device can also be a cloud server, or it can be a computer cluster. In this application embodiment, both the first computing node and the second computing node can be the aforementioned electronic devices.
[0016] The embodiments of this application will be described in detail below.
[0017] Please see Figure 1 , Figure 1This is a schematic diagram of the architecture of a third-party computing system for implementing a Boolean sharing to arithmetic sharing data processing method, provided in an embodiment of this application. As shown in the figure, this third-party computing system may include a first computing node, a second computing node, and a third computing node; the first computing node and the second computing node possess first comparison result data, and the third computing node possesses second comparison result data; the XOR operation result between the first comparison result data and the second comparison result data is a preset value; based on this third-party computing system, the following functions can be achieved: The third computing node is used to obtain a random number, determine a third comparison result data based on the random number and the second comparison result data, send the random number to the first computing node, and send the third comparison result data to the second computing node. The first computing node is used to determine the first calculation result based on the first comparison result data and the random number; The second computing node is used to determine a second calculation result based on the first comparison result data and the third comparison result data; the sum of the first calculation result and the second calculation result is equal to the preset value.
[0018] Optionally, in determining the first calculation result based on the first comparison result data and the random number, the first computing node is specifically used for: The first calculation result is determined by the first computing node according to the following formula:
[0019] in, This represents the result of the first operation; This represents the data of the first comparison result; This refers to the random number.
[0020] Optionally, in determining the second calculation result based on the first comparison result data and the third comparison result data, the second computing node is specifically used for: The second calculation result is determined by the second calculation node according to the following formula:
[0021] in, This represents the result of the first operation; This represents the data of the first comparison result; This represents the third comparison result data.
[0022] Optionally, in determining the third comparison result data based on the random number and the second comparison result data, the third computing node is specifically used for: The third comparison result data is determined according to the following formula:
[0023] in, This represents the third comparison result data; This represents the data from the second comparison result; This refers to the random number.
[0024] As can be seen, the three-party computing system described in this application embodiment includes a first computing node, a second computing node, and a third computing node. The first and second computing nodes possess first comparison result data, and the third computing node possesses second comparison result data. The XOR operation result between the first and second comparison result data is a preset value. A random number is obtained through the third computing node, and the third comparison result data is determined based on the random number and the second comparison result data. The random number is sent to the first computing node. The third comparison result data is sent to the second computing node. The first computing node determines the first operation result based on the first comparison result data and the random number, and the second computing node determines the second operation result based on the first and third comparison result data. The sum of the first and second operation results equals the preset value. Thus, the communication volume of the computing process is low, and only simple calculations are required locally. It can not only convert Boolean sharing into arithmetic sharing, but also allow the converted comparison operation results to be directly subjected to arithmetic operations, including multiplication and division. Therefore, it meets the computing requirements of models such as scorecards or computing requirements with judgment conditions.
[0025] In this embodiment, the Boolean share after comparison operation is converted into an arithmetic share by utilizing the special comparison result format of SecureNN, and the format of the arithmetic share is converted into a format that conforms to SecureNN multiplication operation. In addition, only one round of communication is required, the communication volume is low, and the local calculation only requires one step, resulting in high running efficiency.
[0026] Please see Figure 2 , Figure 2 This is a flowchart illustrating a data processing method for converting Boolean sharing to arithmetic sharing, provided in an embodiment of this application. It is applied to... Figure 1 The three-party computing system shown includes a first computing node, a second computing node, and a third computing node; the first computing node and the second computing node possess first comparison result data, and the third computing node possesses second comparison result data; the XOR operation result between the first comparison result data and the second comparison result data is a preset value; as shown in the figure, the data processing method for converting Boolean sharing to arithmetic sharing includes: 201. Obtain a random number through the third computing node, determine a third comparison result data based on the random number and the second comparison result data; send the random number to the first computing node; send the third comparison result data to the second computing node.
[0027] This application embodiment describes secure computation for neural networks (secureNN) for training neural networks. Specifically, the three-party computation system includes a first computation node, a second computation node, and a third computation node. The first and second computation nodes possess first comparison result data, and the third computation node possesses second comparison result data. The first comparison result data and the second comparison result data are XORed, and the resulting XOR operation is a preset value.
[0028] In this embodiment of the application, the preset value can be pre-set or be a system default, or the preset value can be a calculation result. In this embodiment, the third computing node can obtain a random number through a random algorithm, then determine the third comparison result data based on the random number and the second comparison result data, send the random number to the first computing node, and send the third comparison result data to the second computing node.
[0029] The comparison result data can be provided by other algorithms and is a type of data that can be used to implement Boolean sharing. In this embodiment, the main consideration is how to convert the comparison result data into arithmetic sharing after having it.
[0030] For example, let's say we want to calculate the function (x>y)*5, which is a non-linear function. This means that the function calculates 5 when x>y, and 0 otherwise. The comparison result of x>y is generated by other algorithms. The prerequisite in this embodiment is that we have obtained the Boolean sharing result of the comparison. However, this result cannot be directly multiplied by 5. Therefore, we need to convert the Boolean sharing to an arithmetic sharing before continuing the calculation.
[0031] For example, if you want to use privacy-preserving computation for credit scoring, a credit scoring card is a commonly used credit assessment tool used to calculate scores based on the credit information of individuals or businesses, thereby measuring their credit risk. Credit scoring cards are commonly used in scenarios such as federal credit assessment, federal financial services, and federal advertising recommendations. In credit scoring calculation, a step is needed to convert Boolean sharing to arithmetic sharing. Using the embodiments of this application, not only can Boolean sharing be converted to arithmetic sharing, but the comparison results after conversion can also be directly used for arithmetic operations, including multiplication and division, thus meeting the computational requirements of models such as credit scoring cards or computational requirements with judgment conditions.
[0032] Optionally, step 201 above, determining the third comparison result data based on the random number and the second comparison result data, can be implemented in the following manner: The third comparison result data is determined according to the following formula:
[0033] in, This represents the third comparison result data; This represents the data from the second comparison result; This refers to the random number.
[0034] In this embodiment, the random number and the second comparison result data can be summed to obtain the third comparison result data. Specifically, the third comparison result data is determined according to the following formula:
[0035] in, This represents the third comparison result data; This indicates the second comparison result data; Represents a random number.
[0036] 202. The first calculation node determines the first calculation result based on the first comparison result data and the random number.
[0037] In this embodiment of the application, the first computing node can determine the first operation result based on the first comparison result data and the random number, and perform Boolean sharing to arithmetic sharing.
[0038] Optionally, step 202 above, in which the first computing node determines the first calculation result based on the first comparison result data and the random number, can be implemented in the following manner: The first calculation result is determined by the first computing node according to the following formula:
[0039] in, This represents the result of the first operation; This represents the data of the first comparison result; This refers to the random number.
[0040] In this embodiment of the application, the first computing node can determine the first calculation result according to the following formula:
[0041] in, This represents the result of the first operation; This represents the first comparison result data; This represents a random number. Furthermore, it enables the conversion of Boolean sharing to arithmetic sharing.
[0042] 203. The second calculation node determines the second operation result based on the first comparison result data and the third comparison result data; the sum of the first operation result and the second operation result is equal to the preset value.
[0043] In this embodiment of the application, the second computing node can determine the second operation result based on the first comparison result data and the third comparison result data. The sum of the first operation result and the second operation result is equal to a preset value, thereby realizing the conversion of Boolean sharing to arithmetic sharing.
[0044] Optionally, step 203 above, in which the second computing node determines the second calculation result based on the first comparison result data and the third comparison result data, can be implemented in the following manner: The second calculation result is determined by the second calculation node according to the following formula:
[0045] in, This represents the result of the first operation; This represents the data of the first comparison result; This represents the third comparison result data.
[0046] In this embodiment of the application, the second computing node can determine the second calculation result according to the following formula:
[0047] in, This represents the result of the first operation; This represents the first comparison result data; This represents the third comparison result data, thereby enabling the conversion of Boolean sharing to arithmetic sharing.
[0048] For example, Figure 3 As shown, the participants can include three secure multi-party computation nodes: p0, p1, and p2. In the specific implementation, all three parties possess the comparison result data, with p0 and p1 possessing the data. p2 has data ,satisfy p2 Get random numbers ,calculate ,Will Send to p0, Send to p1. P0 calculates. p1 calculation At this point, satisfaction is achieved. This method converts Boolean sharing into arithmetic sharing. Through this conversion process, the comparison results can be directly used for arithmetic operations, including multiplication and division, which meets the calculation requirements of models such as scorecards. In addition, this data processing method only requires one round of communication, with low communication volume and only simple local calculations. Compared with other Boolean to arithmetic conversion methods, it has high running efficiency.
[0049] In this embodiment of the application, by utilizing the special comparison result ownership method of secureNN, p1 is used to own the result. This feature led to the design of a special Boolean-to-arithmetic-sharing data processing method specifically for SecureNN. In its implementation, the conversion can be completed with only one round of communication and a small amount of computation, resulting in high efficiency.
[0050] As can be seen, the Boolean sharing to arithmetic sharing data processing method described in this application embodiment is applied to a three-party computing system, which includes a first computing node, a second computing node, and a third computing node. The first and second computing nodes have first comparison result data, and the third computing node has second comparison result data. The XOR operation result between the first and second comparison result data is a preset value. A random number is obtained through the third computing node, and the third comparison result data is determined based on the random number and the second comparison result data. The random number is sent to the first computing node. The third comparison result data is sent to the second computing node. The first computing node determines the first operation result based on the first comparison result data and the random number, and the second computing node determines the second operation result based on the first and third comparison result data. The sum of the first operation result and the second operation result equals the preset value. Thus, the communication volume of the calculation process is low, and only simple calculations are required locally. It can not only convert Boolean sharing to arithmetic sharing, but also allow the converted comparison operation result to be directly subjected to arithmetic operations, including multiplication and division, thereby meeting the calculation requirements of models such as scorecards or calculation requirements with judgment conditions.
[0051] Consistent with the above embodiments, please refer to Figure 4 , Figure 4This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. As shown in the figure, the electronic device includes a processor, a memory, a communication interface, and one or more programs, applied to a third-party computing system. The third-party computing system includes a first computing node, a second computing node, and a third computing node. The first computing node and the second computing node have first comparison result data, and the third computing node has second comparison result data. The XOR operation result between the first comparison result data and the second comparison result data is a preset value. The one or more programs are stored in the memory and configured to be executed by the processor. In this embodiment, the programs include instructions for performing the following steps: A random number is obtained through the third computing node; a third comparison result is determined based on the random number and the second comparison result data; the random number is sent to the first computing node; and the third comparison result data is sent to the second computing node. The first calculation node determines the first calculation result based on the first comparison result data and the random number. The second computing node determines the second operation result based on the first comparison result data and the third comparison result data; the sum of the first operation result and the second operation result is equal to the preset value.
[0052] Optionally, in determining the first calculation result by the first computing node based on the first comparison result data and the random number, the above procedure includes instructions for performing the following steps: The first calculation result is determined by the first computing node according to the following formula:
[0053] in, This represents the result of the first operation; This represents the data of the first comparison result; This refers to the random number.
[0054] Optionally, in determining the second calculation result based on the first comparison result data and the third comparison result data through the second computing node, the above program includes instructions for performing the following steps: The second calculation result is determined by the second calculation node according to the following formula:
[0055] in, This represents the result of the first operation; This represents the data of the first comparison result; This represents the third comparison result data.
[0056] Optionally, in determining the third comparison result data based on the random number and the second comparison result data, the above procedure includes instructions for performing the following steps: The third comparison result data is determined according to the following formula:
[0057] in, This represents the third comparison result data; This represents the data from the second comparison result; This refers to the random number.
[0058] As can be seen, the electronic device described in this application embodiment is applied to a three-party computing system, which includes a first computing node, a second computing node, and a third computing node. The first and second computing nodes have first comparison result data, and the third computing node has second comparison result data. The XOR operation result between the first and second comparison result data is a preset value. A random number is obtained through the third computing node, and the third comparison result data is determined based on the random number and the second comparison result data. The random number is sent to the first computing node. The third comparison result data is sent to the second computing node. The first computing node determines the first operation result based on the first comparison result data and the random number, and the second computing node determines the second operation result based on the first and third comparison result data. The sum of the first and second operation results equals the preset value. Thus, the communication volume of the calculation process is low, and only simple calculations are required locally. It can not only convert Boolean sharing into arithmetic sharing, but also directly perform arithmetic operations, including multiplication and division, after conversion. Therefore, it meets the calculation requirements of models such as scorecards or calculation requirements with judgment conditions.
[0059] This application also provides a computer storage medium storing a computer program for electronic data interchange, which causes a computer to perform some or all of the steps of any of the methods described in the above method embodiments, wherein the computer includes an electronic device.
[0060] This application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods described in the above method embodiments. The computer program product may be a software installation package, and the computer may include an electronic device.
[0061] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0062] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0063] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical or other forms.
[0064] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0065] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0066] If the aforementioned integrated units are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0067] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage device, which may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.
[0068] The embodiments of this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A data processing method for converting Boolean sharing to arithmetic sharing, characterized in that, This is applied to a third-party computing system, which includes a first computing node, a second computing node, and a third computing node; the first computing node and the second computing node possess first comparison result data, and the third computing node possesses second comparison result data; The XOR operation result between the first comparison result data and the second comparison result data is a preset value; the method includes: A random number is obtained through the third computing node; a third comparison result is determined based on the random number and the second comparison result data; the random number is sent to the first computing node; and the third comparison result data is sent to the second computing node. The first calculation node determines the first calculation result based on the first comparison result data and the random number. The second computing node determines the second operation result based on the first comparison result data and the third comparison result data; the sum of the first operation result and the second operation result is equal to the preset value.
2. The method according to claim 1, characterized in that, The step of determining the first calculation result through the first computing node based on the first comparison result data and the random number includes: The first calculation result is determined by the first computing node according to the following formula: in, This represents the result of the first operation; This represents the data of the first comparison result; This refers to the random number.
3. The method according to claim 2, characterized in that, The step of determining the second calculation result through the second computing node based on the first comparison result data and the third comparison result data includes: The second calculation result is determined by the second calculation node according to the following formula: in, This represents the result of the first operation; This represents the data of the first comparison result; This represents the third comparison result data.
4. The method according to claim 3, characterized in that, The step of determining the third comparison result data based on the random number and the second comparison result data includes: The third comparison result data is determined according to the following formula: in, This represents the third comparison result data; This represents the data from the second comparison result; This refers to the random number.
5. A three-party computing system, characterized in that, The three-party computing system includes a first computing node, a second computing node, and a third computing node; the first computing node and the second computing node have first comparison result data, and the third computing node has second comparison result data; The XOR operation result between the first comparison result data and the second comparison result data is a preset value; wherein, The third computing node is used to obtain a random number, determine a third comparison result data based on the random number and the second comparison result data, send the random number to the first computing node, and send the third comparison result data to the second computing node. The first computing node is used to determine the first calculation result based on the first comparison result data and the random number; The second computing node is used to determine a second calculation result based on the first comparison result data and the third comparison result data; the sum of the first calculation result and the second calculation result is equal to the preset value.
6. The system according to claim 5, characterized in that, In determining the first calculation result based on the first comparison result data and the random number, the first computing node is specifically used for: The first calculation result is determined by the first computing node according to the following formula: in, This represents the result of the first operation; This represents the data of the first comparison result; This refers to the random number.
7. The system according to claim 6, characterized in that, In determining the second calculation result based on the first comparison result data and the third comparison result data, the second calculation node is specifically used for: The second calculation result is determined by the second calculation node according to the following formula: in, This represents the result of the first operation; This represents the data of the first comparison result; This represents the third comparison result data.
8. The system according to claim 7, characterized in that, In determining the third comparison result data based on the random number and the second comparison result data, the third computing node is specifically used for: The third comparison result data is determined according to the following formula: in, This represents the third comparison result data; This represents the data from the second comparison result; This refers to the random number.
9. An electronic device, characterized in that, It includes a processor and a memory, the memory being used to store one or more programs and configured to be executed by the processor, the programs including instructions for performing the steps of the method as described in any one of claims 1-4.
10. A computer-readable storage medium, characterized in that, A computer program for storing electronic data interchange is provided, wherein the computer program causes a computer to perform the method as described in any one of claims 1-4.
Citation Information
Patent Citations
Secret sharing method, device and system based on multi-party computing
CN113343291A
Systems and methods for secure data computing and algorithm sharing
US20210359837A1