We describe the design and implementation of a software library that implements the Brakerski-Gentry-Vaikuntanathan (BGV) homomorphic encryption scheme, along with many optimizations to make homomorphic evaluation runs faster, focusing mostly on effective use of the Smart-Vercauteren ciphertext packing techniques. Our library is written in C++ and uses the NTL mathematical library. It is distributed under the terms of the GNU General Public License (GPL). Partially supported by DARPA under agreement number FA8750-11-C-0096. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of DARPA or the U.S. Government. Distribution Statement “A” (Approved for Public Release, Distribution Unlimited). Also partially supported by the Intelligence Advanced Research Projects Activity (EARP) via Department of Interior National Business Center (DoI/NBC) contract number D11PC20202. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon. Disclaimer: The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of IARPA, DoI/NBC, or the U.S. Government.
[1]
L. Bluestein.
A linear filtering approach to the computation of discrete Fourier transform
,
1970
.
[2]
Ronald L. Rivest,et al.
ON DATA BANKS AND PRIVACY HOMOMORPHISMS
,
1978
.
[3]
Craig Gentry,et al.
Fully homomorphic encryption using ideal lattices
,
2009,
STOC '09.
[4]
Craig Gentry,et al.
Fully Homomorphic Encryption with Polylog Overhead
,
2012,
EUROCRYPT.
[5]
Craig Gentry,et al.
Better Bootstrapping in Fully Homomorphic Encryption
,
2012,
Public Key Cryptography.
[6]
Craig Gentry,et al.
Homomorphic Evaluation of the AES Circuit
,
2012,
IACR Cryptol. ePrint Arch..
[7]
Chris Peikert,et al.
On Ideal Lattices and Learning with Errors over Rings
,
2010,
JACM.
[8]
Frederik Vercauteren,et al.
Fully homomorphic SIMD operations
,
2012,
Designs, Codes and Cryptography.