Skip to content

SpiRITlab/HElib

 
 

Repository files navigation

HElib

HElib is an open-source (Apache License v2.0) software library that implements homomorphic encryption (HE). Currently available schemes are the implementations of the Brakerski-Gentry-Vaikuntanathan (BGV) scheme with bootstrapping and the Approximate Number scheme of Cheon-Kim-Kim-Song (CKKS), along with many optimizations to make homomorphic evaluation run 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.

Since mid-2018 HElib has been under extensive refactoring for Reliability, Robustness & Serviceability, Performance, and most importantly Usability for researchers and developers working on HE and its uses.

HElib supports an "assembly language for HE", providing low-level routines (set, add, multiply, shift, etc.), sophisticated automatic noise management, improved BGV bootstrapping, multi-threading, and also support for Ptxt (plaintext) objects which mimics the functionality of Ctxt (ciphertext) objects. See changes.md for more details.

Full installation instructions and a list of the required dependencies can be found in INSTALL.md.

HElib is written in C++14 and uses the NTL mathematical library.
HElib is distributed under the terms of the Apache License v2.0.

About

An Implementation of homomorphic encryption

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 96.8%
  • CMake 1.6%
  • Objective-C 1.1%
  • Makefile 0.4%
  • C 0.1%
  • Dockerfile 0.0%