AES instruction set: Difference between revisions
Manusfreedom (talk | contribs) |
|||
Line 63: | Line 63: | ||
* DiskSec 1.85 |
* DiskSec 1.85 |
||
* [[dm-crypt]] |
* [[dm-crypt]] |
||
* [[FileVault]] version 2 (OSX Lion) AES full disc encryption |
|||
* [[Groupware TeamWox]] 1266 |
* [[Groupware TeamWox]] 1266 |
||
* [[Integrated Performance Primitives|Integrated Performance Primitives (IPP)]] |
* [[Integrated Performance Primitives|Integrated Performance Primitives (IPP)]] |
Revision as of 13:57, 23 July 2011
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 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.
- 7-Zip 9.20
- Bitlocker
- Citrix XenClient 1.0 and on
- Cryptographic Development Kit (CDK) 7.0 from Information Security Corp.[13]
- Cryptography API: Next Generation (CNG) (requires Windows 7) [14]
- Crypto++ 5.6.1
- CyaSSL - an open source SSL/TLS implementation supporting AES
- DiskCryptor 0.9
- DiskSec 1.85
- dm-crypt
- FileVault version 2 (OSX Lion) AES full disc encryption
- Groupware TeamWox 1266
- Integrated Performance Primitives (IPP)
- Libgcrypt 1.5.0-beta1
- Linux Cryptographic API and all software using the API
- McAfee Endpoint Encryption for PC 6.x
- FreeBSD's OpenCrypto API
- OpenBSD since 4.8[15] and with a complete set of instructions since 4.9[16]
- OpenSSL 1.0.0 (requires Patches[17])
- Oracle Database 11g Release 2 Patchset 1 (11.2.0.2) Transparent Data Encryption [18]
- Parallels Desktop for Mac 6
- PGP Whole Disk Encryption 10.1.0+ (Only on Windows, The Mac OS X does not support AES-NI yet)
- SecretAgent 6.1.1 and above from Information Security Corp.[19]
- SecureDoc 5.2 by WinMagic [20]
- Solaris (starting with Solaris 10 8/10) through the Solaris Cryptographic Framework [21] and all software using that framework (like OpenSSL, SSH, Java, IPsec, ZFS, ...)
- The Bat! 4.3
- TrueCrypt 7.0
- VMware Workstation 7.1
- WinRAR 4.01
See also
References
- ^ "Intel Software Network". Intel. Retrieved 2008-04-05.
- ^ "Carry-Less Multiplication". Intel.
- ^ http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i5-2600k-i5-2500k-and-core-i3-2100-tested/2
- ^ http://ark.intel.com/Product.aspx?id=52219
- ^ http://ark.intel.com/Product.aspx?id=53463
- ^ http://forum.notebookreview.com/windows-os-software/582628-aes-ni-support-truecrypt-sandy-bridge-problem.html
- ^ http://ark.intel.com/Product.aspx?id=52224
- ^ http://ark.intel.com/MySearch.aspx?AESTech=true
- ^ "Following Instructions". AMD. November 22, 2010. Retrieved 2011-01-04.
- ^ P. Schmid and A. Roos (2010). "AES-NI Performance Analyzed". Tom's Hardware. Retrieved 2010-08-10.
- ^ T. Krovetz, W. Dai (2010). "How to get fast AES calls?". Crypto++ user group. Retrieved 2010-08-11.
- ^ "Crypto++ 5.6.0 Pentium 4 Benchmarks". Crypto++ Website. 2009. Retrieved 2010-08-10.
- ^ "Information Security Corp., Cryptographic Development Kits (CDKs)".
- ^ "Intel Advanced Encryption Standard Instructions (AES-NI)". Intel. March 2, 2010. Retrieved 2010-07-11.
- ^ "The OpenBSD 4.8 Release". OpenBSD.org. November 1, 2010. Retrieved 2010-11-10.
- ^ "The OpenBSD 4.9 Release". OpenBSD.org. May 1, 2011. Retrieved 2011-05-01.
- ^ "[PATCH] Add Intel AES-NI support for 1.0.0 branch". David Woodhouse (Intel). September 25, 2009. Retrieved 2010-10-30.
- ^ "Transparent Data Encryption". Oracle. January 17, 2011. Retrieved 2011-01-17.
- ^ "Information Security Corp., SecretAgent 6".
- ^ "SecureDoc Full Disk Encryption". April 8, 2011.
- ^ "Solaris Cryptographic Framework". Oracle. September 6, 2010. Retrieved 2010-09-06.
- AES instruction set whitepaper http://software.intel.com/file/20457 4.4 Mbyte, pdf