Cryptology ePrint Archive: Report 2018/1018

Faster multiplication in $\mathbb{Z}_{2^m}[x]$ on Cortex-M4 to speed up NIST PQC candidates

Matthias J. Kannwischer and Joost Rijneveld and Peter Schwabe

Abstract: In this paper we optimize multiplication of polynomials in $\mathbb{Z}_{2^m}[x]$ on the ARM Cortex-M4 microprocessor. We use these optimized multiplication routines to speed up the NIST post-quantum candidates RLizard, NTRU-HRSS, NTRUEncrypt, Saber, and Kindi. For most of those schemes the only previous implementation that executes on the Cortex-M4 is the reference implementation submitted to NIST; for some of those schemes our optimized software is more than factor of 20 faster. One of the schemes, namely Saber, has been optimized on the Cortex-M4 in a CHES 2018 paper; the multiplication routine for Saber we present here outperforms the multiplication from that paper by 42%, yielding speedups of 22% for key generation, 20% for encapsulation and 22% for decapsulation. Out of the five schemes optimized in this paper, the best performance for encapsulation and decapsulation is achieved by NTRU-HRSS. Specifically, encapsulation takes just over 400 000 cycles, which is more than twice as fast as for any other NIST candidate that has previously been optimized on the ARM Cortex-M4.

Category / Keywords: implementation / ARM Cortex-M4, Karatsuba, Toom, lattice-based KEMs, NTRU

Original Publication (with minor differences): ACNS'19

Date: received 19 Oct 2018, last revised 9 Apr 2019

Contact author: joost at joostrijneveld nl, matthias at kannwischer eu, peter at cryptojedi org

Available format(s): PDF | BibTeX Citation

Version: 20190409:142739 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]