Cryptology ePrint Archive: Report 2016/669

NEON-SIDH: Efficient Implementation of Supersingular Isogeny Diffie-Hellman Key-Exchange Protocol on ARM

Brian Koziel, Amir Jalali, Reza Azarderakhsh, Mehran Mozaffari Kermani and David Jao

Abstract: In this paper, we investigate the efficiency of implementing a post-quantum key-exchange protocol over isogenies (PQCrypto 2011) on ARM-powered embedded platforms. We propose to employ new primes to speed up constant-time finite field arithmetic and perform isogenies quickly. Montgomery multiplication and reduction are employed to produce a speedup of 3 over the GNU Multiprecision Library. For curve arithmetic, a uniform differential addition scheme for double point multiplication and constant-time arithmetic were used to protect the private keys from side-channel analysis attacks. We analyze the recent projective isogeny formulas presented recently and conclude that affine isogeny formulas are much faster in ARM devices. We provide fast affine SIDH libraries over 512, 768, and 1024-bit primes. We provide timing results for emerging embedded ARM platforms using the ARMv7A architecture for 85-, 128-, and 170-bit quantum security levels. Our assembly-optimized arithmetic cuts the computation time for the protocol by 50% in comparison to our portable C implementation and performs approximately 3 times faster than the only other ARMv7 results found in the literature. The goal of this paper is to show that isogeny-based cryptosystems can be implemented further and be used as an alternative to classical cryptosystems on embedded devices.

Category / Keywords: Elliptic curve cryptography, post-quantum cryptography, isogeny-based cryptosystems, ARM embedded processors, finite field, assembly

Original Publication (with minor differences): CANS2016

Date: received 30 Jun 2016, last revised 3 Nov 2016

Contact author: azarderakhsh at gmail com

Available format(s): PDF | BibTeX Citation

Version: 20161103:131304 (All versions of this report)

Short URL: ia.cr/2016/669

Discussion forum: Show discussion | Start new discussion


[ Cryptology ePrint archive ]