Abstract
This paper describes a design of crypto-processor that supports multiple block cipher algorithms of PRESENT, ARIA, and AES. The crypto-processor integrates three cores that are PRmo (PRESENT with mode of operation), AR_AS (ARIA_AES), and AES-16b. The PRmo core implementing 64-bit block cipher PRESENT supports key length 80-bit and 128-bit, and four modes of operation including ECB, CBC, OFB, and CTR. The AR_AS core supporting key length 128-bit and 256-bit integrates two 128-bit block ciphers ARIA and AES into a single data-path by utilizing resource sharing technique. The AES-16b core supporting key length 128-bit implements AES with a reduced data-path of 16-bit for minimizing hardware. Each crypto-core contains its own on-the-fly key scheduler, and consecutive blocks of plaintext/ciphertext can be processed without reloading key. The crypto-processor was verified by FPGA implementation. The crypto-processor implemented with a $0.18{\mu}m$ CMOS cell library occupies 54,500 gate equivalents (GEs), and it can operate with 55 MHz clock frequency.
PRESENT, ARIA, AES의 3가지 블록 암호 알고리듬을 지원하는 다중 암호 프로세서 설계에 대해 기술한다. 설계된 암호 칩은 PRmo (PRESENT with mode of operation), AR_AS (ARIA_AES) 그리고 AES-16b 코어로 구성된다. 64-비트 블록암호 PRESENT를 구현하는 PRmo 코어는 80-비트, 128-비트 키 길이와 ECB, CBC, OFB, CTR의 4가지 운영모드를 지원한다. 128-비트, 256-비트 키 길이를 지원하는 AR_AS 코어는 128-비트 블록암호 ARIA와 AES를 자원공유 기법을 적용하여 단일 데이터 패스로 통합 구현되었다. 128-비트 키 길이를 지원하는 AES-16b 코어는 저면적 구현을 위해 16-비트의 데이터패스로 설계되었다. 각 암호 코어는 on-the-fly 키 스케줄러를 포함하고 있으며, 평문/암호문 블록의 연속적인 암호/복호화 처리가 가능하다. FPGA 검증을 통해 설계된 다중 블록 암호 프로세서의 정상 동작을 확인하였다. $0.18{\mu}m$ 공정의 CMOS 셀 라이브러리로 합성한 결과, 54,500 GEs (gate equivalents)로 구현이 되었으며, 55 MHz의 클록 주파수로 동작 가능하다.