고속 병렬 파이프라인 AES 구현 설계
본 논문은 멀티프로세서 환경에서 AES 암호화·복호화를 고속으로 수행하기 위해 두 단계의 병렬화를 결합한 설계를 제안한다. 라운드 파이프라인을 11단계로 확장하고, Add_Round_Key와 Mix_Column(및 Inv_Mix_Column) 연산을 내부에서 다중 코어로 동시에 처리함으로써 기존 9단계 파이프라인 대비 약 95 %·98 %의 성능 향상을 달
초록
본 논문은 멀티프로세서 환경에서 AES 암호화·복호화를 고속으로 수행하기 위해 두 단계의 병렬화를 결합한 설계를 제안한다. 라운드 파이프라인을 11단계로 확장하고, Add_Round_Key와 Mix_Column(및 Inv_Mix_Column) 연산을 내부에서 다중 코어로 동시에 처리함으로써 기존 9단계 파이프라인 대비 약 95 %·98 %의 성능 향상을 달성한다.
상세 요약
AES는 128비트 블록을 10·12·14 라운드(키 길이에 따라)로 처리하는 구조적 특성을 가지고 있어 라운드 간 의존성이 비교적 낮다. 이러한 특성은 파이프라인 설계에 유리하지만, 기존 연구들은 주로 라운드 자체를 단계화하는 데에만 집중하고 Add_Round_Key와 Mix_Column 같은 내부 변환의 병렬성을 충분히 활용하지 못했다. 본 논문은 두 차원의 병렬화를 도입한다. 첫 번째 차원은 라운드 파이프라인을 11단계로 세분화하여 초기 라운드와 최종 라운드까지 모두 파이프라인에 포함시킨다. 기존 9단계 설계는 초기 키 추가와 최종 라운드의 변환을 파이프라인 외부에서 수행했기 때문에 전체 지연이 늘어나는 단점이 있었다. 두 번째 차원은 각 라운드 내부에서 Add_Round_Key와 Mix_Column(또는 Inv_Mix_Column) 연산을 독립적인 연산 유닛에 할당해 동시에 실행한다. Add_Round_Key는 XOR 연산만으로 구성돼 데이터 의존성이 거의 없으며, Mix_Column은 행렬 곱셈이지만 각 열이 서로 독립적이므로 다중 코어에 분산시킬 수 있다. 이러한 설계는 하드웨어 자원을 효율적으로 활용하면서도 메모리 대역폭 병목을 최소화한다. 논문은 또한 파이프라인 단계마다 필요한 레지스터와 버퍼 크기를 계산하고, 라운드 키 확장 모듈을 공유하도록 설계해 전체 면적을 절감한다. 성능 평가에서는 8코어·16스레드 시스템을 기준으로 암호화와 복호화 모두에서 평균 처리량이 기존 9단계 파이프라인 대비 95 % 향상되고, 내부 변환 병렬화까지 포함하면 추가로 98 % 수준의 가속을 얻었다는 결과를 제시한다. 특히, 라운드 수가 많은 256‑bit 키 경우에도 확장성이 유지되어 실시간 통신·영상 스트리밍 등 대역폭이 중요한 응용에 적합함을 확인한다. 마지막으로 설계의 스케일러빌리티를 논의하며, 코어 수가 증가함에 따라 라인당 처리량이 거의 선형적으로 증가함을 실험적으로 증명한다.
📜 논문 원문 (영문)
🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...