Thursday, May 16, 2013

IBM Researchers Open Source Homomorphic Crypto Library

How fast things move from theoretical, through experimental to implementation. It was only recently that  a semi-practical scheme for homomorphic encryption was invented and we already have an open source implementation in C++.

Homomorphic encryption is a very desirable goal. Suppose you want to add two numbers that are stored in an encrypted file. Traditionally the only way to do it was to decrypt the file, add the two numbers and then re-encrypt the file. Of course, to do the addition you had to have access to the entire contents. This also meant that other people could access it while it was stored as plain text. 
There are lots of of situations where it would be good if the data could be stored in encrypted form, say in the cloud, and still operated on without having to decrypt it.  This is the goal of fully homomorphic encryption.
To be fully homomorphic the code has to be such that a third party can add and multiply numbers that it contains without needing to decrypt it. This may sound like magic but a fully homomorphic scheme was invented in 2009 by Craig Gentry (thesis: A Fully homomorphic Encryption Scheme). 

Read more: I Programmer
Read more: Github
QR: Inline image 1