Homomorphic encryption (HE) refers to a special type of encryption technique that allows for computations to be done on encrypted data, without requiring access to a decryption key.
While traditional encryption schemes can be used to privately outsource data storage to third parties, the data can not be used for computations without first decrypting it, resulting in a huge loss of utility. Homomorphic encryption allows computations to be performed without first decrypting the data. The results of the computations remain encrypted, and can only be read and interpreted by someone with access to the decryption key.
Simple Encrypted Arithmetic Library (SEAL)
We recently released publicly our own homomorphic encryption library, Simple Encrypted Arithmetic Library (SEAL). The fundamental design principle of SEAL is to provide access to the core concepts of homomorphic encryption in one well-designed package with no external dependencies. The library is designed to be so easy to use that people with no prior experience in homomorphic encryption can start using it in their work.
SEAL is written in C++ but includes .NET wrappers for everything. The source code, and several examples, can be downloaded from http://sealcrypto.codeplex.com.