Method, device and system for multi-party algorithm negotiation for privacy computing

By determining the target algorithm through consultation between the initiator and multiple parties, the feasibility and usability of privacy computing algorithms in multi-party data joint computation are resolved, achieving efficient data privacy protection and task execution.

CN115470512BActive Publication Date: 2026-01-02SASI DIGITAL TECHNOLOGY (BEIJING) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110657040.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-11
Publication Date
2026-01-02
Estimated Expiration
2041-06-11

AI Technical Summary

Technical Problem

In multi-party data joint computation, existing technologies struggle to fully consider the performance, security, and privacy protection needs of all parties while protecting data privacy, resulting in insufficient feasibility and usability of privacy-preserving computation algorithms.

Method used

By initiating negotiations with multiple parties, a negotiation request is sent to obtain a list of privacy-preserving computation algorithms supported by each party, the target algorithm is determined, and multi-party negotiations are conducted to ensure that the algorithm meets the needs of all parties.

Benefits of technology

This approach enhances the feasibility and usability of privacy-preserving computation while protecting data privacy, ensuring that multiple parties can jointly execute target computation tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115470512B_ABST
    Figure CN115470512B_ABST
Patent Text Reader

Abstract

The embodiment of the specification provides a method, device and system for multi-party algorithm negotiation for privacy calculation. The method comprises: initiating a negotiation request to be sent to N participants respectively, the negotiation request comprising description information of a target calculation task to be calculated privately; each of the N participants determines algorithm information of the participant, wherein the algorithm information comprises a list of privacy calculation algorithms supported by the participant for the target calculation task; the N participants send their respective algorithm information to the initiator; the initiator determines a target algorithm according to at least the algorithm information of the N participants; and the initiator sends a negotiation result to the N participants, wherein the negotiation result comprises an algorithm identifier of the target algorithm.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] One or more embodiments of the present specification relate to the technical field of computer technology, and particularly relate to a method, device and system for multi-party algorithm negotiation for privacy computation. BACKGROUND

[0002] In order to fully tap the value of data, multi-party joint data computation has become a research hotspot. For example, in order to better analyze and classify merchants, an electronic payment platform based on its own merchant transaction data, an e-commerce platform based on its own merchant sales data, and a banking institution based on its own merchant lending data, jointly analyze and classify merchants.

[0003] In multi-party data joint computation, in order to protect the privacy of each party's data, privacy-preserving computation technology needs to be used. There are various computation routes for privacy-preserving computation, such as secure multi-party computation (MPC), trusted execution environment (TEE), federated learning (FL), etc. For a specific privacy computation task, there are multiple algorithms for almost every technology route. SUMMARY

[0004] One or more embodiments of the present specification describe a method, device and system for multi-party algorithm negotiation for privacy computation, which supports negotiation between an initiator and N participants, so that the performance, security, privacy protection strength and other aspects of the demands and preferences of the multi-parties are fully considered, thereby obtaining a privacy computation algorithm with high feasibility and high availability.

[0005] According to a first aspect, a method for multi-party algorithm negotiation for privacy computation is provided, comprising: an initiator sending a negotiation request to N participants respectively, the negotiation request comprising description information of a target computation task to be computed privately; each of the N participants determining algorithm information of the participant, which comprises a list of privacy computation algorithms supported by the participant for the target computation task; the N participants sending their respective algorithm information to the initiator; the initiator determining a target algorithm according to at least the algorithm information of the N participants; and the initiator sending a negotiation result to the N participants, wherein the negotiation result comprises an algorithm identifier of the target algorithm.

[0006] In one embodiment, the description information of the target computation task comprises a task type of the target computation task.

[0007] In a specific embodiment, the task type comprises at least one of the following: joint statistical analysis on specified data items; joint training of a specified model; joint prediction of a specified model.

[0008] In an embodiment, the initiating party includes, in the negotiation request sent to the i-th participant, participant data information related to the target computing task of the i-th participant.

[0009] In a specific embodiment, the participant data information comprises a participant data set identifier.

[0010] In an embodiment, the initiating party determines the target algorithm at least according to the algorithm information of each of the N participants, comprising: the initiating party determines the target algorithm according to its own algorithm information and the algorithm information of each of the N participants.

[0011] In an embodiment, the initiating party determines the target algorithm at least according to the algorithm information of each of the N participants, comprising: the initiating party determines a privacy computing algorithm intersection according to the N privacy computing algorithm lists corresponding to the N participants; and determines the target algorithm according to the privacy computing algorithm intersection.

[0012] In a specific embodiment, the algorithm information of at least part of the N participants further comprises priority information of a privacy computing algorithm in the privacy computing algorithm list; and wherein determining the target algorithm according to the privacy computing algorithm intersection comprises: determining the target algorithm according to the priority information corresponding to each privacy computing algorithm in the privacy computing algorithm intersection.

[0013] In an embodiment, further comprising: the initiating party and the N participants perform the target computing task using the target algorithm.

[0014] According to a second aspect, a method for multi-party algorithm negotiation for privacy computing is provided, which is performed by an initiating party and comprises: sending a negotiation request to N participants, the negotiation request comprising description information of a target computing task to be subjected to privacy computing; receiving algorithm information from each of the N participants, the algorithm information comprising a list of privacy computing algorithms supported by the corresponding participant for the target computing task; determining a target algorithm at least according to the algorithm information of each of the N participants; and sending a negotiation result to the N participants, the negotiation result comprising an algorithm identifier of the target algorithm.

[0015] In an embodiment, determining the target algorithm at least according to the algorithm information of each of the N participants comprises: determining the target algorithm according to the algorithm information of the initiating party and the algorithm information of each of the N participants.

[0016] In a specific embodiment, determining the target algorithm according to the algorithm information of the initiator and the algorithm information of each of the N participants includes: determining a privacy computation algorithm intersection according to N+1 lists of privacy computation algorithms corresponding to the initiator and the N participants; and determining the target algorithm according to the privacy computation algorithm intersection.

[0017] In a more specific embodiment, the algorithm information of the initiator further includes first priority information for a privacy computation algorithm in a list of privacy computation algorithms; and determining the target algorithm according to the privacy computation algorithm intersection includes: determining the target algorithm according to the first priority information corresponding to each privacy computation algorithm in the privacy computation algorithm intersection.

[0018] In another more specific embodiment, the algorithm information of at least some of the N participants further includes second priority information for a privacy computation algorithm in a list of privacy computation algorithms; and determining the target algorithm according to the privacy computation algorithm intersection includes: determining the target algorithm according to the second priority information corresponding to each privacy computation algorithm in the privacy computation algorithm intersection.

[0019] In yet another more specific embodiment, the algorithm information of the initiator further includes first priority information for a privacy computation algorithm in a list of privacy computation algorithms, and the algorithm information of at least some of the N participants further includes second priority information for a privacy computation algorithm in a list of privacy computation algorithms; and determining the target algorithm according to the privacy computation algorithm intersection includes: determining the target algorithm according to the first priority information and the second priority information corresponding to each privacy computation algorithm in the privacy computation algorithm intersection.

[0020] Further, in an example, the first priority information includes a first ranking, and the second priority information includes a second ranking; and determining the target algorithm according to the first priority information and the second priority information corresponding to each privacy computation algorithm in the privacy computation algorithm intersection includes: determining a comprehensive ranking according to the first ranking and the second ranking of each privacy computation algorithm; and determining the privacy computation algorithm with the highest comprehensive ranking as the target algorithm.

[0021] According to a third aspect, a method for multi-party algorithm negotiation for privacy computation is provided, which is performed by a first participant in N participants, and includes: receiving a negotiation request sent by an initiator, the negotiation request including description information of a target computation task to be computed privately; determining algorithm information of the participant, which includes a list of privacy computation algorithms supported by the participant for the target computation task; sending the algorithm information to the initiator, so that the initiator determines a target algorithm according to the algorithm information of the N participants; and receiving a negotiation result from the initiator, the negotiation result including an algorithm identifier of the target algorithm.

[0022] In one embodiment, determining the algorithm information of the participant includes: obtaining a first algorithm list for executing the target computation task; and determining, in the first algorithm list, privacy computation algorithms supported by the participant, to form the list of privacy computation algorithms.

[0023] In one specific embodiment, determining the algorithm information of the participant includes: determining priority information according to each privacy computation algorithm in the list of privacy computation algorithms, and causing the algorithm information to include the priority information.

[0024] In a more specific embodiment, determining the priority information includes: determining the priority information according to a running index of each privacy computation algorithm, the running index including at least one of the following: occupied computing resource, computation speed, communication cost, and privacy protection strength.

[0025] According to a fourth aspect, a method for multi-party algorithm negotiation for privacy computation is provided, which includes: a third party sending negotiation requests to M participants respectively, the negotiation request including description information of a target computation task to be computed privately; each of the M participants determining algorithm information of the participant, which includes a list of privacy computation algorithms supported by the participant for the target computation task; the M participants sending their respective algorithm information to the third party; the third party determining a target algorithm according to the algorithm information of the M participants; and the third party sending a negotiation result to the M participants, the negotiation result including an algorithm identifier of the target algorithm.

[0026] According to a fifth aspect, a method for multi-party algorithm negotiation for privacy computation is provided, which is performed by a third party, and includes: sending negotiation requests to M participants respectively, the negotiation request including description information of a target computation task to be computed privately; receiving algorithm information from each of the M participants, the algorithm information including a list of privacy computation algorithms supported by the corresponding participant for the target computation task; determining a target algorithm according to the algorithm information of the M participants; and sending a negotiation result to the M participants, the negotiation result including an algorithm identifier of the target algorithm.

[0027] According to a sixth aspect, there is provided a system for multi-party algorithm negotiation for privacy computation, comprising: an initiator configured to send a negotiation request to each of N participants, the negotiation request comprising description information of a target computation task to be computed in a privacy manner; each of the N participants is configured to determine algorithm information of the participant, the algorithm information comprising a list of privacy computation algorithms supported by the participant for the target computation task; the participant is further configured to send the algorithm information of the participant to the initiator; the initiator is further configured to determine a target algorithm based on at least the algorithm information of each of the N participants; and the initiator is further configured to send a negotiation result to the N participants, the negotiation result comprising an algorithm identifier of the target algorithm.

[0028] According to a seventh aspect, there is provided a device for multi-party algorithm negotiation for privacy computation, the device being integrated in an initiator, comprising: a negotiation request sending unit configured to send a negotiation request to each of N participants, the negotiation request comprising description information of a target computation task to be computed in a privacy manner; an algorithm information receiving unit configured to receive algorithm information from each of the N participants, the algorithm information comprising a list of privacy computation algorithms supported by the corresponding participant for the target computation task; a target algorithm determining unit configured to determine a target algorithm based on at least the algorithm information of each of the N participants; and a negotiation result sending unit configured to send a negotiation result to the N participants, the negotiation result comprising an algorithm identifier of the target algorithm.

[0029] According to an eighth aspect, there is provided a device for multi-party algorithm negotiation for privacy computation, the device being integrated in a first participant of N participants, comprising: a negotiation request receiving unit configured to receive a negotiation request sent by an initiator, the negotiation request comprising description information of a target computation task to be computed in a privacy manner; an algorithm information determining unit configured to determine algorithm information of the participant, the algorithm information comprising a list of privacy computation algorithms supported by the participant for the target computation task; an algorithm information sending unit configured to send the algorithm information to the initiator, so that the initiator determines a target algorithm based on the algorithm information of each of the N participants; and a negotiation result receiving unit configured to receive a negotiation result from the initiator, the negotiation result comprising an algorithm identifier of the target algorithm.

[0030] According to a ninth aspect, a system for multi-party algorithm negotiation for privacy computation is provided, comprising: a third party configured to send a negotiation request to each of M participants, the negotiation request comprising description information of a target computation task to be performed by privacy computation; each of the M participants is configured to determine algorithm information of the participant, which comprises a list of privacy computation algorithms supported by the participant for the target computation task; the M participants are further configured to send the algorithm information of each participant to the third party; the third party is further configured to determine a target algorithm according to the algorithm information of each of the M participants; and the third party is further configured to send a negotiation result to the M participants, the negotiation result comprising an algorithm identifier of the target algorithm.

[0031] According to a tenth aspect, a device for multi-party algorithm negotiation for privacy computation is provided, the device being integrated into a third party, comprising: a negotiation request sending unit configured to send a negotiation request to each of M participants, the negotiation request comprising description information of a target computation task to be performed by privacy computation; an algorithm information receiving unit configured to receive algorithm information from each of the M participants, the algorithm information comprising a list of privacy computation algorithms supported by the corresponding participant for the target computation task; a target algorithm determining unit configured to determine a target algorithm according to the algorithm information of each of the M participants; and a negotiation result sending unit configured to send a negotiation result to the M participants, the negotiation result comprising an algorithm identifier of the target algorithm.

[0032] According to an eleventh aspect, a computer readable storage medium is provided, the computer readable storage medium storing a computer program, when the computer program is executed in a computer, the computer program causes the computer to execute the method provided in any one of the first aspect to the fifth aspect.

[0033] According to a twelfth aspect, a computing device is provided, comprising a memory and a processor, the memory storing executable code, and the processor executing the executable code to implement the method provided in any one of the first aspect to the fifth aspect.

[0034] According to the method and device provided by the embodiments of the present disclosure, the initiator of privacy computation sends a negotiation request to the participants, the negotiation request comprising description information of a target computation task, so that each of the N participants can determine a list of privacy computation algorithms for the target computation task based on its own requirements and feed back to the initiator. Further, the initiator determines a target algorithm based on the list of privacy computation algorithms of each of the N participants and sends it to each of the participants. In this way, the initiator and the N participants can complete the target computation task based on the target algorithm with high feasibility and high availability obtained through multi-party negotiation. BRIEF DESCRIPTION OF DRAWINGS

[0035] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained based on these drawings without any creative effort.

[0036] Figure 1 An interaction scenario diagram of multi-party negotiation of a privacy computation algorithm according to an embodiment is shown.

[0037] Figure 2 A multi-party interaction diagram of algorithm negotiation for privacy computation according to an embodiment is shown.

[0038] Figure 3 A device structure diagram of multi-party algorithm negotiation for privacy computation according to an embodiment is shown.

[0039] Figure 4 A device structure diagram of multi-party algorithm negotiation for privacy computation according to another embodiment is shown.

[0040] Figure 5 A multi-party interaction diagram of algorithm negotiation for privacy computation according to an embodiment is shown.

[0041] Figure 6 A device structure diagram of multi-party algorithm negotiation for privacy computation according to an embodiment is shown. DETAILED DESCRIPTION

[0042] The schemes provided in the present specification will be described below in combination with the drawings.

[0043] Generally, for a certain privacy computation task, the privacy computation algorithm (or privacy computation scheme) is specified by the initiator. The present specification provides another scheme to determine the privacy computation algorithm.

[0044] The scheme proposed by the inventor allows the initiator and other participants to negotiate and obtain a privacy computation algorithm that fully considers the needs of all parties through negotiation. In the scheme, the initiator sends a negotiation request to N (N≥1) participants, respectively, and the negotiation request indicates a target computation task. Then, each participant determines a list of privacy computation algorithms supported by itself for the target computation task in combination with its own demands and feeds back to the initiator. Then, the initiator determines a target algorithm according to the list of privacy computation algorithms fed back by the N participants, respectively, and returns to the N participants. In this way, the negotiation of the privacy computation algorithm can be completed, so that the initiator and the N participants can jointly execute the target computation task based on the negotiated target algorithm.

[0045] For ease of intuitive understanding,Figure 1 This diagram illustrates an interaction scenario of a multi-party negotiated privacy computation algorithm according to one embodiment. Figure 1 As shown, the payment platform initiates the privacy-preserving computation task, while the bank and e-commerce platform are participants. First, the payment platform sends negotiation requests to both the bank and the e-commerce platform, including task information for the target computation task, such as joint training of a user classification model. Then, based on the task information in the negotiation requests, the bank and the e-commerce platform each determine their own list of supported privacy-preserving computation algorithms. Figure 1 The diagram illustrates that the privacy computation algorithm list determined by the bank includes privacy computation algorithm A, privacy computation algorithm B, and privacy computation algorithm C, while the privacy computation algorithm list determined by the e-commerce platform includes privacy computation algorithm B, privacy computation algorithm C, and privacy computation algorithm D. Subsequently, based on the privacy computation algorithm lists of the bank and the e-commerce platform, the payment platform determines the intersection of the privacy computation algorithms, which includes privacy computation algorithm B and privacy computation algorithm C. It then selects privacy computation algorithm B (or privacy computation algorithm C) as the target algorithm and returns it to the bank and the e-commerce platform. Thus, the payment platform, the bank, and the e-commerce platform can jointly execute the target computation task using the target algorithm.

[0046] The implementation steps of the above-described inventive concept are described below with reference to specific embodiments. Figure 2 This diagram illustrates a multi-party interaction for algorithm negotiation in privacy-preserving computation according to one embodiment. The parties include the initiator of the privacy computation and N participating parties, where N is an integer not less than 1. It should be understood that both the initiator and the participating parties are data providers, and can be implemented as devices, platforms, servers, or device clusters with computing and processing capabilities, thereby independently storing and processing their own data. For example, the initiator and the N participating parties can be different enterprises, institutions, or platforms, or they can be different departments within the same enterprise.

[0047] like Figure 2 As shown, the interaction process includes the following steps:

[0048] Step S210: The initiator sends negotiation requests to each of the N participating parties. The negotiation request includes a description of the target computing task for which privacy computing is to be performed.

[0049] In one embodiment, the description information described above includes a task type of the target computing task. In one specific embodiment, the task type can include a joint statistical analysis on a specified data item. In a more specific embodiment, the specified data item can be a user age, a user gender, a merchant average turnover, a merchant category, a business size, etc. In a more specific embodiment, the joint statistical analysis can be an analysis on a numerical distribution of the specified data item within its definition domain, or a comparison on a size of a numerical value corresponding to the specified data item among parties, or a summation, intersection or average calculation on the specified data item among parties, etc. In one example, the joint statistical analysis on the specified data item described above can be a counting of a total number of female users among parties. In another example, it can also be a counting of a number of same users among parties. In yet another example, it can also be a counting of an age distribution of all users among parties. In yet another example, it can be a comparison of merchant average turnovers among parties.

[0050] In another specific embodiment, the task type of the target computing task can include a joint training of a specified model. In a more specific embodiment, the specified model can be a machine learning model such as a logistic regression model, a decision tree model, a neural network model, etc. In a more specific embodiment, the specified model can be a classification model or a regression model. In a more specific embodiment, a sample object of the specified model can be a user, a merchant, a commodity, an event (such as a login event or an access event), a device (such as a user terminal or an Internet of Things device), etc. In one example, the specified model can be a user classification model or a user scoring model, specifically a consumer segmentation model, a user risk assessment model, a user anomaly identification model, etc. In another example, the specified model can be a commodity classification model or a commodity scoring model, specifically a commodity heat scoring model, etc.

[0051] In yet another specific embodiment, the task type of the target computing task can include a joint prediction of a specified model. In a more specific embodiment, the specified model can be a classification model or a regression model, accordingly, the joint prediction can be a prediction of a classification category based on the classification model, or a prediction of a regression value based on the regression model. In one example, the joint prediction of the specified model described above can be a prediction of a user risk score based on a user risk assessment model, or an identification of an abnormal user based on a user anomaly identification model.

[0052] The task type included in the description information introduced above needs to be understood that, in addition to the joint statistical analysis on the specified data item, the joint training of the specified model and the joint prediction of the specified model described above, the task type can also include other types, which are not exhaustively listed.

[0053] In an embodiment, for any ith participant in the N data parties, the negotiation request sent by the initiator to the ith participant can further include participant data information related to the ith participant for the target computing task. In a specific embodiment, the participant data information can include a participant data set identifier, which indicates that the initiator expects the ith participant to participate in the joint execution of the target computing task using the data set identified by the participant data set identifier. Based on this, in a more specific embodiment, before this step, the interaction process can further include the initiator pre-acquiring a plurality of participant data set identifiers and corresponding brief introduction information of a plurality of participant data sets from the ith participant, for example, the acquired content can refer to Table 1; then, the initiator selects one or more data set identifiers from the plurality of participant data set identifiers according to the target computing task, and includes the selected data set identifier(s) in the negotiation request sent to the ith participant, for example, the initiator selects the data set identifier 1004 from Table 1 according to the joint training task of the merchant credit evaluation model, and includes the data set identifier 1004 in the negotiation request sent to the ith participant.

[0054] Table 1

[0055] Participant dataset identification Brief introduction information 1001 Full-amount user dataset 1002 High-quality user dataset 1003 Merchant dataset 1004 Merchant lending dataset

[0056] In another specific embodiment, the participant data information further includes a participant data field, which indicates that the initiator expects the ith participant to participate in the joint execution of the target computing task using the field value corresponding to the field.

[0057] It should be understood that the negotiation request sent by the initiator to the N participants includes the description information of the target computing task, and for other information, for example, the participant data information related to the target computing task, the corresponding negotiation request sent to different participants can be selectively determined and included.

[0058] The above describes the request content of the negotiation request sent by the initiator. Correspondingly, after receiving the negotiation request sent by the initiator, any ith participant in the N participants can determine the algorithm information of the participant in step S220, which includes a list of privacy computing algorithms supported by the participant for the target computing task.

[0059] In one embodiment, the ith participant can obtain a first algorithm list for performing the above-mentioned target computing task; and determine the privacy computing algorithms supported by the participant in the first algorithm list to form the above-mentioned privacy computing algorithm list. It should be noted that, for any privacy computing task, generally, one or more privacy computing algorithms for performing the task can be determined under each privacy protection computing route (such as MPC, TEE, FL, etc.), but there are some differences in the requirements of different privacy computing algorithms for the execution environment, for example, different requirements for memory space, whether to install a certain security protocol, whether to install a certain computing software, etc., and the actual environment of the task execution party is relatively fixed and limited within a period of time. Therefore, in one specific embodiment, the ith participant can determine a plurality of privacy computing algorithms that can be used to perform the above-mentioned target computing task to form a first algorithm list; then, the ith participant determines the privacy computing algorithms supported by the participant in the first algorithm list according to the requirements of each algorithm in the first algorithm list for the execution environment (such as network environment, hardware environment, installation of software or protocol, etc.) and the real environment of the participant, to form the above-mentioned privacy computing algorithm list.

[0060] Further, according to an embodiment, the participant i further selects a plurality of algorithms from the privacy computing algorithms supported by the participant to form the above-mentioned privacy computing algorithm list. The selection criteria can be based on various reasons, for example, the data of the target computing task is too large, some algorithms consume too many resources; the data of the target computing task is too sensitive, and a high security level algorithm needs to be used, etc. Due to the above or other reasons, only k of the privacy computing algorithms supported by the participant are allowed to be used for the target computing task, and therefore only the k algorithms are selected to form the above-mentioned privacy computing algorithm list.

[0061] According to an embodiment, the ith participant determines a plurality of alternative computing tasks according to the data and business scope held by the participant in advance, and determines the privacy computing algorithm list corresponding to each alternative computing task according to the real execution environment of the participant. Accordingly, when receiving the negotiation request for privacy computing, the ith participant can determine the privacy computing algorithm list corresponding to the above-mentioned target computing task according to the mapping relationship between the alternative computing tasks and the privacy computing algorithm list established by the participant in advance.

[0062] It is to be noted that the privacy computation algorithm includes algorithm steps for performing the target computation task, which are refined to enable the target computation task to be completed jointly based on local data and local execution environment if both parties support the privacy computation algorithm. In one example, it is assumed that the task type of the above target computation task is to count the number of same users in multiple parties, in which case, algorithm A can be included in the list of privacy computation algorithms: multiple parties jointly perform a private set intersection (PSI) protocol under a certain specific algorithm using the user mobile phone numbers stored by each party, and each party in the multiple parties respectively acts as a PSI client and communicates with a PSI server; algorithm B can also be included in the list of privacy computation algorithms: multiple parties jointly perform a scheme corresponding to the pseudo code shown in a certain paper using the user ID numbers stored by each party.

[0063] Further, in some embodiments, the privacy computation algorithm is refined to include information such as version, provider, etc. of the computation module implementing the privacy protocol. For some existing privacy protocols, the modules thereof can be modularized in the prior art and provided to data parties having a need for secure and private computation. Even if the same privacy computation protocol or the same computation algorithm, computation modules from different providers or different versions can still have differences in message format, data format, algorithm details, etc., which can result in the inability of the two parties to directly communicate with each other. In such a case, in addition to including the algorithm description of the used algorithm, the algorithm information of each privacy computation algorithm can also include the provider and / or version information of the computation module. For example, algorithm C indicates that multiple parties jointly perform a private set intersection using a PSI computation module 1 provided by a provider ProA and in version v1.0 using the user mobile phone numbers stored by each party, and algorithm D indicates that multiple parties jointly perform a private set intersection using a PSI computation module 2 provided by a provider ProB and in version v2.0 using the user mobile phone numbers stored by each party. Even if the PSI computation modules 1 and 2 adopt the same private set intersection protocol, algorithms C and D are still regarded as different privacy computation algorithms and are listed separately.

[0064] From the above, the list of privacy computation algorithms supported by the i-th participant for the above target computation task can be determined and included in the algorithm information of the party. Further, in one embodiment, the algorithm information can also include priority information of each privacy computation algorithm in the list of privacy computation algorithms. In one specific embodiment, the priority information can include priority levels, and different privacy computation algorithms can have the same or different priority levels. In another specific embodiment, the priority information can include algorithm scores, and a higher score indicates a higher priority. In still another specific embodiment, the priority information can include ranking information, and a higher ranking indicates a higher priority. According to one example, the privacy computation algorithms in the list of privacy computation algorithms are arranged in order of priority from high to low.

[0065] For the determination of the priority information, in one specific embodiment, the priority information can be determined according to the running indicators of each privacy computing algorithm in the list of privacy computing algorithms. In a more specific embodiment, the running indicators can include: occupied computing resources, computing speed (or operation speed), communication cost, and privacy protection strength. In one example, the computing resources can include CPU resources, memory resources, hard disk resources, and network resources. In one example, the communication cost is the monetary representation of the resources occupied by the communication. In one example, the privacy protection strength can be measured by using an existing measurement algorithm (e.g., an information entropy model, etc.).

[0066] In one example, the indicator score of each running indicator corresponding to a certain privacy computing algorithm can be determined, and the multiple indicator scores corresponding to the multiple running indicators are added, summed, or weighted summed based on the artificially preset weights to obtain the algorithm score of the certain privacy computing algorithm. Further, in one specific example, the algorithm score can be used as the priority information. In another specific embodiment, the algorithm score of the certain privacy computing algorithm can be determined to correspond to a priority level according to the mapping relationship between the artificially pre-established score interval and the priority level, and the priority level is used as the priority information. In still another specific embodiment, the indicator values of each running indicator corresponding to each privacy computing algorithm can be input into a pre-trained scoring model or priority prediction model to correspondingly obtain the algorithm score or the priority level, which is used as the priority information.

[0067] In another specific embodiment, the priority information can be set by the staff according to experience.

[0068] It should be noted that the participating party can select the running indicators and set the weights of the indicators according to its own preferences when determining the priority information. Therefore, there are more or less differences in the running indicators selected and the weights of the indicators set by different participating parties, and the priority information determined accordingly can reflect the preferences and inclinations of different participating parties for various privacy computing algorithms.

[0069] From the above, the i th participating party can determine the algorithm information of the party, and thus the i th participating party sends the algorithm information to the initiator at step S230. Correspondingly, the initiator can receive N algorithm information from N participating parties, and determine the target algorithm according to the algorithm information of each of the N participating parties at step S240.

[0070] In one embodiment, the initiator can determine the target algorithm according to its own algorithm information and the algorithm information of each of the N participants. It is to be noted that the initiator determines its own algorithm information in the same or similar manner as the ith participant determines its own algorithm information in the foregoing embodiment, and thus will not be described here.

[0071] In one specific embodiment, the initiator determines the intersection of the N+l privacy computation algorithms according to the algorithm information of the initiator and the N participants, and then determines the target algorithm according to the intersection of the privacy computation algorithms.

[0072] In a more specific embodiment, the algorithm information of the initiator further includes priority information of the privacy computation algorithms in the list of privacy computation algorithms, which is referred to as first priority information for the sake of distinguishing description. Accordingly, the initiator can determine the target algorithm according to the first priority information of each of the privacy computation algorithms in the intersection of the privacy computation algorithms. For example, the privacy computation algorithm with the highest priority in the intersection of the privacy computation algorithms can be determined. For another example, the privacy computation algorithm with the highest score can be selected. For another example, the first priority information includes a first ranking, which indicates the corresponding ranking. At this time, the privacy computation algorithm with the highest ranking among the several privacy computation algorithms can be selected as the target algorithm. Further, if there are multiple privacy computation algorithms with the highest priority, one of them can be selected or a manual decision can be made.

[0073] In another more specific embodiment, the algorithm information of at least part of the N participants further comprises, for the privacy computation algorithm priority information in the list of privacy computation algorithms, for the sake of distinguishing description, the priority information determined by the participants is referred to as second priority information. Based on this, the initiator can determine the target algorithm according to the second priority information corresponding to each privacy computation algorithm in the intersection of privacy computation algorithms. In one example, assuming that the at least part of the participants is a certain participant, accordingly, the second priority information included in the algorithm information of the certain participant can be directly used to determine the privacy computation algorithm with the highest priority or the highest algorithm score in the intersection of privacy computation algorithms as the target algorithm. In another example, assuming that the at least part of the participants is a plurality of participants, the target algorithm can be determined according to the plurality of second priority information involved in the algorithm information of the plurality of participants. In a more specific example, the second priority information includes ranking information, at this time, the comprehensive ranking (the first position) of each privacy computation algorithm in the intersection of privacy computation algorithms can be determined, and the privacy computation algorithm with the highest comprehensive ranking is determined as the target algorithm. Illustratively, the determination of the comprehensive ranking can include: adding the ranking positions of each privacy computation algorithm in different priority information and then reordering to obtain the comprehensive ranking. In another more specific example, the second priority information includes algorithm scores, at this time, the comprehensive scores of each privacy computation algorithm in the intersection of privacy computation algorithms can be determined, and the privacy computation algorithm with the highest comprehensive score is determined as the target algorithm.

[0074] In yet another specific embodiment, the algorithm information of the initiator includes the first priority information, and the algorithm information of each participant in the N participants includes the second priority information. In this way, the initiator can determine the target algorithm according to the first priority information and the second priority information of each privacy computation algorithm in the intersection of privacy computation algorithms. In one example, the first priority information includes a first ranking, and the second priority information includes a second ranking, based on which the comprehensive ranking of each privacy computation algorithm in the intersection of privacy computation algorithms can be determined, and the privacy computation algorithm with the highest comprehensive ranking is determined as the target algorithm. In another example, the first priority information includes a first algorithm score, and the second priority information includes a second algorithm score, based on which the comprehensive score of each privacy computation algorithm in the intersection of privacy computation algorithms can be determined, and the privacy computation algorithm with the highest comprehensive score is determined as the target algorithm. In a more specific example, the first algorithm score and the N second algorithm scores corresponding to each privacy computation algorithm can be directly added to obtain the corresponding comprehensive score. In another specific example, the initiator adds the first algorithm score and the N second algorithm scores corresponding to each privacy computation algorithm by weighting according to the weight set by the initiator to obtain the corresponding comprehensive score.

[0075] In still another specific embodiment, the initiator can randomly select one privacy computation algorithm from the intersection of the privacy computation algorithms as the target algorithm. In yet another specific embodiment, there is only one privacy computation algorithm in the intersection of the privacy computation algorithms, and this privacy computation algorithm can be directly determined as the target algorithm.

[0076] In another embodiment, the initiator supports all privacy computation algorithms for the target security task, and the initiator can determine the target algorithm only according to the algorithm information of the N participants. In a specific embodiment, the initiator can determine the intersection of the privacy computation algorithms according to the algorithm information of the N participants, and then randomly select one privacy computation algorithm from the intersection of the privacy computation algorithms as the target algorithm, or select the privacy computation algorithm with the highest priority from the intersection of the privacy computation algorithms as the target algorithm in combination with the priority information included in the algorithm information. In addition, the determination of the target algorithm can also refer to the description of the foregoing related embodiments, which will not be described here.

[0077] It should be noted that in an embodiment, the initiator includes the participant dataset identifier in the negotiation request sent to the ith participant, and accordingly, the ith participant can send other feedback information to the initiator in addition to the algorithm information, and the other feedback information indicates whether the ith participant will use the dataset identified by the participant dataset identifier in the process of jointly performing the target computation task.

[0078] Accordingly, the initiator can determine the target algorithm according to the algorithm information of the N participants. Then, in step S250, the initiator sends the negotiation result to the N participants, and the negotiation result includes the algorithm identifier of the target algorithm.

[0079] In an embodiment, the privacy computation algorithm list of a certain participant includes the algorithm identifier of each privacy computation algorithm, and accordingly, the initiator can obtain the algorithm identifier of the target algorithm therefrom and include it in the negotiation result sent to the certain participant. In another embodiment, the initiator can include the arrangement position (such as the row number) of the target algorithm in the privacy computation algorithm list of a certain participant as the algorithm identifier, and include it in the negotiation result sent to the certain participant.

[0080] Accordingly, the N participants can receive the negotiation result from the initiator and thus know the target algorithm obtained through the negotiation. In this way, the multi-party algorithm negotiation is realized, and a target algorithm that meets the requirements of multiple parties, has high feasibility, and has strong security is obtained.

[0081] According to another aspect, after step S250, the above-mentioned interaction process can further include step S260: the initiator and the N participants jointly perform the above-mentioned target computing task by using the above-mentioned target algorithm. In this way, the joint execution of the target computing task can be completed according to the target algorithm negotiated by the multiple parties.

[0082] In summary, in the method for multi-party algorithm negotiation for privacy computing disclosed in the embodiments of the present specification, the initiator of privacy computing sends a negotiation request to the participants, and the negotiation request includes description information of a target computing task, so that each of the N participants can determine a list of privacy computing algorithms for the target computing task in combination with its own appeal and feed back to the initiator. Further, the initiator determines a target algorithm according to the list of privacy computing algorithms of each of the N participants and sends it to each of the participants. In this way, the initiator and the N participants can jointly complete the target computing task based on the target algorithm with high feasibility and high availability negotiated by the multiple parties.

[0083] Corresponding to the above-mentioned multi-party algorithm negotiation method, the embodiments of the present specification also disclose an algorithm negotiation device and system.

[0084] Figure 3 Fig. 3 shows a schematic diagram of the structure of a device for multi-party algorithm negotiation for privacy computing according to an embodiment, which is integrated in an initiator. As shown in Fig. 3, the device 300 includes: Figure 3

[0085] The negotiation request sending unit 310 is configured to send a negotiation request to each of the N participants, and the negotiation request includes description information of a target computing task to be subjected to privacy computing. The algorithm information receiving unit 320 is configured to receive algorithm information from each of the N participants, and the algorithm information includes a list of privacy computing algorithms supported by the corresponding participant for the target computing task. The target algorithm determining unit 330 is configured to determine a target algorithm according to at least the algorithm information of each of the N participants. The negotiation result sending unit 340 is configured to send a negotiation result to the N participants, and the negotiation result includes an algorithm identifier of the target algorithm.

[0086] In one embodiment, the target algorithm determining unit 330 is specifically configured to determine a target algorithm according to the algorithm information of the initiator and the algorithm information of each of the N participants.

[0087] In a more specific embodiment, the target algorithm determining unit 330 includes: an intersection determining subunit configured to determine a privacy computing algorithm intersection according to the N+1 lists of privacy computing algorithms corresponding to the initiator and the N participants; and an algorithm determining subunit configured to determine the target algorithm according to the privacy computing algorithm intersection. ​

[0088] In one example, the algorithm information of the initiator further includes first priority information of the privacy computing algorithms in the list of privacy computing algorithms; the algorithm determination subunit is specifically configured to determine the target algorithm according to the first priority information corresponding to each privacy computing algorithm in the intersection of the privacy computing algorithms.

[0089] In another example, the algorithm information of at least part of the N participants further includes second priority information of the privacy computing algorithms in the list of privacy computing algorithms; the algorithm determination subunit is specifically configured to determine the target algorithm according to the second priority information corresponding to each privacy computing algorithm in the intersection of the privacy computing algorithms.

[0090] In yet another example, the algorithm information of the initiator further includes first priority information of the privacy computing algorithms in the list of privacy computing algorithms, and the algorithm information of at least part of the N participants further includes second priority information of the privacy computing algorithms in the list of privacy computing algorithms; the algorithm determination subunit is specifically configured to determine the target algorithm according to the first priority information and the second priority information corresponding to each privacy computing algorithm in the intersection of the privacy computing algorithms.

[0091] In a more specific example, the first priority information includes a first ranking, and the second priority information includes a second ranking; the algorithm determination subunit is further configured to determine a comprehensive ranking according to the first ranking and the second ranking of each privacy computing algorithm, and determine the privacy computing algorithm with the highest comprehensive ranking as the target algorithm.

[0092] Figure 4 An apparatus structure schematic diagram for multi-party algorithm negotiation for privacy computing according to another embodiment is shown, which is integrated in any first participant of N participants. As shown in Figure 4 The apparatus 400 includes:

[0093] A negotiation request receiving unit 410 is configured to receive a negotiation request sent by an initiator, the negotiation request including description information of a target computing task to be subjected to privacy computing; an algorithm information determining unit 420 is configured to determine algorithm information of the participant, which includes a list of privacy computing algorithms supported for the target computing task; an algorithm information sending unit 430 is configured to send the algorithm information to the initiator, so that the initiator determines a target algorithm according to the algorithm information of each of the N participants; and a negotiation result receiving unit 440 is configured to receive a negotiation result from the initiator, which includes an algorithm identifier of the target algorithm.

[0094] In an embodiment, the algorithm information determining unit 420 is specifically configured to: acquire a first algorithm list for performing the target computing task; determine a privacy computing algorithm supported by the first party in the first algorithm list, to form the privacy computing algorithm list.

[0095] In an embodiment, the algorithm information determining unit 420 is specifically configured to: determine priority information according to each privacy computing algorithm in the privacy computing algorithm list, and cause the algorithm information to include the priority information.

[0096] In a specific embodiment, the algorithm information determining unit 420 is further configured to: determine the priority information according to a running index of each privacy computing algorithm, the running index including at least one of the following: occupied computing resource, computing speed, communication cost, and privacy protection strength.

[0097] According to another aspect, the embodiments of the present specification also provide a system for multi-party algorithm negotiation for privacy computing, comprising: an initiator, configured to send a negotiation request to N participants respectively, the negotiation request including description information of a target computing task to be performed by privacy computing; each of the N participants is configured to determine algorithm information of the participant, including a list of privacy computing algorithms supported by the participant for the target computing task; each of the participants is further configured to send the algorithm information of the participant to the initiator; the initiator is further configured to determine a target algorithm according to at least the algorithm information of each of the N participants, and send a negotiation result to the N participants, the negotiation result including an algorithm identifier of the target algorithm.

[0098] In an embodiment, the description information of the target computing task includes a task type of the target computing task.

[0099] In a specific embodiment, the task type includes at least one of the following: joint statistical analysis on specified data items; joint training of a specified model; and joint prediction of a specified model.

[0100] In an embodiment, the negotiation request sent by the initiator to the i th participant includes participant data information related to the target computing task of the i th participant.

[0101] In a more specific embodiment, the participant data information includes a participant dataset identifier.

[0102] In an embodiment, the initiator is specifically configured to determine the target algorithm according to its own algorithm information and the algorithm information of each of the N participants.

[0103] In an embodiment, the initiator is specifically configured to determine a privacy computation algorithm intersection according to the N privacy computation algorithm lists corresponding to the N participants; and determine the target algorithm according to the privacy computation algorithm intersection.

[0104] In a specific embodiment, the algorithm information of at least part of the N participants further comprises priority information of the privacy computation algorithms in the privacy computation algorithm list; and the initiator is further configured to determine the target algorithm according to the priority information corresponding to each privacy computation algorithm in the privacy computation algorithm intersection.

[0105] In an embodiment, the initiator and the N participants are further configured to jointly execute the target computation task by using the target algorithm.

[0106] It should be noted that the initiator described above can participate in privacy computation together with the N participants. According to an embodiment of another aspect, a third party that does not participate in privacy computation can also be introduced to initiate negotiation for the target computation task described above. Figure 5 Fig. 1 shows a multi-party interaction diagram for algorithm negotiation for privacy computation according to an embodiment, which includes a third party that initiates negotiation for privacy computation but does not participate in privacy computation, and M participants that participate in privacy computation, where M is an integer not less than 2. It should be understood that the M participants are all data parties, and the third party and the M participants can all be implemented as devices, platforms, servers or device clusters with computing and processing capabilities, so as to independently store and process the data held or obtained by themselves. For example, the third party can be a neutral institution, a neutral service platform or an authoritative institution, etc., and the N participants can be different enterprises, institutions, platforms, or different departments in the same enterprise.

[0107] As shown in Fig. 1, the interaction process includes the following steps: Figure 5

[0108] Step S510, the third party sends a negotiation request to each of the M participants, and the negotiation request includes description information of a target computation task to be performed by privacy computation.

[0109] Step S520, each of the M participants determines algorithm information of the participant, which includes a list of privacy computation algorithms supported by the participant for the target computation task. In an embodiment, the algorithm information of at least part of the M participants further includes priority information of the privacy computation algorithms in the list of privacy computation algorithms.

[0110] Step S530, the jth participant of the M participants sends the algorithm information to the third party. Correspondingly, the third party can receive M algorithm information corresponding to the M participants.​

[0111] In step S540, the third party determines the target algorithm according to the algorithm information of each of the M participants. In an embodiment, the third party determines the intersection of the privacy computation algorithm lists corresponding to the M participants. Further, in a specific embodiment, the algorithm information of at least some of the M participants further includes priority information for the privacy computation algorithms in the privacy computation algorithm list; accordingly, the target algorithm can be determined according to the priority information of each privacy computation algorithm in the intersection of the privacy computation algorithms.

[0112] In step S550, the third party sends the negotiation result to the M participants, where the negotiation result includes the algorithm identifier of the target algorithm.

[0113] In an embodiment, after step S550, the above-mentioned interaction process can further include step S560: the M participants jointly perform the target computation task by using the target algorithm. In this way, the joint execution of the target computation task can be completed according to the target algorithm negotiated by the multiple parties.

[0114] It should be noted that the description of the steps shown in Figure 5 may refer to the foregoing description of the interaction steps shown in Figure 2 . The difference mainly lies in that, because the third party shown in Figure 5 does not participate in the privacy computation, it does not need to determine its own algorithm information for the target computation task, but only needs to determine the target algorithm according to the algorithm information of each of the M participants.

[0115] In summary, in the method for multi-party algorithm negotiation for privacy computation disclosed in the embodiments of the present specification, the third party for privacy computation sends a negotiation request to the participants, where the negotiation request includes description information of the target computation task, so that each of the M participants can determine a privacy computation algorithm list for the target computation task in combination with its own demands and feed back to the third party, further, the third party determines the target algorithm according to the privacy computation algorithm list of each of the M participants and sends it to each of the participants. In this way, the M participants can jointly complete the target computation task based on the target algorithm with high feasibility and high availability obtained through multi-party negotiation.

[0116] Corresponding to the negotiation method shown in Figure 5 , the embodiments of the present specification also disclose a negotiation device. Specifically, Figure 6 shows a device structure schematic diagram for multi-party algorithm negotiation for privacy computation according to an embodiment, and the device is integrated in a third party. As shown in Figure 6 , the device 600 includes:

[0117] The negotiation request sending unit 610 is configured to send negotiation requests to the M participants respectively, and the negotiation request includes description information of a target computing task to be subjected to privacy calculation; the algorithm information receiving unit 620 is configured to receive algorithm information from each of the M participants, and the algorithm information includes a list of privacy calculation algorithms supported by the corresponding participant for the target computing task; the target algorithm determining unit 630 is configured to determine a target algorithm according to the algorithm information of each of the M participants; and the negotiation result sending unit 640 is configured to send a negotiation result to the M participants, and the negotiation result includes an algorithm identifier of the target algorithm.

[0118] In one embodiment, the algorithm information of at least part of the M participants further includes priority information of a privacy calculation algorithm in the list of privacy calculation algorithms.

[0119] In one embodiment, the target algorithm determining unit 630 includes: an intersection determining sub-unit configured to determine a privacy calculation algorithm intersection according to the M lists of privacy calculation algorithms of the M participants; and an algorithm determining sub-unit configured to determine the target algorithm according to the privacy calculation algorithm intersection.

[0120] In one specific embodiment, the algorithm information of at least part of the M participants further includes priority information of a privacy calculation algorithm in the list of privacy calculation algorithms; and the algorithm determining sub-unit is specifically configured to determine the target algorithm according to the priority information corresponding to each privacy calculation algorithm in the privacy calculation algorithm intersection.

[0121] In one example, the priority information includes algorithm ranking; and the algorithm determining sub-unit is further configured to determine a privacy calculation algorithm with the highest ranking in the algorithms as the target algorithm.

[0122] According to an embodiment of still another aspect, the present specification also provides a system for multi-party algorithm negotiation for privacy calculation, including: a third party configured to send negotiation requests to M participants respectively, and the negotiation request includes description information of a target computing task to be subjected to privacy calculation; each of the M participants is configured to determine algorithm information of the participant, and the algorithm information includes a list of privacy calculation algorithms supported by the participant for the target computing task; each of the participants is further configured to send the algorithm information of the participant to the third party; and the third party is further configured to determine a target algorithm according to the algorithm information of each of the M participants, and send a negotiation result to the M participants, and the negotiation result includes an algorithm identifier of the target algorithm.

[0123] In one embodiment, the description information of the target computing task includes a task type of the target computing task.

[0124] In a specific embodiment, the task type comprises at least one of: joint statistical analysis on specified data items; joint training of specified models; joint prediction of specified models.

[0125] In an embodiment, the third direction includes, in the negotiation request sent by the jth participant, participant data information related to the target computing task of the jth participant.

[0126] In a more specific embodiment, the participant data information comprises a participant dataset identifier.

[0127] In an embodiment, the algorithm information of at least part of the M participants further comprises priority information of a privacy computing algorithm in the list of privacy computing algorithms.

[0128] In an embodiment, the third party is specifically configured to: determine a privacy computing algorithm intersection according to the M lists of privacy computing algorithms corresponding to the M participants; and determine the target algorithm according to the privacy computing algorithm intersection.

[0129] In a specific embodiment, the algorithm information of at least part of the M participants further comprises priority information of a privacy computing algorithm in the list of privacy computing algorithms; and the third party is further configured to: determine the target algorithm according to the priority information corresponding to each privacy computing algorithm in the privacy computing algorithm intersection.

[0130] In an embodiment, the M participants are further configured to: jointly execute the target computing task by using the target algorithm.

[0131] According to another aspect, embodiments also provide a computer readable storage medium having stored thereon a computer program which, when executed in a computer, cause the computer to perform the method described in conjunction with Figure 2 or Figure 5 the described method.

[0132] According to still another aspect, embodiments also provide a computing device comprising a memory and a processor, the memory having stored thereon executable code that, when executed by the processor, implements the method described in conjunction with Figure 2 or Figure 5 the described method.

[0133] Those skilled in the art should understand that, in one or more examples described above, the functions described in the present application can be implemented by hardware, software, firmware or any combination thereof. When implemented by software, these functions can be stored in a computer readable medium or transmitted as one or more instructions or codes on a computer readable medium.

[0134] The above detailed description sets forth the purpose, technical solutions and beneficial effects of the present application. It should be understood that the above detailed description is only a specific implementation of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made on the basis of the technical solutions of the present application shall be included in the protection scope of the present application.

Claims

1. A method for multi-party algorithm negotiation for privacy-preserving computation, comprising: The initiator sends negotiation requests to N participating parties respectively. The negotiation requests include description information of the target computing task to be performed on privacy computing. Each of the N participating parties determines its own algorithm information, including a list of privacy-preserving computation algorithms that it supports for the target computation task. The list of privacy computing algorithms is determined by the corresponding participating party based on its actual environment and the execution environment requirements of each of the various privacy computing algorithms used to perform the target computing task. The N participating parties will send their respective algorithm information to the initiator; The initiator determines the target algorithm based on the algorithm information of each of the N participating parties. The initiator sends the negotiation results to N participating parties, including the algorithm identifier of the target algorithm.

2. The method according to claim 1, wherein, The description information of the target computing task includes the task type of the target computing task.

3. The method according to claim 2, wherein, The task type includes at least one of the following: joint statistical analysis of specified data items; joint training of specified models; joint prediction of specified models.

4. The method according to claim 1, wherein, The negotiation request sent by the initiator to the i-th participant includes participant data information related to the target computing task for the i-th participant.

5. The method according to claim 4, wherein, The participant data information includes participant dataset identifiers.

6. The method according to claim 1, wherein, The initiator determines the target algorithm based at least on the algorithm information of each of the N participating parties, including: The initiator determines the target algorithm based on its own algorithm information and the algorithm information of each of the N participating parties.

7. The method according to claim 1, wherein, The algorithm information of at least some of the N participants also includes priority information for privacy computing algorithms in the privacy computing algorithm list.

8. The method according to claim 1, wherein, The initiator determines the target algorithm based at least on the algorithm information of each of the N participating parties, including: The initiator determines the intersection of privacy computing algorithms based on the list of N privacy computing algorithms corresponding to the N participants; The target algorithm is determined based on the intersection of the privacy computation algorithms.

9. The method according to claim 8, wherein, The algorithm information of at least a portion of the N participants also includes priority information for privacy computing algorithms in the privacy computing algorithm list; wherein, determining the target algorithm based on the intersection of the privacy computing algorithms includes: The target algorithm is determined based on the priority information corresponding to each privacy computation algorithm in the intersection of the privacy computation algorithms.

10. The method according to claim 1, further comprising: The initiator and the N participants execute the target computation task using the target algorithm.

11. A method for multi-party algorithm negotiation for privacy-preserving computation, executed by the initiator, comprising: A negotiation request is sent to each of the N participating parties. The negotiation request includes a description of the target computation task for which privacy computation is to be performed. Algorithm information is received from each of the N participants, including a list of privacy computing algorithms supported by the corresponding participant for the target computing task; wherein the list of privacy computing algorithms is determined by the corresponding participant from the various privacy computing algorithms based on its own real environment and the requirements of each algorithm on the execution environment for executing the target computing task. The target algorithm is determined based on at least the algorithm information of each of the N participating parties; The negotiation results, including the algorithm identifier of the target algorithm, are sent to the N participating parties.

12. The method according to claim 11, wherein, The target algorithm is determined based on the algorithm information of each of the N participants, including: The target algorithm is determined based on the algorithm information of the initiator and the algorithm information of each of the N participants.

13. The method according to claim 12, wherein, Based on the algorithm information of the initiator and the algorithm information of each of the N participating parties, the target algorithm is determined, including: Based on the list of N+1 privacy computing algorithms corresponding to the initiator and N participants, determine the intersection of the privacy computing algorithms; The target algorithm is determined based on the intersection of the privacy computation algorithms.

14. The method according to claim 13, wherein, The algorithm information of the initiator also includes the first priority information of the privacy computing algorithms in the privacy computing algorithm list; wherein, determining the target algorithm based on the intersection of the privacy computing algorithms includes: The target algorithm is determined based on the first priority information corresponding to each privacy computation algorithm in the intersection of the privacy computation algorithms.

15. The method according to claim 13, wherein, The algorithm information of at least a portion of the N participants also includes second priority information for privacy computation algorithms in the privacy computation algorithm list; wherein, determining the target algorithm based on the intersection of the privacy computation algorithms includes: The target algorithm is determined based on the second priority information corresponding to each privacy computation algorithm in the intersection of the privacy computation algorithms.

16. The method according to claim 13, wherein, The algorithm information of the initiator also includes first priority information for privacy computing algorithms in the privacy computing algorithm list; the algorithm information of at least some of the N participants also includes second priority information for privacy computing algorithms in the privacy computing algorithm list; wherein, determining the target algorithm based on the intersection of the privacy computing algorithms includes: The target algorithm is determined based on the first priority information and the second priority information corresponding to each privacy computation algorithm in the intersection of the privacy computation algorithms.

17. The method according to claim 16, wherein, The first priority information includes a first sort, and the second priority information includes a second sort; wherein, determining the target algorithm based on the first and second priority information corresponding to each privacy computation algorithm in the intersection of the privacy computation algorithms includes: A comprehensive ranking is determined based on the first and second rankings of the privacy computation algorithms. The privacy computation algorithm with the highest overall ranking is determined as the target algorithm.

18. A method for multi-party algorithm negotiation for privacy-preserving computation, executed by the first participant among N participants, comprising: Receive a negotiation request sent by the initiator, the negotiation request including a description of the target computing task to be performed on privacy computing; Determine the algorithm information of this party, including, based on the actual environment of this party and the execution environment requirements of each of the various privacy computing algorithms used to perform the target computing task, a list of privacy computing algorithms supported for the target computing task is determined from the various privacy computing algorithms; The algorithm information is sent to the initiator so that the initiator can determine the target algorithm based on the algorithm information of each of the N participants. Receive the negotiation result from the initiator, which includes the algorithm identifier of the target algorithm.

19. The method according to claim 18, wherein, Determine the algorithm information of this party, including: Obtain a first list of algorithms for performing the target computation task, including the various privacy-preserving computation algorithms; The privacy computing algorithms supported by this party are determined from the first algorithm list to form the privacy computing algorithm list.

20. The method according to claim 18, wherein, Determine the algorithm information of this party, including: Based on each privacy computing algorithm in the privacy computing algorithm list, priority information is determined, and the algorithm information includes the priority information.

21. The method according to claim 20, wherein, Priority information is determined, including: The priority information is determined based on the operational metrics of each privacy computing algorithm. The operational metrics include at least one of the following: computing resources used, computing speed, communication cost, and privacy protection strength.

22. A system for multi-party algorithm negotiation for privacy-preserving computation, comprising: The initiator is used to send negotiation requests to N participating parties respectively. The negotiation request includes a description of the target computing task to be performed on privacy computing. The N participating parties, each of which is used to determine its own algorithm information, including a list of privacy computing algorithms that it supports for the target computing task; wherein the list of privacy computing algorithms is determined by the corresponding participating party from the various privacy computing algorithms based on its real environment and the requirements of each algorithm on the execution environment for executing the target computing task. Each participating party is also used to send its own algorithm information to the initiating party; The initiator is also used to determine the target algorithm based at least on the algorithm information of each of the N participants; The initiator is also used to send the negotiation results to N participating parties, including the algorithm identifier of the target algorithm.

23. An apparatus for multi-party algorithm negotiation for privacy-preserving computation, the apparatus being integrated into the initiator, comprising: The negotiation request sending unit is configured to send negotiation requests to N participating parties respectively. The negotiation request includes description information of the target computing task to be privacy-preserving. The algorithm information receiving unit is configured to receive algorithm information from each of the N participants. The algorithm information includes a list of privacy computing algorithms supported by the corresponding participant for the target computing task. The list of privacy computing algorithms is determined by the corresponding participant from among the various privacy computing algorithms based on its own real environment and the requirements of each algorithm on the execution environment for executing the target computing task. The target algorithm determination unit is configured to determine the target algorithm based at least on the algorithm information of each of the N participants; The negotiation result sending unit is configured to send negotiation results to the N participating parties, including the algorithm identifier of the target algorithm.

24. An apparatus for multi-party algorithm negotiation for privacy-preserving computation, the apparatus being integrated into a first participant among N participants, comprising: The negotiation request receiving unit is configured to receive a negotiation request sent by the initiator, wherein the negotiation request includes description information of the target computing task to be performed on privacy computing. The algorithm information determination unit is configured to determine the algorithm information of the party, including a list of privacy computing algorithms supported for the target computing task determined from the multiple privacy computing algorithms based on the party's real environment and the execution environment requirements of each algorithm among the multiple privacy computing algorithms used to perform the target computing task; An algorithm information sending unit is configured to send the algorithm information to the initiator, so that the initiator can determine the target algorithm based on the algorithm information of each of the N participating parties; The negotiation result receiving unit is configured to receive the negotiation result from the initiator, including the algorithm identifier of the target algorithm.

25. A method for multi-party algorithm negotiation for privacy-preserving computation, comprising: The third party sends negotiation requests to each of the M participating parties. The negotiation requests include description information of the target computation task for which privacy computation is to be performed. Each of the M participating parties determines its own algorithm information, including a list of privacy-preserving computation algorithms that it supports for the target computation task. The list of privacy computing algorithms is determined by the corresponding participating party based on its actual environment and the execution environment requirements of each of the various privacy computing algorithms used to perform the target computing task. The M participating parties will send their respective algorithm information to the third party; The third party determines the target algorithm based on the algorithm information of each of the M participants; The third party sends the negotiation results to M participating parties, including the algorithm identifier of the target algorithm.

26. The method of claim 25, wherein, The algorithm information of at least some of the M participants also includes priority information for privacy computing algorithms in the privacy computing algorithm list.

27. A method for multi-party algorithm negotiation for privacy-preserving computation, performed by a third party, comprising: A negotiation request is sent to each of the M participating parties. The negotiation request includes a description of the target computation task for which privacy computation is to be performed. Algorithm information is received from each of the M participants, which includes a list of privacy computing algorithms supported by the corresponding participant for the target computing task; wherein the list of privacy computing algorithms is determined by the corresponding participant from the various privacy computing algorithms based on its own real environment and the requirements of each algorithm on the execution environment for executing the target computing task. The target algorithm is determined based on the algorithm information of each of the M participants. The negotiation results, including the algorithm identifier of the target algorithm, are sent to the M participating parties.

28. The method according to claim 27, wherein, The algorithm information of at least some of the M participants also includes priority information for privacy computing algorithms in the privacy computing algorithm list.

29. A system for multi-party algorithm negotiation for privacy-preserving computation, comprising: A third party is used to send negotiation requests to M participating parties respectively. The negotiation requests include description information of the target computing task to be performed on privacy computing. The M participating parties, each of which is responsible for determining its own algorithm information, including a list of privacy computing algorithms that it supports for the target computing task; wherein the list of privacy computing algorithms is determined by the corresponding participating party based on its actual environment and the requirements of each of the various privacy computing algorithms used to execute the target computing task from the various privacy computing algorithms. The M participating parties are also used to send their respective algorithm information to the third party; The third party is also used to determine the target algorithm based on the algorithm information of each of the M participants; The third party is also used to send the negotiation results to the M participating parties, including the algorithm identifier of the target algorithm.

30. The system according to claim 29, wherein, The M participants are also used to execute the target computation task using the target algorithm.

31. An apparatus for multi-party algorithm negotiation for privacy-preserving computation, the apparatus being integrated with a third party, comprising: The negotiation request sending unit is configured to send negotiation requests to M participating parties respectively. The negotiation request includes description information of the target computing task to be privacy-preserving. The algorithm information receiving unit is configured to receive algorithm information from each of the M participants. The algorithm information includes a list of privacy computing algorithms supported by the corresponding participant for the target computing task. The list of privacy computing algorithms is determined by the corresponding participant from among the various privacy computing algorithms based on its own real environment and the requirements of each algorithm on the execution environment for executing the target computing task. The target algorithm determination unit is configured to determine the target algorithm based on the algorithm information of each of the M participating parties. The negotiation result sending unit is configured to send negotiation results to the M participating parties, including the algorithm identifier of the target algorithm.

32. A computer-readable storage medium having a computer program stored thereon, wherein, When the computer program is executed in a computer, it causes the computer to perform the method described in any one of claims 1-21 and 25-28.

33. A computing device comprising a memory and a processor, wherein, The memory stores executable code, and when the processor executes the executable code, it implements the method of any one of claims 1-21 and 25-28.

Citation Information

Patent Citations

  • Negotiation processing method for security algorithm, control network element and system

    CN104618089A

  • Multi-party safety calculation method and device, and electronic equipment

    CN109359470A