Cryptology ePrint Archive: Report 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.

Category / Keywords: public-key cryptography / Bootstrapping, Homomorphic Encryption, Implementation

Original Publication (with minor differences): IACR-EUROCRYPT-2015

Date: received 22 Oct 2014, last revised 30 Jan 2015

Contact author: shaih at alum mit edu

Available format(s): PDF | BibTeX Citation

Version: 20150130:075732 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]