Abstract
This paper describes an area-efficient design of SHA-256 hash function that is widely used in various security protocols including digital signature, authentication code, key generation. The SHA-256 hash processor includes a padder block for padding and parsing input message, so that it can operate without software for preprocessing. Round function was designed with a 16-bit data-path that processed 64 round computations in 128 clock cycles, resulting in an optimized area per throughput (APT) performance as well as small area implementation. The SHA-256 hash processor was verified by FPGA implementation using Virtex5 device, and it was estimated that the throughput was 337 Mbps at maximum clock frequency of 116 MHz. The synthesis for ASIC implementation using a $0.18-{\mu}m$ CMOS cell library shows that it has 13,251 gate equivalents (GEs) and it can operate up to 200 MHz clock frequency.
전자서명, 인증 코드, 키 생성 알고리듬 등의 보안 프로토콜에 사용되는 SHA-256 해시 함수를 면적 효율적으로 설계하였다. 설계된 SHA-256 해시 프로세서는 입력 메시지에 대한 패딩 및 파싱 기능을 수행하는 패더 블록을 포함하여 프리프로세싱을 위한 소프트웨어 없이 동작하도록 구현하였다. 라운드 연산을 16-비트 데이터 패스로 구현하여 64 라운드 연산이 128 클록 주기에 처리되도록 하였으며, 이를 통해 저면적 구현과 함께 성능 대비 하드웨어 복잡도 (area per throughput; APT)를 최적화 하였다. 설계된 SHA-256 해시 프로세서는 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였으며, 최대 116 MHz 클록 주파수로 동작하여 337 Mbps의 성능을 갖는 것으로 평가되었다. ASIC 구현을 위해 $0.18-{\mu}m$ CMOS 셀 라이브러리로 합성한 결과, 13,251 GE로 구현되었으며, 최대 동작주파수는 200 MHz로 예측되었다.