高级加密标准指令集现已经集成到许多处理器中。应用程序执行高级加密标准(AES)时,使用该指令集提高加密和解密的速度(以及对侧信道攻击的抵抗能力)。
x86架构
高级加密标准指令集(或称英特尔高级加密标准新指令,简称AES-NI)是一个x86指令集架构的扩展,用于Intel和AMD微处理器,由Intel在2008年3月提出。该指令集的目的是改进应用程序使用高级加密标准(AES)执行加密和解密的速度。
指令
指令 | 描述 |
---|---|
AESENC |
执行一轮AES加密流 |
AESENCLAST |
执行最后一轮AES加密流 |
AESDEC |
执行一轮AES解密流 |
AESDECLAST |
执行最后一轮AES解密流 |
AESKEYGENASSIST |
协助生成AES轮回密钥 |
AESIMC |
协助AES逆列混合 |
PCLMULQDQ |
无进位乘法(CLMUL) |
Intel
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
- AMD Ryzen处理器。
- AMD Bulldozer处理器。
- AMD Piledriver处理器。
- AMD Steamroller处理器。
- AMD Jaguar处理器。
- AMD Puma处理器。
其他架构中的硬件加速
在最新的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命令兼容ÿ