高级加密标准指令集(AES指令集)

高级加密标准指令集现已经集成到许多处理器中。应用程序执行高级加密标准(AES)时,使用该指令集提高加密和解密的速度(以及对侧信道攻击的抵抗能力)。

x86架构

高级加密标准指令集(或称英特尔高级加密标准新指令,简称AES-NI)是一个x86指令集架构的扩展,用于IntelAMD微处理器,由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

其他架构中的硬件加速

在最新的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散列算法。

x86 CPU的支持

VIA x86 CPUAMD Geode和Marvell Kirkwood(ARM,mv_cesa在Linux中)使用基于驱动程序的AES加速处理(另见Crypto API (Linux))。下列产品支持AES硬件加速,虽然不支持AES-NI指令集:

ARM架构

其他架构

性能

在《AES-NI 性能分析》中,Patrick Schmid和Achim Roos 指出:“...少数已使用英特尔 AES-NI 进行优化的应用程序表现出了傲人成绩”。  一次使用Crypto++函式庫执行的性能分析显示,相比没有加速的Pentium 4, AES/GCM的吞吐量从大约每字节28.0周期显著提升至每字节3.5周期。 

软件支持

大多数现代编译器能够利用AES指令。

许多安全和加密软件支持AES指令集,包括下列核心基础设施:

参考

参考资料

  1.  . Intel. [2008-04-05]. (原始内容存档于2008-04-07).
  2.  Shay Gueron. . Intel. 2010 [2012-09-20]. (原始内容存档于2012-10-29).
  3.  . Intel. [2016-05-14]. (原始内容存档于2016-04-25).
  4.  . [2019-03-22]. (原始内容存档于2019-09-18).
  5.  . [2016-05-14]. (原始内容存档于2015-04-24).
  6.  . [2016-05-14]. (原始内容存档于2016-04-25).
  7.  . [2016-05-14]. (原始内容存档于2014-08-08).
  8.  . [2016-05-14]. (原始内容存档于2011-08-13).
  9.  . [2016-05-14]. (原始内容存档于2016-03-22).
  10.  . [2016-05-14]. (原始内容存档于2017-09-04).
  11.  . AMD. November 22, 2010 [2011-01-04]. (原始内容存档于2010-11-26).
  12.  Dan Anderson. . Oracle. 2011 [2012-09-20]. (原始内容存档于2012-11-03).
  13.  Richard Grisenthwaite. (PDF). ARM. 2011 [2012-09-20]. (原始内容 (PDF)存档于2018-06-10).
  14.  Timothy Prickett Morgan. . The Register. 2012 [2012-09-20]. (原始内容存档于2012-08-24).
  15.  . IBM. [2014-01-27]. (原始内容存档于2014-02-01).
  16.  . AMD. [2016-05-14]. (原始内容存档于2014-01-30).
  17.  . VIA. [2011-11-14]. (原始内容存档于2011-05-15).
  18.  Cryptographic Hardware Accelerators (页面存档备份,存于) on OpenWRT.org
  19.  . VIA. [2011-11-14]. (原始内容存档于2011-11-11).
  20.  . VIA. [2011-11-14]. (原始内容存档于2007-04-19).
  21.  . [2016-05-14]. (原始内容存档于2016-05-14).
  22.  (PDF). [2014-12-03]. (原始内容存档 (PDF)于2015-09-23).
  23.  P. Schmid and A. Roos. . Tom's Hardware. 2010 [2010-08-10].
  24.  T. Krovetz, W. Dai. . Crypto++ user group. 2010 [2010-08-11]. (原始内容存档于2012-11-09).
  25.  . Crypto++ Website. 2009 [2010-08-10]. (原始内容存档于2010-09-19).
  26.  . Intel. March 2, 2010 [2010-07-11]. (原始内容存档于2010-07-07).
  27.  . 2012-05-02 [2012-11-25]. (原始内容存档于2014-04-13).
  28.  . Oracle. September 2010 [2012-11-27]. (原始内容存档于2012-02-07).
  29.  . FreeBSD.org. 2011-02-24 [2011-12-18]. (原始内容存档于2011-04-12).
  30.  . [2020-12-07]. (原始内容存档于2012-07-07).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rocazj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值