DOI QR코드

DOI QR Code

Performance Enhancement and Evaluation of AES Cryptography using OpenCL on Embedded GPGPU

OpenCL을 이용한 임베디드 GPGPU환경에서의 AES 암호화 성능 개선과 평가

  • 이민학 (인천대학교 임베디드시스템공학과) ;
  • 강우철 (인천대학교 임베디드시스템공학과)
  • Received : 2016.01.12
  • Accepted : 2016.05.02
  • Published : 2016.07.15

Abstract

Recently, an increasing number of embedded processors such as ARM Mali begin to support GPGPU programming frameworks, such as OpenCL. Thus, GPGPU technologies that have been used in PC and server environments are beginning to be applied to the embedded systems. However, many embedded systems have different architectural characteristics compare to traditional PCs and low-power consumption and real-time performance are also important performance metrics in these systems. In this paper, we implement a parallel AES cryptographic algorithm for a modern embedded GPU using OpenCL, a standard parallel computing framework, and compare performance against various baselines. Experimental results show that the parallel GPU AES implementation can reduce the response time by about 1/150 and the energy consumption by approximately 1/290 compare to OpenMP implementation when 1000KB input data is applied. Furthermore, an additional 100 % performance improvement of the parallel AES algorithm was achieved by exploiting the characteristics of embedded GPUs such as removing copying data between GPU and host memory. Our results also demonstrate that higher performance improvement can be achieved with larger size of input data.

최근, ARM Mali와 같은 여러 임베디드 프로세서들이 OpenCL과 같은 GPGPU 프레임워크를 지원함에 따라 기존 PC 환경에서 활용되던 GPGPU 기술이 임베디드 시스템 영역으로 확대 되고 있다. 그러나 임베디드 시스템은 PC와는 상이한 구조를 갖으며, 저전력이나 실시간성과 같은 성능이 더욱 중요하다. 본 논문에서는 임베디드 GPGPU환경에서 AES 암호화 알고리즘을 개방형 범용 병렬 컴퓨팅 프레임워크인 OpenCL을 사용하여 구현하고 이를 CPU만을 이용한 구현과 비교한다. 실험결과, 1000KByte의 데이터 사이즈의 128비트 AES 암호화 시에 OpenCL을 사용하여 GPU로 병렬 처리하는 것이 OpenMP를 사용하여 CPU상에서 병렬 처리한 방식보다 응답 시간은 최대 1/150, 에너지 소비량은 최대 1/290로 감소함을 확인하였다. 또한 호스트와 GPU 디바이스 간에 메모리를 공유하는 임베디드 구조의 특성에 최적화하여 메모리 복제를 하지 않는 기법을 적용하는 경우 응답시간과 에너지 소비량에서 최대 100% 이상의 추가적인 성능개선을 이룰 수 있었으며, 연구에서 사용한 데이터의 크기에 비례하여 더 높은 성능의 개선이 나타나는 것을 확인하였다.

Keywords

Acknowledgement

Supported by : 인천대학교

References

  1. Joan Daemen and Vincent Rijmen, The design of Rijndael: AES-the advanced encryption standard, Springer Science & Business Media, 2013.
  2. Aaftab Munshi, OpenCL Programming Guide, Addison-Wesley Professional, 2011.
  3. S. S. Navalgund, Akshay Desai, Krishna Ankalgi, and Harish Yamanur, "Parallelization of AES Algorithm Using OpenMP," Lecture Notes on Information Theory, Vol. 1, No. 4, 2013.
  4. Yongin Yeom and Yongkuk Cho, "High-Speed Implementations of Block Ciphers on Graphics Processing Units Using CUDA Library," Journal of The Korea Institute of Information Security and Cryptology, Vol. 18, No. 3, pp. 23-32, Jun. 2008. (in Korean)
  5. Osvaldo Gervasi, Diego Russo, and Flavio Vella, "The AES implantation based on OpenCL for multi/many core architecture," International Conference on Computational Science and Its Applications, 2010.
  6. Debra L. Cook, John Ioannidis, Angelos D. Keromytis and Jake Luck, "CryptoGraphics: Secret key cryptography using graphics cards," Topics in Cryptology- CT-RSA 2005. Springer Berlin Heidelberg, pp. 334-350, 2005.
  7. Kyuwoon Kim, Hyunwoo Kim, Huijeong Kim, Taeyoung Huh, Sanghyuk Jung, and Yong Ho Song, "An Analytical Model for Performance Prediction of AES on GPU Architecture," Journal of The Institute of Electronics Engineers of Korea, Vol. 50, No. 4, Apr. 2013. (in Korean)
  8. Le Sueur, Etienne, and Gernot Heiser, "Dynamic voltage and frequency scaling: The laws of diminishing returns," Proc. of the 2010 international conference on Power aware computing and systems, pp. 1-8, 2010.