AES Encryption and Decryption Using Direct3D 10 API
Keywords:
Cryptography, AES, Graphics, Direct3D 10 API, GP-GPUAbstract
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.References
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, http://msdn.microsoft.com
OpenSSL Open Source Project, http://www.openssl.org
Downloads
Published
How to Cite
Issue
Section
License
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).
- The author(s) is responsible for the correctness and legality of the paper content.
- Papers that are copyrighted or published will not be taken into consideration for publication in JMEDS It is the author(s) responsibility to ensure that the paper does not cause any copyright infringements and other problems.
- It is the responsibility of the author(s) to obtain all necessary copyright release permissions for the use of any copyrighted materials in the paper prior to the submission.
- The Author(s) retains the right to reuse any portion of the paper, in future works, including books, lectures and presentations in all media, with the condition that the publication by JMEDS is properly credited and referenced.
JMEDS articles by Journal of Mobile, Embedded and Distributed Systems (JMEDS) is licensed under a Creative Commons Attribution 4.0 International License.
Based on a work at http://jmeds.eu.
Permissions beyond the scope of this license may be available at http://jmeds.eu/index.php/jmeds/about/submissions#copyrightNotice.