Fast Software AES Encryption

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6147)


This paper presents new software speed records for AES-128 encryption for architectures at both ends of the performance spectrum. On the one side we target the low-end 8-bit AVR microcontrollers and 32-bit ARM microprocessors, while on the other side of the spectrum we consider the high-performing Cell broadband engine and NVIDIA graphics processing units (GPUs). Platform specific techniques are detailed, explaining how the software speed records on these architectures are obtained. Additionally, this paper presents the first AES decryption implementation for GPU architectures.


Advanced Encryption Standard (AES) Advanced Virtual RISC (AVR) Advanced RISC Machine (ARM) Cell Broadband Engine Graphics Processing Unit (GPU) Symmetric Cryptography 


  1. 1.
    AMD. ATI CTM Reference Guide. Technical Reference Manual (2006)Google Scholar
  2. 2.
    Atasu, K., Breveglieri, L., Macchetti, M.: Efficient AES implementations for ARM based platforms. In: Symposium on Applied Computing 2004, pp. 841–845. ACM, New York (2004)CrossRefGoogle Scholar
  3. 3.
    Atmel Corporation. 8-bit AVR Microcontroller with 8/16K Bytes of ISP Flash and USB Controller. Technical Reference Manual (2008)Google Scholar
  4. 4.
    Bernstein, D.J., Schwabe, P.: New AES software speed records. In: Chowdhury, D.R., Rijmen, V., Das, A. (eds.) INDOCRYPT 2008. LNCS, vol. 5365, pp. 322–336. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Biham, E.: A Fast New DES Implementation in Software. In: Biham, E. (ed.) FSE 1997. LNCS, vol. 1267, pp. 260–272. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  6. 6.
    Biryukov, A., Khovratovich, D.: Related-key Cryptanalysis of the Full AES-192 and AES-256. Cryptology ePrint Archive, Report 2009/317 (2009),
  7. 7.
    Biryukov, A., Nikolic, D.K.I.: Distinguisher and Related-Key Attack on the Full AES-256. In: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 231–249. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Blythe, D.: The Direct3D 10 system. ACM Trans. Graph. 25(3), 724–734 (2006)CrossRefMathSciNetGoogle Scholar
  9. 9.
    Daemen, J., Rijmen, V.: The design of Rijndael. Springer, New York (2002)zbMATHGoogle Scholar
  10. 10.
    Dongarra, J., Meuer, H., Strohmaier, E.: Top500 Supercomputer Sites,
  11. 11.
    Feldhofer, M., Dominikus, S., Wolkerstorfer, J.: Strong authentication for RFID systems using the AES algorithm. In: Joye, M., Quisquater, J.-J. (eds.) CHES 2004. LNCS, vol. 3156, pp. 85–140. Springer, Heidelberg (2004)Google Scholar
  12. 12.
    Frost & Sullivan: Asia Pacific’s Final Wireless Growth Frontier,
  13. 13.
    Harrison, O., Waldron, J.: Practical Symmetric Key Cryptography on Modern Graphics Hardware. In: USENIX Security Symposium, pp. 195–210 (2008)Google Scholar
  14. 14.
    Hofstee, H.P.: Power Efficient Processor Architecture and The Cell Processor. In: HPCA 2005, pp. 258–262. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  15. 15.
    Käsper, E., Schwabe, P.: Faster and timing-attack resistant AES-GCM. In: Clavier, C., Gaj, K. (eds.) CHES 2009. LNCS, vol. 5747, pp. 1–17. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  16. 16.
    Klami, K., Hammond, B., Spencer, M.: ARM Announces 10 Billionth Mobile Processor (2009),
  17. 17.
    Manavski, S.A.: CUDA Compatible GPU as an Efficient Hardware Accelerator for AES Cryptography. In: ICSPC 2007, November 2007, pp. 65–68. IEEE, Los Alamitos (2007)Google Scholar
  18. 18.
    Munshi, A.: The OpenCL Specification. Khronos OpenCL Working Group (2009)Google Scholar
  19. 19.
    National Institute of Standards and Technology (NIST). FIPS-197: Advanced Encryption Standard, AES (2001),
  20. 20.
    NVIDIA. NVIDIA GeForce 8800 GPU Architecture Overview. Technical Brief TB-02787-001 v0, 9 (2006)Google Scholar
  21. 21.
    NVIDIA. NVIDIA CUDA Programming Guide 2.3 (2009)Google Scholar
  22. 22.
    Osvik, D.A.: Cell SPEED. In: SPEED 2007 (2007),
  23. 23.
    Otte, D.: AVR-Crypto-Lib (2009),
  24. 24.
    Owens, J.: GPU architecture overview. In: SIGGRAPH 2007, p. 2. ACM, New York (2007)Google Scholar
  25. 25.
    Poettering, B.: AVRAES: The AES block cipher on AVR controllers (2006),
  26. 26.
    Rinne, S., Eisenbarth, T., Paar, C.: Performance Analysis of Contemporary Light-Weight Block Ciphers on 8-bit Microcontrollers. In: SPEED 2007 (2007),
  27. 27.
    Seal, D.: ARM architecture reference manual, 2nd edn. Addison-Wesley Professional, Reading (2001)Google Scholar
  28. 28.
    Segal, M., Akeley, K.: The OpenGL graphics system: A specification (version 2.0). In: Silicon Graphics, Mountain View, CA (2004)Google Scholar
  29. 29.
    Shimizu, K., Brokenshire, D., Peyravian, M.: Cell Broadband Engine Support for Privacy, Security, and Digital Rights Management Applications (October 2005),
  30. 30.
    Sloss, A., Symes, D., Wright, C.: ARM system developer’s guide: designing and optimizing system software. Morgan Kaufmann Pub., San Francisco (2004)Google Scholar
  31. 31.
    Takahashi, O., Cook, R., Cottier, S., Dhong, S.H., Flachs, B., Hirairi, K., Kawasumi, A., Murakami, H., Noro, H., Oh, H., Onish, S., Pille, J., Silberman, J.: The circuit design of the synergistic processor element of a Cell processor. In: ICCAD 2005, pp. 111–117. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  32. 32.
    Tillich, S., Herbst, C.: Boosting AES Performance on a Tiny Processor Core. In: Malkin, T.G. (ed.) CT-RSA 2008. LNCS, vol. 4964, pp. 170–186. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  33. 33.
    Yang, J., Goodman, J.: Symmetric Key Cryptography on Modern Graphics Hardware. In: Kurosawa, K. (ed.) ASIACRYPT 2007. LNCS, vol. 4833, pp. 249–264. Springer, Heidelberg (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  1. 1.Laboratory for Cryptologic AlgorithmsEPFLLausanneSwitzerland
  2. 2.Dept. of Electrical EngineeringThe Cooper UnionNew YorkUSA
  3. 3.Applied Math.Naval Postgraduate SchoolMontereyUSA

Personalised recommendations