고속 암호화 MIPS 프로세서 설계 및 구현
초록
본 논문은 5단계 파이프라인 구조를 기반으로 DES 암호화/복호화 코어를 통합한 32비트 MIPS 프로세서를 설계하고, 키 로드와 암호화 제어를 위한 새로운 명령어(LKLW, LKUW, CRYPT)를 추가한 뒤, 40 nm Xilinx Virtex‑6 FPGA에 구현하여 합성 시 218 MHz, 시뮬레이션 시 744 MHz의 동작 주파수를 달성한 결과를 제시한다.
상세 분석
이 논문은 기존 MIPS‑5단계 파이프라인(IF, ID, EX, MEM, WB)에 대칭키 암호화 모듈인 DES를 삽입함으로써 암호화된 명령어 스트림을 직접 실행할 수 있는 프로세서를 구현한다. IF 단계에서는 프로그램 카운터(PC)로부터 64비트 암호화 명령어 블록을 읽어와 복호화 코어에 전달하고, 복호화된 32비트 명령어 두 개를 MUX를 통해 IF 레지스터에 공급한다. 이때 PC는 4바이트가 아닌 8바이트씩 증가하도록 설계되어, 64비트 블록 단위 접근을 보장한다.
ID 단계에서는 기존 레지스터 파일에 키 레지스터를 추가하여 암호화/복호화에 사용되는 64비트 키를 저장한다. 키 로드는 새로운 I‑type 명령어 LKLW(키 하위 워드 로드)와 LKUW(키 상위 워드 로드)로 수행되며, 두 명령어 사이에 NOP를 삽입해 파이프라인 해저드와 키 로드 지연을 회피한다. 또한 CRYPT(J‑type) 명령어는 단일 플래그 인자를 받아 암호화 모드의 활성화/비활성화를 제어한다.
EX 단계는 기존 ALU와 동일하게 동작하나, 두 번째 오퍼랜드가 암호화 코어에 전달될 경우 암호화 신호(crypt)와 함께 데이터 메모리 접근이 이루어진다. MEM 단계에서는 데이터 메모리와 DES 암호화 코어, 복호화 코어가 병렬로 배치되고, MUX/DEMUX를 통해 암호화된 데이터를 메모리에 쓰거나 복호화된 데이터를 레지스터 파일로 전달한다.
파이프라인 해저드 해결을 위해 전통적인 포워딩 유닛과 Hazard Detection Unit을 그대로 사용하면서, 키 로드와 CRYPT 명령어 사이에 삽입된 NOP가 구조적·제어적 해저드를 완화한다. 이 설계는 파이프라인의 최장 경로에 큰 영향을 주지 않으면서도 암호화 연산을 하드웨어 수준에서 병렬 처리하도록 만든다.
합성 결과, 40 nm 공정의 Virtex‑6 XC6VLX240T‑3FF1156 디바이스에서 슬라이스 사용량은 전체 로직의 약 20 % 수준이며, 클럭 주기 4.584 ns(합성)와 1.343 ns(시뮬레이션)으로 각각 218 MHz와 744 MHz의 최대 주파수를 달성한다. 전력 소모와 면적 효율성은 최신 FPGA 패밀리의 특성을 활용해 15 % 정도 개선된 것으로 보고된다. 전체 시스템은 VHDL 기반 RTL 설계로 구현되었으며, 블록‑레벨 및 톱‑레벨 테스트벤치를 통해 기능 검증이 수행되었다.
이와 같이 본 연구는 파이프라인 구조를 크게 변경하지 않으면서도 암호화 기능을 통합함으로써 보안이 요구되는 임베디드 시스템에 적합한 고성능 MIPS 프로세서를 제시한다. 다만 DES는 현재 보안 표준에서 약점이 지적되고 있어, 향후 AES와 같은 현대적 암호화 코어로 교체하는 것이 필요하다.
댓글 및 학술 토론
Loading comments...
의견 남기기