VLSI Design of a Large-Number Multiplier for Fully Homomorphic Encryption

This paper presents the design of a power- and area-efficient high-speed 768000-bit multiplier, based on fast Fourier transform multiplication for fully homomorphic encryption operations. A memory-based in-place architecture is presented for the FFT processor that performs 64000-point finite-field FFT operations using a radix-16 computing unit and 16 dual-port SRAMs. By adopting a special prime as the base of the finite field, the radix-16 calculations are simplified to requiring only additions and shift operations. A two-stage carry-look-ahead scheme is employed to resolve carries and obtain the multiplication result. The multiplier design is validated by comparing its results with the GNU Multiple Precision (GMP) arithmetic library. The proposed design has been synthesized using 90-nm process technology with an estimated die area of 45.3 mm2. At 200 MHz, the large-number multiplier offers roughly twice the performance of a previous implementation on an NVIDIA C2050 graphics processor unit and is 29 times faster than the Xeon X5650 CPU, while at the same time consuming a modest 0.97 W.

[1]  Hannu Tenhunen,et al.  A pipelined shared-memory architecture for FFT processors , 1999, 42nd Midwest Symposium on Circuits and Systems (Cat. No.99CH36356).

[2]  Charles C. Weems,et al.  High Precision Integer Addition, Subtraction and Multiplication with a Graphics Processing Unit , 2010, Parallel Process. Lett..

[3]  Lewis Johnson,et al.  Conflict free memory addressing for dedicated FFT hardware , 1992 .

[4]  Chien-Ming Wu,et al.  Design of an efficient FFT processor for DAB system , 2001, ISCAS 2001. The 2001 IEEE International Symposium on Circuits and Systems (Cat. No.01CH37196).

[5]  Chee-Keng Yap,et al.  Robust Geometric Computation , 2016, Encyclopedia of Algorithms.

[6]  J. David,et al.  Hardware implementation of large number multiplication by FFT with modular arithmetic , 2005, The 3rd International IEEE-NEWCAS Conference, 2005..

[7]  Jean-Pierre Deschamps,et al.  Modular Multiplication and Exponentiation Architectures for Fast RSA Cryptosystem Based on Digit Serial Computation , 2011, IEEE Transactions on Industrial Electronics.

[8]  Craig Gentry,et al.  A fully homomorphic encryption scheme , 2009 .

[9]  Charles C. Weems,et al.  High Precision Integer Multiplication with a GPU Using Strassen's Algorithm with Multiple FFT Sizes , 2011, Parallel Process. Lett..

[10]  Syunji Yazaki,et al.  VLSI design of Karatsuba integer multipliers and its evaluation , 2009 .

[11]  J. Solinas CORR 99-39 Generalized Mersenne Numbers , 1999 .

[12]  Berk Sunar,et al.  Accelerating fully homomorphic encryption using GPU , 2012, 2012 IEEE Conference on High Performance Extreme Computing.

[13]  Ming-Der Shieh,et al.  A New Modular Exponentiation Architecture for Efficient Design of RSA Cryptosystem , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[14]  Keshab K. Parhi,et al.  GPU accelerated elliptic curve cryptography in GF(2m) , 2010, 2010 53rd IEEE International Midwest Symposium on Circuits and Systems.

[15]  Ronald L. Rivest,et al.  ON DATA BANKS AND PRIVACY HOMOMORPHISMS , 1978 .

[16]  矢崎 俊志,et al.  An Optimum Design of FFT Multi-Digit Multiplier and Its VLSI Implementation , 2006 .

[17]  J. Tukey,et al.  An algorithm for the machine calculation of complex Fourier series , 1965 .

[18]  Craig Gentry,et al.  Fully homomorphic encryption using ideal lattices , 2009, STOC '09.

[19]  Kurt Mehlhorn,et al.  Efficient exact geometric computation made easy , 1999, SCG '99.

[20]  P. L. Montgomery Modular multiplication without trial division , 1985 .

[21]  Arnold Schönhage,et al.  Schnelle Multiplikation großer Zahlen , 1971, Computing.

[22]  Craig Gentry,et al.  Implementing Gentry's Fully-Homomorphic Encryption Scheme , 2011, EUROCRYPT.

[23]  Keshab K. Parhi,et al.  High-speed VLSI architectures for the AES algorithm , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[24]  Chee-Keng Yap,et al.  A core library for robust numeric and geometric computation , 1999, SCG '99.