DOI QR코드

DOI QR Code

Compact Implementation of Multiplication on ARM Cortex-M3 Processors

ARM Cortex-M3 상에서 곱셈 연산 최적화 구현

  • Received : 2018.05.08
  • Accepted : 2018.05.30
  • Published : 2018.09.30

Abstract

Secure authentication technology is a fundamental building block for secure services for Internet of Things devices. Particularly, the multiplication operation is a core operation of public key cryptography, such as RSA, ECC, and SIDH. However, modern low-power processor, namely ARM Cortex-M3 processor, is not secure enough for practical usages, since it executes the multiplication operation in variable-time depending on the input length. When the execution is performed in variable-time, the attacker can extract the password from the measured timing. In order to resolve this issue, recent work presented constant-time solution for multiplication operation. However, the implementation still missed various speed-optimization techniques. In this paper, we analyze previous multiplication methods over ARM Cortex-M3 and provide optimized implementations to accelerate the speed-performance further. The proposed method successfully accelerates the execution-time by up-to 25.7% than previous works.

경량 사물인터넷 디바이스 상에서의 암호화 구현은 정확하고 빠르게 연산을 수행하여 서비스의 가용성을 높이는 것이 중요하다. 특히 곱셈 연산은 RSA, ECC, 그리고 SIDH와 같은 공개키 암호화에 활용되는 핵심 연산으로 최적화된 구현이 요구된다. 하지만 최신 저전력 프로세서인 ARM Cortex-M3 프로세서의 경우에는 곱셈연산 입력 크기에 따라 수행속도가 달라지는 보안 취약점을 가지고 있다. 수행속도가 달라지게 될 경우 연산 시간의 차이점을 확인하여 비밀정보를 추출하는 것이 가능하다. 이를 보완하기 위해 최근 연구에서는 고정된 연산 시간 안에 곱셈 연산을 수행하는 기법이 제안되었다. 하지만 해당 구현에서는 여전히 속도가 완전히 최적화되어 있지 않다. 본 논문에서는 기존에 제안된 곱셈연산을 보다 효율적으로 연산하기 위한 기법을 제안한다. 제안된 기법은 기존 방식에 비해 연산 속도를 최대 25.7% 향상시킨다.

Keywords

References

  1. H. Seo, Y. Lee, H. Kim, T. Park, and H. Kim, "Binary and prime field multiplication for public key cryptography on embedded microprocessors," Security and Communication Networks, vol. 7, no. 4, pp. 774-787, Apr. 2014. https://doi.org/10.1002/sec.779
  2. H. Seo and H. Kim, "Consecutive operand-caching method for multiprecision multiplication, revisited," Journal of information and communication convergence engineering, vol. 13, no. 1, pp. 27-35, Mar. 2015. https://doi.org/10.6109/jicce.2015.13.1.027
  3. H. Fujii and D. F. Aranha, "Curve25519 for the Cortex-M4 and beyond," Progress in Cryptology Latincrypt, La Habana, pp. 1-18, 2017.
  4. M. Hutter and P. Schwabe, "Multiprecision multiplication on AVR revisited," Journal of Cryptographic Engineering, vol. 5, no. 3, pp. 201-214, Apr. 2015. https://doi.org/10.1007/s13389-015-0093-2
  5. Z. Liu and J. Groschdl, "New speed records for Montgomery modular multiplication on 8-bit AVR microcontrollers," International Conference on Cryptology in Africa, Marrakesh, pp. 215-234, 2014.
  6. K. MacKay. ECDH and ECDSA for 8-bit, 32-bit, and 64-bit processors [Internet]. Available: https://github.com/kmackay/micro-ecc.
  7. H. Seo, "Secure Multiplication Method against Side Channel Attack on ARM Cortex-M3," Journal of The Korea Institute of Information Security & Cryptology, vol. 27, no. 4, pp. 943-949, Aug. 2017. https://doi.org/10.13089/JKIISC.2017.27.4.943
  8. A. Karatsuba and Y. Ofman, "Multiplication of Multidigit Numbers on Automata," Cybernetics and Control Theory, vol. 7, no. 7, pp. 595-596, Jan. 1963.
  9. V. Bhavana, "Data Security in Cloud environments," Asia-pacific Journal of Convergent Research Interchange, vol.1, no.4, pp. 25-31, Dec. 2015. https://doi.org/10.21742/apjcri.2015.06.04