Evaluation of CRYSTALS-Kyber and Saber on the ARMv8 architecture
This paper presents preliminary experimental results for the implementation of the third-round NIST finalists CRYSTALS-Kyber and Saber on the ARMv8 architecture. Our implementation uses NEON instructions to speed up key generation, encapsulation, and decapsulation of the reference codes. The benchmarks are performed on three devices: an Orange Pi WinPlus (Cortex-A53), a Raspberry Pi 4 (Cortex-A72), and a MacBook Air based on an Apple M1 chip. The experimental results show substantial improvements for Kyber and Saber, with speed-ups in the ranges 1.16-1.38x and 1.21-1.96x, respectively. We focused on the most time-consuming operations of each cryptosystem; however, similar works suggest that more expressive speed-ups can be obtained by extending the use of NEON instructions to other primary sub-routines.
Basso, A., Mera, J. M. B., D’Anvers, J.-P., Karmakar, A., Roy, S. S., Beirendonck, M. V., and Vercauteren, F. (2020). SABER: Mod-LWR based KEM (Round 3 Submission). Submission to the NIST Post-Quantum Cryptography Standardization Project. [link].
Becker, H., Hwang, V., Kannwischer, M. J., Yang, B.-Y., and Yang, S.-Y. (2021). Neon NTT: Faster Dilithium, Kyber, and Saber on Cortex-A72 and Apple M1. Cryptology ePrint Archive, Report 2021/986. https://ia.cr/2021/986.
Nguyen, D. T. and Gaj, K. (2021). Optimized Software Implementations of CRYSTALS-Kyber, NTRU, and Saber Using NEON-Based Special Instructions of ARMv8. Third PQC Standardization Conference. [link].
NIST, N. (2017). Post-Quantum Cryptography. [link].
Sanal, P., Karagoz, E., Seo, H., Azarderakhsh, R., and Mozaffari-Kermani, M. (2021). Kyber on ARM64: Compact Implementations of Kyber on 64-bit ARM Cortex-A Processors. Cryptology ePrint Archive, Report 2021/561. https://ia.cr/2021/561.