Source:medium

1）The origin of homomorphic encryption？

In 1977, three technical geeks came up with a new encryption algorithm at the Massachusetts Institute of Technology, known as the “RSA algorithm” (One letter was given in each of the three geek names when named). In 1978, R and A among the “RSA algorithm” contributors proposed a new encryption concept- “homomorphic encryption”, and applied this encryption to the banking industry at the time.

Although homomorphic encryption has been around for more than 40 years, it is still the most cutting-edge method of encryption.

2) What is homomorphic encryption?

Homomorphic encryption: A way to delegate processing data without giving up access to the data.

The most interesting thing about homomorphic encryption schemes is that they focus on data processing security. Homomorphic encryption provides a function for the processing of encrypted data. That is, someone else can process the encrypted data, but the processing does not reveal anything original. At the same time, after the user with the key decrypts the processed data, the result is exactly what is processed.

For example

Alice bought a large piece of gold, which she wanted the workers to make into a necklace. But in the process of processing, the workers may steal gold. So will there be a scheme that allows workers to process the large piece of gold without getting any gold?

Alice can:

· Lock the gold in a closed box that is fitted with a glove.

· Workers can wear the gloves and process the gold inside the box. But the box is locked, so the workers not only can’t get the gold, even can’t get any gold dropped during the process.

· After the processing is complete, Alice can get the box back, open the lock and get the gold.

The diagram is as follows:

This process corresponds to homomorphic encryption:

3）How is the homomorphic encryption technology applied to AOS?

Let’s say, for example, that there are now two users, Alice and Bob. We will use homomorphic encryption in AOS to realize the privacy payment from user Alice to Bob.

1）First, we encrypted Alice and Bob’s balances separately by using homomorphic encryption algorithms. Using the example of the box and gloves cited above, homomorphic encryption of the balance between Alice and Bob is equivalent to put a piece of Alice’s gold and a piece of gold belonging to Bob in a box.

2) When Alice needs to make a transfer to Bob, we encrypt the transfer amount in a homomorphic manner.

3) Then using the addition feature of homomorphic encryption, the transfer amount is subtracted from Alice’s balance and the transfer amount is added to Bob’s balance. This is the equivalent of cutting Alice’s gold out of a small piece through the gloves on the box and putting it in Bob’s gold.

4) After doing so, whether Alice or Bob decrypts the balance with their own key, it is equivalent to opening the box with the key. That’s when Alice sees that her gold go down, which means Alice’s balance has been reduced. At the same time, Bob will see a small chunk of his gold, which means his balance has increased.

5) Except for Alice and Bob, no one else know that Alice’s gold in the box had been cut off and given to Bob. In this way, a private transaction from Alice to Bob is completed in AOS by using the technology of homologous encryption.