Acceleration of AES encryption on CUDA GPU
Department of Computer Science, National Defense Academy, 1-10-20 Hashirimizu Yokosuka Kanagawa 239-8686, Japan
International Journal of Networking and Computing, Vol 2, No 1, pages 131-145, 2012
@article{iwai2012acceleration,
title={Acceleration of AES encryption on CUDA GPU},
author={Iwai, K. and Nishikawa, N. and Kurokawa, T.},
journal={International Journal of Networking and Computing},
volume={2},
number={1},
pages={pp–131},
year={2012}
}
GPU exhibits the capability for applications with a high level of parallelism despite its low cost. The support of integer and logical instructions by the latest generation of GPUs enables us to implement cipher algorithms more easily. However, decisions such as parallel processing granularity and memory allocation impose a heavy burden on programmers. Therefore, this paper presents results of several experiments that were conducted to elucidate the relation between memory allocation styles of variables of AES and granularity as the parallelism exploited from AES encoding processes using CUDA with an NVIDIA GeForce GTX285 (Nvidia Corp.). Results of these experiments showed that the 16 bytes/thread granularity had the highest performance. It achieved approximately 35 Gbps throughput. It also exhibited differences of memory allocation and granularity effects around 2%-30% for performance in standard implementation. It shows that the decision of granularity and memory allocation is the most important factor for effective processing in AES encryption on GPU. Moreover, implementation with overlapping between processing and data transfer yielded 22.5 Gbps throughput including the data transfer time.
January 10, 2012 by hgpu