AES指令集

高级加密标准指令集现已经集成到许多处理器中。应用程序执行高级加密标准（AES）时，使用该指令集提高加密和解密的速度（以及对侧信道攻击的抵抗能力）。 高级加密标准指令集（或称英特尔高级加密标准新指令，简称AES-NI）是一个x86指令集架构的扩展，用于Intel和AMD微处理器，由Intel在2008年3月提出。该指令集的目的是改进应用程序使用高级加密标准（AES）执行加密和解密的速度。 Intel支持AES-NI的处理器： Intel Westmere架构处理器，具体如下： Intel Westmere-EP (Xeon 56XX)（也称Gulftown至强5600系列DP服务器型号）处理器。 Intel Clarkdale处理器（酷睿i3、奔腾和赛扬除外）。 Intel Arrandale处理器（赛扬、奔腾、酷睿i3、酷睿i5-4XXM除外）。 Intel Sandy Bridge处理器。 桌面：全部，奔腾、赛扬、酷睿i3除外 移动：酷睿i7和酷睿i5全部。一些供应商发售的BIOS配置已禁用该扩展，需要更新BIOS才能启用它。 Intel Ivy Bridge处理器 仅所有i5、i7、至强和i3-2115C。 Intel Haswell处理器。（i3-4000M、奔腾和赛扬除外） Intel Skylake（和以後）處理器。 AMD AMD Ryzen处理器。 AMD Bulldozer处理器。 AMD Piledriver处理器。 AMD Steamroller处理器。 AMD Jaguar处理器。 AMD Puma（英语：Puma (microarchitecture)）处理器。 在最新的SPARC处理器（T4、T5、M5及之后）和最新的ARM处理器中也有非特权的处理器指令提供AES支持。2011年推出的SPARC T4处理器有用户级指令实现AES轮回。这些指令补充了更高级别的加密命令。2011年宣布的ARMv8-A处理器架构也有指令实现AES轮回，这包括ARM Cortex-A53和A57，但不包括以前的v7处理器（如Cortex A5、7、8、9、11、15）。2012年8月，IBM宣布即将到来的Power7+架构有望提供AES支持。这些架构中的命令不能直接与AES-NI命令兼容，但可实现类似的功能。 IBM z9或更晚的主机处理器支持AES作为单操作码（KM、KMC）AES ECB/CBC指令，使用IBM的CryptoExpress硬件。这些单指令的AES版本比Intel NI更容易使用，但不能被扩展实现为基于AES轮回函数的其他算法，例如Whirlpool散列算法。 VIA x86 CPU、AMD Geode和Marvell Kirkwood（ARM，mv_cesa在Linux中）使用基于驱动程序的AES加速处理（另见Crypto API (Linux)（英语：Crypto API (Linux)））。下列产品支持AES硬件加速，虽然不支持AES-NI指令集： AMD Geode LX处理器。 VIA VIA PadLock。 · VIA C3 Nehemiah C5P (Eden-N)处理器。 VIA C7 Esther C5J处理器。 Allwinner 使用“安全系统”的A10和A20。 Broadcom 使用“安全处理器”的BCM5801/BCM5805/BCM5820。 高通 Snapdragon 805（和以後）。 三星電子 Exynos 3系列（和以後）。 Atmel xmega （并行执行的片上加速器，不是指令） 在《AES-NI 性能分析》中，Patrick Schmid和Achim Roos 指出：“...少数已使用英特尔 AES-NI 进行优化的应用程序表现出了傲人成绩”。 一次使用Crypto++函式庫执行的性能分析显示，相比没有加速的Pentium 4, AES/GCM（英语：Galois/Counter_Mode）的吞吐量从大约每字节28.0周期显著提升至每字节3.5周期。 大多数现代编译器能够利用AES指令。 许多安全和加密软件支持AES指令集，包括下列核心基础设施： Cryptography API: Next Generation (CNG)（Windows） Linux的Crypto API（英语：Crypto API (Linux)） Java 7 HotSpot Network Security Services（NSS）3.13及更高版本 （被Firefox和Google Chrome使用） Solaris Cryptographic Framework（英语：Solaris Cryptographic Framework）从Solaris 10起。 FreeBSD的OpenCrypto API（aesni(4) 驱动程序） OpenSSL 1.0.1及以上 FLAM®/FLUC®（页面存档备份，存于互联网档案馆） 5.1.08（2015-08-24发布）及以上 Bloombase Cryptographic Module 高级矢量扩展（AVX） CLMUL指令集（英语：CLMUL instruction set） FMA指令集（FMA3、FMA4） RdRand Intel Software Network. Intel. [2008-04-05]. （原始内容存档于2008-04-07）.  Shay Gueron. Intel Advanced Encryption Standard (AES) Instruction Set White Paper. Intel. 2010 [2012-09-20]. （原始内容存档于2012-10-29）.  Carry-Less Multiplication. Intel. [2016-05-14]. （原始内容存档于2016-04-25）.  Intel® Product Specification Advanced Search. [2019-03-22]. （原始内容存档于2019-09-18）.  AnandTech - The Sandy Bridge Review: Intel Core i7-2600K, i5-2500K and Core i3-2100 Tested. [2016-05-14]. （原始内容存档于2015-04-24）.  Compare Intel® Products. [2016-05-14]. （原始内容存档于2016-04-25）.  AES-NI support in TrueCrypt (Sandy Bridge problem). [2016-05-14]. （原始内容存档于2014-08-08）.  Some products can support AES New Instructions with a Processor Configuration update, in particular, i7-2630QM/i7-2635QM, i7-2670QM/i7-2675QM, i5-2430M/i5-2435M, i5-2410M/i5-2415M. Please contact OEM for the BIOS that includes the latest Processor configuration update.. [2016-05-14]. （原始内容存档于2011-08-13）.  存档副本. [2016-05-14]. （原始内容存档于2016-03-22）.  存档副本. [2016-05-14]. （原始内容存档于2017-09-04）.  Following Instructions. AMD. November 22, 2010 [2011-01-04]. （原始内容存档于2010-11-26）.  Dan Anderson. SPARC T4 OpenSSL Engine. Oracle. 2011 [2012-09-20]. （原始内容存档于2012-11-03）.  Richard Grisenthwaite. ARMv8-A Technology Preview (PDF). ARM. 2011 [2012-09-20]. （原始内容 (PDF)存档于2018-06-10）.  Timothy Prickett Morgan. All the sauce on Big Blue's hot chip: More on Power7+. The Register. 2012 [2012-09-20]. （原始内容存档于2012-08-24）.  IBM System z10 cryptography. IBM. [2014-01-27]. （原始内容存档于2014-02-01）.  AMD Geode™ LX Processor Family Technical Specifications. AMD. [2016-05-14]. （原始内容存档于2014-01-30）.  VIA Padlock Security Engine. VIA. [2011-11-14]. （原始内容存档于2011-05-15）.  Cryptographic Hardware Accelerators （页面存档备份，存于互联网档案馆） on OpenWRT.org VIA Eden-N Processors. VIA. [2011-11-14]. （原始内容存档于2011-11-11）.  VIA C7 Processors. VIA. [2011-11-14]. （原始内容存档于2007-04-19）.  Security System driver status. [2016-05-14]. （原始内容存档于2016-05-14）.  Using the XMEGA built-in AES accelerator (PDF). [2014-12-03]. （原始内容存档 (PDF)于2015-09-23）.  P. Schmid and A. Roos. AES-NI Performance Analyzed. Tom's Hardware. 2010 [2010-08-10].  T. Krovetz, W. Dai. How to get fast AES calls?. Crypto++ user group. 2010 [2010-08-11]. （原始内容存档于2012-11-09）.  Crypto++ 5.6.0 Pentium 4 Benchmarks. Crypto++ Website. 2009 [2010-08-10]. （原始内容存档于2010-09-19）.  Intel Advanced Encryption Standard Instructions (AES-NI). Intel. March 2, 2010 [2010-07-11]. （原始内容存档于2010-07-07）.  AES-NI enhancements to NSS on Sandy Bridge systems. 2012-05-02 [2012-11-25]. （原始内容存档于2014-04-13）.  System Administration Guide: Security Services, Chapter 13 Solaris Cryptographic Framework (Overview). Oracle. September 2010 [2012-11-27]. （原始内容存档于2012-02-07）.  FreeBSD 8.2 Release Notes. FreeBSD.org. 2011-02-24 [2011-12-18]. （原始内容存档于2011-04-12）.  OpenSSL: CVS Web Interface. [2020-12-07]. （原始内容存档于2012-07-07）.  Bloombase StoreSafe Intelligent Storage Firewall. [2023-11-14]. （原始内容存档于2024-05-03）.  Intel®高级加密标准指令（AES-NI）（页面存档备份，存于互联网档案馆） AES指令集白皮书（页面存档备份，存于互联网档案馆） (4.4 Mbyte, pdf) // Intel