Homomorphic Encryption is an encryption technique where we can perform computations on encrypted data and get the result which will be encrypted and can be decrypted only by the owner with the secret key.
Why would anyone need Homomorphic Encryption?
Consider the scenario where you want some computation to be performed on some metadata with the help of third-party services, but you don't want to expose your or your user's data for security or privacy concerns.
The best (and currently known) use case would be on cloud computing.
The major scope of Homomorphic encryption can be in Genomics, Medical History, Finance, and wherever we deal with very sensitive private data but needs to perform some basic operations on a more generalized metadata.
A bit of history
The problem of constructing a fully homomorphic encryption scheme was first proposed in 1978 - within a year of publishing of the RSA scheme. But Fully homomorphic system was not described until 2009, when computer scientist Craig Gentry published thesis on ‘Fully Homomorphic Encryption using ideal lattices'.
The major challenge now computational time. Many research activities are going on to speed up the process by decreasing the computational overhead that's required for homomorphic encryption. The encryption in actual homomorphic schemes' functions are considerably more complicated, often they use a mathematical calculation involving lattices with a high number of dimensions, called the Ring-Learning With Errors (RLWE) problem.
Several open-source implementations of homomorphic encryption schemes exist today.
- HELib: An early and widely used library from IBM that supports the BGV scheme and bootstrapping.
- Microsoft SEAL: A widely used open source library from Microsoft that supports the BFV and the CKKS schemes.
- PALISADE: A widely-used open source library from a consortium of DARPA-funded defense contractors that provides lattice cryptography building blocks and supports leading homomorphic encryption schemes.
Though the encryption scheme has been known from many years, because of complicated computations, we don't have an optimal and practical solution yet. Hope we see the Fully Homomorphic encryption within a few decades with a wider scope.