The need to protect data from unauthorised access is an old story. Military communications were the first to require an encryption system that would prevent the enemy, in case of interception, to understand the content of a message. The Caesar cypher is one of the oldest encryption techniques, it was used by Julius Caesar for his secret messages and during the second World War, Germany used the Enigma machine to encrypt and decrypt communications.

Today, encryption not only protects military communications but is used to protect digital data in general. The information residing in computers and other electronic devices or transferred over networks is considered a real strategic intangible asset with a huge economic value, which is able to attract interests that are far from legal (i.e. identity theft, cyber-attacks, etc.).

Encryption enhances the effectiveness of data protection though it still has a weakness: **the encrypted data needs to be decrypted before it becomes usable.**

## The homomorphic encryption

To solve the problem of processing encrypted data without having to decipher it before (and thus make it vulnerable again), IT scientists and mathematicians have long worked on homomorphic encryption, a concept first introduced by Rivest, Adleman and Dertouzos in 1978. The adjective **homomorphic** indicates an encryption scheme that allows you **to perform calculations of encrypted data without the need to decrypt it first**.

In other words, carrying out an operation on two encrypted data sets would produce an encrypted result that – if deciphered – would be equal to the result obtained by carrying out the same operation on both unencrypted data sets.

For example:

- Imagine two numbers that are not encrypted: 30 and 50.
- Once encrypted, the numbers become 43 and 72.
- The sum of the two encrypted numbers gives you the encrypted result of 115 (43 + 72).
- In the homomorphic encryption if you decrypt 115 the result you will get is 80 (which is equal to the sum of the original numbers, 30 + 50).

The strength of the homomorphic encryption is obvious! The first **full homomorphic encryption** **scheme** (FHE) was developed by the American researcher Craig Gentry in 2009. An FHE scheme supports arbitrary computation (it allows an unlimited number of both addition and multiplication operations) and it’s therefore more powerful than a so-called **partially-homomorphic encryption** (PHE) scheme which only supports the addition or multiplication of encrypted data (the FHE scheme by Gentry works supporting multiplication and addition at the same time, AND and XOR in Boolean algebra).

## Homomorphic encryption applications to the cloud

Web services and in particular cloud computing can leverage the homomorphic encryption technology PHE as a great data protection tool. The possibility to process the information on the cloud without the need to decrypt the data would make the cloud itself much more secure: the user could send an encrypted request to the cloud server to perform an operation on the encrypted data and get an encrypted result to be decrypted with his/her own key.

The fully homomorphic scheme developed by Craig Gentry (now an IBM researcher in the field of cryptographic systems) was defined by its critics as being too slow and too complex to be used in the cloud. The encryption involves complex calculations that requires time to be performed, slowing down the speed of the processes. The basic idea here is that a faster encryption should not affect web services and thus the web providers could use it for all data moving on the Internet.

Recently, in February 2016, Microsoft researchers in cooperation with academics have published a paper (CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy) which claims to have sped up the homomorphic encryption.

The original scheme of Gentry, in fact, was 100 trillion times slower in making calculations on encrypted data over unencrypted data, IBM has significantly improved the performance making calculations 2 million times faster, but Microsoft is now said to have made big steps forward in terms of speed. The researchers developed an artificial intelligence called **CryptoNets**, a neural network that can process encrypted data without the need to decrypt it. The paper also explains how this technology can be applied to the cloud to process encrypted data without the decryption key.

## Conclusion

The homomorphic encryption represents the future of cryptographic techniques as it allows you to perform operations on encrypted data without the need to decrypt it. To take advantage of the PHE schemes would be especially beneficial for cloud computing. It would offer an effective data protection system and the solution to important privacy issues. As an example, in the medical field, cloud-based analysis performed by researchers on datasets of DNA sequences would be possible.

One of the main problems of the homomorphic encryption is the speed of execution, but recently Microsoft seems to have been very successful in overcoming this challenge. The next few years will tell us if the use of PHE can be really implemented at global level in cloud platforms.