Homomorphic encryption


  • Homomorphic encryption is a type of data encryption technique that allows for computations to be done on encrypted data so that the decryption result is identical to the result of operations performed on the unencrypted data;
  • In particular, this type of encryption allows to process sensitive data on cloud resources without revealing the contents to the cloud owner;
  • Currently, fully homomorphic encryption schemes are being actively developed with the main efforts being aimed at improving their efficiency for practical applications.
More on the topic

Homomorphic encryption schemes are divided into partially homomorphic and fully homomorphic.

Partially homomorphic schemes allow performing a single operation on the encrypted data, such as addition or multiplication, while fully homomorphic schemes allow performing both addition and multiplication. Partially homomorphic properties are found in the classic RSA and ElGamal cryptosystems (both are not quantum-resistant) based on the integer factorization and discrete logarithm problems, respectively.

The first fully homomorphic scheme was proposed in 2009 by C. Gentry. It was based on complex lattice theory problems and used a noise accumulation technique to protect data, "refreshing" whenever the noise grows too large. This scheme was first implemented in 2010 by N. Smart and F. Wertkauteren – a simple bitwise operation took nearly 30 minutes to perform. Later on, C. Brakerski, C. Gentry, V. Vaikuntanahan and others proposed several new designs for fully homomorphic schemes significantly improving their efficiency. In particular, a complex scheme implementing the AES cipher was homomorphically calculated in 2 seconds.

All current fully homomorphic schemes are, by design, quantum-resistant.
At the moment, the main scientific and technological challenge is to increase the efficiency of fully homomorphic encryption schemes. The development of computational power and the theoretical framework makes this area promising.
Homomorphic encryption mechanism
Homomorphic encryption schemes can be applied in various data protection areas:

  • Cloud and distributed computing systems, where a data owner wishes to preserve information confidentiality, can be based on fully homomorphic encryption schemes. Such systems include, for example, systems for medical records processing, personal user data, sensitive financial and industrial data;
  • Homomorphic encryption can solve the task of securely retrieving information from a database without revealing neither requests nor responses. This technology can be used in privacy-preserving search engines;
  • The increasingly popular big data processing systems based on machine learning systems can also be securely implemented using homomorphic schemes, preserving the confidentiality of the processed data;
  • Most e-voting protocols use a partially or fully homomorphic encryption scheme as one of their "building blocks".

Therefore, fully homomorphic encryption is a promising tool for solving sensitive information processing challenges that businesses face nowadays..
How to decide whether homomorphic encryption is the right choice for you?

  1. Analyze the sensitive information processing challenges to be solved, determining the suitability of homomorphic encryption protocols for your particular situation;
  2. Select and implement cryptographic algorithms optimal for solving the challenges defined in Step 1, taking the quantum threat into account;
  3. Design, pilot and implement homomorphic encryption solutions together with the QApp team.