초록
본 논문에서는 새로운 해쉬 알고리듬인 SHA-3과 출력 길이 확장함수인 SHAKE256을 구현하는 해쉬 프로세서를 설계하였다. 해쉬 프로세서는 성능을 극대화하기 위해 Padder 블록, 라운드 코어 블록, 출력 블록이 블록 단계에서 파이프라인 구조로 동작한다. Padder 블록은 가변길이의 입력을 여러 개의 블록으로 만들고, 라운드 코어 블록은 on-the-fly 라운드 상수 생성기를 사용하여 SHA-3와 SHAKE256에 대응하는 해쉬 및 출력 확장 결과를 생성하며, 출력 블록은 결과 값을 호스트로 전달하는 기능을 수행한다. 해쉬 프로세서는 Xilinx Virtex-5 FPGA에서 최대 동작 속도는 220 MHz이며, SHA3-512의 경우 5.28 Gbps의 처리율을 갖는다. 프로세서는 SHA-3 와 SHAKE-256 알고리듬을 지원하므로 무결성, 키 생성, 난수 생성 등의 암호 분야에 응용이 가능하다.
This paper describes a design of hash processor which can execute new hash algorithm, SHA-3 and extendable-output function (XOF), SHAKE-256. The processor that consists of padder block, round-core block and output block maximizes its performance by using the block-level pipelining scheme. The padder block formats the variable-length input data into multiple blocks and then round block generates SHA-3 message digest or SHAKE256 result for multiple blocks using on-the-fly round constant generator. The output block finally transfers the result to host processor. The hash processor that is implemented with Xilinx Virtex-5 FPGA can operate up to 220-MHz clock frequency. The estimated maximum throughput is 5.28 Gbps(giga bits per second) for SHA3-512. Because the processor supports both SHA-3 hash algorithm and SHAKE256 algorithm, it can be applicable to cryptographic areas such as data integrity, key generation and random number generation.