Open Source Homomorphic Cryptography
Open Source Homomorphic Cryptography
Written by Mike James   
Wednesday, 01 May 2013

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++.

 

key

 

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). 

This was a step in the right direction but the problem was that it is very inefficient and computationally intensive. Since then there have been a number of improvements that make the scheme practical in the right situations. At the end of 2009 Marten van Dijk, Craig Gentry, Shai Halevi and Vinod Vaikuntanathan presented a simplified fully homomorphic system: Fully Homomorphic Encryption over the Integers - the BGV system. 

Now Victor Shoup and Shai Halevi of the IBM T J Watson Research Center have released an open source (GPL)  C++ library, HElib as a Github project. The code is said to incorporate many optimizations to make the encryption run faster:

HElib is a software library that implements homomorphic encryption (HE). Currently available is an implementation of the Brakerski-Gentry-Vaikuntanathan (BGV) scheme, along with many optimizations to make homomorphic evaluation runs faster, focusing mostly on effective use of the Smart-Vercauteren ciphertext packing techniques and the Gentry-Halevi-Smart optimizations.

Visit Github to download the code and contribute to the project. There is a lot of documentation to help you get started.

Homomorphic encryption has the potential to revolutionize security by allowing operations on data without the need to decrypt it. 

 

key

More Information

HElib

Related Articles

Modifiable encryption

DARPA spends $20 million on homomorphic encryption

25 GPUs Crack Passwords In Minutes

Security by obscurity - a new theory

Zodiac Killer code cracked? Cryptography at its worst

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

 
 

 

blog comments powered by Disqus

 

Banner


Programmers Xmas - Alexa Suggest Some Presents
02/12/2017

You can guess the answer.

This is the first of our features on presents suitable for programmers and for programmers to give. Yes it s commercial and if you buy any of our suggestions we get a small [ ... ]



Google's Fuchsia OS And The Forking Of Swift
21/11/2017

This more a "what is going on" sort of story than any prediction of the future. About a week ago the Google team developing the mysterious Fuchsia operating system forked Apple's Swift language. Now i [ ... ]


More News

Last Updated ( Wednesday, 01 May 2013 )
 
 

   
RSS feed of news items only
I Programmer News
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.