Simple write and safe multi-party calculation

|0x00 What is safe multi-party computing

Multi-party secure computing has been very popular recently, not only because the European Union has issued a data privacy regulation "General Data Protection Regulation" (General Data Protection Regulation, referred to as GDPR), but also because of the stock market competition, everyone has more scenarios for data cooperation . For example: Two companies have a copy of user data, but they don’t want the other party to know who their users are, but they also want to know how much their users overlap with each other’s users. At this time, what kind of algorithm can we use Get the results you want without revealing your user information?

Secure multi-party computing originated from the famous "millionaire" problem: two millionaires want to compare who is richer, each other's wealth is an integer between 0-10, and how to compare without disclosing their wealth Who is richer?

Someone has proposed a solution: find a balance, put a closed box on each side, let the rich man put apples of equal weight in the box, put a few apples as much as he has wealth, and finally look at which side is heavy. simple.

Is it really easy?

This solution has a very fatal problem, that is, who provides the balance? Imagine these two rich men. If they don’t have a third person they trust together, how can this problem be solved? Will the provider of the balance know the wealth of two people at the same time? If the balance is not fair, then what can guarantee fairness?

This involves a very critical issue: "Trusted Third Party". Although this problem is simple, it is complicated to solve.

In 1982, Mr. Yao Qizhi put forward the concept of "Secure Multi-Party Computation" (English: Secure Multi-Party Computation) in his article "Secure Computing Protocol" to solve this problem. The main content of the research is to solve the problem of how to calculate an agreed function safely without a trusted third party.

As a sub-field of cryptography, the "Secure Multi-Party Computing Protocol" allows multiple data owners to perform collaborative calculations without trusting each other, output the calculation results, and ensure that no one party can get the calculation results other than what they deserve Any other information. In other words, the input data of all parties is only known to them, and through an encrypted algorithm, all parties can get the results they want.

As more and more attention is paid to the issues of user privacy and data security, "secure multi-party computing" is becoming more and more popular. It provides solutions to the problem of data islands and breaks the barriers to the flow of data between industries and enterprises. A technical realization idea.

|0x01 What are the algorithms for multi-party secure computing

There are currently four implementation methods for mainstream multi-party secure computing:

  • The first is the "obfuscated circuit", also known as Yao's circuit. This is a cryptographic protocol with a very long history. It was proposed by Professor Yao Qizhi in 1986. The core is to compile the security calculation function into the form of a Boolean circuit.
  • The second is the "secret sharing" algorithm, because the circuit design is always very complicated, so this problem is simplified through simple mathematical ideas. The basic idea of ​​the "secret sharing" algorithm is to split each number into multiple numbers, and distribute these numbers to multiple participants. Each participant gets a part of the original data, and only everyone can share their own data. The real data can be restored when they are put together.
  • The third type is "homomorphic encryption". Homomorphic encryption refers to an encryption function that performs addition and multiplication operations on plaintext and then encrypts it, and performs corresponding operations on the ciphertext after encryption, and the result is equivalent. Because of this good nature, people can entrust a third party to process data without revealing information.
  • The fourth type is "Lost Random Access Machine", English is "ORAM", a data encryption scheme that can be used to completely hide IO operations, completely eliminating information leakage in the memory access trajectory, except for any intersection between the two parties. The elements will not be leaked.

The above algorithms can be searched on the Internet, so I won't go into it here. In fact, there are some other methods, such as differential privacy. Those who are interested can search by themselves.

Regardless of the method, the ultimate goal is to improve computing performance as much as possible while protecting data privacy, and to provide richer data processing methods.

|0x02 Features of multi-party secure computing

What are the characteristics of multi-party secure computing? Simply put, there are three types:

  • Decentralization: Multi-party securely calculates the input party of each data, and completes the corresponding calculation without leaking their own data. The status of each participant is equal, and there is no privileged participant; this principle is consistent with the concept of the blockchain Similar to avoiding large-scale centralized nodes, it also prevents data from being monopolized by several giants, and the owner of the data becomes the subject of data exchange;
  • Computationally efficient: In the past, complex cryptographic strategies were not suitable for massive data. However, as more and more people have participated in recent years, the efficiency of related algorithms has been improved, so that the complexity of some algorithms can reach linearity. Adapt to the massive computing needs of today's big data;
  • Input privacy: Multi-party secure computing includes many types of encryption protocols and algorithms, based on different encryption principles, see |0x02 for details. In theory, the security is no different from the encryption algorithms we are familiar with.

Since 2018, the industry has been able to solve the problem of data privacy protection in the context of massive data. This is a very clear turning point signal. The state can use this technology to truly implement personal data privacy issues. European GDPR, China's cryptography, and California's CCPA were all born under this background.

|0xFF Multi-party secure computing application scenarios

First of all, the most important application scenario for multi-party secure computing is personal privacy. A large number of Internet services require personal privacy data, which requires privacy algorithms to protect individuals.

Secondly, not only do companies need to solve the problem of data interoperability, but there are also data interoperability requirements between various governments and large enterprises, but they also need to keep corresponding data confidential. In the past, due to technical problems, many "data islands" were passively caused. With the development of multi-party secure computing today, it has been resolved.

Third, even within an enterprise, there is a risk of data leakage. Improper setting of personal permissions can easily lead to leakage of the enterprise's own core data. Multi-party secure computing can encrypt the original data, even if you get the data, it cannot be cracked.

Of course, the performance of multi-party secure computing is still limited after all, and requires more machine computing power to support it, which is also a huge challenge to cost.

In any case, we still have to adapt to the Internet industry after GDPR. Data privacy issues will receive long-term attention, and it is necessary to understand some data security algorithms.

Guess you like

Origin blog.csdn.net/gaixiaoyang123/article/details/113130885