Cryptography and data protection has been there since olden days. From earliest adoption by Julius Caesar (Caesar cipher) that used substitution of keep messages secret to Germany’s implementation of Enigma machine for protecting communication during the second world war to the latest implementation of Symmetric & Asymmetric cryptographic cyphers.
Nowadays, Encryption is not only in use to protect military communication but it’s also used to protect personal information. Data is everywhere, stored in billions and billions of computing devices driving the need to protect data from unauthorized access, theft, and misuse. There has been a lot of focus on data privacy and protection by governments and industries across the world. The latest implementation of GDPR is a huge step in the direction.
Though the current methods of encryption used by the industries & across the globe are quite effective in data protection (keeping in mind continuous improvements owing to various cyber threats & attacks); it has an underlying weakness – encrypted data needs to be decrypted before being used or for any computations. Homographic encryption answers this problem.
What is Homomorphic Encryption
Homomorphic encryption is a type of encryption that allows particular computations to be conducted on the encrypted data and returns an encrypted result, the decryption of the result is equal the result of conducting the same operation on the underlying data in plain. This way the computing operation doesn’t need to know the values in plain text and thus protected while computation, enhancing data privacy.
Let’s consider 2 numbers a & b, encryption function be enc() and decryption dec(). If we consider an operation func(), then
dec(func(enc(a), enc(b)) = func(a,b)
For example, if there are two numbers 10 and 20 then both are encrypted to 56 and 69 respectively, the addition operator gives a number with value 125, the decrypted of this value is 30.
History of Homomorphic Encryption
The concept was proposed back in 1978 by Ronald Rivest and Leonard Adleman called privacy homomorphism. There has been a lot of research done for 30 years though progress was slow and all the schemes were partially homomorphic in nature that they support only one homomorphic operation: either of addition or multiplication.
In 2009, Craig Gentry developed the first Full Homomorphic encryption scheme (FHE) that supported arbitrary computation (it allows an unlimited number of both addition and multiplication operations) and therefore more powerful.
Applications of Homographic Encryption
Fully homomorphic encryption has numerous applications. For example, it enables private queries to a search engine – the user submits an encrypted query and the search engine computes an encrypted answer without looking at the query in the clear. Another useful application can be in computing the number of votes. The addition of votes can be done on the encrypted data without knowing who voted for whom, hence improving data privacy.
Particularly in regards to cloud computing and shared storage platforms. One of the principle concerns raised regarding cloud-based solutions is the privacy and security of the data stored. The data can be stored in the cloud in encrypted form and anyone or any application (say data analytics, etc) that requires to do any computation on the data can do so on the encrypted data (without the need for seeing it in plain text) and storing back the result in the encrypted form. The data owner (or whoever is authorized) will only be able to see the resulting data in plain text (by decrypting the encrypted result) making the data in the cloud environment more secure.
Authored By - Raj Gagan Bhatia
TCS Cyber Security Practice