Privacy protection method, system, device and product based on secure multi-party computing
By selecting the intermediate result calculator in secure multi-party calculations and performing local calculations, the problem of inability to fully utilize the computing power of participants and dependence on external entities in the existing technology is solved, and the efficiency of data privacy protection and data sharing is achieved.
Patent Information
- Application Number
- CN202411106861.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-13
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-08-13
AI Technical Summary
In the prior art, when multiple participants conduct joint data analysis through secure multi-party computing, they cannot fully utilize the computing power of participants and have dependence on external entities, resulting in inefficient data privacy protection and data sharing.
The intermediate result calculator is selected from the participants through the server, and each participant divides the sample data and performs encryption processing. The intermediate result calculator performs local calculations, and finally the participants perform results synthesis processing to achieve the data analysis results.
The privacy protection of participants' data in joint data analysis is realized, the computing power of participants is fully utilized, data leakage is avoided, the implementation of system architecture and protocols is simplified, and the risk of uncertainty towards external entities is reduced.
Smart Images

Figure CN119011248B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of data processing technology, and specifically relates to a privacy protection method, system, device and product based on secure multi-party computing. Background Art
[0002] Data privacy protection is an important topic in today's digital age. With the popularization of the Internet and the increase in the amount of data generated in people's lives, data privacy protection has become the focus of attention of all data users. Privacy protection methods aim to protect personal data and information from unauthorized access, use or disclosure.
[0003] At present, in medical, commercial and banking scenarios, due to user data privacy and security issues, user data is often divided by medical institutions, forming data islands. Taking the medical scenario as an example, in order to solve the existing data island problem, multiple medical institutions usually need to jointly analyze patient data to study the incidence, cause or treatment effect of a certain disease, but because of patient privacy, the data cannot be shared directly. Secure Multiparty Computation (SMC) is a technology that allows multiple non-trusting parties to jointly perform function calculations without disclosing their respective inputs. Based on the needs of data joint analysis and user privacy protection, data joint analysis methods based on secure multi-party computing have emerged in the prior art, which can realize data analysis and processing of patient data by various medical institutions and solve the problem of data islands.
[0004] However, in the process of using the prior art, the inventors found that the prior art has at least the following problems:
[0005] In the prior art, after multiple participants divide their data into several secret shares, it is usually necessary to set up multiple data calculation parties and a result synthesis party, so that the multiple data calculation parties can perform data calculations respectively, and the result synthesis party synthesizes the secret sharing fragments calculated by the multiple data calculation parties to obtain a complete analysis result. In this process, since it is necessary to set up a data calculation party and a result synthesis party in addition to the multiple participants, the computing power of the participants cannot be fully utilized, and there is a dependence on external entities. Summary of the invention
[0006] The present invention aims to solve the above technical problems at least to a certain extent. The present invention provides a privacy protection method, system, device and product based on secure multi-party computing.
[0007] In order to achieve the above object, the present invention adopts the following technical solutions:
[0008] In a first aspect, the present invention provides a privacy protection method based on secure multi-party computing, which is performed based on a server and a plurality of participants respectively connected to the server in communication; the method comprises:
[0009] Each participant generates a pair of public keys and private keys respectively, and sends its public key and communication address to the server so that the server can store and manage the public key and communication address of each participant;
[0010] The server selects an intermediate result calculation party from all the participants, and sends the public keys and communication addresses of all the intermediate result calculation parties to each participant respectively; wherein the total number of the intermediate result calculation parties is greater than 1;
[0011] Each participant divides its stored sample data into multiple sub-sample data that match the total number of all intermediate result calculation parties;
[0012] Each participant uses the public key of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party, and obtains the encrypted sub-sample data matching each intermediate result calculation party;
[0013] Each participant sends the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party according to the communication address of each intermediate result calculation party;
[0014] Each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, obtains sub-sample data corresponding to all encrypted sub-sample data, and then performs local calculation based on all sub-sample data to obtain the intermediate result;
[0015] Each intermediate result calculation party extracts the communication addresses and public keys of all participants from the server, and then uses the public keys of each participant to encrypt the intermediate results obtained, thereby obtaining encrypted intermediate results corresponding to each participant;
[0016] Each intermediate result calculation party sends the encrypted intermediate results corresponding to each participant to each participant according to the communication address of each participant;
[0017] Each participant uses its private key to decrypt each encrypted intermediate result it receives, obtains an intermediate result corresponding to all the encrypted intermediate results, and then performs result synthesis processing based on all the intermediate results to obtain a data analysis result.
[0018] In a possible design, each party generates a pair of public and private keys using the RSA algorithm.
[0019] In a possible design, after generating a pair of public keys and private keys, each participant also sends its performance parameters to the server so that the server can store and manage the performance parameters of each participant; correspondingly, the server selects an intermediate result calculation party from all the participants, including:
[0020] The server selects an intermediate result calculation party that meets the specified performance requirements from all the participants according to the performance parameters of each participant.
[0021] In one possible design, the method further includes:
[0022] Each participant performs missing value processing, outlier processing, format conversion processing and standardization processing on its stored sample data to obtain preprocessed sample data, so that each participant divides its preprocessed sample data into multiple sub-sample data that match the total number of intermediate result calculation parties.
[0023] In one possible design, the server is pre-set with a computing task and a specified SMC protocol matching the computing task; correspondingly, after each intermediate result computing party obtains the sub-sample data corresponding to all the encrypted sub-sample data, it performs local calculations according to the specified SMC protocol to obtain the intermediate results.
[0024] In a second aspect, the present invention provides a privacy protection method based on secure multi-party computing, which is executed by any one of multiple participants, and the multiple participants are all connected to a server; the method comprises:
[0025] Generate a pair of public and private keys, and send the public key and communication address to the server so that the server can store and manage the public key and communication address of each participant;
[0026] Receive the public keys and communication addresses of all the intermediate result calculation parties sent by the server, and divide the sample data stored therein into a plurality of sub-sample data matching the total number of all the intermediate result calculation parties, and then use the public keys of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party, so as to obtain encrypted sub-sample data matching each intermediate result calculation party; wherein the intermediate result calculation party is selected from the participating parties, and the total number of the intermediate result calculation parties is greater than 1;
[0027] According to the communication address of each intermediate result calculation party, the encrypted sub-sample data matching each intermediate result calculation party is sent to each intermediate result calculation party respectively, so that each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, and obtains sub-sample data corresponding to all encrypted sub-sample data, and then performs local calculation based on all sub-sample data to obtain intermediate results, and then each intermediate result calculation party uses the public key of each participating party to encrypt the intermediate results obtained, and obtains encrypted intermediate results corresponding to each participating party, and then each intermediate result calculation party sends the encrypted intermediate results corresponding to each participating party to each participating party respectively;
[0028] The private key is used to decrypt each of the encrypted intermediate results received, to obtain intermediate results corresponding to all the encrypted intermediate results, and then a result synthesis process is performed based on all the intermediate results to obtain a data analysis result.
[0029] In a third aspect, the present invention provides a privacy protection method based on secure multi-party computing, which is executed based on a server, and the server is communicatively connected to multiple parties; the method comprises:
[0030] Receive the public key and communication address sent by each participant, and store and manage the public key and communication address of each participant;
[0031] Select an intermediate result calculation party from all the participants, and send the public keys and communication addresses of all the intermediate result calculation parties to each participant, so that each participant can divide its stored sample data into multiple sub-sample data matching the total number of all the intermediate result calculation parties, and then use the public keys of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party to obtain the encrypted sub-sample data matching each intermediate result calculation party, and finally send the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party through each participant; wherein the total number of the intermediate result calculation parties is greater than 1;
[0032] After each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, and obtains sub-sample data corresponding to all encrypted sub-sample data, and performs local calculation based on all sub-sample data to obtain the intermediate result, according to the participant information extraction request of each intermediate result calculation party, the communication addresses and public keys of all participants are sent to each intermediate result calculation party respectively, so that each intermediate result calculation party uses the public key of each participant to encrypt the intermediate result it obtains respectively, and obtains the encrypted intermediate result corresponding to each participant, and then the encrypted intermediate result corresponding to each participant is sent to each participant by each intermediate result calculation party, so that each participant uses its private key to decrypt each encrypted intermediate result it receives respectively, and obtains the intermediate result corresponding to all encrypted intermediate results, and then the result synthesis processing is performed based on all the intermediate results to obtain the data analysis result.
[0033] In a fourth aspect, the present invention provides a privacy protection system based on secure multi-party computing, which is used to implement the privacy protection method based on secure multi-party computing as described in any one of the above; the privacy protection system based on secure multi-party computing includes:
[0034] An information storage module is used to receive the public key and communication address sent by each participant, and store and manage the public key and communication address of each participant;
[0035] An intermediate result calculation party selection module is communicatively connected with the information storage module, and is used to select an intermediate result calculation party from all the participants, and send the public keys and communication addresses of all the intermediate result calculation parties to each participant, so that each participant can divide its stored sample data into multiple sub-sample data matching the total number of all the intermediate result calculation parties, and then each participant uses the public key of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party to obtain the encrypted sub-sample data matching each intermediate result calculation party, and finally each participant sends the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party; wherein the total number of the intermediate result calculation parties is greater than 1;
[0036] The information transmission module is communicatively connected with the information storage module, and is used for each intermediate result calculation party to use its private key to decrypt each encrypted sub-sample data it receives, obtain sub-sample data corresponding to all encrypted sub-sample data, and perform local calculation based on all sub-sample data. After obtaining the intermediate result, according to the participant information extraction request of each intermediate result calculation party, the communication address and public key of all participants are sent to each intermediate result calculation party respectively, so that each intermediate result calculation party can use the public key of each participant to encrypt the intermediate result it obtains respectively, and obtain the encrypted intermediate result corresponding to each participant. Then, the encrypted intermediate result corresponding to each participant is sent to each participant through each intermediate result calculation party respectively, so that each participant can use its private key to decrypt each encrypted intermediate result it receives respectively, and obtain the intermediate result corresponding to all encrypted intermediate results. Then, result synthesis processing is performed based on all the intermediate results to obtain the data analysis result.
[0037] In a fifth aspect, the present invention provides an electronic device, comprising:
[0038] a memory for storing computer program instructions; and,
[0039] A processor is used to execute the computer program instructions to complete the operation of the privacy protection method based on secure multi-party computing as described in any one of the above.
[0040] In a sixth aspect, the present invention provides a computer program product, including a computer program or instructions, which, when executed by a computer, implements the privacy protection method based on secure multi-party computing as described in any one of the above.
[0041] The beneficial effects of the present invention are:
[0042] The present invention discloses a privacy protection method, system, device and product based on secure multi-party computing, which can realize data privacy protection for each participant in the case of joint data analysis, and can make full use of the computing power of each participant to avoid data leakage. Specifically, in the implementation process of the present invention, the server selects an intermediate result calculation party from the participants, and then each participant performs sample data division and sub-sample data encryption processing based on the total number of intermediate result calculation parties and the public key of each intermediate result calculation party, so that each intermediate result calculation party can obtain different intermediate results based on all decrypted sub-sample data, and each intermediate result calculation party encrypts the intermediate result according to the public key of each participant and then transmits it, and finally each participant performs result synthesis processing of the intermediate result according to the decrypted intermediate results of all intermediate result calculation parties to obtain the final data analysis result. During this process, the present invention does not require each participant to expose its original sample data, thereby ensuring the data privacy of each participant, and can realize cross-institutional data sharing and joint computing, solving the problem of data islands; at the same time, in the implementation process of the present invention, no external entity is used to participate in data calculation and transmission, and the server only plays the role of public key and communication address transmission, and the intermediate result calculation party acquisition, and does not directly participate in data processing and transmission. Therefore, the computing power of the participants can be fully utilized. At the same time, by reducing the number of external participants, the implementation and deployment of the system architecture and protocols are simplified, the uncertainty risk to external entities is reduced, and the problem of data leakage is effectively avoided. It can be applicable to scenarios where there is a certain trust basis between the participants; in addition, before each participant performs result synthesis processing, the present invention calculates the intermediate results separately by each intermediate result calculation party, so that each participant can perform result synthesis processing based on the intermediate results obtained by all intermediate result calculation parties, which can help reduce the workload of each participant in performing result synthesis processing.
[0043] Other beneficial effects of the present invention will be further described in the specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 is a flow chart of the privacy protection method based on secure multi-party computing in Example 1;
[0045] Figure 2 It is a module block diagram of the privacy protection system based on secure multi-party computing in Example 4;
[0046] Figure 3 This is a module block diagram of the electronic device in Example 5. DETAILED DESCRIPTION
[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the present invention will be briefly introduced below in combination with the drawings and the description of the embodiments or the prior art. Obviously, the following description of the structure of the drawings is only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. It should be noted that the description of these embodiments is used to help understand the present invention, but does not constitute a limitation of the present invention.
[0048] Embodiment 1:
[0049] This embodiment discloses a privacy protection method based on secure multi-party computing, which is executed by a server and multiple participants respectively connected to the server in communication; Figure 1 As shown, a privacy protection method based on secure multi-party computing may include but is not limited to the following steps:
[0050] S1. Each participant generates a pair of public keys and private keys respectively, and sends its public key and communication address to the server so that the server can store and manage the public key and communication address of each participant; it should be noted that the communication address of any participant is an IP address, port number, etc., so that another participant can transmit data to the participant through the communication address.
[0051] In step S1, each participant uses the RSA (Rivest-Shamir-Adleman, an asymmetric encryption algorithm) algorithm to generate a pair of public and private keys. Specifically, in this embodiment, each participant generates a public key and a private key through the RSA algorithm, which can provide a strong security guarantee for data encryption and decryption in multi-party secure computing. It has high security and is widely used and recognized, and is suitable for use in the secure multi-party computing solution of this embodiment.
[0052] S2. The server selects an intermediate result calculation party from all the participants, and sends the public keys and communication addresses of all the intermediate result calculation parties to each participant respectively; wherein the total number of the intermediate result calculation parties is greater than 1; specifically, during the implementation of this embodiment, the server may first construct an intermediate result calculation party communication data set based on the public keys and communication addresses of all the intermediate result calculation parties, and then send the intermediate result calculation party communication data set to each participant respectively, to ensure that each participant can receive the public keys and communication addresses of all the intermediate result calculation parties, thereby ensuring that each subsequent participant can stably share and process data.
[0053] In step S1, after generating a pair of public keys and private keys, each participant also sends its performance parameters to the server so that the server can store and manage the performance parameters of each participant; correspondingly, in step S2, the server selects an intermediate result calculation party from all participants, including:
[0054] The server selects an intermediate result calculation party that meets the specified performance requirements from all the participants according to the performance parameters of each participant.
[0055] In this embodiment, the performance parameters of the participants, such as computing power, storage capacity, and communication bandwidth, are important bases for selecting the intermediate result calculator. Participants with stronger computing power and stable communication bandwidth are more suitable for the role of the intermediate result calculator. The total number of intermediate result calculators can be confirmed based on the complexity of the preset computing tasks and is not restricted here.
[0056] The laws and regulations of different regions and industries have different requirements for data processing and privacy protection. Therefore, during the implementation of this embodiment, the intermediate result calculation party can also be selected according to the requirements of data privacy protection. For example, some regulations may require that data must not leave the country or must be processed by a specific certified organization. At this time, the server can again screen the intermediate result calculation party based on the address or certification status of each participant.
[0057] In addition, when the sample data is evenly distributed, each participant can be evenly distributed as an intermediate result calculation party, and the total number of intermediate result calculation parties is the same as the total number of participants. If the overall sample data volume is large, it is necessary to adopt the selection scheme of the intermediate result calculation party in this embodiment and select a participant with greater storage and processing capabilities as the intermediate result calculation party.
[0058] S3. Each participant divides its stored sample data into multiple sub-sample data that match the total number of all intermediate result calculation parties.
[0059] In step S3, the method further includes:
[0060] Each participant performs missing value processing, outlier processing, format conversion processing and standardization processing on the sample data stored therein, respectively, to obtain preprocessed sample data, so that each participant divides its preprocessed sample data into multiple sub-sample data that match the total number of the intermediate result calculation parties. Specifically, in the process of data preprocessing, in this embodiment, when performing missing value processing, it is checked whether there are missing values in the sample data, and it can be selected to delete missing values, fill missing values or use interpolation algorithms to fill missing values; when performing outlier processing, it is checked whether there are outliers in the sample data after missing value processing, and outliers can be detected by methods such as box plots, Z-score (standard scores), and outlier deletion or replacement and other processing are performed; when performing format conversion processing, the sample data after outlier processing is format converted, such as converting text data into numerical data, performing date formatting, etc.; when performing standardization processing, the sample data after format conversion is standardized so that the data between different features are in the same dimension or range, thereby obtaining the preprocessed sample data. Through the above data preprocessing steps, the quality of the sample data can be guaranteed, and the accuracy and efficiency of subsequent sample data analysis can be improved.
[0061] S4. Each participant uses the public key of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party, and obtains the encrypted sub-sample data matching each intermediate result calculation party; it should be noted that when any participant simultaneously serves as the role of the intermediate result calculation party, the participant retains an encrypted sub-sample data for itself, so as to combine it with the encrypted sub-sample data sent by other participants for subsequent local calculation processing; of course, the participant may not encrypt the sub-sample data that needs to be locally calculated, so as to further save the computational complexity of subsequent decryption of the sub-sample data.
[0062] S5. Each participant sends the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party according to the communication address of each intermediate result calculation party.
[0063] S6. Each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, obtains sub-sample data corresponding to all encrypted sub-sample data, and then performs local calculation based on all sub-sample data to obtain the intermediate result.
[0064] It should be noted that, in the present embodiment, the server is pre-set with a computing task and a specified SMC protocol matching the computing task; correspondingly, in step S6, after each intermediate result computing party obtains the sub-sample data corresponding to all the encrypted sub-sample data, it performs local calculations according to the specified SMC protocol to obtain the intermediate results.
[0065] S7. Each intermediate result calculation party extracts the communication addresses and public keys of all participants from the server, and then uses the public keys of each participant to encrypt the intermediate results obtained, so as to obtain the encrypted intermediate results corresponding to each participant. It should be noted that the intermediate result calculation party retains an encrypted intermediate result for itself, so as to combine it with the encrypted intermediate results sent by other intermediate result calculation parties for subsequent result synthesis processing. Of course, the participant may not encrypt the intermediate results that it needs to process, so as to further save its computing power.
[0066] S8. Each intermediate result calculation party sends the encrypted intermediate results corresponding to each participant to each participant according to the communication address of each participant.
[0067] S9. Each participant uses its private key to decrypt each encrypted intermediate result it receives, obtains an intermediate result corresponding to all the encrypted intermediate results, and then performs result synthesis processing based on all the intermediate results to obtain a data analysis result. It should be understood that in this embodiment, since each participant performs result synthesis processing based on the same all intermediate results, the data analysis results obtained by each participant are also consistent.
[0068] This embodiment can achieve data privacy protection for each participant in the case of joint data analysis, and can fully utilize the computing power of each participant to avoid data leakage. Specifically, during the implementation of this embodiment, the server selects an intermediate result calculation party from the participants, and then each participant divides the sample data and encrypts the sub-sample data based on the total number of intermediate result calculation parties and the public key of each intermediate result calculation party, so that each intermediate result calculation party can obtain different intermediate results based on all decrypted sub-sample data, and each intermediate result calculation party encrypts the intermediate result according to the public key of each participant and transmits it. Finally, each participant performs result synthesis processing of the intermediate results based on the decrypted intermediate results of all intermediate result calculation parties to obtain the final data analysis result. During this process, this embodiment does not require each participant to expose its original sample data, thereby ensuring the data privacy of each participant, and can realize cross-institutional data sharing and joint computing, solving the problem of data islands; at the same time, in the implementation of this embodiment, no external entity is used to participate in data calculation and transmission, and the server only plays the role of public key and communication address transmission, and the intermediate result calculation party acquisition, and does not directly participate in data processing and transmission. This can fully utilize the computing power of the participants. At the same time, by reducing the number of external participants, it simplifies the implementation and deployment of the system architecture and protocols, reduces the uncertainty risk to external entities, and effectively avoids the problem of data leakage. It can be applicable to scenarios where there is a certain trust basis between the participants; in addition, this embodiment, before each participant performs result synthesis processing, each intermediate result calculation party calculates the intermediate results separately, so that each participant can perform result synthesis processing based on the intermediate results obtained by all intermediate result calculation parties, which can help reduce the workload of each participant in performing result synthesis processing.
[0069] Embodiment 2:
[0070] This embodiment discloses a privacy protection method based on secure multi-party computing, which is executed by any one of multiple participants, and all of the multiple participants are connected to a server; the method includes:
[0071] A1. Generate a pair of public and private keys, and send the public key and communication address to the server so that the server can store and manage the public key and communication address of each participant;
[0072] A2. receiving the public keys and communication addresses of all the intermediate result calculation parties sent by the server, and dividing the sample data stored therein into a plurality of sub-sample data matching the total number of all the intermediate result calculation parties, and then using the public keys of the respective intermediate result calculation parties to encrypt the sub-sample data corresponding to the respective intermediate result calculation parties, to obtain encrypted sub-sample data matching the respective intermediate result calculation parties; wherein the intermediate result calculation parties are selected from the participating parties, and the total number of the intermediate result calculation parties is greater than 1;
[0073] A3. According to the communication address of each intermediate result calculation party, the encrypted sub-sample data matching each intermediate result calculation party is sent to each intermediate result calculation party, so that each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, and obtains sub-sample data corresponding to all encrypted sub-sample data, and then performs local calculation based on all sub-sample data to obtain intermediate results, and then each intermediate result calculation party uses the public key of each participating party to encrypt the intermediate results obtained, and obtains encrypted intermediate results corresponding to each participating party, and then each intermediate result calculation party sends the encrypted intermediate results corresponding to each participating party to each participating party;
[0074] A4. Use its private key to decrypt each encrypted intermediate result it receives, obtain intermediate results corresponding to all encrypted intermediate results, and then perform result synthesis processing based on all intermediate results to obtain data analysis results.
[0075] It should be noted that the working process, working details and technical effects of the privacy protection method based on secure multi-party computing provided in this embodiment 2 can be found in embodiment 1 and will not be repeated here.
[0076] Embodiment 3:
[0077] This embodiment discloses a privacy protection method based on secure multi-party computing, which is executed on a server, and the server is connected to multiple parties in communication; the method includes:
[0078] B1. Receive the public key and communication address sent by each participant, and store and manage the public key and communication address of each participant;
[0079] B2. Select an intermediate result calculation party from all the participants, and send the public keys and communication addresses of all the intermediate result calculation parties to each participant, so that each participant can divide its stored sample data into multiple sub-sample data matching the total number of all the intermediate result calculation parties, and then use the public keys of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party to obtain the encrypted sub-sample data matching each intermediate result calculation party, and finally send the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party through each participant; wherein the total number of the intermediate result calculation parties is greater than 1;
[0080] B3. After each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, and obtains sub-sample data corresponding to all encrypted sub-sample data, and performs local calculation based on all sub-sample data to obtain the intermediate result, according to the participant information extraction request of each intermediate result calculation party, the communication addresses and public keys of all participants are sent to each intermediate result calculation party respectively, so that each intermediate result calculation party can use the public key of each participant to encrypt the intermediate result it obtains respectively, and obtain the encrypted intermediate result corresponding to each participant, and then each intermediate result calculation party sends the encrypted intermediate result corresponding to each participant to each participant respectively, so that each participant can use its private key to decrypt each encrypted intermediate result it receives respectively, and obtain the intermediate result corresponding to all encrypted intermediate results, and then perform result synthesis processing based on all the intermediate results to obtain the data analysis result.
[0081] It should be noted that the working process, working details and technical effects of the privacy protection method based on secure multi-party computing provided in this Example 3 can be found in Example 1 and will not be repeated here.
[0082] Embodiment 4:
[0083] This embodiment discloses a privacy protection system based on secure multi-party computing, which is used to implement the privacy protection method based on secure multi-party computing in Embodiment 1; Figure 2 As shown, the privacy protection system based on secure multi-party computing includes:
[0084] An information storage module is used to receive the public key and communication address sent by each participant, and store and manage the public key and communication address of each participant;
[0085] An intermediate result calculation party selection module is communicatively connected with the information storage module, and is used to select an intermediate result calculation party from all the participants, and send the public keys and communication addresses of all the intermediate result calculation parties to each participant, so that each participant can divide its stored sample data into multiple sub-sample data matching the total number of all the intermediate result calculation parties, and then each participant uses the public key of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party to obtain the encrypted sub-sample data matching each intermediate result calculation party, and finally each participant sends the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party; wherein the total number of the intermediate result calculation parties is greater than 1;
[0086] The information transmission module is communicatively connected with the information storage module, and is used for each intermediate result calculation party to use its private key to decrypt each encrypted sub-sample data it receives, obtain sub-sample data corresponding to all encrypted sub-sample data, and perform local calculation based on all sub-sample data. After obtaining the intermediate result, according to the participant information extraction request of each intermediate result calculation party, the communication address and public key of all participants are sent to each intermediate result calculation party respectively, so that each intermediate result calculation party can use the public key of each participant to encrypt the intermediate result it obtains respectively, and obtain the encrypted intermediate result corresponding to each participant. Then, the encrypted intermediate result corresponding to each participant is sent to each participant through each intermediate result calculation party respectively, so that each participant can use its private key to decrypt each encrypted intermediate result it receives respectively, and obtain the intermediate result corresponding to all encrypted intermediate results. Then, result synthesis processing is performed based on all the intermediate results to obtain the data analysis result.
[0087] It should be noted that the working process, working details and technical effects of the privacy protection system based on secure multi-party computing provided in this embodiment 4 can be found in embodiment 1 and will not be repeated here.
[0088] Embodiment 5:
[0089] Based on Embodiment 1 or 2, this embodiment discloses an electronic device, which may be a smart phone, a tablet computer, a laptop computer, or a desktop computer. The electronic device may be referred to as a user terminal, a portable terminal, a desktop terminal, etc. Figure 3 As shown, the electronic equipment includes:
[0090] a memory for storing computer program instructions; and,
[0091] A processor is used to execute the computer program instructions to complete the operation of the privacy protection method based on secure multi-party computing as described in any one of Embodiment 1.
[0092] Specifically, the processor 301 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 301 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 301 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 301 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen.
[0093] The memory 302 may include one or more computer-readable storage media, which may be non-transitory. The memory 302 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 302 is used to store at least one instruction, which is used to be executed by the processor 301 to implement the privacy protection method based on secure multi-party computing provided in Example 1 of the present application.
[0094] In some embodiments, the terminal may further optionally include: a communication interface 303 and at least one peripheral device. The processor 301, the memory 302 and the communication interface 303 may be connected via a bus or a signal line. Each peripheral device may be connected to the communication interface 303 via a bus, a signal line or a circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 304, a display screen 305 and a power supply 306.
[0095] The communication interface 303 may be used to connect at least one peripheral device related to I / O (Input / Output) to the processor 301 and the memory 302. In some embodiments, the processor 301, the memory 302, and the communication interface 303 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 301, the memory 302, and the communication interface 303 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.
[0096] The radio frequency circuit 304 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 304 communicates with a communication network and other communication devices through electromagnetic signals.
[0097] The display screen 305 is used to display a UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof.
[0098] The power supply 306 is used to supply power to various components in the electronic device.
[0099] Embodiment 6:
[0100] Based on any one of Examples 1 to 3, this embodiment discloses a computer program product, including a computer program or instructions, which, when executed by a computer, implements the privacy protection method based on secure multi-party computing as described in any one of Example 1.
[0101] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, and optionally, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.
[0102] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them; although the present invention has been described in detail with reference to the above embodiments, a person skilled in the art should understand that the technical solutions described in the above embodiments can still be modified, or some of the technical features can be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A privacy protection method based on secure multi-party computing, characterized by: Based on a server and a plurality of participants respectively connected to the server in communication, the method comprises: Each participant generates a pair of public keys and private keys respectively, and sends its public key and communication address to the server so that the server can store and manage the public key and communication address of each participant; The server selects an intermediate result calculation party from all the participants, and sends the public keys and communication addresses of all the intermediate result calculation parties to each participant respectively; wherein the total number of the intermediate result calculation parties is greater than 1; Each participant divides its stored sample data into multiple sub-sample data that match the total number of all intermediate result calculation parties; Each participant uses the public key of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party, and obtains the encrypted sub-sample data matching each intermediate result calculation party; Each participant sends the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party according to the communication address of each intermediate result calculation party; Each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, obtains sub-sample data corresponding to all encrypted sub-sample data, and then performs local calculation based on all sub-sample data to obtain the intermediate result; Each intermediate result calculation party extracts the communication addresses and public keys of all participants from the server, and then uses the public keys of each participant to encrypt the intermediate results obtained, thereby obtaining encrypted intermediate results corresponding to each participant; Each intermediate result calculation party sends the encrypted intermediate results corresponding to each participant to each participant according to the communication address of each participant; Each participant uses its private key to decrypt each encrypted intermediate result it receives, obtains an intermediate result corresponding to all the encrypted intermediate results, and then performs result synthesis processing based on all the intermediate results to obtain a data analysis result.
2. The privacy protection method based on secure multi-party computing according to claim 1, characterized in that: Each participant uses the RSA algorithm to generate a pair of public and private keys.
3. The privacy protection method based on secure multi-party computing according to claim 1, characterized in that: After generating a pair of public and private keys, each participant also sends its performance parameters to the server so that the server can store and manage the performance parameters of each participant; correspondingly, the server selects an intermediate result calculation party from all participants, including: The server selects an intermediate result calculation party that meets the specified performance requirements from all the participants according to the performance parameters of each participant.
4. The privacy protection method based on secure multi-party computing according to claim 1, characterized in that: The method further comprises: Each participant performs missing value processing, outlier processing, format conversion processing and standardization processing on its stored sample data to obtain preprocessed sample data, so that each participant divides its preprocessed sample data into multiple sub-sample data that match the total number of intermediate result calculation parties.
5. The privacy protection method based on secure multi-party computing according to claim 1, characterized in that: The server is pre-set with a computing task and a specified SMC protocol matching the computing task; correspondingly, after each intermediate result computing party obtains the sub-sample data corresponding to all the encrypted sub-sample data, it performs local calculations according to the specified SMC protocol to obtain the intermediate results.
6. A privacy protection method based on secure multi-party computing, characterized in that: Based on execution by any one of a plurality of participants, and the plurality of participants are all connected to a server; the method comprises: Generate a pair of public and private keys, and send the public key and communication address to the server so that the server can store and manage the public key and communication address of each participant; Receive the public keys and communication addresses of all the intermediate result calculation parties sent by the server, and divide the sample data stored therein into a plurality of sub-sample data matching the total number of all the intermediate result calculation parties, and then use the public keys of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party, so as to obtain encrypted sub-sample data matching each intermediate result calculation party; wherein the intermediate result calculation party is selected from the participating parties, and the total number of the intermediate result calculation parties is greater than 1; According to the communication address of each intermediate result calculation party, the encrypted sub-sample data matching each intermediate result calculation party is sent to each intermediate result calculation party respectively, so that each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, and obtains sub-sample data corresponding to all encrypted sub-sample data, and then performs local calculation based on all sub-sample data to obtain intermediate results, and then each intermediate result calculation party uses the public key of each participating party to encrypt the intermediate results obtained, and obtains encrypted intermediate results corresponding to each participating party, and then each intermediate result calculation party sends the encrypted intermediate results corresponding to each participating party to each participating party respectively; The private key is used to decrypt each of the encrypted intermediate results received, to obtain intermediate results corresponding to all the encrypted intermediate results, and then a result synthesis process is performed based on all the intermediate results to obtain a data analysis result.
7. A privacy protection method based on secure multi-party computing, characterized in that: Based on the execution of a server, the server is communicatively connected with multiple parties; the method includes: Receive the public key and communication address sent by each participant, and store and manage the public key and communication address of each participant; Select an intermediate result calculation party from all the participants, and send the public keys and communication addresses of all the intermediate result calculation parties to each participant, so that each participant can divide its stored sample data into multiple sub-sample data matching the total number of all the intermediate result calculation parties, and then use the public keys of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party to obtain the encrypted sub-sample data matching each intermediate result calculation party, and finally send the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party through each participant; wherein the total number of the intermediate result calculation parties is greater than 1; After each intermediate result calculation party uses its private key to decrypt each encrypted sub-sample data it receives, and obtains sub-sample data corresponding to all encrypted sub-sample data, and performs local calculation based on all sub-sample data to obtain the intermediate result, according to the participant information extraction request of each intermediate result calculation party, the communication addresses and public keys of all participants are sent to each intermediate result calculation party respectively, so that each intermediate result calculation party uses the public key of each participant to encrypt the intermediate result it obtains respectively, and obtains the encrypted intermediate result corresponding to each participant, and then the encrypted intermediate result corresponding to each participant is sent to each participant by each intermediate result calculation party, so that each participant uses its private key to decrypt each encrypted intermediate result it receives respectively, and obtains the intermediate result corresponding to all encrypted intermediate results, and then the result synthesis processing is performed based on all the intermediate results to obtain the data analysis result.
8. A privacy protection system based on secure multi-party computing, characterized by: Used to implement the privacy protection method based on secure multi-party computing as described in claim 7; The privacy protection system based on secure multi-party computing includes: The information storage module is used to receive the public key and communication address sent by each participant, and store and manage the public key and communication address of each participant; An intermediate result calculation party selection module is communicatively connected with the information storage module, and is used to select an intermediate result calculation party from all the participants, and send the public keys and communication addresses of all the intermediate result calculation parties to each participant, so that each participant can divide its stored sample data into multiple sub-sample data matching the total number of all the intermediate result calculation parties, and then each participant uses the public key of each intermediate result calculation party to encrypt the sub-sample data corresponding to each intermediate result calculation party to obtain the encrypted sub-sample data matching each intermediate result calculation party, and finally each participant sends the encrypted sub-sample data matching each intermediate result calculation party to each intermediate result calculation party; wherein the total number of the intermediate result calculation parties is greater than 1; The information transmission module is communicatively connected with the information storage module, and is used for each intermediate result calculation party to use its private key to decrypt each encrypted sub-sample data it receives, obtain sub-sample data corresponding to all encrypted sub-sample data, and perform local calculation based on all sub-sample data. After obtaining the intermediate result, according to the participant information extraction request of each intermediate result calculation party, the communication address and public key of all participants are sent to each intermediate result calculation party respectively, so that each intermediate result calculation party can use the public key of each participant to encrypt the intermediate result it obtains respectively, and obtain the encrypted intermediate result corresponding to each participant. Then, the encrypted intermediate result corresponding to each participant is sent to each participant through each intermediate result calculation party respectively, so that each participant can use its private key to decrypt each encrypted intermediate result it receives respectively, and obtain the intermediate result corresponding to all encrypted intermediate results. Then, result synthesis processing is performed based on all the intermediate results to obtain the data analysis result.
9. An electronic device, characterized in that: include: a memory for storing computer program instructions; as well as, A processor is used to execute the computer program instructions to complete the operation of the privacy protection method based on secure multi-party computing as described in claims 1-5, 6 or 7.
10. A computer program product comprising a computer program or instructions, characterized in that: When the computer program or the instruction is executed by a computer, the privacy protection method based on secure multi-party computing as described in claims 1-5, 6 or 7 is implemented.
Citation Information
Patent Citations
Streaming data-oriented cooperative computing method
CN113873047A
Multi-party security computing method, electronic equipment and readable storage medium
CN114615282A