Design and Hardware Implementation of High-Speed Variable-Length RSA Cryptosystem

가변길이 고속 RSA 암호시스템의 설계 및 하드웨어 구현

  • 박진영 (광운대학교 전자재료공학과 Digital Design & Test 연구실) ;
  • 서영호 (광운대학교 전자재료공학과 Digital Design & Test 연구실) ;
  • 김동욱 (광운대학교 전자재료공학과 Digital Design & Test 연구실)
  • Published : 2002.09.01

Abstract

In this paper, with targeting on the drawback of RSA of operation speed, a new 1024-bit RSA cryptosystem has been proposed and implemented in hardware to increase the operational speed and perform the variable-length encryption. The proposed cryptosystem mainly consists of the modular exponentiation part and the modular multiplication part. For the modular exponentiation, the RL-binary method, which performs squaring and modular multiplying in parallel, was improved, and then applied. And 4-stage CSA structure and radix-4 booth algorithm were applied to enhance the variable-length operation and reduce the number of partial product in modular multiplication arithmetic. The proposed RSA cryptosystem which can calculate at most 1024 bits at a tittle was mapped into the integrated circuit using the Hynix Phantom Cell Library for Hynix 0.35㎛ 2-Poly 4-Metal CMOS process. Also, the result of software implementation, which had been programmed prior to the hardware research, has been used to verify the operation of the hardware system. The size of the result from the hardware implementation was about 190k gate count and the operational clock frequency was 150㎒. By considering a variable-length of modulus number, the baud rate of the proposed scheme is one and half times faster than the previous works. Therefore, the proposed high speed variable-length RSA cryptosystem should be able to be used in various information security system which requires high speed operation.

본 논문에서는 RSA 암호 알고리즘의 연산속도 문제에 초점을 맞추어 동작속도를 향상시키고 가변길이 암호화가 가능하도록 하는 새로운 구조의 1024-비트 RSA 암호시스템을 제안하고 이를 하드웨어로 구현하였다. 제안한 암호시스템은 크게 모듈러 지수승 연산 부분과 모듈러 곱셈 연산 부분으로 구성되었다. 모듈러 지수승 연산은 제곱 연산과 단순 곱셈 연산을 병렬적으로 처리할 수 있는 RL-이진 방법을 개선하여 적용하였다. 그리고 모듈러 곱셈 연산은 가변길이 연산과 부분 곱의 수를 감소하기 위해서 Montgomery 알고리즘에 4 단계 CSA 구조와 기수-4Booth 알고리즘을 적용하였다. 제안한 RSA 암호시스템은 하이닉스 0.35$\mu\textrm{m}$ Phantom Cell Library를 사용하여 하드웨어로 구현하였고 최대 1024-비트까지 가변길이 연산이 가능하였다. 또한 소프트웨어로 RSA 암호시스템을 구현하여 하드웨어 시스템의 검증에 사용하였다. 구현된 하드웨어 RSA 암호시스템은 약 190K의 게이트 수를 나타내었으며, 동작 클록 주기는 150MHz이었다. 모듈러스 수의 가변길이를 고려했을 때, 데이터 출력률은 기존 방법의 약 1.5배에 해당한다. 따라서 본 논문에서 제안한 가변길이 고속 RSA 암호시스템은 고속 처리를 요구하는 각종 정보보호 시스템에서의 사용 가능성을 보여주었다.

Keywords

References

  1. 전자상거래 보안 기술 이만영;김지홍;류재철;송유진;염흥열;이임영
  2. Cryptography and Network Security:Principles and Practice v.2/e william Stallings
  3. IEEE Trans. Inform. Theory v.22 New directions in cryptography W.Diffie;M.E.Hellman
  4. Communications of the ACM v.21 A method for obtaining digital signatures and public-key cryptosystems R.L.Rivest;A.Shamir;L.Adleman
  5. RSA 공개키 암호시스템의 현황 한국정보보호센터
  6. Math. Computation v.44 Modular multiplication without trial division P.L.Montgomery
  7. Proc. ISCAS v.4 A systolic RSA public key cryptosystem P.S.Chen;S.A.Hwang,C.W.Wu
  8. IEEE Trans. Circuits and Systems v.CAS-45 A new RSA cryptosystem hardware design based on Montgomery's algorithm C.C.Yang;T.S.Chang;C.W.Jen
  9. ISCAS '99 Proceedings of the 1999 IEEE International Symposium on v.1 Design and implementation of an RSA public-key cryptosystem, Circuits and Systems J.H.Guo;C.L.Wang,;H.C.Hu
  10. Proceedings of the ASP-DAC 2000 Radix-4 modular multiplication and exponentiation algorithms for the RSA public-key cryptosystem Design Automation Conference, J.H.Hong;C.W.Wu
  11. ISCAS 2001. The 2001 IEEE International Symposium on v.4 Two implementation methods of a 1024-bit RSA cryptoprocessor based on modified Montgomery algorithm, Circuits and Systems T.W.Kwon;C.S.You;W.S.Heo;Y.K.Kang;J.R.Choi
  12. Introduction of Algorithms T.Cormen;C.Leiserson;R.Rivest
  13. Computer arithmetic algorithms and hardware design Behrooz Parhami