Design of an Optimal RSA Crypto-processor for Embedded Systems

내장형 시스템을 위한 최적화된 RSA 암호화 프로세서 설계

  • 허석원 (연세대학교 전기전자공학과 프로세서연구실) ;
  • 김문경 (연세대학교 전기전자공학과 프로세서연구) ;
  • 이용석 (연세대학교 전기전자공학과 프로세서연구실)
  • Published : 2004.04.01

Abstract

This paper proposes a RSA crypto-processor for embedded systems. The architecture of the RSA crypto-processor should be used relying on Big Montgomery algorithm, and is supported by configurable bit size. The RSA crypto-processor includes a RSA control signal generator, an optimal Big Montgomery processor(adder, multiplier). We use diverse arithmetic unit (adder, multiplier) algorithm. After we compared the various results, we selected the optimal arithmetic unit which can be connected with ARM core-processor. The RSA crypto-processor was implemented with Verilog HDL with top-down methodology, and it was verified by C language and Cadence Verilog-XL. The verified models were synthesized with a Hynix 0.25${\mu}{\textrm}{m}$, CMOS standard cell library while using Synopsys Design Compiler. The RSA crypto-processor can operate at a clock speed of 51 MHz in this worst case conditions of 2.7V, 10$0^{\circ}C$ and has about 36,639 gates.

본 논문에서는 RSA 암호화 알고리즘을 지원하기 위한 암호화 프로세서의 구조를 제안한다. 본 논문의 RSA 암호화 프로세서는 빅 몽고메리 알고리즘(FIOS)을 기반으로 제안되였으며, 다양한 비트 길이(128∼2048 비트)를 지원한다. RSA 암호화 프로세서의 구조는 RSA 제어 신호 발생기, 빅 몽고메리 프로세서(가산기, 승산기)의 모듈로 구성된다. 빅 몽고메리 프로세서의 가산기와 승산기는 다양한 알고리즘을 이용하여 구현하였다. 내장형 시스템에 적합하게 설계하기 위하여 여러 가지 연산기를 합성한 결과 중에서 ARM 코프로세서와 연동할 수 있는 동작주파수를 갖는 연산기 중에서 가장 작은 연산기를 선택하였다. RSA 암호화 프로세서는 Verilog-HDL을 이용하여 하향식 설계 방법으로 구현되었으며, C언어와 Cadence의 Verilog-XL을 이용하여 검증하였다. 검증된 모델은 하이닉스 0.25$\mu\textrm{m}$ CMOS standard cell 라이브러리를 이용하여 합성되었으며, 2.3V, 10$0^{\circ}C$ 최악 조건에서 동작한다. 본 논문에서 제안한 RSA 암호화 프로세서는 약 51MHz의 주파수에서 동작하며, 게이트 수는 nand2 게이트 기준으로 36,639 gates의 면적을 가진다.

Keywords

References

  1. 암호학의 이해 김철
  2. IEEE Micro. v.16 no.3 Analyzing and comparing Montgomery Multiplication Algorithm C.K.Koc;T.Acar;S.Burton;K. Jr https://doi.org/10.1109/40.502403
  3. Computer Architecture : A Quantitative Approach, (third edition) J.L.Hennessy;D.A.Patterson
  4. Computer Arithmetic Algorithms(2nd Edition) Israel Korean;A.K.Peters
  5. Introduction to Digital Logic Design John P. Hayes
  6. 고성능 마이크로프로세서 구조 및 설계 방법 경종민;박인철(외 공저)
  7. The Architecture of Pipelined Computers Peter M. Kogge
  8. IEEE Journal of Solid-State Circuits v.24 SPIM : A pipelined 64 x 64 iterative multiplier M.R.santoro;M.A.Horowitz https://doi.org/10.1109/4.18614
  9. IEEE Journal of Solid-State Circuits v.32 no.11 A 4.1-ns Compact 54x54-b Multiplier Utilizing Sign-Select Booth Encoders Gensuke Goto;Atsuki Inoue;ryoichi Ohe;Shoichiro Kashiwakura;Shin Mitarai;Takayuki Tsurn;Tetsuo Izawa
  10. 연세대학교 석사학위 졸업 논문 32비트 RISC/DSP 프모세서를 위한 17비트 x 17비트 곱셈의 설계 박종환
  11. 연세대학교 석사학위 졸업 논문 멀티미디어 데이터 철리에 적합한 SIMD 곱셈누적 연산기의 설계 홍인표
  12. Proc. Of 3rd International Conference on CARDIS H.Handshuh;P.Paillier
  13. The 5th International Conference in ASIC A Novel ASIC Implementation of RSA Algorithm Zhu Kejia;Xu Ke;Wang Yang;Min Hao
  14. IEEE Trans. Circuits and Systems II: Analog and digital Signal Processign v.45 no.7 A new RSA cryptosystem hardware design based on Montgomery's algorithm Ching-Chao Yang;Tian-Sheuan Chang;Chein-Wei Jen https://doi.org/10.1109/82.700944