초록
본 논문에서는 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 암호시스템은 고속 처리를 요구하는 각종 정보보호 시스템에서의 사용 가능성을 보여주었다.
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.