AES Encryption and Decryption Using Direct3D 10 API

Adrian Marius Chiuta


Current video cards (GPUs – Graphics Processing Units) are very programmable, have become much more powerful than the CPUs and they are very affordable. In this paper, we present an implementation for the AES algorithm using Direct3D 10 certified GPUs. The graphics API Direct3D 10 is the first version that allows the use of integer operations, making from the traditional GPUs (that works only with floating point numbers), General Purpose GPUs that can be used for a large number of algorithms, including encryption. We present the performance of the symmetric key encryption algorithm – AES, on a middle range GPU and on a middle range quad core CPU. On the testing system, the developed solution is almost 3 times faster on the GPU than on one single core CPU, showing that the GPU can perform as an efficient cryptographic accelerator.


Cryptography, AES, Graphics, Direct3D 10 API, GP-GPU

Full Text:



National Institute of Standards and Technology (NIST), FIPS 197: Advanced Encryption Standard (AES), 2001

Debra L. Cook, John Ioannidis, Angelos D. Keromytis, Jake Luck, CryptoGraphics: Secret Key Cryptography Using Graphics Cards

Owen Harrison, John Waldron, AES Encryption Implementation and Analysis on Commodity Graphics Processing Units

Takeshi Yamanouchi, GPU Gems 3: Chapter 36. AES Encryption and Decryption on the GPU, 2007

Svetlin A. Manavski, CUDA Compatible GPU as an Efficient Hardware Accelerator for AES Cryptography, 2007

Wendy Jones, Beginning DirectX 10 Game Programming, 2007

Frank D. Luna, Introduction to 3D Game Programming with DirectX 10, 2008

Reference for Direct3D 10,

OpenSSL Open Source Project,


  • There are currently no refbacks.

Journal of Mobile, Embedded and Distributed Systems (JMEDS) ISSN: 2067 – 4074 (online)