Efficient Software Implementation of Ring-LWE Encryption on IoT Processors

Zhe Liu,Reza Azarderakhsh,Howon Kim,Hwajeong Seo
DOI: https://doi.org/10.1109/tc.2017.2750146
IF: 3.183
2020-10-01
IEEE Transactions on Computers
Abstract:Embedded processors have been widely used for building up Internet of Things (IoT) platforms, in which the security issue is becoming critical. This paper studies efficient techniques of lattice-based cryptography on these processors and presents the first implementation of ring-LWE encryption on ARM NEON and MSP430 architectures. For ARM NEON architecture, we propose a vectorized version of Iterative Number Theoretic Transform (NTT) for high-speed computation of polynomial multiplication on ARM NEON platforms and a 32-bit variant of SAMS2 technique for fast reduction. For MSP430 architecture, we propose an optimized SWAMS2 reduction technique, which consists of five different basic operations, including Shifting, Swapping, Addition, and two Multiplication-Subtractions. Regarding of the sampling from the discrete Gaussian distribution, we adopt Knuth-Yao sampler, accompanied with optimized methods such as Look-Up Table (LUT) and byte-scanning. Subsequently, a full-fledged implementation of Ring-LWE is presented by both taking advantage of our proposed method and previous optimization techniques re-designed for desired platforms. Our ring-LWE implementation of encryption/decryption at a classical security level of 128 bits requires only $149.4k/32.8k$149.4k/32.8k clock cycles on ARM NEON, and $2126.3k/244.5k$2126.3k/244.5k clock cycles on MSP430. These results are roughly 7 times faster than the fastest ECC implementation on desired platforms with same security level.
engineering, electrical & electronic,computer science, hardware & architecture
What problem does this paper attempt to address?