Design and FPGA Implementation of a High-Speed RSA Algorithm for Digital Signature

디지털 서명을 위한 고속 RSA 암호 시스템의 설계 및 FPGA 구현

  • 강민섭 (안양대학교 정보통신컴퓨터공학부) ;
  • 김동욱 (건국대학교 대학원 컴퓨터공학과)
  • Published : 2001.02.01

Abstract

In this paper, we propose a high-speed modular multiplication algorithm which revises conventional Montgomery's algorithm. A hardware architecture is also presented to implement 1024-bit RSA cryptosystem for digital signature based on the proposed algorithm. Each iteration in our approach requires only one addition operation for two n-bit integers, while that in Montgomery's requires two addition operations for three n-bit integers. The system which is modelled in VHDL(VHSIC Hardware Description Language) is simulated in functionally through the use of $Synopsys^{TM}$ tools on a Axil-320 workstation, where Altera 10K libraries are used for logic synthesis. For FPGA implementation, timing simulation is also performed through the use of Altera MAX + PLUS II. Experimental results show that the proposed RSA cryptosystem has distinctive features that not only computation speed is faster but also hardware area is drastically reduced compared to conventional approach.

본 논문에서는 기존의 Montgomery 알고리듬을 개선한 고속 모듈러 곱셈 알고리듬을 제안하고, 이를 기본으로 하여 디지털 서명에 적용 가능한 1024비트 RSA 암호 시스템의 설계 및 구현에 관하여 기술한다. 제안된 방법은 부분합 계산시 단지 1번지의 덧셈 연산이 필요하지만, 기존 Montgomery 알고리듬에서는 2번의 덧셈연산이 요구되므로 기존 방법에 비해 계산 속도가 빠르며, 하드웨어 면적도 매우 감소된다. 제안된 RSA 암호 시스템은 VHDL(VHSIC Hardware Description Language)을 이용하여 모델링하였고, $Synopsys^{TM}$사의 Design Analyzer를 이용하여 논리합성(Altera 10K lib. 이용)을 수행하였다. 또한, FPGA 구현을 위하여 Altera MAX+PLUS II상에서 타이밍 시뮬레이션을 수행하였다. 실험을 통하여 제안된 방법은 계산 속도가 매우 빠르며, 하드웨어 면적도 매우 감소함을 확인하였다.

Keywords

References

  1. NBS, 'Data Encryption Standard', FIPS Pub, 46, U.S, National Bureau of Standard, Washington DC, Jan. 1977
  2. R. L. Rivest, A. Shrmir, 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. A. Sorkin, 'LUCIFER, A Cryptographic Algorithm,' Cryptologia, Vol.8, No.1, pp.22-24, 1973
  4. ANSI, 'Data Encryption Algorithm,' American National Standard X3, 92. NY. 1981
  5. J. Sauerbrey, 'A Modular Exponentiation Unit Based on Systolic Arrays,' Proc. of AUSCRYPT '92, pp.12.19 -12.24, 1992
  6. K. Iwamura, T. Matsumoto, and H. Imai, 'Systolic Arrays for Modular Exponentiation using Montgomery Method' Proc. of Euro CRYPT '92, pp.477-481, 1992
  7. C. D. Walter, 'Systolic Modular Multiplication,' IEEE Trans. on Computers, Vol.42, pp.376-378, 1993 https://doi.org/10.1109/12.210181
  8. 박태규, 황대준, '다중 프로세서를 위한 RSA 병렬 암호화 알고리즘 설계', 한국정보과학회 논문지, 제22권 제1호, pp.49-56, 1995
  9. 강창구, 김대영, '디지틀 다중서명 방식 비교', 한국통신정보보호학회 학회지, 제2권, 제4호, pp.7-16, 1992
  10. E. F. Brickell, 'A Survey of Hardware Implementation of RSA,' Proc. of CRYPTO89, pp.368-370, 1989
  11. P. L. Montgomery, 'Modular Multiplication without Trial Division.' Mathema. of Computat., Vol.44, pp.519-521, 1985 https://doi.org/10.2307/2007970
  12. 황효선, 임채훈, '공개키 암호 시스템의 고속 구현', 한국통신정보보호학회 종합학술발표회논문집, Vol.7, No.1, pp.232-247, 1997
  13. J. Bobs and M. Coster, 'Addition Chain Heuristics,' Advances in Cryptology-CRYPTO'89, Proceedings, Lecture Notes in Computer Science, No.435, pp. 400-407, New York, NY : Springer-Verlag, 1989
  14. C. K. Cok, High-Speed RSA Implementation, TR 201, November 1994
  15. 최용락, 소우영, 이재광, 이임영, '통신망 정보 보호', 그린 출판사, 1996