Cryptology ePrint Archive: Report 2015/818

cuHE: A Homomorphic Encryption Accelerator Library

Wei Dai and Berk Sunar

Abstract: We introduce a CUDA GPU library to accelerate evaluations with homomorphic schemes defined over polynomial rings enabled with a number of optimizations including algebraic techniques for efficient evaluation, memory minimization techniques, memory and thread scheduling and low level CUDA hand-tuned assembly optimizations to take full advantage of the mass parallelism and high memory bandwidth GPUs offer. The arithmetic functions constructed to handle very large polynomial operands using number-theoretic transform (NTT) and Chinese remainder theorem (CRT) based methods are then extended to implement the primitives of the leveled homomorphic encryption scheme proposed by López-Alt, Tromer and Vaikuntanathan. To compare the performance of the proposed CUDA library we implemented two applications: the Prince block cipher and homomorphic sorting algorithms on two GPU platforms in single GPU and multiple GPU configurations. We observed a speedup of 25 times and 51 times over the best previous GPU implementation for Prince with single and triple GPUs, respectively. Similarly for homomorphic sorting we obtained 12-41 times speedup depending on the number and size of the sorted elements.

Category / Keywords: implementation / Homomorphic evaluation, GPU acceleration, large polynomial arithmetic

Original Publication (in the same form): The second annual International Conference on Cryptography and Information Security BalkanCryptSec 2015

Date: received 17 Aug 2015

Contact author: wdai at wpi edu

Available format(s): PDF | BibTeX Citation

Version: 20150818:163507 (All versions of this report)

Short URL:

Discussion forum: Show discussion | Start new discussion

[ Cryptology ePrint archive ]