-
Notifications
You must be signed in to change notification settings - Fork 769
Home
Welcome to the HElib wiki!
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
.