skip to main content
research-article

Montgomery Multiplication for Public Key Cryptography on MSP430X

Published:18 May 2020Publication History
Skip Abstract Section

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 [email protected] MHz) and 10,027,086 clock cycles (0.62 [email protected] 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 StaGoogle ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. FIPS 186-2. 2000. Digital Signature Standard (DSS). Federal Information Processing Standards Publication 186-2. National Institute of Standards and Technology.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  16. Matthieu Rivain. 2011. Fast and regular algorithms for scalar multiplication over elliptic curves. IACR Cryptology ePrint Archive 338.Google ScholarGoogle Scholar
  17. Hwajeong Seo. 2018. Compact software implementation of public-key cryptography on MSP430X. ACM Transactions on Embedded Computing Systems 17, 3 (2018), 66.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hwajeong Seo. 2019. Compact implementations of curve Ed448 on low-end IoT platforms. ETRI Journal 41, 6 (2019), 863--872.Google ScholarGoogle ScholarCross RefCross Ref
  19. Hwajeong Seo. 2020. Memory efficient implementation of modular multiplication for 32-bit ARM Cortex-M4. Applied Sciences 10, 4 (2020), 1539.Google ScholarGoogle ScholarCross RefCross Ref
  20. Hwajeong Seo, Amir Jalali, and Reza Azarderakhsh. 2019a. Optimized SIKE Round 2 on 64-Bit ARM. Technical Report. IACR Cryptology ePrint Archive. 721.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Montgomery Multiplication for Public Key Cryptography on MSP430X

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Article Metrics

        • Downloads (Last 12 months)38
        • Downloads (Last 6 weeks)3

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!