Fusion method of federated learning and multi-party security computing and application device thereof

By using the secure operator service interface in federated learning and multi-party security computing for decoupling and supporting multiple security operator protocols, the serious coupling of federated learning and multi-party security computing in the prior art is solved, and a fusion method with high adaptability and flexibility is achieved.

CN120124097APending Publication Date: 2025-06-10CHINA UNIONPAY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510170449.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-14
Publication Date
2025-06-10

AI Technical Summary

Technical Problem

In the prior art, federated learning and multi-party security computing are severely coupled, resulting in adaptability problems, making it difficult to quickly respond to different business needs and security requirements.

Method used

By using the security operator service interface, the federated learning algorithm is decoupled from the operators and algorithms in multi-party security computing, and it supports the call of multiple security operator protocols, making the combination of algorithms and multi-party security operator protocols more flexible.

Benefits of technology

The high adaptability and flexibility of federated learning and multi-party security computing are achieved, and the need to secondary development of federated learning algorithms is avoided to adapt to multi-party security computing protocols is improved, and the flexibility and adaptability of the system are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120124097A_ABST
    Figure CN120124097A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a federated learning and multi-party security computing fusion method and an application device thereof. The method comprises the following steps: receiving a multi-party computing task adopting a federated learning algorithm; executing the multi-party computing task by using a security operator service, and controlling a participant to execute the multi-party computing task by using a federated learning algorithm to obtain a computing result of the multi-party computing task; wherein in the process of executing the multi-party computing task, target data required by the federated learning algorithm is interacted with the participant, and the target data is data obtained after the security operator service is called through the security operator service interface to perform privacy computing on the to-be-computed data; and outputting a calculation result. A federated learning algorithm is decoupled from operators and algorithms in multi-party security calculation by using a security operator service interface, so that various multi-party security operator protocols can be called, and the combination of the algorithms and the multi-party security operator protocols is more flexible; secondly, recombining the algorithm based on a security operator, and executing a multi-party computing task;
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of privacy computing technology, and particularly to a fusion method, device, system, electronic device, storage medium, and program product for federated learning and multi-party secure computation. Background Art

[0002] Federated learning is a distributed machine learning method that allows multiple participants to collaboratively train a model without sharing raw data, protecting data privacy by computing model updates locally and only sharing the updates (such as model parameters or gradients). Multi-party secure computation (MPC) is a cryptographic technique that allows multiple participants to jointly compute the value of a function without revealing their respective inputs; it ensures the privacy of the input data and will not be leaked even during the computation process.

[0003] Federated learning and multi-party secure computation each have their own advantages in privacy computing, but in the prior art, both multi-party secure computation and federated learning are at the computing layer and are severely coupled. For different business requirements, the federated learning algorithm needs to be adapted to different multi-party secure computation protocols, and each cooperation requires operations such as secondary development of the algorithm and security verification, resulting in adaptation problems; due to the coupling problem, it is not flexible enough to quickly respond to different business requirements and security requirements. Summary of the Invention

[0004] Based on the above problems, embodiments of this application provide a fusion method, device, system, electronic device, storage medium, and program product for federated learning and multi-party secure computation, so as to achieve the fusion of federated learning and multi-party secure computation, with high adaptability and flexibility.

[0005] In a first aspect, embodiments of this application provide a fusion method for federated learning and multi-party secure computation, and the method includes:

[0006] Receiving a multi-party computation task using a federated learning algorithm;

[0007] Using a secure operator service to execute the multi-party computation task, and controlling the participants to execute the multi-party computation task using the federated learning algorithm, to obtain the computation result of the multi-party computation task; wherein, during the execution of the multi-party computation task, interacting with the participants the target data required by the federated learning algorithm, where the target data is the data obtained by performing privacy computation on the data to be computed by invoking the secure operator service through the secure operator service interface; the secure operator service interface supports invoking multiple secure operator protocols;

[0008] Outputting the computation result.

[0009] In one of the embodiments, using a secure operator service to execute the multi-party computation task specifically includes:

[0010] Obtain a target security operator and a target security operator protocol from a multi-party computing task;

[0011] Invoke the target security operator and the target security operator protocol through a security operator service interface;

[0012] Use the target security operator and the target security operator protocol to execute a multi-party computing task.

[0013] In one embodiment, obtaining a target security operator and a target security operator protocol from a multi-party computing task includes:

[0014] Obtain a task number, an operator expression, and a target security operator protocol from the multi-party computing task, where the task number is used to associate a federated learning algorithm with the target security operator;

[0015] Obtain the target security operator according to the operator expression; wherein, the operator expression is composed of different security operators.

[0016] In one embodiment, the method further includes:

[0017] Obtain first data to be calculated, a calculation result return method, and a participant identifier from the multi-party computing task;

[0018] Control the participant to use the federated learning algorithm to execute the multi-party computing task through the participant identifier;

[0019] Obtain the calculation result of the multi-party computing task through the security operator service according to the first data to be calculated and the second data to be calculated of the participant; wherein, the calculation result return method is the method for obtaining the calculation result of the multi-party computing task.

[0020] In one embodiment, controlling the participant to use the federated learning algorithm to execute the multi-party computing task includes:

[0021] Receive a multi-party computing task request sent by the initiator and send a multi-party computing task request to the participant; the multi-party task computing request is used to control the participant to use the federated learning algorithm to execute the multi-party computing task;

[0022] Receive a multi-party computing task response returned by the participant; the multi-party computing task response is a response of the participant using the federated learning algorithm to execute the multi-party computing task;

[0023] Return the multi-party computing task response to the initiator.

[0024] In one embodiment, using the security operator service to execute the multi-party computing task and controlling the participant to use the federated learning algorithm to execute the multi-party computing task to obtain the calculation result of the multi-party computing task specifically includes:

[0025] Obtain the first data to be calculated from the multi-party computing task;

[0026] Communicate with the participating parties to obtain the second data to be calculated; the second data to be calculated is obtained from the multi-party calculation tasks received through the secure operator service interface;

[0027] Use the secure operator service to obtain the calculation result of the multi-party calculation task based on the first data to be calculated and the second data to be calculated.

[0028] In one embodiment, using the secure operator service to obtain the calculation result of the multi-party calculation task based on the first data to be calculated and the second data to be calculated includes:

[0029] Slice the first data to be calculated to obtain slices of the first data to be calculated; the slices of the first data to be calculated include a first slice, a second slice, and a third slice;

[0030] Correspondingly, the participating parties slice the second data to be calculated to obtain slices of the second data to be calculated; the slices of the second data to be calculated include a first slice, a second slice, and a third slice;

[0031] Send the first initial calculation result to the participating parties, where the first initial calculation result includes the first slice and the second slice of the first data to be calculated;

[0032] Receive the second initial calculation result sent by the participating parties, where the second initial calculation result includes the first slice and the second slice of the second data to be calculated;

[0033] Generate a first calculation result based on the first data to be calculated, the first initial calculation result, and the second initial calculation result; correspondingly, the participating parties generate a second calculation result based on the second data to be calculated, the first initial calculation result, and the second initial calculation result;

[0034] Exchange the first calculation result and the second calculation result with the participating parties to obtain the privacy calculation result of the first data to be calculated and the second data to be calculated.

[0035] In one embodiment, send the first initial calculation result to the participating parties;

[0036] Receiving the second initial calculation result sent by the participating parties specifically includes:

[0037] Generate a first random value and a second random value, where the sum of the first random value and the second random value is zero;

[0038] Correspondingly, the participating parties generate a third random value and a fourth random value;

[0039] Send the second random value to the participating parties;

[0040] Receive the third random value sent by the participating parties;

[0041] Obtain a first initial calculation result based on a first random value, a third random value, a first shard and a second shard of first data to be calculated;

[0042] Correspondingly, a second initial calculation result is obtained by a second secure operator node based on a second random value, a fourth random value, a first shard and a second shard of second data to be calculated.

[0043] In one embodiment, a secure operator service is used to perform a multi-party calculation task, and the participating parties are controlled to use a federated learning algorithm to perform the multi-party calculation task to obtain a calculation result of the multi-party calculation task, including:

[0044] Calculate a first local gradient according to the multi-party calculation task using the secure operator service;

[0045] Interact with the participating parties for a second local gradient required by the federated learning algorithm; the second local gradient is calculated by the participating parties using the secure operator service according to the multi-party calculation task; wherein, the first local gradient and the second local gradient are used to train a model;

[0046] Calculate a loss function and model parameters based on the first local gradient and the second local gradient; the loss function and the model parameters are used for the server to aggregate the parameters and then update the model parameters.

[0047] In one embodiment, calculating a first local gradient according to the multi-party calculation task using the secure operator service includes:

[0048] Perform equal-frequency binning on the data of the initiator;

[0049] Calculate a first-order gradient and a second-order gradient for the data after equal-frequency binning, and combine the first-order gradient and the second-order gradient as the first local gradient.

[0050] In one embodiment, the second local gradient is calculated by the participating parties using the secure operator service according to the multi-party calculation task; including:

[0051] Perform equal-frequency binning on the data of the participating parties;

[0052] Calculate a first-order gradient and a second-order gradient for the data after equal-frequency binning, and combine the first-order gradient and the second-order gradient as the second local gradient.

[0053] In a second aspect, an embodiment of the present application provides a method for fusing federated learning and multi-party secure calculation, including:

[0054] Receive a multi-party calculation task using a federated learning algorithm;

[0055] Execute a multi-party computing task using the secure operator service to obtain the calculation result of the multi-party computing task; wherein, during the execution of the multi-party computing task, interact with the initiator for the target data required by the federated learning algorithm, where the target data is the data obtained by performing privacy computing on the data to be calculated by invoking the secure operator service through the secure operator service interface; the secure operator service interface supports invoking multiple secure operator protocols;

[0056] Output the calculation result.

[0057] Thirdly, an embodiment of the present application provides a method for integrating federated learning and multi-party secure computing. The secure operator server includes multiple nodes, and the method includes:

[0058] Send a multi-party computing task to the first secure operator node through the secure operator service interface; the multi-party computing task is generated using the federated learning algorithm;

[0059] Obtain the calculation result returned by the first secure operator node. The calculation result is obtained by using the secure operator service to execute the multi-party computing task and controlling the participating parties to execute the multi-party computing task using the federated learning algorithm. During the execution of the multi-party computing task, interact with the participating parties for the target data required by the federated learning algorithm, where the target data is the data obtained by performing privacy computing on the data to be calculated by invoking the secure operator service through the secure operator service interface; the secure operator service interface supports invoking multiple secure operator protocols.

[0060] Fourthly, an embodiment of the present application provides a method for integrating federated learning and multi-party secure computing. The secure operator server includes multiple nodes, and the method includes:

[0061] Send a multi-party computing task to the second secure operator node through the secure operator service interface; the multi-party computing task is generated using the federated learning algorithm;

[0062] Obtain the calculation result returned by the second secure operator node. The calculation result is obtained by using the secure operator service to execute the multi-party computing task. During the execution of the multi-party computing task, interact with the initiator for the target data required by the federated learning algorithm, where the target data is the data obtained by performing privacy computing on the data to be calculated by invoking the secure operator service through the secure operator service interface; the secure operator service interface supports invoking multiple secure operator protocols.

[0063] Fifthly, an embodiment of the present application provides a device for integrating federated learning and multi-party secure computing, including:

[0064] A receiving module, configured to receive a multi-party computing task using the federated learning algorithm;

[0065] A processing module, configured to perform a multi-party computing task using a secure operator service, and control participants to perform the multi-party computing task using a federated learning algorithm to obtain a calculation result of the multi-party computing task; wherein, during the execution of the multi-party computing task, target data required for the federated learning algorithm is interacted with the participants, and the target data is data obtained by performing privacy computing on data to be calculated by calling the secure operator service through a secure operator service interface; the secure operator service interface supports calling multiple secure operator protocols;

[0066] An output module, configured to output the calculation result.

[0067] In a sixth aspect, an embodiment of the present application provides a fusion device for federated learning and multi-party secure computing, including:

[0068] A receiving module, configured to receive a multi-party computing task using a federated learning algorithm;

[0069] A processing module, configured to perform a multi-party computing task using a secure operator service to obtain a calculation result of the multi-party computing task; wherein, during the execution of the multi-party computing task, target data required for the federated learning algorithm is interacted with the initiator, and the target data is data obtained by performing privacy computing on data to be calculated by calling the secure operator service through a secure operator service interface; the secure operator service interface supports calling multiple secure operator protocols;

[0070] An output module, configured to output the calculation result.

[0071] In a seventh aspect, an embodiment of the present application provides a fusion device for federated learning and multi-party secure computing, including:

[0072] A sending module, configured to send a multi-party computing task to a first secure operator node through a secure operator service interface; the multi-party computing task is generated using a federated learning algorithm;

[0073] An obtaining module, configured to obtain a calculation result returned by the first secure operator node, where the calculation result is obtained by performing a multi-party computing task using a secure operator service and controlling participants to perform the multi-party computing task using a federated learning algorithm; wherein, during the execution of the multi-party computing task, target data required for the federated learning algorithm is interacted with the participants, and the target data is data obtained by performing privacy computing on data to be calculated by calling the secure operator service through a secure operator service interface; the secure operator service interface supports calling multiple secure operator protocols.

[0074] In an eighth aspect, an embodiment of the present application provides a fusion device for federated learning and multi-party secure computing, including:

[0075] A sending module, configured to send a multi-party computing task to a second security operator node through a security operator service interface; the multi-party computing task is generated by using a federated learning algorithm;

[0076] A obtaining module, configured to obtain a computing result returned by the second security operator node, where the computing result is obtained by using a security operator service to execute the multi-party computing task, and the computing result of the multi-party computing task is obtained; wherein, during the execution of the multi-party computing task, target data required by the federated learning algorithm is interacted with the initiator, and the target data is data obtained by performing privacy computing on the data to be computed by calling a security operator service through the security operator service interface; the security operator service interface supports calling multiple security operator protocols.

[0077] In a ninth aspect, an embodiment of the present application provides an electronic device, including: a memory and a processor;

[0078] The memory stores computer-executable instructions;

[0079] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the method as described in any one of the above.

[0080] In a tenth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored, and when the computer-executable instructions are executed by a processor, they are used to implement the method as described in any one of the above.

[0081] In an eleventh aspect, an embodiment of the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the method as described in any one of the above.

[0082] In a twelfth aspect, an embodiment of the present application provides a fusion system for federated learning and multi-party secure computing, including an initiator, a participant, and a security operator server; the security operator server includes multiple security operator nodes; the initiator is communicatively connected to a first security operator node through a security operator service interface; the participant is communicatively connected to a second security operator node through a security operator service interface; the first security operator node is communicatively connected to the second security operator node;

[0083] The initiator is configured to execute the method as described above;

[0084] The security operator server is configured to execute the method as described in any one of the above;

[0085] The participant is configured to execute the method as described above.

[0086] A fusion method, device, system, electronic device, storage medium, and program product for federated learning and multi-party secure computation provided by an embodiment of the present application. The method includes: receiving a multi-party computation task using a federated learning algorithm; using a secure operator service to execute the multi-party computation task and controlling the participants to use the federated learning algorithm to execute the multi-party computation task to obtain the computation result of the multi-party computation task; wherein, during the execution of the multi-party computation task, target data required by the federated learning algorithm is interacted with the participants, and the target data is data obtained by performing privacy computation on the data to be computed by invoking the secure operator service through the secure operator service interface; the secure operator service interface supports invoking multiple secure operator protocols; outputting the computation result. By using the secure operator service interface in the present application, the federated learning algorithm is decoupled from the operators and algorithms in multi-party secure computation. Through the secure operator service interface, multiple multi-party secure operator protocols can be invoked, making the combination of algorithms and multi-party secure operator protocols more flexible, and avoiding the need for secondary development of the federated learning algorithm to adapt to the multi-party secure computation protocol in the face of different business requirements; secondly, based on the secure operator, the algorithm is recombined, and the secure operator service is used to execute the multi-party computation task, thereby obtaining the computation result of the multi-party computation task. This method supports the computation tasks in multi-party secure computation and the federated learning algorithm, has good adaptability, and has high flexibility. BRIEF DESCRIPTION OF THE DRAWINGS

[0087] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application.

[0088] Figure 1 It is a flowchart of a fusion method for federated learning and multi-party secure computation provided by an embodiment of the present application;

[0089] Figure 2 It is a schematic structural diagram of the fusion of federated learning and multi-party secure computation provided by an embodiment of the present application;

[0090] Figure 3 It is a flowchart of a method for a first secure operator node to execute a multi-party computation task using a secure operator service in an embodiment of the present application;

[0091] Figure 4 It is a flowchart of the implementation logic of a secure operator provided by an embodiment of the present application;

[0092] Figure 5 It is a flowchart of the implementation logic of a secure operator provided by an embodiment of the present application;

[0093] Figure 6 It is a schematic diagram of the interaction logic between a secure operator and an application algorithm layer provided by an embodiment of the present application;

[0094] Figure 7The flowchart of the vertical logistic regression algorithm based on homomorphic encryption in an embodiment of the present application;

[0095] Figure 8 The structural schematic diagram of the vertical logistic regression algorithm based on secure operators provided in an embodiment of the present application;

[0096] Figure 9 The flowchart schematic diagram of the federated XGB algorithm based on secure operators provided in an embodiment of the present application;

[0097] Figure 10 The structural schematic diagram of the electronic device provided by the present application;

[0098] Figure 11 The federated learning and multi-party secure computing fusion system provided in an embodiment of the present application.

[0099] Through the above-mentioned drawings, the specific embodiments of the present application have been shown, and there will be more detailed descriptions hereinafter. These drawings and textual descriptions are not intended to limit the scope of the concept of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. Detailed Description of the Embodiments

[0100] Here, the exemplary embodiments will be described in detail, and the examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0101] First, the terms involved in the present application are explained:

[0102] Federated Learning is a distributed machine learning method that aims to protect data privacy while using the data of multiple devices or organizations to train a global model; without centrally storing data, it collaboratively trains a machine learning model to protect the privacy and security of data. Instead of providing the original data, the parameters of the model are sent to the server, and the server updates the global model according to the model parameters and sends them back to each device. Each device can continue to train on the local data based on the global model, thereby achieving the protection of data privacy and security.

[0103] Multi-Party Computation (MPC) is a cryptographic technique that allows multiple participating parties to jointly calculate the value of a function without revealing their respective inputs; it ensures the privacy of the input data and will not be leaked even during the calculation process.

[0104] Secure operator: An atomic computational operation constructed based on multi-party secure computation (MPC) protocols such as homomorphic encryption and secret sharing; secure operators can be simple arithmetic operations, logical operations, or complex algorithms such as operations of machine learning models.

[0105] Operator expression: A way to express computational logic using secure operators, which is the combination rule of secure operators, that is, how to combine different secure operators to achieve specific computational tasks.

[0106] Secure operator protocol: Rules that define how secure operators interact and cooperate, including data formats, communication protocols, error handling, security policies, etc.; ensure the compatibility and interoperability between different secure operators so that they can work under a unified framework.

[0107] Federated learning and multi-party secure computation each have their own advantages in privacy computation. However, in the existing technologies, both multi-party secure computation and federated learning are at the computational layer and are severely coupled. For different business requirements, federated learning algorithms need to be adapted to different multi-party secure computation protocols, and each cooperation requires secondary development of the algorithm and security verification operations, resulting in adaptability problems; due to the coupling problem, it is not flexible enough to quickly respond to different business requirements and security requirements.

[0108] A method for integrating federated learning and multi-party secure computation provided by this application decouples the federated learning algorithm from the operators and algorithms in multi-party secure computation through the use of a secure operator service interface. Through the secure operator service interface, multiple multi-party secure operator protocols can be called, making the combination of algorithms and multi-party secure operator protocols more flexible, and avoiding the need to re-develop the federated learning algorithm to adapt to the multi-party secure computation protocol when facing different business requirements; secondly, the algorithm is reorganized based on secure operators, and the secure operator service is used to execute multi-party computational tasks, thereby obtaining the computational results of multi-party computational tasks. This method supports computational tasks in multi-party secure computation and federated learning algorithms, has good adaptability, and has high flexibility.

[0109] The following uses specific embodiments to elaborate in detail on the technical solutions of this application and how the technical solutions of this application solve the above technical problems. These several specific embodiments below can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The following will describe the embodiments of this application in conjunction with the accompanying drawings.

[0110] The embodiments of this application provide a method for integrating federated learning and multi-party secure computation, as Figure 1 shown, Figure 1 is the flowchart of the method for integrating federated learning and multi-party secure computation provided by an embodiment of this application. The method includes the following steps:

[0111] Step S101: The initiator sends a multi-party computation task to the first security operator node through the security operator service interface.

[0112] Specifically, the initiator includes an algorithm component, and the algorithm component includes a federated learning algorithm. The multi-party computation task is generated by the federated learning algorithm, or rather, the federated learning algorithm executes the multi-party computation task. The algorithms and operators in the federated learning algorithm are standardized through the security operator service interface, so that they can be recognized and used by the security operator repository in multi-party secure computation. That is, the initiator calls the security operators and operator protocols in the first security operator node through the security operator service interface to execute the multi-party computation task.

[0113] Such as Figure 2 shown, Figure 2 is a schematic structural diagram of the fusion of federated learning and multi-party secure computation provided by an embodiment of the present application. The business requirements require the cooperation of both the initiator and the participant for computation. However, due to data security and data privacy issues, privacy computation is required. Both the initiator and the participant need to determine the multi-party computation task F(X, Y) based on the business requirements through the federated learning algorithm. The security operators in the multi-party computation task determined by the federated learning algorithm are sent through the security operator service interface. That is, the initiator executes the multi-party computation task based on local data through the security operator At the same time, the participant executes the multi-party computation task based on local data through the security operator The security operators in the first security operator node and the second security operator node are respectively called through the security operator service interface , , The security operators of the initiator and the participant adopt the same computing logic, execute the multi-party computation task, and perform data interaction to obtain the calculation result of the final multi-party computation task. Adopt

[0114] Step S102: The first security operator node uses the security operator service to execute the multi-party computation task.

[0115] Specifically, the first security operator node will start to execute the multi-party computation task according to the multi-party computation task by calling the target security operator and operator protocol as required. The multi-party computation task includes the first data to be computed.

[0116] Step S103: The participant uses the federated learning algorithm to execute the multi-party computation task.

[0117] Specifically, the participants include algorithm components, and the algorithm components include federated learning algorithms. The multi-party computing task is generated by the federated learning algorithm, or rather, the federated learning algorithm executes the multi-party computing task, and standardizes the algorithms and operators in the federated learning algorithm through the secure operator service interface, so that they can be recognized and used by the secure operator repository in multi-party secure computing. That is, the participants call the secure operators and operator protocols in the second secure operator node through the secure operator service interface to execute the multi-party computing task.

[0118] The federated learning algorithm includes joint statistics, secure intersection, privacy-preserving query, and customized computing, etc.

[0119] Step S104: The participant sends the multi-party computing task to the second secure operator node through the secure operator service interface.

[0120] Specifically, the secure operator service interface supports calling multiple secure operator protocols, that is, the federated learning algorithm can call different secure operator protocols according to requirements to complete the multi-party computing task.

[0121] Step S105: The second secure operator node uses the secure operator service to execute the multi-party computing task.

[0122] Step S106: The first secure operator node and the second secure operator node perform data interaction.

[0123] Step S107: The first secure operator node obtains the calculation result of the multi-party computing task based on the target data after the interaction.

[0124] Specifically, the target data is the data obtained by performing privacy computing on the data to be calculated by calling the secure operator service through the secure operator service interface.

[0125] Step S108: Output the calculation result of the multi-party computing task to the initiator.

[0126] Step S109: The second secure operator node obtains the calculation result of the multi-party computing task based on the target data after the interaction.

[0127] Specifically, there is no sequence requirement for Step S107 and Step S109, and the present application does not limit this here.

[0128] Step S110: Output the calculation result of the multi-party computing task to the participant.

[0129] This application extracts the algorithms and security operators in the federated learning algorithm through the security operator service interface, decouples the security operators (which can be understood as basic operations) from the algorithms, and calls the security operators and security operator protocols in the first security operator node to perform multi-party computing tasks, realizing the underlying interoperability of heterogeneous algorithms, and integrating multi-party secure computing with the federated learning algorithm, with higher flexibility and better adaptability. Secondly, due to the underlying interoperability of heterogeneous algorithms, security is easier to verify, which can avoid the "siloed" deployment of privacy computing platforms and algorithms, reduce a large amount of evaluation work on the security performance of users, and avoid the risks introduced by black box products. Different security operator protocols can be called through the security operator service interface. Therefore, for different business requirements, no secondary development is required.

[0130] In one embodiment, the algorithm component further includes the MPC algorithm. In this embodiment, the algorithm components of the participating parties and the initiating party can call security operators to implement the privacy computing protocol functions required by the algorithms. At the same time, the security operators can be implemented through different security operator protocols, such as multi-party matrix multiplication and Euclidean distance based on homomorphic encryption, and size comparison calculations based on the secret sharing protocol. The specific security operators can be determined according to the actual situation, and this application does not limit them here.

[0131] In one embodiment, step S102 specifically includes the following steps, as Figure 3 shown, Figure 3 is the flowchart of the method for the first security operator node to use the security operator service to perform multi-party computing tasks in an embodiment of this application:

[0132] Step S301: Obtain the target security operator and the target security operator protocol from the multi-party computing task.

[0133] Specifically, it is necessary to clarify the required security operators and the corresponding security operator protocols from the multi-party computing task. Security operators are the minimum necessary computing operator operations built based on MPC protocols, homomorphic encryption, etc., and they are the basis for realizing secure computing. Security operators include basic operations such as matrix penalty, vector dot product, comparison operation, and Euclidean distance. Table 1 below shows several security operators with relatively high application frequencies.

[0134] Table 1 Security Operator Expressions and Function Introductions

[0135]

[0136] Step S302: Call the target security operator and the target security operator protocol through the security operator service interface.

[0137] Specifically, through the defined security operator service interface standard, the required target security operator and target security operator protocol can be invoked. This interface standard aims to ensure that the interaction interface design between algorithms and operators can meet the requirements of cross-platform security, universality, openness, ease of use, etc., and abstracts and defines the cooperation method between algorithms and operators.

[0138] Step S303: Use the target security operator and target security operator protocol to perform a multi-party computing task.

[0139] Specifically, the obtained target security operator and target security operator protocol are used to perform a multi-party computing task. This process ensures that the computing task is completed on the premise of protecting data privacy and security. This embodiment can achieve secure and efficient data processing and analysis in a multi-party computing environment while protecting the data privacy of the participating parties.

[0140] In one embodiment, step S301 includes the following steps:

[0141] Obtain the task number, operator expression, and target security operator protocol from the multi-party computing task. The task number is used to associate the federated learning algorithm and the target security operator.

[0142] Obtain the target security operator according to the operator expression; wherein, the operator expression is composed of different security operators.

[0143] Specifically, the operator expression depends on the security operator to implement the specific computing logic. The security operator is the execution unit, the operator expression is the logical description, and the operator protocol is the operation rule. The three complement each other to jointly achieve the goal of secure computing.

[0144] In one embodiment, the method further includes the following steps:

[0145] Obtain the first data to be calculated, the calculation result return method, and the participating party identifier from the multi-party computing task.

[0146] Specifically, the participating party identifier is the Id of the participating party. The initiator can ensure the correct execution of the multi-party computing task by specifying the participating party identifier.

[0147] Control the participating party to use the federated learning algorithm to perform the multi-party computing task through the participating party identifier.

[0148] Obtain the calculation result of the multi-party computing task through the security operator service according to the first data to be calculated and the second data to be calculated of the participating party; wherein, the calculation result return method is the method of obtaining the calculation result of the multi-party computing task.

[0149] The security operator integrates multiple security operator protocols at the bottom layer, such as secret sharing, ABY, homomorphic encryption, digital signature, etc., and provides security operator services for the algorithm components of the initiator and participants through the security operator service interface, among which the security operator service interface includes the operator service interface, expression query interface, asynchronous query interface, and asynchronous shutdown interface. In the multi-party computing task, the various parameters obtained through the security operator service interface are to ensure the correct execution of the multi-party computing task and the accurate return of the results. The subtask number is used when the algorithm splits the task or performs parallel calculations. It allows a large task to be decomposed into multiple small tasks, which can be processed in parallel, thereby improving computing efficiency and performance; Synchronous / asynchronous mode: specifies the calling mode of the task, false for synchronous call, true for asynchronous call, synchronous call means that the caller will wait for the task to complete and return the result before continuing to execute, while asynchronous call allows the caller to continue to perform other operations during the task execution process, and return the result through callback or other mechanisms after the task is completed, which helps to improve the responsiveness and concurrent processing capabilities of the system; Participant ID list: specified by the initiator, lists the identifiers of all participants participating in the calculation task to ensure that the task can be correctly allocated and executed among all participants; Party ID: identifies the current participant itself, used to distinguish different participants in multi-party calculations, ensuring that each participant can correctly identify itself and perform the corresponding tasks. Result acquisition party list: set by the initiator to specify which participants have the right to obtain the calculation results, which helps to control the access rights to the results and protect the privacy and security of the data. The following table shows the request parameters of the security operator service interface. The initiator can specify the operator expression and security operator protocol through parameters.

[0150] Table 2 Security operator service interface parameters

[0151]

[0152] The embodiments of the present application only take a multi-party computing task with two participants, namely an initiator and a participant, as an example. In actual applications, multiple participants may jointly perform a multi-party computing task, and the present application does not limit this.

[0153] In one embodiment, the controlling party uses a federated learning algorithm to perform a multi-party computing task, including the following steps:

[0154] Receive the multi-party computing task request sent by the initiator and send the multi-party computing task request to the participants; the multi-party task computing request is used to control the participants to use the federated learning algorithm to perform multi-party computing tasks.

[0155] Specifically, the participants include an algorithm component, the algorithm component includes a federated learning algorithm, and the participants use the federated learning algorithm to perform multi-party computing tasks.

[0156] Receive the multi-party computing task response returned by the participating party; the multi-party computing task response is the response of the participating party to execute the multi-party computing task using the federated learning algorithm.

[0157] Return the multi-party computing task response to the initiator.

[0158] In one embodiment, the multi-party computing task is executed using the secure operator service, and the participating party is controlled to execute the multi-party computing task using the federated learning algorithm to obtain the calculation result of the multi-party computing task. Specifically, the following steps are included, as Figure 4 shown Figure 4 is a flowchart of the secure operator implementation logic provided by an embodiment of the present application:

[0159] Step S401: Obtain the first data to be calculated from the multi-party computing task;

[0160] Step S402: Communicate with the participating party to obtain the second data to be calculated; the second data to be calculated is obtained from the multi-party computing task received through the secure operator service interface;

[0161] Step S403: Use the secure operator service to obtain the calculation result of the multi-party computing task based on the first data to be calculated and the second data to be calculated.

[0162] In one embodiment, step S403 includes the following steps, as Figure 5 shown Figure 5 is a flowchart of the secure operator implementation logic provided by an embodiment of the present application:

[0163] Step S501: The first secure operator node slices the first data to be calculated to obtain slices of the first data to be calculated.

[0164] Specifically, the slices of the first data to be calculated include the first slice, the second slice, and the third slice.

[0165] Step S502: The participating party slices the second data to be calculated to obtain slices of the second data to be calculated.

[0166] Specifically, the slices of the second data to be calculated include the first slice, the second slice, and the third slice. The participating party here includes the second secure operator node.

[0167] Step S503: The first secure operator node obtains the first initial calculation result based on the first slice and the second slice of the first data to be calculated.

[0168] Step S504: The first secure operator node sends the first initial calculation result to the participating party.

[0169] Step S505: The participating party obtains the second initial calculation result based on the first shard and the second shard of the second data to be calculated.

[0170] Step S506: The participating party sends the second initial calculation result to the first secure operator node.

[0171] Specifically, there is no order of calculation between Step S503 and Step S505.

[0172] Step S507: The first secure operator node generates the first calculation result based on the first data to be calculated, the first initial calculation result, and the second initial calculation result.

[0173] Step S508: The participating party generates the second calculation result based on the second data to be calculated, the first initial calculation result, and the second initial calculation result.

[0174] Step S509: Exchange the first calculation result and the second calculation result with the participating party.

[0175] Specifically, the first secure operator node sends the first calculation result to the participating party, and the participating party sends the first calculation result to the first secure operator node.

[0176] Step S510: The first secure operator node obtains the private calculation result of the first data to be calculated and the second data to be calculated based on the first calculation result and the second calculation result;

[0177] Step S511: The participating party obtains the private calculation result of the first data to be calculated and the second data to be calculated based on the first calculation result and the second calculation result.

[0178] In one embodiment, sending the first initial calculation result to the participating party; receiving the second initial calculation result sent by the participating party specifically includes the following steps:

[0179] Generate a first random value and a second random value, where the sum of the first random value and the second random value is zero.

[0180] Correspondingly, the participating party generates a third random value and a fourth random value.

[0181] Send the second random value to the participating party.

[0182] Receive the third random value sent by the participating party.

[0183] Obtain the first initial calculation result based on the first random value, the third random value, the first shard and the second shard of the first data to be calculated.

[0184] Correspondingly, the second initial calculation result is obtained by the second secure operator node based on the second random value, the fourth random value, the first shard and the second shard of the second data to be calculated.

[0185] Taking the matrix multiplication of the secret sharing protocol as an example, the interaction logic of the security operator is as follows. The first security operator node and the second security operator node respectively generate their own triples a0, b0, and c0 and a1, b1, and c1 based on the first data to be calculated and the second data to be calculated. These triples may be used for subsequent secret sharing calculations. The first security operator node generates the secret share x0x1, and the second security operator node generates the secret share y0y1. The secret share can be understood as the above-mentioned random value. Send a part of the secret share to the other party: that is, the first security operator node sends x1 to the second security operator node, and the second security operator node sends y0 to the first security operator node. The first security operator node and the second security operator node respectively calculate the error terms: the first security operator node calculates e1 = x1 - a1 and f1 = y1 - b1. The second security operator node calculates e0 = x0 - a0 and f0 = y0 - b0. Send the error terms to the other party: that is, the first security operator node sends e0 and f0 to the second security operator node, and the second security operator node sends e1 and f1 to the first security operator node; Combine the error terms: The first security operator node and the second security operator node respectively combine the received error terms and secret shares. Calculate the result of the secret sharing: The first security operator node calculates share0 = e * f + f * a0 + e * b0 + c0). The second security operator node calculates share1 = e * f + f * a1 + e * b1 + y1). Send a result combination request: The first security operator node sends a result combination request to the second security operator node. Send the result of the secret sharing to the other party: The first security operator node sends share0 to the second security operator node, and the second security operator node sends share1 to the first security operator node. Calculate the final result: The first security operator node and the second security operator node respectively calculate the final result X * Y = share0 + share1. The first security operator node and the second security operator node respectively return the calculation results to the initiator and the participant. In this embodiment, without leaking their respective data, a result is jointly calculated through a secure multi-party calculation protocol; while protecting data privacy, it allows multiple participants to work together to complete complex calculation tasks.

[0186] As Figure 6 shown, Figure 6Schematic diagram of the interaction logic between the secure operator and the application algorithm layer provided by the embodiments of this application. The upper-layer algorithm calls the underlying secure operator through the standard secure operator service interface and specifies the multi-party secure computing protocol used by the operator through parameters. The specific process is as follows: Each participating party loads the application algorithm / secure operator from the local image repository or the unified image repository of the partner according to the parameters set in the platform application configuration; the initiating party's application algorithm (algorithm component) starts the secure operator service by calling the secure operator service interface, and the secure operator starts the computing process through the initiating party of the task, and the secure operator accordingly completes the processing of the secure operator protocol. The secure operator supports specifying the input and output formats of the algorithm-specified data, and can directly pass values to the secure operator, or indirectly process the input and output of data in the form of an interface connection through the storage service; describe the collaborative computing function based on the secure operator calculation expression, and determine the computing logic of the secure operator service through the input, output, and expression; obtain the computing result in a synchronous / asynchronous manner, and close the secure operator computing task.

[0187] For the upper-layer application algorithm, it is necessary to call the secure operator service interface. Currently, the three main algorithms used in federated learning are secure intersection, logistic regression, and federated XGB modeling (eXtreme Gradient Boosting). For the three algorithms, use the secure operator service interface to implement the integration of the multi-party secure computing protocol and the federated learning algorithm. Taking the vertical logistic regression algorithm based on homomorphic encryption as an example, without affecting the overall algorithm process, the algorithm process and protocol can be flexibly switched by calling the matrix multiplication operator, and a separate security evaluation can be performed for each step of the calculation. As Figure 7 shown Figure 7 is the vertical logistic regression algorithm process based on homomorphic encryption in an embodiment of this application. Its goal is to calculate the final model gradient information. It is necessary to calculate the local gradients and losses of the initiating party and the participating parties and send them to each other for residual calculation. The original process can only perform data interaction through the homomorphic encryption scheme, and can only send back the results calculated by the other party to itself to calculate the local gradients and losses after the other party has completed all the calculations. In terms of algorithm implementation, for heterogeneous algorithms to switch the privacy computing protocols used, the traditional method can only perform secondary development, and usually can only agree on the overall algorithm process and the protocols used in the interaction, and it is difficult to control the protocols used in the finer-grained operation process; in terms of security, homogeneous algorithms need to scan the algorithm source code. For development manufacturers, it may involve issues such as the security of the algorithm source code. Heterogeneous algorithms cannot verify the security of the partner's code and can only verify the algorithm security through methods such as packet capture or third-party inspection.

[0188] In the embodiments of the present application, when calculating the gradient and loss and needing to use the residual of the other party, the matrix multiplication security operator service can be directly called. The homomorphic encryption algorithm can be used to encrypt and interact with the two-party data to be calculated separately, or the secret sharing algorithm can be used to split the own data and then perform data interaction, etc. As Figure 8 shown, Figure 8 FIG. is a schematic structural diagram of a vertical logistic regression algorithm based on a security operator provided by an embodiment of the present application. In the figure, the participating party and the initiating party use the security operator service encryption protocol to protect data privacy and perform model training at the same time. The arbiter is responsible for distributing keys to the initiator and the participants, and the keys are used for subsequent encryption calculations to ensure data security; the initiating party and the participating party respectively call the matrix multiplication operator to calculate the local gradients, namely the first local gradient and the second local gradient. The first local gradient and the second local gradient are used to calculate the gradient of the model. The initiating party and the participating party call the security operator service and two transmission services (transmission service 1 and transmission service 2) through the security operator service interface for performing encryption calculations and data transmission. The initiating party and the participating party calculate their respective loss functions and model parameters. The initiating party and the participating party send the model parameters to the arbiter. Among them, the formula of the loss function is as follows:

[0189] L(θ)=1 / n(1 / 4θ g X g -1 / 2Y+1 / 4θ h X h )·[X g ∣X h

[0190] Among them, the parameters θ, the input data X, and the target value Y are used for calculating the loss of a certain machine learning model. These parameters may be encrypted to ensure data security during transmission. This embodiment can call the security operator service when calculating the local gradient, aiming to perform effective model training while protecting data privacy.

[0191] In one of the embodiments, the security operator service is used to perform a multi-party computing task, and the participating parties are controlled to use the federated learning algorithm to perform the multi-party computing task to obtain the calculation result of the multi-party computing task, including the following steps:

[0192] Calculate the first local gradient using the security operator service according to the multi-party computing task.

[0193] Interact with the participating parties for the second local gradient required by the federated learning algorithm; the second local gradient is calculated by the participating parties using the security operator service according to the multi-party computing task; wherein, the first local gradient and the second local gradient are used to train the model.

[0194] ​Calculate the loss function and model parameters based on the first local gradient and the second local gradient; the loss function and model parameters are used to update the model parameters after the server aggregates the parameters.

[0195] In this embodiment, through the security operator, multi-party secure computation and federated learning algorithms can be flexibly combined. One or more security operator protocols can be used in one federated learning algorithm and switched through the parameters defined by the security operator service interface, achieving flexible combination between different protocols. In terms of algorithm implementation, heterogeneous algorithms can directly implement the underlying basic operations of the algorithm by requesting the standard security operator service interface. The two parties only need to align the parameters defined by the operator service interface. Switching between different security operators will not affect the original process of the algorithm, and the integration between different protocols can be achieved. For example, in logistic regression, the homomorphic encryption protocol is used for model parameter interaction, and the secret sharing security operator is used for calculation in the residual calculation stage, enabling the secret sharing protocol in the homomorphic ciphertext state, further enhancing the algorithm security and achieving further integration of multi-party secure computation and federated learning algorithms. In terms of security verification, for the algorithm integrated with the security operator service, only the security operator needs to be verified separately after switching different operators to verify the security, and the service provider can issue a unified security verification report.

[0196] In one of the embodiments, calculating the first local gradient using the security operator service according to the multi-party computation task includes the following steps:

[0197] Perform equal-frequency binning on the data of the initiator.

[0198] Calculate the first-order gradient and the second-order gradient for the data after equal-frequency binning, and combine the first-order gradient and the second-order gradient as the first local gradient.

[0199] In one of the embodiments, the second local gradient is calculated by the participant using the security operator service according to the multi-party computation task; it includes the following steps:

[0200] Perform equal-frequency binning on the data of the participant.

[0201] Calculate the first-order gradient and the second-order gradient for the data after equal-frequency binning, and combine the first-order gradient and the second-order gradient as the second local gradient.

[0202] As Figure 9 shown, Figure 9It is a schematic flowchart of the federated XGB algorithm based on a secure operator provided by an embodiment of this application. After the initiator and the participating parties perform equal-frequency binning, the initiator performs first-order and second-order gradient mergers to form a gradient matrix. The participating parties perform one-hot encoding on the binned data to obtain a matrix, and calculate the product between the matrices of the initiator and the participating parties by invoking the secure operator. How to perform feature selection and determination of split points in a privacy-protected environment. The cross-entropy loss function commonly used in logistic regression is used to evaluate the accuracy of model prediction. The formula for error evaluation , perform equal-frequency binning on the local features, and calculate the g and h values of the samples. The initiator and the participating parties respectively calculate the sums of Gi and gi, and calculate based on the secure operator: calculate the Gi value of the Partner party based on the secure operator, and use , where G and H are obtained through secure multi-party computation. Calculate the gain information of each split point of a certain feature, and these gain information are used to evaluate the impact of different split points on the model performance; compare the gain information of each split point of all features, and select the feature and the binning point corresponding to the maximum gain information as the optimal split feature and the optimal split point for this split. In the tree structure, where the node is split according to the age feature, and is divided into two groups: "greater than 35" and "less than or equal to 35".

[0203] This application can also be applied to the intersection algorithm. The rsa algorithm (RSA public key encryption algorithm) can call the secure operator comparison operation to calculate the intersection during the intersection calculation stage. The ecdh algorithm (elliptic curve Diffie-Hellman algorithm) and the intersection based on the OU algorithm (Ornstein-Uhlenbeck) can be wrapped into a separate intersection operator for upper-layer modeling algorithms to call because their processes require alternating encryption between the two parties. The secure operator can perform security evaluation verification and security scanning on each operator and the underlying protocol separately, without specifically analyzing the overall algorithm process. For some black-box algorithms, the cooperating institutions can ensure their privacy protection capabilities by verifying the security of the secure operator.

[0204] An embodiment of this application provides a fusion device for federated learning and multi-party secure computation, including: a receiving module, configured to receive multi-party computation tasks using a federated learning algorithm; a processing module, configured to execute the multi-party computation tasks using a secure operator service, and control the participating parties to execute the multi-party computation tasks using the federated learning algorithm to obtain the computation results of the multi-party computation tasks; wherein, during the execution of the multi-party computation tasks, interact with the participating parties for the target data required by the federated learning algorithm, where the target data is the data obtained by performing privacy computation on the data to be computed by invoking the secure operator service through the secure operator service interface; the secure operator service interface supports invoking multiple secure operator protocols; an output module, configured to output the computation results.

[0205] An embodiment of the present application provides a fusion device for federated learning and multi-party secure computing, including: a receiving module, configured to receive a multi-party computing task using a federated learning algorithm; a processing module, configured to execute the multi-party computing task using a secure operator service to obtain a calculation result of the multi-party computing task; wherein, during the execution of the multi-party computing task, target data required for the federated learning algorithm is interacted with the initiator, and the target data is data obtained by performing privacy computing on the data to be calculated by calling a secure operator service through a secure operator service interface; the secure operator service interface supports calling multiple secure operator protocols; an output module, configured to output the calculation result.

[0206] An embodiment of the present application provides a fusion device for federated learning and multi-party secure computing, including: a sending module, configured to send a multi-party computing task to a first secure operator node through a secure operator service interface; the multi-party computing task is generated using a federated learning algorithm; an obtaining module, configured to obtain a calculation result returned by the first secure operator node, where the calculation result is to execute the multi-party computing task using a secure operator service, and control the participating parties to execute the multi-party computing task using a federated learning algorithm to obtain a calculation result of the multi-party computing task; wherein, during the execution of the multi-party computing task, target data required for the federated learning algorithm is interacted with the participating parties, and the target data is data obtained by performing privacy computing on the data to be calculated by calling a secure operator service through a secure operator service interface; the secure operator service interface supports calling multiple secure operator protocols.

[0207] An embodiment of the present application provides a fusion device for federated learning and multi-party secure computing, including: a sending module, configured to send a multi-party computing task to a second secure operator node through a secure operator service interface; the multi-party computing task is generated using a federated learning algorithm; an obtaining module, configured to obtain a calculation result returned by the second secure operator node, where the calculation result is to execute the multi-party computing task using a secure operator service to obtain a calculation result of the multi-party computing task; wherein, during the execution of the multi-party computing task, target data required for the federated learning algorithm is interacted with the initiator, and the target data is data obtained by performing privacy computing on the data to be calculated by calling a secure operator service through a secure operator service interface; the secure operator service interface supports calling multiple secure operator protocols.

[0208] The fusion device for federated learning and multi-party secure computing provided in this embodiment can execute the method provided in the above method embodiment, and its implementation principle and technical effect are similar, which will not be elaborated here in this embodiment.

[0209] Figure 10 It is a schematic structural diagram of an electronic device provided in the present application. As Figure 10As shown in the figure, the electronic device 50 provided in this embodiment includes at least one processor 501 and a memory 502. Optionally, the device 50 further includes a communication component 503. Among them, the processor 501, the memory 502, and the communication component 503 are connected through a bus 504.

[0210] In a specific implementation process, at least one processor 501 executes the computer-executable instructions stored in the memory 502, so that at least one processor 501 executes the above-mentioned method.

[0211] For the specific implementation process of the processor 501, reference can be made to the above method embodiment, and its implementation principle and technical effects are similar, so they will not be elaborated here in this embodiment.

[0212] This application embodiment provides a fusion system of federated learning and multi-party secure computing, as Figure 11 shown in the figure. Figure 11 The fusion system of federated learning and multi-party secure computing provided by an embodiment of this application includes an initiator, a participant, and a secure operator server; the secure operator server includes a plurality of secure operator nodes; the initiator is communicatively connected to a first secure operator node through a secure operator service interface; the participant is communicatively connected to a second secure operator node through a secure operator service interface; the first secure operator node is communicatively connected to the second secure operator node; the initiator is configured to execute the method as described above; the secure operator server is configured to execute any of the above methods; the participant is configured to execute the method as described above.

[0213] In the above embodiment, it should be understood that the processor may be a central processing unit (English: Central Processing Unit, abbreviated as: CPU), or may also be other general-purpose processors, digital signal processors (English: Digital Signal Processor, abbreviated as: DSP), application specific integrated circuits (English: Application Specific Integrated Circuit, abbreviated as: ASIC), etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the invention can be directly embodied as being executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.

[0214] The memory may include high-speed memory (Random Access Memory, RAM), and may also include non-volatile memory (Non-volatile Memory, NVM), such as at least one disk memory.

[0215] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the buses in the drawings of this application are not limited to only one bus or one type of bus.

[0216] This application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.

[0217] This application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When the processor executes the computer-executable instructions, the above method is implemented.

[0218] The above-readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, a magnetic disk or an optical disc. The readable storage medium can be any available medium accessible by a general-purpose or special-purpose computer.

[0219] An exemplary readable storage medium is coupled to the processor, so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an Application Specific Integrated Circuit (ASIC). Of course, the processor and the readable storage medium can also exist as discrete components in a device.

[0220] The division of units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces, and the indirect coupling or communication connection of devices or units can be in electrical, mechanical or other forms.

[0221] The unit described as a separation component may or may not be physically separated. The component displayed as a unit may or may not be a physical unit, that is, it may be located in one place or distributed across multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0222] In addition, in each embodiment of the present invention, each functional unit can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0223] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in each embodiment of the present invention. The aforementioned storage medium includes: USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs and other various media that can store program codes.

[0224] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When this program is executed, it executes the steps including the above method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disks, or optical discs and other various media that can store program codes.

[0225] Finally, it should be noted that: After considering the specification and practicing the invention disclosed herein, those skilled in the art will easily think of other implementation schemes of the present invention. The present invention aims to cover any variations, uses, or adaptive changes of the present invention. These variations, uses, or adaptive changes follow the general principles of the present invention and include common general knowledge or conventional technical means in the technical field not disclosed in the present invention. It is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present invention is only limited by the appended claims.

Claims

1. A method for integrating federated learning and multi-party secure computing, characterized in that: The method comprises: Receive multi-party computing tasks using federated learning algorithms; Use the secure operator service to execute the multi-party computing task, and control the participants to use the federated learning algorithm to execute the multi-party computing task, and obtain the calculation result of the multi-party computing task; wherein, in the process of executing the multi-party computing task, the target data required by the federated learning algorithm is interacted with the participants, wherein the target data is the data obtained after the secure operator service is called through the secure operator service interface to perform privacy calculation on the data to be calculated; the secure operator service interface supports calling multiple secure operator protocols; The calculation result is output.

2. The fusion method according to claim 1, characterized in that: The using of the secure operator service to perform the multi-party computing task specifically includes: Obtaining a target security operator and a target security operator protocol from the multi-party computing task; Calling the target security operator and the target security operator protocol through the security operator service interface; The multi-party computing task is performed using the target security operator and the target security operator protocol.

3. The fusion method according to claim 2, characterized in that: The obtaining of a target security operator and a target security operator protocol from the multi-party computing task includes: Obtaining a task number, an operator expression, and a target security operator protocol from the multi-party computing task, wherein the task number is used to associate the federated learning algorithm with the target security operator; A target safety operator is obtained according to the operator expression; wherein the operator expression is composed of a combination of different safety operators.

4. The fusion method according to claim 2, characterized in that: The method further comprises: Obtaining first data to be calculated, a calculation result return method and the participant identifier from the multi-party computing task; Controlling the participant to use the federated learning algorithm to perform the multi-party computing task through the participant identifier; Obtaining the calculation result of the multi-party computing task through the secure operator service according to the first data to be calculated and the second data to be calculated of the participant; wherein the calculation result return method is the method of obtaining the calculation result of the multi-party computing task.

5. The fusion method according to claim 1, characterized in that: The controlling party uses the federated learning algorithm to perform the multi-party computing task, including: Receive a multi-party computing task request sent by an initiator, and send the multi-party computing task request to the participating party; the multi-party task computing request is used to control the participating party to use the federated learning algorithm to perform the multi-party computing task; Receiving a multi-party computing task response returned by the participant; the multi-party computing task response is a response of the participant using the federated learning algorithm to execute the multi-party computing task; The multi-party computing task response is returned to the initiator.

6. The fusion method according to claim 1, characterized in that: The using of the secure operator service to perform the multi-party computing task, and controlling the participants to use the federated learning algorithm to perform the multi-party computing task, to obtain the computing result of the multi-party computing task, specifically includes: Obtaining first data to be calculated from the multi-party computing task; Communicate with the participant to obtain second data to be calculated; the second data to be calculated is obtained from the multi-party computing task received through the security operator service interface; The secure operator service is used to obtain a calculation result of the multi-party computing task based on the first data to be calculated and the second data to be calculated.

7. The fusion method according to claim 6, characterized in that: The using the secure operator service to obtain a calculation result of the multi-party computing task based on the first data to be calculated and the second data to be calculated includes: Slicing the first data to be calculated to obtain slicing of the first data to be calculated; the slicing of the first data to be calculated includes a first slicing, a second slicing, and a third slicing; Accordingly, the participant shards the second data to be calculated to obtain shards of the second data to be calculated; the shards of the second data to be calculated include the first shard, the second shard and the third shard; Sending a first initial calculation result to the participant, where the first initial calculation result includes a first shard and a second shard of the first data to be calculated; receiving a second initial calculation result sent by the participant, where the second initial calculation result includes a first shard and a second shard of the second data to be calculated; Generate a first calculation result based on the first data to be calculated, the first initial calculation result and the second initial calculation result; correspondingly, the participant generates a second calculation result based on the second data to be calculated, the first initial calculation result and the second initial calculation result; Exchange the first calculation result and the second calculation result with the participant, and obtain the privacy calculation results of the first data to be calculated and the second data to be calculated.

8. The fusion method according to claim 7, characterized in that: said sending a first initial calculation result to said participant; The receiving the second initial calculation result sent by the participant specifically includes: generating a first random value and a second random value, wherein a sum of the first random value and the second random value is zero; Accordingly, the participant generates a third random value and a fourth random value; Sending the second random value to the participant; Receiving a third random value sent by the participant; Acquire the first initial calculation result based on the first random value, the third random value, the first slice and the second slice of the first data to be calculated; Correspondingly, the second initial calculation result is obtained by the second security operator node based on the second random value, the fourth random value, the first slice and the second slice of the second data to be calculated.

9. The fusion method according to claim 1, characterized in that: The using of the secure operator service to perform the multi-party computing task, and controlling the participants to use the federated learning algorithm to perform the multi-party computing task, to obtain the computing result of the multi-party computing task, includes: Calculating a first local gradient using a secure operator service according to the multi-party computing task; A second local gradient required for interacting with the participant for the federated learning algorithm; the second local gradient is calculated by the participant using a secure operator service according to the multi-party computing task; wherein the first local gradient and the second local gradient are used for training the model; A loss function and model parameters are calculated based on the first local gradient and the second local gradient; the loss function and model parameters are used to update the model parameters after the server aggregates the parameters.

10. The fusion method according to claim 9, characterized in that: Calculating a first local gradient using a secure operator service according to the multi-party computing task includes: Dividing the initiator's data into equal-frequency boxes; the multi-party secure computing task includes the initiator's data; The first-order gradient and the second-order gradient are calculated for the data after equal-frequency binning, and the first-order gradient and the second-order gradient are combined as the first local gradient.

11. The fusion method according to claim 10, characterized in that: The second local gradient is calculated by the participant using the secure operator service according to the multi-party computing task; including: Binning the data of the participants into equal-frequency bins; The first-order gradient and the second-order gradient are calculated for the data after equal-frequency binning, and the first-order gradient and the second-order gradient are combined as the second local gradient.

12. A method for integrating federated learning and multi-party secure computing, characterized in that: include: Receive multi-party computing tasks using federated learning algorithms; Use the secure operator service to execute the multi-party computing task and obtain the calculation result of the multi-party computing task; wherein, in the process of executing the multi-party computing task, the target data required by the federated learning algorithm is interacted with the initiator, wherein the target data is the data obtained after the secure operator service is called through the secure operator service interface to perform privacy calculation on the data to be calculated; the secure operator service interface supports calling multiple secure operator protocols; The calculation result is output.

13. A method for integrating federated learning and multi-party secure computing, characterized in that: The security operator server includes multiple nodes, and the method includes: Sending a multi-party computing task to the first security operator node through the security operator service interface; the multi-party computing task is generated by using a federated learning algorithm; Obtain the calculation result returned by the first security operator node, wherein the calculation result is the use of the security operator service to execute the multi-party computing task, and control the participating parties to use the federated learning algorithm to execute the multi-party computing task, so as to obtain the calculation result of the multi-party computing task; wherein, in the process of executing the multi-party computing task, the target data required by the federated learning algorithm is interacted with the participating parties, wherein the target data is the data obtained after calling the security operator service through the security operator service interface to perform privacy calculation on the data to be calculated; the security operator service interface supports calling multiple security operator protocols.

14. A method for integrating federated learning and multi-party secure computing, characterized in that: The security operator server includes multiple nodes, and the method includes: Sending a multi-party computing task to a second security operator node through a security operator service interface; the multi-party computing task is generated using a federated learning algorithm; Obtain the calculation result returned by the second security operator node, wherein the calculation result is the calculation result of the multi-party computing task obtained by executing the multi-party computing task using the security operator service; wherein, in the process of executing the multi-party computing task, the target data required by the federated learning algorithm is interacted with the initiator, wherein the target data is the data obtained after performing privacy calculation on the data to be calculated by calling the security operator service through the security operator service interface; the security operator service interface supports calling multiple security operator protocols.

15. A device integrating federated learning and multi-party secure computing, characterized in that: include: A receiving module, used for receiving multi-party computing tasks using a federated learning algorithm; A processing module, used to use the secure operator service to execute the multi-party computing task, and control the participants to use the federated learning algorithm to execute the multi-party computing task, and obtain the calculation result of the multi-party computing task; wherein, in the process of executing the multi-party computing task, the target data required by the federated learning algorithm is exchanged with the participants, wherein the target data is the data obtained after the secure operator service is called through the secure operator service interface to perform privacy calculation on the data to be calculated; the secure operator service interface supports calling multiple secure operator protocols; An output module is used to output the calculation result.

16. A device integrating federated learning and multi-party secure computing, characterized in that: include: A receiving module, used for receiving multi-party computing tasks using a federated learning algorithm; A processing module, used to use a secure operator service to execute the multi-party computing task and obtain the calculation result of the multi-party computing task; wherein, in the process of executing the multi-party computing task, the target data required by the federated learning algorithm is exchanged with the initiator, wherein the target data is the data obtained after the secure operator service is called through the secure operator service interface to perform privacy calculation on the data to be calculated; the secure operator service interface supports calling multiple secure operator protocols; An output module is used to output the calculation result.

17. A device integrating federated learning and multi-party secure computing, characterized in that: include: A sending module, used to send a multi-party computing task to the first security operator node through a security operator service interface; The multi-party computing task is generated using a federated learning algorithm; An acquisition module is used to obtain the calculation result returned by the first security operator node, wherein the calculation result is obtained by using the security operator service to execute the multi-party computing task, and controlling the participating parties to use the federated learning algorithm to execute the multi-party computing task, thereby obtaining the calculation result of the multi-party computing task; wherein, in the process of executing the multi-party computing task, the target data required by the federated learning algorithm is interacted with the participating parties, wherein the target data is the data obtained after calling the security operator service through the security operator service interface to perform privacy calculation on the data to be calculated; the security operator service interface supports calling multiple security operator protocols.

18. A device integrating federated learning and multi-party secure computing, characterized in that: include: A sending module, used to send a multi-party computing task to a second security operator node through a security operator service interface; The multi-party computing task is generated using a federated learning algorithm; An acquisition module is used to obtain the calculation result returned by the second security operator node, wherein the calculation result is the calculation result of the multi-party computing task obtained by using the security operator service to execute the multi-party computing task; wherein, in the process of executing the multi-party computing task, the target data required by the federated learning algorithm is interacted with the initiator, wherein the target data is the data obtained after calling the security operator service through the security operator service interface to perform privacy calculation on the data to be calculated; the security operator service interface supports calling multiple security operator protocols.

19. An electronic device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 14.

20. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 14 when executed by a processor.

21. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 14 when being executed by a processor.

22. A fusion system of federated learning and multi-party secure computing, characterized in that: The invention comprises an initiator, a participant and a security operator server; the security operator server comprises a plurality of security operator nodes; the initiator is connected to a first security operator node through a security operator service interface; the participant is connected to a second security operator node through a security operator service interface; the first security operator node is connected to the second security operator node; The initiator is used to execute the method according to claim 13; The security operator server is used to execute the method according to any one of claims 1 to 12; The participant is used to execute the method as claimed in claim 14.