Secure multi-party Computing Technology
(Security multi-party computation, SMC)
I,What is secure multi-party computing?
To illustrate what is secure multi-party computing, we will first introduce several examples in real life.
1. Alice thinks she has some genetic disease and wants to verify her thoughts. She knows that Bob has a database about the DNA model of disease. If she sends her DNA sample to Bob, Bob can diagnose her DNA. But Alice does not want anyone to know. This is her privacy. Therefore, it is not feasible for her to ask Bob to help diagnose her DNA. Because bob knows her DNA and related private information.
2. After an expensive market survey, Company A decided to expand its market share in some regions to get a lucrative return. At the same time, Company A has noticed that company B is also expanding its market share in some regions. In terms of strategy, both companies do not want to compete in the same region, so they all want to know if their market regions overlap without disclosing the location information of the market regions. (Information Leakage may cause great losses to the company. For example, another competitor knows the expansion areas of Company A and Company B and takes actions to occupy the market in advance. For example, real estate companies know the expansion plans of Company A and Company B, and raise the local rent in advance) therefore, they need a way to solve this problem while ensuring privacy.
3. The two financial organizations plan to cooperate with each other for the purpose of mutual benefit. Each organization wants to meet its own needs. However, their demands are all proprietary data that nobody wants to disclose to others, or even a "trusted" third party. So how can they cooperate in projects while protecting data privacy?
The three examples have the following features:
<1> two or more Parties participate in Computing Based on their private input.
<2>. They do not want others to know their input information.
The question is how to implement this computation while protecting the privacy of input data? We call it the "secure multi-party Computation" issue.
Generally, a secure multi-party computing problem computes any probability function based on any input on a distributed network. Each input party has an input in this distributed network, the distributed network ensures the independence of input and the correctness of calculation, and does not disclose any other information that can be used to derive other input and output information except for the input.
Currently, the policy for solving the above problems is to assume a trusted service provider or a trusted third party. However, this is highly risky in the currently changing and malicious environments. Therefore, protocols that support joint computing and protect the privacy of Participants become increasingly important. Theoretically, the General Security multi-party computing problem can be solved. However, as goldreich has pointed out, it is impractical to use a secure multi-party computing solution based on the general results of secure multi-party computing in special examples.
Finally, we provide a definition for secure multi-party computing: SMC is a collaborative computing solution for privacy protection between a group of mutually untrusted participants. SMC must ensure the independence of input and correctness of calculation, each input value is not disclosed to other Members involved in the calculation. An SMC model consists of the following four aspects:
L participants.
L security definition.
L communication network model.
L Information Theory security and cryptography security.
(To be continued)