[논문 리뷰] GPU Accelerated AES Algorithm
이 논문은 CUDA를 활용한 GPU 가속 AES-128 구현을 제안하며, ECB 모드, T-box 룩업, 그리고 '스레드당 하나의 상태' 스케줄링 정밀도를 사용한다. GeForce 940MX에서 암호화 속도가 최대 223.9 Mbps, 복호화 속도가 최대 203.6 Mbps에 이를 수 있으며, 대용량 파일에 대해 CPU 대비 뚜렷한 성능 향상을 보이며, 소스 코드와 결과는 GitHub에서 공개 가능하다.
It has been widely accepted that Graphics Processing Units (GPU) is one of promising schemes for encryption acceleration, in particular, the support of complex mathematical calculations such as integer and logical operations makes the implementation easier; however, complexes such as parallel granularity, memory allocation still imposes a burden on real world implementations. In this paper, we propose a new approach for Advanced Encryption Standard accelerations, including both encryption and decryption. Specifically, we adapt the Electronic Code Book mode for cryptographic transformation, look up table scheme for fast lookup, and a granularity of one state per thread for thread scheduling. Our experimental results offer researchers a good understanding on GPU architectures and software accelerations. In addition, both our source code and experimental results are freely available.
연구 동기 및 목표
- 암호화 및 복호화 모두에 대해 고성능 GPU 기반 AES-128 구현을 개발하기.
- GPU AES 성능에 영향을 주는 스레드 스케줄링 정밀도 및 메모리 할당 전략의 영향을 조사하기.
- 다양한 파일 크기에서 표준화된 접근 방식을 사용해 GPU 가속 AES의 성능을 벤치마크하기.
- 연구자들이 GPU 아키텍처와 암호화 가속 기술을 연구할 수 있도록 재현 가능한 오픈소스 구현 제공하기.
제안 방법
- AES 암호 변환을 위해 전자 코드 북(Electronic Code Book, ECB) 모드를 채택한다.
- 계산 오버헤드를 줄이기 위해 T-boxes를 활용해 빠른 치환 및 룩업 연산을 수행한다.
- 최대한의 병렬 처리를 위해 GPU 스레드당 하나의 AES 상태(16바이트)를 스케줄링 정밀도로 사용한다.
- 자주 액세스되는 T-boxes를 상수 메모리에 저장해 글로벌 메모리 액세스 지연을 줄인다.
- 평문 데이터를 GPU 장치 메모리에 할당하고, 각 블록을 온칩 레지스터를 사용해 개별 스레드가 처리한다.
- 최적화된 메모리 액세스 패턴을 사용해 CUDA 커널을 통해 암호화 및 복호화를 모두 구현한다.
실험 결과
연구 질문
- RQ1스레드당 하나의 상태 정밀도는 더 넓은 정밀도(예: 32 또는 64바이트/스레드)에 비해 GPU에서 AES 성능에 어떤 영향을 미치는가?
- RQ2대용량 데이터 파일에 대해 GPU 가속 AES-128은 CPU 기반 구현 대비 어떤 성능 향상을 보이는가?
- RQ3메모리 할당 전략(예: T-boxes에 대한 상수 메모리 사용)은 GPU에서 AES 처리 속도에 어떤 영향을 미치는가?
- RQ44KB를 초과하는 파일 크기로 증가할수록 GPU AES 성능은 어떻게 확장되는가?
- RQ5GPU 아키텍처와 메모리 계층의 선택은 AES 암호화 및 복호화 처리 속도에 어떤 영향을 미치는가?
주요 결과
- GeForce 940MX에서 파일 크기가 1,190,402바이트일 때 GPU 기반 AES 암호화는 최대 223,928,517바이트/초(223.9 Mbps)의 최고 처리 속도를 기록한다.
- 동일한 파일 크기에서 GPU 기반 AES 복호화는 최대 203,592,269바이트/초(203.6 Mbps)의 최고 처리 속도를 기록한다.
- 4KB를 초과하는 파일에서는 GPU 성능이 항상 CPU 성능을 능가하며, 파일 크기가 커질수록 처리 속도가 뚜렷하게 증가한다.
- CPU 성능은 파일 크기에 관계없이 비교적 안정되어 있으나, GPU 처리 속도는 동시에 실행되는 스레드 수에 따라 확장된다.
- 스레드당 하나의 상태 스케줄링 전략이 최적의 성능을 달성하며, 32 또는 64바이트/스레드와 같은 더 넓은 정밀도 전략보다 뛰어난 성능을 보인다.
- T-boxes에 상수 메모리 사용이 메모리 지연을 줄이고 룩업 효율을 향상시켜 전체 처리 속도 향상에 기여한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.