Multi-party computing method and device, equipment and storage medium

By campaigning in multi-party computing to obtain data of winners and losers, and using virtual computing parties and temporary virtual data for calculations, the problem of insufficient security of existing multi-party computing methods is solved, and higher data security and computing security are achieved.

CN119945738APending Publication Date: 2025-05-06XIAN SECLOVER INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411946205.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

The existing multi-party computing methods have poor security problems. The data holder needs to hand over the data to a third party for calculation, resulting in insufficient data security.

Method used

A multi-party calculation method is proposed. By campaigning among multiple data holders, the data of winners and losers are obtained, and the data set to be calculated is constructed using virtual calculators and temporary virtual data, and the calculation is performed based on the preset matching strategy to generate the target calculation results.

Benefits of technology

By increasing the simulated data of the unselected party and the temporary virtual data, the risk of intercepting the entire data is reduced, the security of multi-party computing is improved, and the difficulty of member reasoning is increased through the simulated data of the virtual computing party and the unselected party, further ensuring data security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119945738A_ABST
    Figure CN119945738A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-party computing method, device and equipment and a storage medium, according to the scheme, selection party simulation data and temporary virtual data are added in multi-party computing, meanwhile, the risk that part of real data is lost and the total data is intercepted is greatly reduced, and the security of multi-party computing is improved; in addition, all data owners cannot obtain all original data, and the original data are not transmitted outside, so that the data security is further guaranteed; moreover, in multi-party calculation, a virtual calculation party and an underselection party simulate an underselection person corresponding to data, so that the difficulty of member reasoning is increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network security technology, and in particular to multi-party computing methods, devices, equipment and storage media. Background Art

[0002] In the current digital economy era, data has become an important means of production. Many data can only have greater commercial and practical value through mutual cooperation and multi-party collaboration. However, various data are often not concentrated in one party. At this time, multiple data holders need to work together to complete data integration and calculation. However, as an important asset, if there is no better protection plan, the willingness of each data holder to hand over their data to other participants is not strong. Therefore, a mechanism is needed to ensure that the data of each participant is not lost, and to obtain higher value of the data through joint calculation.

[0003] At present, there are many studies on multi-party computing, most of which are based on comprehensive collection and calculation by a third party. However, this method requires data holders to often hand over their data to a third party, which is not only unsafe but also loses the basic value of the data.

[0004] Therefore, the existing multi-party computing methods have the problem of poor security. Summary of the invention

[0005] The present application aims to at least solve the technical problems existing in the prior art. To this end, the present application proposes a multi-party computing method in a first aspect, the method comprising:

[0006] After multiple data holders have conducted election campaigns according to a preset election strategy, the winners and the winning party data corresponding to the winners, the losers and the loser simulation data corresponding to the losers among the multiple data holders are obtained;

[0007] Obtain a virtual computing party and temporary virtual data corresponding to the virtual computing party;

[0008] Construct the data set to be calculated based on the winning party data, the losing party simulation data and temporary virtual data;

[0009] Based on the preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation to generate the target calculation result; wherein, the target calculation party includes each data holder and the virtual calculation party.

[0010] In a possible implementation, the method further includes:

[0011] Randomly match the target computing entity with the data set to be calculated to generate a matching result;

[0012] Based on the matching results, a preset matching strategy is determined.

[0013] In a possible implementation, based on a preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation, and a target calculation result is generated, including:

[0014] Obtain the target key corresponding to each target computing party;

[0015] Encrypt the data corresponding to each target computing party by using the target key to generate encrypted data;

[0016] Send the encrypted data corresponding to other target computing parties except the virtual computing party to the virtual computing party;

[0017] The virtual computing party sends each encrypted data to the corresponding target computing party for calculation based on the preset matching strategy to generate the target calculation result.

[0018] In a possible implementation, based on a preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation, and a target calculation result is generated, including:

[0019] Based on the preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation, and multiple initial calculation results are generated;

[0020] Obtaining an actual calculation result obtained by calculating by a winner among the target calculation parties among the multiple initial calculation results;

[0021] Combine the actual calculation results to obtain the target calculation result.

[0022] In a possible implementation, obtaining an actual calculation result obtained by calculating by a winner among target calculation parties among a plurality of initial calculation results includes:

[0023] Obtaining distribution record information when each encrypted data is sent to a corresponding target computing party for computing based on a preset matching strategy;

[0024] Based on the distribution record information, an actual calculation result obtained by calculation by a winner among the target calculation parties among the plurality of initial calculation results is determined.

[0025] In a possible implementation, the method further includes:

[0026] Perform verification processing on the target calculation result based on the preset verification rules to generate a verification result;

[0027] If the verification result is that the verification fails, the target calculation result is discarded and the number of discards is recorded;

[0028] When the number of discards is greater than a preset threshold, the current multi-party computing task is determined to be in a failed state.

[0029] In a possible implementation, the method further includes:

[0030] When the verification result is that the verification is passed, data desensitization is performed on the target calculation result to generate a desensitized result;

[0031] The desensitization results are sent to each data holder.

[0032] In a second aspect, the present application provides a multi-party computing device, the device comprising:

[0033] A first acquisition module is used to acquire winners and winning party data corresponding to the winners, losers and loser simulation data corresponding to the losers among the multiple data holders after the multiple data holders have conducted elections according to a preset election strategy;

[0034] A second acquisition module is used to acquire a virtual computing party and temporary virtual data corresponding to the virtual computing party;

[0035] A construction module, used to construct a data set to be calculated based on the winning party data, the losing party simulation data and temporary virtual data;

[0036] The generation module is used to send the data set to be calculated to the corresponding target calculation party for calculation based on the preset matching strategy to generate the target calculation result; wherein the target calculation party includes each data holder and the virtual calculation party.

[0037] In a possible implementation manner, the multi-party computing device is further used to:

[0038] Randomly match the target computing entity with the data set to be calculated to generate a matching result;

[0039] Based on the matching results, a preset matching strategy is determined.

[0040] In a possible implementation manner, the generation module is specifically used to:

[0041] Obtain the target key corresponding to each target computing party;

[0042] Encrypt the data corresponding to each target computing party by using the target key to generate encrypted data;

[0043] Send the encrypted data corresponding to other target computing parties except the virtual computing party to the virtual computing party;

[0044] The virtual computing party sends each encrypted data to the corresponding target computing party for calculation based on the preset matching strategy to generate the target calculation result.

[0045] In a possible implementation manner, the generation module is further used to:

[0046] Based on the preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation, and multiple initial calculation results are generated;

[0047] Obtaining an actual calculation result obtained by calculating by a winner among the target calculation parties among the multiple initial calculation results;

[0048] Combine the actual calculation results to obtain the target calculation result.

[0049] In a possible implementation manner, the generation module is further used to:

[0050] Obtaining distribution record information when each encrypted data is sent to a corresponding target computing party for computing based on a preset matching strategy;

[0051] Based on the distribution record information, an actual calculation result obtained by calculation by a winner among the target calculation parties among the plurality of initial calculation results is determined.

[0052] In a possible implementation manner, the multi-party computing device is further used to:

[0053] Perform verification processing on the target calculation result based on the preset verification rules to generate a verification result;

[0054] If the verification result is that the verification fails, the target calculation result is discarded and the number of discards is recorded;

[0055] When the number of discards is greater than a preset threshold, the current multi-party computing task is determined to be in a failed state.

[0056] In a possible implementation manner, the multi-party computing device is further used to:

[0057] When the verification result is that the verification is passed, data desensitization is performed on the target calculation result to generate a desensitized result;

[0058] The desensitization results are sent to each data holder.

[0059] In a third aspect, the present application proposes an electronic device, comprising a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the multi-party computing method as described in the first aspect.

[0060] In a fourth aspect, the present application proposes a computer-readable storage medium, in which at least one instruction, at least one program, a code set or an instruction set is stored. The at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the multi-party computing method as described in the first aspect.

[0061] The embodiments of the present application have the following beneficial effects:

[0062] The multi-party computing method provided in the embodiment of the present application includes: after multiple data holders have conducted an election according to a preset election strategy, obtaining the winner and the winner data corresponding to the winner, the loser and the loser simulation data corresponding to the loser among the multiple data holders, obtaining a virtual computing party and temporary virtual data corresponding to the virtual computing party, constructing a data set to be calculated based on the winner data, the loser simulation data and the temporary virtual data, sending the data set to be calculated to the corresponding target computing party for calculation based on the preset matching strategy, and generating the target calculation result. This solution increases the security of multi-party computing by adding the loser simulation data and temporary virtual data to the multi-party computing, while losing part of the real data, and greatly reducing the risk of the full data being intercepted; in addition, each data holder cannot obtain all the original data, and the original data is not transmitted, further ensuring data security; and the existence of virtual computing parties and losers corresponding to the loser simulation data in the multi-party computing increases the difficulty of member reasoning. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] Figure 1 A block diagram of a computer device provided in an embodiment of the present application;

[0064] Figure 2 A flowchart of a multi-party computing method provided in an embodiment of the present application;

[0065] Figure 3 A flowchart of the steps for constructing a preset matching strategy provided in an embodiment of the present application;

[0066] Figure 4 A flowchart of the steps for generating a target calculation result provided in an embodiment of the present application;

[0067] Figure 5 Another flowchart of steps for generating a target calculation result provided in an embodiment of the present application;

[0068] Figure 6 A flowchart of the steps for determining an actual calculation result provided in an embodiment of the present application;

[0069] Figure 7 A flowchart of the steps of verifying the target calculation result provided in an embodiment of the present application;

[0070] Figure 8 A structural block diagram of a multi-party computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0071] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0072] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present disclosure, unless otherwise specified, "multiple" means two or more. In addition, the use of "based on" or "according to" means openness and inclusiveness, because the process, steps, calculations or other actions "based on" or "according to" one or more of the conditions or values ​​may be based on additional conditions or values ​​beyond the described values ​​in practice.

[0073] The multi-party computing method provided in the present application can be applied to a computer device (electronic device), which can be a server or a terminal. The server can be a single server or a server cluster composed of multiple servers. The embodiments of the present application do not specifically limit this. The terminal can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, and portable wearable devices.

[0074] Take the computer device as a server as an example. Figure 1 A block diagram of a server is shown, such as Figure 1 As shown, the server may include a processor and a memory connected via a system bus. The processor of the server is used to provide computing and control capabilities. The memory of the server includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. When the computer program is executed by the processor, a multi-party computing method is implemented.

[0075] Those skilled in the art will understand that Figure 1The structure shown in the figure is only a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the server to which the solution of the present application is applied. Optionally, the server may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.

[0076] It should be noted that the execution subject of the embodiments of the present application may be a computer device or a multi-party computing device. The following method embodiments will be described using a computer device as the execution subject.

[0077] Figure 2 A flowchart of a multi-party computing method provided in an embodiment of the present application. Figure 2 As shown, the method comprises the following steps:

[0078] Step 202: After multiple data holders have conducted election campaigns according to a preset election strategy, obtain winners and winning party data corresponding to the winners, losers and loser simulation data corresponding to the losers from among the multiple data holders.

[0079] The above preset campaign strategy is pre-constructed. Optionally, the total amount of data of multiple data holders as candidates can be clustered to obtain a clustering result, recorded as s_types, which includes multiple categories of the overall distribution of the total amount of data. In other words, it is necessary to first classify the total amount of data of each data holder to divide the categories of the overall distribution of the total amount of data.

[0080] Next, we need to obtain the total number of data holders, denoted as s_total, so that we can calculate the average of each category based on the clustering result s_types and the total number of data holders s_total, denoted as s_avi. Optionally, The number of s_types is the number of categories of the overall distribution of the total number of data. Then, savi*r candidates are randomly selected from each category as the winners, and the other data holders except the winners are the losers. R is the participation rate, which can be set to a value not less than a threshold value according to the actual situation. For example, the threshold value can be set to 75%.

[0081] The above process of determining the winners and losers serves as a preset campaign strategy, so that after each data holder submits its unique identification and the total amount of data it holds, the data holder is denoted as m0, and the dispatcher can select the winners and losers according to the preset campaign strategy. The winner can be denoted as m01, and there are usually multiple winners. The corresponding winner data can be denoted as m01_data. The loser can be denoted as m02, which can be one or more, and the corresponding loser data can be denoted as m02_data. It should be noted that there is usually only one dispatcher, who is responsible for setting calculation rules and dispatching multiple data holders to perform calculations. There are multiple data holders, who are responsible for providing their own data and performing calculations.

[0082] The simulated data of the losers corresponding to the above losers are recorded as m02_data_mock, which is the data of the corresponding data volume simulated and generated for the losers' data, that is, m02_data_mock and m02_data have the same number, and the corresponding data volume is also the same. The process of simulating and generating data can adopt the existing technology, which will not be repeated here. Exemplarily, if there are two losers, and their corresponding loser data are m02_data1 and m02_data2 respectively, then it is also necessary to generate two simulated data of losers m02_data_mock1 and m02_data_mock2, and the data volume of m02_data_mock1 is the same as that of m02_data1, and the data volume of m02_data_mock2 is the same as that of m02_data2.

[0083] Step 204: Obtain a virtual computing party and temporary virtual data corresponding to the virtual computing party.

[0084] Among them, the virtual computing party can be recorded as m03. Like other data holders, the outside world cannot determine whether m03 is the real data holder. Then m03 is added to m0 to obtain the target computing party m00.

[0085] Then, for the virtual computing party, a temporary virtual data is generated, which is recorded as m03_data. Optionally, the data quantity and specific content of m03_data can be randomly generated.

[0086] Step 206: construct a data set to be calculated based on the winner's data, the loser's simulated data and the temporary virtual data.

[0087] After obtaining the winner data, the loser simulation data and the temporary virtual data, the winner data m01_data, the loser simulation data m02_data_mock and the temporary virtual data m03_data can be fused to obtain multiple data sets to be calculated, which are recorded as m00_data. Optionally, the data fusion process can be to directly merge the three types of data together without converting the data.

[0088] Step 208: Send the data set to be calculated to the corresponding target calculation party for calculation based on the preset matching strategy to generate the target calculation result.

[0089] The target computing party includes each data holder and the virtual computing party, and the target computing party is denoted as m00. The above preset matching strategy needs to be pre-built. In some optional embodiments, such as Figure 3 As shown, Figure 3 A flowchart of the steps of constructing a preset matching strategy provided in an embodiment of the present application includes:

[0090] Step 302: Randomly match the target computing entity with the data set to be calculated to generate a matching result.

[0091] Step 304: Determine a preset matching strategy based on the matching result.

[0092] Among them, after obtaining the target computing party, the target computing party can be randomly matched with the data set to be calculated to obtain a matching result, which includes the correspondence between each target computing party and each data set to be calculated, so that a preset matching strategy can be obtained based on the correspondence.

[0093] It should be noted that the number of target computing parties is the same as the number of data sets to be calculated, so that random matching can be performed at will, and ultimately a complete one-to-one matching can be successful.

[0094] After obtaining the preset matching strategy, the data set to be calculated can be sent to the corresponding target computing party for calculation based on the preset matching strategy. In some optional embodiments, such as Figure 4 As shown, Figure 4 A flowchart of steps for generating a target calculation result provided in an embodiment of the present application includes:

[0095] Step 402: Obtain the target key corresponding to each target computing party.

[0096] Step 404: Encrypt the data corresponding to each target computing party using the target key to generate encrypted data.

[0097] Step 406: Send the encrypted data corresponding to other target computing parties except the virtual computing party to the virtual computing party.

[0098] Step 408: The virtual computing party sends each encrypted data to the corresponding target computing party for calculation based on a preset matching strategy to generate a target calculation result.

[0099] Among them, the target key corresponding to each target computing party can be generated first and assigned to the corresponding target computing party. Each target computing party encrypts the data it holds with the target key to generate encrypted data, and each target computing party then sends the encrypted data corresponding to other target computing parties except the virtual computing party to the virtual computing party. It should be noted that the target secret key of the encrypted data obtained by each target computing party is generated by the dispatcher and is different, which increases the difficulty of password guessing and ensures the security of local data.

[0100] After the virtual computing party obtains each encrypted data, it can finally send each encrypted data to the corresponding target computing party for calculation based on the preset matching strategy to generate the target calculation result. Among them, the target computing party does not know which other data holder the data it calculates comes from, or even simulates the data of the losing party or is temporary virtual data.

[0101] It should be noted that when the target computing party performs calculations, the virtual computing party needs to formulate unified calculation rules in advance, and each target computing party needs to perform calculations according to the calculation rules in the later stage. Since the calculation rules are agreed upon in advance, each target computing party will perform calculations according to the calculation rules in order to obtain accurate calculation results. In addition, each target computing party performs data calculations, which improves the calculation efficiency.

[0102] In some other optional embodiments, Figure 5 As shown, Figure 5 Another step flow chart for generating a target calculation result provided in an embodiment of the present application includes:

[0103] Step 502: Send the data set to be calculated to the corresponding target calculation party for calculation based on the preset matching strategy to generate multiple initial calculation results.

[0104] Step 504: Obtain the actual calculation result obtained by the winner among the target calculation parties among the multiple initial calculation results.

[0105] Step 506: Combine the actual calculation results to obtain the target calculation result.

[0106] Among them, after sending the data set to be calculated to the corresponding target calculation party for calculation based on the preset matching strategy, it is necessary to first obtain multiple initial calculation results calculated by all target calculation parties. Then, it is necessary to screen out the data set to be calculated and the actual calculation results involved in the real calculation, that is, to obtain the actual calculation results calculated by the winner of the target calculation party among the multiple initial calculation results, and finally combine the actual calculation results to obtain the target calculation result.

[0107] Optionally, the combination process depends on different computing requirements. For a typical task such as a statistical task, each data holder counts the actual calculation results obtained after calculating the data assigned to it. The virtual computing party can uniformly collect all the actual calculation results and then summarize them to obtain the final target calculation result.

[0108] In some optional embodiments, Figure 6 As shown, Figure 6 A flowchart of steps for determining an actual calculation result provided in an embodiment of the present application includes:

[0109] Step 602: Obtain distribution record information when each encrypted data is sent to a corresponding target computing party for computing based on a preset matching strategy.

[0110] Step 604: Based on the distribution record information, determine the actual calculation result obtained by the winner among the target calculation parties among the multiple initial calculation results.

[0111] Among them, when each encrypted data is sent to the corresponding target computing party for calculation based on the preset matching strategy, it is necessary to record to which target computing party the encrypted data is specifically sent, and to which target computing party the encrypted data sent is encrypted after the data set to be calculated participating in the actual calculation. This information is the distribution record information.

[0112] Therefore, after obtaining the distribution record information, the actual calculation result obtained by the winner among the target calculation parties among the multiple initial calculation results can be determined based on the distribution record information, and the other initial calculation results can be discarded.

[0113] In some optional embodiments, Figure 7 As shown, Figure 7 A flowchart of the steps of verifying a target calculation result provided in an embodiment of the present application includes:

[0114] Step 702: Verify the target calculation result based on the preset verification rules to generate a verification result.

[0115] Step 704: If the verification result is failure, discard the target calculation result and record the number of discards.

[0116] Step 706: When the number of discards is greater than the preset number threshold, determine that the current multi-party computing task is in a failed state.

[0117] Among them, the preset verification rules can be to first perform preliminary verification on the target calculation results according to the data set size, calculation rules, etc. After the preliminary verification is passed, other verifications are performed for different business scenarios, such as further verification processing based on the compliance, abnormality, counterintuitiveness and other dimensions of the calculation results, and finally generate verification results. By verifying the target calculation results, the accuracy of the calculation is guaranteed and the credibility is improved.

[0118] Optionally, when the verification result is passed, the target calculation result is subjected to data desensitization processing to generate a desensitized result, and the desensitized result can also be sent to each data holder. Among them, the data desensitization processing can first verify the sensitive information through sensitive information verification tools, sensitive information verification algorithms and other technologies, and then desensitize the verified sensitive information to further ensure that the calculated sensitive information is no longer sensitive. By performing data desensitization processing on the target calculation result, the risk of sensitive information leakage is further reduced.

[0119] Optionally, if the verification result is that the verification fails, the target calculation result is discarded and the number of discards is recorded. If the number of discards is greater than a preset number threshold, the current multi-party computing task is determined to be in a failed state. The preset number threshold can be pre-set based on experience.

[0120] The present application provides a multi-party computing method, which includes: after multiple data holders have conducted an election according to a preset election strategy, obtaining the winner and the winner data corresponding to the winner, the loser and the loser simulation data corresponding to the loser among the multiple data holders, obtaining a virtual computing party and temporary virtual data corresponding to the virtual computing party, constructing a data set to be calculated based on the winner data, the loser simulation data and the temporary virtual data, and sending the data set to be calculated to the corresponding target computing party for calculation based on the preset matching strategy to generate the target calculation result. This solution increases the security of multi-party computing by adding loser simulation data and temporary virtual data to multi-party computing, while losing part of the real data, greatly reducing the risk of full data being intercepted; in addition, each data holder cannot obtain all the original data, and the original data is not transmitted, further ensuring data security; and the existence of virtual computing parties and losers corresponding to the loser simulation data in multi-party computing increases the difficulty of member reasoning.

[0121] Figure 8 A structural block diagram of a multi-party computing device provided in an embodiment of the present application.

[0122] like Figure 8 As shown, the multi-party computing device 800 includes:

[0123] The first acquisition module 802 is used to acquire winners and winning party data corresponding to the winners, losers and loser simulation data corresponding to the losers among the multiple data holders after the multiple data holders have conducted elections according to a preset election strategy.

[0124] The second acquisition module 804 is used to acquire a virtual computing party and temporary virtual data corresponding to the virtual computing party.

[0125] The construction module 806 is used to construct a data set to be calculated based on the winning party data, the losing party simulation data and the temporary virtual data.

[0126] The generation module 808 is used to send the data set to be calculated to the corresponding target calculation party for calculation based on the preset matching strategy to generate the target calculation result; wherein the target calculation party includes each data holder and the virtual calculation party.

[0127] Regarding the apparatus in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here. Each module in the above multi-party computing apparatus can be implemented in whole or in part by software, hardware, and a combination thereof. Each of the above modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations of each of the above modules.

[0128] In one embodiment of the present application, a computer device is provided, the computer device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the following steps when executing the computer program:

[0129] After multiple data holders have conducted election campaigns according to a preset election strategy, the winners and the winning party data corresponding to the winners, the losers and the loser simulation data corresponding to the losers among the multiple data holders are obtained;

[0130] Obtain a virtual computing party and temporary virtual data corresponding to the virtual computing party;

[0131] Construct the data set to be calculated based on the winning party data, the losing party simulation data and temporary virtual data;

[0132] Based on the preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation to generate the target calculation result; wherein, the target calculation party includes each data holder and the virtual calculation party.

[0133] In one embodiment of the present application, when the processor executes the computer program, the processor further implements the following steps:

[0134] Randomly match the target computing entity with the data set to be calculated to generate a matching result;

[0135] Based on the matching results, a preset matching strategy is determined.

[0136] In one embodiment of the present application, when the processor executes the computer program, the processor further implements the following steps:

[0137] Obtain the target key corresponding to each target computing party;

[0138] Encrypt the data corresponding to each target computing party by using the target key to generate encrypted data;

[0139] Send the encrypted data corresponding to other target computing parties except the virtual computing party to the virtual computing party;

[0140] The virtual computing party sends each encrypted data to the corresponding target computing party for calculation based on the preset matching strategy to generate the target calculation result.

[0141] In one embodiment of the present application, when the processor executes the computer program, the processor further implements the following steps:

[0142] Based on the preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation, and multiple initial calculation results are generated;

[0143] Obtaining an actual calculation result obtained by calculating by a winner among the target calculation parties among the multiple initial calculation results;

[0144] Combine the actual calculation results to obtain the target calculation result.

[0145] In one embodiment of the present application, when the processor executes the computer program, the processor further implements the following steps:

[0146] Obtaining distribution record information when each encrypted data is sent to a corresponding target computing party for computing based on a preset matching strategy;

[0147] Based on the distribution record information, an actual calculation result obtained by calculation by a winner among the target calculation parties among the plurality of initial calculation results is determined.

[0148] In one embodiment of the present application, when the processor executes the computer program, the processor further implements the following steps:

[0149] Perform verification processing on the target calculation result based on the preset verification rules to generate a verification result;

[0150] If the verification result is that the verification fails, the target calculation result is discarded and the number of discards is recorded;

[0151] When the number of discards is greater than a preset threshold, the current multi-party computing task is determined to be in a failed state.

[0152] In one embodiment of the present application, when the processor executes the computer program, the processor further implements the following steps:

[0153] When the verification result is that the verification is passed, data desensitization is performed on the target calculation result to generate a desensitized result;

[0154] The desensitization results are sent to each data holder.

[0155] The computer device provided in the embodiment of the present application has similar implementation principles and technical effects to those of the above-mentioned method embodiment, and will not be described in detail here.

[0156] In one embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0157] After multiple data holders have conducted election campaigns according to a preset election strategy, the winners and the winning party data corresponding to the winners, the losers and the loser simulation data corresponding to the losers among the multiple data holders are obtained;

[0158] Obtain a virtual computing party and temporary virtual data corresponding to the virtual computing party;

[0159] Construct the data set to be calculated based on the winning party data, the losing party simulation data and temporary virtual data;

[0160] Based on the preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation to generate the target calculation result; wherein, the target calculation party includes each data holder and the virtual calculation party.

[0161] In one embodiment of the present application, when the computer program is executed by a processor, the following steps are further implemented:

[0162] Randomly match the target computing entity with the data set to be calculated to generate a matching result;

[0163] Based on the matching results, a preset matching strategy is determined.

[0164] In one embodiment of the present application, when the computer program is executed by a processor, the following steps are further implemented:

[0165] Obtain the target key corresponding to each target computing party;

[0166] Encrypt the data corresponding to each target computing party by using the target key to generate encrypted data;

[0167] Send the encrypted data corresponding to other target computing parties except the virtual computing party to the virtual computing party;

[0168] The virtual computing party sends each encrypted data to the corresponding target computing party for calculation based on the preset matching strategy to generate the target calculation result.

[0169] In one embodiment of the present application, when the computer program is executed by a processor, the following steps are further implemented:

[0170] Based on the preset matching strategy, the data set to be calculated is sent to the corresponding target calculation party for calculation, and multiple initial calculation results are generated;

[0171] Obtaining an actual calculation result obtained by calculating by a winner among the target calculation parties among the multiple initial calculation results;

[0172] Combine the actual calculation results to obtain the target calculation result.

[0173] In one embodiment of the present application, when the computer program is executed by a processor, the following steps are further implemented:

[0174] Obtaining distribution record information when each encrypted data is sent to a corresponding target computing party for computing based on a preset matching strategy;

[0175] Based on the distribution record information, an actual calculation result obtained by calculation by a winner among the target calculation parties among the plurality of initial calculation results is determined.

[0176] In one embodiment of the present application, when the computer program is executed by a processor, the following steps are further implemented:

[0177] Perform verification processing on the target calculation result based on the preset verification rules to generate a verification result;

[0178] If the verification result is that the verification fails, the target calculation result is discarded and the number of discards is recorded;

[0179] When the number of discards is greater than a preset threshold, the current multi-party computing task is determined to be in a failed state.

[0180] In one embodiment of the present application, when the computer program is executed by a processor, the following steps are further implemented:

[0181] When the verification result is that the verification is passed, data desensitization is performed on the target calculation result to generate a desensitized result;

[0182] The desensitization results are sent to each data holder.

[0183] The computer-readable storage medium provided in this embodiment has similar implementation principles and technical effects to those of the above method embodiments, and will not be described in detail here.

[0184] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0185] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.

[0186] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A multi-party computing method, characterized in that: The method comprises: After multiple data holders have conducted election campaigns according to a preset election strategy, a winner among the multiple data holders and the winning party data corresponding to the winner, a loser and the loser simulation data corresponding to the loser are obtained; Obtain a virtual computing entity and temporary virtual data corresponding to the virtual computing entity; Constructing a data set to be calculated based on the winning party data, the losing party simulation data and the temporary virtual data; Based on a preset matching strategy, the data set to be calculated is sent to a corresponding target calculation party for calculation to generate a target calculation result; wherein the target calculation party includes each of the data holders and the virtual calculation party.

2. The method according to claim 1, characterized in that The method further comprises: Randomly matching the target computing entity with the data set to be calculated to generate a matching result; Based on the matching result, the preset matching strategy is determined.

3. The method according to claim 1 or 2, characterized in that: The step of sending the to-be-calculated data set to a corresponding target computing party for calculation based on a preset matching strategy to generate a target calculation result includes: Obtaining a target key corresponding to each of the target computing parties; Encrypting the data corresponding to each of the target computing parties by using the target key to generate encrypted data; Sending the encrypted data corresponding to other target computing parties except the virtual computing party to the virtual computing party; The virtual computing party sends each of the encrypted data to the corresponding target computing party for calculation based on the preset matching strategy to generate the target calculation result.

4. The method according to claim 1 or 2, characterized in that: The step of sending the to-be-calculated data set to a corresponding target computing party for calculation based on a preset matching strategy to generate a target calculation result includes: Based on a preset matching strategy, the data set to be calculated is sent to a corresponding target calculation party for calculation, and a plurality of initial calculation results are generated; Obtaining an actual calculation result obtained by calculating by a winner among the target calculation parties among the multiple initial calculation results; The actual calculation results are combined to obtain the target calculation result.

5. The method according to claim 4, characterized in that The obtaining of the actual calculation results obtained by the winner among the target calculation parties from among the multiple initial calculation results includes: Acquire distribution record information when each encrypted data is sent to a corresponding target computing party for computing based on the preset matching strategy; Based on the distribution record information, the actual calculation result obtained by calculating by the winner among the target calculation parties among the multiple initial calculation results is determined.

6. The method according to claim 1 or 2, characterized in that: The method further comprises: Performing verification processing on the target calculation result based on preset verification rules to generate a verification result; If the verification result is that the verification fails, discard the target calculation result and record the number of discards; When the number of discards is greater than a preset number threshold, it is determined that the current multi-party computing task is in a failed state.

7. The method according to claim 6, characterized in that The method further comprises: When the verification result is that the verification is passed, performing data desensitization processing on the target calculation result to generate a desensitized result; The desensitization result is sent to each of the data holders.

8. A multi-party computing device, characterized in that: The device comprises: A first acquisition module is used to acquire, after multiple data holders have conducted election campaigns according to a preset election strategy, winners and winning party data corresponding to the winners, losers and loser simulation data corresponding to the losers among the multiple data holders; A second acquisition module is used to acquire a virtual computing entity and temporary virtual data corresponding to the virtual computing entity; A construction module, used to construct a data set to be calculated based on the winning party data, the losing party simulation data and the temporary virtual data; A generation module is used to send the data set to be calculated to the corresponding target calculation party for calculation based on a preset matching strategy to generate a target calculation result; wherein the target calculation party includes each of the data holders and the virtual calculation party.

9. An electronic device, characterized in that: The electronic device includes a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the multi-party computing method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that: The storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the multi-party computing method as described in any one of claims 1-7.