Accelerating the AES Algorithm using OpenCL
Theodora Sanida, Argyrios Sideris, Minas Dasygenis · 2020
Nowadays, cryptography plays an important role in the field of information security. The most common symmetric cryptographic algorithm is Advanced Encryption Standard (AES), which is based on the well-known Rijndael algorithm and is used worldwide in every domain. In this document, we present the implementation of the AES algorithm in two parallel modes of operation (CTR and XTS) with the OpenCL programming language. We used OpenCL because it is designed for parallel computing on heterogeneous platforms and ensures portability. Furthermore, we applied 128, 192 and 256 bit cryptographic key size and a file size ranging from 512B to 8MB to evaluate the performance of the kernel runtime and throughput (Gbps). The results have shown that, the performance of the CTR mode is better than the XTS mode. CTR mode speeds up the process of encryption with 128 bit key over 10.15%, 192 bit key over 10.09% and 256 bit key over 10.05%. The decryption process shows 128 bit key acceleration over 10.11%, 192 bit key over 10.05% and 256 bit key over 10.02%. Finally, comparing the results of our implementation to other similar parallel models, we have achieved better throughput performance.