Paper 2014/873
Bootstrapping for HElib
Shai Halevi and Victor Shoup
Abstract
Gentry's bootstrapping technique is still the only known method of obtaining fully homomorphic encryption where the system's parameters do not depend on the complexity of the evaluated functions. Bootstrapping involves a \emph{recryption} procedure where the scheme's decryption algorithm is evaluated homomorphically. So far, there have been precious few implementations of recryption, and fewer still that can handle "packed ciphertexts" that encrypt vectors of elements. In the current work, we report on an implementation of recryption of fully-packed ciphertexts using the \texttt{HElib} library for somewhat-homomorphic encryption. This implementation required extending the recryption algorithms from the literature, as well as many aspects of the \texttt{HElib} library. Our implementation supports bootstrapping of packed ciphertexts over many extension fields/rings. One example that we tested involves ciphertexts that encrypt vectors of 1024 elements from $\GF(2^{16})$. In that setting, the recryption procedure takes under 5.5 minutes (at security-level $\approx 76$) on a single core, and allows a depth-9 computation before the next recryption is needed.
Metadata
- Available format(s)
- Category
- Public-key cryptography
- Publication info
- A minor revision of an IACR publication in EUROCRYPT 2015
- Keywords
- BootstrappingHomomorphic EncryptionImplementation
- Contact author(s)
- shaih @ alum mit edu
- History
- 2020-04-21: last of 4 revisions
- 2014-10-22: received
- See all versions
- Short URL
- https://ia.cr/2014/873
- License
-
CC BY