Set instruksi AES

perluasan dari set instruksi x86
(Dialihkan dari AES-NI)

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

sunting

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.[1]

Daftar instruksi

sunting
Instruksi Penjelasan[2]
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 AES[catatan 1]
AESIMC Membantu dalam InverseMixColumns Rijndael

Prosesor Intel berikut mendukung set instruksi AES-NI:[3]

  • 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[4][5]
    • Mobil: semua Core i7 dan Core i5. Beberapa vendor telah menjual konfigurasi BIOS dengan perluasan dimatikan;[6] pembaruan BIOS diperlukan untuk menyalakannya.[7]
  • Keluarga Ivy Bridge
    • Semua i5, i7, Xeon, dan i3-2115C[8] saja
  • Keluarga Haswell (semua, kecuali i3-4000m,[9] 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)

Beberapa prosesor AMD berikut mendukung instruksi AES:

Percepatan perangkat keras dalam arsitektur lain

sunting

Kinerja

sunting

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".[11]

Dukungan perangkat lunak

sunting

Kebanyakan kompilator modern dapat menghasilkan instruksi AES.

Kebanyakan perangkat lunak keamanan dan kriptografi mendukung set instruksi AES:

Lihat pula

sunting

Catatan

sunting
  1. ^ Instruksi 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.

Referensi

sunting
  1. ^ "Intel Software Network". Intel. Diarsipkan dari versi asli tanggal 7 April 2008. Diakses tanggal 5 April 2008. 
  2. ^ Shay Gueron (2010). "Intel Advanced Encryption Standard (AES) Instruction Set White Paper" (PDF). Intel. Diakses tanggal 20 September 2012. 
  3. ^ "Intel Product Specification Advanced Search". Intel ARK. 
  4. ^ Shimpi, Anand Lal. "The Sandy Bridge Review: Intel Core i7-2600K, i5-2500K and Core i3-2100 Tested". 
  5. ^ "Intel Product Specification Comparison". Intel ARK. 
  6. ^ "AES-NI support in TrueCrypt (Sandy Bridge problem)". 
  7. ^ "Intel® Core™ i5-2410M Processor (3M Cache, up to 2.90 GHz) Product Specifications". Some products can support AES New Instructions with a Processor Configuration update, in particular, i7-2630QM/i7-2635QM, i7-2670QM/i7-2675QM, i5-2430M/i5-2435M, i5-2410M/i5-2415M. Please contact OEM for the BIOS that includes the latest Processor configuration update. 
  8. ^ "Intel Core i3-2115C Processor (3M Cache, 2.00 GHz) Product Specifications". 
  9. ^ "Intel Core i3-4000M Processor (3M Cache, 2.40 GHz) Product Specifications". Intel ARK. 
  10. ^ "Following Instructions". AMD. 22 November 2010. Diarsipkan dari versi asli tanggal 26 November 2010. Diakses tanggal 4 Januari 2011. 
  11. ^ P. Schmid dan A. Roos (2010). "AES-NI Performance Analyzed". Tom's Hardware. Diakses tanggal 10 Agustus 2010. 
  12. ^ Shimpi, Anand Lal. "The Clarkdale Review: Intel's Core i5 661, i3 540 & i3 530". www.anandtech.com. Diakses tanggal 26 Juni 2020. 
  13. ^ "Intel Advanced Encryption Standard Instructions (AES-NI)". Intel. 2 Maret 2010. Diarsipkan dari versi asli tanggal 7 Juli 2010. Diakses tanggal 11 Juli 2010. 
  14. ^ "www.flam.de :: Products". flam.de. 
  15. ^ "Cryptographic Backend (GnuTLS 3.6.14)". gnutls.org. Diakses tanggal 26 Juni 2020. 
  16. ^ "aes - The Go Programming Language". golang.org. Diakses tanggal 2020-06-26. 
  17. ^ "AES-NI enhancements to NSS on Sandy Bridge systems". 2 Mei 2012. Diakses tanggal 25 November 2012. 
  18. ^ "AES-GCM in libsodium". libsodium.org. 
  19. ^ "FreeBSD 8.2 Release Notes". FreeBSD.org. 24 Februari 2011. Diarsipkan dari versi asli tanggal 2011-04-12. Diakses tanggal 18 Desember 2011. 
  20. ^ "OpenSSL: CVS Web Interface". Diarsipkan dari versi asli tanggal 7 Juli 2012. 
  21. ^ "System Administration Guide: Security Services, Chapter 13 Solaris Cryptographic Framework (Overview)". Oracle. September 2010. Diakses tanggal 27 November 2012. 
  22. ^ "Hardware Acceleration". www.veracrypt.fr. 

Pranala luar

sunting