Set instruksi AES

Set instruksi Standar Enkripsi Lanjutan (set instruksi AES) adalah set instruksi yang bertujuan untuk mempercepat enkripsi dan dekripsi Standar Enkripsi Lanjutan (AES), sekaligus melindungi dari serangan saluran samping. Set instruksi ini telah digabungkan ke dalam banyak prosesor. Biasanya, operasi ini diimplementasikan dalam instruksi satu ronde tunggal dan satu ronde terakhir yang sedikit berbeda cara kerjanya.

Prosesor arsitektur x86 
AES-NI (Advanced Encryption Standard New Instructions milik Intel) adalah implementasi besar pertama. AES-NI adalah perluasan dari set instruksi x86 untuk mikroprosesor dari Intel dan AMD yang diusulkan oleh Intel pada Maret 2008.

Daftar instruksi

Intel 
Prosesor Intel berikut mendukung set instruksi AES-NI:
 Keluarga Westmere, khususnya
 Prosesor Westmere-EP (alias Gulftown Xeon seri 5600 model server DP)
 Prosesor Clarkdale, kecuali Core i3, Pentium, dan Celeron
 Prosesor Arrandale, kecuali Celeron, Pentium, Core i3, dan Core i5-4XXM
 Keluarga Sandy Bridge
 Desktop: semua, kecuali Pentium, Celeron, dan Core i3
 Mobil: semua Core i7 dan Core i5. Beberapa vendor telah menjual konfigurasi BIOS dengan perluasan dimatikan; pembaruan BIOS diperlukan untuk menyalakannya.
 Keluarga Ivy Bridge
 Semua i5, i7, Xeon, dan i3-2115C saja
 Keluarga Haswell (semua, kecuali i3-4000m, Pentium, dan Celeron)
 Keluarga Broadwell (semua, kecuali Pentium dan Celeron)
 Keluarga Silvermont/Airmont (semua, kecuali Bay Trail-D dan Bay Trail-M)
 Keluarga Goldmont (dan seterusnya)
 Keluarga Skylake (dan seterusnya)

AMD 
Beberapa prosesor AMD berikut mendukung instruksi AES:
 Keluarga Jaguar dan yang lebih baru
 Keluarga Puma dan yang lebih baru
 Prosesor "Heavy Equipment"
 Keluarga Bulldozer
 Keluarga Piledriver
 Keluarga Steamroller
 Keluarga Excavator dan yang lebih baru
 Keluarga Zen (dan seterusnya)

Percepatan perangkat keras dalam arsitektur lain

Kinerja 
Dalam AES-NI Performance Analyzed, Patrick Schmid dan Achim Roos menemukan "hasil yang memukau dari aplikasi-aplikasi yang telah dioptimalkan untuk menggunakan kemampuan AES-NI Intel".

Dukungan perangkat lunak 
Kebanyakan kompilator modern dapat menghasilkan instruksi AES.

Kebanyakan perangkat lunak keamanan dan kriptografi mendukung set instruksi AES:
 BitLocker
 Cryptography API: Next Generation (CNG) milik Microsoft (butuh Windows 7)
 Crypto API milik Linux
 FileVault 2 milik Apple dalam macOS 10.10+
 FLAM/FLUC 5.1.08 (dirilis 24 Agustus 2015) ke atas
 GnuTLS
 Go
 HotSpot di Java 7
 Layanan Keamanan Jaringan (NSS) versi 3.13 ke atas (dipakai oleh Firefox dan Google Chrome)
 Libsodium
 OpenCrypto API milik FreeBSD (pengandar aesni(4))
 OpenSSL 1.0.1 ke atas
 Solaris Cryptographic Framework pada Solaris 10 ke atas
 VeraCrypt
 Bloombase Cryptographic Module

Lihat pula 
 Advanced Vector Extensions (AVX)
 Set instruksi CLMUL
 Set instruksi FMA (FMA3, FMA4)
 RDRAND

Catatan

Referensi

Pranala luar 
  Intel Advanced Encryption Standard Instructions (AES-NI)
  AES instruction set whitepaper (2,93 MiB, PDF) dari Intel

Arsitektur x86
Instruksi x86
Teknologi Advanced Micro Devices
Standar Enkripsi Lanjutan