Multi-party security joint computing method and system in privacy computing and storage medium
Through polynomial encoding and optimized Paillier homomorphic encryption algorithm, the problems of low computational efficiency and high communication overhead in multi-party secure computing are solved, and efficient and secure multi-party joint computing is achieved.
Patent Information
- Application Number
- CN202511187147.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-25
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2045-08-25
AI Technical Summary
Existing multi-party secure joint computing technology has significant problems in computing efficiency and communication overhead, especially when processing large-scale data, the computing process takes up a lot of resources and time, and frequent data interactions affect computing efficiency when the network environment is poor.
Polynomial encoding is used to convert the original data into polynomial coefficient form, and polynomial operations are used to replace point-by-point operations on massive data. A task scheduling center is introduced to build a performance evaluation model based on computing power and network conditions, and subtasks are dynamically allocated. In the joint computing stage, an optimized Paillier homomorphic encryption algorithm is used to directly perform multiplication operations on the ciphertext, reducing the encryption and decryption steps and only transmitting necessary intermediate results.
It effectively reduces computational complexity and data transmission volume, improves computational efficiency, reduces resource consumption and communication overhead, is suitable for scenarios with limited network bandwidth, and ensures data privacy and security.
Smart Images

Figure CN120692008A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to fields related to privacy computing, and specifically to a method, system, and storage medium for secure multi-party joint computing in privacy computing. Background Art
[0002] In today's digital age, the value of data is becoming increasingly prominent, and the demand for joint computing of this data is also growing. Multi-party secure computation, a key technology in privacy-preserving computing, allows multiple participants to jointly complete computing tasks without disclosing their private data. However, existing multi-party secure joint computing technologies have significant limitations in terms of computational efficiency and communication overhead.
[0003] Taking the common multi-party secure computation based on secret sharing as an example, when processing large-scale data multiplication operations, frequent data exchange and complex encryption and decryption operations are required. For example, for a data analysis task involving multiple participants, each participant needs to split their data into multiple shares according to the secret sharing algorithm and send them to other participants. In the subsequent multiplication process, a large amount of local calculations and further data exchange are required based on the received shares of other parties to complete the final calculation. This not only leads to a huge amount of local computing during the calculation process, which consumes a lot of computing resources and time, but also the frequent data exchange increases the communication overhead dramatically. In poor network conditions, it seriously affects computing efficiency and may even cause the computing task to be unable to complete for a long time.
[0004] Therefore, how to improve the computational efficiency of multi-party secure joint 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 the present invention is to provide a method, system and storage medium for multi-party secure joint computing in privacy computing to solve the problems raised in the above background technology.
[0006] To achieve the above objectives, the present invention provides the following technical solution: a method for multi-party secure joint computing in privacy computing, comprising the following steps:
[0007] Step S1, data preprocessing stage: First, encode the local original data of each participant, convert the original data into a polynomial encoding form, and construct a polynomial with coefficients determined by the original data, so that subsequent calculations can be performed by operating on the polynomial instead of operating on multiple individual data;
[0008] Step S2, computing task allocation phase: Introducing a task scheduling center, based on the computing power and network status of each participant, by analyzing the historical computing time, CPU performance, and network bandwidth data of each participant to establish a performance evaluation model, assigning corresponding weights to each participant's computing power and network status, and calculating the amount of subtasks that each participant is suitable for taking on based on the weights, thereby intelligently allocating computing subtasks;
[0009] Step S3, joint computing phase: The computing task execution module of each participant's device receives the computing subtasks 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 calculate the encrypted data, reducing the number of computing steps in the encryption and decryption process. When performing multiplication operations, the homomorphic encryption feature is used to directly perform multiplication operations on the ciphertext, avoiding frequent encryption and decryption conversions. During the calculation process, each participant only exchanges the necessary intermediate results of the block data related to the calculation of other participants, reducing the amount of data transmission;
[0010] Step S4, Result Aggregation: The result sending module of each participant's device sends the calculation results to the result aggregation center. The result receiving module of the result aggregation center receives the results sent by each participant. The result aggregation center integrates the results, specifically using a fast polynomial merging algorithm to quickly merge the polynomials into a final polynomial. For example, using the principle of fast Fourier transform (FFT), multiple polynomials are quickly merged in the frequency domain, then converted 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: suppose the participants ,in , is the total number of participants, and the local pending The original data are grouped according to business logic, and each group of data is recorded as ,in , For participants Number of groups; is the amount of data for each group, is the group identifier, The original data of the participants;
[0013] Step S12: Determine the polynomial order: for each set of data , build polynomial ,in are the polynomial coefficients;
[0014] Step S13, solving the polynomial coefficients: using the improved Lagrange interpolation method to calculate the coefficients : First set the interpolation node ; Then establish the equation system: ,in ; Then solve the coefficients through matrix operations:
[0015]
[0016] Use LU decomposition to optimize the solution speed and obtain the coefficient matrix ;
[0017] Step S14: Code Verification: Participants Verify each set of encoding results: randomly select ,calculate The theoretical value and actual value of The original data interpolation and the value calculated by substituting the polynomial are calculated. If the error is less than the preset threshold , the encoding is valid; otherwise, re-execute the step of solving the polynomial coefficients;
[0018] Step S14: Store the coding result: store the polynomial coefficients that have passed the verification It is stored as the result of encoding and participates in subsequent joint calculations instead of the original data. The storage format is key-value pairs: , used for fast calling of computing task execution modules.
[0019] Through the above steps, each participant converts the scattered original data into a structured polynomial encoding form, so that the subsequent joint computing stage can replace the point-by-point operations of massive data with polynomial operations, forming a synergy with the subtask allocation logic and optimized Paillier homomorphic encryption algorithm of the task scheduling center, effectively reducing the computational complexity and data transmission volume.
[0020] Preferably, the specific implementation steps of the computing task allocation stage of step S2 are as follows:
[0021] Step S21, data collection phase: The task scheduling center regularly collects raw data from each participant through the communication link established with each participant's device; the collected raw data includes historical computing time, CPU performance, and network bandwidth. The collection period is set according to the real-time requirements of the system:
[0022] For participants ,The historical computing time refers to the time that the participant spent to complete similar computing subtasks in the past, recorded as ,in is the number of historical tasks;
[0023] CPU performance data includes the number of CPU cores , main frequency and CPU usage ,in is the number of collections;
[0024] Network bandwidth data includes uplink bandwidth and downstream broadband ;
[0025] Step S22, data preprocessing stage: preprocess the collected raw data to eliminate outliers and noise in preparation for establishing a performance evaluation model. The specific process is as follows:
[0026] For historical calculation time data, use The criteria are used to eliminate outliers. The average of historical calculation time and standard deviation , will exceed Time values in the range are considered as outliers and removed;
[0027] For CPU performance data, normalize the CPU usage and convert it into The value between is ,in and Participants The minimum and maximum values of CPU usage;
[0028] The network bandwidth data is also normalized. The uplink bandwidth normalization formula is: ,in and Participants The minimum and maximum values of the uplink bandwidth are as follows. Similarly, the downlink bandwidth is normalized to ;
[0029] Step S23, performance evaluation model construction phase: Construct a performance evaluation model based on the data preprocessed in step S22, specifically:
[0030] Computing capacity evaluation: The number of CPU cores, main frequency and normalized CPU usage are selected as evaluation indicators of computing capacity. , computing capability assessment value The calculation formula is: ,in The weights corresponding to the number of CPU cores, main frequency and normalized CPU usage, and satisfy , For participants The average value of CPU usage after normalization, that is Indicates the CPU idleness. A larger value indicates more remaining CPU computing resources and more sufficient computing power.
[0031] Network status evaluation: Select the normalized uplink bandwidth and downlink bandwidth as the evaluation indicators of network status. Network status assessment value Calculated by the following formula: , is the weight coefficient corresponding to the uplink bandwidth and downlink bandwidth, and , Indicates the participants The average uplink bandwidth after normalization, Indicates the participants Average downlink bandwidth after normalization;
[0032] Performance evaluation model: The performance evaluation model of the participants is obtained by combining the computing power evaluation value and the network status evaluation value. , the calculation formula is ,in The weight of computing power in the comprehensive evaluation is adjusted according to the degree of computing and network dependence of the computing task;
[0033] Step S24, weight determination phase: assign corresponding weights to the computing power and network status of each participant. The weights will be used to calculate the amount of subtasks that the participant is suitable for undertaking. Specifically, the computing power weights :Evaluated value based on the computing power of the participants The proportion of the total computing power evaluation value of all participants is determined; the network status weight :Evaluation value based on the network status of the participants Determined by the proportion of the total network status evaluation value of all participants;
[0034] Step 25, sub-task amount calculation phase: Calculate the amount of sub-tasks that each participant is suitable for taking on based on the weight of the participants. Specifically, first set the total sub-task amount to , participants Amount of subtasks undertaken The calculation formula is ,in The weight of computing power in the calculation of subtasks is the proportion of computing power in the comprehensive performance evaluation. Maintain alignment to ensure consistency in assessment and assignment;
[0035] Step 26: Subtask allocation phase: Allocate specific computational subtasks to each participant based on the calculated subtask volume that each participant is suitable for. .
[0036] Preferably, the specific implementation logic of the joint calculation phase in step 3 is as follows:
[0037] Step S31, key generation and distribution: The result aggregation center acts as a key management node to generate a public-private key pair based on the optimized Paillier algorithm and , where the public key , private key , compared with the original Paillier algorithm, the key generation is optimized in the following ways: Then the prime number is selected and Time, limited ,in and It is also a prime number, which is used to reduce the complexity of subsequent modular operations; calculation , directly order , used to cancel the random selection in the algorithm steps, while ensuring encryption validity; then the public key The private key SK is broadcast to all participating devices through an encrypted channel and is stored separately by the result aggregation center and does not participate in network transmission; each participant receives the public key After verification The primality of the key is verified (through the Miller-Rabin primality test, the number of test rounds is set to 5 to balance security and efficiency), and the public key is stored after verification. Used for subsequent encryption operations;
[0038] Step S32, polynomial encoding data encryption: Participants The computing task execution module calls the public key , for the assigned subtask data, where the subtask data is the polynomial coefficient , for encryption, the encryption formula is: ,in Is a random number with a value range of Compared with the original algorithm, the number of random number generation times is reduced by pre-generating a random number pool (the capacity is 1.2 times the amount of subtask data); after encryption is completed, the ciphertext set is generated , and add a timestamp to each ciphertext and data identification (consistent with the encoding result identifier in the data preprocessing stage) and used for subsequent intermediate result matching;
[0039] Step S33, ciphertext calculation execution: polynomial multiplication operation: When the subtask is polynomial multiplication, that is, ,in For different participants, Identifies the subtask, participants Call the optimized ciphertext multiplication algorithm: , directly obtain the ciphertext of the product coefficient by multiplying the ciphertext;
[0040] Matrix block multiplication: For the matrix multiplication subtask, the participants According to the block strategy determined in the task allocation phase, multiplication is performed on the ciphertext blocks: ,in and Matrix data elements participating in privacy calculation;
[0041] Step S34: Intermediate result interaction and verification: Participants After completing the local ciphertext calculation, only the intermediate result ciphertext that has a dependency relationship with other participants is sent to the target participant, that is, the participant Calculated Before The ciphertext of the item coefficient needs to be sent to the participants Generates standardized delivery data packets for subsequent accumulation operations: ,in is the sending timestamp; then the receiver, that is, the participant Perform double verification on the received intermediate results: first, check Whether it matches the dependency relationship in the task assignment instruction; second, calculate The hash value generated by the sender is compared with the hash value generated in advance. If the verification is successful, the result is stored in the local intermediate cache. Otherwise, the retransmission mechanism is triggered.
[0042] Step S35, temporary storage of local calculation results: 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 result ciphertext of the matrix multiplication, into the local encryption cache. The storage format is: ,in is the globally unique identifier of the subtask, To calculate the completion timestamp, wait for the instruction in the result aggregation phase to trigger the sending operation.
[0043] Preferably, a multi-party secure joint computing system in privacy computing includes:
[0044] Multiple participant devices: used to store local data, encode local data, receive computing subtasks assigned by the task scheduling center, perform joint computing, and send computing results to the result aggregation center. Each participant device has a data encoding module, a computing task execution module, and a result sending module.
[0045] Task Scheduling Center: This is used to allocate computing subtasks based on the computing capabilities and network conditions of each participant's equipment. 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 participant's equipment, and the task allocation module allocates tasks based on the evaluation results.
[0046] Result aggregation center: used to receive the calculation results sent by the devices of each participant, integrate and decrypt the results, and obtain the final calculation results. The result aggregation center has 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 joint computing method in privacy computing.
[0048] Compared with the prior art, the present invention has the following beneficial effects:
[0049] Improve computing efficiency and reduce resource consumption: The present invention adopts polynomial encoding in the data preprocessing stage to convert the original data into the form of polynomial coefficients, so that subsequent calculations can replace the point-by-point operations of massive data by polynomial operations, reducing repeated calculation steps; the joint calculation stage adopts the optimized Paillier homomorphic encryption algorithm, by limiting the prime number form and fixed generators , reducing the computational steps of key generation and encryption and decryption; at the same time, the homomorphic characteristics are used to directly perform multiplication operations on the ciphertext, avoiding the frequent share splitting and reorganization in traditional secret sharing schemes, and further reducing the local computational workload.
[0050] Reduce communication overhead and optimize network transmission: In the computing task allocation phase of the present invention, subtasks are dynamically allocated through the performance evaluation model, so that tasks with high complexity and high data volume are preferentially allocated to participants with excellent comprehensive performance, reducing the need for data interaction across participants. In the joint computing phase, only necessary intermediate results (such as the forward and reverse of polynomial products) are transmitted. coefficient ciphertext), and through a standardized data packet (including identification The new solution uses a hash function to ensure accurate transmission and avoid redundant data transmission. Compared with traditional solutions, it reduces the amount of intermediate results transmitted, making it particularly suitable for scenarios with limited network bandwidth.
[0051] Enhance task adaptability and ensure process collaboration: The task scheduling center of the present invention builds a dynamic evaluation model based on the computing capabilities (number of CPU cores, main frequency, etc.) and network conditions (bandwidth, latency, etc.) of the participants, and achieves precise matching of subtasks and participants' capabilities through weight distribution; the processes at each stage are closely connected: the identification of the polynomial encoding result is associated with the subtask allocation information, the ciphertext calculation relies on the optimized key system, and the result aggregation adopts a fast polynomial merging algorithm (such as FFT-based frequency domain merging), forming a full-link collaboration from data preprocessing to result output, ensuring system stability and efficiency.
[0052] Ensuring privacy and security: The present invention adopts an encryption mechanism throughout the entire process: data transmission uses an encrypted channel, the original data is calculated in the form of polynomial coefficient ciphertext, and only the result aggregation center holds the private key for final decryption, avoiding the risk of data leakage in the intermediate links.
[0053] In summary, the present invention effectively solves the problems of low computational efficiency and high communication overhead in traditional multi-party secure computing through technical innovations such as polynomial encoding, dynamic task scheduling, and optimized homomorphic encryption. While ensuring data privacy, it significantly improves the practicality of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 Schematic diagram of the method flow of the present invention;
[0055] Figure 2 This is a flow chart of the data preprocessing stage of the present invention;
[0056] Figure 3 This is a flow chart of the computing task allocation phase of the present invention;
[0057] Figure 4 It is a schematic diagram of the joint calculation stage flow of the present invention;
[0058] Figure 5 Schematic diagram of the system structure of the present invention. DETAILED DESCRIPTION
[0059] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0060] See also Figure 1-4 The present invention provides a technical solution: a multi-party secure joint computing method in privacy computing, comprising the following steps:
[0061] Step S1, data preprocessing stage: First, encode the local original data of each participant, convert the original data into a polynomial encoding form, and construct a polynomial with coefficients determined by the original data, so that subsequent calculations can be performed by operating on the polynomial instead of operating on multiple individual data; the specific implementation logic is as follows:
[0062] Step S11, data grouping and identification: suppose the participants ,in , is the total number of participants, and the local pending The original data are grouped according to business logic, and each group of data is recorded as ,in , For participants Number of groups; is the amount of data for each group, is the group identifier, The original data of the participants;
[0063] Step S12: Determine the polynomial order: for each set of data , build polynomial ,in are the polynomial coefficients;
[0064] Step S13, solving the polynomial coefficients: using the improved Lagrange interpolation method to calculate the coefficients : First set the interpolation node (For participants Predefined non-repeating integers, such as , ensuring that nodes across participating parties are not repeated); then establish the equation group: ,in ; Then solve the coefficients through matrix operations:
[0065]
[0066] Use LU decomposition to optimize the solution speed and obtain the coefficient matrix ;
[0067] Step S14: Code Verification: Participants Verify each set of encoding results: randomly select ,calculate The theoretical value and actual value of The original data interpolation and the value calculated by substituting the polynomial are calculated. If the error is less than the preset threshold , the encoding is valid; otherwise, re-execute the step of solving the polynomial coefficients;
[0068] Step S14: Store the coding result: store the polynomial coefficients that have passed the verification It is stored as the result of encoding and participates in subsequent joint calculations instead of the original data. The storage format is key-value pairs: , used for fast calling of computing task execution modules.
[0069] Through the above steps, each participant converts the scattered original data into a structured polynomial encoding form, so that the subsequent joint computing stage can replace the point-by-point operations of massive data with polynomial operations, forming a synergy with the subtask allocation logic and optimized Paillier homomorphic encryption algorithm of the task scheduling center, effectively reducing the computational complexity and data transmission volume.
[0070] Step S2, computing task allocation phase: Introduce a task scheduling center. Based on the computing power and network status of each participant, analyze the historical computing time, CPU performance, and network bandwidth data of each participant to establish a performance evaluation model. Then, assign corresponding weights to each participant's computing power and network status. Based on the weights, calculate the amount of subtasks that each participant is suitable for, and thus intelligently allocate computing subtasks. The specific implementation steps are as follows:
[0071] Step S21, data collection phase: The task scheduling center regularly collects raw data from each participant through the communication link established with each participant's device; the collected raw data includes historical computing time, CPU performance, and network bandwidth. The collection period is set according to the real-time requirements of the system:
[0072] For participants ,The historical computing time refers to the time that the participant spent to complete similar computing subtasks in the past, recorded as ,in is the number of historical tasks;
[0073] CPU performance data includes the number of CPU cores , main frequency and CPU usage ,in is the number of acquisitions / cycle;
[0074] Network bandwidth data includes uplink bandwidth and downstream broadband ;
[0075] The collection cycle is set according to the real-time requirements of the system, for example, once every 10 minutes. Encrypted transmission is used during the collection process to ensure data security, which is compatible with the encryption method used by the participating devices in the data pre-processing stage;
[0076] Step S22, data preprocessing stage: preprocess the collected raw data to eliminate outliers and noise in preparation for establishing a performance evaluation model. The specific process is as follows:
[0077] For historical calculation time data, use The criteria are used to eliminate outliers. The average of historical calculation time and standard deviation , will exceed Time values in the range are considered as outliers and removed;
[0078] For CPU performance data, normalize the CPU usage and convert it into The value between is ,in and Participants The minimum and maximum values of CPU usage;
[0079] The network bandwidth data is also normalized. The uplink bandwidth normalization formula is: ,in and Participants The minimum and maximum values of the uplink bandwidth are as follows. Similarly, the downlink bandwidth is normalized to ;
[0080] Step S23, performance evaluation model construction phase: Construct a performance evaluation model based on the data preprocessed in step S22, specifically:
[0081] Computing capacity evaluation: The number of CPU cores, main frequency and normalized CPU usage are selected as evaluation indicators of computing capacity. , computing capability assessment value The calculation formula is: ,in The weights corresponding to the number of CPU cores, main frequency and normalized CPU usage, and satisfy , For participants The average value of CPU usage after normalization, that is Indicates the CPU idleness. The larger the value, the more remaining CPU computing resources and the more sufficient computing power.
[0082] Network status evaluation: Select the normalized uplink bandwidth and downlink bandwidth as the evaluation indicators of network status. Network status assessment value Calculated by the following formula: , is the weight coefficient corresponding to the uplink bandwidth and downlink bandwidth, and , Indicates the participants The average uplink bandwidth after normalization, Indicates the participants Average downlink bandwidth after normalization;
[0083] Performance evaluation model: The performance evaluation model of the participants is obtained by combining the computing power evaluation value and the network status evaluation value. , the calculation formula is ,in The weight of computing power in the comprehensive evaluation is adjusted according to the degree of computing and network dependence of the computing task;
[0084] Step S24, weight determination phase: assign corresponding weights to the computing power and network status of each participant. The weights will be used to calculate the amount of subtasks that the participant is suitable for undertaking. Specifically, the computing power weights :Evaluated value based on the computing power of the participants The proportion of the total computing power evaluation value of all participants is determined; the network status weight :Evaluation value based on the network status of the participants Determined by the proportion of the total network status evaluation value of all participants;
[0085] Step 25, sub-task amount calculation phase: Calculate the amount of sub-tasks that each participant is suitable for taking on based on the weight of the participants. Specifically, first set the total sub-task amount to , participants Amount of subtasks undertaken The calculation formula is ,in The weight of computing power in the calculation of subtasks is the proportion of computing power in the comprehensive performance evaluation. Maintain alignment to ensure consistency in assessment and assignment;
[0086] Step 26: Subtask allocation phase: Allocate specific computational subtasks to each participant based on the calculated subtask volume that each participant is suitable for. ;
[0087] It should be noted that the subtask allocation stage is illustrated here by way of 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 classified 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 high data volume, priority is given to comprehensive performance evaluation values. Higher and computing power weight and network status weight For other types of subtasks, assign them to participants with corresponding advantages according to their characteristics;
[0089] After the assignment is complete, the task scheduling center sends subtask assignment 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 in the data preprocessing phase). After receiving the information, the participant obtains the corresponding polynomial encoding data based on the assignment information and enters the joint calculation phase.
[0090] Through the above steps, the task scheduling center can scientifically and reasonably allocate computing subtasks according to the actual situation of each participant, so that the allocation of subtasks matches the capabilities of the participants, providing guarantees for the efficient implementation of the joint computing phase. At the same time, it is closely connected with the processes of the data preprocessing phase and the joint computing phase to ensure the logical coherence and efficient operation of the entire multi-party secure joint computing process.
[0091] Step S3, joint computing phase: The computing task execution module of each participant's device receives the computing subtasks 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 calculate the encrypted data, reducing the number of computing steps in the encryption and decryption process. When performing multiplication operations, the homomorphic encryption feature is used to directly perform multiplication operations on the ciphertext, avoiding frequent encryption and decryption conversions. During the calculation process, each participant only exchanges the necessary intermediate results of the block data related to the calculation of other participants, reducing the amount of data transmission;
[0092] It should be noted that the joint computing phase implements multi-party secure computing through an optimized homomorphic encryption algorithm based on the polynomial encoding results generated in the data preprocessing phase and the subtask allocation scheme determined in the computing task allocation phase. The specific steps are as follows:
[0093] Step S31, key generation and distribution: The result aggregation center acts as a key management node to generate a public-private key pair based on the optimized Paillier algorithm and , where the public key , private key , compared with the original Paillier algorithm, the key generation is optimized in the following ways: Then the prime number is selected and Time, limited ,in and It is also a prime number, which is used to reduce the complexity of subsequent modular operations; calculation , directly order , used to cancel the random selection in the algorithm steps, while ensuring encryption validity; then the public key The private key SK is broadcast to all participating devices through an encrypted channel and is stored separately by the result aggregation center and does not participate in network transmission; each participant receives the public key After verification The primality of the key is verified (through the Miller-Rabin primality test, the number of test rounds is set to 5 to balance security and efficiency), and the public key is stored after verification. Used for subsequent encryption operations;
[0094] Step S32, polynomial encoding data encryption: Participants The computing task execution module calls the public key , for the assigned subtask data, where the subtask data is the polynomial coefficient , for encryption, the encryption formula is: ,in Is a random number with a value range of Compared with the original algorithm, the number of random number generation times is reduced by pre-generating a random number pool (the capacity is 1.2 times the amount of subtask data); after encryption is completed, the ciphertext set is generated , and add a timestamp to each ciphertext and data identification (consistent with the encoding result identifier in the data preprocessing stage) and used for subsequent intermediate result matching;
[0095] Step S33, ciphertext calculation execution: polynomial multiplication operation: When the subtask is polynomial multiplication, that is, ,in For different participants, Identifies the subtask, participants Call the optimized ciphertext multiplication algorithm: , directly obtain the ciphertext of the product coefficient by multiplying the ciphertext;
[0096] Matrix block multiplication: For the matrix multiplication subtask, the participants According to the block strategy determined in the task allocation phase, multiplication is performed on the ciphertext blocks: ,in and Matrix data elements participating in privacy calculation;
[0097] Step S34: Intermediate result interaction and verification: Participants After completing the local ciphertext calculation, only the intermediate result ciphertext that has a dependency relationship with other participants is sent to the target participant, that is, the participant Calculated Before The ciphertext of the item coefficient needs to be sent to the participants Generates standardized delivery data packets for subsequent accumulation operations: ,in is the sending timestamp; then the receiver, that is, the participant Perform double verification on the received intermediate results: first, check Whether it matches the dependency relationship in the task assignment instruction; second, calculate The hash value generated by the sender is compared with the hash value generated in advance. If the verification is successful, the result is stored in the local intermediate cache. Otherwise, the retransmission mechanism is triggered.
[0098] Step S35, temporary storage of local calculation results: 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 result ciphertext of the matrix multiplication, into the local encryption cache. The storage format is: ,in is the globally unique identifier of the subtask, To calculate the completion timestamp, wait for the instruction in the result aggregation phase to trigger the sending operation.
[0099] Through the above steps, the joint computing stage realizes efficient ciphertext operations on polynomially encoded data, utilizes the homomorphic characteristics of the optimized Paillier algorithm to reduce the number of encryption and decryption times, and combines the targeted intermediate result interaction strategy to reduce the amount of data transmission. It 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 computing.
[0100] Step S4, Result Aggregation: The result sending module of each participant's device sends the calculation results to the result aggregation center. The result receiving module of the result aggregation center receives the results sent by each participant. The result aggregation center integrates the results, specifically using a fast polynomial merging algorithm to quickly merge the polynomials into a final polynomial. For example, using the principle of fast Fourier transform (FFT), multiple polynomials are quickly merged in the frequency domain, then converted 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] See also Figure 5 , a multi-party secure joint computing system in privacy computing, comprising:
[0103] Multiple participant devices: used to store local data, encode local data, receive computing subtasks assigned by the task scheduling center, perform joint computing, and send computing results to the result aggregation center. Each participant device has a data encoding module, a computing task execution module, and a result sending module.
[0104] Task Scheduling Center: This is used to allocate computing subtasks based on the computing capabilities and network conditions of each participant's equipment. 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 participant's equipment, and the task allocation module allocates tasks based on the evaluation results.
[0105] Result aggregation center: used to receive the calculation results sent by the devices of each participant, integrate and decrypt the results, and obtain the final calculation results. The result aggregation center has a result receiving module, a result integration module and a decryption module.
[0106] Example 3
[0107] A storage medium stores a computer program, which implements the steps of the method in embodiment 1 when executed by a processor.
[0108] Optionally, in this embodiment, the above-mentioned storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.
[0109] Obviously, those skilled in the art will appreciate that the various modules or steps of the present invention described above can be implemented using a general-purpose computing device, centralized on a single computing device, or distributed across a network of multiple computing devices. Alternatively, they can be implemented using program code executable by a computing device, which can then be stored in a storage device and executed by the computing device. In some cases, the steps shown or described can be performed in a different order than that shown, or 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-preserving computing, aiming to address the low computational efficiency and high communication overhead of existing multi-party secure joint computations. The method comprises four phases: a data preprocessing phase, in which each participant converts local raw data into a polynomial encoding format, replacing repeated computations on individual data with polynomial operations; a computational task allocation phase, in which a task scheduling center is introduced 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 assigning computational subtasks to precisely match tasks with participant capabilities; a joint computation phase, in which an optimized Paillier homomorphic encryption algorithm is employed to simplify key generation and encryption processes by restricting prime number forms and fixing generators, directly performing multiplication operations on ciphertext, reducing the number of encryption and decryption operations, and transmitting only necessary intermediate results to reduce communication traffic; and a result aggregation phase, in which the ciphertext results of each participant are consolidated using a fast polynomial merging algorithm, which is then decrypted to obtain the final computation result. Through full-process optimization, this invention significantly improves the efficiency of multi-party joint computing and reduces communication overhead while ensuring data privacy and security. It is suitable for data privacy computing scenarios involving collaboration among multiple institutions.
[0111] While embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions, and variations may be made to these embodiments without departing from the principles and spirit of the invention, and that the scope of the invention is defined by the appended claims and their equivalents.
Claims
1. A multi-party secure joint computing method in privacy computing, characterized by: The following steps are involved: Step S1, data preprocessing stage: First, encode the local original data of each participant, convert the original data into a polynomial encoding form, and construct a polynomial with coefficients determined by the original data, so that subsequent calculations can be performed by operating on the polynomial instead of operating on multiple individual data; Step S2, computing task allocation phase: Introducing a task scheduling center, based on the computing power and network status of each participant, by analyzing the historical computing time, CPU performance, and network bandwidth data of each participant to establish a performance evaluation model, assigning corresponding weights to each participant's computing power and network status, and calculating the amount of subtasks that each participant is suitable for taking on based on the weights, thereby intelligently allocating computing subtasks; Step S3, joint computing phase: The computing task execution module of each participant's device receives the computing subtask assigned by the task scheduling center, and uses the homomorphic encryption algorithm optimized based on the Paillier homomorphic encryption algorithm to calculate the encrypted data; Step S4, result aggregation stage: the result sending module of each participant's device sends the calculation result to the result aggregation center, and the result receiving module of the result aggregation center receives the results sent by each participant. The result aggregation center integrates the results and then decrypts them to obtain the final calculation result.
2. The method for secure multi-party joint computing in privacy computing according to claim 1, characterized in that: The specific implementation logic of the data preprocessing stage in step S1 is as follows: Step S11, data grouping and identification: suppose the participants ,in , is the total number of participants, and the local pending The original data are grouped according to business logic, and each group of data is recorded as ,in , For participants Number of groups; is the amount of data for each group, is the group identifier, The original data of the participants; Step S12: Determine the polynomial order: for each set of data , build polynomial ,in are the polynomial coefficients; Step S13, solving the polynomial coefficients: using the improved Lagrange interpolation method to calculate the coefficients : First set the interpolation node ; Then establish the equation system: ,in ; Then solve the coefficients through matrix operations: Use LU decomposition to optimize the solution speed and obtain the coefficient matrix ; Step S14: Code Verification: Participants Verify each set of encoding results: randomly select ,calculate The theoretical value and actual value of The original data interpolation and the value calculated by substituting the polynomial are calculated. If the error is less than the preset threshold , the encoding is valid; otherwise, re-execute the step of solving the polynomial coefficients; Step S14: Store the coding result: store the polynomial coefficients that have passed the verification It is stored as the result of encoding and participates in subsequent joint calculations instead of the original data. The storage format is key-value pairs: , used for fast calling of computing task execution modules.
3. The method for secure multi-party joint computing in privacy computing according to claim 1, characterized in that: The specific implementation steps of the computing task allocation phase of step S2 are as follows: Step S21, data collection phase: The task scheduling center regularly collects raw data from each participant through the communication link established with each participant's device; the collected raw data includes historical computing time, CPU performance, and network bandwidth. The collection period is set according to the real-time requirements of the system: For participants ,The historical computing time refers to the time that the participant spent to complete similar computing subtasks in the past, recorded as ,in is the number of historical tasks; CPU performance data includes the number of CPU cores , main frequency and CPU usage ,in is the number of collections; Network bandwidth data includes uplink bandwidth and downstream broadband ; Step S22, data preprocessing stage: preprocess the collected raw data to eliminate outliers and noise in preparation for establishing a performance evaluation model. The specific process is as follows: For historical calculation time data, use The criteria eliminate outliers and calculate the participants The average of historical calculation time and standard deviation , will exceed Time values in the range are considered as outliers and removed; For CPU performance data, normalize the CPU usage and convert it into The value between is ,in and Participants The minimum and maximum values of CPU usage; The network bandwidth data is also normalized. The uplink bandwidth normalization formula is: ,in and Participants The minimum and maximum values of the uplink bandwidth are as follows. Similarly, the downlink bandwidth is normalized to ; Step S23, performance evaluation model construction phase: Construct a performance evaluation model based on the data preprocessed in step S22, specifically: Computing capacity evaluation: The number of CPU cores, main frequency and normalized CPU usage are selected as evaluation indicators of computing capacity. , computing capability assessment value The calculation formula is: ,in The weights corresponding to the number of CPU cores, main frequency and normalized CPU usage, and satisfy , For participants The average value of CPU usage after normalization, that is Indicates the CPU idleness. A larger value indicates more remaining CPU computing resources and more sufficient computing power. Network status evaluation: Select the normalized uplink bandwidth and downlink bandwidth as the evaluation indicators of network status. Network status assessment value Calculated by the following formula: , is the weight coefficient corresponding to the uplink bandwidth and downlink bandwidth, and , Indicates the participants The average uplink bandwidth after normalization, Indicates the participants Average downlink bandwidth after normalization; Performance evaluation model: The performance evaluation model of the participants is obtained by combining the computing power evaluation value and the network status evaluation value. , the calculation formula is ,in The weight of computing power in the comprehensive evaluation is adjusted according to the degree of computing and network dependence of the computing task; Step S24, weight determination phase: assign corresponding weights to the computing power and network status of each participant. The weights will be used to calculate the amount of subtasks that the participant is suitable for undertaking. Specifically, the computing power weights :Evaluated value based on the computing power of the participants The proportion of the total computing power evaluation value of all participants is determined; the network status weight :Evaluation value based on the network status of the participants Determined by the proportion of the total network status evaluation value of all participants; Step 25, sub-task amount calculation phase: Calculate the amount of sub-tasks that each participant is suitable for taking on based on the weight of the participants. Specifically, first set the total sub-task amount to , participants Amount of subtasks undertaken The calculation formula is ,in The weight of computing power in the calculation of subtasks is the proportion of computing power in the comprehensive performance evaluation. Maintain alignment to ensure consistency in assessment and assignment; Step 26: Subtask allocation phase: Allocate specific computational subtasks to each participant based on the calculated subtask volume that each participant is suitable for. .
4. The method for secure multi-party joint computing in privacy computing according to claim 1, characterized in that: The specific implementation logic of the joint calculation phase in step 3 is as follows: Step S31, key generation and distribution: The result aggregation center acts as a key management node to generate a public-private key pair based on the optimized Paillier algorithm. and , where the public key , private key , then select a prime number and Time, limited ,in and It is also a prime number, which is used to reduce the complexity of subsequent modular operations; calculation , directly order , used to cancel the random selection in the algorithm steps, while ensuring encryption validity; then the public key The private key SK is broadcast to all participating devices through an encrypted channel and is stored separately by the result aggregation center and does not participate in network transmission; each participant receives the public key After verification The primality of the public key is stored after verification. Used for subsequent encryption operations; Step S32, polynomial encoding data encryption: Participants The computing task execution module calls the public key , for the assigned subtask data, where the subtask data is the polynomial coefficient , for encryption, the encryption formula is: ,in Is a random number with a value range of ;After encryption is completed, a ciphertext set is generated , and add a timestamp to each ciphertext and data identification , used for subsequent intermediate result matching; Step S33, ciphertext calculation execution: polynomial multiplication operation: When the subtask is polynomial multiplication, that is, ,in For different participants, Identifies the subtask, participants Call the optimized ciphertext multiplication algorithm: , directly obtain the ciphertext of the product coefficient by multiplying the ciphertext; Matrix block multiplication: For the matrix multiplication subtask, the participants According to the block strategy determined in the task allocation phase, multiplication is performed on the ciphertext blocks: ,in and Matrix data elements participating in privacy calculation; Step S34: Intermediate result interaction and verification: Participants After completing the local ciphertext calculation, only the intermediate result ciphertext that has a dependency relationship with other participants is sent to the target participant, that is, the participant Calculated Before The ciphertext of the item coefficient needs to be sent to the participants Generates standardized delivery data packets for subsequent accumulation operations: ,in is the sending timestamp; then the receiver, that is, the participant Perform double verification on the received intermediate results: first, check Whether it matches the dependency relationship in the task assignment instruction; second, calculate The hash value generated by the sender is compared with the hash value generated in advance. If the verification is successful, the result is stored in the local intermediate cache. Otherwise, the retransmission mechanism is triggered. Step S35, temporary storage of local calculation results: 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 result ciphertext of the matrix multiplication, into the local encryption cache. The storage format is: ,in is the globally unique identifier of the subtask, To calculate the completion timestamp, wait for the instruction in the result aggregation phase to trigger the sending operation.
5. A multi-party secure joint computing system in privacy computing, characterized by: According to a method for multi-party secure joint computing in privacy computing according to any one of claims 1 to 4, the system comprises: Multiple participant devices: used to store local data, encode local data, receive computing subtasks assigned by the task scheduling center, perform joint computing, and send computing results to the result aggregation center. Each participant device has a data encoding module, a computing task execution module, and a result sending module. Task Scheduling Center: This is used to allocate computing subtasks based on the computing capabilities and network conditions of each participant's equipment. 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 participant's equipment, and the task allocation module allocates tasks based on the evaluation results. Result aggregation center: used to receive the calculation results sent by the devices of each participant, integrate and decrypt the results, and obtain the final calculation results. The result aggregation center has a result receiving module, a result integration module and a decryption module.
6. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Secure multi-party computing method and system and computer readable medium
CN115065461A
Bidirectional privacy calculation method based on polynomial fitting
CN116028991A
Terminal interaction data storage security management method and system for instant messaging
CN118764496A
Automatic resource allocation method for bearing neural network
CN119356836A
Self-adaptive task scheduling execution unit management method and system
CN119376903A