Jump to content

AES instruction set

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 213.107.65.245 (talk) at 13:57, 23 July 2011 (→‎Software supporting AES instruction set). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Advanced Encryption Standard (AES) Instruction Set is an extension to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008.[1] The purpose of the instruction set is to improve the speed of applications performing encryption and decryption using the Advanced Encryption Standard (AES).

VIA x86 CPUs use the proprietary PadLock engine for accelerated AES key handling instead.

New instructions

Instruction Description
AESENC Perform one round of an AES encryption flow
AESENCLAST Perform the last round of an AES encryption flow
AESDEC Perform one round of an AES decryption flow
AESDECLAST Perform the last round of an AES decryption flow
AESKEYGENASSIST Assist in AES round key generation
AESIMC Assist in AES Inverse Mix Columns
PCLMULQDQ Carryless multiply (CLMUL).[2]

CPUs and GPUs with AES instruction set

  • Intel
    • Intel Westmere based processors, specifically:
      • Intel Gulftown processors.
      • Intel Clarkdale processors (except Core i3).
      • Intel Arrandale processors (except Core i3, Core i5-4XXM).
    • Intel Sandy Bridge processors:
      • Desktop: all except Core i3.[3]
      • Mobile: all Core i7. Though the Intel web pages originally listed the 2630QM and 2635QM as not supporting it, those web pages have been updated to indicate that they do [4][5]. Several vendors have shipped BIOS configurations with the extension disabled[6], requiring a BIOS update to fix. All Core i5 except 2410M[7] support it.
    • Intel Ivy Bridge processors
    • Intel has a list of processors that support AES-NI on their web site[8]
  • AMD

Performance

In AES-NI Performance Analyzed, Patrick Schmid and Achim Roos found, "... impressive results from a handful of applications already optimized to take advantage of Intel's AES-NI capability".[10] A performance analysis using the Crypto++ security library showed an increase in throughput from approximately 28.0 cycles per byte to 3.5 cycles per byte with AES/GCM versus a Pentium 4 with no acceleration.[11] [12]

Software supporting AES instruction set

The following software supports the using of AES instruction set.

See also

References

  1. ^ "Intel Software Network". Intel. Retrieved 2008-04-05.
  2. ^ "Carry-Less Multiplication". Intel.
  3. ^ http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i5-2600k-i5-2500k-and-core-i3-2100-tested/2
  4. ^ http://ark.intel.com/Product.aspx?id=52219
  5. ^ http://ark.intel.com/Product.aspx?id=53463
  6. ^ http://forum.notebookreview.com/windows-os-software/582628-aes-ni-support-truecrypt-sandy-bridge-problem.html
  7. ^ http://ark.intel.com/Product.aspx?id=52224
  8. ^ http://ark.intel.com/MySearch.aspx?AESTech=true
  9. ^ "Following Instructions". AMD. November 22, 2010. Retrieved 2011-01-04.
  10. ^ P. Schmid and A. Roos (2010). "AES-NI Performance Analyzed". Tom's Hardware. Retrieved 2010-08-10.
  11. ^ T. Krovetz, W. Dai (2010). "How to get fast AES calls?". Crypto++ user group. Retrieved 2010-08-11.
  12. ^ "Crypto++ 5.6.0 Pentium 4 Benchmarks". Crypto++ Website. 2009. Retrieved 2010-08-10.
  13. ^ "Information Security Corp., Cryptographic Development Kits (CDKs)".
  14. ^ "Intel Advanced Encryption Standard Instructions (AES-NI)". Intel. March 2, 2010. Retrieved 2010-07-11.
  15. ^ "The OpenBSD 4.8 Release". OpenBSD.org. November 1, 2010. Retrieved 2010-11-10.
  16. ^ "The OpenBSD 4.9 Release". OpenBSD.org. May 1, 2011. Retrieved 2011-05-01.
  17. ^ "[PATCH] Add Intel AES-NI support for 1.0.0 branch". David Woodhouse (Intel). September 25, 2009. Retrieved 2010-10-30.
  18. ^ "Transparent Data Encryption". Oracle. January 17, 2011. Retrieved 2011-01-17.
  19. ^ "Information Security Corp., SecretAgent 6".
  20. ^ "SecureDoc Full Disk Encryption". April 8, 2011.
  21. ^ "Solaris Cryptographic Framework". Oracle. September 6, 2010. Retrieved 2010-09-06.