Cryptology ePrint Archive: Report 2013/882
New Speed Records for Montgomery Modular Multiplication on 8-bit AVR Microcontrollers
Zhe Liu and Johann Großschädl
Abstract: Modular multiplication of large integers is a performance-critical arithmetic operation of many public-key cryptosystems such as RSA, DSA, Diffie-Hellman (DH) and their elliptic curve-based variants ECDSA and ECDH. The computational cost of modular multiplication and related operations (e.g. exponentiation) poses a practical challenge to the widespread deployment of public-key cryptography, especially on embedded devices equipped with 8-bit processors (smart cards, wireless sensor nodes, etc.). In this paper, we describe basic software techniques to improve the performance of Montgomery modular multiplication on 8-bit AVR-based microcontrollers. First, we present a new variant of the widely-used hybrid method for multiple precision multiplication that is 10.6% faster than the original hybrid technique of Gura et al. Then, we discuss different hybrid Montgomery multiplication algorithms, including Hybrid Finely Integrated Product Scanning (HFIPS), and introduce a novel approach for Montgomery multiplication, which we call Hybrid Separated Product Scanning (HSPS). Finally, we show how to perform the modular subtraction of Montgomery reduction in a regular fashion without execution of conditional statements so as to counteract Simple Power Analysis (SPA) attacks. Our AVR implementation of the HFIPS and HSPS method outperforms the Montgomery multiplication of the MIRACL Crypto SDK by 21.6% and 14.3%, respectively, and is twice as fast as the modular multiplication of the TinyECC library.
Category / Keywords: implementation / public-key cryptography, modular arithmetic
Original Publication (in the same form): Proceedings of AFRICACRYPT 2014
Date: received 1 Jan 2014, last revised 20 Apr 2014
Contact author: zhe liu at uni lu
Available format(s): PDF | BibTeX Citation
Version: 20140420:233409 (All versions of this report)
Short URL: ia.cr/2013/882
Discussion forum: Show discussion | Start new discussion
[ Cryptology ePrint archive ]