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 
 Instruksi Penjelasan AESENC Menjalankan satu ronde enkripsi AES AESENCLAST Menjalankan ronde terakhir enkripsi AES AESDEC Menjalankan satu ronde dekripsi AES AESDECLAST Menjalankan ronde terakhir dekripsi AES AESKEYGENASSIST Membantu dalam pembuatan kunci ronde AESInstruksi ini menghitung 4 perintah paralel perluasan kunci AES dalam empat kata 32 bit dalam double quadword (register SSE) pada bit X[127:96] untuk  dan X[63:32] untuk  saja. Dua substitusi paralel kotak-S AES  dan  dipakai dalam AES-256 serta dua perintah  dan  dipakai dalam AES-128, AES-192, dan AES-256. AESIMC Membantu dalam InverseMixColumns Rijndael

 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

Kategori:Arsitektur x86
Kategori:Instruksi x86
Kategori:Teknologi Advanced Micro Devices
Kategori:Standar Enkripsi Lanjutan