DOI QR코드

DOI QR Code

2,048 bits RSA public-key cryptography processor based on 32-bit Montgomery modular multiplier

32-비트 몽고메리 모듈러 곱셈기 기반의 2,048 비트 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.04.12
  • Accepted : 2017.06.09
  • Published : 2017.08.31

Abstract

This paper describes a design of RSA public-key cryptography processor supporting key length of 2,048 bits. A modular multiplier that is core arithmetic function in RSA cryptography was designed using word-based Montgomery multiplication algorithm, and a modular exponentiation was implemented by using Left-to-Right (LR) binary exponentiation algorithm. A computation of a modular multiplication takes 8,386 clock cycles, and RSA encryption and decryption requires 185,724 and 25,561,076 clock cycles, respectively. The RSA processor was verified by FPGA implementation using Virtex5 device. The RSA cryptographic processor synthesized with 100 MHz clock frequency using a 0.18 um CMOS cell library occupies 12,540 gate equivalents (GEs) and 12 kbits memory. It was estimated that the RSA processor can operate up to 165 MHz, and the estimated time for RSA encryption and decryption operations are 1.12 ms and 154.91 ms, respectively.

2,048 비트의 키 길이를 지원하는 RSA 공개키 암호 프로세서를 설계하였다. RSA 암호의 핵심 연산인 모듈러 곱셈기를 워드 기반의 몽고메리 곱셈 알고리듬을 이용하여 설계하였으며, 모듈러 지수승 연산은 Left-to-Right(LR) 이진 멱승 알고리듬을 이용하여 구현하였다. 모듈러 곱셈에 8,448 클록 사이클이 소요되며, RSA 암호화와 복호화에 각각 185,724 클록 사이클과 25,561,076 클록 사이클이 소요된다. 설계된 RSA 암호 프로세서를 Virtex 5 FPGA로 구현하여 하드웨어 동작을 검증하였다. $0.18{\mu}m$ CMOS 표준셀을 사용하여 100 MHz의 동작 주파수로 합성한 결과, RSA 암호 프로세서는 12,540 GE로 구현되었고, 12 kbit의 메모리가 사용되었다. 동작 가능한 최대 주파수는 165 MHz로 평가되었으며, RSA 암호화, 복호화 연산에 각각 1.12 ms, 154.91 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. A. Bogdanov, L. R. Knudsen, G. Leander, C. Paar, A. Poschmann, M. J. B. Robshaw, Y. Seurin, and C. Vikkelsoe, "PRESENT: An Ultra-Lightweight Block Cipher," Cryptographic Hardware and Embedded Systems (CHES 2007), vol. 4727 LNCS, Springer, pp. 450-466, Aug. 2007.
  3. TTA std. TTAK.KO-12.0223, 128-Bit Block Cipher LEA, Telecommunications Technology Association, 2013.
  4. R. Rivest, A. Shamir, and L. Adleman, "A method for obtaining Digital Signatures and Public-Key Cryptosystems," Communications of Association for Computing Machinery (ACM), vol. 21, no. 2, pp. 120-126, Feb. 1978. https://doi.org/10.1145/359340.359342
  5. FIPS PUB 186-2, Digital Signature Standard (DSS), National Institute of Standard and Technology (NIST), Jan. 2000.
  6. 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
  7. 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), Khartoum, Sudan, pp. 692-696, Aug. 2013.
  8. S. Rohith, and C. Mahesh, "FPGA implementation of 16 bit RSA cryptosystem for text message," International Journal of Computer Applications, vol. 92, no. 8, Apr. 2014.
  9. A. Miyamoto, N. Homma, T. Aoki, and A. Satoh, "Systematic design of RSA processors based on high-radix montgomery multipliers," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 19, no. 7, pp. 1136-1146, Jul. 2011. https://doi.org/10.1109/TVLSI.2010.2049037
  10. D. M. Wang, Y. Y. Ding, J. Zhang, J. G. Hu and H. Z. Tan, "Area-efficient and ultra-low-power architecture of RSA processor for RFID," Electronics letters, vol. 48, no. 19, pp. 1185-1187, Oct. 2012. https://doi.org/10.1049/el.2012.1767
  11. 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
  12. C. K. koc, T. Acar, and B. S. Kaliski, "Analyzing and comparing Montgomery multiplication algorithms," IEEE Micro, vol. 16, no. 3, pp. 26-33, Jan. 1996. https://doi.org/10.1109/40.502403
  13. 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), Tamilnadu, India, pp. 334-335, 2012.
  14. J. Shao, L. Wu and X. Zhang, "Design and implementation of RSA for dual interface bank IC card," 2013 IEEE 10th International Conference on ASIC (ASICON), Shenzhen, China, pp. 1-4, 2013.
  15. 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
  16. X. Zheng, Z. Liu and B. Peng, "Design and Implementation of Ultra low power RSA coprocessor," IEEE 4th International Conference on Wireless Communications, Networking and Mobile Computing, WiCOM'08, Dalian, China, pp. 1-5, 2008.

Cited by

  1. FX3 USB 3 브릿지 칩과 slave FIFO 인터페이스를 사용하는 FPGA 검증 시스템 구현 vol.25, pp.2, 2017, https://doi.org/10.6109/jkiice.2021.25.2.259