Safety numerical multiplication calculation method and device based on scale transformation

Through the secure numerical multiplication method based on scale transformation, the private input numerical values ​​are converted into a matrix for parallel calculation, which solves the problems of low computing efficiency, low communication efficiency and insufficient data security in the prior art, and achieves higher computing accuracy and Security.

CN119292558AActive Publication Date: 2025-01-10BEIHANG UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411397347.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-08
Publication Date
2025-01-10
Estimated Expiration
2044-10-08

AI Technical Summary

Technical Problem

The existing secure numerical multiplication calculation scheme has shortcomings in terms of computing efficiency, communication efficiency and calculation accuracy. In particular, obfuscated circuit technology has complex calculations and is targeted at Boolean operations. Secret sharing technology has low communication efficiency. Homomorphic encryption technology relies on third-party cloud platforms and There is a risk of data breach.

Method used

Using a secure numerical multiplication method based on scale transformation, the private input values ​​of participants are split into random positive numbers that are not equal to each other, forming a private vector and generating an input matrix, and parallelizing it through the secure two-party matrix multiplication protocol of secure data obfuscation technology Calculation, dimensionality reduction obtains private output values, solves the problem of low information exchange efficiency and does not rely on third-party cloud platforms.

Benefits of technology

Improve computing efficiency, communication efficiency and computing accuracy, ensure the data security of participants, and avoid the risk of data leakage caused by third-party cloud platform attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292558A_ABST
    Figure CN119292558A_ABST
Patent Text Reader

Abstract

The invention discloses a security numerical multiplication calculation method and device based on scale transformation, and relates to the technical field of security numerical multiplication calculation, and the security numerical multiplication calculation method comprises the steps that each participant determines a private input numerical value; each participant performs scale transformation on the private input numerical value to generate a private input matrix; each participant takes the private input matrix as input, and a private output matrix is calculated by using a secure two-party matrix multiplication protocol based on a secure data confusion technology; each participant calculates a sum value of each element of the private output matrix to obtain a private output numerical value; and each participant sends the private output value to the calculation requester to obtain a safe value multiplication calculation result. According to the method, scale transformation and a secure two-party matrix multiplication protocol based on a secure data confusion technology are introduced, so that the calculation efficiency, the communication efficiency and the calculation precision can be improved, the method does not depend on a third-party cloud platform, and the security is further ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of secure numerical multiplication calculation, and in particular to a secure numerical multiplication calculation method based on scale transformation and related devices. Background Art

[0002] In recent years, AI big model technology has flourished, using the power of data to promote the development of various fields. As the importance of data increases, people pay more and more attention to data privacy protection. With such a huge amount of data production in the world, the importance of data privacy protection is increasing, and the difficulty of effectively protecting privacy data and preventing data leakage is also increasing. Due to privacy issues and related data regulations, how to break the data island, combine the general AI big model technology, realize the integration and circulation of multi-source data in distributed heterogeneous scenarios, and completely release the huge value of globalized massive data in the context of WEB3.0 era, is a very meaningful research issue at present. In the process of AI big model privacy, many calculation processes in scenarios such as logistic regression privacy and multi-layer perceptron privacy often require secure numerical multiplication calculations to complete. In addition, secure numerical multiplication calculations can also be applied to realize secure vector bitwise multiplication and secure matrix bitwise multiplication operations, thus having a wider range of application scenarios.

[0003] At present, the commonly used secure numerical multiplication calculation schemes at home and abroad mainly include the following three:

[0004] (1) The Obliv-C framework proposed by Zahur and Evans and the ABY framework proposed by Demmler, Schneider, and others both use obfuscated circuit technology, which converts mathematical operations (addition and multiplication) into Boolean circuits and combines them with encryption techniques such as secure shuffling and oblivious transfer to protect the circuit outputs corresponding to their respective inputs.

[0005] (2) The MP-SPDZ framework proposed by Keller and the Crypten framework proposed by Knott, Venkataraman, and others both use secret sharing technology to hide secret values. Each secret value is randomly split into multiple slices. Through the interaction of various participants, a threshold number of nodes are used to reconstruct and combine them when necessary to achieve the solution of secure numerical multiplication calculation tasks.

[0006] (3) Helib, proposed by Halevi and Shoup, is a homomorphic encryption library that mainly implements the Brakerski-Gentry-Vaikuntanathan (BGV) homomorphic encryption scheme. The data is first encrypted locally using a homomorphic encryption algorithm, and then a secure numerical multiplication task is performed. The data is then decrypted using a private key to solve the computational problem of privacy protection.

[0007] However, both Obliv-C and ABY frameworks have a general secure numerical multiplication calculation scheme based on obfuscated circuits. Obfuscated circuit technology can support secure numerical multiplication calculations, but this type of scheme requires the construction of a large number of circuits, resulting in high computational and spatial complexity and low computational efficiency. At the same time, this technology is essentially for Boolean operations, and there are precision problems in the processing of floating-point numbers, which is not practical enough. Based on the idea of ​​secret sharing, the MP-SPDZ framework and the Crypten framework divide the value into several parts for sharing to hide the true value of the two parties' values. It can ensure that the secret value can only be reconstructed when enough parties are united. However, this type of scheme involves a large number of message exchanges between multiple parties, which will lead to low communication efficiency. The Helib library adopts a homomorphic encryption scheme, which encrypts and calculates the ciphertext through the public key, and then uses the private key to decrypt the result. Although the security of the calculation result is guaranteed, due to its own ciphertext calculation complexity and its dependence on the third-party cloud platform for calculation, there are problems of low calculation storage and communication efficiency, as well as the risk of data leakage once the third-party cloud platform is attacked. Summary of the invention

[0008] The purpose of this application is to provide a secure numerical multiplication calculation method and device based on scale transformation, which can improve computing efficiency, communication efficiency and calculation accuracy, and is independent of a third-party cloud platform, thereby further ensuring security.

[0009] To achieve the above objectives, this application provides the following solutions:

[0010] In a first aspect, the present application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to a scenario where two parties perform secure numerical multiplication calculation. The secure numerical multiplication calculation method based on scale transformation includes:

[0011] The first participant receives a secure two-party numerical multiplication calculation request sent by a calculation requester, and determines a first private input numerical value based on the secure two-party numerical multiplication calculation request;

[0012] The second participant receives the secure two-party numerical multiplication calculation request sent by the calculation requester, and determines the second private input numerical value based on the secure two-party numerical multiplication calculation request;

[0013] The first participant and the second participant negotiate to determine a positive integer m greater than or equal to 2;

[0014] The first participant splits the first private input value into m mutually unequal first random positive numbers, forms a first private vector with the m mutually unequal first random positive numbers, and generates a first private input matrix with 1 row and m columns based on the first private vector; wherein the sum of the m mutually unequal first random positive numbers is equal to the first private input value;

[0015] The second participant splits the second private input value into m mutually unequal second random positive numbers, forms a second private vector with the m mutually unequal second random positive numbers, and generates a second private input matrix with m rows and m columns based on the second private vector; wherein the sum of the m mutually unequal second random positive numbers is equal to the second private input value;

[0016] The first participant uses the first private input matrix as input, and the second participant uses the second private input matrix as input, and uses the secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the first private output matrix and the second private output matrix;

[0017] The first participant calculates the sum of the elements of the first private output matrix to obtain a first private output value;

[0018] The second participant calculates the sum of the elements of the second private output matrix to obtain a second private output value;

[0019] The first participant sends the first private output value to the calculation requester, and the second participant sends the second private output value to the calculation requester; the calculation requester calculates the sum of the first private output value and the second private output value to obtain a secure two-party numerical multiplication calculation result.

[0020] In a second aspect, the present application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to a scenario where two parties perform secure numerical multiplication calculation. The secure numerical multiplication calculation method based on scale transformation includes:

[0021] The first participant receives a secure two-party numerical multiplication calculation request sent by a calculation requester, and determines a first private input numerical value based on the secure two-party numerical multiplication calculation request;

[0022] The second participant receives the secure two-party numerical multiplication calculation request sent by the calculation requester, and determines the second private input numerical value based on the secure two-party numerical multiplication calculation request;

[0023] The first participant and the second participant negotiate to determine a positive integer m greater than or equal to 2;

[0024] The first participant splits the first private input value into m mutually unequal first random positive numbers, forms a first private vector with the m mutually unequal first random positive numbers, and generates a first private input matrix with 1 row and m columns based on the first private vector; wherein the sum of the m mutually unequal first random positive numbers is equal to the first private input value;

[0025] The second participant splits the second private input value into m mutually unequal second random positive numbers, forms a second private vector with the m mutually unequal second random positive numbers, and generates a second private input matrix with m rows and m columns based on the second private vector; wherein the sum of the m mutually unequal second random positive numbers is equal to the second private input value;

[0026] The second participant splits the second private input matrix by column to obtain m third private input matrices with m rows and 1 column;

[0027] For each third private input matrix, the first participant uses the first private input matrix as input, and the second participant uses the third private input matrix as input, and calculates the first private value and the second private value using a secure two-party matrix multiplication protocol based on secure data obfuscation technology;

[0028] The first participant calculates the sum of m first private values ​​to obtain a first private output value;

[0029] The second participant calculates the sum of the m second private values ​​to obtain a second private output value;

[0030] The first participant sends the first private output value to the calculation requester, and the second participant sends the second private output value to the calculation requester; the calculation requester calculates the sum of the first private output value and the second private output value to obtain a secure two-party numerical multiplication calculation result.

[0031] In a third aspect, the present application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to a scenario in which multiple participants perform secure numerical multiplication calculation, and the number of multiple participants is greater than 2. The secure numerical multiplication calculation method based on scale transformation includes:

[0032] The nth participant receives the secure multi-party numerical multiplication calculation request sent by the calculation requester, and determines the nth private input numerical value based on the secure multi-party numerical multiplication calculation request; wherein n=1, 2, ..., N, N is the number of the multiple participants;

[0033] Determine i=1;

[0034] For the i-th layer cycle, determine i+1 participants participating in the i-th layer cycle, where the i+1 participants include the first participant to the i+1th participant; wherein i=1, 2, ..., N-1;

[0035] The jth participant and the i+1th participant use the jth private input value and the i+1th private input value as input, and use the secure numerical multiplication calculation method based on scale transformation described in claim 1 or claim 4 to calculate the jth private output value and the i+1th private output value; wherein j=1, 2, ..., i;

[0036] Determine whether i is equal to N-1;

[0037] If yes, the jth private output value is used as the final jth private output value, and the sum of all jth private output values ​​and the i+1th private output value is used as the final i+1th private output value. The nth participant sends the final nth private output value to the calculation requester; the calculation requester calculates the sum of the N final private output values ​​to obtain the secure multi-party numerical multiplication calculation result;

[0038] If not, use the j-th private output value as the j-th private input value, use the sum of all j-th private output values ​​and the i+1-th private output value as the i+1-th private input value, increase i by 1, and return to the step of "for the i-th layer loop, determine the i+1 participants participating in the i-th layer loop".

[0039] In a fourth aspect, the present application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to a scenario in which multiple participants perform secure numerical multiplication calculation, and the number of multiple participants is greater than 2. The secure numerical multiplication calculation method based on scale transformation includes:

[0040] The nth participant receives the secure multi-party numerical multiplication calculation request sent by the calculation requester, and determines the nth private input numerical value based on the secure multi-party numerical multiplication calculation request; wherein n=1, 2, ..., N, N is the number of the multiple participants;

[0041] N participants negotiate to determine a positive integer m greater than or equal to 2;

[0042] The nth participant splits the nth private input value into m mutually unequal nth random positive numbers, forms an nth private vector with the m mutually unequal nth random positive numbers, and generates an nth private input matrix based on the nth private vector; wherein the sum of the m mutually unequal nth random positive numbers is equal to the nth private input value;

[0043] N participants use N private input matrices as input and calculate N private output matrices using a secure two-party matrix multiplication protocol based on secure data obfuscation technology; the private output matrix of the nth participant is the nth private output matrix;

[0044] The nth participant calculates the sum of each element of the nth private output matrix to obtain the nth private output value;

[0045] The nth participant sends the nth private output value to the calculation requester; the calculation requester calculates the sum of the N private output values ​​to obtain the secure multi-party numerical multiplication result.

[0046] In a fifth aspect, the present application provides a secure numerical multiplication computing device based on scale transformation, which is applied to a scenario in which two participants perform secure numerical multiplication computing. The secure numerical multiplication computing device based on scale transformation includes: a task acquisition module corresponding to a computing requester and each participant, a secure computing module, a rule generation module, a consensus computing module, and a data sending module;

[0047] The task acquisition module is used to obtain a secure two-party numerical multiplication calculation request sent by a calculation requester;

[0048] The secure calculation module, the rule generation module and the consensus calculation module are used to cooperate with each other to execute the above-mentioned secure numerical multiplication calculation method based on scale transformation to obtain the private output value of the participants;

[0049] The data sending module is used to send the private output value to the calculation requester;

[0050] The calculation requester is used to calculate the sum of the private output values ​​of all participants to obtain the result of the secure two-party numerical multiplication.

[0051] In a sixth aspect, the present application provides a secure numerical multiplication computing device based on scale transformation, which is applied to a scenario in which multiple participants perform secure numerical multiplication computing, and the number of multiple participants is greater than 2. The secure numerical multiplication computing device based on scale transformation includes: a computing requester and a task acquisition module corresponding to each participant, a secure computing module, a rule generation module, a consensus computing module, and a data sending module;

[0052] The task acquisition module is used to obtain a secure multi-party numerical multiplication calculation request sent by a calculation requester;

[0053] The secure calculation module, the rule generation module and the consensus calculation module are used to cooperate with each other to execute the above-mentioned secure numerical multiplication calculation method based on scale transformation to obtain the private output value of the participants;

[0054] The data sending module is used to send the private output value to the calculation requester;

[0055] The calculation requester is used to calculate the sum of the private output values ​​of all participants to obtain the result of secure multi-party numerical multiplication.

[0056] According to the specific embodiments provided in this application, this application discloses the following technical effects:

[0057] The present application provides a method and device for secure numerical multiplication calculation based on scale transformation. By introducing scale transformation, the private input numerical value of each participant can be converted into a private input matrix. Subsequently, only the secure two-party matrix multiplication protocol based on secure data obfuscation technology needs to be called to obtain the private output matrix of each participant in parallel, and the dimension is further reduced to obtain the private output numerical value of each participant, which solves the problem of low communication efficiency caused by the need for a large amount of information exchange. There is no need to introduce any keys, and there is no need to perform calculations in the ciphertext space. It takes into account higher calculation accuracy and higher calculation efficiency, and does not need to rely on a third-party cloud platform. Therefore, the present application can improve calculation efficiency, communication efficiency and calculation accuracy, and does not rely on a third-party cloud platform, further ensuring security. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0059] Figure 1 Schematic diagram of the secure two-party numerical multiplication calculation problem provided for this application.

[0060] Figure 2 Schematic diagram of the secure two-party numerical multiplication protocol flow provided for this application.

[0061] Figure 3 Schematic diagram of the secure two-way matrix multiplication calculation problem provided for this application.

[0062] Figure 4 Schematic diagram of the security data obfuscation technology principle provided for this application.

[0063] Figure 5 Schematic diagram of the secure two-party matrix multiplication protocol flow provided for this application.

[0064] Figure 6 Schematic diagram of the secure multi-party numerical multiplication calculation problem provided for this application.

[0065] Figure 7 Schematic diagram of the secure multi-party numerical multiplication protocol flow provided for this application.

[0066] Figure 8 A schematic diagram of another secure multi-party numerical multiplication protocol flow provided for this application.

[0067] Fig. 9 A schematic diagram of an implementation device for a secure two-party numerical multiplication protocol applied to distributed computing participants provided in this application. DETAILED DESCRIPTION

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

[0069] The Secure 2-Party Real-Number Multiplication (S2PRM) protocol means: suppose there are two participants P1 and P2 who do not trust each other. Each participant holds a secret value x and y. With x and y as input, the two parties jointly execute a secure two-party numerical multiplication protocol f(x,y)=Output(v1,v2)=x×y. In the end, each participant obtains the corresponding output v1,v2, and the output satisfies v1+v2=x×y. During the entire calculation process, each participant only knows the input and output data involved in its own calculation process and cannot obtain any intermediate calculation results about other participants. Figure 1 As shown in the figure, the secure two-party numerical multiplication problem is defined as follows:

[0070] It is known that two participants, Alice and Bob, are independent and do not trust each other. Alice holds a private data a stored only in her own computing node, and Bob holds a private data b stored only in his own computing node. The two participants jointly execute a secure two-party numerical multiplication protocol f(a,b)=a×b=U a +U b , and finally each participant gets their corresponding output U a , U b , and sent to the calculation requester to obtain the desired secure two-party numerical multiplication calculation result. During the calculation process, each participant can only obtain their own input and output information during the calculation process, and cannot obtain the intermediate calculation results and private data information held by other participants.

[0071] Existing solutions to the problem of secure two-party numerical multiplication calculations mostly use computing frameworks developed based on traditional basic cryptographic primitives such as homomorphic encryption, secret sharing, and obfuscated circuits. These methods rely on ciphertext space calculations with extremely high time and space complexities, which leads to low practicality and insufficient computing efficiency. They also mostly rely on outsourced cloud service systems for implementation. If the third-party cloud service system has low confidence or is attacked by malicious nodes, it may cause the leakage of intermediate calculation results or key key information, further causing security risks of privacy leakage of the original data party.

[0072] This application mainly focuses on the problem of secure numerical multiplication calculation, and provides an efficient, secure, and reliable privacy numerical calculation method. At this time, the secure two-party numerical multiplication protocol is designed as follows Figure 2 shown.

[0073] The problem of secure two-party numerical multiplication usually occurs in application scenarios such as logistic regression, activation function privacy of multilayer perceptrons, and privacy-preserving vector bitwise multiplication and matrix bitwise multiplication, and has extensive research value. Therefore, let the initial input of Alice node in the protocol be value a, and the initial input of Bob node be value b. On this basis, a method is proposed as follows: Figure 2 The efficient parallelized secure two-party numerical multiplication protocol shown in the figure has the following protocol flow:

[0074] (1) Pretreatment:

[0075] Step 1: Participant Alice and participant Bob jointly negotiate a positive integer m ≥ 2, and locally split their own private input values ​​a and b into m mutually unequal random positive numbers, and form a private vector α = (α1, α2, …, α m )∈R m and β=(β1,β2,…,β m )∈R m ,in, and α i and β i are all random positive numbers.

[0076] Step 2: Participant Alice's node converts the private vector α into a private input matrix A∈R as a row of the matrix 1×m The participant Bob node performs a full permutation of the m elements in the private vector β and converts each permutation into a random sorting vector, obtaining a total of s=m! random sorting vectors. The process is expressed as The perms function represents the sum of m elements (β1, β2, …, β m ) is a full permutation operation, and then from {θ1~θ s} randomly select m vectors θ j (j∈{1,2,…,s}), together with the row vectors, form the private input matrix B∈R m×m .

[0077] (2) Formal calculation:

[0078] Step 3: Participant Alice’s node and participant Bob’s node input their respective private input matrices A∈R based on the secure two-party matrix multiplication protocol 1×m and B∈R m×m , perform a round of secure two-way matrix multiplication calculation f S2PM (A,B) = A × B. After the secure two-party matrix multiplication protocol is executed, f S2PM (A, B) is split into V based on secure data obfuscation technology a 、V b ∈R 1×m The two results are sent to the participant Alice node and the participant Bob node as their private output matrices, and these two private output matrices satisfy the relationship f S2PM (A,B)=V a +V b =A×B.

[0079] (3) Dimensionality reduction transformation:

[0080] Step 4: Participant Alice’s node and participant Bob’s node obtain the private output matrix V respectively a 、V b ∈R 1×m After that, each of them locally sums the m elements of the private output matrix to obtain the private output value U a =sum(V a ) and U b =sum(V b ), then U a and U b It is sent to the computing requester, who aggregates it and obtains f(a,b)=U a +U b =a×b.

[0081] It is easy to verify that:

[0082] In step 3, the Secure Two-Party Matrix Multiplication (S2PM) protocol means: Assume that there are two participants P1 and P2 who do not trust each other, each of whom holds a secret matrix x and y, and jointly execute a secure two-party matrix multiplication protocol f(x,y)=Output(v1,v2)=x·y. Finally, each participant obtains the corresponding output v1,v2, and the output satisfies v1+v2=x·y. During the entire calculation process, each participant only knows the input and output data involved in its own calculation process, and cannot obtain any intermediate calculation results about other participants. Figure 3 As shown, the secure two-way matrix multiplication problem is defined as follows:

[0083] It is known that there are two computing participants, Alice and Bob, who are independent and do not trust each other. Alice holds a private data matrix A with dimensions of n×s and is only stored in her own computing node, and Bob holds a private data matrix B with dimensions of s×m and is only stored in his own computing node. The two participants hope to jointly execute a secure two-party matrix multiplication protocol to achieve f(A,B)=AB=V a +V b , and finally each participant obtains their own output matrix V with dimensions n×m a 、V b , and sent to the calculation requester, and aggregated to obtain the desired secure two-party matrix product result. During the calculation process, each participant can only understand its own input and output information, and cannot obtain the intermediate calculation results and held data information of other participants.

[0084] For most multi-party computations, the process of implementing secure computations usually involves multiple steps of interaction, which inevitably requires facing a problem: how to ensure the security of intermediate computation results. For example, when the result of the two-party matrix multiplication A×B is used as the intermediate computation result, whether it is the participating node Alice or the participating node Bob, it can obtain the result of the final matrix A×B and may infer the data information of the other party. Therefore, in the privacy computing process, it is necessary to ensure not only the security of the initial input data, but also the security of the intermediate computation results. To solve this problem, this application introduces Secure Data Disguising Technology.

[0085] The secure data obfuscation technology is a data protection method used to protect the intermediate results of multi-party secure computations. By constructing a reasonable computation protocol, the computation results are randomly split, so that the multi-party outputs together form the real target computation results in a linear combination, and finally achieve a one-time data privacy protection effect. This application proposes a secure data obfuscation technology, which decomposes any multi-objective operation into a new multi-objective addition to obfuscate the intermediate results of the computation. This application takes the two-party operation type as an example, and its principle is as follows: Figure 4 Assume that the intermediate result S k =F k (A i ,B i ), where F k is the target calculation function of the kth step, A i is the private input data of Alice’s node at step k, B i is the private input data of Bob's node in step k. When executing step k of the multi-party secure computation protocol, the intermediate result S k The following constraints will be strictly followed: Alice node only knows its own calculation result A k , Node Bob only knows its own calculation result B k , and A k +B k =S k . Formula[A i :B i ]→[A k :B k |A k +B k =F k (A i ,B i )] represents the transmission process of the intermediate value. During the whole process, Alice node and Bob node are not allowed to exchange each other's data information, including the intermediate result after splitting A k and B k Similarly, for the k+1th step, the input and The output A of Alice and Bob nodes at step k k and B k The transmission structure, and Its output A k+1 and B k+1 satisfy Alice node only knows its own calculation result A k+1 , Node Bob only knows its own calculation result B k+1Therefore, as long as the intermediate results are split into two random data items and stored separately by the two participants at each step of the calculation, it can be guaranteed that no party can infer the original data item from the obfuscated encrypted data, making the entire privacy computing process more secure.

[0086] like Figure 5 As shown, this application proposes a secure two-party matrix multiplication protocol based on secure data obfuscation technology, and the protocol flow is as follows:

[0087] Step 1: The auxiliary node (also called commodity server (CS)) generates two sets of random matrix pairs, which are random matrices R with dimensions n×s a , a random matrix R with dimension s×m b and two random matrices r of dimension n×m a 、r b , these random matrices must strictly satisfy the following constraints r a +r b =R a ·R b . Then the auxiliary node converts the random matrix pair (R a ,r a ) is sent to the participant Alice node, and the random matrix pair (R b ,r b ) is sent to the participant Bob’s node.

[0088] Step 2: Upon receiving the corresponding random matrix pair (R a ,r a ) after which the node internally calculates And send it to the participating party Bob's node.

[0089] Step 3: After receiving the corresponding random matrix pair (R b ,r b ) after which the node internally calculates And send it to the participating party Alice node.

[0090] Step 4: Participant Bob's node receives the matrix sent from participant Alice's node After that, a random matrix V is generated secretly inside b ∈R n×m , and secretly compute the matrix locally And send it to the participating party Alice node.

[0091] Step 5: After receiving T, the participant Alice's node calculates the matrix locally

[0092] Step 6: Participant Alice’s node and participant Bob’s node each receive their corresponding final obfuscated split results V a 、V b Sent to the calculation requester, who then summarizes the final product AB = V a +V b .

[0093] It is easy to verify that:

[0094]

[0095] Based on the above protocol process, the present application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to a scenario where two parties perform secure numerical multiplication calculation. The secure numerical multiplication calculation method based on scale transformation includes:

[0096] (1) A first participant receives a secure two-party numerical multiplication calculation request sent by a calculation requester, and determines a first private input numerical value based on the secure two-party numerical multiplication calculation request.

[0097] (2) The second participant receives the secure two-party numerical multiplication calculation request sent by the calculation requester, and determines the second private input numerical value based on the secure two-party numerical multiplication calculation request.

[0098] (3) The first party and the second party negotiate to determine a positive integer m that is greater than or equal to 2.

[0099] (4) The first participant splits the first private input value into m mutually unequal first random positive numbers, composes a first private vector with the m mutually unequal first random positive numbers, and generates a first private input matrix with 1 row and m columns based on the first private vector; wherein the sum of the m mutually unequal first random positive numbers is equal to the first private input value.

[0100] The step of generating a first private input matrix with 1 row and m columns based on the first private vector specifically includes: using the first private vector as the first private input matrix with 1 row and m columns.

[0101] (5) The second participant splits the second private input value into m mutually unequal second random positive numbers, combines the m mutually unequal second random positive numbers into a second private vector, and generates a second private input matrix with m rows and m columns based on the second private vector; wherein the sum of the m mutually unequal second random positive numbers is equal to the second private input value.

[0102] Among them, generating a second private input matrix with m rows and m columns based on the second private vector specifically includes: fully permuting each element in the second private vector to obtain multiple permutations, each permutation corresponds to a random sorting vector; randomly selecting m random sorting vectors to form a second private input matrix with m rows and m columns; wherein the number of permutations is the factorial of m.

[0103] (6) The first participant uses the first private input matrix as input, and the second participant uses the second private input matrix as input, and uses the secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the first private output matrix and the second private output matrix.

[0104] (7) The first participant calculates the sum of the elements of the first private output matrix to obtain the first private output value.

[0105] (8) The second participant calculates the sum of the elements of the second private output matrix to obtain the second private output value.

[0106] (9) The first participant sends the first private output value to the calculation requester, and the second participant sends the second private output value to the calculation requester; the calculation requester calculates the sum of the first private output value and the second private output value to obtain a secure two-party numerical multiplication calculation result.

[0107] The first participant uses the first private input matrix as input, and the second participant uses the second private input matrix as input, and uses the secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the first private output matrix and the second private output matrix, specifically including:

[0108] (1) The auxiliary node generates a first random matrix, a second random matrix, a third random matrix, and a fourth random matrix, and sends the first random matrix and the third random matrix to the first participant, and sends the second random matrix and the fourth random matrix to the second participant; wherein the product of the first random matrix and the second random matrix is ​​equal to the sum of the third random matrix and the fourth random matrix.

[0109] (2) The first participant calculates the sum of the first private input matrix and the first random matrix to obtain a first sum matrix, and sends the first sum matrix to the second participant.

[0110] (3) The second participant calculates the sum of the second private input matrix and the second random matrix to obtain a second sum matrix, and sends the second sum matrix to the first participant.

[0111] (4) The second participant randomly generates a second private output matrix, calculates the first product of the first sum matrix and the second private input matrix, calculates the difference between the fourth random matrix and the second private output matrix, calculates the sum of the first product and the difference, obtains a calculation matrix, and sends the calculation matrix to the first participant.

[0112] (5) The first participant calculates the sum of the calculation matrix and the third random matrix, calculates the second product of the first random matrix and the second sum matrix, calculates the difference between the sum and the second product, and obtains a first private output matrix.

[0113] This application also provides an alternative solution for a secure two-party numerical multiplication protocol, the protocol flow is as follows:

[0114] Step 1: Participant Alice and participant Bob jointly negotiate a positive integer m ≥ 2, and locally split their own private input values ​​into m mutually unequal random positive numbers to form a private vector α = (α1, α2, …, α m )∈R m and β=(β1,β2,…,β m )∈R m ,in, and

[0115] Step 2: The participant Bob node performs a full permutation of the m elements in the private vector β and converts each permutation into a random sorting vector, obtaining a total of s=m! random sorting vectors. The process is expressed as The perms function represents the sum of m elements (β1, β2, …, β m ) is a full permutation operation, and then from {θ1~θ s} randomly select m vectors θ j (j∈{1,2,…,s}), together with the row vectors, form the private input matrix B∈R m×m . Then the participant Bob node will all the column vectors in matrix B Take out, where the column vector

[0116]

[0117] Step 3: Participant Alice's node and participant Bob's node perform m rounds of secure two-party matrix multiplication calculations based on the secure two-party matrix multiplication protocol. In the i-th round (1≤i≤m), each of them inputs their own private input matrix α∈R 1×m and calculate After the secure two-party matrix multiplication protocol is executed, the round of calculation Based on the security data obfuscation technology, it is divided into V ai 、V bi The two numerical results are sent to the participant Alice's node and the participant Bob's node as their private values, and these two private values ​​satisfy the relationship

[0118] Step 4: Participant Alice’s node and participant Bob’s node obtain all private values ​​V respectively ai 、V bi (1≤i≤m), each of them sums it locally to obtain the private output value and Then U a and U b It is sent to the computing requester, who aggregates it and obtains f(a,b)=U a +U b =a×b.

[0119] It is easy to verify that:

[0120] Based on the above protocol process, the present application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to a scenario where two parties perform secure numerical multiplication calculation. The secure numerical multiplication calculation method based on scale transformation includes:

[0121] (1) A first participant receives a secure two-party numerical multiplication calculation request sent by a calculation requester, and determines a first private input numerical value based on the secure two-party numerical multiplication calculation request.

[0122] (2) The second participant receives the secure two-party numerical multiplication calculation request sent by the calculation requester, and determines the second private input numerical value based on the secure two-party numerical multiplication calculation request.

[0123] (3) The first party and the second party negotiate to determine a positive integer m that is greater than or equal to 2.

[0124] (4) The first participant splits the first private input value into m mutually unequal first random positive numbers, composes a first private vector with the m mutually unequal first random positive numbers, and generates a first private input matrix with 1 row and m columns based on the first private vector; wherein the sum of the m mutually unequal first random positive numbers is equal to the first private input value.

[0125] (5) The second participant splits the second private input value into m mutually unequal second random positive numbers, combines the m mutually unequal second random positive numbers into a second private vector, and generates a second private input matrix with m rows and m columns based on the second private vector; wherein the sum of the m mutually unequal second random positive numbers is equal to the second private input value.

[0126] (6) The second participant splits the second private input matrix by column to obtain m third private input matrices with m rows and 1 column.

[0127] (7) For each third private input matrix, the first participant uses the first private input matrix as input, and the second participant uses the third private input matrix as input, and uses a secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the first private value and the second private value.

[0128] (8) The first participant calculates the sum of the m first private values ​​to obtain a first private output value.

[0129] (9) The second participant calculates the sum of the m second private values ​​to obtain a second private output value.

[0130] (10) The first participant sends the first private output value to the calculation requester, and the second participant sends the second private output value to the calculation requester; the calculation requester calculates the sum of the first private output value and the second private output value to obtain a secure two-party numerical multiplication calculation result.

[0131] The present application is based on the secure two-party numerical multiplication protocol designed based on the secure data obfuscation technology idea. The protocol does not need to introduce any key and due to its own characteristics of obfuscating encrypted data based on the real number field, it not only ensures the security of "one-time one-key", but also takes into account higher calculation accuracy and lower calculation cost requirements; the numerical value is converted into a matrix through scale transformation, and according to the distributive law and associative law of numerical multiplication, it is ensured that only one round of secure two-party matrix multiplication protocol is called to obtain the final result in parallel calculation, which solves the problem of low communication efficiency caused by the need for a large amount of information exchange in secret sharing technology; the secure two-party numerical multiplication protocol proposed in the present application, because its numerical value is randomly split into m mutually different positive numbers, after executing the secure two-party matrix multiplication protocol to obtain the private output matrix result of each participant, even if there is partial data leakage (the number of leakages shall not exceed m), the original data security of each participant can be guaranteed. At the same time, this protocol does not need to rely on a third-party cloud platform, and can solve the risk of data leakage caused by attacks on third-party cloud platforms in homomorphic encryption technology.

[0132] The Secure N-Party Real-Number Multiplication (SNPRM) protocol is as follows: Assume that N independent and mutually untrusted computing participants P1, P2, ..., P N , each participant holds a secret value a1, a2, ..., a N , with a1, a2, …, a N As input, we jointly execute a secure multi-party numerical multiplication protocol f(a1, a2, …, a N )=Output(v1,v2,…,v N )=a1×a2×…×a N , and finally each participant gets the corresponding output v1,v2,…,v N , and the output satisfies During the entire calculation process, each participant only knows the input and output data related to his own calculation process and cannot obtain any intermediate calculation results of other participants. Figure 6 As shown in the figure, the secure multi-party numerical multiplication problem is defined as follows:

[0133] Given N computing parties P1, P2, ..., P N , are independent and do not trust each other, each holding a private data stored only in its own computing node, namely a1, a2, …, a N N participants jointly execute a secure multi-party numerical multiplication protocol f(a1, a2, …, a N )=a1×a2×…×a N =U1+U2+…+U N , and finally each participant obtains their corresponding output U1,U2,…,U N , and sent to the calculation requester to obtain the desired secure multi-party numerical multiplication calculation result. During the calculation process, each participant can only obtain their own input and output information during the calculation process, and cannot obtain the intermediate calculation results and private data information held by other participants.

[0134] In terms of scalability, most existing schemes perform well in secure two-party numerical multiplication, but many problems arise when they are extended to secure multi-party numerical multiplication. The obfuscated circuit schemes used by the Obliv-C framework and the ABY framework will result in a large circuit scale when encountering large-scale data calculations, and the computational and communication overheads are very high; the secret sharing scheme will generate more information exchange when processing secure multi-party numerical multiplication, and the communication efficiency is low. Homomorphic encryption uses encryption technology itself, so the computational cost is very high when it comes to secure multi-party numerical multiplication.

[0135] Based on this, Figure 7As shown, the present application provides a secure multi-party numerical multiplication protocol, and the protocol flow is as follows:

[0136] (1) Pretreatment:

[0137] Step 1: Each participant jointly negotiates a positive integer m ≥ 2, and locally splits the private input value held by each party into m mutually unequal random positive numbers, and forms a private vector θ1 = (θ 11 ,θ 12 ,…,θ 1m )∈R m ,θ2=(θ 21 ,θ 22 ,…,θ 2m )∈R m ,......,θ N =(θ N1 ,θ N2 ,…,θ Nm )∈R m .

[0138] Step 2: Participant P1 converts the private vector θ1 into a private input matrix A1∈R as a row of the matrix 1×m For all participants P i (2≤i≤N), for θ i The m elements in the array are fully arranged, and each arrangement is converted into a random ordering vector, resulting in a total of s = m! random ordering vectors. The process is expressed as Among them, the perms function represents the m elements (θ j1 ,θ j2 ,…,θ jm ) is a full permutation operation, and then from {θ i1 ~θ is} randomly select m vectors θ ij (j∈{1,2,…,s}), together form the private input matrix A in the form of row vectors i ∈R m×m .

[0139] (2) Formal calculation:

[0140] Step 3: Participants P1 and P2 input their own private input matrices A1∈R based on the secure two-party matrix multiplication protocol and secure data obfuscation technology. 1×m and A2∈Rm× m , conduct the <1> Layer-safe two-way matrix multiplication calculation Get the results respectively

[0141] Step 4: Loop and execute the following process N-2 times: For the i-th (1≤i≤N-2)-th layer loop, based on the secure data obfuscation technology and the secure two-party matrix multiplication protocol, implement<i+1> The i+2 participants at the layer execute a total of i+1 rounds of the secure two-party matrix multiplication protocol (e.g. Figure 7 middle The one represented by is the i-th layer).<i+1> The jth (1≤j≤i+1) round of secure two-party matrix multiplication is performed by participant P j and participant P i+2 Enter their own private input matrix and A i+2 ∈R m×m ,calculate Get the results respectively Then the participant P i+2 Compute locally

[0142] (3) Dimensionality reduction transformation:

[0143] Step 5: All parties P i (1≤i≤N) to get the private output matrix After that, each of them sums the m elements of the matrix locally to achieve the conversion from one-dimensional matrix to numerical value, and finally obtains the private output numerical value. Then U i Send it to the computing requester, who will summarize it and get

[0144] It is easy to verify that:

[0145] Based on the above protocol flow, the present application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to a scenario in which multiple participants perform secure numerical multiplication calculation, and the number of multiple participants is greater than 2. The secure numerical multiplication calculation method based on scale transformation includes:

[0146] (1) The nth participant receives a secure multi-party numerical multiplication computation request sent by a computation requester, and determines an nth private input numerical value based on the secure multi-party numerical multiplication computation request; wherein n=1, 2, ..., N, where N is the number of the multiple participants.

[0147] (2) The N participants negotiate to determine a positive integer m greater than or equal to 2.

[0148] (3) The nth participant splits the nth private input value into m mutually unequal nth random positive numbers, composes the m mutually unequal nth random positive numbers into an nth private vector, and generates an nth private input matrix based on the nth private vector; wherein the sum of the m mutually unequal nth random positive numbers is equal to the nth private input value.

[0149] The step of generating the nth private input matrix based on the nth private vector specifically includes:

[0150] When n is 1, the nth private vector is used as the nth private input matrix;

[0151] When n is not 1, all elements in the nth private vector are fully arranged to obtain multiple arrangements, each arrangement corresponds to a random sorting vector; m random sorting vectors are randomly selected to form the nth private input matrix; wherein the number of arrangements is the factorial of m.

[0152] (4) N participants use N private input matrices as input and calculate N private output matrices using a secure two-party matrix multiplication protocol based on secure data obfuscation technology; among them, the private output matrix of the nth participant is the nth private output matrix.

[0153] (5) The nth participant calculates the sum of the elements of the nth private output matrix to obtain the nth private output value.

[0154] (6) The nth participant sends the nth private output value to the calculation requester; the calculation requester calculates the sum of the N private output values ​​to obtain the secure multi-party numerical multiplication result.

[0155] Among them, N participants use N private input matrices as input and use the secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate N private output matrices, specifically including:

[0156] (1) Determine i=1.

[0157] (2) For the i-th layer cycle, determine i+1 participants participating in the i-th layer cycle, where the i+1 participants include the first participant to the i+1th participant; wherein i=1, 2, ..., N-1.

[0158] (3) The j-th participant and the i+1-th participant use the j-th private input matrix and the i+1-th private input matrix as input, and use the secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the j-th intermediate matrix and the i+1-th intermediate matrix; where j=1, 2, ..., i.

[0159] (4) Determine whether i is equal to N-1.

[0160] (5) If yes, then the jth intermediate matrix is ​​used as the jth private output matrix, and the sum of all jth intermediate matrices and the i+1th intermediate matrix is ​​used as the i+1th private output matrix.

[0161] (6) If not, use the jth intermediate matrix as the jth private input matrix, use the sum of all jth intermediate matrices and the i+1th intermediate matrix as the i+1th private input matrix, increase i by 1, and return to the step of "for the i-th layer loop, determine the i+1 participants participating in the i-th layer loop".

[0162] This application also provides an alternative solution for a secure multi-party numerical multiplication protocol, such as Figure 8 As shown, the protocol flow is as follows:

[0163] Step 1: Participants P1 and P2 input their private values ​​a1 and a2 respectively based on the secure two-party numerical multiplication protocol to perform the <1> Layer-Secure Two-Party Numerical Multiplication Protocol Computation The numerical results are obtained respectively

[0164] Step 2: Loop and execute the following process N-2 times: For the i-th (1≤i≤N-2)-th layer loop, based on the secure two-party numerical multiplication protocol, implement<i+1> The i+2 participants at the layer execute a total of i+1 rounds of the secure two-party numerical multiplication protocol (e.g. Figure 8 middle The jth (1≤j≤i+1th round of secure two-party numerical multiplication protocol is represented by the participant P j and participant P i+2 Enter your own private input value and a i+2 ,calculate The numerical results are obtained respectively Then the participant P i+2 Compute locally

[0165] Step 3: All parties P i (1≤i≤N) Get the private value After that, you can get Then U i Send it to the computing requester, who will summarize it and get

[0166] It is easy to verify that:

[0167] Based on the above protocol flow, the present application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to a scenario in which multiple participants perform secure numerical multiplication calculation, and the number of multiple participants is greater than 2. The secure numerical multiplication calculation method based on scale transformation includes:

[0168] (1) The nth participant receives a secure multi-party numerical multiplication computation request sent by a computation requester, and determines an nth private input numerical value based on the secure multi-party numerical multiplication computation request; wherein n=1, 2, ..., N, where N is the number of the multiple participants.

[0169] (2) Determine i=1.

[0170] (3) For the i-th layer cycle, determine i+1 participants participating in the i-th layer cycle, where the i+1 participants include the first participant to the i+1th participant; wherein i=1, 2, ..., N-1.

[0171] (4) The jth participant and the i+1th participant use the jth private input value and the i+1th private input value as input, and use the above-mentioned secure numerical multiplication calculation method based on scale transformation to calculate the jth private output value and the i+1th private output value; where j=1, 2, ..., i.

[0172] (5) Determine whether i is equal to N-1.

[0173] (6) If so, the j-th private output value is used as the final j-th private output value, and the sum of all j-th private output values ​​and the (i+1)-th private output value is used as the final (i+1)-th private output value. The n-th participant sends the final n-th private output value to the calculation requester; the calculation requester calculates the sum of the N final private output values ​​to obtain the secure multi-party numerical multiplication calculation result.

[0174] (7) If not, use the j-th private output value as the j-th private input value, use the sum of all j-th private output values ​​and the (i+1)-th private output value as the (i+1)-th private input value, increase i by 1, and return to the step of "for the i-th layer loop, determine the (i+1) participants participating in the i-th layer loop".

[0175] This application proposes a secure multi-party numerical multiplication protocol based on the expansion of the secure two-party numerical multiplication protocol. The numerical value is converted into a matrix through scaling transformation. The final result can be obtained by performing parallel calculations of the round-robin secure two-party matrix multiplication protocol, which solves the problem of poor scalability of obfuscated circuits, secret sharing, and homomorphic encryption technologies. The secure multi-party numerical multiplication protocol proposed in this application, because its numerical value is randomly split into m different positive numbers, makes it possible to obtain the matrix result of each participant after executing the secure two-party matrix multiplication protocol. Even if there is partial data leakage (the number of leakages shall not exceed m), the original data security of each participant can be guaranteed. At the same time, this protocol does not need to rely on a third-party cloud platform, and can solve the risk of data leakage caused by attacks on third-party cloud platforms in homomorphic encryption technology.

[0176] This application proposes for the first time a privacy-preserving solution for the problem of secure two-party numerical multiplication. The key technical point is the introduction of a scaling method that transforms numerical space into matrix space. Based on a positive integer m agreed upon by both parties, the numerical value is split into vectors and then converted into matrices. This conversion process involves the privacy of the original data of the participants and is an important step to ensure security. The calculation is performed through a secure two-party matrix multiplication protocol based on secure data obfuscation technology. The calculation process is based on the real number domain, which can ensure the accuracy of floating-point operations with less loss, and the calculation complexity is only O(m). 2 ), compared with the higher complexity of ciphertext calculation, the space-for-time method is used to improve the calculation efficiency. The final result is generated by dimensionality reduction transformation, and the output matrix is ​​converted into a numerical value. By outputting only two numerical results, the security of the original matrix as the output result is protected. Compared with the method of repeatedly calling the secure two-party numerical multiplication protocol, the secure multi-party numerical multiplication protocol proposed in this application directly processes the data of all participants in preprocessing, and directly uses the output of each layer as the input of the next layer, eliminating the time of repeatedly calling the secure two-party numerical multiplication protocol for preprocessing. While improving the efficiency of multi-party computing through parallelization, it also reflects strong scalability.

[0177] This application proposes an implementation device for a secure two-party numerical multiplication protocol, such as Fig. 9 As shown. First, it is necessary to deploy the corresponding distributed computing framework on the computing participants participating in the two-party secure numerical multiplication task. The computing framework consists of five modules, including: task acquisition module, secure computing module, rule generation module, consensus computing module and data sending module. The task acquisition module is responsible for receiving and decoding the privacy computing request from the computing requester; the secure computing module automatically matches the corresponding secure computing protocol according to the parsed privacy computing request; the rule generation module implements the computing task splitting according to the asynchronous instruction set of the secure computing protocol, and different participants perform collaborative computing according to their corresponding rules; after receiving the assigned rules, the consensus computing module ensures the synchronization of the calculation and the consistency of the results through the consensus protocol; after the calculation is completed, the data sending module collects and transmits the calculation results of each participant to the computing requester.

[0178] The specific implementation plan is as follows: an external client sends a calculation request for secure two-party numerical multiplication to a network terminal where a distributed computing service is deployed through HTTP or GRPC communication protocol. When the task acquisition module of the node on the group network receives the calculation request for secure two-party numerical multiplication, it parses it and starts the secure computing service process of the corresponding computing participant nodes 1 and 2; when the task acquisition module completes the parsing of the corresponding computing requirements, it passes them to the secure computing module, performs a joint query through its internal interface, and synchronizes to the rule generation module in the two participating nodes after matching the corresponding secure computing protocol; the rule generation module will formulate different asynchronous parallel execution processes according to the different subtasks undertaken by the two different participating nodes, and maintain communication with the consensus computing module at each step of the execution; while the consensus computing module executes each step of the computing instructions on the two participating nodes, it broadcasts and maintains the consistency of the results of the distributed computing nodes on the chain and the stability of the control execution process; after waiting for the final computing protocol to be executed, the two participating nodes obtain the sub-results of each other's calculations, and then send the sub-results after the two parties are confused and split to the computing requester through the data sending module to obtain the correct computing results.

[0179] Based on the above-mentioned implementation device, the present application provides a secure numerical multiplication calculation device based on scale transformation, which is applied to a scenario in which two participants perform secure numerical multiplication calculations. The secure numerical multiplication calculation device based on scale transformation includes: a calculation requester and a task acquisition module corresponding to each participant, a security calculation module, a rule generation module, a consensus calculation module and a data sending module.

[0180] The task acquisition module is used to obtain a secure two-party numerical multiplication calculation request sent by a calculation requester.

[0181] The security calculation module, the rule generation module and the consensus calculation module are used to cooperate with each other to execute the above-mentioned secure numerical multiplication calculation method based on scale transformation to obtain the private output value of the participants.

[0182] The data sending module is used to send the private output value to the calculation requester.

[0183] The calculation requester is used to calculate the sum of the private output values ​​of all participants to obtain the result of the secure two-party numerical multiplication.

[0184] The present application also provides a secure numerical multiplication calculation device based on scale transformation, which is applied to a scenario in which multiple participants perform secure numerical multiplication calculations, and the number of multiple participants is greater than 2. The secure numerical multiplication calculation device based on scale transformation includes: a calculation requester and a task acquisition module corresponding to each participant, a security calculation module, a rule generation module, a consensus calculation module and a data sending module.

[0185] The task acquisition module is used to obtain a secure multi-party numerical multiplication calculation request sent by a calculation requester.

[0186] The security calculation module, the rule generation module and the consensus calculation module are used to cooperate with each other to execute the above-mentioned secure numerical multiplication calculation method based on scale transformation to obtain the private output value of the participants.

[0187] The data sending module is used to send the private output value to the calculation requester.

[0188] The calculation requester is used to calculate the sum of the private output values ​​of all participants to obtain the result of secure multi-party numerical multiplication.

[0189] This application has the following advantages:

[0190] (1) This application proposes a secure two-party numerical multiplication protocol in a semi-honest scenario based on secure data obfuscation technology. Compared with existing homomorphic encryption, secret sharing, and obfuscated circuit schemes, this protocol reduces the computational complexity to O(m 2 ) level, and the number of interactions in the constant round and the intermediate transmission data are all real numbers, which ensures that the communication overhead cost is controlled in a low range and takes into account the balance of security, lightweight and high efficiency.

[0191] (2) This application proposes a secure two-party numerical multiplication protocol, which converts the numerical multiplication into matrix multiplication through scaling transformation after two participating nodes jointly negotiate an m, thereby realizing parallel computing using the secure two-party matrix multiplication protocol, with high computing efficiency, few communication rounds, and no need to introduce any key encryption operations. At the same time, due to the characteristics of the secure two-party numerical multiplication protocol based on real number domain operations, it is not limited to integer computing tasks and can effectively avoid the precision problems caused by technologies such as obfuscated circuits and homomorphic encryption in the processing of floating-point numbers.

[0192] (3) This application expands on the idea of ​​a secure two-party numerical multiplication protocol and proposes a secure multi-party numerical multiplication protocol. For N participating nodes, a total of The final result can be obtained by a round-secure two-party matrix multiplication protocol, which reflects scalability and avoids the problems of building a huge circuit network when expanding based on obfuscated circuit technology and generating a large amount of information interaction when expanding based on secret sharing technology.

[0193] (4) The secure two-party numerical multiplication protocol and the secure multi-party numerical multiplication protocol proposed in this application have more security guarantees. Even if the result of the process-safe matrix multiplication is leaked slightly, the original data of each participating node can still be guaranteed not to be leaked. Moreover, the two protocols do not rely on a third-party cloud platform, thus avoiding the risk of privacy data leakage due to attacks on the third-party cloud platform.

[0194] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0195] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.

Claims

1. A secure numerical multiplication calculation method based on scale transformation is applied to a scenario where two parties perform secure numerical multiplication calculation, and is characterized in that: The secure numerical multiplication calculation method based on scale transformation includes: The first participant receives a secure two-party numerical multiplication calculation request sent by a calculation requester, and determines a first private input numerical value based on the secure two-party numerical multiplication calculation request; The second participant receives the secure two-party numerical multiplication calculation request sent by the calculation requester, and determines the second private input numerical value based on the secure two-party numerical multiplication calculation request; The first participant and the second participant negotiate to determine a positive integer m greater than or equal to 2; The first participant splits the first private input value into m mutually unequal first random positive numbers, forms a first private vector with the m mutually unequal first random positive numbers, and generates a first private input matrix with 1 row and m columns based on the first private vector; wherein the sum of the m mutually unequal first random positive numbers is equal to the first private input value; The second participant splits the second private input value into m mutually unequal second random positive numbers, forms a second private vector with the m mutually unequal second random positive numbers, and generates a second private input matrix with m rows and m columns based on the second private vector; wherein the sum of the m mutually unequal second random positive numbers is equal to the second private input value; The first participant uses the first private input matrix as input, and the second participant uses the second private input matrix as input, and uses the secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the first private output matrix and the second private output matrix; The first participant calculates the sum of the elements of the first private output matrix to obtain a first private output value; The second participant calculates the sum of the elements of the second private output matrix to obtain a second private output value; The first participant sends the first private output value to the calculation requester, and the second participant sends the second private output value to the calculation requester; the calculation requester calculates the sum of the first private output value and the second private output value to obtain a secure two-party numerical multiplication calculation result.

2. The secure numerical multiplication calculation method based on scaling according to claim 1, characterized in that: Generating a first private input matrix with 1 row and m columns based on the first private vector specifically includes: using the first private vector as the first private input matrix with 1 row and m columns; Generating a second private input matrix with m rows and m columns based on the second private vector specifically includes: performing full permutations on each element in the second private vector to obtain multiple permutations, each permutation corresponding to a random sorting vector; randomly selecting m random sorting vectors to form a second private input matrix with m rows and m columns; wherein the number of permutations is the factorial of m.

3. The secure numerical multiplication calculation method based on scaling according to claim 1, characterized in that: The first participant uses the first private input matrix as input, and the second participant uses the second private input matrix as input, and uses the secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the first private output matrix and the second private output matrix, specifically including: The auxiliary node generates a first random matrix, a second random matrix, a third random matrix and a fourth random matrix, and sends the first random matrix and the third random matrix to the first participant, and sends the second random matrix and the fourth random matrix to the second participant; wherein the product of the first random matrix and the second random matrix is ​​equal to the sum of the third random matrix and the fourth random matrix; The first participant calculates the sum of the first private input matrix and the first random matrix to obtain a first sum matrix, and sends the first sum matrix to the second participant; The second participant calculates the sum of the second private input matrix and the second random matrix to obtain a second sum matrix, and sends the second sum matrix to the first participant; The second participant randomly generates a second private output matrix, calculates a first product of the first sum matrix and the second private input matrix, calculates a difference between the fourth random matrix and the second private output matrix, calculates a sum of the first product and the difference, obtains a calculation matrix, and sends the calculation matrix to the first participant; The first participant calculates the sum of the calculation matrix and the third random matrix, calculates the second product of the first random matrix and the second sum matrix, calculates the difference between the sum and the second product, and obtains a first private output matrix.

4. A secure numerical multiplication calculation method based on scale transformation is applied to a scenario where two parties perform secure numerical multiplication calculation, characterized in that: The secure numerical multiplication calculation method based on scale transformation includes: The first participant receives a secure two-party numerical multiplication calculation request sent by a calculation requester, and determines a first private input numerical value based on the secure two-party numerical multiplication calculation request; The second participant receives the secure two-party numerical multiplication calculation request sent by the calculation requester, and determines the second private input numerical value based on the secure two-party numerical multiplication calculation request; The first participant and the second participant negotiate to determine a positive integer m greater than or equal to 2; The first participant splits the first private input value into m mutually unequal first random positive numbers, forms a first private vector with the m mutually unequal first random positive numbers, and generates a first private input matrix with 1 row and m columns based on the first private vector; wherein the sum of the m mutually unequal first random positive numbers is equal to the first private input value; The second participant splits the second private input value into m mutually unequal second random positive numbers, forms a second private vector with the m mutually unequal second random positive numbers, and generates a second private input matrix with m rows and m columns based on the second private vector; wherein the sum of the m mutually unequal second random positive numbers is equal to the second private input value; The second participant splits the second private input matrix by column to obtain m third private input matrices with m rows and 1 column; For each third private input matrix, the first participant uses the first private input matrix as input, and the second participant uses the third private input matrix as input, and calculates the first private value and the second private value using a secure two-party matrix multiplication protocol based on secure data obfuscation technology; The first participant calculates the sum of m first private values ​​to obtain a first private output value; The second participant calculates the sum of the m second private values ​​to obtain a second private output value; The first participant sends the first private output value to the calculation requester, and the second participant sends the second private output value to the calculation requester; the calculation requester calculates the sum of the first private output value and the second private output value to obtain a secure two-party numerical multiplication calculation result.

5. A method for secure numerical multiplication calculation based on scaling, applied to a scenario where multiple parties perform secure numerical multiplication calculation, the number of the multiple parties being greater than 2, characterized in that: The secure numerical multiplication calculation method based on scale transformation includes: The nth participant receives the secure multi-party numerical multiplication calculation request sent by the calculation requester, and determines the nth private input numerical value based on the secure multi-party numerical multiplication calculation request; wherein n=1, 2, ..., N, N is the number of the multiple participants; Determine i=1; For the i-th layer cycle, determine i+1 participants participating in the i-th layer cycle, where the i+1 participants include the first participant to the i+1th participant; wherein i=1, 2, ..., N-1; The jth participant and the i+1th participant use the jth private input value and the i+1th private input value as input, and use the secure numerical multiplication calculation method based on scale transformation described in claim 1 or claim 4 to calculate the jth private output value and the i+1th private output value; wherein j=1, 2, ..., i; Determine whether i is equal to N-1; If yes, the jth private output value is used as the final jth private output value, and the sum of all jth private output values ​​and the i+1th private output value is used as the final i+1th private output value. The nth participant sends the final nth private output value to the calculation requester; the calculation requester calculates the sum of the N final private output values ​​to obtain the secure multi-party numerical multiplication calculation result; If not, use the j-th private output value as the j-th private input value, use the sum of all j-th private output values ​​and the i+1-th private output value as the i+1-th private input value, increase i by 1, and return to the step of "for the i-th layer loop, determine the i+1 participants participating in the i-th layer loop".

6. A method for secure numerical multiplication calculation based on scaling, applied to a scenario where multiple parties perform secure numerical multiplication calculation, the number of the multiple parties being greater than 2, characterized in that: The secure numerical multiplication calculation method based on scale transformation includes: The nth participant receives the secure multi-party numerical multiplication calculation request sent by the calculation requester, and determines the nth private input numerical value based on the secure multi-party numerical multiplication calculation request; wherein n=1, 2, ..., N, N is the number of the multiple participants; N participants negotiate to determine a positive integer m greater than or equal to 2; The nth participant splits the nth private input value into m mutually unequal nth random positive numbers, forms an nth private vector with the m mutually unequal nth random positive numbers, and generates an nth private input matrix based on the nth private vector; wherein the sum of the m mutually unequal nth random positive numbers is equal to the nth private input value; N participants use N private input matrices as input and calculate N private output matrices using a secure two-party matrix multiplication protocol based on secure data obfuscation technology; the private output matrix of the nth participant is the nth private output matrix; The nth participant calculates the sum of each element of the nth private output matrix to obtain the nth private output value; The nth participant sends the nth private output value to the calculation requester; the calculation requester calculates the sum of the N private output values ​​to obtain the secure multi-party numerical multiplication result.

7. The secure numerical multiplication calculation method based on scaling according to claim 6, characterized in that: Generate the nth private input matrix based on the nth private vector, specifically including: When n is 1, the nth private vector is used as the nth private input matrix; When n is not 1, all elements in the nth private vector are fully arranged to obtain multiple arrangements, each arrangement corresponds to a random sorting vector; m random sorting vectors are randomly selected to form the nth private input matrix; wherein the number of arrangements is the factorial of m.

8. The secure numerical multiplication calculation method based on scaling according to claim 6, characterized in that: N participants use N private input matrices as input and use the secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate N private output matrices, including: Determine i=1; For the i-th layer cycle, determine i+1 participants participating in the i-th layer cycle, where the i+1 participants include the first participant to the i+1th participant; wherein i=1, 2, ..., N-1; The j-th participant and the i+1-th participant use the j-th private input matrix and the i+1-th private input matrix as input, and calculate the j-th intermediate matrix and the i+1-th intermediate matrix using the secure two-party matrix multiplication protocol based on secure data obfuscation technology; wherein j=1, 2, ..., i; Determine whether i is equal to N-1; If yes, the jth intermediate matrix is ​​used as the jth private output matrix, and the sum of all jth intermediate matrices and the i+1th intermediate matrix is ​​used as the i+1th private output matrix; If not, use the jth intermediate matrix as the jth private input matrix, use the sum of all jth intermediate matrices and the i+1th intermediate matrix as the i+1th private input matrix, increase i by 1, and return to the step of "for the i-th layer loop, determine the i+1 participants participating in the i-th layer loop".

9. A secure numerical multiplication calculation device based on scale transformation, applied to a scenario where two parties perform secure numerical multiplication calculation, characterized in that: The secure numerical multiplication computing device based on scale transformation includes: a task acquisition module corresponding to the computing requester and each participant, a secure computing module, a rule generating module, a consensus computing module and a data sending module; The task acquisition module is used to obtain a secure two-party numerical multiplication calculation request sent by a calculation requester; The security calculation module, the rule generation module and the consensus calculation module are used to cooperate with each other to execute the secure numerical multiplication calculation method based on scale transformation according to claim 1 or claim 4 to obtain the private output value of the participant; The data sending module is used to send the private output value to the calculation requester; The calculation requester is used to calculate the sum of the private output values ​​of all participants to obtain the result of the secure two-party numerical multiplication.

10. A secure numerical multiplication computing device based on scale transformation, applied to a scenario where multiple participants perform secure numerical multiplication computing, the number of the multiple participants being greater than 2, characterized in that: The secure numerical multiplication computing device based on scale transformation includes: a task acquisition module corresponding to the computing requester and each participant, a secure computing module, a rule generating module, a consensus computing module and a data sending module; The task acquisition module is used to obtain a secure multi-party numerical multiplication calculation request sent by a calculation requester; The security calculation module, the rule generation module and the consensus calculation module are used to cooperate with each other to execute the secure numerical multiplication calculation method based on scale transformation according to claim 5 or claim 6 to obtain the private output value of the participant; The data sending module is used to send the private output value to the calculation requester; The calculation requester is used to calculate the sum of the private output values ​​of all participants to obtain the result of secure multi-party numerical multiplication.

Citation Information

Patent Citations

  • Three-party secure multiplication method and system for privacy computing

    CN116431968A

  • Privacy calculation method and device for secure tripartite matrix hybrid multiplication

    CN117290866A

  • Privacy calculation method and system for secure two-square matrix hybrid multiplication and medium

    CN117313121A

  • Methods and apparatuses for jointly processing data by two parties for data privacy protection

    US20240137206A1