Method, device, computer device, and computer program for determining extreme values ​​based on private multi-party computation

JP7651816B2Active Publication Date: 2025-03-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023566958
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-08-18
Filing Date
2022-07-27
Publication Date
2025-03-27
Estimated Expiration
2042-07-27

Smart Images

  • Figure 0007651816000007
    Figure 0007651816000007
  • Figure 0007651816000008
    Figure 0007651816000008
  • Figure 0007651816000009
    Figure 0007651816000009
Patent Text Reader

Abstract

A method, device, equipment and storage medium for determining an extreme value based on secret multi-party computation are provided in the technical field of data security. The method includes the steps of: obtaining the tth average value obtained by the tth round of federated computation; if the effective node data of the i-th node device is greater than the tth average value, performing the t+1th round of federated computation based on the effective node data of the i-th node device; if the effective node data of the i-th node device is equal to or less than the tth average value, performing the t+1th round of federated computation based on the invalid node data; and if the effective node data of the i-th node device is equal to or less than the n-1th average value after the n-1th round of federated computation, determining that the effective node data of the i-th node device is an extreme value. According to the method, the node device does not need to leak privacy data and the magnitude relationship between each data, and the method for calculating the average value based on the secret multi-party computation is not related to encryption and decryption operations, and the calculation complexity and communication overhead are relatively small, which can improve the calculation efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention claims priority to a Chinese patent application filed on August 18, 2021, bearing application number 2021109461183 and entitled "Method, device, equipment and storage medium for determining extreme values ​​based on confidential multi-party computation," the entire contents of which are incorporated herein by reference.

[0002] TECHNICAL FIELD Embodiments of the present invention relate to the technical field of data security, and in particular to a technique for determining extremums based on private multi-party computation. [Background technology]

[0003] Research on confidential multi-party computation is mainly concerned with how to securely compute promise functions in the absence of a trusted third party.Confidential multi-party computation can realize secure data collaboration and fusion applications, and on the premise that data does not leave the domain and is legally compliant, multi-party data sources are federated to perform computation, analysis, and learning, thereby realizing the sharing of data value.

[0004] In the related art, determining an extreme value based on private multi-party computation means that at least two participants need to possess different data, and compare the sizes of the data possessed by each of them to calculate the maximum or minimum value. The method of comparing the data sizes of the multi-party is usually implemented based on the Oblivious Transfer (OT) technology or homomorphic encryption technology.

[0005] However, the size comparison method based on oblivious transfer has low computational complexity, but only supports two-party data comparison. When extended to multi-party scenarios, it needs to perform relatively many communication interactions, resulting in large communication overhead and low efficiency, and is not applicable to cross-public network communication application scenarios. The size comparison method based on homomorphic encryption technology has relatively high computational complexity and low practical application value. Summary of the Invention

[0006] The embodiments of the present invention provide a method, device, apparatus, and storage medium for determining an extreme value based on secure multi-party computation, which can reduce the computational complexity and communication overhead for determining an extreme value based on secure multi-party computation. The technical means thereof are as follows:

[0007] In one aspect, a method for determining an extreme value based on secret multi-party computation is executed by an i-th node device in a federated computing system, the federated computing system including n node devices, n being an integer greater than 2, and i being a positive integer equal to or less than n, the method including the step of obtaining a t-th average value obtained by a t-th round of federated computation, the t-th average value being calculated based on n pieces of node data and an average coefficient of the n node devices, the n pieces of node data including m pieces of valid node data, the average coefficient decreasing as the number of rounds of federated computation increases, and t being a positive integer less than n-1. where m is a positive integer less than or equal to n; if the valid node data of the i node equipment is greater than the t-th average value, performing a t+1-th round of association calculation based on the valid node data of the i node equipment, and if the valid node data of the i node equipment is less than or equal to the t-th average value, performing a t+1-th round of association calculation based on invalid node data; and if, after the n-1-th round of association calculation, the valid node data of the i node equipment is greater than or equal to the n-1-th average value, determining that the valid node data of the i node equipment is an extreme value.

[0008] In another aspect, an extreme value determination device based on secret multi-party computation includes a first acquisition module that acquires a t-th average value obtained by a t-th round of federated computation, the t-th average value being calculated based on n node data of n node devices and an average coefficient, the n node data including m effective node data, the average coefficient decreasing as the number of rounds of federated computation increases, t being a positive integer smaller than n-1, and m being a positive integer equal to or smaller than n, and The present invention provides an apparatus including: a first calculation module that performs a t+1th round of association calculation based on the valid node data of the i node equipment if the valid node data of the i node equipment is greater than the tth average value; a second calculation module that performs a t+1th round of association calculation based on the invalid node data if the valid node data of the i node equipment is less than or equal to the tth average value; and a first determination module that determines that the valid node data of the i node equipment is an extreme value if the valid node data of the i node equipment is greater than or equal to the n-1th average value after the n-1th round of association calculation.

[0009] In another aspect, there is provided a computing device including a processor and a memory having stored therein at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, code set or instruction set being loaded and executed by the processor to implement the method for determining extremum values ​​based on private multi-party computation according to the above aspect.

[0010] In another aspect, there is provided a computer-readable storage medium having stored thereon at least one computer program, the computer program being loaded and executed by a processor to implement the method for determining extremums based on private multi-party computation according to the aspect above.

[0011] In one aspect of the present invention, there is provided a computer program product or computer program comprising computer instructions stored in a computer readable storage medium, the computer instructions being read and executed by a processor of the computing device to cause the computing device to perform the method for determining extremums based on private multi-party computation according to the above aspect.

[0012] The technical solutions of the embodiments of the present invention have at least the following advantageous effects:

[0013] In an embodiment of the present invention, the average value of data corresponding to n node devices is calculated, and each node device compares its own data with the magnitude of the average value of the federated calculation in the current round, and if its own data is smaller than the average value, it determines that its own data is not an extreme value, and if it is equal to or greater than the average value, it replaces the valid node data with the invalid node data and performs the average value calculation in the next round. In this way, the average value of the federated calculation can be converged, that is, gradually approached to the extreme value, so that the result is obtained at the time of the n-1th round, and the problem of determining the extreme value based on the confidential multi-party calculation can be effectively solved. In addition, the node device does not need to leak the private data and the magnitude relationship between each data, and the method of calculating the average value based on the confidential multi-party calculation is not related to the operation of encryption and decryption, and the calculation complexity and communication overhead are relatively small, and the calculation efficiency can be improved. [Brief description of the drawings]

[0014] [Figure 1] FIG. 1 is a schematic diagram of an implementation environment according to an embodiment of the present invention. [Diagram 2] 1 is a flowchart of a method for determining extremums based on secure multi-party computation according to an embodiment of the present invention; [Diagram 3] 1 is a flowchart of a method for determining extremums based on secure multi-party computation according to an embodiment of the present invention; [Figure 4]1 is a flowchart of a method for determining extremums based on secure multi-party computation according to an embodiment of the present invention; [Diagram 5] 1 is a flowchart of a method for determining extremums based on secure multi-party computation according to an embodiment of the present invention; [Figure 6] FIG. 1 is a schematic diagram of an average value calculation based on a secret three-party calculation according to an embodiment of the present invention. [Figure 7] 1 is a flowchart of a method for determining extremums based on secure multi-party computation according to an embodiment of the present invention; [Figure 8] FIG. 1 is a schematic diagram of an average value calculation based on a secret three-party calculation according to an embodiment of the present invention. [Figure 9] 1 is a flowchart of a method for determining extremums based on secure multi-party computation according to an embodiment of the present invention; [Figure 10] FIG. 2 is a schematic diagram of determining an extremum based on a secure three-party computation according to an embodiment of the present invention; [Figure 11] 1 is a flowchart of a method for determining extremums based on secure multi-party computation according to an embodiment of the present invention; [Figure 12] FIG. 2 is a schematic diagram of determining an extremum based on a secure three-party computation according to an embodiment of the present invention; [Figure 13] FIG. 2 is a schematic diagram of a multi-layer device grouping according to an embodiment of the present invention. [Figure 14] 1 is a flowchart of a method for determining extremums based on secure multi-party computation according to an embodiment of the present invention; [Figure 15] 1 is a block diagram showing a configuration of an extremum determination device based on secure multi-party computation according to an embodiment of the present invention. FIG. [Figure 16] FIG. 1 is a block diagram showing a configuration of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] In order to make the objectives, technical means and advantages of the present invention clearer, the following embodiments of the present invention will be described in more detail with reference to the drawings.

[0016] First, terms related to the embodiments of the present invention will be explained.

[0017] 1) Private multi-party computation: n participants P1, P2, …, P n Among them, participant P i is the input data X i Without leaking their input data to any other participants and without the cooperation of any trusted authority, the n participants can jointly calculate a function f(X1, X2, ..., X n ) Private multi-party computation has a rich theoretical foundation and can ensure the security of input data by applying various security mechanisms such as cryptography (e.g. homomorphic encryption), secret sharing, and differential privacy. It has already moved from the theoretical research stage to the stage of engineering and large-scale application implementation.

[0018] 2) Secret Sharing: Secret sharing is a cryptographic technique that divides and stores secrets, aiming to distribute risks and avoid excessive concentration of secrets that may lead to intrusions, and is an important measure in information security and data privacy. The idea of ​​secret sharing is to divide the secret in an appropriate way, and each divided share is managed by a different participant, so that an individual participant cannot recover the secret information, but multiple participants can recover the secret information by cooperation. More importantly, even if a problem occurs with any of the participants within these corresponding ranges, the secret can be completely restored.

[0019] In recent years, due to factors such as user privacy, data security, legal compliance, and business competition, it is difficult to legally integrate distributed data sources for calculation, analysis, and learning. In this context, solutions based on secure multi-party computation (MPC) have been rapidly developed, which can link multiple distributed data sources to perform federated computation, federated data analysis, and federated machine learning without the need to consolidate distributed data sources into one. Secure multi-party computation can realize secure data cooperation and fusion applications, and on the premise that data does not go out of the domain and is legally compliant, multi-party data sources can be federated to perform calculation, analysis, and learning, thereby realizing the sharing of data value. In related technologies, schemes for realizing secure multi-party computation usually have problems such as high computational complexity and large communication overhead.

[0020] In order to solve the above technical problems, the embodiment of the present invention proposes a semi-honest security model. In the semi-honest security model, it can be guaranteed that the data of each participant will not be leaked. The semi-honest security model is also called the honest-but-curious security model, in which both participant A and participant B strictly adhere to the data size comparison and equality test, and will not maliciously deviate from the protocol or maliciously actively attack each other, but participants may try to obtain more information during the execution of the protocol.

[0021] 1 is a block diagram showing a federated computing system according to an embodiment of the present invention. The federated computing system includes n node devices (also called participants), namely, node device P1, node device P2, ..., node device P nwhere n is an integer greater than 2. Any node device may be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms. Any two node devices have different data sources, such as data sources from different companies or data sources from different departments of the same company. Different data are stored in different node devices. Different node devices are connected to each other via a wireless network or a wired network.

[0022] Each of the n node devices stores its own data, and the data cannot be leaked. When a node device in a federated computing system needs to determine an extreme value, each node device first obtains an average value by secret multi-party computation, and then compares its own data with the average value to determine that its own data is not an extreme value if it is smaller than the average value. After confirming the data that has been "excluded" in the computation of this round, the "disqualified" data is replaced with invalid node data (e.g., replaced with 0) and participates in the average value computation of the next round. In addition, since the data of at least one node device is "excluded" after the computation of each round, the average coefficient in the average value computation is controlled to decrease as the number of rounds of the federated computation increases, and the computation of the average value is converged, so that data that is not an extreme value can be "excluded" one after another. In this process, the data of each participant is not leaked, the number of interactions is small, and there is no need to perform encryption and decryption operations, so that communication overhead is small and computation efficiency is high.

[0023] In one preferred embodiment, the multiple node devices in the above-mentioned federated computing system may be configured as a blockchain, the node devices being nodes on the blockchain, and data related to the process of determining extremums based on private multi-party computation may be stored on the blockchain.

[0024] 2 is a flowchart of a method for determining an extremum based on private multi-party computation according to an embodiment of the present invention. In this embodiment, the method is described by taking as an example that the method is executed by an i-th node device in a federated computing system. The federated computing system includes n node devices, where n is an integer greater than 2, and i is a positive integer equal to or less than n. The method includes the following steps:

[0025] In step 201, the t-th average value obtained by the t-th round of joint calculation is obtained.

[0026] The tth average value is calculated based on n node data of n node devices and an average coefficient, where the n node data includes m valid node data, the average coefficient decreases as the number of rounds of the federation calculation increases, t is a positive integer smaller than n-1, and m is a positive integer equal to or smaller than n.

[0027] Each node device in the federated computation system first obtains an average value by secret multi-party computation, and then compares its own data with the average value (here, comparing in plain text). If its own data is smaller than the average value, it determines that it is not an extreme value, and after confirming the data "rejected" (below the average value) in the computation of this round, it replaces the "disqualified" data with invalid node data (e.g., replaces it with 0) and participates in the average value computation of the next round. In addition, since the data of at least one node device is "rejected" after the computation of each round, it is possible to "reject" data that is not an extreme value one after another by controlling the averaging coefficient (i.e., the denominator of the average value computation) in the average value computation to decrease as the number of rounds of the federated computation increases, and by converging the average value computation.

[0028] In one possible embodiment, the federated computing system performs a secret multi-party computation based on the node data and average coefficients of n node devices to obtain the t-th average value of the federated computation of the current round, i.e., the t-th round, where the n node data includes the valid node data and the invalid node data that are not excluded from the previous round, where the valid node data is the true value of the data owned by the node device, and the invalid node data is used to replace the valid node data that is equal to or less than the average value before the federated computation of the t-th round, for example, the invalid node data is 0, which means that the corresponding node device does not participate in the subsequent average value calculation.

[0029] For example, after the joint calculation of each round, the valid node data of at least one node device is less than the t-th average value, that is, at least one valid node data is replaced with invalid node data, but due to the confidentiality of the data, each node device can only know whether its own data has been excluded or not, and cannot know the data that has actually been excluded after the calculation of this round (i.e., how many valid node data are actually smaller than the average value). Therefore, the average coefficient is set to (n+1-t), and from the second round, at least one data is excluded in the average calculation of each round, and the average coefficient is decremented every round to ensure that only a maximum of two valid node data exist at the time of the n-1th round. Therefore, the t-th average value M t The formula for this is M t =(X1+X2+…+X n ) / (n+1-t), where X i is the data (valid node data or invalid node data) used by the i-th node device to participate in the average value calculation, where X i are all valid node data.

[0030] In step 202, if the valid node data of the i-th node device is greater than the t-th average value, the t+1-th round of association calculation is performed based on the valid node data of the i-th node device.

[0031] The valid node data of the i-th node device being greater than the t-th average value means that the valid node data may be an extreme value. Therefore, the i-th node device may continue to perform the federated calculation of the next round (t+1-th round) based on the valid node data until the valid node data is excluded, that is, until the valid node data is equal to or less than the average value of a certain round or is determined to be an extreme value.

[0032] In step 203, if the valid node data of the i-th node device is equal to or less than the t-th average value, the t+1-th round of association calculation is performed based on the invalid node data.

[0033] If the valid node data of the i-th node device is equal to or less than the t-th average value, the i-th node device performs the next average value calculation using the invalid node data instead of the valid node data.

[0034] In addition, when the effective node data of the i-th node device is smaller than the t-th average value, the i-th node device can determine that the effective node data is not an extreme value, and then it is sufficient to participate in the calculation of the average value based on the invalid node data, and there is no need to compare the magnitude relationship. On the other hand, when the effective node data of the i-th node device is equal to the t-th average value, the data is an extreme value, and the effective node data of other node devices is also an extreme value, that is, the data owned by at least two nodes may be equal and maximum. In order to avoid the case where the average value is greater than the maximum value (because the average coefficient decreases every round) so that the average value calculation converges, when the effective node data of the i-th node device is equal to the t-th average value, the i-th node device similarly replaces the effective node data with invalid node data and performs the next average value calculation, but still needs to compare the magnitude relationship.

[0035] For example, for four data points "1, 2, 3, 4", if the average value calculated in the first round is 5 / 2 and 3 and 4 are greater than 5 / 2, in the second round, 3 and 4 will still participate in the calculation, 1 and 2 will be replaced with 0, and the average coefficient will be subtracted by 1, resulting in (0+0+3+4) / 3.

[0036] In step 204, after the n-1th round of joint calculation, if the effective node data of the i-th node device is equal to or greater than the n-1th average value, it is determined that the effective node data of the i-th node device is an extreme value.

[0037] When t is (n-1), at least one valid node data is replaced with an invalid node data in each round, so that the n-1 round has only a maximum of two valid node data, and the average coefficient m is 2, so that the calculation result of the extreme value can be obtained after the joint calculation of the n-1th round. If the valid node data of the i-th node device is greater than the average value in the previous (n-2) round, and is greater than or equal to the (n-1)th average value (which is equal when there are two equal maximum values ​​correspondingly) in the (n-1)th round, the valid node data is an extreme value.

[0038] As described above, in the embodiment of the present invention, the average value of data corresponding to n node devices is calculated, and each node device compares its own data with the magnitude of the average value of the federated calculation in the current round, and if its own data is smaller than the average value, it determines that its own data is not an extreme value, and if it is equal to or greater than the average value, it replaces the valid node data with the invalid node data and performs the average value calculation in the next round. In this way, the average value of the federated calculation can be converged, that is, gradually approached to the extreme value, so that the result is obtained at the time of the n-1th round, and the problem of determining the extreme value based on the confidential multi-party calculation can be effectively solved. In addition, the node device does not need to leak the private data and the magnitude relationship between each data, and the method of calculating the average value based on the confidential multi-party calculation is not related to the operation of encryption and decryption, and the calculation complexity and communication overhead are relatively small, and the calculation efficiency can be improved.

[0039] Note that n participants (i.e., node devices) each own numbers X1, X2, ..., X n If there are floating-point numbers in , we can first perform integer conversion on all the data before performing the federated calculation, and the integer conversion method involves multiplying large integers. For example, if participant P k teeth, (outside 1) Let TIFF0007651816000001.tif34170, where INT represents taking an integer, and Q is a large integer, for example 10 to the power of 6, and Q is determined by negotiation among n participants. Then, the average value of the integer-taking numbers is calculated to determine the extreme value. The main purpose of the conversion to integers is to further hide the value range of each number through modulo arithmetic. Taking the determination of the extreme value based on confidential three-party calculation as an example, after the three parties negotiate the calculation precision Q, they further negotiate the numerical calculation range, i.e., (outside 2) TIFF0007651816000002.tif28170 or (Outside 3) To fill TIFF0007651816000003.tif28170, The choice of the integer n (called the modulus) must be negotiated.

[0040] In one preferred embodiment, in order to ensure that the calculation of the average value and the comparison of the magnitude relationship are performed smoothly, the effective node data of the present invention may all be positive numbers, and if the data of the node device is negative, it is negatively coded before the first round of the association calculation, and the negatively coded data is used as the effective node data. k If X is less than 0, the node device k =X k +n, i.e., to encode a negative number (where X k is the rounded data), so during the calculation (outside 4) TIFF0007651816000004.tif28170 or (outside 5) When TIFF0007651816000005.tif28170 occurs, the node device detects that the actual calculation result is a negative number, i.e., (outside 6) It can be determined that the file is TIFF0007651816000006.tif28170.

[0041] 3 is a flowchart of a method for determining an extremum based on private multi-party computation according to an embodiment of the present invention. In this embodiment, the method is described by taking as an example that the method is executed by an i-th node device in a federated computing system. The federated computing system includes n node devices, where n is an integer greater than 2, and i is a positive integer less than or equal to n. The method includes the following steps:

[0042] In step 301, the t-th average value obtained by the t-th round of joint calculation is obtained.

[0043] In step 302, if the valid node data of the i-th node device is greater than the t-th average value, the t+1-th round of association calculation is performed based on the valid node data of the i-th node device.

[0044] For specific aspects of steps 301 and 302, reference may be made to steps 201 and 202 described above, and the description thereof will be omitted here.

[0045] In step 303, if the valid node data of the i-th node equipment is smaller than the t-th average value, perform the t+1-th round of joint calculation based on the invalid node data, and determine that the valid node data corresponding to the i-th node equipment is not an extreme value.

[0046] In one preferred embodiment, the valid node data of the i-th node device being smaller than the t-th average value means that there is another node device in the federated calculation process in this round whose valid node data is greater than that of the i-th node device, and therefore this step can determine that the valid node data of the i-th node device is not an extreme value. In the calculation of the average value of each subsequent round, the i-th node device only needs to participate in the calculation based on the invalid node data, and the valid node data does not participate in the calculation, and there is no need to compare the magnitude relationship with the average value.

[0047] In step 304, if the valid node data of the i-th node device is equal to the t-th average value, perform the t+1-th round of association calculation based on the invalid node data, and determine an extreme value based on the relationship between the t+1-th average value and the invalid node data.

[0048] In one preferred embodiment, the effective node data of the i-th node device is equal to the t-th average value, which means that there are two cases in the calculation process of this round. In one case, there are other node devices whose effective node data is greater than that of the i-th node device, and there are other node devices whose effective node data is smaller than that of the i-th node device. In this case, the effective node data of the i-th node device is not an extreme value, for example, the average value of the data "1, 2, 3" in the first round is 2. In the other case, the effective node data of the i-th node device is an extreme value, and there are also other node devices whose effective node data is an extreme value. For example, the average value of the data "1, 1, 3, 3" in the first round is 2, and the second round is calculated based on "0, 0, 3, 3" and an average coefficient of 3, and the obtained average value is 3. For this reason, it cannot be directly determined that the effective node data of the i-th node device is not an extreme value, and it is necessary to continue performing a joint calculation and comparing the magnitude relationship with the average value.

[0049] To ensure that at least one valid node data is "removed" after each federation calculation round and the calculation gradually converges, if the valid node data of the i-th node device is equal to the average value, the i-th node device will participate in the subsequent federation calculation based on the invalid node data.

[0050] In one preferred embodiment, if the valid node data of the i-th node device is equal to the t-th average value, and t is not equal to (n-1), a comparison of magnitude relationship needs to be performed in the subsequent calculation. Step 304 includes the following steps:

[0051] In step 304a, if the t+1th average value is greater than the invalid node data, it is determined that the valid node data corresponding to the i-th node device is not an extreme value.

[0052] After the i-th node device performs the (t+1)th round of joint calculation based on invalid node data (the invalid node data in the embodiment of the present invention is 0), if the (t+1)th average value is greater than the invalid node data, it means that there is valid node data that has "advanced" in the t-th round (i.e., is greater than the t-th average value) in the (t+1)th round calculation process, and to correspond to the first case above, it may be determined that the valid node data of the i-th node device is not an extreme value.

[0053] For example, for data "1, 2, 2, 3," the average value in the first round is 2. In this case, a node device whose valid node data is 2 cannot determine whether there is another node device whose valid node data is greater than 2. The second round performs calculations based on "0, 0, 0, 3" and an average coefficient of 3, and an average value of 1 is obtained, which is greater than the invalid node data of 0. In this case, it may be determined that there is another node device whose valid node data is greater than 2 in the first round. Therefore, the valid node data of 2 is not an extreme value.

[0054] In step 304b, if the t+1th average value is equal to the invalid node data, and t+1 is n-1, it is determined that the valid node data of the i-th node device is an extreme value.

[0055] After the i-th node device performs the (t+1)th round of joint calculation based on the invalid node data, if the (t+1)th average value is equal to the invalid node data and (t+1) is (n-1), that is, it is the last round of calculation, it means that there is no valid node data at the end, that is, it means that the extreme value among the valid node data has already been replaced by the invalid node data, so the valid node data that is equal to the average value in the previous round is an extreme value.

[0056] In step 304c, if the t+1th average value is equal to the invalid node data and t+1 is less than n-1, an extreme value is determined based on the relationship between the invalid node data and the average value obtained by the subsequent joint calculation.

[0057] If the (t+1)th average value is equal to the invalid node data and (t+1) is smaller than (n-1), i.e., the final round of the joint calculation has not been reached, it may be determined that the valid node data equal to the tth average value in the tth round is the maximum value, but in order to ensure the convergence of the calculation, it is necessary to continue calculating the average value until the average coefficient becomes (n-1).

[0058] In another preferred embodiment, when the effective node data of the i-th node device is equal to the t-th average value and t is equal to (n-1), i.e., the last round of calculation, it may be directly determined that the effective node data of the i-th node device is an extreme value, and the node device does not perform joint calculation.

[0059] For example, FIG. 4 is a flow chart of a process for determining the magnitude relationship and extreme values ​​based on average values. The process includes the following steps: In step 401, calculate the t-th average value based on the average coefficient (n+1-t). In step 402, when t=1 or X k ≧M t-1 If the answer is YES, step 403 is executed. If the answer is NO, step 405 is executed. In step 403, X k >M t Or X k ≦M t Determine whether X k >M t If so, execute step 406 and k ≦M t If so, execute step 404. In step 404, determine whether t is n-1. If YES, execute step 408. If NO, execute step 405. In step 405, perform subsequent association calculation based on the invalid node data to obtain X k <Mt If , the following comparison of magnitude is not performed, and X k =M t If t is t, a comparison of magnitude is made based on the invalid node data and the average value. In step 406, it is determined whether t is (n-1), and if YES, step 409 is executed, and if NO, step 407 is executed. In step 407, the (t+1)th round of association calculation is executed based on the valid node data. In step 408, X k =M t If the above is true, step 409 is executed. If the above is true, the node device P k The corresponding valid node data X k In step 409, the node device P k The corresponding valid node data X k is determined to be an extreme value, where t is the number of rounds of federation and M t-1 is the (t-1)th average value obtained by the (t-1)th round of joint calculation, and M t is the t-th average value obtained by the joint calculation in the t-th round, and X k is the valid node data of the kth node device.

[0060] In step 305, after the n-1th round of joint calculation, if the effective node data of the i-th node device is equal to or greater than the n-1th average value, it is determined that the effective node data of the i-th node device is an extreme value.

[0061] For a specific aspect of step 305, refer to step 203 above, and the description thereof will be omitted here.

[0062] In an embodiment of the present invention, the node device compares the magnitude of the valid node data with the t-th average value to determine whether the valid node data is an extreme value; if the valid node data is less than or equal to the t-th average value, it replaces the valid node data with invalid node data to perform subsequent joint calculations; if the valid node data is equal to the t-th average value, it continues to compare the magnitude based on the invalid node data and the subsequent average value, thereby ensuring the convergence of the average value calculation and avoiding overlooking possible extreme values ​​to ensure the reliability of the extreme value calculation.

[0063] In the above embodiment, a process of determining an extreme value based on an average value based on the secret multi-party computation is described. In order to calculate an average value based on the secret multi-party computation, the embodiment of the present invention provides an implementation manner. FIG. 5 is a flowchart of a secret multi-party computation method according to the embodiment of the present invention. In this embodiment, the method is performed by a first node device in a federated computing system. The federated computing system includes n node devices, n is an integer greater than 2, and i is a positive integer equal to or less than n. Here, the first node device is a node device for generating a first random number, and any of the n node devices may be the first node device to calculate the average value. The method includes the following steps:

[0064] In step 501, a first random number is generated.

[0065] After the federation calculation of the current round is started, the first node device first generates a first random number R1, which is a positive number.

[0066] In step 502, the first data sum is transmitted to a second node device.

[0067] The first data sum is the sum of the first random number and the first node data. The second node device calculates a second data sum and transmits the second data sum to the third node device, where the second data sum is the sum of the first data sum and the second node data. Here, the jth node data is valid node data or invalid node data of the jth node device, and j is a positive integer equal to or less than n.

[0068] After generating the first random number R1, the first node equipment P1 transmits the first data sum (R1+X1) to the second node equipment P2. After receiving the first data sum (R1+X1), the second node equipment P2 calculates a second data sum (R1+X1+X2) based on the first data sum (R1+X1) and the second node data X2, and transmits the second data sum (R1+X1+X2) to the third node equipment. In this way, finally, the nth node equipment transmits the nth data sum (R1+X1+X2+...+X n ) to the first node device.

[0069] In step 503, the nth data sum transmitted by the nth node device is received.

[0070] In step 504, the tth average value is determined based on the nth data and the first random number.

[0071] The first node device P1 receives the n-th data sum (R1+X1+X2+...+X n ), the node data sum (R1+X1+X2+…+X n -R1), i.e., obtain the sum of n node data. This completes the summation of n participants, and then determines the tth average value based on the average coefficient (n+1-t).

[0072] Preferably, after calculating the t-th average value, the first node device notifies each of the other node devices of the t-th average value or the total result of the n participants (X1+X2+...+X n) Alternatively, the nth node device may transmit the tth average value or the total result of the nth participants (X1+X2+...+X n ), the first node device receives the t-th average value or the total result of n participants (X1+X2+...+X n ) to the second node device, the second node device may transmit it to the third node device, ..., the (n-1)th node device may transmit it to the nth node device. The embodiment of the present invention is not limited to this.

[0073] The order of transmitting the data sums and the start and end positions may be determined by the n node devices through self-negotiation. To further improve the security of the data, the order may be changed, i.e., the first node device may calculate the average value alternately.

[0074] In step 505, if the valid node data of the i-th node device is greater than the t-th average value, the t+1-th round of association calculation is performed based on the valid node data of the i-th node device.

[0075] In step 506, if the valid node data of the i-th node device is equal to or less than the t-th average value, the t+1-th round of association calculation is performed based on the invalid node data.

[0076] In step 507, after the n-1th round of joint calculation, if the effective node data of the i-th node device is equal to or greater than the n-1th average value, it is determined that the effective node data of the i-th node device is an extreme value.

[0077] For specific aspects of steps 506 to 507, reference may be made to steps 202 to 204 above, and the description thereof will be omitted here.

[0078] In an embodiment of the present invention, a first node device may generate a first random number, send the sum of the first random number and the first node data to a second node device, and the subsequent node devices may sequentially receive the received data sum, add their own data, and send it to the next node device, and finally obtain the sum of n node data based on the received data sum and the first random number. Thus, the average value is calculated. In this process, each node device cannot obtain the data of any other node device, so that the security of the data can be guaranteed and the demand for secret multi-party computation can be met.

[0079] In the above embodiment, the process of calculating the average value when the i-th node device is the first node device has been described. In order to more clearly explain the process, the following steps are specifically performed when obtaining the t-th average value for another j-th node device that is not the first node device.

[0080] In step 1, the j-1th data sum transmitted by the j-1th node device is received. The j-1th data sum is a sum of the first node data through the j-1th node data and a first random number, where j is an integer greater than 1 and less than or equal to n.

[0081] In step 2, the jth data sum is determined based on the j-1th data sum, which is the sum of the j-1th data sum and the jth node data.

[0082] In step 3, if j is not equal to n, the jth data sum is transmitted to the j+1th node equipment, and if j is equal to n, the jth data sum is transmitted to the first node equipment.

[0083] The calculation of the average value in the embodiment of the present invention is realized based on a ring topology, and each node device except the first node device calculates the jth data sum based on the (j-1)th data sum sent by the previous node device, and sends the jth data sum to the next node device, and finally the nth node device sends the nth data sum to the first node device, completing a closed loop of data. Here, the (j-1)th data sum is calculated by summing the first node data to the (j-1)th node data and a first random number, i.e., (R1+X1+X2+...+X j-1 ), and the jth data sum is the sum of the (j-1)th data sum and the jth node data, that is, the sum of the first node data to the jth node data and the first random number (R1+X1+X2+...+X j-1 +X j ).

[0084] For example, FIG. 6 shows a process in which three node devices jointly calculate the average value when determining the extreme value. Participant P1 generates a first random number R1 and sends (R1+X1) to participant P2. After receiving (R1+X1), participant P2 calculates (R1+X1+X2) and sends (R1+X1+X2) to participant P3. After receiving (R1+X1+X2), participant P3 calculates (R1+X1+X2+X3) and sends (R1+X1+X2+X3) to participant P1. After receiving (R1+X1+X2+X3), participant P1 calculates (R1+X1+X2+X3-R1) based on the first random number R1 to obtain the data sum (X1+X2+X3) of the three, and then calculates the average value of the three, that is, (X1+X2+X3) / (n+1-t). where n is 3 and t is the current round number.

[0085] The above embodiment shows a process of calculating an average value based on the secret multi-party computation based on a ring topology. In another preferred embodiment, the average value based on the secret multi-party computation may be calculated among n node devices through a peer-to-peer network (P2P). FIG. 7 is a flowchart of a secret multi-party computation method according to another embodiment of the present invention. In this embodiment, the method is described by taking as an example that the method is executed by the i-th node device in a federated computing system. The federated computing system includes n node devices, where n is an integer greater than 2, and i is a positive integer equal to or less than n. The method includes the following steps:

[0086] In step 701, n-1 random numbers are generated.

[0087] Here, the sum of the (n-1) random numbers is the i-th node data, and the i-th node data is the valid node data or invalid node data of the i-th node device.

[0088] In a P2P network, when calculating the average value, each node device generates (n-1) random numbers. The sum of the n-1 random numbers is the i-th node data, that is, r1+r2+...+r n-1 =X i Here, the i-th node data is valid node data or invalid node data.

[0089] In step 702, n-1 random numbers are transmitted to the other n-1 node devices, respectively. Each node device receives one random number transmitted by the i-th node device.

[0090] The i-th node device transmits (n-1) pieces of node data to the other (n-1) node devices, respectively, so that each node device receives one random number transmitted with the i-th node data.

[0091] In step 703, the random numbers transmitted by each of the other n-1 node devices are received, and the sum of the received n-1 random numbers is calculated as the i-th data sum.

[0092] Since each node device needs to generate (n-1) random numbers and transmit them to each of the other node devices, the i-th node device receives the random numbers transmitted by each of the other (n-1) node devices, that is, a total of (n-1) random numbers.

[0093] After receiving the (n-1) random numbers, the i-th node device calculates the i-th data sum, i.e., adds up the received n-1 random numbers. For example, the first node device calculates the sum of the random numbers transmitted by each of the second node device through the n-th node device to obtain a first data sum.

[0094] In step 704, the i-th data sum is transmitted to the other n-1 node devices.

[0095] After calculating the sum of the i-th data, each node device transmits it to the other (n-1) node devices.

[0096] In step 705, the n-1 data sums transmitted by the other n-1 node devices are received, and the t-th average value is determined based on the received n-1 data sums and the i data.

[0097] Each node device receives the data sums transmitted by the other (n-1) node devices, i.e., a total of (n-1) data sums, adds the (n-1) data sums to the ith data sum calculated by itself to obtain a sum of n node data, and further calculates the tth average value based on the obtained sum of the n node data. This process divides the node data, and each node device obtains a part of each node data and jointly calculates the average value.

[0098] For example, Figure 8 shows a process of calculating an average value based on secret multi-party computation when three participants decide on an extreme value. Participant P1 generates a random number R1,2 and R 1,3 Generate X1=R 1,2 +R 1,3 If the above conditions are met, participants P2 and P3 will receive R 1,2 and R 1,3 Similarly, participant P2 sends a random number R 2,1 and R 2,3 Generate X2=R 2,1 +R 2,3 If the above conditions are met, participants P1 and P3 will receive R 2,1 and R 2,3 Participant P3 sends a random number R 3,1 and R 3,2 Generate X3=R 3,1 +R 3,2 If the above is satisfied, participants P1 and P2 will receive R 3,1 and R 3,2 The participant P1 transmits the first data sum S1=R 2,1 +R 3,1 Participant P2 calculates the second data sum S2=R 1,2 +R 3,2 Participant P3 calculates the third data sum S3=R 2,3 +R 1,3 Participant P1 sends S1 to participants P2 and P3, participant S2 sends S2 to participants P1 and P3, and participant P3 sends S3 to participants P2 and P1. Participants P1, P2, and P3 each calculate the sum of the three numbers, S1+S2+S3=R. 2,1 +R 3,1 +R 1,2 +R 3,2 +R 2,3 +R 1,3 =X1+X2+X3. Then, the three participants may calculate the average value for the t-th round, (X1+X2+X3) / (n+1-t).

[0099] In step 706, if the valid node data of the i-th node device is greater than the t-th average value, the t+1-th round of association calculation is performed based on the valid node data of the i-th node device.

[0100] In step 707, if the valid node data of the i-th node device is equal to or less than the t-th average value, the t+1-th round of association calculation is performed based on the invalid node data.

[0101] In step 708, if the effective node data of the i-th node device is greater than or equal to the n-1-th average value after the n-1-th round of joint calculation, it is determined that the effective node data of the i-th node device is an extreme value.

[0102] For specific aspects of steps 706 to 708, reference may be made to steps 202 to 204 above, and a description thereof will be omitted here.

[0103] In an embodiment of the present invention, each node device divides its own node data into n-1 random numbers, and sends the n-1 random numbers to the other n-1 node devices, and each node device performs summation based on a part of each node data, and finally exchanges the calculated data sums to obtain the average value of the current round. In this process, each node device cannot obtain the complete data of any other node device, so that the security of data is guaranteed and the demand for confidential multi-party computation is met.

[0104] In each of the above embodiments, in the (n-1)th round of federated calculation, there are only two effective node data that actually participate. This may cause the effective node data of the participants to be leaked in the (n-1)th round calculation process (i.e., a participant who has one of the effective node data may calculate the effective node data of the other participant based on the (n-1)th average value). Therefore, in order to further improve the security of the extreme value determination scheme according to the present invention, when comparing the magnitude relationship of the (n-1)th round, instead of using the above-mentioned comparison based on the average value calculation, each node device uses X i n-1 -X1X2...X n Here, X iis the effective node data of the node device, and the product after the minus sign is X i does not contain X i The product of the other (n-1) node data other than X i If is smaller than the average value of the (n-2)th round, the valid node data of the i-th node device is not an extreme value. i is equal to or greater than the average value of the (n-2)th round, and in the (n-1)th round, the above formula X i n-1 -X1X2...X n If the calculation result is equal to or greater than 0, the effective node data of the i-th node device is an extreme value.

[0105] 9 is a flowchart of a secret multi-party computation method according to another embodiment of the present invention. In this embodiment, the method is described by taking as an example that the method is executed by an i-th node device in a federated computing system. The federated computing system includes n node devices, where n is an integer greater than 2, and i is a positive integer less than or equal to n. When t is n-2 and t+1 is n-1, the method includes the following steps:

[0106] In step 901, the t-th average value obtained by the t-th round of joint calculation is obtained.

[0107] The specific aspects of step 901 may refer to step 201 above, and the description thereof will be omitted here.

[0108] In step 902, a second random number is generated. The second random number is a positive number.

[0109] The i-th node device P i To protect data privacy, a positive second random number R 2i Generate.

[0110] In step 903, the second random number is transmitted to the (i+1)th node device.

[0111] The i+1th node device receives the first data product R 2i X i+1 and transmits the first data product to the (i+2)th node device, where the first data product is the product of the second random number and the valid node data of the (i+1)th node device.

[0112] Each node device transmits the calculated data product to the next node device, and the (i-1)th node device transmits the (n-1)th data product R 2i X1X2…X n Each subsequent node device multiplies the received data product by its own effective node data and transmits the calculation result to the next node device until the data product R 2i X1X2…X n does not include the valid node data Xi of the i-th node.

[0113] In step 904, the n-1th data product transmitted by the i-1th node device is received.

[0114] The (n-1)th data product is the product of the valid node data of the n-1 node devices other than the i-th node device among the n node devices and the second random number, that is, R 2i X1X2…X n It is.

[0115] After generating the (n-1)th data product, the (i-1)th node device transmits it to the i-th node device.

[0116] In step 905, a numeric comparison operator is determined based on the (n-1)th data product.

[0117] The numerical comparison operator is the difference between the n-1th power of the valid node data corresponding to the i-th node device and the product of the n-1th data.

[0118] The i-th node device is the (n-1)th data product R 2i X1X2…X n After obtaining the number, divide it by the second random number and use the numeric comparison operator X in-1 -X1X2…X n Calculate the sign of (i.e., greater than zero, equal to zero, or less than zero). When calculating in the integer domain, |X1X2…X n |<n / 2, or |X1X2…X n |<n / 3, and |X i n-1 -X2X3…X n |<n / 2, or |X i n-1 -X2X3…X n | <n / 3 must also be satisfied.

[0119] In step 906, when the numerical comparison operator is 0 or more and the i-th node data in the combined calculation of the (n - 2)-th round is greater than or equal to the (n - 2)-th average value, it is determined that the valid node data corresponding to the i-th node device is an extreme value.

[0120] For example, FIG. 10 shows the process of determining the extreme value of the (n - 1)-th round (i.e., the second round) by three participants. Participant P1 generates the second random number R2, sends R2 to participant P2. Participant P2 calculates R2X2 and sends it to participant P3. Participant P3 receives R2X2, calculates R2X2X3 and sends it to participant P1. Participant P1 receives R2X2X3 and calculates X1 2 -X2X3. Similarly, participants P2 and P3 each execute the above steps to calculate X2 2 -X1X3 and X3 2 -X1X2.

[0121] In the embodiments of the present invention, when determining the extreme value of the (n - 1)-th round, instead of adopting a method based on the calculation of the average value to perform the comparison of the magnitude relationship, the numerical comparison operator is calculated by the multiplication method based on the secure multi-party calculation. When only two valid node data remain, the node device with one valid node data can calculate the other valid node data, and the data security can be further improved.

[0122] The above embodiment illustrates one process of determining the extreme value of the (n-1)th round by multiplication based on the secret multi-party computation. In one preferred embodiment, in the case of three participants, that is, when n=3, there is also another process of determining the extreme value of the (n-1)th round (i.e., the second round). FIG. 11 is a flowchart of the method of determining the extreme value based on the secret multi-party computation according to an embodiment of the present invention. In this embodiment, it is described by taking as an example that the method is executed by the i-th node device in a federated computing system. The federated computing system includes n node devices, where n is an integer greater than 2, and i is a positive integer equal to or less than n. When n is 3 and t+1 is n-1, the method includes the following steps:

[0123] In step 1101, the t-th average value obtained by the t-th round of joint calculation is obtained.

[0124] For a specific aspect of step 1101, reference may be made to step 201 above, and the description thereof will be omitted here.

[0125] In step 1102, a third random number is generated. The third random number is a positive number.

[0126] The second node device generates a third random number R3 to protect data privacy.

[0127] In step 1103, the third random number or the inverse of the third random number is transmitted to the third node equipment, and the first product is transmitted to the first node equipment.

[0128] The first product is the product of the third random number and the valid node data of the second node equipment, the third node equipment calculates a second product and transmits the second product to the first node equipment, the second product is the product of the inverse of the third random number and the valid node data of the third node equipment, the first node equipment receives the first product and the second product and calculates a first numerical comparison operator based on the first product and the second product, the first numerical comparison operator is the difference between the square of the valid node data of the first node equipment and the third product, and the third product is the product of the second node data and the third node data.

[0129] For example, as shown in FIG. 12, the participant P2 generates a third random number R3, transmits R3 or 1 / R3 to the participant P3, generates a first product R3X2 and transmits it to the participant P1, and upon receiving R3 or 1 / R3, the participant P3 generates a second product X3 / R3 and transmits the second product X3 / R3 to the participant P1. In this way, the participant P1 calculates X2X3 based on the first product R3X2 and the second product X3 / R3, and uses the first data comparison operator X1 2 -X2X3 can be calculated.

[0130] In step 1104, the fourth product transmitted by the third node equipment and the fifth product transmitted by the first node equipment are received.

[0131] The third node equipment generates a fourth random number and transmits the fourth random number to the first node equipment, the first node equipment determines a fifth product based on the fourth random number, the fourth product being a product of the valid node data of the third node equipment and the fourth random number, and the fifth product being a product of the inverse of the fourth random number and the valid node data of the first node equipment.

[0132] Similarly, participant P2 is X2 2When it is necessary to calculate -X1X3, a fourth random number R4 is generated by participant P3 (or participant P1), participant P3 calculates the fourth product R4X3 and sends it to participant P2, participant P3 sends the fourth random number R4 or the inverse of the fourth random number 1 / R4 to participant P1, and participant P1 calculates the fifth product X1 / R4 and sends it to participant P2.

[0133] In step 1105, a second numerical comparison operator is calculated based on the fourth product and the fifth product.

[0134] The second numerical comparison operator is the difference between the square of the effective node data of the second node equipment and the sixth product, and the sixth product is the product of the effective node data of the first node equipment and the effective node data of the third node equipment.

[0135] Participant P2 calculates X1X3 based on the fourth product R4X3 and the fifth product X1 / R4, and uses the second numerical comparison operator X2 2 Calculate -X1X3.

[0136] In step 1106, if the second numerical comparison operator is greater than or equal to 0 and the second node data in the n-2th round of association calculation is greater than or equal to the n-2th average value, it is determined that the valid node data corresponding to the second node equipment is an extreme value.

[0137] The second node data is valid node data or invalid node data of the second node device.

[0138] In an embodiment of the present invention, when determining the extreme value of the (n-1)th round, instead of adopting a method based on average value calculation to compare the magnitude relationship, a numerical comparison operator is calculated using a multiplication method based on secret multi-party calculation. Therefore, when there are only two valid node data remaining, a node device having one valid node data can calculate another valid node data, thereby further improving data security.

[0139] Although the above example illustrates a process in which three participants determine the extreme value, in practice, if the number of participants is odd, the method may be used to determine the extreme value of the (n-1)th round.

[0140] In addition, X i n-1 -X1X2...X n In addition to computing, the node device can also compute other forms of expressions, e.g., X i 2n-2 -X1 2 X2 2 …X n 2 where the product after the minus sign is X i 2 does not include X i The product of the squares of the other (n-1) node data other than . The calculation formula used by the node device is not limited to this in the embodiment of the present invention.

[0141] In one preferred embodiment, when the number of participants is large, the node devices may be divided into layers, and the calculation of the next layer may be performed after each layer has completed the calculation of the extreme value. This can reduce communication overhead and the time required for determining the extreme value. For example, when n is 5, the participants may be divided into three groups in one layer, namely, P1, P2, P3, P4, and P5. When n is 7, the participants may be divided into three groups in one layer, namely, P1, P2, P3, P3, P4, and P6. That is, one participant may appear in multiple groups, and each group may be composed of one node device or at least three node devices. When n is large, the participants may be divided into groups in multiple layers.

[0142] Before calculating the average value, the method for determining extreme values ​​based on private multi-party computation further includes the following steps:

[0143] In step 4, if n is greater than 3, the grouping scheme divides the n node devices into at least one tier device group, where each tier device group includes at least three upper tier device groups, and each device group in the first tier device group is composed of one node device or at least three node devices.

[0144] For example, if N is 27, the first tier contains 9 device groups, each of which contains 3 participants, i.e., G1={P1P2P3}, G2={P4P5P6}, …, G9={P 25 P 26 P 27}, where the second layer divides the nine groups of the first layer into three groups, and each second layer group contains three first layer groups, namely {G1G2G3}, {G4G5G6}, and {G7G8G9}.

[0145] In step 5, if the effective node data of the i-th node device is an extreme value of the group to which the i-th node device is to join in the device group of the m-th layer, a federation calculation is performed between the device groups of the m+1-th layer based on the effective node data of the i-th node device, where m is a positive integer.

[0146] When at least one owner of an extreme value is determined from the group in the lower layer, a representative of the group is selected from among them, and the extreme value between the groups in the next layer (i.e., the upper layer) is determined. Here, when at least two participants have an extreme value, one participant may be selected based on whether each participant has a margin of computational resources, whether network communication is strong, reliability and security, computational complexity, etc., or may be selected randomly, but the embodiment of the present invention is not limited thereto.

[0147] As shown in FIG. 13, if in a first equipment group consisting of participants P1, P2, and P3, participant P1 is determined to have an extreme value, in a second equipment group consisting of participants P4, P5, and P6, participant P4 is determined to have an extreme value, and in a third equipment group consisting of participants P7, P8, and P9, participant P7 is determined to have an extreme value, participants P1, P4, and P7 make the next tier of inter-group extreme value determinations.

[0148] In step 6, if the effective node data of the i-th node equipment is an extreme value of each effective equipment node in the equipment group of the last layer, it is determined that the effective node data of the i-th node equipment is an extreme value of the n effective node data of the n node equipments.

[0149] After performing the extremum of the last layer and completing the joint calculation of the final round, if the effective node data of the i-th node equipment is an extremum, it is determined that the effective node data of the i-th node equipment is an extremum among the n effective node data of the n node equipments.

[0150] In the embodiment of the present invention, when the number of node devices is large, the extreme values ​​within the groups may be determined by grouping, and then the extreme values ​​between the groups may be determined, thereby performing multi-layer grouping, which can reduce communication overhead, reduce the complexity of calculation, and improve the efficiency of determining the extreme values.

[0151] The above embodiments have shown a method for determining an extreme value based on the secret multi-party computation. Here, the extreme value may be a maximum value or a minimum value. When determining the maximum value, the maximum values ​​are compared according to the above steps to obtain the maximum value. When determining the minimum value, each node device first performs a reciprocal acquisition operation on the local original valid node data, and performs an extreme value comparison using the reciprocal as the valid node data, and the maximum value of the reciprocal is obtained, and then performs reciprocal acquisition to determine the minimum value. FIG. 14 is a flowchart of a secret multi-party computation method according to another embodiment of the present invention. In this embodiment, the method is described by taking as an example that the method is executed by the i-th node device in a federated computing system. The federated computing system includes n node devices, n is an integer greater than 2, and i is a positive integer equal to or less than n. When n is 3 and t+1 is n-1, the method includes the following steps:

[0152] In step 1401, in response to a maximum value calculation command, the original valid node data of the i-th node device is determined as the valid node data of the i-th node device.

[0153] In step 1402, in response to the minimum value calculation command, the inverse of the original valid node data of the i-th node device is determined as the valid node data of the i-th node device.

[0154] When it is necessary to determine the maximum value from the data of n node devices, the node device may determine the original effective node data as the effective node data to perform subsequent joint calculations. When it is necessary to determine the minimum value from the data of n node devices, the above process determines the extreme value by gradually excluding data smaller than the average value, so that the node device determines the inverse number of the original effective node data as the effective node data to perform subsequent joint calculations, and realizes the determination of the minimum value by determining the maximum value of the inverse numbers.

[0155] In step 1403, the t-th average value obtained by the t-th round of joint calculation is obtained.

[0156] In step 1404, if the valid node data of the i-th node device is greater than the t-th average value, the t+1-th round of association calculation is performed based on the valid node data of the i-th node device.

[0157] In step 1405, if the valid node data of the i-th node device is equal to or less than the t-th average value, the t+1-th round of association calculation is performed based on the invalid node data.

[0158] For specific aspects of steps 1403 to 1405, reference may be made to steps 201 to 203 above, and the description thereof will be omitted here.

[0159] In step 1406, if the effective node data of the i-th node device is equal to or greater than the n-1-th average value after the n-1-th round of association calculation, it is determined that the original effective node data of the i-th node device is the maximum value.

[0160] After the (n-1)th round of the association calculation (i.e., the final round of the association calculation), the effective node data of the i-th node device is equal to or greater than the (n-1)th average value, and the effective node data is the maximum value among the n effective node data. Since the effective node data is the original effective node data itself, it is determined that the original effective node data of the i-th node device is the maximum value.

[0161] In step 1407, after the n-1th round of association calculation, if the effective node data of the i-th node device is equal to or greater than the n-1th average value, it is determined that the original effective node data of the i-th node device is the minimum value.

[0162] After the (n-1)th round of joint calculation, the valid node data of the i-th node device is equal to or greater than the (n-1)th average value, and the valid node data is the maximum value among the n valid node data. Since the valid node data is the inverse number of the original valid node data, it is determined that the original valid node data of the i-th node device is the minimum value.

[0163] In the embodiment of the present invention, when determining the minimum value, a reciprocal calculation is performed on the original effective node data, and a process of determining the pole number based on the secret multi-party calculation is performed based on the reciprocal, so that the maximum value of the reciprocals can be determined, that is, the minimum value of the original effective node data can be obtained. When determining the maximum value, a federated calculation is directly performed based on the original effective node data. Therefore, the scheme of the present invention can meet the demand for determining the maximum value and the demand for determining the minimum value.

[0164] 15 is a block diagram showing a configuration of an extremum determination device based on secure multi-party computation according to an embodiment of the present invention. The device includes the following components.

[0165] The first acquisition module 1501 acquires the t-th average value obtained by the t-th round of federation calculation, where the t-th average value is calculated based on n node data of n node devices and an average coefficient, where the n node data includes m valid node data, the average coefficient decreases with an increase in the number of rounds of federation calculation, where t is a positive integer smaller than n-1, and m is a positive integer equal to or smaller than n.

[0166] If the valid node data of the i-th node device is greater than the t-th average value, the first calculation module 1502 performs the t+1-th round of joint calculation based on the valid node data of the i-th node device.

[0167] If the valid node data of the i-th node device is less than or equal to the t-th average value, the second calculation module 1503 performs the (t+1)th round of association calculation based on the invalid node data.

[0168] The first determination module 1504 determines that the effective node data of the i-th node device is an extreme value if the effective node data of the i-th node device is greater than or equal to the n-1-th average value after the n-1-th round of joint calculation.

[0169] Preferably, the second calculation module 1503 includes the following units:

[0170] If the valid node data of the i-th node equipment is smaller than the t-th average value, the first calculation unit performs the t+1-th round of joint calculation based on the invalid node data, and determines that the valid node data corresponding to the i-th node equipment is not an extreme value.

[0171] When the valid node data of the i-th node device is equal to the t-th average value, the second calculation unit performs the t+1-th round of joint calculation based on the invalid node data, and determines an extreme value based on the relationship between the t+1-th average value and the invalid node data.

[0172] Preferably, the second calculation unit determines that the valid node data corresponding to the i-th node equipment is not an extreme value if the t+1th average value is greater than the invalid node data, determines that the valid node data of the i-th node equipment is an extreme value if the t+1th average value is equal to the invalid node data and t+1 is n-1, and determines an extreme value based on the relationship between the invalid node data and the average value obtained by subsequent joint calculation if the t+1th average value is equal to the invalid node data and t+1 is less than n-1.

[0173] Preferably, the i-th node device is the first node device. The first acquisition module 1501 includes the following units.

[0174] The first generating unit generates a first random number.

[0175] The first transmission unit calculates a sum of the first node data and the first random number as a first data sum and transmits the first data sum to a second node device. The second node device calculates a second data sum and transmits the second data sum to a third node device, where the second data sum is the sum of the first data sum and the second node data, where the jth node data is valid node data or invalid node data of the jth node device, and j is a positive integer equal to or less than n.

[0176] The first receiving unit receives the n-th data sum transmitted by the n-th node device. The n-th data sum is the sum of n pieces of node data and the first random number.

[0177] A first determination unit determines the t-th average value based on the n-th data and the first random number.

[0178] Preferably, the first acquisition module 1501 further includes the following units:

[0179] The second receiving unit receives the j-1th data sum transmitted by the j-1th node device, the j-1th data sum being a sum of the first node data through the j-1th node data and the first random number, where j is an integer greater than 1 and less than or equal to n.

[0180] The second determination unit determines a j-th data sum based on the j-1-th data sum, the j-th data sum being the sum of the j-1-th data sum and the j-th node data.

[0181] The second transmitting unit transmits the jth data sum to the j+1th node device when j is not equal to n, and transmits the jth data sum to the first node device when j is equal to n.

[0182] Preferably, the first acquisition module 1501 includes the following parts:

[0183] The second generating unit generates n-1 random numbers. The sum of the n-1 random numbers is the i-th node data, and the i-th node data is valid node data or invalid node data of the i-th node device.

[0184] The third transmission unit transmits the n-1 random numbers to the other n-1 node devices, respectively. Each node device receives the one random number transmitted by the i-th node device.

[0185] The third receiver receives the random numbers transmitted by the other n-1 node devices, and calculates the sum of the received n-1 random numbers as the i-th data sum.

[0186] The fourth transmitting unit transmits the i-th data sum to each of the other n-1 node devices.

[0187] The fourth receiver receives the sums of the n-1 pieces of data transmitted by the other n-1 node devices, and determines the t-th average value based on the received sums of the n-1 pieces of data and the i-th data.

[0188] Preferably, t+1 is n-1. The apparatus further comprises the following modules:

[0189] The first generation module generates a second random number, the second random number being a positive number.

[0190] The first transmission module transmits the second random number to the i+1th node device, which calculates a first data product and transmits the first data product to the i+2th node device, where the first data product is a product of the second random number and valid node data of the i+1th node device.

[0191] The first receiving module receives the (n-1)th data product transmitted by the (i-1)th node device, the (n-1)th data product being a product of valid node data of n-1 node devices other than the (i)th node device among the n node devices and the second random number.

[0192] A second determination module determines a numerical comparison operator based on a difference between the n-1th power of the valid node data of the i-th node device and the n-1th data product.

[0193] The third determination module determines that the valid node data corresponding to the i-th node device is an extreme value when the numerical comparison operator is greater than or equal to 0 and the i-th node data in the n-2-th round of federated calculation is greater than or equal to the n-2-th average value, and the i-th node data is valid node data or invalid node data.

[0194] Preferably, n is 3, t+1 is 2, and the i-th node equipment is a second node equipment. The apparatus further includes the following modules:

[0195] The second generation module generates a third random number, the third random number being a positive number.

[0196] The second transmission module transmits the third random number or an inverse of the third random number to a third node equipment and transmits a first product to the first node equipment, the first product being a product of the third random number and valid node data of the second node equipment, the third node equipment calculates a second product and transmits the second product to the first node equipment, the second product being a product of the inverse of the third random number and valid node data of the third node equipment, the first node equipment receives the first product and the second product and calculates a first numerical comparison operator based on the first product and the second product, the first numerical comparison operator being a difference between a square of the valid node data of the first node equipment and the third product, and the third product being a product of the second node data and the third node data.

[0197] Preferably, the apparatus further comprises the following modules:

[0198] A second receiving module receives the fourth product transmitted by the third node equipment and the fifth product transmitted by the first node equipment, the third node equipment generates a fourth random number and transmits the fourth random number to the first node equipment, the first node equipment determines the fifth product based on the fourth random number, the fourth product being a product of effective node data of the third node equipment and the fourth random number, and the fifth product being a product of an inverse of the fourth random number and effective node data of the first node equipment.

[0199] A third calculation module calculates a second numerical comparison operator based on the fourth product and the fifth product, the second numerical comparison operator being a difference between a square of the effective node data of the second node device and a sixth product, and the sixth product being a product of the effective node data of the first node device and the effective node data of the third node device.

[0200] The fourth determination module determines that the valid node data corresponding to the second node device is an extreme value when the second numerical comparison operator is equal to or greater than 0 and the second node data in the n-2th round of federated calculation is equal to or greater than the n-2th average value, and the second node data is the valid node data or the invalid node data of the second node device.

[0201] Preferably, the apparatus further comprises the following modules:

[0202] The grouping module divides the n node devices into at least one tier device groups in a grouping manner when n is greater than 3. Each tier device group includes at least three upper tier device groups, and each device group in the first tier device group is composed of one node device or at least three node devices.

[0203] A fourth calculation module performs association calculation between device groups of the m+1th layer based on the effective node data of the i-th node device when the effective node data of the i-th node device is an extreme value of a group to which the i-th node device is to join in a device group of the m-th layer, where m is a positive integer.

[0204] A fifth determination module determines that if the effective node data of the i-th node equipment is an extreme value of the n effective node data of the n node equipments, the effective node data of the i-th node equipment is an extreme value of each effective equipment node in the equipment group of the last layer.

[0205] Preferably, the apparatus further comprises the following modules:

[0206] The sixth determination module, in response to the maximum value calculation command, determines the original valid node data of the i-th node device as the valid node data of the i-th node device.

[0207] The first determining module 1504 further includes a third determining unit.

[0208] The third determination unit determines that the original valid node data of the i-th node device is the maximum value if the valid node data of the i-th node device is greater than or equal to the n-1-th average value after the n-1-th round of joint calculation.

[0209] Preferably, the apparatus further comprises the following modules:

[0210] The seventh determination module, in response to the minimum value calculation command, determines the inverse of the original valid node data of the i-th node device as the valid node data of the i-th node device.

[0211] The first determining module 1504 further includes a fourth determining unit.

[0212] The fourth determination unit determines that the original valid node data of the i-th node device is the minimum value if the valid node data of the i-th node device is greater than or equal to the n-1-th average value after the n-1-th round of joint calculation.

[0213] From the above, in the embodiment of the present invention, the average value of data corresponding to n node devices is calculated, and each node device compares its own data with the magnitude of the average value of the federated calculation in the current round, and if its own data is smaller than the average value, it determines that its own data is not an extreme value, and if it is equal to or greater than the average value, it can replace the valid node data with the invalid node data and perform the average value calculation in the next round. In this way, the average value of the federated calculation can be converged, that is, gradually approached to the extreme value, so that the result can be obtained at the time of the n-1th round, and the problem of determining the extreme value based on the confidential multi-party calculation can be effectively solved. In addition, the node device does not need to leak the private data and the magnitude relationship between each data, and the method of calculating the average value based on the confidential multi-party calculation is not related to the operation of encryption and decryption, and the calculation complexity and communication overhead are relatively small, and the calculation efficiency can be improved.

[0214] FIG. 16 is a block diagram showing the configuration of a computer device according to an embodiment of the present invention.

[0215] The computing device 1600 includes a central processing unit (CPU) 1601, a system memory 1604 including a random access memory (RAM) 1602 and a read only memory (ROM) 1603, and a system bus 1605 coupled to the system memory 1604 and the central processing unit 1601. The computing device 1600 further includes a basic input / output (I / O) controller 1606 that supports the transfer of information between various devices within the computer, and a mass storage device 1607 for storing an operating system 1613, application programs 1614 and other program modules 1615.

[0216] The basic input / output controller 1606 includes a display 1608 for displaying information, and input devices 1609, such as a mouse, keyboard, or the like, for a user to input information. Here, the display 1608 and the input devices 1609 are both connected to the central processing unit 1601 via an input / output controller 1610, which is connected to the system bus 1605. The basic input / output controller 1606 may further include an input / output controller 1610 for accepting and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 1610 may further provide output to a display, printer, or other type of output device.

[0217] The mass storage device 1607 is connected to the central processing unit 1601 through a mass storage controller (not shown) that is connected to the system bus 1605. The mass storage device 1607 and associated computer readable media provide non-volatile storage for the computing device 1600. That is, the mass storage device 1607 may include a computer readable medium (not shown), such as a hard disk or a Compact Disc Read-Only Memory (CD-ROM) drive.

[0218] Without loss of generality, computer readable media may include computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes RAM, ROM, Erasable Programmable Read Only Memory (EPROM), Flash memory or other solid state storage, CD-ROM, Digital Video Disc (DVD) or other optical storage, cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices. However, those skilled in the art will appreciate that computer storage media is not limited to the above. The above-mentioned system memory 1604 and mass storage device 1607 may be collectively referred to as memory.

[0219] According to various embodiments of the present invention, the computing device 1600 can also operate with a remote computer connected to a network such as the Internet via a network, i.e., the computing device 1600 can be connected to a network 1612 via a network interface unit 1611 connected to the system bus 1605, or the computing device 1600 can be connected to another type of network or remote computer system (not shown) using the network interface unit 1611.

[0220] The memory stores at least one instruction, at least one program, code set, or instruction set, which is executed by one or more processors to implement the method for determining extremum based on private multi-party computation according to each of the above embodiments.

[0221] An embodiment of the present invention further provides a computer-readable storage medium having at least one instruction stored thereon, the at least one instruction being loaded and executed by a processor to implement the method for determining extremum based on private multi-party computation according to each of the above embodiments.

[0222] In one aspect of the present invention, there is provided a computer program product or computer program comprising computer instructions stored in a computer readable storage medium, the computer instructions being read and executed by a processor of the computing device to cause the computing device to perform the method for determining extremums based on private multi-party computation according to the above aspect.

[0223] Those skilled in the art will recognize that the functions described in the embodiments of the present invention in one or more examples above may be implemented in hardware, software, firmware, or any combination thereof. If a software implementation is used, the functions may be stored on or transmitted as one or more instructions or code on a computer-readable storage medium. Computer-readable storage media include computer storage media and communication media, and communication media include any medium that facilitates transfer of a computer program from one place to another. Storage media may be any available medium accessible by a general purpose or special purpose computer.

[0224] The above is merely a preferred embodiment of the present invention, and is not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.

Claims

1. A method for determining an extremum based on secret multi-party computation, executed by an i-th node device in a federated computing system, the federated computing system including n node devices, n being an integer greater than 2, and i being a positive integer equal to or less than n, the method comprising: A step of acquiring a t-th average value obtained by a t-th round of federation calculation, the t-th average value being calculated based on n node data of the n node devices and an average coefficient, the n node data including m valid node data, the average coefficient decreasing as the number of rounds of federation calculation increases, t being a positive integer smaller than n-1, and m being a positive integer equal to or smaller than n; When the valid node data of the i node device is greater than the t-th average value, performing a t+1-th round of association calculation based on the valid node data of the i node device, and when the valid node data of the i node device is equal to or less than the t-th average value, performing a t+1-th round of association calculation based on the invalid node data; and determining that the effective node data of the i node device is an extreme value if the effective node data of the i node device is greater than or equal to the n-1 average value after the n-1th round of joint calculations.

2. When the valid node data of the i node device is equal to or less than the t-th average value, the step of performing the t+1-th round of joint calculation based on the invalid node data includes: When the valid node data of the i node device is smaller than the t-th average value, performing a (t+1)th round of joint calculation based on the invalid node data, and determining that the valid node data corresponding to the i node device is not an extreme value; 2. The method of claim 1, further comprising: if the valid node data of the i node device is equal to the tth average value, performing a t+1th round of joint calculation based on the invalid node data, and determining an extreme value based on a relationship between the t+1th average value and the invalid node data.

3. The step of determining an extreme value based on a relationship between the t+1th average value and the invalid node data includes: determining that the valid node data corresponding to the i node device is not an extreme value if the t+1th average value is greater than the invalid node data; determining that the valid node data of the i node device is an extreme value when the t+1th average value is equal to the invalid node data and t+1 is n-1; and if the t+1th average value is equal to the invalid node data and t+1 is less than n-1, determining an extreme value based on a relationship between the invalid node data and an average value obtained by a subsequent joint calculation.

4. the i-th node device is a first node device, The step of obtaining the t-th average value obtained by the joint calculation of the t-th round includes: generating a first random number; a step of calculating a sum of first node data and the first random number as a first data sum and transmitting the first data sum to a second node device, the second node device calculating a second data sum and transmitting the second data sum to a third node device, the second data sum being the sum of the first data sum and the second node data; receiving an n-th data sum transmitted by an n-th node device, the n-th data sum being a sum of n pieces of node data and the first random number; and determining the tth average value based on the nth data sum and the first random number.

5. receiving a j-1-th data sum transmitted by a j-1-th node device, the j-1-th data sum being a sum of a first node data through a j-1-th node data and the first random number, where j is an integer greater than 1 and less than or equal to n; a step of determining a jth data sum based on the j-1th data sum, the jth data sum being a sum of the j-1th data sum and a jth node data, the jth node data being valid node data or invalid node data of the jth node device; 5. The method of claim 4, further comprising the steps of: transmitting the jth data sum to a j+1th node equipment when j is not equal to n; and transmitting the jth data sum to the first node equipment when j is equal to n.

6. The step of obtaining the t-th average value obtained by the joint calculation of the t-th round includes: A step of generating n-1 random numbers, the sum of the n-1 random numbers being the i-th node data, the i-th node data being valid node data or invalid node data of the i-th node device; a step of transmitting the n-1 random numbers to other n-1 node devices, each of the node devices receiving one random number transmitted by the i-th node device; receiving random numbers transmitted by the other n-1 node devices, and calculating a sum of the received n-1 random numbers as an i-th data sum; transmitting the i-th data sum to each of the other n-1 node devices; A method according to any one of claims 1 to 3, comprising a step of receiving n-1 data sums transmitted by the other n-1 node devices, and determining the t-th average value based on the received n-1 data sums and the i data sum.

7. t+1 is n-1, and after obtaining the t-th average value obtained by the joint calculation of the t-th round, the method includes: generating a second random number, the second random number being a positive number; a step of transmitting the second random number to an i+1th node device, the i+1th node device calculating a first data product and transmitting the first data product to an i+2th node device, the first data product being a product of the second random number and a valid node data of the i+1th node device; receiving an (n-1)th data product transmitted by an (i-1)th node device, the (n-1)th data product being a product of valid node data of n-1 node devices other than the i-th node device among the n node devices and the second random number; determining a numerical comparison operator based on a difference between the n-1th power of the valid node data of the i node device and the n-1th data product; A method according to any one of claims 1 to 3, further comprising a step of determining that the valid node data corresponding to the i-th node equipment is an extreme value when the numerical comparison operator is greater than or equal to 0 and the i-th node data in the n-2-th round of federated calculation is greater than or equal to the n-2-th average value, wherein the i-th node data is valid node data or invalid node data.

8. n is 3, t+1 is 2, the i-th node device is a second node device, and after obtaining the t-th average value obtained by the t-th round of joint calculation, the method includes: generating a third random number, the third random number being a positive number; 4. The method of claim 1, further comprising the steps of: transmitting the third random number or an inverse of the third random number to a third node device and transmitting a first product to a first node device, wherein the first product is a product of the third random number and valid node data of a second node device; the third node device calculating a second product and transmitting the second product to the first node device, wherein the second product is a product of the inverse of the third random number and valid node data of a third node device; the first node device receiving the first product and the second product and calculating a first numerical comparison operator based on the first product and the second product, wherein the first numerical comparison operator is a difference between a square of the valid node data of the first node device and a third product, and the third product is a product of the second node data and the third node data.

9. receiving a fourth product transmitted by the third node equipment and a fifth product transmitted by the first node equipment, wherein the third node equipment generates a fourth random number and transmits the fourth random number to the first node equipment, and the first node equipment determines the fifth product based on the fourth random number, the fourth product being a product of valid node data of the third node equipment and the fourth random number, and the fifth product being a product of an inverse of the fourth random number and valid node data of the first node equipment; a step of calculating a second numerical comparison operator based on the fourth product and the fifth product, the second numerical comparison operator being a difference between a square of the effective node data of the second node device and a sixth product, and the sixth product being a product of the effective node data of the first node device and the effective node data of the third node device; 9. The method of claim 8, further comprising: if the second numerical comparison operator is greater than or equal to 0 and the second node data in the n-2th round of federated calculation is greater than or equal to the n-2th average value, determining that the valid node data corresponding to the second node equipment is an extreme value, wherein the second node data is the valid node data of the second node equipment or the invalid node data.

10. If n is greater than 3, dividing the n node devices into at least one tier of device groups in a grouping manner, where each tier of device groups includes at least three upper tier device groups, and each device group in the first tier of device groups is composed of one node device or at least three node devices; When the effective node data of the i-th node device is an extreme value of a group to which the i-th node device is to join in an m-th layer device group, performing a federation calculation between device groups of the m+1-th layer based on the effective node data of the i-th node device, where m is a positive integer; 4. The method of claim 1, further comprising: if the effective node data of the i node equipment is an extreme value of each effective equipment node in the last tier equipment group, determining that the effective node data of the i node equipment is an extreme value of n effective node data of n node equipment.

11. Before obtaining the t-th average value obtained by the t-th round of joint calculation, the method further comprises: In response to a maximum value calculation command, determining the original valid node data of the i-th node device as the valid node data of the i-th node device, When the effective node data of the i node device is equal to or greater than the n-1th average value after the n-1th round of joint calculation, the step of determining that the effective node data of the i node device is an extreme value includes: A method according to any one of claims 1 to 3, comprising a step of determining that the original effective node data of the i node device is a maximum value if the effective node data of the i node device is greater than or equal to the n-1th average value after the n-1th round of federated calculations.

12. Before obtaining the t-th average value obtained by the t-th round of joint calculation, the method further comprises: In response to a minimum value calculation command, the method further includes a step of determining an inverse number of the original valid node data of the i node device as the valid node data of the i node device; When the effective node data of the i node device is equal to or greater than the n-1th average value after the n-1th round of joint calculation, the step of determining that the effective node data of the i node device is an extreme value includes: A method according to any one of claims 1 to 3, comprising a step of determining that the original valid node data of the i node device is the minimum value if the valid node data of the i node device is greater than or equal to the n-1th average value after the n-1th round of federated calculation.

13. An apparatus for determining an extreme value based on private multi-party computation, comprising: A first acquisition module that acquires a t-th average value obtained by a t-th round of federated calculation, the t-th average value being calculated based on n node data of n node devices and an average coefficient, the n node data including m valid node data, the average coefficient decreasing as the number of rounds of federated calculation increases, t being a positive integer smaller than n-1, and m being a positive integer equal to or smaller than n; a first calculation module that performs a (t+1)th round of joint calculation based on the valid node data of the i-th node device when the valid node data of the i-th node device is greater than the t-th average value; a second calculation module that performs a (t+1)th round of joint calculation based on invalid node data when the valid node data of the i node device is equal to or less than the tth average value; a first determination module that determines that the effective node data of the i node device is an extreme value if the effective node data of the i node device is greater than or equal to the n-1th average value after the n-1th round of joint calculations.

14. 4. A computing device comprising: a processor; and a memory having stored therein at least one instruction, at least one program, code set, or instruction set, the at least one instruction, the at least one program, code set, or instruction set being loaded and executed by the processor to implement a method for determining extremum values ​​based on private multi-party computation according to any one of claims 1 to 3.

15. 4. A computer program comprising instructions, the instructions causing the computer to implement the method for determining extremums based on private multi-party computation according to claim 1, when executed on a computer.

Citation Information

Patent Citations

  • Secure computation system, secure computation device, secure computation method, and program

    WO2018008543A1

  • Secure aggregate maximum value system, secure aggregate minimum value system, secure computation device, secure aggregate maximum value method, secure aggregate minimum value method, and program

    WO2019208485A1

  • Secret aggregate function calculation system, secret calculation device, secret aggregate function calculation method, and program

    WO2019225401A1

  • Information processing device, secret calculation method, and program

    WO2020075273A1

  • Secret maximum value calculation device, method, and program

    WO2021144973A1