Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An Implementation of homomorphic encryption
C++ Objective-C Other
branch: master
Failed to load latest commit information.
doc More documentation changes
src More primes for 32-bit architectures
Doxyfile Documentation
INSTALL.txt more comments/documentation Update
mainpage.dox Documentation


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. See this report for a description of a few of the algorithms using in this library. Starting December 2014, the library also includes bootstrapping.

At its present state, this library is mostly meant for researchers working on HE and its uses. Also currently it is fairly low-level, and is best thought of as "assembly language for HE". That is, it provides low-level routines (set, add, multiply, shift, etc.), with as much access to optimizations as we can give. Hopefully in time we will be able to provide higher-level routines.

This library is written in C++ and uses the NTL mathematical library (version 9.0.1 or higher). As of March 2015, it also supports multi-threading. HElib is distributed under the terms of the GNU General Public License (GPL). For more information see the GitHub Pages.

Something went wrong with that request. Please try again.