Homomorphic encryption definition
What do you do when you need to perform computations on large data sets while preserving their confidentiality? In other words, you would like to gather analytics, for example, on user data, without revealing the contents to the computation engine that is going to calculate the analytics. Or you are a cloud services provider supporting encrypted storage of documents but want to enable your users to edit their documents without decrypting them first.
This is where homomorphic encryption could come to your rescue. Homomorphic encryption provides the ability to “outsource” the storage and computation of data to cloud environments by converting the data into an encrypted form first.
What’s noteworthy about this technique is you achieve the same results (in encrypted form) by performing the desired operations and computations on the encrypted data as you would have by performing the same operations on its unencrypted form.
“Homomorphic encryption differs from typical encryption methods in that it allows computation to be performed directly on encrypted data without requiring access to a secret key. The result of such a computation remains in encrypted form, and can at a later point be revealed by the owner of the secret key,” according to Homomorphic Encryption Standardization, the industry standards consortium that maintains the “official” standards, guidance and information on developments in the area. This allows the use of the same computational analysis solutions without compromising the confidentiality of the data at any stage.