AES speed-up using GPU - Zhou, Justin Junrong (2016)
Graphical Processor Units (GPUs) offer a high level of processing power due to its high density of Arithmetic Logic Units (ALUs) within the device. This allows high-performance computing developers to parallelize algorithms to a higher degree compared to the Central Processing Unit (CPU), which is used traditionally for number crunching. In this report, NVIDIA’s CUDA framework is utilized to enable AES encryption to be performed on a GPU. The time taken to perform that cryptographic function is compared to a similar implementation on a CPU. The maximum speed-up measured in this comparison is of a factor of 8.68x, regardless of the size of the data. This result is similar to results achieved by other computer scientists published in academic journals. Cryptographic functions are known to take a huge amount of time to finish executing, therefore the speed-up factor is significant in the computing and cryptographic industries. In the future as hardware and software technology advances, developers would be able to utilize the strength that the GPU provides to increase computing efficiency and throughput.