The first plausible scheme of fully homomorphic encryption (FHE), introduced by Gentry in 2009, was considered a major breakthrough in the field of information security. FHE allows the evaluation of arbitrary functions directly on encrypted data on untrusted servers. However, previous implementations of FHE on general-purpose processors had very long latency, which makes it impractical for cloud computing. The most computationally intensive components in the Gentry-Halevi FHE primitives are the large-number modular multiplications and additions. In this paper, we attempt to use customized circuits to speedup the large number multiplication. Strassen's algorithm is employed in the design of an efficient, high-speed large-number multiplier. In particular, we propose an architecture design of an 768K-bit multiplier. As a key compoment, an 64K-point finite-field fast Fourier transform (FFT) processor is designed and prototyped on the Stratix-V FPGA. At 100 MHz, the FPGA implementation is about twice as fast as the same FFT algorithm executed on the NVIDA C2050 GPU which has 448 cores running at 1.15 GHz but at much lower power consumption.
[1]
Arnold Schönhage,et al.
Schnelle Multiplikation großer Zahlen
,
1971,
Computing.
[2]
Charles C. Weems,et al.
High Precision Integer Multiplication with a GPU Using Strassen's Algorithm with Multiple FFT Sizes
,
2011,
Parallel Process. Lett..
[3]
Craig Gentry,et al.
Implementing Gentry's Fully-Homomorphic Encryption Scheme
,
2011,
EUROCRYPT.
[4]
Craig Gentry,et al.
A fully homomorphic encryption scheme
,
2009
.
[5]
J. Solinas.
CORR 99-39 Generalized Mersenne Numbers
,
1999
.
[6]
Berk Sunar,et al.
Accelerating fully homomorphic encryption using GPU
,
2012,
2012 IEEE Conference on High Performance Extreme Computing.
[7]
Craig Gentry,et al.
Fully homomorphic encryption using ideal lattices
,
2009,
STOC '09.