Abstract
A fully homomorphic encryption (FHE) scheme is envisioned as a key cryptographic tool in building a secure and reliable cloud computing environment, as it allows arbitrary evaluation of a ciphertext without revealing the plaintext. However, existing FHE implementations remain impractical due to very high time and resource costs. To the authors’ knowledge, this paper presents the first hardware implementation of a full encryption primitive for FHE over the integers using FPGA technology. A large-integer multiplier architecture utilising Integer-FFT multiplication is proposed, and a large-integer Barrett modular reduction module is designed incorporating the proposed multiplier. The encryption primitive used in the integer-based FHE scheme is designed employing the proposed multiplier and modular reduction modules. The designs are verified using the Xilinx Virtex-7 FPGA platform. Experimental results show that a speed improvement factor of up to 44 is achievable for the hardware implementation of the FHE encryption scheme when compared to its corresponding software implementation. Moreover, performance analysis shows further speed improvements of the integer-based FHE encryption primitives may still be possible, for example through further optimisations or by targeting an ASIC platform.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Gentry, C.: A fully homomorphic encryption scheme. Ph.D. thesis, Stanford University (2009). http://crypto.stanford.edu/craig
Gentry, C.: Fully homomorphic encryption using ideal lattices. In: Proceedings the 41st Annual ACM Symposium on Theory of Computing, pp. 169–178 (2009)
van Dijk, M., Gentry, C., Halevi, S., Vaikuntanathan, V.: Fully Homomorphic Encryption over the Integers. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 24–43. Springer, Heidelberg (2010)
Smart, N.P., Vercauteren, F.: Fully homomorphic encryption with relatively small key and ciphertext sizes. In: Nguyen, P.Q., Pointcheval, D. (eds.) PKC 2010. LNCS, vol. 6056, pp. 420–443. Springer, Heidelberg (2010)
Brakerski, Z., Vaikuntanathan, V.: Fully homomorphic encryption from ring-LWE and security for key dependent messages. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 505–524. Springer, Heidelberg (2011)
Gentry, C., Halevi, S.: Implementing gentry’s fully-homomorphic encryption scheme. In: Paterson, K.G. (ed.) EUROCRYPT 2011. LNCS, vol. 6632, pp. 129–148. Springer, Heidelberg (2011)
Brakerski, Z., Gentry, C, Vaikuntanathan, V.: Fully homomorphic encryption without bootstrapping. Cryptology ePrint Archive, Report 2011/277 (2011)
Coron, J.-S., Mandal, A., Naccache, D., Tibouchi, M.: Fully homomorphic encryption over the integers with shorter public keys. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 487–504. Springer, Heidelberg (2011)
Coron, J.-S., Naccache, D., Tibouchi, M.: Public key compression and modulus switching for fully homomorphic encryption over the integers. In: Pointcheval, D., Johansson, T. (eds.) EUROCRYPT 2012. LNCS, vol. 7237, pp. 446–464. Springer, Heidelberg (2012)
Lauter, K., Naehrig, M., Vaikuntanathan, V.: Can homomorphic encryption be practical? Cryptology ePrint Archive, Report 2011/405 (2011)
Gentry, C., Halevi, S., Smart, N.P.: Homomorphic evaluation of the AES circuit. Cryptology ePrint Archive, Report 2012/099 (2012)
Wang, W., Hu, Y., Chen, L. Huang, X., Sunar, B.: Accelerating fully homomorphic encryption using GPU. In: High Performance Extreme Computing Conference 2012, pp. 1–5, IEEE (2012)
Schönhage, A., Strassen, V.: Schnelle multiplikation grosser Zahlen. Computing (Springer) 7(3), 281–292 (1971)
Barrett, P.: Implementing the rivest shamir and adleman public key encryption algorithm on a standard digital Signal Processor. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987)
Cousins, D.B., Rohloff, K., Peikert, C., Schantz, R.: SIPHER: scalable implementation of primitives for homomorphic encryption - FPGA implementation using Simulink. In: IEEE High Performance Extreme Computing Conference (2011)
Cousins, D.B., Rohloff, K., Peikert, C., Schantz, R.: SIPHER: An update on SIPHER (Scalable Implementation of Primitives for Homomorphic EncRyption) - FPGA implementation using Simulink. In: IEEE Conference on High Performance Extreme Computing, pp. 1–5 (2012)
Doröz, Y., Öztürk, E., Sunar, B.: Evaluating the Hardware Performance of a Million-Bit Multiplier. In:Digital System Design, pp. 955–962 (2013)
Wang, W., Huang, X.: FPGA implementation of a large-number multiplier for fully homomorphic encryption. In: International Symposium on Circuits and Systems, pp. 2589–2592 (2013)
Doröz, Y., Öztürk, E., Sunar, B.: Accelerating Fully Homomorphic Encryption in Hardware. Under review. http://ecewp.ece.wpi.edu/wordpress/vernam/files/2013/09/Accelerating-Fully-Homomorphic-Encryption-in-Hardware.pdf
Cheon, J.H., Coron, J.-S., Kim, J., Lee, M.S., Lepoint, T., Tibouchi, M., Yun, A.: Batch fully homomorphic encryption over the integers. In: Johansson, T., Nguyen, P.Q. (eds.) EUROCRYPT 2013. LNCS, vol. 7881, pp. 315–335. Springer, Heidelberg (2013)
Cao, X., Moore, C., O’Neill, M., O’Sullivan, E., Hanley, N.: Accelerating fully homomorphic encryption over the integers with super-size hardware multiplier and modular reduction. Cryptology ePrint Archive, Report 2013/616 (2013)
Craven, S., Patterson, C., Athanas, P.: Super-sized multiplies: how do FPGAs fare in extended digit multipliers?. In: 7th International Conference on Military and Aerospace Programmable Logic Devices (2004)
Emmart, N., Weems, C.: High precision integer multiplication with a GPU using Strassen’s algorithm with multiple FFT sizes. Parallel Process. Lett. 21(3), 359–375 (2011)
GMP, The GNU Multiple Precision Arithmetic Library [Online]. Multiplication Algorithms. http://gmplib.org/manual/Multiplication-Algorithms.html
Xilinx Product Specification: LogiCORE IP Multiplier v11.2. http://www.xilinx.com/support/documentation/ip-documentation/mult-gen-ds255.pdf
Montgomery, P.: Modular multiplication without trial division. Math. Comput. 44(170), 519–521 (1985)
Kalach, K., David, J.P.: Hardware implementation of large number multiplication by FFT with modular arithmetic. In: 3rd International IEEE-NEWCAS Conference, pp. 267–270 (2005)
Solinas, J.A.: Generalized Mersenne Numbers. Issue 39 of Research report, University of Waterloo. Faculty of Mathematics (1999)
Dhem, J.F.: Design of an efficient public-key cryptographic library for RISC-based smart cards. Ph.D thesis, Université catholique de Louvain (1998). http://users.belgacom.net/dhem/these/
Zimmermann, R.: Efficient VLSI implementation of modulo (\(2^n \pm 1\)) addition and multiplication. In: IEEE Symposium on Computer Arithmetic, pp. 158–167 (1999)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 IFCA/Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cao, X., Moore, C., O’Neill, M., Hanley, N., O’Sullivan, E. (2014). High-Speed Fully Homomorphic Encryption Over the Integers. In: Böhme, R., Brenner, M., Moore, T., Smith, M. (eds) Financial Cryptography and Data Security. FC 2014. Lecture Notes in Computer Science(), vol 8438. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44774-1_14
Download citation
DOI: https://doi.org/10.1007/978-3-662-44774-1_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44773-4
Online ISBN: 978-3-662-44774-1
eBook Packages: Computer ScienceComputer Science (R0)