skip to main content
research-article

Montgomery Multiplication for Public Key Cryptography on MSP430X

Published: 18 May 2020 Publication History

Abstract

For traditional public key cryptography and post-quantum cryptography, such as elliptic curve cryptography and supersingular isogeny key encapsulation, modular multiplication is the most performance-critical operation among basic arithmetic of these cryptographic schemes. For this reason, the execution timing of such cryptographic schemes, which may highly determine that the service availability for low-end microprocessors (e.g., 8-bit AVR, 16-bit MSP430X, and 32-bit ARM Cortex-M), mainly relies on the efficiency of modular multiplication on target embedded processors.
In this article, we present new optimal modular multiplication techniques based on the interleaved Montgomery multiplication on 16-bit MSP430X microprocessors, where the multiplication part is performed in a hardware multiplier and the reduction part is performed in a basic arithmetic logic unit (ALU) with the optimal modular multiplication routine, respectively. This two-step approach is effective for the special modulus of NIST curves, SM2 curves, and supersingular isogeny key encapsulation. We further optimized the Montgomery reduction by using techniques for “Montgomery-friendly” prime. This technique significantly reduces the number of partial products. To demonstrate the superiority of the proposed implementation of Montgomery multiplication, we applied the proposed method to the NIST P-256 curve, of which the implementation improves the previous modular multiplication operation by 23.6% on 16-bit MSP430X microprocessors and to the SM2 curve as well (first implementation on 16-bit MSP430X microcontrollers).
Moreover, secure countermeasures against timing attack and simple power analysis are also applied to the scalar multiplication of NIST P-256 and SM2 curves, which achieve the 8,582,338 clock cycles (0.53 seconds@16 MHz) and 10,027,086 clock cycles (0.62 seconds@16 MHz), respectively. The proposed Montgomery multiplication is a generic method that can be applied to other cryptographic schemes and microprocessors with minor modifications.

References

[1]
Mehmet Adalier. 2015. Efficient and secure elliptic curve cryptography implementation of Curve P-256. In Proceedings of the Workshop on Elliptic Curve Cryptography Sta
[2]
Reza Azarderakhsh, Matthew Campagna, Craig Costello, Luca De Feo, Basil Hess, Amir Jalali, David Jao, et al. 2017. Supersingular Isogeny Key Encapsulation—Submission to the NIST’s Post-Quantum Cryptography Standardization Process. Retrieved April 19, 2020 from https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/round-1/submissions/SIKE.zip.
[3]
Reza Azarderakhsh, Matthew Campagna, Craig Costello, Luca De Feo, Basil Hess, Amir Jalali, David Jao, et al. 2019. Supersingular Isogeny Key Encapsulation—Submission to the NIST’s Post-Quantum Cryptography Standardization Process, Round 2. Retrieved April 19, 2020 from https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/round-2/submissions/SIKE-Round2.zip.
[4]
Craig Costello, Patrick Longa, and Michael Naehrig. 2016. Efficient algorithms for supersingular isogeny Diffie-Hellman. In Advances in Cryptology—CRYPTO 2016. Lecture Notes in Computer Science, Vol. 9814. Springer, 572--601.
[5]
Michael Düll, Björn Haase, Gesine Hinterwälder, Michael Hutter, Christof Paar, Ana Helena Sánchez, and Peter Schwabe. 2015. High-speed Curve25519 on 8-bit, 16-bit, and 32-bit microcontrollers. Designs, Codes and Cryptography 77, 2--3 (2015), 493--514.
[6]
FIPS 186-2. 2000. Digital Signature Standard (DSS). Federal Information Processing Standards Publication 186-2. National Institute of Standards and Technology.
[7]
Armando Faz-Hernández, Julio López, Eduardo Ochoa-Jiménez, and Francisco Rodríguez-Henríquez. 2018. A faster software implementation of the supersingular isogeny Diffie-Hellman key exchange protocol. IEEE Transactions on Computers 67, 11 (2018), 1622--1636.
[8]
Conrado P. L. Gouvêa, Leonardo B. Oliveira, and Julio López. 2012. Efficient software implementation of public-key cryptography on sensor networks using the MSP430X microcontroller. Journal of Cryptographic Engineering 2, 1 (2012), 19--29.
[9]
Shay Gueron and Vlad Krasnov. 2015. Fast prime field elliptic-curve cryptography with 256-bit primes. Journal of Cryptographic Engineering 5, 2 (2015), 141--151.
[10]
Gesine Hinterwälder, Amir Moradi, Michael Hutter, Peter Schwabe, and Christof Paar. 2014. Full-size high-security ECC implementation on MSP430 microcontrollers. In Proceedings of the International Conference on Cryptology and Information Security in Latin America. 31--47.
[11]
Amir Jalali, Reza Azarderakhsh, Mehran Mozaffari Kermani, and David Jao. 2019. Supersingular isogeny Diffie-Hellman key exchange on 64-bit ARM. IEEE Transactions on Dependable and Secure Computing 15, 5 (2019), 902--912.
[12]
Brian Koziel, Amir Jalali, Reza Azarderakhsh, David Jao, and Mehran Mozaffari-Kermani. 2016. NEON-SIDH: Efficient implementation of supersingular isogeny Diffie-Hellman key exchange protocol on ARM. In Proceedings of the International Conference on Cryptology and Network Security. 88--103.
[13]
Zhe Liu, Hwajeong Seo, Aniello Castiglione, Kim-Kwang Raymond Choo, and Howon Kim. 2019. Memory-efficient implementation of elliptic curve cryptography for the Internet-of-Things. IEEE Transactions on Dependable and Secure Computing 16, 3 (2019), 521--529.
[14]
Zhe Liu, Hwajeong Seo, Johann Großschädl, and Howon Kim. 2016. Efficient implementation of NIST-compliant elliptic curve cryptography for 8-bit AVR-based sensor nodes. IEEE Transactions on Information Forensics and Security 11, 7 (2016), 1385--1397.
[15]
Daniel Peters, Dejan Raskovic, and Denise Thorsen. 2009. An energy efficient parallel embedded system for small satellite applications. ISAST Transactions on Computers and Intelligent Systems 1, 2 (2009), 8--16.
[16]
Matthieu Rivain. 2011. Fast and regular algorithms for scalar multiplication over elliptic curves. IACR Cryptology ePrint Archive 338.
[17]
Hwajeong Seo. 2018. Compact software implementation of public-key cryptography on MSP430X. ACM Transactions on Embedded Computing Systems 17, 3 (2018), 66.
[18]
Hwajeong Seo. 2019. Compact implementations of curve Ed448 on low-end IoT platforms. ETRI Journal 41, 6 (2019), 863--872.
[19]
Hwajeong Seo. 2020. Memory efficient implementation of modular multiplication for 32-bit ARM Cortex-M4. Applied Sciences 10, 4 (2020), 1539.
[20]
Hwajeong Seo, Amir Jalali, and Reza Azarderakhsh. 2019a. Optimized SIKE Round 2 on 64-Bit ARM. Technical Report. IACR Cryptology ePrint Archive. 721.
[21]
Hwajeong Seo, Amir Jalali, and Reza Azarderakhsh. 2019b. SIKE round 2 speed record on ARM Cortex-M4. In Proceedings of the International Conference on Cryptology and Network Security. 39--60.
[22]
Hwajeong Seo and Howon Kim. 2014. Multi-precision squaring on MSP and ARM processors. In Proceedings of the 2014 International Conference on Information and Communication Technology Convergence (ICTC’14). IEEE, Los Alamitos, CA, 356--361.
[23]
Hwajeong Seo, Yeoncheol Lee, Hyunjin Kim, Taehwan Park, and Howon Kim. 2014. Binary and prime field multiplication for public key cryptography on embedded microprocessors. Security and Communication Networks 7, 4 (2014), 774--787.
[24]
Hwajeong Seo, Kyung-Ah Shim, and Howon Kim. 2013. Performance enhancement of TinyECC based on multiplication optimizations. Security and Communication Networks 6, 2 (2013), 151--160.
[25]
Sean Shen and Xiaodong Lee. 2014. SM2 Digital Signature Algorithm. Retrieved on April 30, 2020 from https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02.
[26]
Colin D. Walter and Susan Thompson. 2001. Distinguishing exponent digits by observing modular subtractions. In Proceedings of the Cryptographers’ Track at the RSA Conference. 192--207.
[27]
Lu Zhou, Chunhua Su, Zhi Hu, Sokjoon Lee, and Hwajeong Seo. 2019. Lightweight implementations of NIST P-256 and SM2 ECC on 8-bit resource-constraint embedded device. ACM Transactions on Embedded Computing Systems 18, 3 (2019), Article 23.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 19, Issue 3
May 2020
156 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/3400880
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 18 May 2020
Online AM: 07 May 2020
Accepted: 01 March 2020
Revised: 01 December 2019
Received: 01 July 2019
Published in TECS Volume 19, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. MSP430X
  2. Montgomery multiplication
  3. public key cryptography
  4. software implementation

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • National Research Foundation of Korea (NRF)
  • Institute for Information and Communications Technology Promotion (IITP)
  • Research on Blockchain Security Technology for IoT Services
  • Defense Acquisition Program Administration (DAPA)
  • Agency for Defense Development (ADD)
  • Korean government (MSIT)
  • Military Crypto Research Center (UD170109ED)
  • Korean government(MSIT)

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 265
    Total Downloads
  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)2
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media