Safe two-party fast convolution calculation method and device based on winograd convolution
By employing the Winograd convolution and secure two-way numerical hybrid multiplication protocol, efficient and reliable end-to-end secure two-way fast convolution computation is achieved, solving the problems of low efficiency and privacy risks in existing technologies. This approach is applicable to fields such as intelligent traffic management and public health monitoring.
Patent Information
- Application Number
- CN202511767551.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-27
- Publication Date
- 2026-02-27
AI Technical Summary
Existing secure two-party fast convolution computation schemes suffer from low computational efficiency, insufficient accuracy, and data privacy risks due to reliance on third-party cloud services, especially performing poorly in large-scale convolution computations and parallel processing.
We adopt a secure two-sided fast convolution computation method based on Winograd convolution, perform matrix preprocessing using the im2col method, and combine fast filtering processing and a secure two-sided numerical hybrid multiplication computation protocol to achieve end-to-end parallel computation and avoid dependence on third-party cloud services.
It improves the efficiency and accuracy of secure two-way fast convolution computation, ensures the reliability of computation results, reduces computational overhead and communication costs, and solves the efficiency bottlenecks and data privacy risks existing in the prior art.
Smart Images

Figure CN121579836A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of privacy computing technology, and in particular to a secure two-way fast convolution calculation method and apparatus based on winograd convolution. Background Technology
[0002] In the era of data-driven decision-making, machine learning models are widely used in fields such as intelligent traffic management and public health monitoring, playing a crucial role in promoting the application of artificial intelligence in society. Faced with the massive amounts of data generated by multi-source data acquisition devices and sensor networks, ensuring privacy and efficiency when processing sensitive information is a critical issue. However, as reliance on data deepens, data privacy and security issues become increasingly severe. The frequent occurrence of data breaches and unauthorized access incidents highlights the urgency of effectively addressing privacy protection issues. To address these challenges, privacy-preserving computation (a series of information technologies that analyze and compute data while ensuring that data providers do not disclose the original data, guaranteeing that data is "usable but not visible" during circulation and fusion) is applied in various scenarios such as signal processing, big data joint mining, and machine learning, providing effective solutions for protecting sensitive data. These related works involve computational processes involving mixed convolution operations of multi-source data and the challenge of accelerating feature extraction. For example, in common two-party secure convolutional neural networks, it is necessary to achieve efficient convolution calculations between the convolution kernel and the data without leaking massive sample feature information during training or classification. This requires a secure and fast two-party convolution calculation protocol to improve the calculation speed and ensure that data privacy is not leaked.
[0003] Existing solutions to the problem of secure two-party fast convolution computation often employ a stack of cryptographic techniques such as homomorphic encryption, unintentional transmission, and secret sharing to serially perform the inner product calculation of the matrix corresponding to the decomposed convolution operation. This leads to a significant increase in the computational complexity of the ciphertext space, a doubling of communication overhead, and a reduction in computational efficiency. Furthermore, the use of large prime number encryption in existing solutions to the problem of secure two-party fast convolution computation increases the number of bits in the ciphertext space. At the same time, the fixed length of the ciphertext bit directly causes a loss of numerical computational precision, affecting the reliability of the computational results. Summary of the Invention
[0004] The purpose of this application is to provide a secure two-sided fast convolution calculation method and apparatus based on winograd convolution, which can improve the efficiency and accuracy of secure two-sided fast convolution calculation and ensure the reliability of the secure two-sided fast convolution calculation results.
[0005] To achieve the above objectives, this application provides the following solution: Firstly, this application provides a secure two-party fast convolution calculation method based on Winograd convolution, involving two participating nodes. The first participating node holds a first initial input matrix and a first initial convolution kernel matrix, and the second participating node holds a second initial input matrix and a second initial convolution kernel matrix. The secure two-party fast convolution calculation method based on Winograd convolution includes: The first participating node preprocesses the first initial input matrix and the first initial convolution kernel matrix to obtain the first preprocessed input matrix and the first convolution kernel vector. The preprocessing refers to expanding the window matrix generated by sliding the first initial convolution kernel matrix on the first initial input matrix into a vector and then recombining it based on the im2col method, as well as vectorizing the first initial convolution kernel matrix. The second participating node preprocesses the second initial input matrix and the second initial convolution kernel matrix to obtain the second preprocessed input matrix and the second convolution kernel vector. The first participating node performs fast filtering on the first preprocessed input matrix and the first convolution kernel vector to obtain the first filtering result. The second participating node performs fast filtering on the second preprocessed input matrix and the second convolution kernel vector to obtain the second filtering result. The first participating node uses the first filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol, and the second participating node uses the second filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol. The first participating node and the second participating node obtain the first hybrid multiplication result and the second hybrid multiplication result, respectively. The first participating node performs vector reconstruction on the first mixed multiplication result to obtain the first reconstruction matrix; the second participating node performs vector reconstruction on the second mixed multiplication result to obtain the second reconstruction matrix. The first participating node and the second participating node send the first reconstruction matrix and the second reconstruction matrix to the computation requester for aggregation to obtain the convolution calculation result.
[0006] Secondly, this application provides a secure two-party fast convolutional computing device based on Winograd convolution. The secure two-party fast convolutional computing device based on the Winograd convolution idea is deployed on each participating node in the network. The secure two-party fast convolutional computing device based on the Winograd convolution idea includes: 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 used to receive and parse fast convolution calculation requests from the calculation requester; The secure computing module is used to automatically match the corresponding secure computing protocol based on the parsed fast convolution computing request; the secure computing protocol includes a secure two-way numerical multiplication computing protocol and a secure two-way numerical hybrid multiplication computing protocol; The rule generation module is used to split the fast convolution calculation request according to the asynchronous instruction set of the matched secure computing protocol. The two participating nodes in the fast convolution calculation request perform collaborative computing according to the above-mentioned secure two-party fast convolution calculation method based on the winograd convolution idea. The consensus computation module is used to ensure the synchronization and consistency of results between the two participating nodes in the fast convolution computation request during collaborative computation. After receiving the assigned sub-rules, the consensus computation module ensures the synchronization and consistency of results through the consensus protocol. The data sending module is used to send the first convolution calculation result obtained by the first participating node or the second convolution calculation result obtained by the second participating node to the calculation requester for aggregation to obtain a fast convolution calculation result.
[0007] Thirdly, this application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described secure two-way fast convolution calculation method based on winograd convolution.
[0008] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-described secure two-way fast convolution calculation method based on winograd convolution.
[0009] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the above-described secure two-way fast convolution calculation method based on winograd convolution.
[0010] According to the specific embodiments provided in this application, the following technical effects are disclosed: This application provides a secure two-way fast convolution calculation method and apparatus based on winograd convolution. The first and second participating nodes each preprocess their private data matrices using the im2col method, followed by fast filtering of the preprocessed data matrices, and then execution of a secure two-way numerical hybrid multiplication calculation protocol. The first and second participating nodes respectively reconstruct vectors from their hybrid multiplication results, obtaining their respective reconstructed matrices, which are then sent to the computation requester for aggregation to obtain the convolution calculation result. This application introduces matrix transformation preprocessing based on the im2col method, fast filtering, and a secure two-way numerical hybrid multiplication calculation protocol, which can improve the efficiency and accuracy of secure two-way fast convolution calculation and ensure the reliability of the secure two-way fast convolution calculation results. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 This is a diagram illustrating the secure two-way fast convolution computation problem provided in Embodiment 1 of this application; Figure 2 A flowchart illustrating a secure two-way fast convolution calculation method based on winograd convolution provided in Embodiment 1 of this application; Figure 3 This is a schematic diagram of a secure two-way fast convolution computation protocol based on winograd convolution provided in Embodiment 1 of this application; Figure 4 This is a schematic diagram of the preprocessing flow in the secure two-way fast convolution calculation method provided in Embodiment 1 of this application; Figure 5 This is a schematic diagram of the fast filtering module provided in Embodiment 1 of this application; Figure 6 A schematic diagram of the protocol flow for secure two-party numerical hybrid multiplication provided in Embodiment 1 of this application; Figure 7 A schematic diagram of the protocol flow for secure two-party numerical multiplication provided in Embodiment 1 of this application; Figure 8 A flowchart of a secure two-way matrix multiplication calculation protocol provided in Embodiment 1 of this application; Figure 9 This is a schematic diagram of the functional modules of a secure two-way fast convolution calculation device based on winograd convolution provided in Embodiment 1 of this application. Detailed Implementation
[0013] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0014] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0015] This application focuses on the problem of fast convolution computation of secure two-sided matrices, aiming to achieve an efficient, secure, reliable, and highly coupled fundamental privacy computing method and apparatus. The definition of the problem of fast convolution computation of secure two-sided matrices is as follows: Figure 1 As shown, two computational participant nodes are known. and They are independent and distrustful of each other. It possesses a set of private matrices stored only on its own computing node. and private convolution kernel matrix , Holding a private matrix stored only on its own computing node and private convolution kernel matrix The two participating nodes jointly execute a two-way matrix fast convolution computation protocol. Default private matrix and Fill value The stride of the convolution kernel matrix Ultimately, each participating node in the computation obtains its corresponding output matrix. The results are then sent to the requesting party to aggregate and obtain the desired two-way convolution calculation results. During the calculation process, each participating node can only obtain the input and output information involved in its own calculation process, and cannot obtain the intermediate settlement results or private data information held by other participants. The following is a summary and description of the relevant technologies at home and abroad: Existing technology 1: Xu et al. decomposed convolution computation into the convolution kernel in the matrix The inner product between the sliding window matrix generated by the upward sliding and the convolution kernel matrix is constructed using function encryption technology, thereby achieving secure convolution computation. Xu et al.'s function encryption scheme effectively improves computational security, but because it requires performing an inner product calculation for each sliding window and convolution kernel matrix, the computational overhead increases significantly.
[0016] Existing technology 2: Kim et al., based on the CKKS fully homomorphic encryption scheme, provided a concise representation of convolution operations in plaintext space, packing each input into polynomial coefficients of a ring, thus enabling convolution calculation through a single multiplication without rotation operations. While Kim et al.'s method of packing inputs to achieve single-multiplication convolution calculations improves the speed of convolution operations, it may lead to a loss of computational precision due to the involvement of finite ring domains. Furthermore, the complexity introduced by homomorphic encryption significantly reduces computational efficiency.
[0017] Existing technology 3: Wang et al. constructed a publicly verifiable convolutional neural network model based on inadvertent transmission and secret sharing techniques. They achieved secure convolution computation by calling a privacy multiplication protocol to calculate the inner product between each sliding window matrix and the convolution kernel matrix. However, Wang et al.'s inadvertent transmission scheme requires a large number of rounds of communication, and each sliding window and convolution kernel matrix needs to have its inner product calculated separately. This results in high communication costs and low computational efficiency in large-scale mixed inner product operations.
[0018] Existing technology 4: Ding et al. constructed a trusted privacy computing model in a cloud service environment based on homomorphic encryption technology, realizing decentralized ciphertext convolution computing; Ding et al.'s homomorphic encryption scheme effectively protects the privacy of input data and provides verifiability of computing results, but due to the high computational complexity of homomorphic encryption technology, it will lead to a significant decrease in overall computing efficiency, and relying on third-party cloud service providers may pose a risk of collusion attacks.
[0019] The above solutions are all based on cryptographic technology stacks and ensure security in a semi-honest environment. However, for the problem of secure two-way convolution computation, none of them can solve the problem of privacy risks to the original data that may be caused by the leakage of the output result.
[0020] Example 1 To address the aforementioned issues, this embodiment proposes a secure two-party fast convolution computation method based on winograd convolution, specifically a secure two-party fast convolution computation method in a semi-honest scenario. The semi-honest model (Semi-Honest Adversaries Security) is a specific protocol that assumes all participating parties will honestly participate in privacy computation and strictly adhere to each step of the protocol. However, there is a risk that some corrupted parties may attempt to infer the privacy of other parties through intermediate or final results of the protocol execution. In practical applications of convolution operations, relatively small convolution kernels (e.g., Small convolutional kernels have wider applications, especially in deep neural networks. They offer high computational efficiency, accurately capturing local details and extracting finer-grained features. Because small convolutional kernels have fewer parameters, networks can learn more complex features by increasing depth while avoiding a significant increase in computational cost, which helps mitigate overfitting problems in convolutional neural networks. Furthermore, small convolutional kernels typically contain fewer parameters, reducing both computational burden and memory usage.
[0021] The Winograd algorithm is a fast convolution method that reduces the number of multiplications by adding addition operations, aiming to reduce the algebraic complexity of convolution operations. This algorithm employs a block-by-block processing strategy, determining the reduction in multiplications based on the block size and filter dimension. The Winograd algorithm performs particularly well in scenarios with small convolution kernels (e.g., 3×3), but may suffer from a loss of numerical precision when dealing with large convolution kernels. Therefore, for applications requiring efficient computation and fine feature extraction, this application proposes a fast convolution computation protocol suitable for secure two-party operations based on the Winograd algorithm, aiming to further improve computational efficiency while maintaining high security. Let the first participating node in this protocol ( The initial input matrix dimension for calculating participating nodes is... The convolution kernel matrix has a dimension of 1. The second participating node ( The initial input matrix dimension for calculating participating nodes is... The convolution kernel matrix has a dimension of 1. Based on this, this application proposes a method such as Figure 2 and Figure 3 The efficient, parallel, secure, and fast two-way convolution computation method shown in the diagram includes the following steps.
[0022] Step 101: The first participating node preprocesses the first initial input matrix and the first initial convolution kernel matrix to obtain the first preprocessed input matrix and the first convolution kernel vector. The preprocessing refers to expanding the window matrix generated by sliding the first initial convolution kernel matrix on the first initial input matrix into a vector and then recombining it based on the im2col method, as well as vectorizing the first initial convolution kernel matrix.
[0023] Step 102: The second participating node preprocesses the second initial input matrix and the second initial convolution kernel matrix to obtain the second preprocessed input matrix and the second convolution kernel vector.
[0024] Step 103: The first participating node performs fast filtering on the first preprocessed input matrix and the first convolution kernel vector to obtain the first filtering result.
[0025] Step 104: The second participating node performs fast filtering on the second preprocessed input matrix and the second convolution kernel vector to obtain the second filtering result.
[0026] Step 105: The first participating node uses the first filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol, and the second participating node uses the second filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol. The first participating node and the second participating node obtain the first hybrid multiplication result and the second hybrid multiplication result, respectively.
[0027] Step 106: The first participating node performs vector reconstruction on the first mixed multiplication result to obtain the first reconstruction matrix; the second participating node performs vector reconstruction on the second mixed multiplication result to obtain the second reconstruction matrix.
[0028] Step 107: The first participating node and the second participating node send the first reconstruction matrix and the second reconstruction matrix to the computation requester for aggregation to obtain the convolution calculation result.
[0029] Participants Nodes and Participants Each node will store its own private column vector. and Reconstructed into a matrix They then store the matrix in their respective local node's private storage space. Figure 3 In Let represent the first reconstruction matrix and the second reconstruction matrix, respectively.
[0030] Participants Nodes and Participants Each node will generate its own private matrix after summarizing the final randomized intermediate results. and The result is sent to the party requesting the secure two-party fast convolution computation, which then aggregates the results to obtain the final computation outcome. .
[0031] In this embodiment, a secure two-party numerical hybrid multiplication basic protocol is used. This paper presents an end-to-end parallel fast convolution computation scheme applicable to semi-honest and result-leaking environments under different scenarios, addressing the high computational and communication overhead of ciphertext space caused by the introduction of homomorphic encryption and unintended transmission techniques in existing technologies. Matrix privacy multiplication (based on im2col preprocessing) is used instead of the traditional sliding window summation method, solving the problem of insufficient parallel processing power in large-scale convolution computation. Furthermore, considering that existing solutions involving secure two-party fast convolution computation often rely on outsourced cloud service computing systems, and that low trustworthiness of third-party cloud service computing nodes or attacks by malicious nodes could lead to key leakage, further posing a security risk of privacy breaches to the original data party, this embodiment employs a secure two-party numerical hybrid multiplication computation protocol, realizing a parallel, secure, reliable secure two-party convolution computation scheme that does not require the introduction of third-party cloud services.
[0032] This application, based on the concept of block partitioning, expands the overlapping submatrices of each move into row vectors and combines them for block processing. The preprocessing module is as follows: Figure 4 As shown. Step 101, the first participating node preprocesses the first initial input matrix and the first initial convolution kernel matrix to obtain the first preprocessed input matrix and the first convolution kernel vector, specifically including: participating nodes The nodes sequentially convert the first initial convolution kernel matrix First initial input matrix The window matrix generated by the upward swipe is expanded into row vectors, resulting in a group of row vectors. They are then combined and reconstructed sequentially into the first preprocessing input matrix. At the same time, the convolution kernel matrix is expanded to obtain column vectors. , which is the first convolution kernel vector.
[0033] Similarly, for the preprocessing in step 102: Participants The nodes sequentially convert the second initial convolution kernel matrix Second initial input matrix The window matrix generated by the upward swipe is expanded into row vectors, resulting in a group of row vectors. They are then combined and reconstructed sequentially into the second preprocessing input matrix. At the same time, the convolution kernel matrix is expanded to obtain column vectors. , that is, the second convolution vector.
[0034] As an optional implementation, the fast convolution operation based on im2col expands the overlapping submatrices into row vectors after each movement and then directly performs matrix multiplication. This invention is based on the Winograd fast convolution concept, treating the implementation of two-dimensional Winograd convolution as a nested one-dimensional Winograd convolution, thus converting two-dimensional convolution into one-dimensional convolution processing. Since multiplication operations are much more time-consuming than addition operations, this improves the speed of convolution calculation. The fast filtering module, such as... Figure 5 As shown.
[0035] Combination Figure 5 The illustrated fast filtering process, in step 103, involves the first participating node performing fast filtering on the first preprocessed input matrix and the first convolution kernel vector to obtain the first filtering result, specifically including: (a1) The first participating node divides the first preprocessed input matrix into blocks to obtain a first set of matrix blocks, and divides the first convolution kernel vector into blocks to obtain a first set of vector blocks; the first participating node performs a first preset pre-operation on each matrix block in the first set of matrix blocks to obtain the result of the first matrix pre-operation; the first participating node performs a second preset pre-operation on each vector block in the first set of vector blocks to obtain the result of the first vector pre-operation.
[0036] The first participating node will input the first preprocessed matrix. The first matrix block set is obtained by partitioning into blocks. , the first convolution kernel vector The first vector block set is obtained by partitioning into blocks. Execute locally Pre-operation; Pre-operations refer to the calculation , , , , and This yields multiple first matrix pre-operation results and multiple first vector pre-operation results.
[0037] (a2) Determine whether the result of the first matrix pre-operation is a matrix and obtain the first judgment result; if the first judgment result is yes, the first participating node performs block partitioning on each first matrix pre-operation result to obtain a second matrix block set; let the second matrix block set be the first matrix block set, and return to the step "the first participating node performs the first preset pre-operation on each matrix block in the first matrix block set to obtain the first matrix pre-operation result"; if the first judgment result is no, the first participating node performs the first preset pre-operation on the final first matrix pre-operation result to obtain multiple second matrix pre-operation results.
[0038] Determine whether the result of the first vector pre-operation is a matrix, and obtain a second determination result; if the second determination result is yes, then the first participating node performs block partitioning on each first vector pre-operation result to obtain a second vector block set; set the second vector block set to the first vector block set, and return to the step "the first participating node performs a second preset pre-operation on each vector block in the first vector block set to obtain multiple first vector pre-operation results"; if the second determination result is no, then the first participating node performs a second preset pre-operation on the final first vector pre-operation result to obtain a second vector pre-operation result; the first filtering result includes the second matrix pre-operation result and the second vector pre-operation result.
[0039] The pre-processing in step (a1) yields The intermediate calculation results (the results of the first matrix preprocessing) all conform to the core idea of Winograd, therefore, we can continue to calculate them separately. The values corresponding to the private matrix of the intermediate calculation results are regarded as The arrangement (further partitioning to obtain the second set of matrix blocks), treating the values corresponding to the private vectors as The arrangement (dividing the result of the first vector preprocessing into blocks to obtain the second vector block set) continues to be executed locally. Pre-operation. Pre-operations refer to the calculation , , , , and This yields multiple results of the pre-operation of the second matrix and multiple results of the pre-operation of the second vector.
[0040] against Calculation required , , , , and .
[0041] against Need to be calculated , , , , , .
[0042] Similarly, for and Perform the preliminary calculations separately.
[0043] As an optional implementation method, combined with Figure 5The illustrated fast filtering process, in step 104, involves the second participating node performing fast filtering on the second preprocessed input matrix and the second convolution kernel vector to obtain the second filtering result, specifically including: (b1) The second participating node will input the second preprocessed matrix. Third matrix block set Second convolution kernel vector The third vector block set; the second participating node performs the first preset pre-operation on each matrix block in the third matrix block set to obtain the third matrix pre-operation result; the second participating node performs the second preset pre-operation on each vector block in the third vector block set to obtain the third vector pre-operation result.
[0044] The second participating node will input the second preprocessed matrix. The third matrix block set is obtained by partitioning into blocks. , the second convolution kernel vector The third vector block set is obtained by partitioning into blocks. Execute locally Pre-operation; Pre-operations refer to the calculation , , , , and This yields multiple results of the pre-operation of the third matrix and multiple results of the pre-operation of the third vector.
[0045] (b2) Determine whether the result of the third matrix pre-operation is a matrix and obtain the third judgment result; if the third judgment result is yes, the second participating node performs block partitioning on each third matrix pre-operation result to obtain a fourth matrix block set; let the fourth matrix block set be the third matrix block set, and return to the step "the second participating node performs the first preset pre-operation on each matrix block in the third matrix block set to obtain the third matrix pre-operation result"; if the third judgment result is no, the second participating node performs the first preset pre-operation on the final third matrix pre-operation result to obtain multiple fourth matrix pre-operation results.
[0046] Determine whether the result of the third vector pre-operation is a matrix, and obtain the fourth determination result; if the fourth determination result is yes, then the first participating node performs block partitioning on each third vector pre-operation result to obtain a fourth vector block set; set the fourth vector block set as the third vector block set, and return to the step "the second participating node performs the second preset pre-operation on each vector block in the third vector block set to obtain the third vector pre-operation result"; if the fourth determination result is no, then the second participating node performs the second preset pre-operation on the final third vector pre-operation result to obtain the fourth vector pre-operation result; the second filtering result includes the fourth matrix pre-operation result and the fourth vector pre-operation result.
[0047] The result obtained through the preprocessing in step (b1) The intermediate calculation results (the results of the pre-operation of the third matrix) all conform to the core idea of Winograd, therefore, we can continue to calculate them separately. The values corresponding to the private matrix of the intermediate calculation results are regarded as The arrangement (further partitioning to obtain the fourth matrix block set), treating the values corresponding to the private vectors (the result of the pre-operation of the third vector) as... The arrangement (further segmented into blocks to obtain the fourth vector block set) continues to be executed locally. Pre-operation; Pre-operations refer to the calculation , , , , and This yields multiple results of the fourth matrix pre-operation and multiple results of the fourth vector pre-operation.
[0048] against Calculation required , , , , and .
[0049] against Need to be calculated , , , , , .
[0050] Similarly, for and Perform the preliminary calculations separately.
[0051] Secure Two-Party Numerical Hybrid Multiplication Computation Protocol (S2PRHM): Two computational participants are known. and They are independent and distrustful of each other. It holds a set of private values stored only on its own computing node. and , It holds a set of private values stored only on its own computing node. The two parties jointly execute a two-party numerical mixed multiplication calculation protocol. Ultimately, each participating node in the computation receives its corresponding output value. The results are then sent to the requesting party to aggregate and obtain the desired result of the two-way numerical multiplication. During the calculation process, each participating node can only obtain the input and output information involved in its own calculation process, and cannot obtain the intermediate settlement results or private data information held by other participants. Figure 6 The S2PRHM protocol flow is shown below: The problem of secure two-party numerical hybrid multiplication typically occurs in the intermediate computation process of multi-party modeling problems. Two-party hybrid multiplication is particularly frequent, for example, in regression and clustering problems where intermediate computation results from two parties are mixed, superimposed, and then multiplied. Therefore, to avoid loss of generality, this protocol... The initial input for the participating nodes is a numerical value. and , The initial input for the participating nodes is a numerical value. Based on this, a high-speed parallel secure two-party numerical hybrid multiplication computation protocol with the following process is proposed.
[0052] In step 105, the participating parties Nodes and The node is computed based on the secure two-party numerical hybrid multiplication protocol S2PRHM. The first participating node uses the first filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol, and the second participating node uses the second filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol. The first and second participating nodes obtain the first hybrid multiplication result and the second hybrid multiplication result, respectively. The specific process of the secure two-party numerical hybrid multiplication calculation protocol is as follows: (c1) The first participating node will perform the pre-operation on the second matrix (corresponding to...) Figure 6 A1 in the equation is used as one of the inputs to the Secure Two-Party Numerical Multiplication Protocol (S2PRM). The second participating node will use the result of the fourth vector preprocessing (corresponding to...) Figure 6B2 in the protocol is used as one of the inputs to the Secure Two-Party Numerical Multiplication (S2PRM) protocol. The secure two-party numerical multiplication is performed, and the first and second participating nodes obtain the first multiplication result (corresponding to...). Figure 6 V in a2 ) and the result of the second multiplication (corresponding) Figure 6 V in b2 ).
[0053] Participating nodes Alice and Bob input their respective private values based on the Secure Two-Party Numerical Multiplication Protocol (S2PRM). and private values The first round of secure two-party numerical multiplication is performed. After the S2PRM protocol calculation is completed, the intermediate results of this round of calculation will be randomly split into numerical values using random obfuscation technology. And send them to the participating Alice node and the participating Bob node respectively, and these two private output values satisfy the relation. .
[0054] (c2) The first participating node generates the first value based on the result of the second matrix pre-operation A1 and the result of the second vector pre-operation A2.
[0055] The participating Alice node performs private numerical multiplication calculations locally in parallel. After the calculation is completed, the result is stored in the private storage space inside the Alice local node.
[0056] (c3) The first participating node will perform a pre-processing operation on the second vector (corresponding to...) Figure 6 A2 in the diagram is used as one of the inputs to the secure two-party numerical multiplication computation protocol. The second participating node will use the result of the pre-operation of the fourth matrix (corresponding to...) Figure 6 B1 in the protocol is used as one of the inputs to the secure two-party numerical multiplication calculation. The secure two-party numerical multiplication calculation is performed, and the first and second participating nodes respectively obtain the third multiplication result (corresponding to...). Figure 6 V in a1 ) and the result of the fourth multiplication (corresponding to Figure 6 V in b1 ).
[0057] Participating nodes Alice and Bob input their respective private values based on the Secure Two-Party Multiplication Protocol (S2PRM). and private values The second round of secure two-party numerical multiplication is performed in parallel. After the S2PRM protocol calculation is completed, the intermediate results of this round of calculation will be randomly split into numerical values using random obfuscation techniques. And send them to the participating Alice node and the participating Bob node respectively, and these two private output values satisfy the relation. .
[0058] (c4) The second participating node generates the second value based on the result of the pre-operation of the fourth matrix B1 and the result of the pre-operation of the fourth vector B2.
[0059] The participating node Bob performs private numerical multiplication calculations locally in parallel. After the calculation is completed, the result is stored in the private storage space inside Bob's local node.
[0060] (c5) The first participating node, based on the first numerical value and the first multiplication result V, a2 and the result of the third multiplication V a1 Generate the first mixed multiplication result (corresponding to) Figure 6 V in a ).
[0061] The participating Alice node will use the intermediate random split values generated by the execution of the S2PRM protocol in the first two rounds. Perform secret aggregation and execute private computations locally. ,in .
[0062] (c6) The second participating node will pass the second value and the second multiplication result V. b2 and the result of the fourth multiplication V b1 Generate the second mixed multiplication result (corresponding to) Figure 6 V in b ).
[0063] The participating node Bob will use the intermediate random split values generated by the execution of the S2PRM protocol in the first two rounds. Execute secret aggregation in parallel and perform private computation locally. ,in .
[0064] Participating nodes Alice and Bob will each submit their private values after summarizing the final randomly obfuscated intermediate results. The result is sent to the requesting party for a secure two-party numerical multiplication calculation, which then aggregates the results to obtain the final calculation result. Obviously, it is easy to verify that: .
[0065] by Taking the calculation as an example, it is necessary to calculate... and This can be achieved by combining them into column vectors, specifically including: (1) The first participating node inputs the pre-calculated values. and , and , and , and The second participating node inputs the pre-calculated values. and , and , and , and After the secure two-party numerical hybrid multiplication calculation protocol is executed, random obfuscation techniques are used to return the corresponding random intermediate calculation results to each node. and , and , and , and And these private values satisfy the relational expression , , , .
[0066] (2) The first participating node computes locally. and .
[0067] (3) The second participating node performs local computation. and .
[0068] (4) The first participating node and the second participating node each form a column vector of values locally. and And these two private vectors satisfy the relation .
[0069] (5) Through the complete operation of this step, the first participating node will obtain a local private column vector. The second participating node will obtain a local private column vector. .
[0070] (6) The first participating node computes locally. and and form a column vector The first mixed multiplication result, the results of multiple second matrix pre-operations and the corresponding multiple fourth vector pre-operations are used as inputs to the secure two-party numerical mixed multiplication calculation protocol. After executing the secure numerical mixed multiplication calculation protocol, the multiple results are fused to obtain the final first mixed multiplication result.
[0071] (7) The second participating node computes locally. and and form a column vector This is the second mixed multiplication result. The results of multiple fourth matrix pre-operations and the corresponding multiple second vector pre-operations are used as inputs to the secure two-party numerical mixed multiplication calculation protocol. After executing the secure numerical mixed multiplication calculation protocol, the multiple results are fused to obtain the final second mixed multiplication result.
[0072] The problem of secure two-party numerical multiplication commonly appears in applications such as logistic regression, activation function privacy in multilayer perceptrons, and privacy-preserving vector and matrix bitwise multiplication, and has broad research value. Therefore, without loss of generality, let the protocol... The initial input for the participating nodes is a numerical value. , The initial input for the participating nodes is a numerical value. Based on this, an efficient, parallel, and secure two-party numerical multiplication computation protocol is proposed. Two computational participants are known. They are independent and distrustful of each other. It holds private data that is stored only on its own computing node. , It holds private data that is stored only on its own computing node. The two parties jointly execute a two-party numerical multiplication calculation protocol. Ultimately, each participating node in the computation receives its corresponding output. The system sends the result of the two-party numerical multiplication calculation to the requesting party. During the calculation, each participating node can only obtain its own input and output information and cannot obtain the intermediate settlement results or private data information held by other participants. The specific process of the secure two-party numerical multiplication calculation protocol is as follows: Figure 7 As shown.
[0073] [Preprocessing Module]: Step 1: Participants Nodes and Participants The nodes jointly negotiate a positive integer. Each entity locally splits its private data into... A private vector is formed from a set of distinct random positive numbers. and ,in and .
[0074] Step 2: Participants Nodes will have private vectors Transform a row of a matrix into a private matrix. Participants Node pairs private vectors middle Perform all permutations of the elements and convert each permutation into a vector, resulting in a total of... A random sorted vector, the process of which is represented as follows: Indicates to element (a full permutation operation), then from Random selection vectors The private matrix is formed by row vectors. .
[0075] [Formal Calculation Module]: Step 3: Participants Nodes and Participants The node is based on a secure two-way matrix multiplication computation protocol. Enter their respective private data. and Perform a round of safe two-sided matrix multiplication calculations .exist After the protocol calculation is completed, this round of calculation... Based on secure data obfuscation technology, it was split into... The two results were sent to the participants respectively. Nodes and Participants Each node serves as its private output, and these two private output matrices satisfy the following relation: .
[0076] [Dimensional Reduction Transformation Module] Step 4: Participants Nodes and Participants Each node obtains a private matrix. Then, each will store the matrix locally. Summing each element yields its private value. and Then and The data is sent to the computation requester, who then aggregates it to obtain the results. .
[0077] It is easy to verify that: .
[0078] Regarding the Secure Two-Party Matrix Multiplication Computation Protocol (S2PM) Problem Definition: Given that there exist two computational methods , They are independent and distrustful of each other. Holding a dimension as Private data matrix stored only on its own computing node , Holding a dimension as Private data matrix The two parties hope to achieve this by jointly implementing a secure matrix multiplication computation protocol. Ultimately, each participating node in the computation receives its corresponding dimension. The output matrix The results are then sent to the requesting party to aggregate and obtain the desired two-way matrix product. During the calculation process, each participating node can only know its own input and output information and cannot obtain the intermediate settlement results or data held by other participants.
[0079] The protocol flow for secure two-party matrix multiplication is as follows: Figure 8 As shown.
[0080] Step 1: The auxiliary computing node, also known as the product / service node. Generate two pairs of random matrices, specifically in the form of a matrix with dimension 1. random matrix Dimensions random matrix and dimensions Two random matrices These random matrices must strictly satisfy the following constraints. Then by The auxiliary node will pair the random matrix Send to the participants Calculate nodes, pair random matrices Send to the participants Compute nodes.
[0081] Step 2: Participants Upon receiving the corresponding random matrix pair Then, its internal calculation and send it to the participating nodes. .
[0082] Step 3: Participants Upon receiving the corresponding random matrix pair Then, its internal calculation and send it to the participating nodes. .
[0083] Step 4: Participants The node received from Matrix sent by the node Then, a random matrix is secretly generated internally. And secretly calculate the matrix locally. Send to node.
[0084] Step 5: Participants Node received Then, the matrix is obtained through local secret computation. .
[0085] Step 6: Participants node, Each node represents its corresponding final obfuscated split result. , The matrix multiplication is sent to the two parties requesting the matrix multiplication calculation, who then sums the results to obtain the final product. .
[0086] It is easy to verify that:
[0087] This embodiment has the following technical effects: 1) This embodiment adopts a secure two-party numerical hybrid multiplication basic protocol and proposes a hybrid convolution computation scheme that supports end-to-end parallel computing mode in a semi-honest environment. It effectively solves the problems of high ciphertext computation and communication overhead caused by the introduction of homomorphic encryption and unintended transmission techniques in existing technologies. It provides a parallel, secure, and reliable convolution computation scheme that does not rely on third-party cloud services. This addresses the problems of high communication overhead, low computational efficiency, reliance on third-party cloud service computing nodes, and data privacy risks associated with cryptographic technology stacks in the aforementioned existing technologies 1 to 4.
[0088] 2) This embodiment proposes a secure two-way fast convolution computation technique based on the Winograd convolution concept. By introducing a block-by-block processing strategy and combining block size and filter dimension, the number of multiplication operations is reduced, solving the efficiency bottleneck and insufficient parallel processing capability of existing technologies when performing large-scale convolution computations in scenarios requiring fine feature extraction. This technique effectively solves the problems of low efficiency and insufficient parallel processing capability of existing methods when capturing global image context information and facing large-scale convolution computations, and addresses the issues of high computational overhead, lack of computational accuracy, and low computational efficiency in the aforementioned existing technologies 1 and 2.
[0089] 3) This embodiment combines the concept of random obfuscation encryption with high precision. A secure two-way matrix multiplication computation protocol is proposed, which is a high-precision secure convolution computation protocol. Because... The protocol can support up to With its precise bit-level accuracy, this invention supports not only integer matrix calculations but also floating-point matrix calculations. Compared to convolution schemes based on obfuscated circuits and homomorphic encryption, which are limited to handling fixed-length decimals and integers, this invention expands the applicable scenarios for secure and fast convolution calculations, while achieving numerical calculation accuracy of the same order of magnitude as centralized calculation methods.
[0090] Example 2 This embodiment provides a secure two-party fast convolution computation device based on the Winograd convolution concept. It requires deploying a corresponding distributed computing framework on the computational participant nodes involved in the two-party secure fast convolution computation task. That is, the secure two-party fast convolution computation device based on the Winograd convolution concept is deployed on each participant node in the network. Figure 9 As shown, the secure two-party fast convolution calculation device based on the Winograd convolution concept includes: a task acquisition module, a secure calculation module, a rule generation module, a consensus calculation module, and a data sending module.
[0091] The task acquisition module is used to receive and parse fast convolution calculation requests from the calculation requester.
[0092] The secure computing module is used to automatically match the corresponding secure computing protocol based on the parsed fast convolution computing request; the secure computing protocol includes a secure two-way matrix multiplication computing protocol, a secure two-way numerical multiplication computing protocol, and a secure two-way numerical hybrid multiplication computing protocol.
[0093] The rule generation module is used to split the fast convolution calculation request according to the asynchronous instruction set of the matched secure computing protocol. The two participating nodes in the fast convolution calculation request perform collaborative computing according to the secure two-party fast convolution calculation method based on the winograd convolution idea described in Embodiment 1.
[0094] The consensus computation module is used to ensure the synchronization and consistency of results between the two participating nodes in the fast convolution computation request during collaborative computation. After receiving the assigned sub-rules, the consensus computation module ensures the synchronization and consistency of results through the consensus protocol.
[0095] The data sending module is used to send the first convolution calculation result obtained by the first participating node or the second convolution calculation result obtained by the second participating node to the calculation requester for aggregation to obtain a fast convolution calculation result.
[0096] The specific implementation process is as follows: An external client sends a request for two-party fast matrix convolution calculation to the network terminal with distributed computing services via HTTP or gRPC communication protocol. When the task acquisition module of the network node receives the request for convolution calculation, it parses it and starts the secure computing service process of the corresponding computing participant node 1 and node 2. After the task acquisition module finishes parsing the corresponding computing requirements, it passes them to the secure computing module, which performs a joint query through its internal interface. After matching the corresponding secure computing protocol, it synchronizes it to the rule generation module in the two participating nodes. The rule generation module formulates different asynchronous parallel execution processes according to the different sub-tasks undertaken by the two different participating nodes, and maintains communication with the consensus computing module at each step of the execution. While the two participating nodes execute each step of the calculation instructions, the consensus computing module broadcasts and maintains the consistency of the results of the distributed computing nodes on the chain and controls the stability of the execution process. After the final calculation protocol is executed, the two participating nodes obtain the sub-results calculated by each other, and send the result sub-matrix after the two parties' confusion and splitting to the computing requester through the data sending module to obtain the correct calculation result.
[0097] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0098] In one exemplary embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.
[0099] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.
[0100] The technical features of the above embodiments can be combined in any way. For the sake of brevity, 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.
[0101] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A secure two-way fast convolution calculation method based on winograd convolution, characterized in that, The method involves two participating nodes: a first participating node holds a first initial input matrix and a first initial convolution kernel matrix, and a second participating node holds a second initial input matrix and a second initial convolution kernel matrix. The secure two-party fast convolution calculation method based on Winograd convolution includes: The first participating node preprocesses the first initial input matrix and the first initial convolution kernel matrix to obtain the first preprocessed input matrix and the first convolution kernel vector. The preprocessing refers to expanding the window matrix generated by sliding the first initial convolution kernel matrix on the first initial input matrix into a vector and then recombining it based on the im2col method, as well as vectorizing the first initial convolution kernel matrix. The second participating node preprocesses the second initial input matrix and the second initial convolution kernel matrix to obtain the second preprocessed input matrix and the second convolution kernel vector. The first participating node performs fast filtering on the first preprocessed input matrix and the first convolution kernel vector to obtain the first filtering result. The second participating node performs fast filtering on the second preprocessed input matrix and the second convolution kernel vector to obtain the second filtering result. The first participating node uses the first filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol, and the second participating node uses the second filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol. The first participating node and the second participating node obtain the first hybrid multiplication result and the second hybrid multiplication result, respectively. The first participating node performs vector reconstruction on the first mixed multiplication result to obtain the first reconstruction matrix; the second participating node performs vector reconstruction on the second mixed multiplication result to obtain the second reconstruction matrix. The first participating node and the second participating node send the first reconstruction matrix and the second reconstruction matrix to the computation requester for aggregation to obtain the convolution calculation result.
2. The secure two-way fast convolution calculation method based on winograd convolution according to claim 1, characterized in that, The first participating node preprocesses the first initial input matrix and the first initial convolution kernel matrix to obtain the first preprocessed input matrix and the first convolution kernel vector, specifically including: The first participating node expands the window matrix generated by sliding the first initial convolution kernel matrix on the first initial input matrix into row vectors, thus obtaining a group of row vectors. The row vector groups are combined and reconstructed into the first preprocessing input matrix in sequence; The first participating node expands the first initial convolution kernel matrix into column vectors to obtain the first convolution kernel vector.
3. The secure two-way fast convolution calculation method based on winograd convolution according to claim 1, characterized in that, The first participating node performs fast filtering on the first preprocessed input matrix and the first convolution kernel vector to obtain the first filtering result, which specifically includes: The first participating node divides the first preprocessed input matrix into blocks to obtain a first matrix block set, and divides the first convolution kernel vector into blocks to obtain a first vector block set; The first participating node performs a first preset pre-operation on each matrix block in the first matrix block set to obtain the first matrix pre-operation result; Determine whether the result of the first matrix's pre-operation is a matrix, and obtain the first determination result; If the first judgment result is yes, then the first participating node performs block partitioning on each first matrix pre-operation result to obtain a second matrix block set; let the second matrix block set be the first matrix block set, and return to the step "the first participating node performs the first preset pre-operation on each matrix block in the first matrix block set to obtain the first matrix pre-operation result"; If the first judgment result is negative, the first participating node performs the first preset pre-operation on the final first matrix pre-operation result to obtain multiple second matrix pre-operation results; The first participating node performs a second preset pre-operation on each vector block in the first vector block set to obtain the result of the first vector pre-operation. Determine whether the result of the first vector's pre-operation is a matrix, and then obtain the second determination result; If the second judgment result is yes, then the first participating node performs block partitioning on each first vector pre-operation result to obtain a second vector block set; let the second vector block set be the first vector block set, and return to the step "the first participating node performs the second preset pre-operation on each vector block in the first vector block set to obtain multiple first vector pre-operation results"; If the second judgment result is negative, the first participating node performs a second preset pre-operation on the final first vector pre-operation result to obtain the second vector pre-operation result; the first filtering result includes the second matrix pre-operation result and the second vector pre-operation result.
4. The secure two-way fast convolution calculation method based on winograd convolution according to claim 3, characterized in that, The second participating node performs fast filtering on the second preprocessed input matrix and the second convolution kernel vector to obtain the second filtering result, which specifically includes: The second participating node divides the second preprocessed input matrix into blocks to obtain a set of third matrix blocks. The second convolution kernel vector is divided into blocks to obtain a third vector block set; The second participating node performs the first preset pre-operation on each matrix block in the third matrix block set to obtain the result of the third matrix pre-operation. Determine whether the result of the pre-operation on the third matrix is a matrix, and then obtain the third determination result; If the third judgment result is yes, then the second participating node performs block partitioning on each third matrix pre-operation result to obtain the fourth matrix block set; let the fourth matrix block set be the third matrix block set, and return to the step "the second participating node performs the first preset pre-operation on each matrix block in the third matrix block set to obtain the third matrix pre-operation result"; If the third judgment result is negative, the second participating node performs the first preset pre-operation on the final third matrix pre-operation result to obtain multiple fourth matrix pre-operation results; The second participating node performs the second preset pre-operation on each vector block in the third vector block set to obtain the third vector pre-operation result. Determine whether the result of the pre-operation on the third vector is a matrix, and then obtain the fourth result. If the fourth judgment result is yes, then the first participating node performs block partitioning on each third vector pre-operation result to obtain the fourth vector block set; let the fourth vector block set be the third vector block set, and return to the step "the second participating node performs the second preset pre-operation on each vector block in the third vector block set to obtain the third vector pre-operation result"; If the fourth judgment result is negative, the second participating node performs the second preset pre-operation on the final third vector pre-operation result to obtain the fourth vector pre-operation result; the second filtering result includes the fourth matrix pre-operation result and the fourth vector pre-operation result.
5. The secure two-way fast convolution calculation method based on winograd convolution according to claim 4, characterized in that, The first participating node uses the first filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol, and the second participating node uses the second filtering result as one of the inputs to the secure two-party numerical hybrid multiplication calculation protocol. The first and second participating nodes obtain the first hybrid multiplication result and the second hybrid multiplication result, respectively, including: The first participating node uses the result of the second matrix pre-operation as one of the inputs to the secure two-party numerical multiplication calculation protocol, and the second participating node uses the result of the fourth vector pre-operation as one of the inputs to the secure two-party numerical multiplication calculation protocol. They then perform secure two-party numerical multiplication calculations, and the first and second participating nodes obtain the first multiplication result and the second multiplication result, respectively. The first participating node generates the first value based on the result of the pre-operation of the second matrix and the result of the pre-operation of the second vector. The first participating node uses the result of the second vector pre-operation as one of the inputs to the secure two-party numerical multiplication calculation protocol, and the second participating node uses the result of the fourth matrix pre-operation as one of the inputs to the secure two-party numerical multiplication calculation protocol. The secure two-party numerical multiplication calculation is performed, and the first and second participating nodes obtain the third and fourth multiplication results, respectively. The second participating node generates a second value based on the result of the pre-operation of the fourth matrix and the result of the pre-operation of the fourth vector; The first participating node generates the first mixed multiplication result based on the first value, the first multiplication result, and the third multiplication result; The second participating node generates a second mixed multiplication result from the second value, the second multiplication result, and the fourth multiplication result.
6. A secure two-way fast convolution calculation device based on Winograd convolution, characterized in that, The secure two-party fast convolutional computing device based on the Winograd convolution concept is deployed on each participating node in the network. The secure two-party fast convolutional computing device based on the Winograd convolution concept includes: 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 used to receive and parse fast convolution calculation requests from the calculation requester; The secure computing module is used to automatically match the corresponding secure computing protocol based on the parsed fast convolution computing request; the secure computing protocol includes a secure two-way numerical multiplication computing protocol and a secure two-way numerical hybrid multiplication computing protocol; The rule generation module is used to split the fast convolution calculation request according to the asynchronous instruction set of the matched secure computing protocol. The two participating nodes in the fast convolution calculation request perform collaborative computing according to the secure two-party fast convolution calculation method based on the winograd convolution idea as described in any one of claims 1 to 5. The consensus computation module is used to ensure the synchronization and consistency of results between the two participating nodes in the fast convolution computation request during collaborative computation. After receiving the assigned sub-rules, the consensus computation module ensures the synchronization and consistency of results through the consensus protocol. The data sending module is used to send the first convolution calculation result obtained by the first participating node or the second convolution calculation result obtained by the second participating node to the calculation requester for aggregation to obtain a fast convolution calculation result.
7. A computer device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor executes the computer program to implement the secure two-way fast convolution computation method based on winograd convolution as described in any one of claims 1-5.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the secure two-way fast convolution computation method based on winograd convolution as described in any one of claims 1-5.
9. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the secure two-way fast convolution computation method based on winograd convolution as described in any one of claims 1-5.