초록
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의 클록 주파수로 동작 가능하다.
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.