AES instruction set
Encyclopedia
Advanced Encryption Standard (AES) Instruction Set is an extension to the x86 instruction set architecture for microprocessor
s from Intel
and AMD
proposed by Intel in March 2008. 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.
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.
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...
s from Intel
Intel Corporation
Intel Corporation is an American multinational semiconductor chip maker corporation headquartered in Santa Clara, California, United States and the world's largest semiconductor chip maker, based on revenue. It is the inventor of the x86 series of microprocessors, the processors found in most...
and AMD
Advanced Micro Devices
Advanced Micro Devices, Inc. or AMD is an American multinational semiconductor company based in Sunnyvale, California, that develops computer processors and related technologies for commercial and consumer markets...
proposed by Intel in March 2008. The purpose of the instruction set is to improve the speed of applications performing encryption and decryption using the Advanced Encryption Standard
Advanced Encryption Standard
Advanced Encryption Standard is a specification for the encryption of electronic data. It has been adopted by the U.S. government and is now used worldwide. It supersedes DES...
(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 CLMUL instruction set Carry-less Multiplication is an extension to the x86 instruction set used by microprocessors from Intel and AMD which was proposed by Intel in March 2008 and made available in the Intel Westmere processors announced in early 2010. The purpose is to improve the speed of applications doing block... ). |
CPUs and GPUs with AES instruction set
- IntelIntel CorporationIntel Corporation is an American multinational semiconductor chip maker corporation headquartered in Santa Clara, California, United States and the world's largest semiconductor chip maker, based on revenue. It is the inventor of the x86 series of microprocessors, the processors found in most...
- Intel Westmere based processors, specifically:
- Intel GulftownGulftown (microprocessor)Gulftown or Westmere-EP is the codename of a six-core hyperthreaded Intel processor able to run up to 12 threads in parallel. It is based on Westmere microarchitecture, the 32 nm shrink of Nehalem. Originally rumored to be called the Intel Core i9, it is sold as an Intel Core i7...
processors. - Intel ClarkdaleClarkdale (microprocessor)Clarkdale is the code name for an Intel processor, initially sold as desktop Intel Core i5 and Core i3 and Pentium. It is closely related to themobile Arrandale processor; both use dual-core dies based on the 32 nm...
processors (except Core i3). - Intel ArrandaleArrandale (microprocessor)Arrandale is the code name for a mobile Intel processor, sold as mobile Intel Core i3, i5 and i7 as well as Celeron and Pentium. It is closely related to the desktop Clarkdale processor; both use dual-core dies based on the 32 nm Westmere shrink of the Nehalem microarchitecture and have integrated...
processors (except Core i3, Core i5-4XXM).
- Intel Gulftown
- Intel Sandy BridgeSandy Bridge (microarchitecture)Sandy Bridge is the codename for a microarchitecture developed by Intel beginning in 2005 for central processing units in computers to replace the Nehalem microarchitecture...
processors:- Desktop: all except Core i3.
- Mobile: all Core i7 and low power (17W TDP) Core i5. 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. Several vendors have shipped BIOS configurations with the extension disabled, requiring a BIOS update to fix...
- Intel Ivy Bridge processors
- Intel has a list of processors that support AES-NI on their web site
- Intel Westmere based processors, specifically:
- AMDAdvanced Micro DevicesAdvanced Micro Devices, Inc. or AMD is an American multinational semiconductor company based in Sunnyvale, California, that develops computer processors and related technologies for commercial and consumer markets...
- AMD Bulldozer based processors.
- VIAVIA TechnologiesVIA Technologies is a Taiwanese manufacturer of integrated circuits, mainly motherboard chipsets, CPUs, and memory, and is part of the Formosa Plastics Group. It is the world's largest independent manufacturer of motherboard chipsets...
- VIA PadLock.
- VIA C3 Nehemiah C5P (Eden-N) ProcessorsVIA C3The VIA C3 is a family of x86 central processing units for personal computers designed by Centaur Technology and sold by VIA Technologies. The different CPU cores are built following the design methodology of Centaur Technology.-Samuel 2 and Ezra cores:...
. - VIA C7 Esther C5J ProcessorsVIA C7The VIA C7 is an x86 central processing unit designed by Centaur Technology and sold by VIA Technologies.- Product history :The C7 delivers a number of improvements to the older VIA C3 cores but is nearly identical to the latest VIA C3 Nehemiah core. The C7 was officially launched in May 2005,...
.
- VIA C3 Nehemiah C5P (Eden-N) Processors
- VIA PadLock.
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". A performance analysis using the Crypto++Crypto++
Crypto++ is a free and open source C++ class library of cryptographic algorithms and schemes written by Wei Dai. Crypto++ has been widely used in academia, student projects, open source and non-commercial projects, as well as businesses...
security library showed an increase in throughput from approximately 28.0 cycles per byte to 3.5 cycles per byte with AES
Advanced Encryption Standard
Advanced Encryption Standard is a specification for the encryption of electronic data. It has been adopted by the U.S. government and is now used worldwide. It supersedes DES...
/GCM versus a Pentium 4
Pentium 4
Pentium 4 was a line of single-core desktop and laptop central processing units , introduced by Intel on November 20, 2000 and shipped through August 8, 2008. They had a 7th-generation x86 microarchitecture, called NetBurst, which was the company's first all-new design since the introduction of the...
with no acceleration.
Software supporting AES instruction set
The following software supports the using of AES instruction set.- 7-Zip7-Zip7-Zip is an open source file archiver. 7-Zip operates with the 7z archive format, but can read and write several other archive formats. The program can be used from a command line interface, graphical user interface, or with Microsoft Windows shell integration. 7-Zip began in 1999 and is actively...
9.20 - Bitlocker
- Bloombase Cryptographic Module
- Citrix XenClient 1.0 and on
- Cryptographic Development Kit (CDK) 7.0 from Information Security Corp.
- Cryptography API: Next Generation (CNG) (requires Windows 7)
- Crypto++Crypto++Crypto++ is a free and open source C++ class library of cryptographic algorithms and schemes written by Wei Dai. Crypto++ has been widely used in academia, student projects, open source and non-commercial projects, as well as businesses...
5.6.1 - CyaSSLCyaSSLCyaSSL is a small, portable, embedded SSL programming library targeted for use by embedded systems developers. It is an open source, implementation of SSL built in the C language. It includes SSL client libraries and an SSL server implementation as well as support for multiple API's, including...
- an open source SSL/TLS implementation supporting AES - DiskCryptorDiskCryptorDiskCryptor is the first open source full disk encryption system for MS Windows that allows the encryption of an entire PC's harddrive or individual partitions – including the ability to encrypt the partition and disk on which the OS is installed....
0.9 - DiskSec 1.85
- dm-cryptDm-cryptdm-crypt is a transparent disk encryption subsystem in Linux kernel versions 2.6 and later and in DragonFly BSD. It is part of the device mapper infrastructure, and uses cryptographic routines from the kernel's Crypto API...
- FileVaultFileVaultFileVault is a system which encrypts files on a Macintosh computer. It can be found in the Mac OS X v10.4 "Tiger" operating system and later....
version 2 (Mac OS X LionMac OS X LionMac OS X Lion is the eighth and current major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers....
) AES full disk encryption - Integrated Performance Primitives (IPP)Integrated Performance PrimitivesIntel Integrated Performance Primitives is a multi-threaded software library of functions for multimedia and data processing applications, produced by Intel....
- LibgcryptLibgcryptlibgcrypt is a cryptographic library developed as a separated module of GnuPG . It can also be used independently of GnuPG, although it requires its error-reporting library....
1.5.0-beta1 - LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
Cryptographic API and all software using the API - McAfee Endpoint Encryption for PC 6.x
- FreeBSDFreeBSDFreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
's OpenCrypto API - OpenBSDOpenBSDOpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
since 4.8 and with a complete set of instructions since 4.9 - OpenSSLOpenSSLOpenSSL is an open source implementation of the SSL and TLS protocols. The core library implements the basic cryptographic functions and provides various utility functions...
1.0.0 (requires Patches) - Oracle DatabaseOracle DatabaseThe Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
11g Release 2 Patchset 1 (11.2.0.2) Transparent Data Encryption - Parallels Desktop for MacParallels Desktop for MacParallels Desktop for Mac by Parallels, Inc., is software providing hardware virtualization for Macintosh computers with Intel processors.-Overview:Parallels, Inc...
6 - PGP Whole Disk Encryption 10.1.0+ (Only on Windows, The Mac OS X version does not support AES-NI yet)
- SecretAgent 6.1.1 and above from Information Security Corp.
- SecureDoc 5.2 by WinMagic
- Solaris (starting with Solaris 10 8/10) through the Solaris Cryptographic Framework and all software using that framework (like OpenSSLOpenSSLOpenSSL is an open source implementation of the SSL and TLS protocols. The core library implements the basic cryptographic functions and provides various utility functions...
, SSHSecure ShellSecure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...
, JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, IPsecIPsecInternet Protocol Security is a protocol suite for securing Internet Protocol communications by authenticating and encrypting each IP packet of a communication session...
, ZFSZFSIn computing, ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The features of ZFS include data integrity verification against data corruption modes , support for high storage capacities, integration of the concepts of filesystem and volume management,...
, ...) - TeamWox 1266
- The Bat!The Bat!The Bat! is a shareware e-mail client for the Microsoft Windows operating system, developed by RITLabs, a company based in Chişinău, Moldova.-History:...
4.3 - TrueCryptTrueCryptTrueCrypt is a software application used for on-the-fly encryption . It is free and open source. It can create a virtual encrypted disk within a file or encrypt a partition or the entire storage device .- Operating systems :TrueCrypt supports Microsoft Windows, Mac OS X, and...
7.0 - VMware WorkstationVMware WorkstationVMware Workstation is a virtual machine software suite for x86 and x86-64 computers from VMware, a division of EMC Corporation, which allows users to set up multiple x86 and x86-64 virtual machines and use one or more of these virtual machines simultaneously with the hosting operating system...
7.1 - WinRARWinRARWinRAR is a shareware file archiver and data compression utility developed by Eugene Roshal, and first released in autumn of 1993. It is one of the few applications that is able to create RAR archives natively, because the encoding method is held to be proprietary.-Developer:The current developer...
4.01
See also
- Advanced Encryption StandardAdvanced Encryption StandardAdvanced Encryption Standard is a specification for the encryption of electronic data. It has been adopted by the U.S. government and is now used worldwide. It supersedes DES...
- CLMUL instruction setCLMUL instruction setCarry-less Multiplication is an extension to the x86 instruction set used by microprocessors from Intel and AMD which was proposed by Intel in March 2008 and made available in the Intel Westmere processors announced in early 2010. The purpose is to improve the speed of applications doing block...
- FMA3
- FMA4
- AVXAdvanced Vector ExtensionsAdvanced Vector Extensions is an extension to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008 and first supported by Intel with the Westmere processor shipping in Q1 2011 and now by AMD with the Bulldozer processor shipping in Q3 2011.AVX...
- X86