A method, system, and storage medium for secure multi-party collaborative computation in privacy computing.
By combining polynomial encoding and an optimized Paillier homomorphic encryption algorithm with task scheduling and a fast polynomial merging algorithm, the problems of low computational efficiency and high communication overhead in multi-party secure joint computation are solved, achieving efficient and secure data processing.
Patent Information
- Application Number
- CN202511187147.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-25
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2045-08-25
AI Technical Summary
Existing secure multi-party computing technologies have significant problems in terms of computational efficiency and communication overhead. In particular, they consume a lot of resources and time during large-scale data processing, and frequent data interactions affect computational efficiency when the network environment is poor.
The original data is converted into polynomial coefficient form using polynomial encoding. Polynomial operations replace point-by-point operations on massive data. A task scheduling center is introduced to dynamically allocate sub-tasks based on a performance evaluation model. An optimized Paillier homomorphic encryption algorithm is used for encrypted calculations. Only necessary intermediate results are transmitted. The calculation results are integrated with a fast polynomial merging algorithm.
It significantly improves computing efficiency, reduces resource consumption and communication overhead, ensures data privacy and security, and is suitable for scenarios with limited network bandwidth.
Smart Images

Figure CN120692008B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of privacy computing, specifically to a method, system, and storage medium for secure multi-party collaborative computing in privacy computing. Background Technology
[0002] In today's digital age, the value of data is increasingly evident, and the demand for collaborative data computation among various parties is growing. Multi-party secure computation, as a key technology for privacy-preserving computation, allows multiple participants to jointly complete computational tasks without disclosing their individual private data. However, existing multi-party secure collaborative computation technologies suffer from significant issues in terms of computational efficiency and communication overhead.
[0003] Taking a common example of secure multi-party computation based on secret sharing, frequent data exchange and complex encryption / decryption operations are required when handling multiplication operations on large-scale data. For instance, in a data analysis task involving multiple parties, each party needs to split its data into multiple shares according to a secret sharing algorithm and send them to other parties. In subsequent multiplication operations, a large amount of local computation and further data exchange are required based on the received shares from other parties to complete the final calculation. This not only results in a huge amount of local computation during the calculation process, consuming a large amount of computing resources and time, but also causes a surge in communication overhead due to frequent data exchanges. In poor network environments, this severely affects computational efficiency and may even prevent the computation task from being completed for a long time.
[0004] Therefore, how to improve the computational efficiency of secure multi-party collaborative computing and reduce communication overhead while ensuring data privacy and security has become an urgent problem to be solved. Summary of the Invention
[0005] The purpose of this invention is to provide a method, system, and storage medium for secure multi-party joint computation in privacy computing, so as to solve the problems mentioned in the background art.
[0006] To achieve the above objectives, the present invention provides the following technical solution: a method for secure multi-party collaborative computation in privacy computation, comprising the following steps:
[0007] Step S1, Data Preprocessing Stage: First, each participant encodes its local raw data, converting the raw data into a polynomial encoding form, and constructing a polynomial with coefficients determined by the raw data, so that subsequent calculations can replace operations on multiple individual data by operating on the polynomial.
[0008] Step S2, Calculation Task Allocation Stage: Introducing a task scheduling center, based on the computing power and network conditions of each participant, a performance evaluation model is established by analyzing the historical computing time, CPU performance, and network bandwidth data of each participant. The computing power and network conditions of each participant are assigned corresponding weights, and the amount of sub-tasks undertaken by each participant is calculated according to the weights, thereby intelligently allocating computing sub-tasks.
[0009] Step S3, Joint Computation Phase: The computing task execution module of each participating device receives the computing sub-tasks assigned by the task scheduling center. The computing task execution module uses a homomorphic encryption algorithm optimized based on the Paillier homomorphic encryption algorithm to perform the computing of encrypted data. This reduces the number of computing steps during encryption and decryption. When performing multiplication operations, the homomorphic encryption feature is used to directly perform multiplication operations on the ciphertext, avoiding frequent encryption and decryption conversions. Furthermore, during the computing process, each participating party only exchanges necessary intermediate results of the block data related to the computing of other participating parties, reducing the amount of data transmission.
[0010] Step S4, Result Summarization Stage: The result sending modules of each participating device send their calculation results to the result summarization center. The result receiving module of the result summarization center receives the results sent by each participant. The result summarization center integrates the results, specifically using a fast polynomial merging algorithm—an efficient merging algorithm—to quickly merge these polynomials into a single final polynomial. For example, using the principle of the Fast Fourier Transform (FFT), multiple polynomials are quickly merged in the frequency domain, then transformed back to the time domain to obtain the final polynomial result, which is then decrypted to obtain the final calculation result.
[0011] Preferably, the specific implementation logic of the data preprocessing stage in step S1 is as follows:
[0012] Step S11, Data Grouping and Identification: Assume the participating parties ,in , The total number of participants, including the number of local pending processes. The original data is grouped according to business logic, and each group is denoted as [group name]. ,in , As a participant Number of groups; For each set of data, For group identification, Original data for the participating parties;
[0013] Step S12, Determining the polynomial order: For each set of data , build polynomial of degree ,in These are the polynomial coefficients;
[0014] Step S13: Solve for polynomial coefficients: Calculate the coefficients using the improved Lagrange interpolation method. First, set the interpolation nodes. Then a system of equations was established: ,in Then, the coefficients are solved using matrix operations:
[0015]
[0016] The coefficient matrix is obtained by optimizing the solution speed using LU decomposition. ;
[0017] Step S14, Code Verification: Participants Verify each set of encoding results: randomly select ,calculate The theoretical value and the actual value, i.e., the calculation If the error between the interpolated original data and the value calculated by substituting into the polynomial is less than a preset threshold... If the code is valid, then the code is valid; otherwise, the steps to solve for the polynomial coefficients will be repeated.
[0018] Step S15, Encoding Result Storage: Store the verified polynomial coefficients. The encoded result is stored to replace the original data in subsequent joint calculations, and the storage format is in key-value pair form. It is used for quick invocation of the task execution module.
[0019] Through the above steps, each participant transforms the scattered raw data into a structured polynomial encoding form, enabling the subsequent joint computation phase to replace point-by-point operations on massive amounts of data with polynomial operations. This works in conjunction with the subtask allocation logic of the task scheduling center and the optimized Paillier homomorphic encryption algorithm, effectively reducing computational complexity and data transmission volume.
[0020] Preferably, the specific implementation steps of the task allocation stage in step S2 are as follows:
[0021] Step S21, Data Acquisition Phase: The task scheduling center periodically collects raw data from each participant's equipment through communication links established with each participant's devices. The collected raw data includes historical computation time, CPU performance, and network bandwidth. The acquisition cycle is set according to the system's real-time requirements.
[0022] For the participating parties Historical computation time refers to the time spent by the participant in completing the computation sub-task in the past, denoted as ,in The number of historical tasks;
[0023] CPU performance data includes the number of CPU cores. , main frequency and CPU utilization ,in This refers to the number of data collections.
[0024] Network bandwidth data includes uplink bandwidth. and downlink broadband ;
[0025] Step S22, Data Preprocessing Stage: The collected raw data is preprocessed to eliminate outliers and noise, preparing for the establishment of a performance evaluation model. The specific processing is as follows:
[0026] For historical calculation time data, the following is adopted: Criteria for outlier removal. Calculation of participants. Mean of historical calculation time and standard deviation It will exceed Time values within the specified range are considered outliers and removed.
[0027] For CPU performance data, the CPU utilization rate is normalized and converted to... The value between them is given by the formula: ,in and Participants The minimum and maximum CPU utilization;
[0028] For network bandwidth data, normalization is also performed. The formula for normalizing uplink bandwidth is: ,in and Participants The minimum and maximum values of the uplink bandwidth; similarly, the downlink bandwidth is normalized to... ;
[0029] Step S23, Performance Evaluation Model Construction Stage: Based on the preprocessed data in Step S22, a performance evaluation model is constructed, specifically as follows:
[0030] Computational capability assessment: The number of CPU cores, clock speed, and normalized CPU utilization are selected as the evaluation indicators for computational capability. Computational ability assessment value The calculation formula is: ,in The weights corresponding to the number of CPU cores, clock speed, and normalized CPU utilization, and satisfying the following conditions: , As a participant The average value of normalized CPU utilization, i.e. This indicates the CPU's idle state. The larger the value, the more computing resources the CPU has remaining and the more sufficient its computing power.
[0031] Network condition assessment: Normalized uplink and downlink bandwidth are selected as the assessment indicators for network condition. (Participating parties...) Network condition assessment value Calculated using the following formula: , These are the weighting coefficients corresponding to the uplink and downlink bandwidths, and , Indicates the participating parties Average uplink bandwidth after normalization Indicates the participating parties Average downlink bandwidth after normalization;
[0032] Performance evaluation model: A performance evaluation model for participants is derived by combining the comprehensive evaluation values of computing power and network conditions. The calculation formula is: ,in The weight of computing power in the overall evaluation is adjusted according to the degree of dependence of the computing task on computing and networking.
[0033] Step S24, Weight Determination Stage: Assign corresponding weights to the computing power and network status of each participant. These weights will be used to calculate the amount of sub-tasks undertaken by each participant. Specifically, the weights are: computing power weights. Based on the participants' computational ability assessment value The proportion of each participant's computing power assessment value in the total value is determined; network status weights. Based on the network status assessment values of the participants. The proportion of the total network status assessment values of all participating parties is determined;
[0034] Step 25, Subtask Calculation Stage: Calculate the subtask volume for each participant based on their weight. Specifically, first set the total subtask volume to... Participants Subtasks undertaken The calculation formula is ,in The weight of computing power is the proportion of the subtask quantity calculation, and it is related to the overall performance evaluation. Maintain consistency to ensure consistency in assessments and task assignments;
[0035] Step 26, Subtask Allocation Phase: Based on the calculated amount of subtasks undertaken by each participant, the specific computational subtasks are allocated to each participant. .
[0036] Preferably, the specific implementation logic of the joint calculation stage in step 3 is as follows:
[0037] Step S31, Key Generation and Distribution: The result aggregation center acts as the key management node, generating public-private key pairs based on the optimized Paillier algorithm. and The public key private key Compared to the original Paillier algorithm, key generation is optimized in the following way: then prime numbers are selected. and Time, limited ,in and It is also a prime number, used to reduce the complexity of subsequent modular arithmetic; calculation Directly ordered Used to cancel random selection in the algorithm The steps ensure encryption validity; then the public key... Broadcast to all participating devices via an encrypted channel, private key SK The results are stored separately in the central data aggregation center and are not transmitted over the network; each participating party receives the public key. Afterwards, verification The public key is stored after successful verification of its primality (through the Miller-Rabin primality test, with 5 rounds of testing to balance security and efficiency). Used for subsequent encryption operations;
[0038] Step S32, Polynomial Encoding Data Encryption: Participants The computation task execution module calls the public key For the assigned subtask data, where the subtask data consists of polynomial coefficients... Encryption is performed using the following formula: ,in This is a random number, with a range of values. Compared to the original algorithm, the number of random number generation attempts is reduced by pre-generating a random number pool (with a capacity 1.2 times that of the subtask data); after encryption, a ciphertext set is generated. And add a timestamp to each ciphertext. and data identifier (Consistent with the encoding result identifier in the data preprocessing stage), used for subsequent intermediate result matching;
[0039] Step S33, Ciphertext Calculation Execution: Polynomial Multiplication Operation: When the subtask is polynomial multiplication, i.e. ,in For different participants, As a sub-task identifier, the participating parties Invoke the optimized ciphertext multiplication algorithm: The ciphertext of the product coefficient is obtained directly by multiplying the ciphertexts;
[0040] Matrix block multiplication: For the matrix multiplication subtask, the participating parties Multiplication is performed on the ciphertext blocks according to the block division strategy determined in the task allocation phase: ,in and For matrix data elements participating in privacy-preserving computation;
[0041] Step S34, Intermediate Result Interaction and Verification: Participants After completing the local encrypted computation, only the intermediate encrypted results that depend on other participants are sent to the target participant, i.e., the participant. Calculated The former The encrypted coefficients must be sent to the participants. Used for generating standardized delivery data packets during subsequent accumulation operations: ,in The sending timestamp; then the receiver, i.e., the participant. Perform double verification on the received intermediate results: first, check... Whether it matches the dependencies in the task allocation instructions; secondly, calculation. It compares the result with the hash value pre-generated by the sender. If the verification is successful, the result is stored in the local intermediate cache; otherwise, the retransmission mechanism is triggered.
[0042] Step S35: Local Calculation Result Temporary Storage: After completing all subtask calculations, the participants store the final ciphertext results, i.e., the complete coefficient ciphertext of the polynomial product and the block results ciphertext of the matrix multiplication, in a local encrypted cache. The storage format is as follows: ,in This serves as a globally unique identifier for the subtask. To calculate the completion timestamp, wait for the instruction in the result aggregation stage to trigger the sending operation.
[0043] Preferably, a multi-party secure collaborative computing system for privacy computing includes:
[0044] Multiple participating devices: used to store local data, encode local data, receive computing sub-tasks assigned by the task scheduling center, perform joint computing, and send computing results to the result aggregation center. Each participating device has a data encoding module, a computing task execution module, and a result sending module.
[0045] Task scheduling center: used to allocate computing sub-tasks based on the computing power and network conditions of each participating device. The task scheduling center includes a participant performance evaluation module and a task allocation module. The participant performance evaluation module is responsible for collecting and analyzing the performance data of each participating device, and the task allocation module allocates tasks based on the evaluation results.
[0046] Result Summary Center: Used to receive the calculation results sent by each participating device, integrate and decrypt the results to obtain the final calculation result. The Result Summary Center includes a result receiving module, a result integration module, and a decryption module.
[0047] Preferably, a storage medium stores a computer program thereon, which, when executed by a processor, implements the steps of a multi-party secure collaborative computation method in privacy computing.
[0048] Compared with the prior art, the beneficial effects of the present invention are:
[0049] Improving computational efficiency and reducing resource consumption: In the data preprocessing stage, this invention employs polynomial encoding to convert the original data into polynomial coefficient form, allowing subsequent calculations to replace point-by-point operations on massive amounts of data through polynomial operations, thus reducing repetitive calculation steps. In the joint computation stage, an optimized Paillier homomorphic encryption algorithm is used, limiting the form to prime numbers. and fixed generator This reduces the computational steps involved in key generation and encryption / decryption; at the same time, by utilizing homomorphic properties to directly perform multiplication operations on the ciphertext, it avoids the frequent share splitting and recombination in traditional secret sharing schemes, further reducing the amount of local computation.
[0050] To reduce communication overhead and optimize network transmission, this invention dynamically allocates subtasks during the task allocation phase using a performance evaluation model. This prioritizes tasks with high complexity and large data volumes to participants with superior overall performance, reducing the need for cross-participant data interaction. During the joint computation phase, only necessary intermediate results (such as the first part of a polynomial product) are transmitted. Item coefficient ciphertext), and through standardized data packets (including identifiers) (and hash verification) ensures transmission accuracy and avoids redundant data transmission. Compared with traditional solutions, the amount of intermediate result transmission is reduced, making it particularly suitable for scenarios with limited network bandwidth.
[0051] Enhanced task adaptability and ensured process collaboration: The task scheduling center of this invention constructs a dynamic evaluation model based on the computing power (number of CPU cores, clock speed, etc.) and network conditions (bandwidth, latency, etc.) of the participants, and achieves accurate matching between sub-tasks and the capabilities of the participants through weight allocation; The processes of each stage are closely linked: The identifier of the polynomial encoding result is associated with the sub-task allocation information, the ciphertext calculation relies on the optimized key system, and the result aggregation adopts a fast polynomial merging algorithm (such as frequency domain merging based on FFT), forming a full-link collaboration from data preprocessing to result output, ensuring system stability and efficiency.
[0052] To ensure privacy and security, this invention employs an encryption mechanism throughout the entire process: data transmission uses an encrypted channel, the original data participates in the calculation in the form of polynomial coefficient ciphertext, and only the result aggregation center holds the private key for final decryption, thus avoiding the risk of data leakage in intermediate links.
[0053] In summary, this invention effectively solves the problems of low computational efficiency and high communication overhead in traditional multi-party secure computation through technological innovations such as polynomial coding, dynamic task scheduling, and optimized homomorphic encryption. While ensuring data privacy, it significantly improves the practicality of the system. Attached Figure Description
[0054] Figure 1 This is a schematic diagram of the method flow of the present invention;
[0055] Figure 2 This is a schematic diagram of the data preprocessing stage of the present invention;
[0056] Figure 3 This is a schematic diagram of the task allocation phase of the present invention;
[0057] Figure 4 This is a schematic diagram of the joint computing stage of the present invention;
[0058] Figure 5 This is a schematic diagram of the system structure of the present invention. Detailed Implementation
[0059] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0060] Please see Figure 1-4 This invention provides a technical solution: a method for secure multi-party collaborative computation in privacy computing, comprising the following steps:
[0061] Step S1, Data Preprocessing Stage: First, each participant encodes its local raw data, converting it into a polynomial encoding form. This constructs a polynomial with coefficients determined by the raw data, allowing subsequent calculations to be performed on the polynomial instead of individual data points. The specific implementation logic is as follows:
[0062] Step S11, Data Grouping and Identification: Assume the participating parties ,in , The total number of participants, including the number of local pending processes. The original data is grouped according to business logic, and each group is denoted as [group name]. ,in , As a participant Number of groups; For each set of data, For group identification, Original data for the participating parties;
[0063] Step S12, Determining the polynomial order: For each set of data , build polynomial of degree ,in These are the polynomial coefficients;
[0064] Step S13: Solve for polynomial coefficients: Calculate the coefficients using the improved Lagrange interpolation method. First, set the interpolation nodes. (for the participants) Predefined unique integers, such as (ensuring no duplication of nodes across participants); then, a system of equations is established: ,in Then, the coefficients are solved using matrix operations:
[0065]
[0066] The coefficient matrix is obtained by optimizing the solution speed using LU decomposition. ;
[0067] Step S14, Code Verification: Participants Verify each set of encoding results: randomly select ,calculate The theoretical value and the actual value, i.e., the calculation If the error between the interpolated original data and the value calculated by substituting into the polynomial is less than a preset threshold... If the code is valid, then the code is valid; otherwise, the steps to solve for the polynomial coefficients will be repeated.
[0068] Step S14, Encoding Result Storage: Store the verified polynomial coefficients. The encoded result is stored to replace the original data in subsequent joint calculations, and the storage format is in key-value pair form. It is used for quick invocation of the task execution module.
[0069] Through the above steps, each participant transforms the scattered raw data into a structured polynomial encoding form, enabling the subsequent joint computation phase to replace point-by-point operations on massive amounts of data with polynomial operations. This works in conjunction with the subtask allocation logic of the task scheduling center and the optimized Paillier homomorphic encryption algorithm, effectively reducing computational complexity and data transmission volume.
[0070] Step S2, Task Allocation Stage: A task scheduling center is introduced. Based on the computing power and network conditions of each participant, a performance evaluation model is established by analyzing the historical computing time, CPU performance, and network bandwidth data of each participant. A corresponding weight is assigned to the computing power and network conditions of each participant. Based on the weight, the appropriate amount of sub-tasks for each participant is calculated, thereby intelligently allocating computing sub-tasks. The specific implementation steps are as follows:
[0071] Step S21, Data Acquisition Phase: The task scheduling center periodically collects raw data from each participant's equipment through communication links established with each participant's devices. The collected raw data includes historical computation time, CPU performance, and network bandwidth. The acquisition cycle is set according to the system's real-time requirements.
[0072] For the participating parties Historical computation time refers to the time spent by the participant in completing similar computational subtasks in the past, denoted as ,in The number of historical tasks;
[0073] CPU performance data includes the number of CPU cores. , main frequency and CPU utilization ,in Number of data collections / period;
[0074] Network bandwidth data includes uplink bandwidth. and downlink broadband ;
[0075] The data collection cycle is set according to the real-time requirements of the system, for example, once every 10 minutes. During the collection process, encrypted transmission is used to ensure data security and is compatible with the encryption methods of the participating devices in the data preprocessing stage.
[0076] Step S22, Data Preprocessing Stage: The collected raw data is preprocessed to eliminate outliers and noise, preparing for the establishment of a performance evaluation model. The specific processing is as follows:
[0077] For historical calculation time data, the following is adopted: Criteria for outlier removal. Calculation of participants. Mean of historical calculation time and standard deviation It will exceed Time values within the specified range are considered outliers and removed.
[0078] For CPU performance data, the CPU utilization rate is normalized and converted to... The value between them is given by the formula: ,in and Participants The minimum and maximum CPU utilization;
[0079] For network bandwidth data, normalization is also performed. The formula for normalizing uplink bandwidth is: ,in and Participants The minimum and maximum values of the uplink bandwidth; similarly, the downlink bandwidth is normalized to... ;
[0080] Step S23, Performance Evaluation Model Construction Stage: Based on the preprocessed data in Step S22, a performance evaluation model is constructed, specifically as follows:
[0081] Computational capability assessment: The number of CPU cores, clock speed, and normalized CPU utilization are selected as the evaluation indicators for computational capability. Computational ability assessment value The calculation formula is: ,in The weights corresponding to the number of CPU cores, clock speed, and normalized CPU utilization, and satisfying the following conditions: , As a participant The average value of normalized CPU utilization, i.e. This indicates the CPU's idle state. The larger the value, the more computing resources the CPU has remaining and the more sufficient its computing power.
[0082] Network condition assessment: Normalized uplink and downlink bandwidth are selected as the assessment indicators for network condition. (Participating parties...) Network condition assessment value Calculated using the following formula: , These are the weighting coefficients corresponding to the uplink and downlink bandwidths, and , Indicates the participating parties Average uplink bandwidth after normalization Indicates the participating parties Average downlink bandwidth after normalization;
[0083] Performance evaluation model: A performance evaluation model for participants is derived by combining the comprehensive evaluation values of computing power and network conditions. The calculation formula is: ,in The weight of computing power in the overall evaluation is adjusted according to the degree of dependence of the computing task on computing and networking.
[0084] Step S24, Weight Determination Stage: Assign corresponding weights to the computing power and network status of each participant. These weights will be used to calculate the amount of sub-tasks that each participant is suitable to undertake. Specifically, the weights are: computing power weights. Based on the participants' computational ability assessment value The proportion of each participant's computing power assessment value in the total value is determined; network status weights. Based on the network status assessment values of the participants. The proportion of the total network status assessment values of all participating parties is determined;
[0085] Step 25, Subtask Calculation Stage: Calculate the appropriate subtask volume for each participant based on their weight. Specifically, first set the total subtask volume to... Participants Subtasks undertaken The calculation formula is ,in The weight of computing power is the proportion of the subtask quantity calculation, and it is related to the overall performance evaluation. Maintain consistency to ensure consistency in assessments and task assignments;
[0086] Step 26, Subtask Allocation Phase: Based on the calculated amount of subtasks suitable for each participant, the specific calculation subtasks are allocated to each participant. ;
[0087] It should be noted that the subtask allocation phase is illustrated here with an example, and the specific implementation steps are as follows: The task scheduling center extracts subtasks from the task pool and classifies them according to their computational complexity and data volume. For example, subtasks are divided into four categories: high complexity and high data volume, high complexity and low data volume, low complexity and high data volume, and low complexity and low data volume.
[0088] For subtasks with high complexity and large data volume, priority should be given to assigning them to those with high comprehensive performance evaluation scores. Higher and computational power weight and network condition weights For all participants with higher strengths, other types of subtasks are assigned to participants with corresponding strengths based on their characteristics.
[0089] After allocation, the task scheduling center sends the subtask allocation information to each participant. This information includes the subtask identifier, task content, and the polynomial encoding identifier of the required data (corresponding to the encoding result identifier from the data preprocessing stage). Upon receiving the information, the participants obtain the corresponding polynomial encoded data and proceed to the joint computation stage.
[0090] Through the above steps, the task scheduling center can scientifically and rationally allocate computing sub-tasks according to the actual situation of each participant, so that the allocation of sub-tasks matches the capabilities of the participants, ensuring the efficient execution of the joint computing phase. At the same time, it is closely connected with the data preprocessing phase and the joint computing phase, ensuring that the entire multi-party secure joint computing process is logically coherent and runs efficiently.
[0091] Step S3, Joint Computation Phase: The computing task execution module of each participating device receives the computing sub-tasks assigned by the task scheduling center. The computing task execution module uses a homomorphic encryption algorithm optimized based on the Paillier homomorphic encryption algorithm to perform the computing of encrypted data. This reduces the number of computing steps during encryption and decryption. When performing multiplication operations, the homomorphic encryption feature is used to directly perform multiplication operations on the ciphertext, avoiding frequent encryption and decryption conversions. Furthermore, during the computing process, each participating party only exchanges necessary intermediate results of the block data related to the computing of other participating parties, reducing the amount of data transmission.
[0092] It should be noted that the joint computation phase, based on the polynomial encoding results generated in the data preprocessing phase and the sub-task allocation scheme determined in the computation task allocation phase, achieves secure multi-party computation through an optimized homomorphic encryption algorithm. The specific steps are as follows:
[0093] Step S31, Key Generation and Distribution: The result aggregation center acts as the key management node, generating public-private key pairs based on the optimized Paillier algorithm. and The public key private key Compared to the original Paillier algorithm, key generation is optimized in the following way: then prime numbers are selected. and Time, limited ,in and It is also a prime number, used to reduce the complexity of subsequent modular arithmetic; calculation Directly ordered Used to cancel random selection in the algorithm The steps ensure encryption validity; then the public key... Broadcast to all participating devices via an encrypted channel, private key SK The results are stored separately in the central data aggregation center and are not transmitted over the network; each participating party receives the public key. Afterwards, verification The public key is stored after successful verification of its primality (through the Miller-Rabin primality test, with 5 rounds of testing to balance security and efficiency). Used for subsequent encryption operations;
[0094] Step S32, Polynomial Encoding Data Encryption: Participants The computation task execution module calls the public key For the assigned subtask data, where the subtask data consists of polynomial coefficients... Encryption is performed using the following formula: ,in This is a random number, with a range of values. Compared to the original algorithm, the number of random number generation attempts is reduced by pre-generating a random number pool (with a capacity 1.2 times that of the subtask data); after encryption, a ciphertext set is generated. And add a timestamp to each ciphertext. and data identifier (Consistent with the encoding result identifier in the data preprocessing stage), used for subsequent intermediate result matching;
[0095] Step S33, Ciphertext Calculation Execution: Polynomial Multiplication Operation: When the subtask is polynomial multiplication, i.e. ,in For different participants, As a sub-task identifier, the participating parties Invoke the optimized ciphertext multiplication algorithm: The ciphertext of the product coefficient is obtained directly by multiplying the ciphertexts;
[0096] Matrix block multiplication: For the matrix multiplication subtask, the participating parties Multiplication is performed on the ciphertext blocks according to the block division strategy determined in the task allocation phase: ,in and For matrix data elements participating in privacy-preserving computation;
[0097] Step S34, Intermediate Result Interaction and Verification: Participants After completing the local encrypted computation, only the intermediate encrypted results that depend on other participants are sent to the target participant, i.e., the participant. Calculated The former The encrypted coefficients must be sent to the participants. Used for generating standardized delivery data packets during subsequent accumulation operations: ,in The sending timestamp; then the receiver, i.e., the participant. Perform double verification on the received intermediate results: first, check... Whether it matches the dependencies in the task allocation instructions; secondly, calculation. It compares the result with the hash value pre-generated by the sender. If the verification is successful, the result is stored in the local intermediate cache; otherwise, the retransmission mechanism is triggered.
[0098] Step S35: Local Calculation Result Temporary Storage: After completing all subtask calculations, the participants store the final ciphertext results, i.e., the complete coefficient ciphertext of the polynomial product and the block results ciphertext of the matrix multiplication, in a local encrypted cache. The storage format is as follows: ,in This serves as a globally unique identifier for the subtask. To calculate the completion timestamp, wait for the instruction in the result aggregation stage to trigger the sending operation.
[0099] Through the above steps, the joint computation stage achieves efficient ciphertext computation of polynomial encoded data, reduces the number of encryption and decryption operations by utilizing the homomorphic properties of the optimized Paillier algorithm, and reduces the amount of data transmission by combining a directional intermediate result interaction strategy. This forms a closed loop with the polynomial encoding in the data preprocessing stage and the subtask division in the task allocation stage, significantly improving the efficiency of multi-party joint computation.
[0100] Step S4, Result Summarization Stage: The result sending modules of each participating device send their calculation results to the result summarization center. The result receiving module of the result summarization center receives the results sent by each participant. The result summarization center integrates the results, specifically using a fast polynomial merging algorithm—an efficient merging algorithm—to quickly merge these polynomials into a single final polynomial. For example, using the principle of the Fast Fourier Transform (FFT), multiple polynomials are quickly merged in the frequency domain, then transformed back to the time domain to obtain the final polynomial result, which is then decrypted to obtain the final calculation result.
[0101] Example 2
[0102] Please see Figure 5 A multi-party secure collaborative computing system for privacy computing, comprising:
[0103] Multiple participating devices: used to store local data, encode local data, receive computing sub-tasks assigned by the task scheduling center, perform joint computing, and send computing results to the result aggregation center. Each participating device has a data encoding module, a computing task execution module, and a result sending module.
[0104] Task scheduling center: used to allocate computing sub-tasks based on the computing power and network conditions of each participating device. The task scheduling center includes a participant performance evaluation module and a task allocation module. The participant performance evaluation module is responsible for collecting and analyzing the performance data of each participating device, and the task allocation module allocates tasks based on the evaluation results.
[0105] Result Summary Center: Used to receive the calculation results sent by each participating device, integrate and decrypt the results to obtain the final calculation result. The Result Summary Center includes a result receiving module, a result integration module, and a decryption module.
[0106] Example 3
[0107] A storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method in Embodiment 1.
[0108] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0109] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. Optionally, they can be implemented using computer-executable program code, thereby storing them in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.
[0110] This invention discloses a multi-party secure joint computation method, system, and storage medium for privacy computing, aiming to solve the problems of low computational efficiency and high communication overhead in existing multi-party secure joint computation. The method comprises four stages: a data preprocessing stage, where each participant converts its local raw data into a polynomial encoding form, replacing repetitive computation on individual data with polynomial operations; a computation task allocation stage, introducing a task scheduling center to construct a performance evaluation model based on each participant's computing capabilities (CPU performance, historical computation time, etc.) and network conditions (bandwidth, latency, etc.), dynamically allocating computational sub-tasks to achieve precise matching between tasks and participant capabilities; a joint computation stage, employing an optimized Paillier homomorphic encryption algorithm, simplifying key generation and encryption processes by limiting prime number forms and fixing generators, directly performing multiplication operations on the ciphertext to reduce the number of encryption and decryption operations, while only transmitting necessary intermediate results to reduce communication overhead; and a result aggregation stage, integrating the ciphertext results from each participant using a fast polynomial merging algorithm, and obtaining the final computation result after decryption. This invention significantly improves the efficiency of multi-party collaborative computing and reduces communication overhead through end-to-end optimization, while ensuring data privacy and security. It is suitable for data privacy computing scenarios involving multi-organizational collaboration.
[0111] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.
Claims
1. A method for secure joint computation among multiple parties in privacy-preserving computation, characterized in that, Includes the following steps: Step S1, Data Preprocessing Stage: First, each participant encodes its local raw data, converting it into a polynomial encoding form. This constructs a polynomial with coefficients determined by the raw data, allowing subsequent calculations to be performed on the polynomial instead of individual data points. The specific implementation logic is as follows: Step S11, Data Grouping and Identification: Assume the participating parties ,in , The total number of participants, including the number of local pending processes. The raw data is grouped according to business logic, and each group is denoted as [group name]. ,in , As a participant Number of groups; For each set of data, For group identification, Original data for the participating parties; Step S12, Determining the polynomial order: For each set of data , build polynomial of degree ,in These are the polynomial coefficients; Step S13: Solve for polynomial coefficients: Calculate the coefficients using the improved Lagrange interpolation method. First, set the interpolation nodes. Then a system of equations was established: ,in Then, the coefficients are solved using matrix operations: The coefficient matrix is obtained by optimizing the solution speed using LU decomposition. ; Step S14, Code Verification: Participants Verify each set of encoding results: randomly select ,calculate The theoretical value and the actual value, i.e., the calculation If the error between the interpolated original data and the value calculated by substituting into the polynomial is less than a preset threshold... If the code is valid, then the code is valid; otherwise, the steps to solve for the polynomial coefficients will be repeated. Step S15, Encoding Result Storage: Store the verified polynomial coefficients. The encoded result is stored to replace the original data in subsequent joint calculations, and the storage format is in key-value pair form. This is used for quick invocation of the task execution module; Step S2, Task Allocation Stage: A task scheduling center is introduced. Based on the computing power and network conditions of each participant, a performance evaluation model is established by analyzing the historical computing time, CPU performance, and network bandwidth data of each participant. Corresponding weights are assigned to the computing power and network conditions of each participant, and the amount of sub-tasks undertaken by each participant is calculated based on these weights, thereby intelligently allocating computing sub-tasks. The specific implementation steps are as follows: Step S21, Data Acquisition Phase: The task scheduling center periodically collects raw data from each participant's equipment through communication links established with each participant's devices. The collected raw data includes historical computation time, CPU performance, and network bandwidth. The acquisition cycle is set according to the system's real-time requirements. For the participating parties Historical computation time refers to the time spent by the participant in completing the computation sub-task in the past, denoted as ,in The number of historical tasks; CPU performance data includes the number of CPU cores. , main frequency and CPU utilization ,in This represents the number of data collections. Network bandwidth data includes uplink bandwidth. and downlink broadband ; Step S22, Data Preprocessing Stage: The collected raw data is preprocessed to eliminate outliers and noise, preparing for the establishment of a performance evaluation model. The specific processing is as follows: For historical calculation time data, the following is adopted: Criteria for removing outliers and calculating participants Mean of historical calculation time and standard deviation It will exceed Time values within the specified range are considered outliers and removed. For CPU performance data, the CPU utilization rate is normalized and converted to... The value between them is given by the formula: ,in and Participants The minimum and maximum CPU utilization; For network bandwidth data, normalization is also performed. The formula for normalizing uplink bandwidth is: ,in and Participants The minimum and maximum values of the uplink bandwidth; similarly, the downlink bandwidth is normalized to... ; Step S23, Performance Evaluation Model Construction Stage: Based on the preprocessed data in Step S22, a performance evaluation model is constructed, specifically as follows: Computational capability assessment: The number of CPU cores, clock speed, and normalized CPU utilization are selected as the evaluation indicators for computational capability. Computational ability assessment value The calculation formula is: ,in The weights corresponding to the number of CPU cores, clock speed, and normalized CPU utilization, and satisfying the following conditions: , As a participant The average value of normalized CPU utilization, i.e. This indicates the CPU's idle state. The larger the value, the more computing resources the CPU has remaining and the more sufficient its computing power. Network condition assessment: Normalized uplink and downlink bandwidth are selected as the assessment indicators for network condition. (Participating parties...) Network condition assessment value Calculated using the following formula: , These are the weighting coefficients corresponding to the uplink and downlink bandwidths, and , Indicates the participating parties Average uplink bandwidth after normalization Indicates the participating parties Average downlink bandwidth after normalization; Performance evaluation model: A performance evaluation model for participants is derived by combining the comprehensive evaluation values of computing power and network conditions. The calculation formula is: ,in The weight of computing power in the overall evaluation is adjusted according to the degree of dependence of the computing task on computing and networking. Step S24, Weight Determination Stage: Assign corresponding weights to the computing power and network status of each participant. These weights will be used to calculate the amount of sub-tasks undertaken by each participant. Specifically, the weights are: computing power weights. Based on the participants' computational ability assessment value The proportion of each participant's computing power assessment value in the total value is determined; network status weights. Based on the network status assessment values of the participants. The proportion of the total network status assessment values of all participating parties is determined; Step 25, Subtask Calculation Stage: Calculate the subtask volume for each participant based on their weight. Specifically, first set the total subtask volume to... Participants Subtasks undertaken The calculation formula is: ,in The weight of computing power is the proportion of the subtask quantity calculation, and it is related to the overall performance evaluation. Maintain consistency to ensure consistency in assessments and task assignments; Step 26, Subtask Allocation Phase: Based on the calculated amount of subtasks undertaken by each participant, the specific computational subtasks are allocated to each participant. ; Step S3, Joint Computation Phase: The computation task execution modules of each participating device receive the computation sub-tasks assigned by the task scheduling center. The computation task execution modules use a homomorphic encryption algorithm optimized based on the Paillier homomorphic encryption algorithm to perform computation on the encrypted data; the specific implementation logic is as follows: Step S31, Key Generation and Distribution: The result aggregation center acts as the key management node, generating public-private key pairs based on the optimized Paillier algorithm. and The public key private key Then select prime numbers and Time, limited ,in and It is also a prime number, used to reduce the complexity of subsequent modular arithmetic; calculation Directly ordered Used to cancel random selection in the algorithm The steps ensure encryption validity; then the public key... Broadcast to all participating devices via an encrypted channel, private key SK The results are stored separately in the central data aggregation center and are not transmitted over the network; each participating party receives the public key. Afterwards, verification After verifying the identity of the key, store the public key. Used for subsequent encryption operations; Step S32, Polynomial Encoding Data Encryption: Participants The computation task execution module calls the public key For the assigned subtask data, where the subtask data consists of polynomial coefficients... Encryption is performed using the following formula: ,in This is a random number, with a range of values. After encryption is complete, a ciphertext set is generated. And add a timestamp to each ciphertext. and data identifier , used for matching subsequent intermediate results; Step S33, Ciphertext Calculation Execution: Polynomial Multiplication Operation: When the subtask is polynomial multiplication, i.e. ,in For different participants, As a sub-task identifier, the participating parties Invoke the optimized ciphertext multiplication algorithm: The ciphertext of the product coefficient is obtained directly by multiplying the ciphertexts; Matrix block multiplication: For the matrix multiplication subtask, the participating parties Multiplication is performed on the ciphertext blocks according to the block division strategy determined in the task allocation phase: ,in and For matrix data elements participating in privacy-preserving computation; Step S34, Intermediate Result Interaction and Verification: Participants After completing the local ciphertext computation, only the intermediate ciphertexts that depend on other participants are sent to the target participant, i.e., the participant. Calculated The former The encrypted coefficients must be sent to the participants. Used for generating standardized delivery data packets during subsequent accumulation operations: ,in The sending timestamp; then the receiver, i.e., the participant. Perform double verification on the received intermediate results: first, check... Whether it matches the dependencies in the task allocation instructions; secondly, calculation. It compares the result with the hash value pre-generated by the sender. If the verification is successful, the result is stored in the local intermediate cache; otherwise, the retransmission mechanism is triggered. Step S35: Local Calculation Result Temporary Storage: After completing all subtask calculations, the participants store the final ciphertext results, i.e., the complete coefficient ciphertext of the polynomial product and the block results ciphertext of the matrix multiplication, in a local encrypted cache. The storage format is as follows: ,in This serves as a globally unique identifier for the subtask. To calculate the completion timestamp, wait for the instruction in the result aggregation stage to trigger the sending operation; Step S4, Result Summarization Stage: The result sending module of each participating device sends the calculation result to the result summarization center. The result receiving module of the result summarization center receives the results sent by each participating device. The result summarization center integrates the results and then decrypts them to obtain the final calculation result.
2. A multi-party secure collaborative computing system for privacy computing, characterized in that, According to claim 1, the system of the multi-party secure joint computation method for privacy computation includes: Multiple participating devices: used to store local data, encode local data, receive computing sub-tasks assigned by the task scheduling center, perform joint computing, and send computing results to the result aggregation center. Each participating device has a data encoding module, a computing task execution module, and a result sending module. Task scheduling center: used to allocate computing sub-tasks based on the computing power and network conditions of each participating device. The task scheduling center includes a participant performance evaluation module and a task allocation module. The participant performance evaluation module is responsible for collecting and analyzing the performance data of each participating device, and the task allocation module allocates tasks based on the evaluation results. Result Summary Center: Used to receive the calculation results sent by each participating device, integrate and decrypt the results to obtain the final calculation result. The Result Summary Center includes a result receiving module, a result integration module, and a decryption module.
3. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the method described in claim 1.
Citation Information
Patent Citations
Bidirectional privacy calculation method based on polynomial fitting
CN116028991A
Automatic resource allocation method for bearing neural network
CN119356836A