Cryptology ePrint Archive: Report 2019/1453

Saber on ESP32

Bin Wang and Xiaozhuo Gu and Yingshan Yang

Abstract: Saber, a CCA-secure lattice-based post-quantum key encapsulation scheme, is one of the second round candidate algorithms in the post-quantum cryptography standardization process of the US National Institute of Standards and Technology (NIST) in 2019. In this work, we provide an efficient implementation of Saber on ESP32, an embedded microcontroller designed for IoT environment with WiFi and Bluetooth support. RSA coprocessor was used to speed up the polynomial multiplications for Kyber variant in a CHES 2019 paper. We propose an improved implementation utilizing the big integer coprocessor for the polynomial multiplications in Saber, which contains significant lower software overhead and takes a better advantage of the big integer coprocessor on ESP32. By using the fast implementation of polynomial multiplications, our single-core version implementation of Saber takes 1639K, 2123K, 2193K clock cycles on ESP32 for key generation, encapsulation and decapsulation respectively. Benefiting from the dual core feature on ESP32, we speed up the implementation of Saber by rearranging the computing steps and assigning proper tasks to two cores executing in parallel. Our dual-core version implementation takes 1176K, 1625K, 1514K clock cycles for key generation, encapsulation and decapsulation respectively.

Category / Keywords: implementation / Post-quantum cryptography, Efficient implementation, Saber, ESP32

Original Publication (with minor differences): ACNS'20

Date: received 15 Dec 2019, last revised 16 Dec 2019

Contact author: wangbin171 at mails ucas edu cn,guxiaozhuo@iie ac cn,yangyingshan@iie ac cn

Available format(s): PDF | BibTeX Citation

Version: 20191217:015259 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]