DOI QR코드

DOI QR Code

Scalable RSA public-key cryptography processor based on CIOS Montgomery modular multiplication Algorithm

CIOS 몽고메리 모듈러 곱셈 알고리즘 기반 Scalable RSA 공개키 암호 프로세서

  • Cho, Wook-Lae (School of Electronic Engineering, Kumoh National Institute of Technology) ;
  • Shin, Kyung-Wook (School of Electronic Engineering, Kumoh National Institute of Technology)
  • Received : 2017.09.07
  • Accepted : 2018.01.05
  • Published : 2018.01.31

Abstract

This paper describes a design of scalable RSA public-key cryptography processor supporting four key lengths of 512/1,024/2,048/3,072 bits. The modular multiplier that is a core arithmetic block for RSA crypto-system was designed with 32-bit datapath, which is based on the CIOS (Coarsely Integrated Operand Scanning) Montgomery modular multiplication algorithm. The modular exponentiation was implemented by using L-R binary exponentiation algorithm. The scalable RSA crypto-processor was verified by FPGA implementation using Virtex-5 device, and it takes 456,051/3,496347/26,011,947/88,112,770 clock cycles for RSA computation for the key lengths of 512/1,024/2,048/3,072 bits. The RSA crypto-processor synthesized with a $0.18{\mu}m$ CMOS cell library occupies 10,672 gate equivalent (GE) and a memory bank of $6{\times}3,072$ bits. The estimated maximum clock frequency is 147 MHz, and the RSA decryption takes 3.1/23.8/177/599.4 msec for key lengths of 512/1,024/2,048/3,072 bits.

512/1,024/2,048/3,072 비트의 4가지 키 길이를 지원하는 scalable RSA 공개키 암호 프로세서를 설계하였다. RSA 암호의 핵심 연산블록인 모듈러 곱셈기를 CIOS (Coarsely Integrated Operand Scanning) 몽고메리 모듈러 곱셈 알고리듬을 이용하여 32 비트 데이터 패스로 설계하였으며, 모듈러 지수승 연산은 Left-to-Right (L-R) 이진 멱승 알고리듬을 적용하여 구현하였다. 설계된 RSA 암호 프로세서를 Virtex-5 FPGA로 구현하여 하드웨어 동작을 검증하였으며, 512/1,024/2,048/3,072 비트의 키 길이에 대해 각각 456,051/3,496,347/26,011,947/88,112,770 클록 사이클이 소요된다. $0.18{\mu}m$ CMOS 표준셀 라이브러리를 사용하여 100 MHz 동작 주파수로 합성한 결과, 10,672 GE와 $6{\times}3,072$ 비트의 메모리로 구현되었다. 설계된 RSA 공개키 암호 프로세서는 최대 동작 주파수는 147 MHz로 예측되었으며, 키 길이에 따라 RSA 복호 연산에 3.1/23.8/177/599.4 ms 가 소요되는 것으로 평가되었다.

Keywords

References

  1. Korea Internet & Security Agency (KISA). IoT Common Security Principle v1.0 [Internet]. Available: http://www.kisa.or.kr/public/laws/laws3_View.jsp?mode=view&p_No=259&b_No=259&d_No=67&ST=T&SV=/.
  2. R. Rivest, A. Shamir, and L. Adleman, "A method for obtaining Digital Signatures and Public-Key Cryptosystems," Communications of the ACM, vol. 21, no. 2, pp. 120-126, Feb. 1978. https://doi.org/10.1145/359340.359342
  3. NIST Std. FIPS PUB 186-2: Digital Signature Standard (DSS), NIST, Jan. 2000.
  4. J. Shao, L. Wu, and X. Zhang, "Design and implimentation of RSA for dual interface bank IC card," 2013 IEEE 10th International Conference on ASIC (ASICON), Shenzhen, pp. 1-4, 2013.
  5. M. S. Kim, Y. S. Kim, and H. S. Cho, "Design of Cryptographic Hardware Architecture for Mobile Computing," Journal of Information Processing Systems, vol. 5, no. 4, pp. 187-196, Dec. 2009. https://doi.org/10.3745/JIPS.2009.5.4.187
  6. X. Zheng, Z. Liu, and B. Peng, "Design and Implementation of Ultra low power RSA coprocessor," in proceeding of the 4th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM'08), Dalian, pp. 1-5, 2008.
  7. W. L. Cho, and K. W. Shin, "2,048 bits RSA public-key cryptography processor based on 32-bit Montgomery modular multiplier," Journal of the Korea Institute of Information and Communication Engineering (KIICE), vol. 21, no. 8, pp. 1471-1479, Aug. 2017. https://doi.org/10.6109/JKIICE.2017.21.8.1471
  8. P. L. Montgomery, "Modular multiplication without trial division," Mathematics of computation, vol. 44, no. 170, pp. 519-521, Apr. 1985. https://doi.org/10.1090/S0025-5718-1985-0777282-X
  9. A. Kauther, S. Sami, and A. Ahmed, "Enhancement of hardware modular multiplier radix-4 algorithm for fast RSA cryptosystem," International Conference on Computing, Electrical and Electronic Engineering (ICCEEE), pp. 692-696, Khartoum, 2013.
  10. A. Nadjia, and A. Mohamed, "High throughput parallel montgomery modular exponentiation on FPGA," in Proceeding of the 9th International Symposium on Design and Test, Algiers, pp. 225-230, 2014.
  11. B. Hanindhito, N. Ahmadi, H. Hogantara, A. I. Arrahmah, and T. Adiono, "FPGA implementation of modified serial montgomery modular multiplication for 2048-bit RSA cryptosystems," 2015 International Seminar on Intelligent Technology and its Applications (ISITIA), Surabaya, pp. 113-118, 2015.
  12. A. Rezai, and P. keshavarzi, "High-throughput modular multiplication and exponentiation algorithms using multibit-scan-multibit-shift technique," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 23, no. 9, pp. 1710-1719, Sep. 2015. https://doi.org/10.1109/TVLSI.2014.2355854
  13. C. K. koc, T. Acar, and B. S. Kaliski, "Analyzing and comparing Montgomery multiplication algorithms," IEEE Micro, vol. 16, no. 3, pp. 26-33, Jun. 1996. https://doi.org/10.1109/40.502403
  14. S. Tamura, C. Yamada, and S. Ichikawa, "Implementation and Evaluation of modular multiplication based on Coarsely Integrated Operand Scanning," IEEE 2012 Third International Conference on Networking and Computing (ICNC), Hangzhou, pp. 334-335, 2012.
  15. R. Verma, M. Duttam, and R. Vig, "FPGA Implementation of Modified Montgomery for RSA Cryptosystem," International Journal of Computer Science and Telecommunications, Vol. 4, no. 1, pp. 42-46, Jan. 2013.
  16. M. Huang, K. Gai, and T. EI-Ghazawi, "New Hardware Architectures for Montgomery Modular Multiplication Algorithm," IEEE Transactions on computers, vol. 60, no. 7, pp. 923-936, Jul. 2011. https://doi.org/10.1109/TC.2010.247
  17. S. Erdem, T. Yanik, and A. Celebi, "A General Digit-Serial Architecture for Montgomery Modular Multiplication," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 25, no. 5, pp. 1658-1668, May 2017. https://doi.org/10.1109/TVLSI.2017.2652979

Cited by

  1. 공개키 암호 구현을 위한 경량 하드웨어 가속기 vol.23, pp.12, 2019, https://doi.org/10.6109/jkiice.2019.23.12.1609
  2. A Study on the Contents Security Management Model for Multi-platform Users vol.10, pp.2, 2018, https://doi.org/10.7236/ijasc.2021.10.2.10