Multi-source data processing method, device, electronic device, and storage medium

JP7651719B2Active Publication Date: 2025-03-26JINGDONG TECH HLDG CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023557440
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-04-06
Filing Date
2022-04-02
Publication Date
2025-03-26
Estimated Expiration
2042-04-02

Smart Images

  • Figure 0007651719000055
    Figure 0007651719000055
  • Figure 0007651719000056
    Figure 0007651719000056
  • Figure 0007651719000057
    Figure 0007651719000057
Patent Text Reader

Abstract

The present application provides a data processing method and device for multi-source data, the method including: generating a private key segment, an encryption public key and an evaluation public key of the data providing node itself, where other participating nodes include other data providing nodes and data using nodes; encrypting local sample data with the encryption public key to generate ciphertext data, and sending the ciphertext data to a coordination node to train a machine learning model; receiving ciphertext model parameters corresponding to model parameters of the machine learning model trained by the coordination node, where the ciphertext model parameters are determined by the coordination node based on the evaluation public key and the received ciphertext data; and decrypting the ciphertext model parameters with the private key segment, and sending the decrypted model parameter segment to the data using node.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is filed based on a Chinese patent application having application number "202110369324.2" and filing date of April 6, 2021, and claims priority to the Chinese patent application, the entire contents of which are hereby incorporated by reference into this application. [Technical field]

[0002] The present application relates to the field of machine learning, and in particular to a data processing method, device, electronic device, and storage medium for multi-source data. [Background technology]

[0003] Generally, the data required by artificial intelligence is related to many fields, and these data are often owned by different platforms. In order to build an efficient machine learning model, it is generally necessary to obtain multiple related data from multiple platforms. In the multi-source data machine learning scene, data safety and privacy are core issues. Summary of the Invention

[0004] The present application aims to at least partially solve one of the technical problems in the related art, and therefore, one of the objectives of the present application is to break the data islands, realize data processing of multi-source data, and obtain a higher performance machine learning model.

[0005] A first object of the present application is to provide a data processing method for multi-source data.

[0006] A second object of the present application is to provide another data processing method for multi-source data.

[0007] A third object of the present application is to provide another data processing method for multi-source data.

[0008] A fourth object of the present application is to provide a data processing device for multi-source data.

[0009] A fifth object of the present application is to provide another data processing apparatus for multi-source data.

[0010] A sixth object of the present application is to provide another data processing apparatus for multi-source data.

[0011] A seventh object of the present application is to provide an electronic device.

[0012] An eighth object of the present application is to provide a computer readable storage medium.

[0013] In order to achieve the above object, an embodiment of a first aspect of the present application provides a data processing method for multi-source data applied to a data providing node, the method including: generating a private key segment, an encryption public key and an evaluation public key of the data providing node itself, where other participating nodes include other data providing nodes and a data using node; encrypting local sample data with the encryption public key to generate ciphertext data, and sending the ciphertext data to a coordination node of a machine learning model to train the machine learning model; receiving ciphertext model parameters corresponding to model parameters of the machine learning model trained by the coordination node, where the ciphertext model parameters are determined by the coordination node based on the evaluation public key and the received ciphertext data; and decrypting the ciphertext model parameters with the private key segment of the data providing node itself, and sending the decrypted model parameter segment to the data using node.

[0014] In order to achieve the above object, an embodiment of a second aspect of the present application provides a data processing method for multi-source data applied to a data using node, the method including: generating a private key segment, an encryption public key and an evaluation public key of the data using node itself, where the other participating nodes include a data providing node; receiving ciphertext model parameters corresponding to model parameters of a machine learning model trained by a coordination node, where the ciphertext model parameters are determined by the coordination node based on the evaluation public key and the received ciphertext data of the data providing node; decrypting the ciphertext model parameters with the private key segment of the data using node itself to obtain a first model parameter segment; receiving a second model parameter segment sent from the other participating nodes; and obtaining a machine learning model based on the first model parameter segment and the second model parameter segment.

[0015] In order to achieve the above object, an embodiment of a third aspect of the present application provides a data processing method for multi-source data applied to a coordination node, the method including: receiving an evaluation key sent from each data providing node; receiving ciphertext data sent from each data providing node, where the ciphertext data is generated after the data providing node encrypts its own sample data with an encryption public key; coordinating the data providing nodes to train a machine learning model and output model parameters of the machine learning model; encrypting the model parameters with the evaluation public key to obtain ciphertext model parameters; and sending the ciphertext model parameters to each data providing node and the data using node for decryption, respectively.

[0016] In order to achieve the above object, an embodiment of a fourth aspect of the present application provides a data processing device for multi-source data applied to a data providing node, the device including: a key generation module for generating a private key segment, an encryption public key and an evaluation public key of the data providing node itself, where the other participating nodes include other data providing nodes and a data using node; an encryption module for encrypting local sample data with the encryption public key to generate ciphertext data, and sending the ciphertext data to a coordination node to train a machine learning model; a receiving module for receiving ciphertext model parameters corresponding to model parameters of the machine learning model trained by the coordination node, where the ciphertext model parameters are determined by the coordination node based on the evaluation public key and the received ciphertext data; and a decryption module for decrypting the ciphertext model parameters with the private key segment of the data providing node itself and sending the decrypted model parameter segment to the data using node.

[0017] In order to achieve the above object, an embodiment of a fifth aspect of the present application provides a data processing device for multi-source data applied to a data using node, the device including: a key generating module for generating a private key segment, an encryption public key and an evaluation public key of the data using node itself, where the other participating nodes include a data providing node; a first receiving module for receiving ciphertext model parameters corresponding to model parameters of a machine learning model trained by a coordination node, where the ciphertext model parameters are determined by the coordination node based on the evaluation public key and the received ciphertext data of the data providing node; a decryption module for decrypting the ciphertext model parameters with the private key segment of the data using node itself to obtain a first model parameter segment; a second receiving module for receiving a second model parameter segment sent from the other participating nodes; and an acquisition module for obtaining a machine learning model based on the first model parameter segment and the second model parameter segment.

[0018] In order to achieve the above object, an embodiment of a sixth aspect of the present application provides a data processing device for multi-source data applied to a coordination node, the device comprising: a first receiving module for receiving an evaluation key transmitted from each data providing node; a second receiving module for receiving ciphertext data transmitted from each data providing node, the ciphertext data being generated after the data providing node encrypts its own sample data with an encryption public key; a collaboration module for coordinating the data providing nodes to train a machine learning model and output model parameters of the machine learning model; an encryption module for encrypting the model parameters with the evaluation public key to obtain ciphertext model parameters; and a transmission module for transmitting the ciphertext model parameters to each data providing node and the data using node, respectively, for decryption.

[0019] To achieve the above object, an embodiment of a seventh aspect of the present application provides an electronic device including a processor and a memory, wherein the processor executes the data processing method for multi-source data provided by each of the above aspects by reading executable program code stored in the memory.

[0020] In order to achieve the above object, an embodiment of an eighth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, realizes the data processing method for multi-source data provided by each of the above aspects.

[0021] The data processing method and device for multi-source data provided by the embodiment of the present application establish a multi-party threshold homomorphic encryption mechanism, and can realize the purpose of homomorphically encrypting the encrypted data of multiple data providing nodes, not only expanding the application scenarios of homomorphic encryption, but also further encrypting the encrypted data based on the evaluation public key in the coordination stage, and better ensuring the security of training of the federated learning model. Since the threshold homomorphic encryption technology is adopted, the security of data at each location and the security of model training can be ensured in the process of simultaneously obtaining data from multiple data sources to train a model. Then, after breaking the data island, multiple data sources are trained simultaneously to obtain a machine learning model with higher performance. In addition, the data transmission based on the homomorphic encryption algorithm can protect the security of the sample data of the data providing node, prevent information leakage from the data providing side, and ensure the security of the model parameters of the training model.

[0022] Additional aspects and advantages of the present application will be set forth in part in the description which follows, and in part will be apparent from the description, or may be learned by practice of the present application. [Brief description of the drawings]

[0023] [Figure 1] FIG. 2 is a schematic diagram of an application scenario of the multi-source data processing method provided by the present application; [Diagram 2] 1 is a schematic flowchart of a multi-source data processing method provided by an embodiment of the present application; [Diagram 3] 4 is a schematic flowchart of a key generation method provided by another embodiment of the present application; [Figure 4] 4 is a schematic flowchart of a multi-source data processing method provided by another embodiment of the present application; [Diagram 5] 4 is a schematic flowchart of a multi-source data processing method provided by another embodiment of the present application; [Figure 6] FIG. 1 is a schematic configuration diagram of a multi-source data processing apparatus provided by an embodiment of the present application; [Figure 7] FIG. 2 is a schematic configuration diagram of another multi-source data processing apparatus provided by another embodiment of the present application; [Figure 8] FIG. 2 is a schematic configuration diagram of another multi-source data processing apparatus provided by another embodiment of the present application; [Figure 9] 1 is a schematic diagram illustrating a configuration of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] The embodiments of the present application are described in detail below. Examples of such embodiments are shown in the drawings. Here, the same or similar reference numerals throughout indicate the same or similar elements, or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are illustrative and are for explaining the present application, and should not be understood as limitations of the present application.

[0025] Illustratively, Fig. 1 is a schematic diagram of an application scenario of the data processing method for multi-source data provided by the present application. As shown in Fig. 1, the application scenario may include at least one data providing node (Fig. 1 shows two data providing nodes and a data using node, which are a data providing node 111, a data providing node 112, and a data using node 113, respectively), a network 12, and a coordination node 13. Here, each data providing node and the data using node 13 can communicate with each other through the network 12. The data using node 113 communicates with each other through the network 12, and the data using node 113 and the coordination node 13 can communicate with each other through the network 12. Each data providing node can communicate with each other through the network 12.

[0026] Note that Fig. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application, and the embodiment of the present application does not limit the devices included in Fig. 1 or the positional relationship between the devices in Fig. 1. For example, the application scenario shown in Fig. 1 may further include a data storage device, which may be an external memory or integrated into an internal memory with respect to the data providing node, the data using node, and the coordination node.

[0027] The technical solution of the present application will be described in detail in the following specific examples, in which some specific examples can be combined with each other, and the same or similar concepts or processes may be omitted in some examples.

[0028] 2 is a schematic flowchart of a data processing method for multi-source data provided by an embodiment of the present application. As shown in FIG. 2, the execution subject is a data providing node, which may be an electronic device having multiple data of users, such as an e-commerce server, a social server, a communication server, etc.

[0029] As shown in FIG. 2, the data processing method for multi-source data includes the following steps S201 to S204.

[0030] S201: A data providing node generates its own private key segment, an encryption public key, and an evaluation public key.

[0031] Here, the other participating nodes include other data providing nodes and data using nodes.

[0032] With the development of machine learning, more and more machine learning technologies are applied to various industries. Generally speaking, the amount and quality of data determine the upper limit of the effectiveness of machine learning models. However, as supervision becomes increasingly strict and data security and privacy protection become more and more important, data islands are formed. In this situation, federated learning was born. Federated learning allows participating nodes to train together without sharing data, solving the problem of data islands. However, in the cooperative scene of building federated learning across departments or organizations, each party wants to be able to build a model from shared samples and different sets of features, and does not want to leak users' privacy.

[0033] In the embodiments of the present application, the data providing node generates its own private key segment, encryption public key, and evaluation public key by interacting with other participating nodes. In some embodiments, the data providing node can obtain its own key generation parameters, where the key generation parameters include a common parameter and a common random number. Furthermore, the data providing node generates its own private key segment, encryption public key segment, and part of the evaluation public key based on its own key generation parameters, interacts with other participating nodes, and shares its own encryption public key segment and part of the evaluation public key with the other participating nodes. In response, the other participating nodes also share their own encryption public key segment and part of the evaluation public key. When the data providing node obtains the encryption public key segment of the other participating nodes, it can obtain the encryption public key, and similarly, it can obtain the evaluation public key based on the part of the obtained evaluation public key. Here, the other participating nodes include other data providing nodes and data using nodes. The other data providing nodes may be the same type of server as the data providing node that is the executing subject, or may be another type of server, and both provide sample data of different dimensions.

[0034] S202, encrypt the local sample data with the encryption public key to generate ciphertext data, and send it to the coordination node to train the machine learning model.

[0035] When multiple data providing nodes need to provide data at the same time, in order to prevent data of the data providing nodes from being leaked or stolen, in the embodiment of the present application, the data providing node needs to encrypt its own local data with an encryption public key to generate ciphertext data. After the ciphertext data is generated, the data providing node sends the ciphertext data to the coordination node. In order to encrypt the sample data with the encryption public key, the data providing node can know its own sample data. Other data providing nodes, the coordination node of the machine learning model, cannot obtain the actual content of the sample data in the entire process of machine learning of multi-source data, so that the sample data of each data providing node has high security and avoids data leakage.

[0036] Accordingly, the coordination node can receive each ciphertext data sent from the multiple data providing nodes, and further, to obtain a machine learning model, the coordination node can train the machine learning model based on the ciphertext data after obtaining each ciphertext data.

[0037] 1 as an example, the data providing node 111 encrypts the local sample data u1 with an encryption public key to generate ciphertext data ct1, and the data providing node 112 encrypts the local sample data u2 with an encryption public key to generate ciphertext data ct2. The coordination node 13 can receive the ciphertext data transmitted from each data providing node.

[0038] S203, receiving ciphertext model parameters corresponding to the model parameters of the machine learning model trained by the coordination node, the ciphertext model parameters being determined by the coordination node based on the evaluation public key and the received ciphertext data.

[0039] After receiving the ciphertext data sent from each data providing node, the coordination node processes each ciphertext data using a homomorphic encryption algorithm, and trains and tests a machine learning model based on the processed ciphertext data to obtain a ciphertext model. Furthermore, the coordination node encrypts and calculates model parameters of the ciphertext model based on the evaluation public key to generate ciphertext model parameters, and sends the ciphertext model parameters to each data providing node and data consuming node, respectively.

[0040] In response, the data providing node can receive the ciphertext model parameters sent from the coordination node.

[0041] S204, decrypting the ciphertext model parameters with the private key segment, and sending the decrypted model parameter segment to the data using node.

[0042] In order to ensure the security of each data providing node's own data, in the embodiment of the present application, each data providing node cannot directly obtain the complete private key, but only has a part of the private key, i.e., a private key segment. After receiving the ciphertext model parameters, the data providing node decrypts the ciphertext model parameters with its own private key segment. Because the private key segment is used for decryption, the complete model parameters cannot be decrypted, and in the embodiment of the present application, the model parameter segment is obtained after the ciphertext model parameters are decrypted.

[0043] In the scenario of multi-source data machine learning, generally, the model parameters of the machine learning model are only obtained by the data consuming node. In the embodiment of the present application, when the data providing node is authorized, it can send the decrypted model parameter segment to the data consuming node, and after the data consuming node obtains a sufficient number of model parameter segments, it can restore the model parameters based on the secret sharing principle, and thus obtain the trained machine learning model.

[0044] The data processing method for multi-source data provided by the embodiment of the present application establishes a multi-party threshold homomorphic encryption mechanism, and can realize the purpose of homomorphically encrypting the encrypted data of multiple data providing nodes, not only expanding the application scenarios of homomorphic encryption, but also further encrypting the encrypted data based on the evaluation public key in the collaboration stage, and better ensuring the security of the training of the federated learning model. Since the threshold homomorphic encryption technology is adopted, the data can be simultaneously obtained from multiple data sources to train the model, thereby ensuring the security of the data at each location and the security of the training of the model. Then, after breaking the data island, multiple data sources can be simultaneously trained to obtain a higher performance machine learning model. In addition, the data transmission based on the homomorphic encryption algorithm can not only protect the security of the sample data of the data providing node and prevent the data providing side from leaking information, but also ensure the security of the model parameters of the training model.

[0045] In addition to the above embodiment, in order to enable encryption and decryption of data, it is necessary to generate a key including a public key and a private key through interactive cooperation between the data providing node and the data using node before encrypting local data with an encryption public key to generate ciphertext data. In the embodiment of the present application, the public key used for encryption includes an encryption public key and an evaluation public key. In the embodiment of the present application, a hierarchical homomorphic encryption (BGV) algorithm based on the learning with errors (LWE) problem is adopted. The symbol E.PubKeygen(s;A) denotes an encryption public key generation algorithm executed using a fixed coefficient a. The symbol E.PubKeygen(s;A;e) denotes an encryption public key generation algorithm executed using a fixed coefficient A and noise e.

[0046] The key generation process is described below.

[0047] 3 is a schematic flowchart of a key generating method provided by another embodiment of the present application. As shown in FIG. 3, an execution subject is a data providing node, and a key generating process includes the following steps S301 to S306.

[0048] S301: generating a private key segment of a data providing node. Each data providing node has a key generation parameter for generating a key, and generates a key based on the key generation parameter. Here, the key generation parameter includes a common parameter and a common random number. The common parameter is:

number

[0049] In some embodiments, the common random number is

number

number

number

[0050] Furthermore, after obtaining the key generation parameters, the data providing node can generate its own private key segment based on the key generation parameters and a private key generation algorithm, where the private key generation algorithm is E.SymKeygen(params), and the common parameters of the key generation parameters can be input into the private key generation algorithm to output the private key segment corresponding to the data providing node.

[0051] Data providing node P k uses the common parameters of the key generation parameters to generate its own private key segment

number

number

[0052] S302, generating an encrypted public key segment for the data providing node itself based on the private key segment.

[0053] Furthermore, after acquiring the private key segment, the data providing node generates an encrypted public key segment of the data providing node based on the private key segment, the common random number, and an encryption public key generation algorithm. Here, the encryption public key generation algorithm is E.PubKeygen(s). By inputting the private key segment and the common random number into the encryption public key generation algorithm, it is possible to output an encrypted public key segment corresponding to the data providing node.

[0054] Data providing node P k uses the common random numbers for the private key segment and the key generation parameters to generate his encrypted public key segment.

number

number

number

[0055] S303, generating a target intermediate result corresponding to the evaluation public key based on the private key segment.

[0056] After obtaining the private key segment, the data providing node generates a first intermediate result of the evaluation public key corresponding to the data providing node based on the private key segment, the common random number, and the evaluation public key generation algorithm. Here, the evaluation public key generation algorithm is E.symEnc(s). By inputting the private key segment and the common random number into the evaluation public key generation algorithm, the first intermediate result of the evaluation public key corresponding to the data providing node can be output.

[0057] Data providing node P kuses the common random numbers for the private key segment and the key generation parameters to generate the first intermediate result of the evaluation public key.

number

number

number

number

number

number

[0058] In addition, for each of the above d,i,τ and l∈[N]-{k}, the data providing node P k teeth,

number

number

[0059] After obtaining the first intermediate result of the evaluation public key, the data providing node can transmit its own first intermediate result to other data providing nodes. For example, the data providing node can broadcast its own first intermediate result. Similarly, the other data providing nodes also broadcast their respective first intermediate results. In response, the data providing node can receive the respective first intermediate results broadcast by the other data providing nodes. After obtaining the first intermediate results of the other data providing nodes, the data providing node can further obtain a second intermediate result of the evaluation public key by combining its own first intermediate result.

[0060] Data providing node P k teeth,

number

number

number

number

number

number

number

[0061] Furthermore, after obtaining the second intermediate result, the data providing node calculates a target intermediate result of the evaluation public key according to the private key segment, the common random number of the key generation parameters, and the second intermediate result.

number

[0062] For example, data providing node P k is the second intermediate result

number

number

number

number

number

[0063] S304, broadcasting a target intermediate result corresponding to the encrypted public key segment and the evaluation public key.

[0064] S305, receiving each encrypted public key segment and the target intermediate result sent from the other participating nodes.

[0065] S306, generating an encryption public key based on each encryption public key segment, and generating an evaluation public key based on each target intermediate result.

[0066] The specific processes in steps S304 to S306 will be described in detail below.

[0067] In the embodiment of the present application, after obtaining its own encrypted public key segment, the data providing node can transmit its own encrypted public key segment to other data providing nodes. For example, the data providing node can broadcast its own encrypted public key segment. Similarly, other participating nodes can also broadcast their respective encrypted public key segments. In response, the data providing node can receive the respective encrypted public key segments broadcast by the other participating nodes. After obtaining the encrypted public key segments of the other participating nodes, the data providing node can recover the encrypted public key by combining its own encrypted public key segments.

[0068] Data providing node P k teeth,

number

number

number

number

[0069] In homomorphic encryption, if each data providing node follows the protocol, that is, if each data providing node is a trusted data provider, the encryption public key generation algorithm is:

number

number

[0070] Furthermore, after obtaining the target intermediate result of the evaluation public key, the data providing node can transmit the target intermediate result to other participating nodes. For example, the data providing node can broadcast its own target intermediate result. Similarly, other data providing nodes can also broadcast their respective target intermediate results. In response, the data providing node can receive the respective target intermediate results broadcast by other data providing nodes. After obtaining the target intermediate results of other data providing nodes, the evaluation public key can be restored by combining its own target intermediate results. Data providing node P k Enter setup,

number

number

number

number

[0071] In response, other participating nodes can receive the encrypted public key segments broadcast by other participating nodes, and can obtain the complete encrypted public key in a similar manner. Other participating nodes can calculate the evaluation public key by using the evaluation public key calculation formula. For example, the data using node of other participating nodes can obtain the complete encrypted public key and the evaluation public key in a similar process to that of the data providing node obtaining the encrypted public key, and based on the above interactive cooperation process, which is not described here.

[0072] After obtaining the encryption public key, the data providing node calls the encryption algorithm, where the encryption algorithm is E.PubEnc pk (μ), and encrypts its own data with this encryption algorithm to obtain ciphertext data. For example, the data providing node P k , invoke the encryption algorithm,

number

number

[0073] After obtaining the evaluation public key, the data providing node can send the evaluation public key to the coordination node, which can then encrypt the model parameters with the evaluation public key to generate ciphertext model parameters.

[0074] For example, the coordination node is Eval evk Invoke the encryption algorithm to encrypt each ciphertext data based on the evaluation public key, i.e., Eval evk (m,c 1 ,…,c n), which allows the ciphertext calculation result to be calculated. Here, the evaluation algorithm is Eval evk (m,c 1 ,…,c n ) is E.Eval evk (m,c 1 ,…,c n ) is the same as

[0075] In the key generation process provided in the embodiment of the present application, two protocols are performed between N data providing nodes and a data using node, the input is setup, and the output is an evaluation public key.

number

number

number

[0076] 4 is a schematic flowchart of a data processing method for multi-source data provided by another embodiment of the present application. As shown in FIG. 4, the execution subject is a data using node, and the data processing method for multi-source data includes the following steps S401 to S405.

[0077] S401, a data using node generates its own private key segment, an encryption public key, and an evaluation public key, and other participating nodes include a data providing node.

[0078] In the embodiment of the present application, the data using node generates its own private key segment, encryption public key and evaluation public key by interactively cooperating with other participating nodes. Here, the other participating nodes include at least one data providing node. In some implementations, the data using node can obtain key generation parameters, where the key generation parameters include common parameters and common random numbers. The data using node can generate its own private key segment based on the key generation parameters. Here, the process in which the data using node generates its own private key segment is similar to the process in which the data providing node generates its own private key segment, and the relevant content in the above embodiment can be referred to, so the description is omitted here.

[0079] After obtaining its own private key segment, the data using node generates its own encrypted public key segment according to the private key segment, and broadcasts the encrypted public key segment. In response, the data using node can receive the encrypted public key segment sent by the data providing node, and can determine the encrypted public key according to each encrypted public key segment. Here, the process in which the data using node obtains the encrypted public key segment is the same as the process in which the data providing node obtains the data providing node encrypted public key, and the relevant content description in the above embodiment can be referred to, so the description is omitted here.

[0080] After obtaining its own private key segment, the data using node generates a target intermediate result corresponding to its own evaluation public key segment according to the private key segment, and broadcasts the target intermediate result. Accordingly, the data using node can obtain the target intermediate result of the evaluation public key sent by the data providing end side, which is sent from the data providing node, and further obtain the evaluation public key according to each target intermediate result. Here, the process of the data using node obtaining the evaluation public key is the same as the process of the data providing node obtaining the evaluation public key, and the relevant content in the above embodiment can be referred to, so the description is omitted here.

[0081] When multiple data providing nodes need to provide data at the same time, in order to prevent data of the data providing nodes from being leaked or stolen, in the embodiment of the present application, the data providing nodes need to encrypt their own local data with encryption public keys to generate ciphertext data. After the ciphertext data is generated, the data providing nodes send the ciphertext data to the coordination node.

[0082] Accordingly, the coordination node can receive each ciphertext data sent from the multiple data providing nodes, and further, to obtain a machine learning model, the coordination node can train the machine learning model based on the ciphertext data after obtaining each ciphertext data.

[0083] S402, receiving ciphertext model parameters corresponding to model parameters of the machine learning model trained by the coordination node, the ciphertext model parameters being determined by the coordination node based on the evaluation public key and the received ciphertext data of the data providing node.

[0084] After receiving the ciphertext data sent from each data providing node, the coordination node processes each ciphertext data using a homomorphic encryption algorithm, and trains and tests a machine learning model based on the processed ciphertext data to obtain a ciphertext model. Furthermore, the coordination node encrypts and calculates model parameters of the ciphertext model based on the evaluation public key to generate ciphertext model parameters, and sends the ciphertext model parameters to each data providing node and data consuming node, respectively.

[0085] In response, the data using node can receive the ciphertext model parameters sent from the coordination node.

[0086] S403, the ciphertext model parameter is decrypted with the private key segment of the data using node itself to obtain a first model parameter segment.

[0087] In the embodiment of the present application, the data using node cannot directly obtain the complete private key, but only has a part of the private key, i.e., the private key segment. After receiving the ciphertext model parameters, the data using node decrypts the ciphertext model parameters with its own private key segment. Because the private key segment is used for decryption, the complete model parameters cannot be decrypted. In the embodiment of the present application, after the ciphertext model parameters are decrypted by the data using node, the model parameter segment, i.e., the first model parameter segment is obtained.

[0088] S404, receiving a second model parameter segment transmitted from another participating node.

[0089] In order to ensure the security of each data providing node's own data, in the embodiment of the present application, each data providing node cannot directly obtain the complete private key, and each data providing node has a part of the private key, i.e., a private key segment. After receiving the ciphertext model parameter, the data providing node can decrypt the ciphertext model parameter with its own private key segment to obtain a model parameter segment, i.e., a second model parameter segment. After obtaining the second model parameter segment, in order to completely decrypt the data, if the data providing node is allowed to send the second model parameter segment to other participating nodes, the data consuming node can also obtain its own second model parameter, so that the data consuming node can decrypt the plaintext model parameter.

[0090] In some embodiments, each data providing node broadcasts its own second model parameter segment to the outside, and the data using node can eavesdrop on each second model parameter segment. In some embodiments, the data providing node can directly transmit each second model parameter segment to the data using node. This is just an example, and the embodiment of the present application is not particularly limited in the manner of transmitting the second model parameter segment.

[0091] Data providing node P k is its own private key segment

number

number

number

[0092] In response, the data using node may receive the second model parameter segment transmitted from each data providing node.

[0093] S405, obtaining a machine learning model based on the first model parameter segment and the second model parameter segment.

[0094] Based on the secret sharing mechanism, a sufficient number of secret fragments need to be obtained to recover the secret. In an embodiment of the present application, the decrypted intermediate decryption data is shared between the data providing nodes to the data consuming nodes to ensure that the data consuming nodes can obtain a sufficient number of model parameter segments to decrypt the plaintext model parameters. In an embodiment of the present application, the data consuming node can receive the model parameter segments sent from the data providing nodes, c=(v,w,D), where D is a multiplication level. The data consuming node can fuse the first model parameter segment and the second model parameter segment, for example, by homomorphic addition or multiplication of the first model parameter segment and the second model parameter segment, to decrypt the plaintext model parameters and obtain the trained machine learning model.

[0095] Data providing node P k is its own

number

number

number

[0096] The data processing method for machine learning model multi-source data provided by this embodiment establishes a multi-party threshold homomorphic encryption mechanism, and can realize the purpose of homomorphically encrypting the encrypted data of multiple data providing nodes, not only expanding the application scenarios of homomorphic encryption, but also further encrypting the encrypted data based on the evaluation public key in the collaboration stage, and better ensuring the security of the training of the federated learning model. Since the threshold homomorphic encryption technology is adopted, the data can be obtained from multiple data sources simultaneously to perform simulated training, thereby ensuring the security of data at each location and the security of the training of the model. Then, after breaking the data island, multiple data sources can be trained simultaneously to obtain a higher performance machine learning model. In addition, the data transmission based on the homomorphic encryption algorithm can not only protect the security of the sample data of the data providing node and prevent information leakage from the data providing side, but also ensure the security of the model parameters of the training model.

[0097] In addition to the above embodiments, in order to enable data encryption and decryption, a key needs to be generated through interactive collaboration between the data consuming node and the data providing node before encrypting local data with the encryption public key to generate ciphertext data.

[0098] The data using node first generates its own private key segment, then generates its own encrypted public key segment based on the private key segment, and broadcasts the encrypted public key segment, so that the data providing node can obtain the encrypted public key segment and thus the encrypted public key. Specifically, the data using node obtains key generation parameters, which include common parameters and common random numbers, and obtains a private key segment based on the common parameters and a private key generation algorithm. The process by which the data using node generates its own private key segment can be specifically referred to the process by which the data providing node generates a private key, and therefore the description is omitted here.

[0099] 5 is a schematic flowchart of a data processing method for multi-source data provided by another embodiment of the present application. As shown in FIG. 5, the execution subject is a coordination node, and the data processing method for multi-source data includes the following steps S501 to S505.

[0100] S501, the evaluation key transmitted from each data providing node is received.

[0101] Regarding the process in which the data providing node generates the evaluation key, the relevant content in the above embodiment can be referred to, so the description will be omitted here.

[0102] After generating the evaluation key, the data providing node transmits the generated evaluation key to the coordination node in order to ensure the security of the model parameters transmitted by the coordination node.

[0103] S502, receiving ciphertext data transmitted from each data providing node, the ciphertext data being generated after the data providing node encrypts its own sample data with an encryption public key.

[0104] To realize training of the machine learning model, the data providing node needs to encrypt the sample data with the encryption public key and send the ciphertext data generated to the coordination node. After receiving the ciphertext data sent from each data providing node, the coordination node can train the machine learning model based on each ciphertext data.

[0105] S503, coordinating the data providing nodes to train the machine learning model, and outputting model parameters of the machine learning model.

[0106] In some embodiments, the coordination node processes each ciphertext data using a homomorphic encryption algorithm, coordinates with each data providing node, and trains and tests a machine learning model based on the processed ciphertext data to obtain a machine learning model for the ciphertext.

[0107] S504, encrypting the model parameters with the evaluation public key to obtain ciphertext model parameters.

[0108] S505, the ciphertext model parameters are sent to each data providing node and each data using node for decryption.

[0109] The coordination node encrypts and calculates the model parameters of the ciphertext model based on the evaluation public key to generate the ciphertext model parameters, and then transmits the ciphertext model parameters to each data providing node and data using node, respectively.

[0110] In response, the data using node can receive the ciphertext model parameters sent from the coordination node.

[0111] In the embodiment of the present application, the data using node cannot directly obtain the complete private key, but only has a part of the private key, i.e., the private key segment. After receiving the ciphertext model parameter, the data using node decrypts the ciphertext model parameter with its own private key segment, and then uses the private key segment to decrypt, so it cannot decrypt the complete model parameter. In the embodiment of the present application, after the ciphertext model parameter is decrypted by the data using node, it obtains the model parameter segment, i.e., the first model parameter segment.

[0112] In order to ensure the security of each data providing node's own data, in the embodiment of the present application, each data providing node cannot directly obtain the complete private key, and each data providing node has a part of the private key, i.e., a private key segment. After receiving the ciphertext model parameter, the data providing node can decrypt the ciphertext model parameter with its own private key segment to obtain a model parameter segment, i.e., a second model parameter segment. After obtaining the second model parameter segment, in order to completely decrypt the data, if the data providing node is allowed to send the second model parameter segment to other participating nodes, the data consuming node can also obtain its own second model parameter, so that the data consuming node can decrypt the plaintext model parameter.

[0113] In some embodiments, each data providing node broadcasts its own second model parameter segment to the outside, and the data using node can eavesdrop on each second model parameter segment. In some embodiments, the data providing node can also directly transmit each second model parameter segment to the data using node. This is just an example, and the embodiment of the present application is not particularly limited in the manner of transmitting the second model parameter segment.

[0114] In response, the data using node may receive the second model parameter segment transmitted from each data providing node.

[0115] Based on the secret sharing mechanism, a sufficient number of secret fragments need to be obtained to recover the secret. In the embodiment of the present application, the decrypted intermediate decrypted data is shared among the data providing nodes to the data consuming nodes to ensure that the data consuming nodes obtain a sufficient number of model parameter segments, and can decrypt the plaintext model parameters to obtain the trained machine learning model.

[0116] The data processing method for multi-source data provided by this embodiment establishes a multi-party threshold homomorphic encryption mechanism, which can realize the purpose of homomorphically encrypting the encrypted data of multiple data providing nodes, not only expanding the application scenarios of homomorphic encryption, but also further encrypting the encrypted data based on the evaluation public key in the collaboration stage, so as to better ensure the security of the training of the federated learning model. Because the threshold homomorphic encryption technology is adopted, the data can be obtained from multiple data sources simultaneously to perform simulated training, thereby ensuring the security of data at each location and the security of the training of the model. Then, after breaking the data island, multiple data sources can be trained simultaneously to obtain a higher performance machine learning model. In addition, the data transmission based on the homomorphic encryption algorithm can not only protect the security of the sample data of the data providing node and prevent information leakage from the data providing side, but also ensure the security of the model parameters of the training model.

[0117] The symbols in the homomorphic encryption algorithm in the above embodiment will now be explained and promised. We use E to represent the hierarchical BGV algorithm based on LWE, the maximum multiplication level of the supporting circuit is D, and the plaintext space is {0,1}. We use TFHE to represent threshold homomorphic encryption. We assume that there are N data owners and 1 data user. Vectors are represented in bold lowercase letters, and scalars are represented in lowercase letters. If s is a vector, s[i] represents the i-th weight of s, and we promise that s[0]=1. D represents the probability distribution of a finite set S, and x←D represents that x is a sampling of D,

number

[0118] E includes the following basic elements: 1)params=(1 κ ,q,m,n,φ,χ),params are the implicit inputs of all algorithms, κ is the security parameter, q is the odd mode, m and n are dimensions, and φ and φ are the parameters of Z. q is the probability distribution of 2)E.SymKeygen(params): Secret key s←φ n Generate. 3) E. PubKeygen(s):

number

number

[0119] 6 is a schematic block diagram of a data processing device for multi-source data provided by an embodiment of the present application. As shown in FIG. 6, the data processing device for multi-source data, which is applied to a data providing node, includes a key generating module 60, an encryption module 61, a receiving module 62, and a decryption module 63.

[0120] Here, the key generation module 60 generates a private key segment, an encryption public key, and an evaluation public key for the data providing node itself, and the other participating nodes include other data providing nodes and data consuming nodes.

[0121] The encryption module 61 encrypts the local sample data with an encryption public key to generate ciphertext data, which is then sent to the coordination node for training the machine learning model.

[0122] The receiving module 62 receives ciphertext model parameters corresponding to model parameters of the machine learning model trained by the coordination node, the ciphertext model parameters being determined by the coordination node based on the evaluation public key and the received ciphertext data.

[0123] The decryption module 63 decrypts the ciphertext model parameters with the data providing node's own private key segment and transmits the decrypted model parameter segments to the data consuming node.

[0124] In some embodiments, the key generation module 60 comprises a first generating unit 601 , a sending unit 602 , a receiving unit 603 , and a second generating unit 604 .

[0125] The first generating unit 601 generates a private key segment of a data providing node, and generates, based on the private key segment, an encryption public key segment of the data providing node itself and a target intermediate result corresponding to an evaluation public key.

[0126] The sending unit 602 broadcasts the encrypted public key segment and the target intermediate result.

[0127] The receiving unit 603 receives each encrypted public key segment and the target intermediate result sent from the other participating nodes.

[0128] The second generating unit 604 generates an encryption public key and an evaluation public key based on each encryption public key segment and each target intermediate result.

[0129] In addition, the sending unit 602 further generates the evaluation public key and then sends the evaluation public key to the coordination node.

[0130] In addition, the first generating unit 601 further obtains key generation parameters, where the key generation parameters include a common parameter and a common random number, and obtains a private key segment according to the common parameter and the private key generation algorithm.

[0131] Moreover, the first generation unit 601 further generates an encryption public key segment based on the private key segment, the common random number, and the encryption public key generation algorithm, and generates a target intermediate result based on the private key segment and the evaluation public key generation algorithm.

[0132] Furthermore, the first generation unit 601 further generates a first intermediate result of the evaluation public key based on the private key segment, the common random number, and the evaluation public key generation algorithm, broadcasts the first intermediate result, receives each first intermediate result sent from the other data providing nodes, obtains a second intermediate result of the evaluation public key based on its own first intermediate result and the first intermediate result of the other data providing nodes, obtains a target intermediate result of the evaluation public key based on the private key segment, the common random number, and the second intermediate result, and broadcasts the target intermediate result.

[0133] The data processing device for multi-source data provided by this embodiment establishes a multi-party threshold homomorphic encryption mechanism, and can realize the purpose of homomorphically encrypting the encrypted data of multiple data providing nodes, not only expanding the application scenarios of homomorphic encryption, but also further encrypting the encrypted data based on the evaluation public key in the collaboration stage, and better ensuring the security of the training of the federated learning model. Since the threshold homomorphic encryption technology is adopted, the data can be obtained from multiple data sources simultaneously to perform simulated training, thereby ensuring the security of data at each location and the security of model training. Then, after breaking the data island, multiple data sources can be trained simultaneously to obtain a higher performance machine learning model. In addition, the data transmission based on the homomorphic encryption algorithm can not only protect the security of the sample data of the data providing node and prevent information leakage from the data providing side, but also ensure the security of the model parameters of the training model.

[0134] 7 is a schematic block diagram of a data processing device for multi-source data provided by an embodiment of the present application. As shown in FIG. 7, the data processing device for multi-source data is applied to a data using node, and includes: a key generating module 70, a first receiving module 71, a decrypting module 72, a second receiving module 73, and an acquiring module 74.

[0135] The key generation module 70 generates a private key segment, an encryption public key, and a reputation public key for the data consuming node, where the other participating nodes include the data providing node.

[0136] The first receiving module 71 receives ciphertext model parameters corresponding to model parameters of the machine learning model trained by the coordination node, and the ciphertext model parameters are determined by the coordination node based on the evaluation public key and the received ciphertext data of the data providing node.

[0137] The decryption module 72 decrypts the ciphertext model parameters with the data consuming node's own private key segment to obtain a first model parameter segment.

[0138] The second receiving module 73 receives the second model parameter segments transmitted from the other participating nodes.

[0139] The obtaining module 74 obtains a machine learning model based on the first model parameter segment and the second model parameter segment.

[0140] Furthermore, the key generating module 70 includes a generating unit 701 and a sending unit 702 .

[0141] The generating unit 701 generates a private key segment of the data using node, and generates an encrypted public key segment of the data using node itself based on the private key segment.

[0142] The sending unit 702 broadcasts the encrypted public key segment.

[0143] In addition, the generating unit 701 further obtains key generation parameters, where the key generation parameters include a common parameter and a common random number, and obtains a private key segment according to the common parameter and the private key generation algorithm.

[0144] The data processing device for multi-source data provided by this embodiment establishes a multi-party threshold homomorphic encryption mechanism, and can realize the purpose of homomorphically encrypting the encrypted data of multiple data providing nodes, not only expanding the application scenarios of homomorphic encryption, but also further encrypting the encrypted data based on the evaluation public key in the collaboration stage, and better ensuring the security of the training of the federated learning model. Since the threshold homomorphic encryption technology is adopted, the data can be obtained from multiple data sources simultaneously to perform simulated training, thereby ensuring the security of data at each location and the security of model training. Then, after breaking the data island, multiple data sources can be trained simultaneously to obtain a higher performance machine learning model. In addition, the data transmission based on the homomorphic encryption algorithm can not only protect the security of the sample data of the data providing node and prevent information leakage from the data providing side, but also ensure the security of the model parameters of the training model.

[0145] 8 is a schematic block diagram of a data processing device for multi-source data provided by an embodiment of the present application. As shown in FIG. 8, applied to a coordination node, the data processing device for multi-source data includes a first receiving module 80, a second receiving module 81, a collaboration module 82, an encryption module 83, and a sending module 84.

[0146] Here, the first receiving module 80 receives the evaluation keys transmitted from each data providing node.

[0147] The second receiving module 81 receives the ciphertext data sent from each data providing node, and the ciphertext data is generated after the data providing node encrypts its own sample data with its encryption public key.

[0148] The collaboration module 82 collaborates with the data providing nodes to train the machine learning model and output model parameters of the machine learning model.

[0149] The encryption module 83 encrypts the model parameters with the evaluation public key to obtain ciphertext model parameters.

[0150] The sending module 84 sends the ciphertext model parameters to each data providing node and data consuming node respectively for decryption.

[0151] The data processing device for multi-source data provided by this embodiment establishes a multi-party threshold homomorphic encryption mechanism, and can realize the purpose of homomorphically encrypting the encrypted data of multiple data providing nodes, not only expanding the application scenarios of homomorphic encryption, but also further encrypting the encrypted data based on the evaluation public key in the collaboration stage, and better ensuring the security of the training of the federated learning model. Since the threshold homomorphic encryption technology is adopted, the data can be obtained from multiple data sources simultaneously to perform simulated training, thereby ensuring the security of data at each location and the security of model training. Then, after breaking the data island, multiple data sources can be trained simultaneously to obtain a higher performance machine learning model. In addition, the data transmission based on the homomorphic encryption algorithm can not only protect the security of the sample data of the data providing node and prevent information leakage from the data providing side, but also ensure the security of the model parameters of the training model.

[0152] The above-mentioned embodiment of the data processing method for multi-source data can also be applied to the data processing device for multi-source data of this embodiment, and therefore no further description will be given here.

[0153] In order to realize the above embodiment, an electronic device is further provided, comprising a processor 90 and a memory 91, wherein the processor 90 realizes the data processing method for multi-source data provided in the above embodiment of the present application by reading executable program code stored in the memory 91.

[0154] To realize the above embodiment, the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, realizes the data processing method for multi-source data provided in the above embodiment of the present application.

[0155] To realize the above embodiment, the present application further provides a computer program product, which, when instructions in the computer program product are executed by a processor, realizes the data processing method for multi-source data provided in the above embodiment of the present application.

[0156] In this specification, the terms "one embodiment", "some embodiments", "examples", "specific examples" or "some examples" mean that the specific features, configurations, materials or characteristics described in the embodiment or examples are combined and included in at least one embodiment or example of the present application. In this specification, the exemplary expressions of the above terms do not necessarily refer to the same embodiment or example. In addition, the specific features, configurations, materials or characteristics described can be appropriately combined in any one or more embodiments or examples. In addition, unless inconsistent, a person skilled in the art can combine or combine different embodiments or examples of the specification and features in different embodiments or examples.

[0157] Additionally, the terms "first" and "second" do not indicate or imply a relative importance, but are merely illustrative and do not imply a number of technical features to be shown. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the feature. In the description of this application, the meaning of "plurality" means two or more than two, unless explicitly defined.

[0158] Any process or method description illustrated in a flowchart or otherwise can be understood as one or more executable modules, fragments, or segments of code commands for implementing specific logical functions or process steps, and the scope of the preferred embodiments of the present invention includes other implementations, including performing functions substantially simultaneously based on such functions or in reverse order, not in the order shown or described, as will be understood by those skilled in the art.

[0159] The logic and / or steps shown in the flow charts or otherwise described may be considered, for example, as a sequential listing of executable commands to implement logical functions, and may be tangibly embodied in any computer-readable medium for use in providing commands for use by a command execution system, apparatus, or device (a computer-based system including a system of processors or other systems capable of obtaining and executing commands from a command execution system, apparatus, or device) or for use in a command execution system, apparatus, or device that uses these commands in combination. As used herein, a "computer-readable medium" may be a device that stores, stores, communicates, propagates, or transmits a program for use by a command execution system, apparatus, or device, or for use in a command execution system, apparatus, or device that uses these commands in combination. More specific examples (non-exhaustive list) of computer readable media include at least electrical connections with one or more wires (electronic devices), portable computer disks (magnetic devices), random access memories (RAM), read only memories (ROM), erasable programmable read only memories (EPROM or flash memory), fiber optic devices, and portable read only memories (CDROM). The computer readable medium may also be paper or other suitable medium on which the program can be printed, for example optically scanned, and then edited, interpreted, or otherwise processed as necessary in an appropriate manner to obtain the program in electronic form, which can then be stored in a computer memory.

[0160] Each part of the present application may be realized by hardware, software, firmware, or a combination thereof. In the above embodiment, a plurality of steps or methods may be implemented by software or firmware stored in a memory and executed by an appropriate command execution system. For example, when the method is realized by hardware, as in the other embodiments, the method may be realized by any one or a combination of techniques known in the art, such as a discrete logic circuit having logic gate circuits that realize logic functions on data signals, an application specific integrated circuit having appropriate mixed logic gate circuits, a programmable gate array (GPA), a field programmable gate array (FPGA), etc.

[0161] Those skilled in the art can understand that the steps included in the method in the above embodiment can be realized in whole or in part by instructing corresponding hardware by a program. The program may be stored in a computer-readable medium, and when the program is executed, it can include one or a combination of the steps according to the embodiment of the method.

[0162] In addition, each functional unit in each embodiment of the present application may be integrated into one processing module, may be a separate physical entity, or two or more units may be integrated into one module. The above integrated module may be realized in hardware or a software functional module. When the above integrated module is realized in a software functional module and sold or used as an independent product, it may be stored in a computer-readable storage medium.

[0163] The above storage medium may be a read-only memory, a magnetic disk, an optical disk, etc. Although the embodiments of the present invention have been illustrated and described above, the above embodiments are merely examples, and the limitations of the present application cannot be understood. Those skilled in the art can change, modify, replace, and modify the above embodiments within the scope of the present application.

Claims

1. A data processing method for multi-source data applied to a data providing node, comprising: generating a private key segment, an encryption public key and an evaluation public key for the data providing node itself, where the other participating nodes include other data providing nodes and data using nodes; encrypting the local sample data with the encryption public key to generate ciphertext data, and sending the ciphertext data to a coordination node for training a machine learning model; receiving ciphertext model parameters corresponding to model parameters of the machine learning model trained by the coordination node, the ciphertext model parameters being determined by the coordination node based on the evaluation public key and the received ciphertext data; decrypting the ciphertext model parameters with the private key segment and sending the decrypted model parameter segment to the data using node; A data processing method for multi-source data, comprising:

2. generating a private key segment, an encryption public key, and an evaluation public key of the data providing node itself, generating the private key segment, and generating an encrypted public key segment of the data providing node itself and a target intermediate result corresponding to the evaluation public key based on the private key segment; broadcasting the encrypted public key segment and the target intermediate result; receiving the encrypted public key segments and the target intermediate result sent by the other participating nodes; generating the encryption public key based on each of the encryption public key segments and generating the evaluation public key based on each of the target intermediate results; 2. The method for processing multi-source data according to claim 1, comprising:

3. After generating the evaluation public key, 3. The method for processing multi-source data according to claim 2, further comprising the step of transmitting the evaluation public key to the coordination node.

4. generating a private key segment for the data providing node, obtaining key generation parameters, the key generation parameters including a common parameter and a common random number; obtaining the private key segment based on the common parameters and a private key generation algorithm; 3. The method for processing multi-source data according to claim 2, comprising:

5. generating an encrypted public key segment of the data providing node itself and a target intermediate result corresponding to the evaluation public key based on the private key segment, generating the encrypted public key segment based on the private key segment, the common random number and an encrypted public key generation algorithm; generating the target intermediate result based on the private key segment and an evaluation public key generation algorithm; 5. The method for processing multi-source data according to claim 4, comprising:

6. generating the target intermediate result based on the private key segment and an evaluation public key generation algorithm, generating a first intermediate result of the evaluation public key based on the private key segment, the common random number and an evaluation public key generation algorithm, and broadcasting the first intermediate result; receiving the first intermediate results transmitted from other data providing nodes; obtaining a second intermediate result of the evaluation public key based on the first intermediate result of the node itself and the first intermediate results of the other data providing nodes; obtaining a target intermediate result of the evaluation public key based on the private key segment, the common random number, and the second intermediate result, and broadcasting the target intermediate result; 6. The method for processing multi-source data according to claim 5, comprising:

7. A data processing method for multi-source data applied to a data using node, comprising: generating a private key segment, an encryption public key and an evaluation public key of the data using node itself, where the other participating nodes include a data providing node; receiving ciphertext model parameters corresponding to model parameters of a machine learning model trained by a coordination node, the ciphertext model parameters being determined by the coordination node based on the evaluation public key and the ciphertext data received from the data providing node; decrypting the ciphertext model parameters with the private key segment to obtain a first model parameter segment; receiving a second model parameter segment transmitted from the other participating node; obtaining the machine learning model based on the first model parameter segment and the second model parameter segment; A data processing method for multi-source data, comprising:

8. generating a private key segment, an encryption public key, and an evaluation public key of the data using node itself, generating a private key segment for the data using node and generating an encrypted public key segment for the data using node based on the private key segment; broadcasting the encrypted public key segment; 8. The method for processing multi-source data according to claim 7, comprising:

9. generating a private key segment of the data using node, obtaining key generation parameters, the key generation parameters including a common parameter and a common random number; obtaining the private key segment based on the common parameters and a private key generation algorithm; 9. The method for processing multi-source data according to claim 8, comprising:

10. A data processing method for multi-source data applied to a coordination node, comprising: receiving a reputation key transmitted from each data providing node; receiving ciphertext data transmitted from each of the data providing nodes, the ciphertext data being generated after the data providing node encrypts its own sample data with an encryption public key; coordinating the data providing nodes to train a machine learning model and output model parameters of the machine learning model; encrypting the model parameters with an evaluation public key to obtain ciphertext model parameters; sending the ciphertext model parameters to each of the data providing nodes and the data using nodes for decryption; A data processing method for multi-source data, comprising:

11. A data processing device for multi-source data applied to a data providing node, comprising: A key generation module for generating a private key segment, an encryption public key, and an evaluation public key of the data providing node itself, wherein the other participating nodes include other data providing nodes and data using nodes; an encryption module that encrypts the local sample data with the encryption public key to generate ciphertext data and sends the ciphertext data to a coordination node to train a machine learning model; a receiving module for receiving ciphertext model parameters corresponding to model parameters of the machine learning model trained by the coordination node, the ciphertext model parameters being determined by the coordination node based on the evaluation public key and the received ciphertext data; a decryption module for decrypting the ciphertext model parameters with the private key segment and sending the decrypted model parameter segment to the data using node; A data processing device for multi-source data comprising:

12. A data processing device for multi-source data applied to a data using node, comprising: A key generating module for generating a private key segment, an encryption public key, and an evaluation public key of the data using node itself, the other participating nodes including a data providing node; a first receiving module for receiving ciphertext model parameters corresponding to model parameters of a machine learning model trained by a coordination node, the ciphertext model parameters being determined by the coordination node based on the evaluation public key and the ciphertext data received from the data providing node; a decryption module for decrypting the ciphertext model parameters with the private key segment to obtain a first model parameter segment; a second receiving module for receiving a second model parameter segment transmitted from the other participating node; an acquisition module that acquires the machine learning model based on the first model parameter segment and the second model parameter segment; A data processing device for multi-source data comprising:

13. A data processing apparatus for multi-source data applied to a coordination node, comprising: a first receiving module for receiving an evaluation key transmitted from a data providing node; A second receiving module that receives ciphertext data transmitted from each of the data providing nodes, the ciphertext data being generated after the data providing node encrypts its own sample data with an encryption public key; a collaboration module that collaborates with the data providing nodes to train a machine learning model and outputs model parameters of the machine learning model; an encryption module for encrypting the model parameters with an evaluation public key to obtain ciphertext model parameters; a transmitting module for transmitting the ciphertext model parameters to each of the data providing nodes and the data using nodes for decryption; A data processing apparatus for multi-source data, comprising:

14. A processor and a memory, An electronic device that, by reading executable program code stored in the memory, executes a program corresponding to the executable program code, so that the processor executes the data processing method for multi-source data according to any one of claims 1 to 6.

15. A computer-readable storage medium having a computer program stored thereon, A computer readable storage medium which, when the computer program is executed by a processor, implements the method for processing multi-source data according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method and device for classification based upon tree using encryption technique

    JP2012163960A

  • Similar information search method, server device, and similar information search system

    JP2016224905A

  • Private and federated learning

    US20200358599A1

  • Method for collaborative learning of an artificial neural network without disclosing training data

    US20200394518A1

  • Method and device for training a model based on federated learning

    US20210004718A1