AES-NI

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

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

命令の一覧
 命令 機能 AESENC 暗号化フローの1ラウンドを実行する AESENCLAST 暗号化フローの最終ラウンドを実行する AESDEC 復号フローの1ラウンドを実行する AESDECLAST 復号フローの最終ラウンドを実行する AESKEYGENASSIST 次のラウンドで使用するキーを生成する AESIMC 各ラウンドでのミックスカラム処理を行う PCLMULQDQ キャリーなし乗算 (CLMUL)

AES-NIを実装したCPU
 Intel
WestmereをベースとしたCPU、具体的には:

 （Core i3を除く）
 （Core i3およびCore i5-4XXMを除く）
 Sandy Bridge
 デスクトップ: Pentium、Celeron、Core i3を除くすべてのプロセッサAnandTech - The Sandy Bridge Review: Intel Core i7-2600K, i5-2500K and Core i3-2100 TestedCompare Intel® Products
 モバイル: Core i7とCore i5のすべて。ベンダーによってはBIOS設定でAES-NI拡張を無効にして販売している場合があるAES-NI support in TrueCrypt (Sandy Bridge problem)。この場合、BIOSアップデートが必要である。
 Ivy Bridge
 Core i5、i7、Xeonとi3-2115C
 Haswell
 i3-4000mhttp://ark.intel.com/products/75104/Intel-Core-i3-4000M-Processor-3M-Cache-2_40-GHz、Pentium、Celeronを除く
 Skylake
Intel Core、Pentium、Celeron、Xeon
 IntelはAES-NIをサポートしたプロセッサのリストをウェブサイト上で公開しているARK: Advanced Search。
 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.1Tom's Hardware: AES-NI Performance Analyzed (Benchmark Results: 7-Zip)Tom's Hardware: Four Compression And Archiving Solutions Compared (7-Zip 9.1 Beta)
 AreaGuard Neo 1.7
 BestCrypt Volume Encryption
 BitLocker
 BlackCipher Game hack prevention module
 Bloombase Cryptographic Module
 Conceal File encryption utility for WindowsConceal- Encrypting Data just got better
 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

Category:CPU
Category:x86アーキテクチャ
Category:暗号