AES-NI

AES-NI (Advanced Encryption Standard New Instructions) はインテルおよびアドバンスト・マイクロ・デバイセズ (AMD) 製マイクロプロセッサのx86命令セットへの拡張機能で、2008年3月にインテルが発案した。

AES-NIの目的は、AESによる暗号化および復号の高速化にある。同様の機能に、VIA Technologiesのプロセッサに実装されているPadLockがある。

命令の一覧

AES-NIを実装したCPU
 Intel
WestmereをベースとしたCPU、具体的には:
 
 （Core i3を除く）
 （Core i3およびCore i5-4XXMを除く）
 Sandy Bridge
 デスクトップ: Pentium、Celeron、Core i3を除くすべてのプロセッサ
 モバイル: Core i7とCore i5のすべて。ベンダーによってはBIOS設定でAES-NI拡張を無効にして販売している場合がある。この場合、BIOSアップデートが必要である。
 Ivy Bridge
 Core i5、i7、Xeonとi3-2115C
 Haswell
 i3-4000m、Pentium、Celeronを除く
 Skylake
Intel Core、Pentium、Celeron、Xeon
 IntelはAES-NIをサポートしたプロセッサのリストをウェブサイト上で公開している。
 AMD
 Bulldozer
 Piledriver
 Steamroller
 Jaguar
 Puma
 Ryzen
 EPYC

性能
AES-NI Performance Analyzedにおいて、Patrick SchmidとAchim Roosは「……インテルのAES-NI機能を利用して最適化した一部のアプリケーションから目覚しい結果が」と述べた。

セキュリティライブラリのを用いた性能分析では、AES-GCMにおいてPentium 4との比較でおよそ28.0サイクル毎バイトから3.5サイクル毎バイトへのスループットの向上を示した。

AES-NIをサポートするソフトウェア
以下のソフトウェアは、AES-NIをサポートする。

ライブラリ 
 Cryptographic Development Kit (CDK) 7.0
  Microsoft Cryptography API: Next Generation (CNG)（要Windows 7）
 Crypto++ 5.6.1
 LinuxのCrypto API
 IAIK-JCE version 5.0
 Java 7 HotSpot
 lambdaWorks crypto
 Libgcrypt 1.5.0-beta1
 Integrated Performance Primitives (IPP)
 Network Security Services (NSS) 3.13以降（FirefoxなどMozillaソフトウェアやGoogle Chrome）
 OpenSSL
 Solaris Cryptographic Framework
 TRESOR
 wolfSSL
 GnuTLS

プログラミング言語 
 Go

アプリケーション 

 7-Zip 9.1
 AreaGuard Neo 1.7
 BestCrypt Volume Encryption
 BitLocker
 BlackCipher Game hack prevention module
 Bloombase Cryptographic Module
 Conceal File encryption utility for Windows
 Citrix XenClient 1.0以降
 DiskCryptor 0.9
 DiskSec 1.85
 DVDFab Passkey 9
 dm-cryptによるLinuxにおけるディスク全体の暗号化
 Embrane Heleos 2.0
 FileVault version 2 (Mac OS X Lion) ディスク全体のAES暗号化
 McAfee Endpoint Encryption for PC 6.x
 FreeBSDのOpenCrypto API（aesni(4)ドライバー）
 Oracle Database 11g Release 2 Patchset 1 (11.2.0.2) 透過的データ暗号化
 PGP Whole Disk Encryption Windowsにおいて10.1.0以降およびMac OS Xにおいて10.2.0以降
 SafeGuard Enterprise 6.0
 SecretAgent 6.1.1
 SecureDoc 5.2
 TrueCrypt 7.0
 VeraCrypt
 Vormetric Encryption 5

脚注

外部リンク
 Intel® Advanced Encryption Standard Instructions (AES-NI)
 AES instruction set whitepaper

CPU
x86アーキテクチャ
暗号