定义
高级加密标准指令集
(或称英特尔
高级加密标准新指令
,简称
AES-NI
)是一个
x86
指令集架构
的扩展,用于
Intel
和
AMD
微处理器
,由Intel在2008年3月提出。
[1]
该指令集的目的是改进应用程序使用
高级加密标准
(AES)执行加密和解密的速度。(AES-NI是一种CPU特性。)
性能
“在《AES-NI 性能分析》中,Patrick Schmid和Achim Roos 指出:“...少数已使用英特尔 AES-NI 进行优化的应用程序表现出了傲人成绩”。一次使用Crypto++函式库执行的性能分析显示,相比没有加速的Pentium 4, AES/GCM的吞吐量从大约每字节28.0周期显著提升至每字节3.5周期。”
查看CPU是否支持AES-NI
$ cat /proc/cpuinfo | grep aes
软件支持
大多数现代编译器能够利用AES指令。
许多安全和加密软件支持AES指令集,包括下列核心基础设施:
- Cryptography API: Next Generation (CNG)(需要Windows)
- Linux的Crypto API
- Java 7 HotSpot
- Network Security Services(NSS)3.13及更高版本(被Firefox和Google Chrome使用)
- Solaris Cryptographic Framework 从Solaris 10起。
- FreeBSD的OpenCrypto API(aesni(4) 驱动程序)
- OpenSSL 1.0.1及以上
- FLAM®/FLUC® 5.1.08(2015-08-24发布)及以上