WO2020223917A1 - Procédé et appareil de mise en œuvre d'un calcul sécurisé multi-parties, dispositif informatique et support d'informations - Google Patents

Procédé et appareil de mise en œuvre d'un calcul sécurisé multi-parties, dispositif informatique et support d'informations Download PDF

Info

Publication number
WO2020223917A1
WO2020223917A1 PCT/CN2019/085940 CN2019085940W WO2020223917A1 WO 2020223917 A1 WO2020223917 A1 WO 2020223917A1 CN 2019085940 W CN2019085940 W CN 2019085940W WO 2020223917 A1 WO2020223917 A1 WO 2020223917A1
Authority
WO
WIPO (PCT)
Prior art keywords
mpc
node
calculation
mpc node
proxy server
Prior art date
Application number
PCT/CN2019/085940
Other languages
English (en)
Chinese (zh)
Inventor
黄高峰
李升林
孙立林
谢翔
Original Assignee
云图有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 云图有限公司 filed Critical 云图有限公司
Priority to PCT/CN2019/085940 priority Critical patent/WO2020223917A1/fr
Publication of WO2020223917A1 publication Critical patent/WO2020223917A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Definitions

  • This application relates to the technical field of secure multi-party computing, and in particular to a method, device, computer equipment, and storage medium for implementing secure multi-party computing.
  • Secure Multi-Party Computation means that in a distributed network, multiple users need to work together to complete a task, and each user holds some private data as input to the task, and they hope to complete it together The calculation of these data requires that each user cannot know any input information of other users except the calculation result.
  • Secure multi-party computing is to solve the problem of collaborative computing between a group of untrusted parties under the premise of protecting privacy. Secure multi-party computing must ensure the independence of input and the correctness of the calculation, while not leaking each input data to the participants. Other members of the calculation. Secure multi-party computing plays an important role in scenarios such as electronic elections, electronic voting, electronic auctions, secret sharing, and threshold signatures.
  • the embodiments of the present application provide a method for implementing secure multi-party computing to solve the problem of low task collaboration efficiency between nodes participating in computing in the prior art.
  • the embodiment of the present application provides a method for implementing secure multi-party computing, including: a proxy server receives a calculation request sent by a first MPC node, where the first MPC node is one MPC node among multiple MPC nodes, and the proxy server is registered There are callback functions for each MPC node in multiple MPC nodes; in response to a calculation request, the proxy server sends a calculation request to each MPC node by calling the callback function of each MPC node; in the case where it is determined that each MPC node has received the calculation request, The proxy server sends a calculation start notification to each MPC node by calling the callback function of each MPC node, where the calculation start notification is used to instruct each MPC node to perform secure multi-party calculation.
  • the proxy server registers the callback function of each MPC node in the multiple MPC nodes, including: the proxy server receives a callback registration request sent by each MPC node in the multiple MPC nodes, and the callback registration request carries the corresponding MPC node User information and callback function, the user information is used to identify the corresponding MPC node; in response to the callback registration request, the proxy server registers the user information and the callback function of each MPC node among the multiple MPC nodes.
  • the user information includes at least one of the following: user ID, task ID, port ID, public key, and distribution password.
  • each MPC node performs secure multi-party calculation, including: in response to a calculation start notification, establishing a direct connection between each MPC node; each MPC node performs secure multi-party calculation according to a preset MPC protocol, where each MPC node Directly transfer intermediate data between calculations.
  • each MPC node executes secure multi-party computing, including: in response to the calculation start notification, each MPC node establishes an indirect connection through a proxy server; each MPC node performs secure multi-party computing according to a preset MPC protocol, where, Each MPC node forwards and calculates intermediate data through a proxy server.
  • the proxy server forwards the calculation intermediate data, including: the proxy server receives the encrypted calculation intermediate data sent by the second MPC node, where the encrypted calculation intermediate data is generated by the second MPC node according to the third MPC node
  • the second MPC node and the third MPC node are two MPC nodes among multiple MPC nodes; the proxy server encrypts the received data by calling the callback function of the third MPC node.
  • the latter calculation intermediate data is sent to the third MPC node, where the third MPC node decrypts the received calculation intermediate data according to its own private key to obtain the decrypted calculation intermediate data.
  • the method further includes: the proxy server receives the result distribution request sent by the fourth MPC node, where the fourth MPC node is the MPC node that obtains the calculation result among the MPC nodes ; In response to the result distribution request, the proxy server distributes the calculation result.
  • the method before the proxy server receives the result distribution request sent by the fourth MPC node, the method further includes: the fourth MPC node determines whether to distribute the obtained calculation result; after determining whether to distribute the obtained calculation result In this case, the fourth MPC node sends a result distribution request to the proxy server, and the result distribution request carries the calculation result.
  • the proxy server receives data and/or requests sent by multiple MPC nodes via a firewall, and sends data and/or requests to multiple MPC nodes via the firewall.
  • the embodiment of the present application also provides a device for realizing secure multi-party computing, which is located in the proxy server, and includes: a receiving module for receiving a calculation request sent by a first MPC node, where the first MPC node is among multiple MPC nodes For one MPC node in the Proxy Server, the callback function of each MPC node in multiple MPC nodes is registered in the proxy server; the first callback module is used to send a calculation request to each MPC node by calling the callback function of each MPC node in response to a calculation request; The second callback module is used to send a calculation start notification to each MPC node by calling the callback function of each MPC node when it is determined that each MPC node has received the calculation request.
  • the calculation start notification is used to instruct each MPC node to execute Safe multi-party calculations.
  • An embodiment of the present application further provides a computer device including a processor and a memory for storing executable instructions of the processor, and the processor implements the method for implementing secure multi-party computing described in any of the foregoing embodiments when the processor executes the instructions A step of.
  • the embodiments of the present application also provide a computer-readable storage medium on which computer instructions are stored, which when executed, implement the steps of the method for implementing secure multi-party computing described in any of the foregoing embodiments.
  • a method for implementing secure multi-party computing is provided.
  • a proxy server registered with the callback function of each MPC node among multiple MPC nodes receives a calculation request, and in response to the calculation request, calls each MPC node's
  • the callback function sends a calculation request to each MPC node, and when it is determined that each MPC node has received the calculation request, the callback function of each MPC node is called to send a calculation start notification to each MPC node, so that each MPC node performs secure multi-party calculation.
  • the computing task coordination between the MPC nodes is performed through the proxy server, so that a more flexible and configurable way can be used to construct computing collaboration services, thereby achieving secure multi-party computing between MPC nodes, effectively improving the efficiency of task collaboration and Safe multi-party calculation efficiency.
  • the existing technical problems of low task collaboration efficiency and low computational efficiency of secure multi-party computing are solved, and the technical effects of effectively improving the efficiency and flexibility of task collaboration and improving the efficiency of secure multi-party computing are achieved.
  • FIG. 1 shows a schematic diagram of an application scenario of a method for implementing secure multi-party computing in an embodiment of the present application
  • FIG. 2 shows a schematic diagram of the system architecture of a method for implementing secure multi-party computing in an embodiment of the present application
  • FIG. 3 shows a flowchart of a method for implementing secure multi-party computing in an embodiment of the present application
  • FIG. 4 shows a sequence diagram of a method for implementing secure multi-party computing in an embodiment of the present application
  • FIG. 5 shows a sequence diagram of a method for implementing secure multi-party computing in an embodiment of the present application
  • FIG. 6 shows a schematic diagram of a device for implementing secure multi-party computing in an embodiment of the present application
  • Fig. 7 shows a schematic diagram of a computer device in an embodiment of the present application.
  • Fig. 1 shows a schematic diagram of an application scenario of the method.
  • a proxy server and multiple MPC nodes are schematically shown (in this application, the number of MPC nodes can be 2, 3, or more than 3, and Figure 1 only schematically shows 3 MPC nodes: MPC node 1, MPC node 2, and MPC node 3).
  • user callbacks of multiple MPC nodes are registered in the proxy server, and user callbacks include user information and callback functions.
  • the proxy server communicates with each MPC node.
  • the proxy server can receive the calculation request sent by any one of the multiple MPC nodes, and in response to the calculation request, send the calculation request to each MPC node by calling the callback function of each MPC node, and confirm that each MPC node successfully receives
  • a calculation start notification is sent to each MPC node by calling the callback function of each MPC node, and each MPC node performs a secure multi-party calculation in response to the calculation start notification.
  • the foregoing proxy server may be a single server, a server cluster, or a cloud server, etc., and the specific composition is not limited in this application.
  • the above-mentioned MPC node may be a desktop computer, a notebook, a mobile phone terminal, a PDA, etc., as long as it is a device that can communicate with a proxy server and has computing capabilities.
  • the present application does not limit the appearance and formation of the MPC node.
  • FIG. 2 shows a schematic diagram of a system architecture of a method for implementing secure multi-party computing in the implementation of this application.
  • MPC node 1 two MPC nodes are schematically shown: MPC node 1 and MPC node 2.
  • each MPC node may include MPC APP (application), MPC SDK (MPC software development kit), MPC CORE (MPC core), and Data Client/Service (data client/server).
  • MPC APP can receive secure multi-party computing requests input by users.
  • MPC SDK is used to provide computing task service interface for MPC APP to use, including registration callback, initiating invitation and other operations, which need to call data communication services provided by Data Client/Service.
  • MPC CORE is used to provide MPC protocol to achieve core computing tasks and perform secure multi-party computing.
  • Data Client/Service provides input and output data client or server capabilities, and acts as a communication entity for secure multi-party computing.
  • the firewall is used to provide reliable, safe and efficient application firewall services.
  • the proxy server is used to provide user registration services, process computing requests, negotiate secure multi-party computing, and can provide data channel agents, communicate with data clients through requests and callbacks, and provide computing collaboration services.
  • each MPC node has a data client, and the data client can communicate with the proxy server or the opposite MPC node.
  • the MPC node can use one of the following methods: proxy transmission mode and direct transmission mode.
  • proxy transmission mode the MPC node has the capability of a data client, which relies on the transfer service provided by the proxy server to send data, and then the proxy server sends the data to the opposite MPC node through a callback.
  • proxy transmission mode multiple MPC nodes can be in different networks, and the proxy service is equivalent to a public network proxy, providing data transfer to realize data exchange between MPC nodes.
  • the MPC node opens the data service, directly establishes a communication connection with the opposite MPC node, and can directly receive the intermediate calculation data sent by the opposite MPC node or directly send the intermediate calculation data to the opposite MPC node. It will not leak to a third-party proxy server, so data privacy is higher. In practical applications, one of these two transmission modes can be flexibly selected according to the actual situation.
  • FIG. 3 shows a flowchart of a method for implementing secure multi-party computing in an embodiment of the present application.
  • this application provides method operation steps or device structures as shown in the following embodiments or drawings, the method or device may include more or fewer operation steps or module units based on conventional or no creative labor. .
  • the execution order of these steps or the module structure of the device is not limited to the execution order or module structure shown in the description of the embodiments of this application and the drawings.
  • the described method or module structure is applied to an actual device or terminal product, it can be executed sequentially or in parallel according to the method or module structure connection shown in the embodiments or drawings (for example, parallel processor or multi-threaded processing Environment, even distributed processing environment).
  • the method for implementing secure multi-party computing may include the following steps:
  • Step 301 The proxy server receives a calculation request sent by a first MPC node, where the first MPC node is one MPC node among multiple MPC nodes, and the proxy server registers a callback function of each MPC node among the multiple MPC nodes.
  • the proxy server is registered with the callback function of each of the multiple MPC nodes participating in the secure multi-party calculation.
  • the callback function may include but is not limited to at least one of the following: an invitation callback function, a preparation callback function, a data callback function, and a result callback function.
  • the proxy server may receive the calculation request sent by the first MPC node among the multiple MPC nodes.
  • the calculation request may be a calculation invitation request.
  • Step 302 In response to the calculation request, the proxy server sends the calculation request to each MPC node by calling the callback function of each MPC node.
  • the proxy server can send a calculation request to each MPC node including the first MPC node by invoking the invitation callback function of each MPC node, so as to invite each MPC node to participate in the secure multi-party Calculation.
  • Step 303 When it is determined that each MPC node has received the calculation request, the proxy server sends a calculation start notification to each MPC node by calling the callback function of each MPC node, where the calculation start notification is used to instruct each MPC node to perform secure multi-party Calculation.
  • the proxy server determines whether each MPC node has received the calculation request. Since the proxy server sends the calculation request by calling the callback function, the proxy server can determine whether each MPC node has received the calculation request according to whether the callback function is executed successfully. In the case where it is determined that each MPC node has received the calculation request, the proxy server may send a calculation start notification to each MPC node by calling the preparation callback function of each MPC node. The calculation start notification is used to inform that each MPC node is ready to start secure multi-party calculation. Each MPC node executes secure multi-party calculation in response to the calculation start notification.
  • a proxy server registered with the callback function of each MPC node among multiple MPC nodes receives a calculation request, and in response to the calculation request, calls the callback function of each MPC node to each MPC node.
  • Send a calculation request and when it is determined that each MPC node has received the calculation request, call the callback function of each MPC node to send a calculation start notification to each MPC node, so that each MPC node performs secure multi-party calculation.
  • the computing task coordination between the MPC nodes is performed through the proxy server, so that a more flexible and configurable way can be used to construct computing collaboration services, thereby achieving secure multi-party computing between MPC nodes, effectively improving the efficiency of task collaboration and Safe multi-party calculation efficiency.
  • the existing technical problems of low task collaboration efficiency and low computational efficiency of secure multi-party computing are solved, and the technical effects of effectively improving the efficiency and flexibility of task collaboration and improving the efficiency of secure multi-party computing are achieved.
  • the proxy server registering the callback function of each MPC node in the multiple MPC nodes may include: the proxy server receives the callback registration request sent by each MPC node in the multiple MPC nodes, and the callback registration request The user information and callback function of the corresponding MPC node are carried, and the user information is used to identify the corresponding MPC node; in response to the callback registration request, the proxy server registers the user information and the callback function of each MPC node among the multiple MPC nodes.
  • the user information may include at least one of the following: user ID, task ID, port ID, public key, and distribution password.
  • the proxy server can verify each MPC node according to the assigned password, and after the verification is passed, the user callback registration of the MPC node will be performed.
  • the callback function and user information of each MPC node can be registered in the proxy server, so that when the MPC node receives the calculation invitation, the calculation request and the calculation start notification are sent to each MPC node through the callback, so that each MPC node executes safely. Multi-party calculations.
  • each MPC node performs secure multi-party calculations, which may include: in response to the calculation start notification, between the MPC nodes Establish a direct connection; each MPC node executes secure multi-party calculations according to the preset MPC protocol, among which the intermediate data of calculation is directly transmitted between each MPC node.
  • secure multi-party calculations may include: in response to the calculation start notification, between the MPC nodes Establish a direct connection; each MPC node executes secure multi-party calculations according to the preset MPC protocol, among which the intermediate data of calculation is directly transmitted between each MPC node.
  • the connection information, service address, and port IP address of the opposite end are obtained, so as to facilitate subsequent direct transmission and calculation of intermediate data.
  • the intermediate calculation data is directly transmitted without forwarding through a proxy server, which can better protect data privacy.
  • each MPC node performing secure multi-party computing may include: in response to the calculation start notification, each MPC node establishes an indirect connection through a proxy server; each MPC node performs security according to a preset MPC protocol Multi-party calculations, where each MPC node forwards intermediate calculation data through a proxy server.
  • the proxy server provides the public network IP, so that multiple MPC nodes in different networks establish communication connections through the proxy server to realize internal and external network communication. It can also be used to monitor network quality, perform traffic monitoring, and bandwidth monitoring.
  • the proxy server forwarding the calculation intermediate data may include: the proxy server receives the encrypted calculation intermediate data sent by the second MPC node, where the encrypted calculation intermediate data is generated by the second MPC node It is obtained by encrypting the intermediate calculation data according to the public key of the third MPC node.
  • the second MPC node and the third MPC node are two of the multiple MPC nodes; the proxy server calls the callback function of the third MPC node
  • the received encrypted intermediate calculation data is sent to the third MPC node, where the third MPC node decrypts the received intermediate calculation data according to its own private key to obtain the decrypted intermediate calculation data.
  • the intermediate calculation data is encrypted and then forwarded, which can protect data privacy in the proxy transmission mode.
  • each MPC node After each MPC node performs a secure multi-party calculation, one of the MPC nodes generally obtains the calculation result. In order to distribute the calculation result to other MPC nodes, the calculation result can be distributed through a proxy server. Therefore, in some embodiments of the present application, after each MPC node executes the secure multi-party calculation, it may also include: the proxy server receives the result distribution request sent by the fourth MPC node, where the fourth MPC node is the acquisition in each MPC node The MPC node of the calculation result; in response to the result distribution request, the proxy server distributes the calculation result. Through the above method, the calculation result can be distributed through the proxy server.
  • the proxy server before the proxy server receives the result distribution request sent by the fourth MPC node, it may further include: the fourth MPC node determines whether to distribute the obtained calculation result; In the case of distributing the calculation result of, the fourth MPC node sends a result distribution request to the proxy server, and the result distribution request carries the calculation result. Among them, the fourth MPC node can determine whether the obtained calculation result needs to be distributed according to the configuration file or code. In the case of determining that the obtained calculation result is to be distributed, the fourth MPC node sends a result distribution request to the proxy server. The calculation result is carried in the distribution request. Through the above method, whether to distribute the calculation result can be determined as needed.
  • the proxy server may receive data and/or requests sent by multiple MPC nodes via a firewall, and may send data and/or requests to multiple MPC nodes via the firewall.
  • FIG. 4 and FIG. 5 respectively show a sequence diagram of the method for implementing secure multiparty computing in the direct transmission mode and a sequence diagram of the method for implementing secure multiparty computing in the proxy transmission mode.
  • Two MPC nodes are shown as examples in both Fig. 4 and Fig. 5.
  • the method for implementing secure multi-party computing may include the following steps:
  • Step 1 MPC node 1 and MPC node 2 are pre-processed, and MPC APP loads related configurations, prepares the computing environment, and caches the Boolean circuit calculated by MPC, etc.;
  • Step 2 MPC node 1 and MPC node 2 respectively send user callback registration requests to the proxy server, and the proxy server responds to the user callback registration request and registers the user callbacks of MPC node 1 and MPC node 2 to the proxy server;
  • Step 3 MPC node 1 sends an MPC calculation invitation to the proxy server
  • Step 4 In response to the MPC calculation invitation, the proxy server sends an invitation callback to MPC node 1 and MPC node 2;
  • Step 5 The proxy server sends a preparation callback to the MPC node 1 and the MPC node 2 when it determines that all invitation callbacks are executed successfully;
  • Step 6 MPC node 1 and MPC node 2 establish a direct connection in response to preparing a callback, and perform MPC calculation. During the MPC calculation process, MPC node 1 and MPC node 2 directly transmit intermediate calculation data;
  • Step 7 After the MPC node 2 obtains the calculation result, if it is determined that the calculation result does not need to be distributed, execute step 9; if it is determined to send the calculation result to the MPC node 1, execute step 8;
  • Step 8 The MPC node 2 sends the calculation result to the proxy server, and the proxy server sends the calculation result to the MPC node 1 through the calculation result callback;
  • the method for implementing secure multiparty computing includes the following steps:
  • Step 1 MPC node 1 and MPC node 2 are pre-processed, and MPC APP loads related configurations, prepares the computing environment, and caches the Boolean circuit calculated by MPC, etc.;
  • Step 2 MPC node 1 and MPC node 2 respectively send user callback registration requests to the proxy server, and the proxy server responds to the user callback registration request and registers the user callbacks of MPC node 1 and MPC node 2 to the proxy server;
  • Step 3 MPC node 1 sends an MPC calculation invitation to the proxy server
  • Step 4 In response to the MPC calculation invitation, the proxy server sends an invitation callback to MPC node 1 and MPC node 2;
  • Step 5 The proxy server sends a preparation callback to the MPC node 1 and the MPC node 2 when it determines that all invitation callbacks are executed successfully;
  • MPC node 1 and MPC node 2 respond to the preparation of the callback, establish an indirect connection through the proxy server, and perform MPC calculation.
  • MPC node 1 and MPC node 2 transmit intermediate calculation data through proxy server forwarding.
  • the proxy server forwards the data through data callback.
  • the MPC node as the sender encrypts the data according to the public key of the MPC node as the receiver, and the data is received at the MPC node as the receiver After the data, decrypt it according to its own private key to obtain the decrypted data;
  • Step 7 After the MPC node 2 obtains the calculation result, if it is determined that the calculation result does not need to be distributed, execute step 9; if it is determined to send the calculation result to the MPC node 1, execute step 8;
  • Step 8 The MPC node 2 sends the calculation result to the proxy server, and the proxy server sends the calculation result to the MPC node 1 through the calculation result callback;
  • the secure multi-party computing method provided in this application can provide multiple ways to establish a communication network, including: public network, intranet, and intranet and public network combination, etc. ; It is also possible to build a reliable data transmission channel by providing firewall services on the channel.
  • This application is responsible for coordinating calculation tasks by setting up a proxy server, such as MPC node registration, calculation invitation, connection establishment, calculation process proxy, etc., which can simplify collaborative processing
  • the process enables the construction of computing collaboration services in a more flexible and configurable manner, provides customizable network configuration capabilities, makes computing scheduling and execution more efficient, thereby improving the efficiency of secure multi-party computing and ensuring data privacy.
  • an implementation device for secure multi-party computing is also provided in an embodiment of the present application, which is located in a proxy server, as described in the following embodiment. Since the problem-solving principle of the device for implementing secure multiparty computing is similar to the method for implementing secure multiparty computing, the implementation of the device for implementing secure multiparty computing can refer to the implementation of secure multiparty computing, and the repetition will not be repeated.
  • the term "unit” or "module” can be a combination of software and/or hardware that implements predetermined functions.
  • the devices described in the following embodiments are preferably implemented by software, hardware or a combination of software and hardware is also possible and conceived.
  • Fig. 6 is a structural block diagram of the device for implementing secure multi-party computing according to an embodiment of the present application. As shown in Fig. 6, it includes: a receiving module 601, a first callback module 602, and a second callback module 603. Description.
  • the receiving module 601 is configured to receive a calculation request sent by a first MPC node, where the first MPC node is one MPC node among multiple MPC nodes, and a callback function of each MPC node among the multiple MPC nodes is registered in the proxy server.
  • the first callback module 602 is configured to send a calculation request to each MPC node by calling the callback function of each MPC node in response to the calculation request.
  • the second callback module 603 is used to send a calculation start notification to each MPC node by calling the callback function of each MPC node when it is determined that each MPC node has received the calculation request, wherein the calculation start notification is used to instruct each MPC node to execute Safe multi-party calculations.
  • the device for implementing secure multi-party computing may further include a registration module, the registration module is used to register the callback function of each MPC node of the multiple MPC nodes in the proxy server, and the registration module may be specifically used In: Receive a callback registration request sent by each MPC node in multiple MPC nodes, the callback registration request carries the user information and callback function of the corresponding MPC node, and the user information is used to identify the corresponding MPC node; in response to the callback registration request, User information and callback functions of each MPC node in each MPC node are registered.
  • a registration module is used to register the callback function of each MPC node of the multiple MPC nodes in the proxy server, and the registration module may be specifically used
  • Receive a callback registration request sent by each MPC node in multiple MPC nodes the callback registration request carries the user information and callback function of the corresponding MPC node, and the user information is used to identify the corresponding MPC node; in response to the callback
  • the user information may include at least one of the following: user ID, task ID, port ID, public key, and distribution password.
  • each MPC node performing secure multi-party computing may include: in response to a calculation start notification, establishing a direct connection between each MPC node; each MPC node performing secure multi-party computing according to a preset MPC protocol, where: Each MPC node directly transmits and calculates intermediate data.
  • each MPC node performing secure multi-party computing may include: in response to a calculation start notification, establishing an indirect connection between each MPC node through a proxy server; each MPC node performing secure multi-party computing according to a preset MPC protocol , Among them, each MPC node forwards and calculates intermediate data through a proxy server.
  • the device for implementing secure multi-party computing may further include a forwarding module for forwarding intermediate calculation data, and the forwarding module may be specifically configured to: receive the encrypted intermediate calculation data sent by the second MPC node, Among them, the encrypted intermediate calculation data is obtained by the second MPC node after encrypting the intermediate calculation data according to the public key of the third MPC node.
  • the second MPC node and the third MPC node are two of the multiple MPC nodes.
  • MPC node Send the received encrypted intermediate calculation data to the third MPC node by calling the callback function of the third MPC node, where the third MPC node decrypts the received intermediate calculation data according to its own private key, To obtain the decrypted intermediate data.
  • the device for implementing secure multi-party computing may further include a distribution module, which is specifically configured to: after each MPC node executes secure multi-party computing, receive a result distribution request sent by the fourth MPC node, where , The fourth MPC node is the MPC node that obtains the calculation result among the MPC nodes; in response to the result distribution request, the calculation result is distributed.
  • a distribution module which is specifically configured to: after each MPC node executes secure multi-party computing, receive a result distribution request sent by the fourth MPC node, where , The fourth MPC node is the MPC node that obtains the calculation result among the MPC nodes; in response to the result distribution request, the calculation result is distributed.
  • the fourth MPC node determines whether to distribute the obtained calculation result; in the case where it is determined to distribute the obtained calculation result Next, the fourth MPC node sends a result distribution request to the proxy server, and the result distribution request carries the calculation result.
  • the device for implementing secure multi-party computing may receive data and/or requests sent by multiple MPC nodes via a firewall, and may send data and/or requests to multiple MPC nodes via the firewall.
  • the proxy server registered with the callback function of each MPC node among the multiple MPC nodes receives the calculation request, and in response to the calculation request, calls each MPC
  • the callback function of the node sends a calculation request to each MPC node.
  • the callback function of each MPC node is called to send a calculation start notification to each MPC node, so that each MPC node performs secure multi-party calculation .
  • the computing task coordination between the MPC nodes is performed through the proxy server, so that a more flexible and configurable way can be used to construct computing collaboration services, thereby achieving secure multi-party computing between MPC nodes, effectively improving the efficiency of task collaboration and Safe multi-party calculation efficiency.
  • the existing technical problems of low task collaboration efficiency and low computational efficiency of secure multi-party computing are solved, and the technical effects of effectively improving the efficiency and flexibility of task collaboration and improving the efficiency of secure multi-party computing are achieved.
  • the embodiment of the present application also provides a computer device.
  • the computer device may specifically include an input device 71 , Processor 72, memory 73.
  • the memory 73 is used to store processor executable instructions.
  • the processor 72 implements the steps of the method for implementing secure multi-party computing described in any of the foregoing embodiments when executing the instructions.
  • the input device may specifically be one of the main devices for information exchange between the user and the computer system.
  • the input device may include a keyboard, a mouse, a camera, a scanner, a light pen, a handwriting input board, a voice input device, etc.; the input device is used to input raw data and programs for processing these numbers into the computer.
  • the input device can also obtain and receive data transmitted from other modules, units, and devices.
  • the processor can be implemented in any suitable way.
  • the processor may take the form of a microprocessor or a processor and a computer-readable medium, logic gates, switches, application specific integrated circuits that store computer-readable program codes (such as software or firmware) executable by the (micro)processor ( Application Specific Integrated Circuit, ASIC), programmable logic controller and embedded microcontroller form, etc.
  • the memory may specifically be a memory device used to store information in modern information technology.
  • the memory can include multiple levels. In a digital system, as long as it can store binary data, it can be a memory; in an integrated circuit, a circuit with a storage function without a physical form is also called a memory, such as RAM, FIFO, etc.; In the system, storage devices in physical form are also called memory, such as memory sticks, TF cards, etc.
  • the embodiment of the present application also provides a computer storage medium based on a method for realizing secure multi-party computing.
  • the computer storage medium stores computer program instructions, and when the computer program instructions are executed, the computer program instructions described in any of the foregoing embodiments are implemented. Steps of the implementation method of secure multi-party computing.
  • the above-mentioned storage medium includes but is not limited to random access memory (Random Access Memory, RAM), read-only memory (Read-Only Memory, ROM), cache (Cache), and hard disk (Hard Disk Drive, HDD) Or memory card (Memory Card).
  • the memory can be used to store computer program instructions.
  • the network communication unit may be an interface set up in accordance with a standard stipulated by the communication protocol and used for network connection communication.
  • modules or steps of the embodiments of the present application described above can be implemented by a general computing device, and they can be concentrated on a single computing device or distributed among multiple computing devices.
  • they can be implemented with program codes executable by a computing device, so that they can be stored in a storage device for execution by the computing device, and in some cases, can be different from here
  • the steps shown or described are executed in the order of, or they are respectively fabricated into individual integrated circuit modules, or multiple modules or steps of them are fabricated into a single integrated circuit module to achieve. In this way, the embodiments of the present application are not limited to any specific hardware and software combination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un procédé et un appareil de mise en œuvre d'un calcul sécurisé multi-parties, un dispositif informatique et un support d'informations. Le procédé consiste : à recevoir, au moyen d'un serveur mandataire, une demande de calcul envoyée par un premier nœud MPC (S301), le premier nœud MPC étant un nœud parmi une pluralité de nœuds MPC, et une fonction de rappel de chaque nœud de la pluralité de nœuds MPC étant enregistrée dans le serveur mandataire ; en réponse à la demande de calcul, à envoyer, au moyen du serveur mandataire, la demande de calcul à chaque nœud MPC en appelant la fonction de rappel de chaque nœud MPC (S302) ; lorsqu'il est déterminé que chaque nœud MPC reçoit la demande de calcul, à envoyer, au moyen du serveur mandataire, une notification de début de calcul à chaque nœud MPC en appelant la fonction de rappel de chaque nœud MPC (S303), la notification de début de calcul servant à indiquer à chaque nœud MPC d'exécuter le calcul sécurisé multi-parties. Selon le procédé, le service de coopération de calcul sécurisé multi-parties peut être construit de manière plus souple et configurable, et l'efficacité de coopération de tâches ainsi que l'efficacité de calcul sont efficacement améliorées.
PCT/CN2019/085940 2019-05-08 2019-05-08 Procédé et appareil de mise en œuvre d'un calcul sécurisé multi-parties, dispositif informatique et support d'informations WO2020223917A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/085940 WO2020223917A1 (fr) 2019-05-08 2019-05-08 Procédé et appareil de mise en œuvre d'un calcul sécurisé multi-parties, dispositif informatique et support d'informations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/085940 WO2020223917A1 (fr) 2019-05-08 2019-05-08 Procédé et appareil de mise en œuvre d'un calcul sécurisé multi-parties, dispositif informatique et support d'informations

Publications (1)

Publication Number Publication Date
WO2020223917A1 true WO2020223917A1 (fr) 2020-11-12

Family

ID=73051256

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/085940 WO2020223917A1 (fr) 2019-05-08 2019-05-08 Procédé et appareil de mise en œuvre d'un calcul sécurisé multi-parties, dispositif informatique et support d'informations

Country Status (1)

Country Link
WO (1) WO2020223917A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013001021A1 (fr) * 2011-06-28 2013-01-03 Nec Europe Ltd. Procédé et système pour obtenir un résultat d'une fonction publique dépendant de plusieurs variables pour une pluralité de parties
US9449177B1 (en) * 2013-03-13 2016-09-20 Hrl Laboratories, Llc General protocol for proactively secure computation
CN108809623A (zh) * 2018-07-10 2018-11-13 矩阵元技术(深圳)有限公司 安全多方计算方法、装置及系统
CN109714165A (zh) * 2019-02-28 2019-05-03 矩阵元技术(深圳)有限公司 客户端各自生成密钥分量的密钥管理方法和电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013001021A1 (fr) * 2011-06-28 2013-01-03 Nec Europe Ltd. Procédé et système pour obtenir un résultat d'une fonction publique dépendant de plusieurs variables pour une pluralité de parties
US9449177B1 (en) * 2013-03-13 2016-09-20 Hrl Laboratories, Llc General protocol for proactively secure computation
CN108809623A (zh) * 2018-07-10 2018-11-13 矩阵元技术(深圳)有限公司 安全多方计算方法、装置及系统
CN109714165A (zh) * 2019-02-28 2019-05-03 矩阵元技术(深圳)有限公司 客户端各自生成密钥分量的密钥管理方法和电子设备

Similar Documents

Publication Publication Date Title
EP3222026B1 (fr) Système et procédé pour des sessions de communication à lecture unique
CN103534975B (zh) 根据公开密钥发现用于密钥管理的安全关联
US20170149748A1 (en) Secure Group Messaging and Data Steaming
CN110175461A (zh) 安全多方计算的实现方法、装置、计算机设备和存储介质
CN111404950B (zh) 一种基于区块链网络的信息共享方法、装置和相关设备
MX2012015175A (es) Sistema y metodo para mensajeria segura en una red hibrida entre iguales.
CN109981576B (zh) 密钥迁移方法和装置
US10855846B1 (en) Encrypting multiple party calls
WO2024093426A1 (fr) Procédé et appareil d'entraînement de modèle basé sur l'apprentissage automatique fédéré
WO2020168546A1 (fr) Procédé et appareil de migration de clé secrète
CN109995739A (zh) 一种信息传输方法、客户端、服务器及存储介质
WO2020237453A1 (fr) Procédé et appareil de mise en œuvre d'un calcul multi-parties sécurisé, dispositif informatique et support de stockage
US11470065B2 (en) Protection of private data using an enclave cluster
US10785025B1 (en) Synchronization of key management services with cloud services
US20240064143A1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
CN109391650B (zh) 一种建立会话的方法及装置
CN111709053A (zh) 基于松散耦合交易网络的作业方法及作业装置
US10686844B2 (en) Trusted group identification code
WO2020223917A1 (fr) Procédé et appareil de mise en œuvre d'un calcul sécurisé multi-parties, dispositif informatique et support d'informations
US12015702B2 (en) Key sharing for media frames using blockchain
CN110247960B (zh) 安全多方计算的实现方法、装置、计算机设备和存储介质
CN114286294A (zh) 向移动设备递送通知
KR101785385B1 (ko) 네트워크 경로를 관리하는 방법 및 이를 수행하는 네트워크 엔티티
US20210306442A1 (en) Adding or removing members from confederate rings
CN114765595B (zh) 聊天消息的显示方法、发送方法、装置、电子设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19927673

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19927673

Country of ref document: EP

Kind code of ref document: A1