Skip to content
Shai Halevi edited this page May 31, 2017 · 6 revisions

Welcome to the HElib wiki!

May 30, 2017. At many people's request, and with the permission of all the contributors, we changed the license of HElib to Apache v2.0.

March 27, 2015. HElib now supports multi-threading. Building on the newly introduced supports for multi-threading in NTL, it is now possible to use multiple threads in HElib (when compiled with the flag -DFHE_THREADS). The current release contains two examples for using multi-threading:

(i) compiling HElib with -DFHE_DCRT_THREADS enables multi-threaded implementation of some low-level transformations. As these transformations only account for ~40% of the run-time, enabling this flag entails only a modest run-time improvement (upto x1.5 speedup in our tests)

(ii) compiling HElib with -DFHE_BOOT_THREADS enables multi-threaded implementation of bootstrapping. This yields almost a linear speedup (e.g., using 16 cores we got 12x speedup), but it only affects bootstrapping time.

December 30, 2014. We re-implemented homomorphic-AES on top of HElib, the code is available in the branch aes, in the directory src/aes. In our tests, were were able to evaluate homomorphic AES-128 encryption on a commodity laptop in just over four minutes, this is roughly a 500x improvement in run-time over the early implementation of Gentry-Halevi-Smart from 2012.

November 26, 2014. We finally have bootstrapping!! The new version of the library contains many fixes and optimizations, but more importantly it now contains a working implementation of recryption/bootstrapping. See an example of how to use it in src/Test_bootstrapping.cpp.

Clone this wiki locally