AES instruction set
Encyclopedia
Advanced Encryption Standard (AES) Instruction Set is an extension to the x86 instruction set architecture for microprocessor
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

  • 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...

    • Intel Westmere based processors, specifically:
      • Intel Gulftown
        Gulftown (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 Clarkdale
        Clarkdale (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 Arrandale
        Arrandale (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 Sandy Bridge
      Sandy 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
  • 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...

    • AMD Bulldozer based processors.
  • VIA
    VIA Technologies
    VIA 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) Processors
        VIA C3
        The 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 Processors
        VIA C7
        The 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,...

        .

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-Zip
    7-Zip
    7-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
  • CyaSSL
    CyaSSL
    CyaSSL 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
  • DiskCryptor
    DiskCryptor
    DiskCryptor 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-crypt
    Dm-crypt
    dm-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...

  • FileVault
    FileVault
    FileVault 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 Lion
    Mac OS X Lion
    Mac 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 Primitives
    Intel Integrated Performance Primitives is a multi-threaded software library of functions for multimedia and data processing applications, produced by Intel....

  • Libgcrypt
    Libgcrypt
    libgcrypt 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
  • Linux
    Linux
    Linux 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
  • FreeBSD
    FreeBSD
    FreeBSD 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
  • OpenBSD
    OpenBSD
    OpenBSD 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
  • OpenSSL
    OpenSSL
    OpenSSL 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 Database
    Oracle Database
    The 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 Mac
    Parallels Desktop for Mac
    Parallels 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 OpenSSL
    OpenSSL
    OpenSSL is an open source implementation of the SSL and TLS protocols. The core library implements the basic cryptographic functions and provides various utility functions...

    , SSH
    Secure Shell
    Secure 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...

    , Java
    Java (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...

    , IPsec
    IPsec
    Internet Protocol Security is a protocol suite for securing Internet Protocol communications by authenticating and encrypting each IP packet of a communication session...

    , ZFS
    ZFS
    In 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
  • TrueCrypt
    TrueCrypt
    TrueCrypt 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 Workstation
    VMware Workstation
    VMware 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
  • WinRAR
    WinRAR
    WinRAR 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 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...

  • CLMUL instruction set
    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...

  • FMA3
  • FMA4
  • AVX
    Advanced Vector Extensions
    Advanced 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

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK