Abstract
In this paper, we present a design of a hash processor for data security systems. Two standard hash algorithms, Sha-1(American) and HAS-1600(Korean), are implemented on a single hash engine to support real time processing of the algorithms. The hash processor can also be used as a PRNG(Pseudo-random number generator) by utilizing SHA-1 hash iterations, which is being used in the Intel software library. Because both SHA-1 and HAS-160 have the same step operation, we could reduce hardware complexity by sharing the computation unit. Due to precomputation of message variables and two-stage pipelined structure, the critical path of the processor was shortened and overall performance was increased. We estimate performance of the hash processor about 624 Mbps for SHA-1 and HAS-160, and 195 Mbps for pseudo-random number generation, both at 100 MHz clock, based on Samsung 0.5um CMOS standard cell library. To our knowledge, this gives the best performance for processing the hash algorithms.
본 논문에서는 미국과 한국의 해쉬 함수 표준인 SHA-1과 HAS-160 해쉬 알고리즘, 그리고 SHA-1을 이용한 의사 난수 발생기를 구현한 프로세서를 설계하였다. SHA-1과 HAS-160이 동일한 단계 연산을 가지므로, 한 단계 연산만을 구현하여 공유함으로써 하드웨어 리소스를 감소시켰다. 그리고 메시지 변수의 사전 계산과 단계 연산을 두 단계의 파이프라인 구조로 구현함으로써 한 개의 클럭으로 한 단계 연산을 수행하는 방식보다 최장지연경로는 1/2로 줄고, 총 단계 연산에 필요한 클럭 수는 하나만 증가하므로 성능은 약 2배 향상되었다. 그 결과, 설계한 해쉬 프로세서는 삼성 0.5 um CMOS 스탠다드 셀 라이브러리를 근거로 산출할 때, 100 MHz의 동작 주파수에서 약 624 Mbps의 성능을 얻을 수 있다. 그리고 의사 난수 발생기로 사용될 때는 약 195 Mbps의 난수 발생 성능을 가진다. 이러한 성능은 지금까지 상용화된 국내외의 어느 해쉬 프로세서보다 빠른 처리 시간을 가지는 것으로 판단된다.