FPGA 기반 고속 하이브리드 숨김 암호화 구현 개선
초록
본 논문은 기존 MHHEA 마이크로아키텍처의 직렬 비트 교체와 키 의존성 문제를 해결하고, 병렬 비트 교체와 회전 기반 정렬을 도입한 새로운 FPGA 구현을 제시한다. 5개의 기본 모듈(메시지 캐시, 정렬, 키 캐시, 비교기, 암호화)로 구성되며, 32비트 평문을 16비트 단위로 처리해 2클록 사이클당 16비트 암호문을 생성한다. 구현 결과는 높은 기능 밀도와 1 Mbps 수준의 처리량을 보여, 기존 구현 대비 우수함을 입증한다.
상세 분석
이 연구는 하이브리드 숨김 암호화 알고리즘(MHHEA)의 FPGA 구현에서 두 가지 핵심 약점을 정확히 짚어낸다. 첫째, 기존 설계는 비트 교체를 순차적으로 수행해 키 값에 따라 처리량이 변동되는 구조였으며, 이는 선택 평문 공격에 대한 취약점으로 이어질 수 있었다. 둘째, 평문을 32비트 전체를 한 번에 다루지 못하고, 키에 따라 비트 위치가 동적으로 결정되는 과정에서 병렬화가 어려웠다. 저자들은 이를 해결하기 위해 ‘메시지 정렬’ 모듈에서 키의 작은 값에 따라 좌측 회전, 큰 값+1에 따라 우측 회전을 수행하도록 설계하였다. 회전 연산은 멀티플렉서를 이용해 1클록 사이클 내에 완료되므로, 회전 비용이 최소화된다. 또한, 16비트 단위로 메시지를 분할 저장하고, 두 개의 16비트 레지스터에 동시에 로드함으로써 파이프라인화가 가능해졌다.
키 캐시에서는 32개의 3비트 레지스터를 사용해 16개의 키 페어를 저장하고, 비교기를 통해 작은 키 값을 즉시 정렬 모듈에 전달한다. 이 과정에서 키 자체도 ‘스크램블’되어 숨김 벡터 V와 XOR 연산을 거치며, 선택 평문 공격에 대한 저항성을 높인다. 암호화 모듈은 단순한 멀티플렉서 구조로, 스크램블된 키 페어가 선택 신호가 되어 V의 지정 비트를 평문의 해당 비트와 교체한다. 교체는 한 사이클에 전체 비트를 동시에 수행하므로, 이전 설계 대비 처리량이 크게 향상된다.
랜덤 넘버 제너레이터는 최대 길이 LFSR을 사용해 숨김 벡터 V를 생성한다. 이는 암호화 과정에서 비트 교체 위치와 내용이 완전히 무작위화되도록 보장한다. 전체 FSM은 Init → LMsg → LKey → LMsgCache → Circ → Encrypt 순으로 진행되며, 각 단계는 명확히 구분된 신호와 레디 플래그를 통해 동기화된다.
성능 평가에서는 Spartan‑II FPGA에 구현한 결과, 사용된 CLB 수 대비 처리량(Mbps)을 ‘기능 밀도’로 계산했으며, 기존 YAEA 구현을 제외하고 가장 높은 값을 기록했다. 또한, 32비트 평문을 16비트 암호문으로 변환하는 과정에서 2클록 사이클당 16비트 출력이 가능해, 실시간 통신 환경에서도 충분한 속도를 제공한다.
이와 같이, 논문은 하드웨어 수준에서 알고리즘의 구조적 약점을 보완하고, 병렬 처리와 회전 기반 정렬을 통해 효율성을 극대화한 점이 가장 큰 공헌이다. 다만, 설계가 16비트 단위 회전에 제한되는 점과, 키 길이가 48비트(16×3)로 비교적 짧은 점은 보안 강도 측면에서 추가적인 연구가 필요하다.
댓글 및 학술 토론
Loading comments...
의견 남기기