Verification method and device in secure multi-party computation

By determining the uniform distribution of intermediate data in secure multi-party computation, the problem of low verification efficiency and error susceptibility in existing technologies is solved, achieving efficient and accurate data security verification and preventing the leakage and tampering of privacy data.

CN116318812BActive Publication Date: 2026-03-27ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-29
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In existing technologies, secure multi-party computation verification is inefficient and prone to errors, making it difficult to effectively prevent the leakage and tampering of privacy data.

Method used

By determining whether the intermediate data exchanged between parties during a secure multi-party computation process conforms to a uniform distribution, a uniform distribution verification method is used to quickly verify the data, preventing the leakage and tampering of privacy data.

Benefits of technology

It improves the verification efficiency and accuracy of secure multi-party computation, enabling rapid identification and prevention of malicious tampering, and ensuring data security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116318812B_ABST
    Figure CN116318812B_ABST
Patent Text Reader

Abstract

The embodiment of the present specification provides a verification method and device in secure multi-party computation, the secure multi-party computation is executed by a first party and a second party, the method is executed by the first party, comprising: obtaining first intermediate data obtained by itself in the process of executing the secure multi-party computation, the first intermediate data is data to be sent to the second party; judging whether the first intermediate data conforms to uniform distribution; if it is judged that the first intermediate data does not conform to uniform distribution, determining that the verification result of the first intermediate data is unsafe. The verification efficiency and accuracy can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] One or more embodiments of the present specification relate to the field of computers, and in particular, to a verification method and device in secure multi-party computation. BACKGROUND

[0002] Secure multi-party computation (MPC) is also known as multi-party secure computation, which means that multiple parties jointly compute the result of a function without leaking the input data of each party of the function. The result of the computation is disclosed to one or more parties. The input data of each party is usually private data and cannot be transmitted externally.

[0003] Currently, secure multi-party computation has many specific applications, which can be referred to as MPC implementation, which is coded as a program according to the MPC algorithm. Generally, people usually only focus on the security of the algorithm of secure multi-party computation, and rarely pay attention to the security of the implementation, that is, whether the MPC algorithm is tampered with during the execution of secure multi-party computation. If it is tampered with, it is not secure and easy to leak private data. In the prior art, artificial verification of the program is often used, which has the disadvantages of slow verification speed and easy errors.

[0004] Therefore, it is desirable to have an improved solution that can improve the verification efficiency and accuracy. SUMMARY

[0005] One or more embodiments of the present specification describe a verification method and device in secure multi-party computation, which can improve the verification efficiency and accuracy.

[0006] In a first aspect, a verification method in secure multi-party computation is provided, the secure multi-party computation being jointly executed by a first party and a second party, and the method being executed by the first party, comprising:

[0007] obtaining first intermediate data obtained by itself during execution of the secure multi-party computation, the first intermediate data being data to be sent to the second party;

[0008] determining whether the first intermediate data conforms to a uniform distribution;

[0009] if it is determined that the first intermediate data does not conform to the uniform distribution, determining that the verification result of the first intermediate data is unsafe.

[0010] In one possible implementation, the method further comprises:

[0011] if it is determined that the first intermediate data conforms to the uniform distribution, sending the first intermediate data to the second party.

[0012] In one possible implementation, the method further comprises:

[0013] If it is judged that the first intermediate data does not conform to the uniform distribution, sending notification information to the second party, the notification information is used to alarm and terminate the secure multi-party computation.

[0014] In a possible implementation, the first intermediate data obtained in the execution of the secure multi-party computation process includes:

[0015] The first intermediate data in the communication data is obtained by monitoring the communication data between the first party and the second party.

[0016] In a possible implementation, the judging whether the first intermediate data conforms to the uniform distribution includes:

[0017] According to the binary data corresponding to the first intermediate data, target data is obtained;

[0018] It is judged whether the occurrence proportion of 0 or 1 in the target data satisfies a preset value range;

[0019] If it is judged that the preset value range is satisfied, it is determined that the first intermediate data conforms to the uniform distribution.

[0020] If it is judged that the preset value range is not satisfied, it is determined that the first intermediate data does not conform to the uniform distribution.

[0021] Further, the target data includes:

[0022] According to a preset strategy, the binary data is sampled, and the data sampled is taken as the target data.

[0023] Further, the sampling of the binary data according to the preset strategy includes: sampling the data of each odd bit in the binary data; or,

[0024] sampling the data of each even bit in the binary data; or,

[0025] sampling the data of a plurality of continuous bits in the binary data.

[0026] Further, the lower limit of the preset value range is 0.5 minus a first threshold, and the upper limit of the preset value range is 0.5 plus a second threshold.

[0027] In a possible implementation, the judging whether the first intermediate data conforms to the uniform distribution includes:

[0028] According to the binary data corresponding to the first intermediate data, target data is obtained;

[0029] The target data is sent to the server so that the server can determine the presence of 0 or 1 in the target data.

[0030] The proportion is used to determine whether the first intermediate data conforms to a uniform distribution;

[0031] The server receives a determination result regarding whether the first intermediate data conforms to a uniform distribution.

[0032] 5. In a second aspect, a verification device is provided for secure multi-party computation, wherein the secure multi-party computation is performed by a first party and...

[0033] The device is disposed in the first party and jointly executed by the second party, including:

[0034] The acquisition unit is used to acquire the first intermediate data it obtains during the execution of the secure multi-party computation.

[0035] The first intermediate data is the data to be sent to the second party;

[0036] A judgment unit is used to determine whether the first intermediate data acquired by the acquisition unit conforms to a uniform distribution.

[0037] A determination unit is configured to determine that the verification result of the first intermediate data is insecure if the judgment unit determines that the first intermediate data does not conform to a uniform distribution.

[0038] Thirdly, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed in a computer, causes the computer to perform the method of the first aspect.

[0039] Fourthly, a computing device is provided, including a memory and a processor, wherein the memory stores executable code, and the processor executes the executable code to implement the method of the first aspect.

[0040] By the method and device provided by the embodiments of the present specification, first, the first party obtains the first intermediate data obtained in the execution of the secure multi-party computation process, the first intermediate data being data to be sent to the second party; then it is judged whether the first intermediate data conforms to uniform distribution; finally, if it is judged that the first intermediate data does not conform to uniform distribution, it is determined that the check result of the first intermediate data is unsafe. As can be seen from the above, the embodiments of the present specification do not check the program corresponding to the secure multi-party computation, but check the data to be interacted between parties. It can be understood that the data to be interacted between parties should not carry any information that can infer the original data, so as to prevent other parties except the private data holder from inferring the private data. Therefore, by judging whether the data to be interacted conforms to uniform distribution, it can be determined whether the data to be interacted is safe, and accordingly, it can be determined whether the implementation of the secure multi-party computation is safe, which is beneficial to quickly investigate the MPC implementation vulnerability and prevent the behavior of malicious tampering with the protocol of the secure multi-party computation, and can improve the checking efficiency and accuracy. BRIEF DESCRIPTION OF DRAWINGS

[0041] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0042] Figure 1 An implementation scenario schematic diagram of an embodiment disclosed in the present specification;

[0043] Figure 2 A flowchart of a checking method in secure multi-party computation according to an embodiment is shown;

[0044] Figure 3 A checking method interaction schematic diagram in secure multi-party computation according to an embodiment is shown;

[0045] Figure 4 A schematic block diagram of a checking device in secure multi-party computation according to an embodiment is shown. DETAILED DESCRIPTION

[0046] The scheme provided by the present specification will be described below in conjunction with the drawings.

[0047] Figure 1 An implementation scenario schematic diagram of an embodiment disclosed in the present specification. The implementation scenario relates to checking in secure multi-party computation. Refer to Figure 1The secure multi-party computation is performed by the first party 11 and the second party 12 jointly, and the first party and the second party can also be referred to as a participant A, a participant B, or referred to as an A party, a B party, etc. The secure multi-party computation involves a local computing process of the first party or the second party, and a data interaction process between the two parties. For example, the first party owns a shard of privacy data x <x>1, second party has another shard of the private data x <x>2. The first party is based on the possession of <x>1. Perform local computation 1 to obtain intermediate data z1, which the second party bases on its possession of <x>2. Perform local computation 2 to obtain intermediate data z2, the first party sends the intermediate data z1 to the second party, the second party sends the intermediate data z2 to the first party, and the first party computes the final result based on <x>1. z1 and z2 perform local calculations to obtain the first slice of the result of the preset function operation. <c>1, the second party is based on <x>2、z1, z2 perform local computation 4 to obtain the second slice of the operation result of the preset function operation <c>2.

[0048] It will be appreciated that the individual shards of privacy data x <x>1 or <x>2 is usually obtained in a random manner, and the privacy data x cannot be inferred by a single shard, and correspondingly, the data exchanged between the two parties also needs to be ensured so that each party cannot infer the privacy data x according to the data.

[0049] Generally, if each party strictly performs the corresponding processing according to the secure multi-party computing protocol, the security can be ensured, but in the implementation process of the secure multi-party computing, there may be MPC implementation vulnerabilities, and the behavior of a single party maliciously tampering with the secure multi-party computing protocol, so that the execution process of the secure multi-party computing is not safe, and the privacy data may be leaked.

[0050] The embodiments of the present specification verify the execution process of the secure multi-party computing, determine whether the implementation of the secure multi-party computing is safe, and have high verification efficiency and accuracy.

[0051] It should be noted that the interaction of each party involved in the secure multi-party computing in the embodiments of the present specification can be one-way interaction, for example, only the first party transmits data to the second party, or only the second party transmits data to the first party; or two-way interaction, for example, both the first party transmits data to the second party and the second party transmits data to the first party. Figure 1 The two-way interaction shown in the above is only an example and is not a limitation on the implementation scenario. In addition, Figure 1 The local calculation 1, the local calculation 2, the local calculation 3, and the local calculation 4 in the above are not all necessary, and only some of the local calculation processes or more local calculation processes can exist, and the number of interactions between the first party and the second party can also be more. The embodiments of the present specification do not limit the number of interactions between the two parties. For example, the first party can first obtain the intermediate data 1 through the local calculation 1, send the intermediate data 1 to the second party, and then obtain the intermediate data 2 through the local calculation 3, and send the intermediate data 2 to the second party.

[0052] It should be noted that the first party and the second party mentioned in the embodiments of the present specification can be physically composed of one module, one computing device, or a computing cluster.

[0053] Figure 2 A verification method flowchart in secure multi-party computing according to an embodiment is shown, the secure multi-party computing is executed by a first party and a second party, and the method is executed by the first party. The method can be based on Figure 1 The implementation scenario shown in FIG. 1. As Figure 2 As shown, the check method in the secure multi-party computation in the embodiment includes the following steps: step 21, obtaining first intermediate data obtained in the execution of the secure multi-party computation, the first intermediate data being data to be sent to the second party; step 22, judging whether the first intermediate data conforms to uniform distribution; step 23, if it is judged that the first intermediate data does not conform to uniform distribution, determining that the check result of the first intermediate data is unsafe. The specific execution mode of each of the above steps is described below.

[0054] Firstly, in step 21, first intermediate data obtained in the execution of the secure multi-party computation is obtained, the first intermediate data being data to be sent to the second party. It can be understood that the above execution of the secure multi-party computation is local calculation, and the first party may perform local calculation according to the protocol of the secure multi-party computation, or may perform local calculation according to the protocol of the secure multi-party computation after malicious tampering, thereby causing the first intermediate data to possibly leak information of the private data. The data for which the local calculation is performed can include private data, a fragment of the private data, interaction data or random numbers received from the second party, and the like.

[0055] In one example, the obtaining of the first intermediate data obtained in the execution of the secure multi-party computation includes:

[0056] The first intermediate data in the communication data is obtained by listening to the communication data between the first party and the second party.

[0057] According to the embodiment of the present disclosure, the execution process of the secure multi-party computation can be checked by the check service, and non-intrusive checking is provided by the bypass service, without the need to modify the execution process of the secure multi-party computation.

[0058] Then, in step 22, it is judged whether the first intermediate data conforms to uniform distribution. It can be understood that, generally, in the design of the protocol of the secure multi-party computation, the first intermediate data cannot carry any information capable of inferring the private data, and in the binary representation of the first intermediate data, the probability of each binary bit being 0 or 1 is equal, that is, the first intermediate data needs to conform to uniform distribution.

[0059] In one example, the judging of whether the first intermediate data conforms to uniform distribution includes:

[0060] Target data is obtained according to the binary data corresponding to the first intermediate data.

[0061] It is judged whether the occurrence proportion of 0 or 1 in the target data satisfies a preset value range.

[0062] If it is judged that the preset value range is satisfied, it is determined that the first intermediate data conforms to uniform distribution.

[0063] If it is judged that the preset value range is not satisfied, it is determined that the first intermediate data does not conform to uniform distribution.

[0064] The embodiment of the present specification can directly use the binary data as the target data, or further process the binary data to obtain the target data.

[0065] Further, the obtaining of the target data comprises:

[0066] According to a preset strategy, the binary data is sampled, and data sampled is used as the target data.

[0067] In this example, the sampling can make the number of binary bits contained in the target data less than the number of binary bits contained in the binary data, reduce the resource consumption of subsequent processing, and have high performance.

[0068] In the embodiment of the present specification, the preset strategy can be artificially set, for example, data of several bits in the binary data can be sampled by a random sampling manner, or data at a specified position in the binary data can be sampled.

[0069] Further, the sampling of the binary data according to the preset strategy comprises:

[0070] sampling data of each odd bit in the binary data; or,

[0071] sampling data of each even bit in the binary data; or,

[0072] sampling data of several continuous bits in the binary data.

[0073] In the example, by sampling data at specified positions in the binary data, the random relationship between the bits of the binary data can be checked, attacks can be avoided, and security can be improved. For example, the binary data is 01010101, the proportion of 0 in the binary data is 0.5, and the proportion of 1 is also 0.5, which is uniform distribution. If the data at each odd position in the binary data is sampled, the target data is 0000, the proportion of 0 in the target data is 1, and the proportion of 1 is 0, which is not uniform distribution. If the data at each even position in the binary data is sampled, the target data is 1111, the proportion of 0 in the target data is 0, and the proportion of 1 is 1, which is not uniform distribution. For another example, the binary data is 00001111, the proportion of 0 in the binary data is 0.5, and the proportion of 1 is also 0.5, which is uniform distribution. If the data at four consecutive positions in the binary data is sampled, the target data is 0000, the proportion of 0 in the target data is 1, and the proportion of 1 is 0, which is not uniform distribution. As can be seen from the above, by a specific sampling method, the random relationship between the bits of the binary data can be identified, and it can be more accurately determined whether it conforms to uniform distribution.

[0074] In the embodiments of the present specification, due to the influence of the number of bits of the target data, or due to the fact that the binary data contains a fixed protocol header such as a hyper text transfer protocol (HTTP) header, the proportion of 0 or 1 in the target data is not strictly equal to 0.5, but slightly deviates from the value of 0.5.

[0075] Further, the lower limit of the preset value range is 0.5 minus the first threshold value, and the upper limit of the preset value range is 0.5 plus the second threshold value.

[0076] It can be understood that by reasonably setting the first threshold value and the second threshold value, the influence of the data distribution of the target data caused by the fact that the binary data contains a fixed protocol header such as an HTTP header can be eliminated. For example, the value of the first threshold value or the second threshold value is set according to the proportion of the number of bits of the HTTP header in the binary data.

[0077] In another example, the determining whether the first intermediate data conforms to uniform distribution includes:

[0078] According to the binary data corresponding to the first intermediate data, target data is obtained;

[0079] The target data is sent to a server, so that the server determines whether the first intermediate data conforms to uniform distribution according to the proportion of 0 or 1 in the target data.

[0080] The server receives a determination result regarding whether the first intermediate data conforms to a uniform distribution.

[0081] In this example, the target data mentioned above can be obtained by sampling binary data, which results in a small transmission volume when sent to the server, and the server can perform fast verification.

[0082] Finally, in step 23, if it is determined that the first intermediate data does not conform to a uniform distribution, then the first intermediate data is determined to be...

[0083] The data verification result is insecure. It is understandable that the insecurity of the first intermediate data verification result also means that the local computation process used to obtain the first intermediate result in multi-party secure computation is insecure.

[0084] In one example, the method further includes:

[0085] If it is determined that the first intermediate data conforms to a uniform distribution, then the first intermediate data is sent to the second party.

[0086] The embodiments in this specification can verify the behavior of tampering protocols that can affect data distribution, and can be combined with other verification methods for comprehensive verification.

[0087] It is understandable that if the first party sends the first intermediate data to the second party, and subsequently needs to send more data to the second party...

[0088] When the first party sends second intermediate data, a similar method can be used to determine whether the verification result of the second intermediate data is secure. Furthermore, if the second party has intermediate data to send to the first party, a similar method can be used to determine whether the verification result of that intermediate data is secure.

[0089] In one example, the method further includes:

[0090] 5. If it is determined that the first intermediate data does not conform to a uniform distribution, a notification message is sent to the second party.

[0091] The notification message is used to alert and terminate the secure multi-party computation.

[0092] Using the method provided in the embodiments of this specification, firstly, the first party obtains first intermediate data obtained during its own secure multi-party computation process, and the first intermediate data is data to be sent to the second party; then, it determines the first intermediate data...

[0093] The system checks whether the intermediate data conforms to a uniform distribution; if it is determined that the first intermediate data does not conform to a uniform distribution, then the verification result of the first intermediate data is determined to be insecure. As can be seen from the above, the embodiments in this specification are not for secure multi-party computation.

[0094] Instead of performing verification on the corresponding procedure, the verification is performed on the data to be exchanged between the parties. This means that the data exchanged between the parties should not carry any information that could lead to the deduction of the original data, in order to prevent parties other than the holder of the privacy data from inferring its contents. Therefore, by determining whether the data to be exchanged conforms to a uniform distribution, the data to be exchanged can be determined.

[0095] Whether it is secure, and correspondingly, whether the implementation of secure multi-party computation is secure, is conducive to quickly identifying vulnerabilities in the MPC implementation and preventing malicious tampering with the secure multi-party computation protocol, which can improve verification efficiency and accuracy.

[0096] Figure 3 This diagram illustrates an interaction of a verification method in a secure multi-party computation according to one embodiment. The verification method is based on a client-server architecture, where a first party and a second party jointly perform a secure multi-party computation task. Each party has a secure computation unit and a verification client, and a verification server is also provided on the network side. It is understood that...

[0097] This verification server can be configured on the server itself. For example... Figure 3 As shown, the verification method 0 in secure multi-party computation in this embodiment includes the following steps:

[0098] First, in step 31, the first party's secure computing unit sends the first intermediate data to its own verification client. It is understood that the verification client can obtain the first intermediate data by listening to node-to-node communication data; this first intermediate data is the data to be sent to the second party.

[0099] Then, in step 32, the first-party verification client samples the binary data corresponding to the first intermediate data according to a preset strategy to obtain the target data. It can be understood that the target data is the sampled data, and it contains fewer bits than the first intermediate data.

[0100] Next, in step 33, the first-party verification client sends the target data to the verification server. It is understood that the actual verification is performed by the verification server on the target data.

[0101] In the embodiments described in this specification, the first-party verification client can directly send the sampled data to the verification server, or it can send the distribution information of the sampled data to the verification server.

[0102] At step 34, the verification server determines whether the first intermediate data conforms to uniform distribution according to the proportion of 0 or 1 in the target data. It can be understood that if the proportion of 0 or 1 in the target data is close to 0.5, it is considered that the first intermediate data conforms to uniform distribution.

[0103] In addition, when determining whether the first intermediate data conforms to uniform distribution, in addition to the proportion, it can also be determined that the values of each position have no correlation, and then it is determined that the first intermediate data conforms to uniform distribution.

[0104] At step 35, the verification server sends the first party's verification client the determination result of whether the first intermediate data conforms to uniform distribution. It can be understood that the first party's verification client can take different actions for different determination results.

[0105] At step 36, when the first party's verification client receives the determination result that the first intermediate data conforms to uniform distribution, it determines that the verification result of the first intermediate data is safe, and sends the first intermediate data to the second party's secure computing unit. It can be understood that the verification result of the first intermediate data being safe also means that the local computing process for obtaining the first intermediate data is safe.

[0106] At step 37, when the first party's verification client receives the determination result that the first intermediate data does not conform to uniform distribution, it determines that the verification result of the first intermediate data is unsafe, and sends notification information to the second party's secure computing unit, which is used to alarm and terminate the secure multi-party computation. It can be understood that the verification result of the first intermediate data being unsafe also means that the local computing process for obtaining the first intermediate data is unsafe.

[0107] It should be noted that, Figure 3 The first party only checks the intermediate data sent to the second party, and similarly, the second party can also check the intermediate data sent to the first party. The specific checking process is similar and will not be repeated here.

[0108] According to another aspect of the embodiments, a verification device in secure multi-party computation is also provided, the secure multi-party computation is performed by a first party and a second party, and the device is arranged in the first party and is used to execute the method provided by the embodiments of the present disclosure. Figure 4 A schematic block diagram of a verification device in secure multi-party computation according to an embodiment is shown.

[0109] As Figure 4 shown, the device 400 includes:

[0110] The acquisition unit 41 is configured to acquire first intermediate data obtained by the device in performing the secure multiparty computation process, the first intermediate data being data to be sent to the second party;

[0111] The judgment unit 42 is configured to judge whether the first intermediate data acquired by the acquisition unit 41 is in uniform distribution.

[0112] The determination unit 43 is configured to determine that a check result of the first intermediate data is unsafe if the judgment unit 42 judges that the first intermediate data is not in uniform distribution.

[0113] Optionally, as an embodiment, the device further comprises:

[0114] The sending unit is configured to send the first intermediate data to the second party if the judgment unit 42 judges that the first intermediate data is in uniform distribution.

[0115] Optionally, as an embodiment, the device further comprises:

[0116] The sending unit is configured to send notification information to the second party if the judgment unit 42 judges that the first intermediate data is not in uniform distribution, the notification information being used for alarming and terminating the secure multiparty computation.

[0117] Optionally, as an embodiment, the acquisition unit 41 is specifically configured to acquire the first intermediate data in communication data between the device and the second party by listening to the communication data.

[0118] Optionally, as an embodiment, the judgment unit 42 comprises:

[0119] The processing sub-unit is configured to obtain target data according to binary data corresponding to the first intermediate data.

[0120] The judgment sub-unit is configured to judge whether a proportion of 0 or 1 in the target data obtained by the processing sub-unit meets a preset value range.

[0121] The first determination sub-unit is configured to determine that the first intermediate data is in uniform distribution if the judgment sub-unit judges that the preset value range is met.

[0122] The second determination sub-unit is configured to determine that the first intermediate data is not in uniform distribution if the judgment sub-unit judges that the preset value range is not met.

[0123] Further, the processing sub-unit is specifically configured to sample the binary data according to a preset strategy, and take the sampled data as the target data.

[0124] Further, the sampling the binary data according to the preset strategy comprises:

[0125] sampling data of each odd bit in the binary data; or,

[0126] sampling data of each even bit in the binary data; or,

[0127] sampling data of a plurality of continuous bits in the binary data.

[0128] Further, the lower limit of the preset value range is 0.5 minus a first threshold value, and the upper limit of the preset value range is 0.5 plus a second threshold value.

[0129] Optionally, as an embodiment, the judging unit 42 comprises:

[0130] a processing sub-unit, configured to obtain target data according to the binary data corresponding to the first intermediate data;

[0131] a sending sub-unit, configured to send the target data obtained by the processing sub-unit to a server, so that the server determines whether the first intermediate data conforms to uniform distribution according to a proportion of 0 or 1 in the target data;

[0132] a receiving sub-unit, configured to receive a determination result of whether the first intermediate data conforms to uniform distribution from the server.

[0133] Through the device provided by the embodiment of the present specification, the first intermediate data obtained by the first obtaining unit 41 in the process of performing secure multi-party computation is obtained, and the first intermediate data is data to be sent to the second party; then the judging unit 42 judges whether the first intermediate data conforms to uniform distribution; finally, the determining unit 43 determines that the verification result of the first intermediate data is unsafe if it is judged that the first intermediate data does not conform to uniform distribution. As can be seen from the above, the present specification embodiment does not verify the program corresponding to the secure multi-party computation, but verifies the data to be interacted between parties. It can be understood that the data to be interacted between parties should not carry any information that can infer the original data, so as to prevent other parties except the private data holder from inferring the private data. Therefore, by judging whether the data to be interacted conforms to uniform distribution, it can be determined whether the data to be interacted is safe, and accordingly, it can be determined whether the implementation of the secure multi-party computation is safe, which is beneficial to quickly investigate the MPC implementation vulnerability and prevent the behavior of maliciously tampering with the protocol of the secure multi-party computation, and can improve the verification efficiency and accuracy.

[0134] According to another aspect, embodiments also provide a computer-readable storage medium having stored thereon a computer program which, when executed in a computer, causes the computer to perform the method according to any of the embodiments described above. Figure 2 The method described.

[0135] According to an embodiment of still another aspect, there is also provided a computing device comprising a memory having executable code stored therein and a processor that, when executing the executable code, implements the method described in connection with Figure 2 The method described.

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

[0137] The above detailed description has further explained the purpose, technical solutions and beneficial effects of the present application. It should be understood that the above description is only a specific embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made on the basis of the technical solutions of the present application shall be included in the protection scope of the present application.< / x> < / x> < / c> < / x> < / c> < / x> < / x> < / x> < / x> < / x>

Claims

1. A verification method in secure multi-party computation, the secure multi-party computation being performed by a first party and a second party, the method being performed by the first party, comprising: obtaining first intermediate data obtained by the first party in performing the secure multi-party computation, the first intermediate data being data to be sent to the second party; determining whether the first intermediate data conforms to uniform distribution; if it is determined that the first intermediate data does not conform to uniform distribution, determining that a verification result of the first intermediate data is unsafe; wherein the determination of whether the first intermediate data conforms to uniform distribution comprises: obtaining target data according to binary data corresponding to the first intermediate data; determining whether a proportion of 0 or 1 in the target data satisfies a preset value range; if it is determined that the preset value range is satisfied, determining that the first intermediate data conforms to uniform distribution; and if it is determined that the preset value range is not satisfied, determining that the first intermediate data does not conform to uniform distribution. The method further comprises: if it is determined that the first intermediate data conforms to uniform distribution, sending the first intermediate data to the second party. The method further comprises: if it is determined that the first intermediate data does not conform to uniform distribution, sending notification information to the second party, the notification information being used for alarming and terminating the secure multi-party computation. The obtaining of the first intermediate data obtained by the first party in performing the secure multi-party computation comprises: obtaining the first intermediate data in communication data by listening to the communication data between the first party and the second party. The obtaining of the target data comprises: sampling the binary data according to a preset strategy, and taking the sampled data as the target data. The sampling of the binary data according to the preset strategy comprises: sampling data of each odd bit in the binary data; or sampling data of each even bit in the binary data; or sampling data of a plurality of continuous bits in the binary data. A lower limit of the preset value range is 0.5 minus a first threshold, and an upper limit of the preset value range is 0.5 plus a second threshold.

8. A verification method in secure multi-party computation, the secure multi-party computation being performed by a first party and a second party, the method being performed by the first party, comprising: obtaining first intermediate data obtained by the first party in performing the secure multi-party computation, the first intermediate data being data to be sent to the second party; determining whether the first intermediate data conforms to uniform distribution; if it is determined that the first intermediate data does not conform to uniform distribution, determining that a verification result of the first intermediate data is unsafe; wherein the determination of whether the first intermediate data conforms to uniform distribution comprises: obtaining target data according to binary data corresponding to the first intermediate data; sending the target data to a server, so that the server determines whether the first intermediate data conforms to uniform distribution according to a proportion of 0 or 1 in the target data; and receiving a determination result of whether the first intermediate data conforms to uniform distribution from the server. ​ 2. The method of claim 1, wherein, ​ ​ 3. The method of claim 1, wherein, ​ ​ 4. The method of claim 1, wherein, ​ ​ 5. The method of claim 1, wherein, ​ ​ 6. The method of claim 5, wherein, ​ ​ ​ ​ 7. The method of claim 1, wherein, ​ ​ ​ ​ ​ ​ ​ ​ ​ 9.A verification apparatus in secure multi-party computation, the secure multi-party computation being performed by a first party and a second party, the apparatus being arranged at the first party, comprising: an obtaining unit, configured to obtain first intermediate data obtained by the first party in performing the secure multi-party computation, the first intermediate data being data to be sent to the second party; a judging unit, configured to judge whether the first intermediate data obtained by the obtaining unit conforms to uniform distribution; a determining unit, configured to determine that a verification result of the first intermediate data is unsafe if the judging unit judges that the first intermediate data does not conform to uniform distribution. The judging unit comprises: a processing sub-unit, configured to obtain target data according to binary data corresponding to the first intermediate data; a judging sub-unit, configured to judge whether a proportion of 0 or 1 in the target data obtained by the processing sub-unit satisfies a preset value range; a first determining sub-unit, configured to determine that the first intermediate data conforms to uniform distribution if the judging sub-unit judges that the preset value range is satisfied; a second determining sub-unit, configured to determine that the first intermediate data does not conform to uniform distribution if the judging sub-unit judges that the preset value range is not satisfied. 10.A verification apparatus in secure multi-party computation, the secure multi-party computation being performed by a first party and a second party, the apparatus being arranged at the first party, comprising: an obtaining unit, configured to obtain first intermediate data obtained by the first party in performing the secure multi-party computation, the first intermediate data being data to be sent to the second party; a judging unit, configured to judge whether the first intermediate data obtained by the obtaining unit conforms to uniform distribution; a determining unit, configured to determine that a verification result of the first intermediate data is unsafe if the judging unit judges that the first intermediate data does not conform to uniform distribution. The judging unit comprises: a processing sub-unit, configured to obtain target data according to binary data corresponding to the first intermediate data; a sending sub-unit, configured to send the target data obtained by the processing sub-unit to a server, so that the server determines whether the first intermediate data conforms to uniform distribution according to a proportion of 0 or 1 in the target data; a receiving sub-unit, configured to receive a determination result of whether the first intermediate data conforms to uniform distribution from the server. 11.A computer readable storage medium having stored thereon a computer program, which, when executed in a computer, causes the computer to perform the method of any one of claims 1-8. 12.A computing device comprising a memory and a processor, the memory having stored thereon executable code that, when executed by the processor, implements the method of any one of claims 1-8.

Citation Information

Patent Citations

  • Random number generation and post-processing circuit

    CN107479857A

  • Method and device for detecting hostile attack in multi-party cooperative computing

    CN114679453A