초록
본 논문은 ISO/IEC 29192-2 경량 암호 표준으로 지정된 초경량 블록암호 알고리듬 PRESENT의 하드웨어 구현에 대해 기술한다. PRESENT 암호 프로세서는 80, 128비트의 마스터키 길이와 ECB, CBC, OFB, CTR의 4가지 운영모드를 지원하도록 설계되었다. 마스터키 레지스터를 갖는 on-the-fly 키 스케줄러가 포함되어 있으며, 저장된 마스터키를 사용하여 평문/암호문 블록의 연속적인 암호/복호화 처리가 가능하다. 경량화 구현을 위해 80, 128 비트의 키 스케줄링 회로가 공유되도록 최적화하였다. 라운드 블록을 64 비트의 데이터 패스로 설계하여 암호/복호화의 라운드 변환이 한 클록 사이클에 처리되도록 하였다. PRESENT 암호 프로세서를 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였다. $0.18{\mu}m$ 공정의 CMOS 셀 라이브러리로 합성을 한 결과, 8,100 gate equivalents(GE)로 구현되었으며, 최대 454 MHz의 클록 주파수로 동작하여 908 Mbps의 처리율을 갖는 것으로 평가되었다.
A hardware implementation of ultra-lightweight block cipher algorithm PRESENT which was specified as a standard for lightweight cryptography ISO/IEC 29192-2 is described. The PRESENT crypto-processor supports two key lengths of 80 and 128 bits, as well as four modes of operation including ECB, CBC, OFB, and CTR. The PRESENT crypto-processor has on-the-fly key scheduler with master key register, and it can process consecutive blocks of plaintext/ciphertext without reloading master key. In order to achieve a lightweight implementation, the key scheduler was optimized to share circuits for key lengths of 80 bits and 128 bits. The round block was designed with a data-path of 64 bits, so that one round transformation for encryption/decryption is processed in a clock cycle. The PRESENT crypto-processor was verified using Virtex5 FPGA device. The crypto-processor that was synthesized using a $0.18{\mu}m$ CMOS cell library has 8,100 gate equivalents(GE), and the estimated throughput is about 908 Mbps with a maximum operating clock frequency of 454 MHz.