A scale transform-based secure numerical multiplication calculation method and device
By employing a secure numerical multiplication computation method based on scale transformation, the input values are split into matrices for parallel computation, which solves the problems of low computational efficiency, low communication efficiency, and reliance on third-party cloud platforms in existing technologies, and achieves efficient and accurate secure numerical multiplication computation.
Patent Information
- Application Number
- CN202411397347.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-08
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2044-10-08
AI Technical Summary
Existing secure numerical multiplication calculation schemes suffer from low computational efficiency, low communication efficiency, and insufficient computational accuracy. Furthermore, they rely on third-party cloud platforms, posing a risk of data leakage.
A secure numerical multiplication computation method based on scaling transformation is adopted. The private input values of the participants are split into random positive numbers to form a matrix. A secure two-party matrix multiplication protocol with secure data obfuscation technology is used for parallel computation to obtain a private output matrix and reduce its dimensionality to private output values. This avoids a large amount of information exchange and encrypted computation, and ensures computational accuracy and efficiency.
It improves computing and communication efficiency, enhances computing accuracy, and does not rely on third-party cloud platforms, thereby strengthening security and avoiding the risk of data leakage.
Smart Images

Figure CN119292558B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of secure numerical multiplication calculation, in particular to a secure numerical multiplication calculation method based on scale transformation and related device. BACKGROUND
[0002] In recent years, artificial intelligence large model technology has developed rapidly, and the power of data has promoted the development of various fields. As the importance of data is increasing, people pay more and more attention to the privacy protection of data. Under the global huge data production, the importance of data privacy protection is increasing, and the difficulty of effectively protecting private data and preventing data leakage is also increasing. Due to privacy issues and related data regulations, how to break the data silos, protect the privacy and security of data of all parties, combine general artificial intelligence large model technology, realize the fusion and circulation of multi-source data in distributed heterogeneous scenarios, and completely release the great value of global massive data in the WEB3.0 era background is a very meaningful research problem. In the privacy process of artificial intelligence large model, many calculation processes in the scene of logistic regression privacy, multi-layer perception privacy, etc. often need to use secure numerical multiplication calculation to complete, in addition, secure numerical multiplication calculation can also be applied to the implementation of secure vector bit multiplication and secure matrix bit multiplication operations, so as to have a wider application scenario.
[0003] At present, the commonly used secure numerical multiplication calculation schemes at home and abroad mainly include the following three kinds:
[0004] (1) Obliv-C framework proposed by Zahur and Evans and ABY framework proposed by Demmler, Schneider, etc. all adopt confusion circuit technology. Confusion circuit technology converts mathematical operations (addition and multiplication) into Boolean circuits, and combines secure shuffling and Oblivious Transfer (Oblivious Transfer) and other encryption technologies to protect the corresponding circuit output of each input.
[0005] (2) MP-SPDZ framework proposed by Keller and Crypten framework proposed by Knott, Venkataraman, etc. all adopt secret sharing technology to hide secret values. Each secret value is randomly split into multiple slices, and through the interaction of each participant, the threshold number of nodes is used for reconstruction and combination when needed, to realize the solution of secure numerical multiplication calculation task.
[0006] (3) Helib proposed by Halevi and Shoup is a homomorphic encryption library, which mainly implements the Brakerski-Gentry-Vaikuntanathan (BGV) homomorphic encryption scheme. The data is first encrypted locally by the homomorphic encryption algorithm, then the secure numerical multiplication calculation task is performed, and finally the private key is decrypted to solve the privacy protection calculation problem.
[0007] However, the Obliv-C framework and the ABY framework both have a general secure numerical multiplication calculation scheme based on a garbled circuit. The garbled circuit technology can support secure numerical multiplication calculation, but this scheme requires the construction of a large number of circuits, resulting in high computational and space complexity and low computational efficiency. In addition, this technology is essentially designed for Boolean operations, and there are precision problems in the processing of floating-point numbers, which is not very practical. The MP-SPDZ framework and the Crypten framework are based on the idea of secret sharing, which divides the number into several parts to hide the true value of the two-party number. Only when enough participants come together can the secret value be reconstructed. However, this scheme involves a large number of message exchanges between multiple parties, which can lead to low communication efficiency. The Helib library uses a homomorphic encryption scheme, which encrypts the data using a public key and performs calculations on the ciphertext, and then decrypts the result using a private key. Although the security of the calculation result is guaranteed, the complexity of the ciphertext calculation and the dependence on a third-party cloud platform for calculation can lead to low computational and communication efficiency, and the risk of data leakage if the third-party cloud platform is attacked. SUMMARY
[0008] The purpose of the present application is to provide a scale transformation-based secure numerical multiplication calculation method and device, which can improve the computational efficiency, communication efficiency and calculation accuracy, and does not depend on a third-party cloud platform, further ensuring security.
[0009] To achieve the above-mentioned purpose, the present application provides the following solutions:
[0010] In a first aspect, the present application provides a scale transformation-based secure numerical multiplication calculation method, which is applied to a scenario of secure numerical multiplication calculation between two participants. The scale transformation-based secure numerical multiplication calculation method comprises:
[0011] The first participant receives a secure two-party numerical multiplication calculation request sent by a calculation request party, and determines a first private input value based on the secure two-party numerical multiplication calculation request;
[0012] The second participant receives a secure two-party numerical multiplication calculation request sent by a calculation request party, and determines a second private input 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 first random positive numbers unequal to each other, forms a first private vector with the m first random positive numbers unequal to each other, and generates a first private input matrix of 1 row and m columns based on the first private vector; wherein the sum of the m first random positive numbers unequal to each other is equal to the first private input value;
[0015] The second participant splits the second private input value into m second random positive numbers unequal to each other, forms a second private vector with the m second random positive numbers unequal to each other, and generates a second private input matrix of m rows and m columns based on the second private vector; wherein the sum of the m second random positive numbers unequal to each other is equal to the second private input value;
[0016] The first participant takes the first private input matrix as input, the second participant takes the second private input matrix as input, and a first private output matrix and a second private output matrix are calculated by using a secure two-party matrix multiplication protocol based on a secure data confusion technology;
[0017] The first participant calculates the sum of each element of the first private output matrix to obtain a first private output value;
[0018] The second participant calculates the sum of each element 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 computing requestor, and the second participant sends the second private output value to the computing requestor; the computing requestor is configured to calculate the sum of the first private output value and the second private output value to obtain a secure two-party numerical multiplication 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 of secure numerical multiplication calculation of two participants, and includes the following steps:
[0021] The first participant receives a secure two-party numerical multiplication calculation request sent by the computing requestor, and determines a first private input value based on the secure two-party numerical multiplication calculation request;
[0022] The second participant receives a secure two-party numerical multiplication calculation request sent by the computing requestor, and determines a second private input 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 first random positive numbers which are not equal to each other, forms a first private vector with the m first random positive numbers which are not equal to each other, and generates a first private input matrix of 1 row and m columns based on the first private vector; wherein the sum of the m first random positive numbers which are not equal to each other is equal to the first private input value;
[0025] The second participant splits the second private input value into m second random positive numbers which are not equal to each other, forms a second private vector with the m second random positive numbers which are not equal to each other, and generates a second private input matrix of m rows and m columns based on the second private vector; wherein the sum of the m second random positive numbers which are not equal to each other 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 of m rows and 1 column;
[0027] For each third private input matrix, the first participant takes the first private input matrix as input, the second participant takes the third private input matrix as input, and a first private value and a second private value are calculated by using a secure two-party matrix multiplication protocol based on a secure data confusion technology;
[0028] The first participant calculates the sum of the 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 computing requestor, and the second participant sends the second private output value to the computing requestor; the computing requestor is configured to calculate 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 of secure numerical multiplication calculation of multiple participants, and the number of the multiple participants is greater than 2. The secure numerical multiplication calculation method based on scale transformation comprises the following steps:
[0032] The nth participant receives a secure multi-party numerical multiplication calculation request sent by a computing requestor, and determines an nth private input value based on the secure multi-party numerical multiplication calculation request; wherein n = 1, 2, …, N, and N is the number of the multiple participants;
[0033] It is determined that i = 1;
[0034] For the i-th layer loop, determine i+1 participants participating in the i-th layer loop, the i+1 participants including the first participant to the i+1 participant; wherein, i=1, 2, …, N-1;
[0035] The j-th participant and the i+1 participant take the j-th private input value and the i+1 private input value as input, and calculate the j-th private output value and the i+1 private output value by using the scale transformation-based secure value multiplication calculation method in claim 1 or claim 4; wherein, j=1, 2, …, i;
[0036] Determine whether i is equal to N-1;
[0037] If yes, take the j-th private output value as the final j-th private output value, take the sum of all j-th private output values and i+1 private output values as the final i+1 private output value, and the n-th participant sends the final n-th private output value to the calculation requestor; the calculation requestor is used to calculate the sum of N final private output values to obtain the secure multi-party value multiplication calculation result;
[0038] If no, take the j-th private output value as the j-th private input value, take the sum of all j-th private output values and i+1 private output values as the i+1 private input value, increase i by 1, and return to the step of "for the i-th layer loop, determine i+1 participants participating in the i-th layer loop".
[0039] In a fourth aspect, the present application provides a scale transformation-based secure value multiplication calculation method, which is applied to a scenario of secure value multiplication calculation of multiple participants, the number of the multiple participants is greater than 2, and the scale transformation-based secure value multiplication calculation method comprises:
[0040] The n-th participant receives a secure multi-party value multiplication calculation request sent by the calculation requestor, and determines an n-th private input value based on the secure multi-party value multiplication calculation request; wherein, n=1, 2, …, N, N is the number of the multiple participants;
[0041] The N participants negotiate and determine a positive integer m greater than or equal to 2;
[0042] The n-th participant splits the n-th private input value into m mutually unequal n-th random positive numbers, forms an n-th private vector by using the m mutually unequal n-th random positive numbers, and generates an n-th private input matrix based on the n-th private vector; wherein, the sum of the m mutually unequal n-th random positive numbers is equal to the n-th private input value;
[0043] N participants take N private input matrices as inputs, and obtain N private output matrices by using a secure two-party matrix multiplication protocol based on a secure data confusion technology; wherein, the private output matrix of the nth participant is the nth private output matrix;
[0044] The nth participant calculates the sum value 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 computing requester; and the computing requester is configured to calculate the sum value of the N private output values to obtain the secure multi-party numerical multiplication calculation result.
[0046] In a fifth aspect, the present application provides a secure numerical multiplication calculation device based on scale transformation, which is applied to a scenario of secure numerical multiplication calculation of two participants, and comprises a computing requester and a task acquisition module, a secure calculation module, a rule generation module, a consensus calculation module and a data sending module corresponding to each participant;
[0047] The task acquisition module is configured to acquire a secure two-party numerical multiplication calculation request sent by the computing requester;
[0048] The secure calculation module, the rule generation module and the consensus calculation module are configured to cooperate with each other to execute the secure numerical multiplication calculation method based on scale transformation described above to obtain the private output value of the participant;
[0049] The data sending module is configured to send the private output value to the computing requester;
[0050] The computing requester is configured to calculate the sum value of the private output values of all participants to obtain the secure two-party numerical multiplication calculation result.
[0051] In a sixth aspect, the present application provides a secure numerical multiplication calculation device based on scale transformation, which is applied to a scenario of secure numerical multiplication calculation of multiple participants, and the number of the multiple participants is greater than 2, and the secure numerical multiplication calculation device based on scale transformation comprises a computing requester and a task acquisition module, a secure calculation module, a rule generation module, a consensus calculation module and a data sending module corresponding to each participant;
[0052] The task acquisition module is configured to acquire a secure multi-party numerical multiplication calculation request sent by the computing requester;
[0053] The secure calculation module, the rule generation module and the consensus calculation module are configured to cooperate with each other to execute the secure numerical multiplication calculation method based on scale transformation described above to obtain the private output value of the participant;
[0054] The data sending module is configured to send the private output value to the computing requester;
[0055] The computing requester calculates the sum of the private output values of all the participants to obtain the secure multi-party numerical multiplication calculation result.
[0056] According to the specific embodiments provided in the application, the following technical effects are disclosed:
[0057] The application provides a secure numerical multiplication calculation method and device based on scale transformation. By introducing scale transformation, the private input values of each participant can be converted into a private input matrix. Subsequently, a secure two-party matrix multiplication protocol based on secure data confusion technology can be called to obtain the private output matrix of each participant in parallel, and the private output value of each participant is further obtained by reducing the dimension, thereby solving the problem of low communication efficiency caused by the need for a large amount of information exchange. Moreover, no key needs to be introduced, and no calculation needs to be performed in the ciphertext space, so that higher calculation accuracy and higher calculation efficiency are achieved, and the application does not need to rely on a third-party cloud platform, thereby improving the calculation efficiency, communication efficiency and calculation accuracy, and further ensuring the security without relying on the third-party cloud platform. BRIEF DESCRIPTION OF DRAWINGS
[0058] In order to more clearly illustrate the technical solutions in the embodiments of the application or the prior art, the drawings needed in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the application, and for those skilled in the art, other drawings can be obtained from these drawings without creative labor.
[0059] Figure 1 A secure two-party numerical multiplication calculation problem schematic diagram provided by the application.
[0060] Figure 2 A secure two-party numerical multiplication protocol flow schematic diagram provided by the application.
[0061] Figure 3 A secure two-party matrix multiplication calculation problem schematic diagram provided by the application.
[0062] Figure 4 A secure data confusion technology principle schematic diagram provided by the application.
[0063] Figure 5 A secure two-party matrix multiplication protocol flow schematic diagram provided by the application.
[0064] Figure 6 A secure multi-party numerical multiplication calculation problem schematic diagram provided by the application.
[0065] Figure 7 A secure multi-party numerical multiplication protocol flow schematic diagram provided by the application.
[0066] Figure 8 Another secure multi-party real-number multiplication protocol flow diagram provided for the present application.
[0067] Figure 9 An implementation device diagram of the secure 2-party real-number multiplication protocol applied to the distributed computing participants provided for the present application. DETAILED DESCRIPTION
[0068] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.
[0069] The secure 2-party real-number multiplication protocol (S2PRM) refers to: assuming that there are two mutually untrusted participants P1 and P2, each participant holds a secret number x and y, and takes x and y as inputs, and both of them execute a secure 2-party real-number multiplication protocol f(x, y) = Output(v1, v2) = x * y, and finally each participant gets the corresponding output v1, v2, and the output satisfies v1 + v2 = x * y. In the entire calculation process, each participant only knows the input and output data involved in his own calculation process, and cannot obtain any intermediate calculation results about the other participant. As shown in the following formula: Figure 1 The secure 2-party real-number multiplication calculation problem is defined as follows:
[0070] It is known that two participants Alice and Bob are independent and untrusted, Alice holds a private data a stored only in his own computing node, Bob holds a private data b stored only in his own computing node, and both participants execute a secure 2-party real-number multiplication protocol f(a, b) = a * b = U a + U b , and finally each participant gets the corresponding output U a , U b and sends it to the computing requester to get the expected secure 2-party real-number multiplication calculation result. In the calculation process, each participant can only obtain his own input and output information in the calculation process, and cannot obtain the intermediate calculation results and the private data information held by the other participant.
[0071] The existing solutions related to the secure two-party numerical multiplication calculation problem are mostly developed based on traditional basic cryptography primitives such as homomorphic encryption, secret sharing, and garbled circuit. These methods rely on ciphertext space calculation with extremely high time complexity and space complexity, which leads to low practicability and insufficient calculation efficiency, and are mostly implemented by outsourcing cloud service systems. The credibility of the third-party cloud service system is not high, and the attack of malicious nodes may cause the leakage of intermediate calculation results or key information, further causing the security risk of original data privacy leakage.
[0072] The present application mainly focuses on the secure numerical multiplication calculation problem, and provides an efficient, secure and reliable privacy numerical calculation method. At this time, the secure two-party numerical multiplication protocol design is as shown in Figure 2 .
[0073] The secure two-party numerical multiplication calculation problem usually occurs in the privacy of activation functions of logistic regression and multilayer perception, and in the application scenarios of privacy protection vector bit multiplication and matrix bit multiplication, and has wide research value. Therefore, the initial input of the Alice node in the protocol is a numerical value a, and the initial input of the Bob node is a numerical value b. On this basis, an efficient parallel secure two-party numerical multiplication protocol is proposed as shown in Figure 2 . The protocol flow is as follows:
[0074] (1) Preprocessing:
[0075] Step 1: The participants Alice node and the participants Bob node jointly negotiate a positive integer m≥2, and each locally splits the private input value a, b they hold into m random positive numbers that are not equal to each other, and forms a private vector α=(α1, α2, …, α m )∈R m and β=(β1, β2, …, β m )∈R m , wherein and α i and β i are the i-th random positive number.
[0076] Step 2: The participants Alice node converts the private vector α as a row of a matrix into a private input matrix A∈R 1×m . The participants Bob node performs a full permutation on the m elements in the private vector β, and converts each permutation into a random ordering vector, obtaining s=m! random ordering vectors, and the process is represented as wherein the perms function represents the permutation of the m elements (β1, β2, …, β m) one time full permutation operation, and then randomly pick m vectors θ s} from the set. j (j∈{1,2,…,s}) to form the private input matrix B∈R m×m .
[0077] (2) Formal calculation:
[0078] Step 3: Participants Alice node and participant Bob node based on the secure two-party matrix multiplication protocol, respectively input their private input matrix A∈R 1×m and B∈R m×m , a round of secure two-party matrix multiplication calculation f S2PM (A,B) = AxB. After the execution of the secure two-party matrix multiplication calculation protocol, f S2PM (A,B) is split into V a , V b ∈R 1×m two results based on secure data confusion technology, respectively sent to the participant Alice node and participant Bob node as its private output matrix, and the two private output matrix satisfy the relationship f S2PM (A,B) = V a + V b = AxB.
[0079] (3) Dimension reduction conversion:
[0080] Step 4: After the participant Alice node and the participant Bob node get the private output matrix V a , V b ∈R 1×m , respectively, sum the m elements of the private output matrix locally, respectively get the private output value U a = sum(V a ) and U b = sum(V b ), then send U a and U b to the calculation requestor, and the calculation requestor gets f(a,b) = U a + U b = a x b after summarizing.
[0081] It can be easily verified that:
[0082] In step 3, the secure two-party matrix multiplication protocol (S2PM) refers to: assuming that there are two mutually distrustful participants P1 and P2, each participant holds a secret matrix x and y respectively, and a secure two-party matrix multiplication protocol f(x, y) = Output(v1, v2) = x*y is executed, and each participant finally obtains the corresponding output v1 and 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 his own calculation process and cannot obtain any intermediate calculation results about the other participant. As shown in Figure 3 The secure two-party matrix multiplication calculation problem is defined as follows:
[0083] There are two computing participants Alice and Bob, who are independent and mutually distrustful, Alice holds a private data matrix A with a dimension of nxs and only stored in his own computing node, Bob holds a private data matrix B with a dimension of sxm and only stored in his own computing node, and the two participants want to realize f(A, B) = AB = V a +V b by jointly executing a secure two-party matrix multiplication protocol, and each participant finally obtains the corresponding output matrix V a , V b with a dimension of n x m, and sends it to the computing requester to obtain the desired secure two-party matrix product result. During the calculation process, each participant can only know his own input and output information and cannot obtain the intermediate calculation results and data information of the other participant.
[0084] For most multi-party computations, the process of realizing secure calculation usually involves multiple interactions, which inevitably faces a problem: how to ensure the security of the intermediate calculation results. For example, when the two-party matrix product result AxB is taken as the intermediate calculation result, whether it is the participant Alice node or the participant Bob node, it has obtained the result of the final matrix AxB, and it is possible to deduce the data information of the other party, so in the process of privacy calculation, not only the security of the initial input data needs to be ensured, but also the security of the intermediate calculation result needs to be ensured. To solve this problem, the secure data disguising technology is introduced.
[0085] The security data confusion technique is a data protection means for protecting the intermediate result in multi-party secure computation. The computation result is randomly split by reasonably constructing the computation protocol, so that the multi-party outputs jointly constitute the real target computation result in the form of linear combination, and finally the one-time one-mic data privacy protection effect is realized. The application proposes a security data confusion technique, which splits any multi-purpose operation into a new multi-purpose addition for confusing the intermediate result. The principle is shown in Figure 4 . k k (A i ,B i ), wherein F k is the target computation function of the kth step, A i is the private input data of the kth step belonging to Alice node, and B i is the private input data of the kth step belonging to Bob node. In the kth step of executing the multi-party secure computation protocol, the intermediate result S k will strictly follow the following constraints: Alice node only knows the computation result A k belonging to itself, Bob node only knows the computation result B k belonging to itself, and A k +B k =S k . The 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. In the whole process, Alice node and Bob node are not allowed to exchange each other's data information, including A k and B k split from the intermediate result. Similarly, for the k+1th step, the input and are composed of the output A k and B k of the kth step of Alice node and Bob node, and its output A k+1 and B k+1 satisfy Alice node only knows the computation result A k+1 belonging to itself, and Bob node only knows the computation result B k+1 belonging to itself.Therefore, as long as the intermediate result is split into two random data items and stored separately by the two participants at each step of the computation, it can be guaranteed that no party can deduce the original data item from this obfuscated and encrypted data, thus making the entire privacy computation process highly secure.
[0086] like Figure 5 As shown, this application proposes a secure two-way matrix multiplication protocol based on secure data obfuscation technology. The protocol flow is as follows:
[0087] Step 1: The auxiliary node (also known as the Commodity Server, CS) generates two pairs of random matrices, specifically in the form of a random matrix R of dimension n×s. a A random matrix R of dimension s×m b And two random matrices r of dimension n×m a r b These random matrices must strictly satisfy the following constraint r a +r b =R a ·R b Then the auxiliary node will generate random matrix pairs (R). a ,r a ) is sent to the participating Alice node, and the random matrix pair (R) is sent to the Alice node. b ,r b Send it to Bob node, one of the participants.
[0088] Step 2: The participating Alice node receives the corresponding random matrix pair (R) a ,r a After that, its internal calculation And send it to the participating node Bob.
[0089] Step 3: Participant Bob node receives the corresponding random matrix pair (R) b ,r b After that, its internal calculation And send it to the participating Alice node.
[0090] Step 4: Participant Bob node receives the matrix sent by participant Alice node. Then, a random matrix V is secretly generated internally. b ∈R n×m And secretly calculate the matrix locally. And send it to the participating Alice node.
[0091] Step 5: After receiving T, the participating Alice node secretly computes the matrix locally.
[0092] Step 6: the participant Alice node and the participant Bob node respectively send their corresponding final obfuscated split results V a , V b to the computing requester, and the computing requester obtains the final product AB = V a + V b by summarizing.
[0093] It can be easily verified that:
[0094]
[0095] Based on the above protocol process, the application provides a scale transformation-based secure numerical multiplication calculation method, which is applied to the scene of secure numerical multiplication calculation of two participants. The scale transformation-based secure numerical multiplication calculation method comprises the following steps:
[0096] (1) The first participant receives a secure two-party numerical multiplication calculation request sent by the computing requester, and determines a first private input value based on the secure two-party numerical multiplication calculation request.
[0097] (2) The second participant receives a secure two-party numerical multiplication calculation request sent by the computing requester, and determines a second private input value based on the secure two-party numerical multiplication calculation request.
[0098] (3) The first participant and the second participant negotiate to determine a positive integer m greater than or equal to 2.
[0099] (4) The first participant splits the first private input value into m first random positive numbers which are not equal to each other, forms a first private vector by using the m first random positive numbers which are not equal to each other, 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 first random positive numbers which are not equal to each other is equal to the first private input value.
[0100] The first private input matrix with 1 row and m columns is generated based on the first private vector, and specifically includes: taking 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 second random positive numbers which are not equal to each other, forms a second private vector by using the m second random positive numbers which are not equal to each other, 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 second random positive numbers which are not equal to each other is equal to the second private input value.
[0102] The second private input matrix of m rows and m columns is generated based on the second private vector, and specifically includes: performing full permutation on each element in the second private vector to obtain a plurality of permutations, each permutation corresponding to a random ordering vector; and randomly selecting m random ordering vectors to form the second private input matrix of m rows and m columns; wherein the number of permutations is the factorial of m.
[0103] (6) The first participant inputs the first private input matrix, and the second participant inputs the second private input matrix, and the first private output matrix and the second private output matrix are calculated by using a secure two-party matrix multiplication protocol based on a secure data confusion technology.
[0104] (7) The first participant calculates the sum of each element of the first private output matrix to obtain a first private output value.
[0105] (8) The second participant calculates the sum of each element of the second private output matrix to obtain a second private output value.
[0106] (9) The first participant sends the first private output value to the calculation requestor, and the second participant sends the second private output value to the calculation requestor; and the calculation requestor is used for calculating the sum of the first private output value and the second private output value to obtain a secure two-party value multiplication calculation result.
[0107] The first participant inputs the first private input matrix, and the second participant inputs the second private input matrix, and the first private output matrix and the second private output matrix are calculated by using a secure two-party matrix multiplication protocol based on a secure data confusion technology, and specifically include:
[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 the calculation matrix, and sends the calculation matrix to the first participant.
[0112] (5) The first participant calculates the sum of the computation 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 the first private output matrix.
[0113] This application also provides an alternative to a secure two-party numerical multiplication protocol, the protocol flow of which is as follows:
[0114] Step 1: Participating nodes Alice and Bob jointly negotiate a positive integer m≥2, and each node locally splits its private input value into m distinct random positive numbers, forming a private vector α=(α1,α2,…,α…). m )∈R m and β=(β1,β2,…,β) m )∈R m ,in, and
[0115] Step 2: Participant Bob node performs full permutations of the m elements in the private vector β, and transforms each permutation into a random sorted vector, resulting in a total of s = m! random sorted vectors. This process is represented as follows: The perms function represents the expression for m elements (β1, β2, ..., β...). m A full permutation operation of ) is performed, followed by permutations from {θ1 to θ2}. s Randomly select m vectors θ from} j (j∈{1,2,…,s}), together in the form of row vectors, constitute the private input matrix B∈R. m×m Then, the participating node Bob will take all column vectors from matrix B. Extract, where the column vector
[0116]
[0117] Step 3: Participating nodes Alice and Bob perform m rounds of secure two-party matrix multiplication based on a secure two-party matrix multiplication protocol. In the i-th (1≤i≤m) round, they respectively input their private input matrix α∈R. 1×m and calculate After the security two-party matrix multiplication calculation protocol is executed, the round calculation Based on the security data confusion technology is split into V ai , V bi Two numerical results are respectively sent to the participant Alice node and the participant Bob node as their private numerical values, and the two private numerical values satisfy the relationship
[0118] Step 4: The participant Alice node and the participant Bob node respectively obtain all the private numerical values V ai , V bi After (1≤i≤m), they respectively sum them up locally to obtain private output numerical values and Then send U a and U b to the calculation requestor, and the calculation requestor obtains f(a,b) = U a + U b = a x b after summarizing.
[0119] It is easy to verify that:
[0120] Based on the above protocol process, the application provides a security numerical multiplication calculation method based on scale transformation, which is applied to the scene of security numerical multiplication calculation of two participants. The security numerical multiplication calculation method based on scale transformation comprises:
[0121] (1) The first participant receives the security two-party numerical multiplication calculation request sent by the calculation requestor, and determines the first private input numerical value based on the security two-party numerical multiplication calculation request.
[0122] (2) The second participant receives the security two-party numerical multiplication calculation request sent by the calculation requestor, and determines the second private input numerical value based on the security two-party numerical multiplication calculation request.
[0123] (3) The first participant and the second participant negotiate to determine a positive integer m greater than or equal to 2.
[0124] (4) The first participant splits the first private input numerical 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 of 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 numerical value.
[0125] (5) The second participant splits the second private input value into m second random positive numbers which are not equal to each other, forms a second private vector with the m second random positive numbers which are not equal to each other, and generates a second private input matrix of m rows and m columns based on the second private vector; wherein the sum of the m second random positive numbers which are not equal to each other 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 each of which is of m rows and 1 column.
[0127] (7) For each third private input matrix, the first participant takes the first private input matrix as input, the second participant takes the third private input matrix as input, and a first private value and a second private value are calculated by using a secure two-party matrix multiplication protocol based on a secure data confusion technique.
[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 requestor, and the second participant sends the second private output value to the calculation requestor; the calculation requestor is used to calculate 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 secure two-party numerical multiplication protocol is designed based on the secure data confusion technique, does not need to introduce any key, and guarantees the "one-time one-key" security while taking into account the higher calculation precision and lower calculation cost requirement due to the characteristics of confusion encryption data based on the real number field; the numerical value is converted into a matrix through scale transformation, and the distribution law and the combination law of numerical multiplication are used to ensure that only one round of secure two-party matrix multiplication protocol needs to be called to obtain the final result in parallel, thereby solving the problem of low communication efficiency caused by a large amount of information exchange in the secret sharing technology; the secure two-party numerical multiplication protocol proposed in the application can guarantee the safety of the original data of each participant even if there is partial data leakage (the number of leaked data cannot exceed m) after the secure two-party matrix multiplication protocol is executed and the private output matrix result of each participant is obtained, because the numerical value is randomly split into m positive numbers which are not equal to each other. 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 the third-party cloud platform in the homomorphic encryption technology.
[0132] Secure N-Party Real-Number Multiplication (SNPRM) is a protocol that assumes N independent and untrusted computational participants P1, P2, ..., P... N Each participant holds a secret value a1, a2, ..., a N , with a1, a2, ..., a N As input, a secure multi-party numerical multiplication protocol f(a1,a2,…,a) is jointly executed. N = Output(v1, v2, ..., v N )=a1×a2×…×a N Ultimately, each participant receives a corresponding output v1, v2, ..., v N And the output satisfies Throughout the computation process, each participant only knows the input and output data relevant to their own computation flow and cannot obtain any intermediate computation results from other participants. For example... Figure 6 As shown, the problem of safe multi-party numerical multiplication is defined as follows:
[0133] Given N computational participants P1, P2, ..., P N They are independent and distrustful of each other, each holding a private set of data stored only on its own computing node, namely a1, a2, ..., a N N parties jointly execute a secure multi-party numerical multiplication protocol f(a1,a2,…,a…). N )=a1×a2×…×a N =U1+U2+…+U N Ultimately, each participant receives its corresponding output U1, U2, ..., U N The results are then sent to the requesting party to obtain the desired secure multi-party numerical multiplication calculation result. During the calculation process, each participating party can only obtain its own input and output information and cannot obtain the intermediate calculation results or private data information held by other participating parties.
[0134] Regarding scalability, most existing solutions perform well for secure two-party numerical multiplication, but encounter numerous problems when extending to secure multi-party numerical multiplication. The obfuscated circuit schemes used in the Obliv-C and ABY frameworks result in massive circuit size and extremely high computational and communication overhead when dealing with large-scale data computations. Secret-sharing schemes generate significant information exchange and suffer from low communication efficiency when handling secure multi-party numerical multiplication. Homomorphic encryption, due to its inherent encryption technology, incurs very high computational costs when involving secure multi-party numerical multiplication.
[0135] Based on this, such as Figure 7As shown, this application provides a secure multi-party numerical multiplication protocol, the protocol flow of which is as follows:
[0136] (1) Preprocessing:
[0137] Step 1: Each participant agrees on a positive integer m ≥ 2, and locally splits their private input value into m distinct random positive numbers, forming 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 its private vector θ1 into a row of a matrix, transforming it into a private input matrix A1∈R. 1×m For all participating parties P i (2≤i≤N), for θ i Given m elements, perform all permutations and convert each permutation into a random sorted vector, resulting in s = m! random sorted vectors. The process is represented as follows: The perms function represents the expression for m elements (θ) j1 ,θ j2 ,…,θ jm A full permutation operation of ) is performed, followed by a permutation from {θ}. i1 ~θ is Randomly select m vectors θ from} ij (j∈{1,2,…,s}), together in the form of row vectors, constitute the private input matrix A. i ∈R m×m .
[0139] (2) Formal calculation:
[0140] Step 3: Participants P1 and P2, based on the secure two-party matrix multiplication protocol and secure data obfuscation technology, respectively input their private input matrix A1∈R. 1×m and A2∈Rm× m , to proceed with the first <1> Layer-safe two-way matrix multiplication calculation The results were obtained respectively
[0141] Step 4: The following process is executed in a loop for N-2 times: for the i-th (1≤i≤N-2) layer loop, based on the secure data obfuscation technique and the secure two-party matrix multiplication protocol, implement the i+1 rounds of secure two-party matrix multiplication protocol for i+2 participants of the <i+1> layer (e.g. Figure 7 In , which is the i-th layer). Where the (i+1)-th round of the security two-party matrix multiplication of the j-th (1≤j≤i+1) layer is determined by the participant P j and the participant P i+2 input the respective private input matrix and A i+2 ∈R m×m , calculate respectively to obtain the result Then the participant P i+2 locally calculates
[0142] (3) Dimension reduction conversion:
[0143] Step 5: All participants P i (1≤i≤N) obtain the private output matrix After that, each locally sums up the m elements of the matrix to realize the conversion of the one-dimensional matrix to the numerical value, and finally obtains the private output numerical value Then send U i to the computing requester, and the computing requester obtains
[0144] It can be easily verified that:
[0145] Based on the above protocol process, the application provides a secure numerical multiplication calculation method based on scale conversion, which is applied to the scene of secure numerical multiplication calculation of multiple participants, the number of multiple participants is greater than 2, and the secure numerical multiplication calculation method based on scale conversion comprises:
[0146] (1) The n-th participant receives the secure multi-party numerical multiplication calculation request sent by the computing requester, and determines the n-th private input numerical value based on the secure multi-party numerical multiplication calculation request; wherein n=1, 2, …, N, N is the number of multiple participants.
[0147] (2) N participants negotiate to determine a positive integer m greater than or equal to 2.
[0148] (3) The n-th participant splits the n-th private input numerical value into m mutually unequal n-th random positive numbers, forms an n-th private vector with the m mutually unequal n-th random positive numbers, and generates an n-th private input matrix based on the n-th private vector; wherein the sum of the m mutually unequal n-th random positive numbers is equal to the n-th private input numerical value.
[0149] Wherein, the n-th private input matrix is generated based on the n-th private vector, and specifically comprises:
[0150] when n is 1, the n-th private vector is taken as the n-th private input matrix;
[0151] when n is not 1, each element in the n-th private vector is subjected to a full permutation to obtain a plurality of permutations, each permutation corresponding to a random ordering vector; m random ordering vectors are randomly selected to form the n-th private input matrix; wherein the number of permutations is m factorial.
[0152] (4) N participants take N private input matrices as inputs, and use a secure two-party matrix multiplication protocol based on secure data confusion technology to obtain N private output matrices; wherein the n-th participant's private output matrix is the n-th private output matrix.
[0153] (5) The n-th participant calculates the sum of each element of the n-th private output matrix to obtain the n-th private output value.
[0154] (6) The n-th participant sends the n-th private output value to the calculation requestor; the calculation requestor is used to calculate the sum of N private output values to obtain the secure multi-party numerical multiplication calculation result.
[0155] wherein N participants take N private input matrices as inputs, and use a secure two-party matrix multiplication protocol based on secure data confusion technology to obtain N private output matrices, specifically comprising:
[0156] (1) Determine i = 1.
[0157] (2) For the i-th layer loop, determine i+1 participants participating in the i-th layer loop, the i+1 participants including the first participant to the i+1 participant; wherein i = 1, 2,..., N-1.
[0158] (3) The j-th participant and the i+1-th participant take the j-th private input matrix and the i+1-th private input matrix as inputs, and use a secure two-party matrix multiplication protocol based on secure data confusion technology to obtain the j-th intermediate matrix and the i+1-th intermediate matrix; wherein j = 1, 2,..., i.
[0159] (4) Determine whether i is equal to N-1.
[0160] (5) If yes, take the j-th intermediate matrix as the j-th private output matrix, and take the sum of all j-th intermediate matrices and i+1-th intermediate matrices as the i+1-th private output matrix.
[0161] (6) If no, take the j-th intermediate matrix as the j-th private input matrix, and take the sum of all j-th intermediate matrices and i+1-th intermediate matrices as the i+1-th private input matrix, and increase i by 1, and return to the step of "determining i+1 participants participating in the i-th layer loop".
[0162] The application also provides a secure multi-party numerical multiplication protocol alternative, as shown in the following protocol flow: Figure 8
[0163] Step 1: Participants P1 and P2 input their respective private numbers a1 and a2 based on the secure two-party numerical multiplication protocol, and perform the first layer of secure two-party numerical multiplication protocol calculation Respectively, the numerical results are obtained
[0164] Step 2: The following process is executed for N-2 times: for the i-th (1≤i≤N-2) layer loop, based on the secure two-party numerical multiplication protocol, i+1 rounds of secure two-party numerical multiplication protocol are implemented for i+2 participants of the (i+1)-th layer (as shown in Figure 8 The expression is the i-th layer, that is, the i-th layer), wherein the j-th (1≤j≤i+1 round of the two-party secure numerical multiplication protocol is performed by the participants P j and the participants P i+2 Input the respective private input values and a i+2 , calculate respectively to obtain the numerical results Subsequently, the participants P i+2 locally calculate
[0165] Step 3: All participants P i (1≤i≤N) obtain the private values After that, the participants P i send the U to the computing requester, and the computing requester aggregates them to obtain
[0166] It can be easily verified that:
[0167] Based on the above protocol flow, the application provides a secure numerical multiplication calculation method based on scale transformation, which is applied to the scene of secure numerical multiplication calculation of multiple participants, the number of multiple participants is greater than 2, and the secure numerical multiplication calculation method based on scale transformation comprises:
[0168] (1) The n-th participant receives the secure multi-party numerical multiplication calculation request sent by the computing requester, and determines the n-th private input value based on the secure multi-party numerical multiplication calculation request; wherein n=1, 2,..., N, N is the number of multiple participants.
[0169] (2) Determine i=1.
[0170] (3) For the i-th layer loop, determine i+1 participants participating in the i-th layer loop, and the i+1 participants include the first participant to the i+1 participant; wherein i=1, 2,..., N-1.
[0171] (4) The j-th participant and the i+1 participant take the j-th private input value and the i+1 private input value as input, and use the above-mentioned secure numerical multiplication calculation method based on scale transformation to calculate the j-th private output value and the i+1 private output value; wherein j=1, 2,..., i.
[0172] (5) Determine whether i is equal to N-1.
[0173] (6) If yes, the jth private output value is taken as the final jth private output value, the sum of all jth private output values and the (i+1)th private output value is taken as the final (i+1)th private output value, and the nth participant sends the final nth private output value to the computing requester; the computing requester calculates the sum of the N final private output values to obtain the secure multi-party numerical multiplication result.
[0174] (7) If no, the jth private output value is taken as the jth private input value, the sum of all jth private output values and the (i+1)th private output value is taken as the (i+1)th private input value, i is increased by 1, and the step of "determining the i+1 participants participating in the i-layer loop for the i-layer loop" is returned.
[0175] The present application is based on the extension of the secure two-party numerical multiplication protocol, and proposes a secure multi-party numerical multiplication protocol. The numerical value is converted into a matrix through a scale transformation, and the wheel secure two-party matrix multiplication protocol is called to perform parallel calculation, so that the final result is obtained, and the problems of poor scalability of the garbled circuit, secret sharing and homomorphic encryption technology are solved. The secure multi-party numerical multiplication protocol proposed in the present application, since the numerical value is randomly split into m different positive numbers, after the execution of the secure two-party matrix multiplication protocol, the matrix result of each participant is obtained, even if there is partial data leakage (the number of leaks cannot exceed m), the original data of each participant can be ensured to be safe. 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 the third-party cloud platform existing in the homomorphic encryption technology.
[0176] The present application first proposes a privacy protection solution for the secure two-party numerical multiplication calculation problem, and the key technical point is to introduce a scale transformation method for converting numerical value space into matrix space. Based on the positive integer m negotiated by the two parties, the numerical value is split into a vector, and then converted into a matrix. This conversion process involves the privacy of the original data of the participants, and is an important step to ensure security. The secure two-party matrix multiplication protocol realized based on the secure data confusion technology is used for calculation. The calculation process is based on the real number field, which can ensure that the calculation precision loss of floating point operation is small, and the calculation complexity only needs O(m 2 ), compared with the higher complexity of the ciphertext calculation, the space-time trade-off is used to improve the calculation efficiency. The final result is generated by dimension reduction conversion, and the output matrix is converted into numerical value, which protects the security of the original matrix as the output result by outputting only two numerical values. The secure multi-party numerical multiplication protocol proposed in the application directly processes the data of all participants in the preprocessing, and directly uses the output of each layer as the input of the next layer, which saves the time of repeated calling of the secure two-party numerical multiplication protocol preprocessing, improves the multi-party calculation efficiency through parallelization, and also embodies strong scalability.
[0177] The application proposes an implementation device of a secure two-party numerical multiplication protocol, as shown in Figure 9 First, the corresponding distributed computing framework needs to be deployed on the computing participant participating in the two-party secure numerical multiplication task. The computing framework consists of five modules, specifically including: a task acquisition module, a secure computing module, a rule generation module, a consensus computing module, and a data sending module. The task acquisition module is responsible for receiving and decoding privacy computing requests from the computing request party. The secure computing module automatically matches the corresponding secure computing protocol according to the parsed privacy computing request. The rule generation module implements task splitting according to the asynchronous instruction set of the secure computing protocol, and different participants perform collaborative computing according to their corresponding rules. The consensus computing module guarantees the synchronization and consistency of the calculation after receiving the allocated rules. The data sending module collects and delivers the calculation results of each participant to the computing request party after the calculation is completed.
[0178] Specific implementation is: the external client sends a secure two-party numerical multiplication calculation request to the network end deployed with a distributed computing service through HTTP or GRPC communication protocol. When the task acquisition module of the network node receives the secure two-party numerical multiplication calculation request, it parses it and starts the secure computing service process of the corresponding computing participant node 1 and node 2. When the task acquisition module parses the corresponding calculation demand and transmits it to the secure computing module, it performs joint query through its internal interface, matches the corresponding secure computing protocol, and synchronizes it to the rule generation module in the two participant nodes. The rule generation module will formulate different asynchronous parallel execution processes according to the different sub-tasks undertaken by the two different participant nodes, and communicate with the consensus computing module at each step of execution. The consensus computing module broadcasts and maintains the consistency of the distributed computing node results on the chain while the two participant nodes execute each step of the calculation instruction, and controls the stability of the execution process. After the final calculation protocol is executed, the two participant nodes obtain the sub-results of each other's calculation, and send the two-party confused and split sub-results to the computing request party through the data sending module to obtain the correct calculation result.
[0179] Based on the above implementation device, the application provides a scale transformation-based secure numerical multiplication calculation device, which is applied to a scenario of secure numerical multiplication calculation of two participants, and includes a calculation requestor and a task acquisition module, a secure calculation module, a rule generation module, a consensus calculation module and a data sending module corresponding to each participant.
[0180] The task acquisition module is used to acquire a secure two-party numerical multiplication calculation request sent by the calculation requestor.
[0181] 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 scale transformation-based secure numerical multiplication calculation method, so as to obtain a private output value of the participant.
[0182] The data sending module is used to send the private output value to the calculation requestor.
[0183] The calculation requestor is used to calculate a sum value of the private output values of all the participants, so as to obtain a secure two-party numerical multiplication calculation result.
[0184] The application also provides a scale transformation-based secure numerical multiplication calculation device, which is applied to a scenario of secure numerical multiplication calculation of multiple participants, and the number of the multiple participants is greater than 2, and the device includes a calculation requestor and a task acquisition module, a secure calculation module, a rule generation module, a consensus calculation module and a data sending module corresponding to each participant.
[0185] The task acquisition module is used to acquire a secure multi-party numerical multiplication calculation request sent by the calculation requestor.
[0186] 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 scale transformation-based secure numerical multiplication calculation method, so as to obtain a private output value of the participant.
[0187] The data sending module is used to send the private output value to the calculation requestor.
[0188] The calculation requestor is used to calculate a sum value of the private output values of all the participants, so as to obtain a secure multi-party numerical multiplication calculation result.
[0189] The application has the following advantages:
[0190] (1) The application provides a secure two-party numerical multiplication protocol in a semi-honest scenario based on a secure data obfuscation technology, and the protocol reduces the calculation complexity to O(m 2 ) level, while the interaction times of constant rounds and the intermediate transmission data are real numbers, which ensures that the communication cost is controlled in a lower range, and the balance of security, lightweight and efficiency is considered.
[0191] (2) The application proposes a secure two-party numerical multiplication protocol, which converts the numerical multiplication into the form of matrix multiplication through scale transformation by two participants negotiating an m, so as to realize parallel computing by using the secure two-party matrix multiplication protocol, which is high in computing efficiency, low in communication rounds, and does not need to introduce any key encryption operation. At the same time, since the secure two-party numerical multiplication protocol is based on the characteristics of real number field operation, it is not limited to integer computing tasks, and can well avoid the precision problems caused by confusion circuit, homomorphic encryption and other technologies in the processing of floating-point numbers.
[0192] (3) The application is extended on the basis of the idea of the secure two-party numerical multiplication protocol, and proposes a secure multi-party numerical multiplication protocol. For N participant nodes, the secure two-party matrix multiplication protocol is called rounds to obtain the final result, which embodies scalability and avoids the problems of building a large circuit network when extending based on confusion circuit technology and generating a large amount of information interaction when extending based on secret sharing technology.
[0193] (4) The secure two-party numerical multiplication protocol and the secure multi-party numerical multiplication protocol proposed in the application have more security guarantees. In the case of a small amount of leakage of the result of the secure matrix multiplication process, the original data of each participant node can still be ensured not to be leaked, and the two protocols do not depend on the third-party cloud platform, avoiding the risk of privacy data leakage due to the attack on the third-party cloud platform.
[0194] The technical features of the above embodiments can be combined in any way. To make the description concise, not all possible combinations of the technical features in the above embodiments are described, but as long as the combinations of the technical features do not exist contradictory, they should be considered as the scope of the present application.
[0195] The principles and implementation modes of the application are described by specific examples in this paper, and the above examples are only used to help understand the method and its core idea of the application; at the same time, for those skilled in the art, according to the idea of the application, the specific implementation mode and application range will be changed. In conclusion, the content of the specification should not be understood as a limitation of the application.
Claims
1. A secure numerical multiplication calculation method based on scale transformation, applied to a scenario where two parties perform secure numerical multiplication calculations, 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 the calculation requester, and determines the first private input value based on the secure two-party numerical multiplication calculation request; The second participant receives a secure two-party numerical multiplication calculation request sent by the calculation requester, and determines the second private input value based on the secure two-party numerical multiplication calculation request; The first and second participants agree on a positive integer greater than or equal to 2. m ; The first participant splits the first private input value into... m A set of distinct first random positive numbers, m A first private vector is formed by a set of distinct first random positive numbers, and a row is generated based on the first private vector. m The first private input matrix of the column; where, m The sum of a first set of distinct, random positive numbers equals the first private input value; The second participant splits the second private input value into... m Two distinct second random positive numbers will be used. m A second private vector is formed by several distinct second random positive numbers, and a second private vector is generated based on the second private vector. m OK m The second private input matrix of the column; where, m The sum of three distinct second random positive numbers equals 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. They use a 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 each element of the first private output matrix to obtain the first private output value; The second participant calculates the sum of each element of the second private output matrix to obtain the second private output value; The first participant sends the first private output value to the computation requester, and the second participant sends the second private output value to the computation requester; the computation requester uses this value to calculate the sum of the first and second private output values to obtain the secure multiplication result of the two parties' values. The first participant uses a first private input matrix as input, and the second participant uses a second private input matrix as input. They then use a secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the first and second private output matrices, 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 the 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 the second sum matrix, and sends the second sum matrix to the first participant; 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 the calculation matrix, and sends the calculation matrix to the first participant. The first participant calculates the sum of the computation 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 the first private output matrix.
2. The secure numerical multiplication calculation method based on scale transformation according to claim 1, characterized in that, Generate 1 row based on the first private vector. m The first private input matrix of the column specifically includes: a first private vector as row 1. m The first private input matrix of the column; Generated based on the second private vector m OK m The second private input matrix of the column specifically includes: performing full permutations on each element of the second private vector to obtain multiple permutations, each permutation corresponding to a random sorting vector; and randomly selecting... m A randomly sorted vector, forming m OK m The second private input matrix of the column; where the number of permutations is m factorial.
3. A secure numerical multiplication calculation method based on scale transformation, applied to a scenario where two parties perform secure numerical multiplication calculations, 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 the calculation requester, and determines the first private input value based on the secure two-party numerical multiplication calculation request; The second participant receives a secure two-party numerical multiplication calculation request sent by the calculation requester, and determines the second private input value based on the secure two-party numerical multiplication calculation request; The first and second participants agree on a positive integer greater than or equal to 2. m ; The first participant splits the first private input value into... m A set of distinct first random positive numbers, m A first private vector is formed by a set of distinct first random positive numbers, and a row is generated based on the first private vector. m The first private input matrix of the column; where, m The sum of a first set of distinct, random positive numbers equals the first private input value; The second participant splits the second private input value into... m Two distinct second random positive numbers will be used. m A second private vector is formed by several distinct second random positive numbers, and a second private vector is generated based on the second private vector. m OK m The second private input matrix of the column; where, m The sum of three distinct second random positive numbers equals the second private input value; The second participant splits the second private input matrix column-wise to obtain... m indivual m The third private input matrix in row 1 and column 1; 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. The first private value and the second private value are calculated using a secure two-party matrix multiplication protocol based on secure data obfuscation technology. First Participant Calculation m The sum of the first private values is used to obtain the first private output value. Second Participant Calculation m The sum of the second private values is used to obtain the second private output value. The first participant sends the first private output value to the computation requester, and the second participant sends the second private output value to the computation requester; the computation requester uses this value to calculate the sum of the first and second private output values to obtain the secure multiplication result of the two parties' values. The first participant uses a first private input matrix as input, and the second participant uses a third private input matrix as input. They then use a secure two-party matrix multiplication protocol based on secure data obfuscation technology to calculate the first and second private values, 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 the first sum matrix, and sends the first sum matrix to the second participant; The second participant calculates the sum of the third private input matrix and the second random matrix to obtain the second sum matrix, and sends the second sum matrix to the first participant; The second participant randomly generates a second private value, calculates the first product of the first sum matrix and the third private input matrix, calculates the difference between the fourth random matrix and the second private value, calculates the sum of the first product and the difference, obtains the calculation matrix, and sends the calculation matrix to the first participant. The first participant calculates the sum of the computation matrix and the third random matrix, calculates the second product of the first random matrix and the second sum matrix, and calculates the difference between the sum and the second product to obtain the first private value.
4. A secure numerical multiplication calculation method based on scale transformation, applied to scenarios involving multiple participants performing secure numerical multiplication calculations, wherein the number of participants is greater than two, characterized in that... The secure numerical multiplication calculation method based on scale transformation includes: No. n The participating parties receive a secure multi-party numerical multiplication computation request sent by the requesting party, and determine the first [unclear] based on the secure multi-party numerical multiplication computation request. n Private input values; where, n =1, 2, ..., N , N The number of multiple participating parties; Sure i= 1; For the i Layered loop, determine the participants in the first layer. i Cascaded loops i+ One participant, i+ One participant includes the first participant to the second participant. i+ 1. Participating parties; among which, i= 1, 2, ..., N- 1; No. j Participants and the i+ 1. Participant 1 j Private input values and the first i+ Using a private input value as input, and employing the secure numerical multiplication calculation method based on scale transformation as described in claim 1 or claim 3, the first value is calculated. j Private output value and the first i+ 1. Private output value; where, j= 1, 2, ..., i ; judge i Is it equal to N- 1; If so, then the first j Private output value as the final number j Private output values, with all the first j Private output value and the first i+ The sum of the 1st private output values is used as the final value of the 1st private output value. i+ 1. Private output value, the first n The participants will ultimately... n The private output value is sent to the computation requester; the computation requester uses it for computation. N The sum of the final private output values yields the secure multi-factor multiplication result. If not, then use the first j Private output value as the first j Private input values, with all the first j Private output value and the first i+ The sum of the 1st private output values is used as the first i+ 1. Private input value, i Increment by 1, return "for the first i Layered loop, determine the participants in the first layer. i Cascaded loops i+ The steps are "one participant".
5. A secure numerical multiplication calculation method based on scale transformation, applied to scenarios involving multiple participants performing secure numerical multiplication calculations, wherein the number of participants is greater than two, characterized in that... The secure numerical multiplication calculation method based on scale transformation includes: No. n The participating parties receive a secure multi-party numerical multiplication computation request sent by the requesting party, and determine the first [unclear] based on the secure multi-party numerical multiplication computation request. n Private input values; where, n =1, 2, ..., N , N The number of multiple participating parties; N The participating parties agree on a positive integer greater than or equal to 2. m ; No. n The participating parties will n Private input values are split into m The first two are not equal. n Random positive numbers, m The first two are not equal. n Random positive numbers form the first n Private vector, and based on the first n Private vector generation n Private input matrix; where, m The first two are not equal. n The sum of random positive numbers equals the first... n Private input values; N Each participating party N Using a private input matrix as input, a secure two-way matrix multiplication protocol based on secure data obfuscation technology is used to calculate the result. N The private output matrix; where the first... n The private output matrix of the participants is the first... n Private output matrix; No. n Participants calculate the first n The sum of the elements of the private output matrix yields the first... n Private output value; No. n The participating parties will n The private output value is sent to the computation requester; the computation requester uses it for computation. N The sum of the private output values is used to obtain the secure multi-party multiplication calculation result. N Each participating party N Using a private input matrix as input, a secure two-way matrix multiplication protocol based on secure data obfuscation technology is used to calculate the result. N Each private output matrix includes: Sure i= 1; For the i Layered loop, determine the participants in the first layer. i Cascaded loops i+ One participant, i+ One participant includes the first participant to the second participant. i+ 1. Participating parties; among which, i= 1, 2, ..., N- 1; No. j Participants and the i+ 1. Participant 1 j Private input matrix and the first i+ Using a private input matrix as input, the first two-way matrix multiplication protocol based on secure data obfuscation technology is used to calculate the second... j intermediate matrix and the first i+ 1. Intermediate matrix; where, j= 1, 2, ..., i ; judge i Is it equal to N- 1; If so, then the first j The intermediate matrix as the first j Private output matrix, with all the... j intermediate matrix and the first i+ The sum of the first intermediate matrix is used as the first... i+ 1. Private output matrix; If not, then use the first j The intermediate matrix as the first j Private input matrix, with all the th j intermediate matrix and the first i+ The sum of the first intermediate matrix is used as the first... i+ 1. Private input matrix, i Increment by 1, return "for the first i Layered loop, determine the participants in the first layer. i Cascaded loops i+ The steps are "one participant".
6. The secure numerical multiplication calculation method based on scale transformation according to claim 5, characterized in that, Based on the n Private vector generation n The private input matrix specifically includes: when n When it is 1, take the first... n Private vector as the first n Private input matrix; when n When it is not 1, for the first n The elements of the private vector are permuted to obtain multiple permutations, each corresponding to a randomized sorted vector; random selection is then performed. m The nth randomly sorted vector forms the nth... n Private input matrix; where the number of permutations is m factorial.
7. A secure numerical multiplication calculation device based on scale transformation, applied in a scenario where two parties perform secure numerical multiplication calculations, characterized in that, The secure numerical multiplication calculation device based on scale transformation includes: a task acquisition module for the calculation requester and each participant, a secure calculation module, a rule generation module, a consensus calculation module, and a data sending module; The task acquisition module is used to acquire secure two-party numerical multiplication calculation requests sent by the requester. The secure computing module, rule generation module, and consensus computing module work together to execute the secure numerical multiplication computing method based on scale transformation as described in claim 1 or claim 3, and obtain the private output values of the participants. The data sending module is used to send private output values to the calculation requester; The requesting party calculates the sum of the private output values of all participating parties to obtain a secure two-party numerical multiplication result.
8. A secure numerical multiplication calculation device based on scale transformation, applied in a scenario where multiple parties perform secure numerical multiplication calculations, wherein the number of multiple parties is greater than 2, characterized in that, The secure numerical multiplication calculation device based on scale transformation includes: a task acquisition module for the calculation requester and each participant, a secure calculation module, a rule generation module, a consensus calculation module, and a data sending module; The task acquisition module is used to acquire secure multi-party numerical multiplication calculation requests sent by the calculation requester; The secure computing module, rule generation module, and consensus computing module work together to execute the secure numerical multiplication computing method based on scale transformation as described in claim 4 or claim 5, and obtain the private output values of the participants. The data sending module is used to send private output values to the calculation requester; The requesting party calculates the sum of the private output values of all participating parties to obtain a secure multi-party numerical multiplication result.
Citation Information
Patent Citations
Three-party secure multiplication method and system for privacy computing
CN116431968A
Methods and apparatuses for jointly processing data by two parties for data privacy protection
US20240137206A1