Set instruksi AES: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 25616359; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 2: | Baris 2: | ||
== Prosesor arsitektur x86 == | == 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 [[Advanced Micro Devices|AMD]] yang diusulkan oleh Intel pada Maret 2008. | 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 [[Advanced Micro Devices|AMD]] yang diusulkan oleh Intel pada Maret 2008.<ref>[http://softwareprojects.intel.com/avx/ Intel Software Network]. Intel.</ref> | ||
=== Daftar instruksi === | === Daftar instruksi === | ||
{| class="wikitable plainrowheaders" | |||
! scope=col | Instruksi | |||
! scope=col | Penjelasan<ref>Shay Gueron. [https://www.intel.com/content/dam/doc/white-paper/advanced-encryption-standard-new-instructions-set-paper.pdf Intel Advanced Encryption Standard (AES) Instruction Set White Paper]. Intel. 2010.</ref> | |||
|- | |||
! scope=row | <code>AESENC</code> | |||
| Menjalankan satu ronde enkripsi AES | |||
|- | |||
! scope=row | <code>AESENCLAST</code> | |||
| Menjalankan ronde terakhir enkripsi AES | |||
|- | |||
! scope=row | <code>AESDEC</code> | |||
| Menjalankan satu ronde dekripsi AES | |||
|- | |||
! scope=row | <code>AESDECLAST</code> | |||
| Menjalankan ronde terakhir dekripsi AES | |||
|- | |||
! scope=row | <code>AESKEYGENASSIST</code> | |||
| Membantu dalam pembuatan kunci ronde AES<ref>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 i = 3 dan X[63:32] untuk i = 1 saja. Dua substitusi paralel kotak-S AES Y_0 = \operatorname{SubWord}(X_1) dan Y_2 = \operatorname{SubWord}(X_3) dipakai dalam AES-256 serta dua perintah Y_1 = \operatorname{RotWord}(\operatorname{SubWord}(X_1)) \oplus rcon dan Y_3 = \operatorname{RotWord}(\operatorname{SubWord}(X_3)) \oplus rcon dipakai dalam AES-128, AES-192, dan AES-256.</ref> | |||
|- | |||
! scope=row | <code>AESIMC</code> | |||
| Membantu dalam [[MixColumns Rijndael#InverseMixColumns|InverseMixColumns Rijndael]] | |||
|} | |||
=== Intel === | === Intel === | ||
Prosesor [[Intel]] berikut mendukung set instruksi AES-NI: | Prosesor [[Intel]] berikut mendukung set instruksi AES-NI:<ref>[https://ark.intel.com/Search/FeatureFilter?productType=processors Intel Product Specification Advanced Search]. ''Intel ARK''.</ref> | ||
* Keluarga [[Westmere (mikroarsitektur)|Westmere]], khususnya | * Keluarga [[Westmere (mikroarsitektur)|Westmere]], khususnya | ||
** Prosesor Westmere-EP (alias [[Gulftown (mikroprosesor)|Gulftown]] Xeon seri 5600 model server DP) | ** Prosesor Westmere-EP (alias [[Gulftown (mikroprosesor)|Gulftown]] Xeon seri 5600 model server DP) | ||
| Baris 14: | Baris 35: | ||
** Prosesor [[Arrandale (mikroprosesor)|Arrandale]], kecuali Celeron, Pentium, Core i3, dan Core i5-4XXM | ** Prosesor [[Arrandale (mikroprosesor)|Arrandale]], kecuali Celeron, Pentium, Core i3, dan Core i5-4XXM | ||
* Keluarga [[Sandy Bridge (mikroarsitektur)|Sandy Bridge]] | * Keluarga [[Sandy Bridge (mikroarsitektur)|Sandy Bridge]] | ||
** Desktop: semua, kecuali Pentium, Celeron, dan Core i3 | ** Desktop: semua, kecuali Pentium, Celeron, dan Core i3<ref>Anand Lal Shimpi. [http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i5-2600k-i5-2500k-and-core-i3-2100-tested/2 The Sandy Bridge Review: Intel Core i7-2600K, i5-2500K and Core i3-2100 Tested].</ref><ref>[http://ark.intel.com/compare/53415,63913,58667,53480,53481,53482,53483,53484,53485,53490,53491,53492,53416,53414 Intel Product Specification Comparison]. ''Intel ARK''.</ref> | ||
** Mobil: semua Core i7 dan Core i5. Beberapa vendor telah menjual konfigurasi [[BIOS]] dengan perluasan dimatikan; pembaruan BIOS diperlukan untuk menyalakannya. | ** Mobil: semua Core i7 dan Core i5. Beberapa vendor telah menjual konfigurasi [[BIOS]] dengan perluasan dimatikan;<ref>[http://forum.notebookreview.com/windows-os-software/582628-aes-ni-support-truecrypt-sandy-bridge-problem.html AES-NI support in TrueCrypt (Sandy Bridge problem)].</ref> pembaruan BIOS diperlukan untuk menyalakannya.<ref>[http://ark.intel.com/products/52224 Intel® Core™ i5-2410M Processor (3M Cache, up to 2.90 GHz) Product Specifications].</ref> | ||
* Keluarga [[Ivy Bridge (mikroarsitektur)|Ivy Bridge]] | * Keluarga [[Ivy Bridge (mikroarsitektur)|Ivy Bridge]] | ||
** Semua i5, i7, Xeon, dan i3-2115C saja | ** Semua i5, i7, Xeon, dan i3-2115C<ref>[http://ark.intel.com/products/68332/Intel-Core-i3-2115C-Processor-(3MB-Cache-2_00-GHz) Intel Core i3-2115C Processor (3M Cache, 2.00 GHz) Product Specifications].</ref> saja | ||
* Keluarga [[Haswell (mikroarsitektur)|Haswell]] (semua, kecuali i3-4000m, Pentium, dan Celeron) | * Keluarga [[Haswell (mikroarsitektur)|Haswell]] (semua, kecuali i3-4000m,<ref>[http://ark.intel.com/products/75104/Intel-Core-i3-4000M-Processor-3M-Cache-2_40-GHz Intel Core i3-4000M Processor (3M Cache, 2.40 GHz) Product Specifications]. ''Intel ARK''.</ref> Pentium, dan Celeron) | ||
* Keluarga [[Broadwell (mikroarsitektur)|Broadwell]] (semua, kecuali Pentium dan Celeron) | * Keluarga [[Broadwell (mikroarsitektur)|Broadwell]] (semua, kecuali Pentium dan Celeron) | ||
* Keluarga [[Silvermont (mikroarsitektur)|Silvermont/Airmont]] (semua, kecuali Bay Trail-D dan Bay Trail-M) | * Keluarga [[Silvermont (mikroarsitektur)|Silvermont/Airmont]] (semua, kecuali Bay Trail-D dan Bay Trail-M) | ||
| Baris 29: | Baris 50: | ||
* Keluarga [[Puma (mikroarsitektur)|Puma]] dan yang lebih baru | * Keluarga [[Puma (mikroarsitektur)|Puma]] dan yang lebih baru | ||
* Prosesor "Heavy Equipment" | * Prosesor "Heavy Equipment" | ||
** Keluarga [[Bulldozer (mikroarsitektur)|Bulldozer]] | ** Keluarga [[Bulldozer (mikroarsitektur)|Bulldozer]]<ref>[http://blogs.amd.com/work/2010/11/22/following-instructions/ Following Instructions]. AMD. 22 November 2010.</ref> | ||
** Keluarga [[Piledriver (mikroarsitektur)|Piledriver]] | ** Keluarga [[Piledriver (mikroarsitektur)|Piledriver]] | ||
** Keluarga [[Steamroller (mikroarsitektur)|Steamroller]] | ** Keluarga [[Steamroller (mikroarsitektur)|Steamroller]] | ||
| Baris 36: | Baris 57: | ||
== Percepatan perangkat keras dalam arsitektur lain == | == Percepatan perangkat keras dalam arsitektur lain == | ||
== Kinerja == | == 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". | 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".<ref>P. Schmid dan A. Roos. [http://www.tomshardware.com/reviews/clarkdale-aes-ni-encryption,2538.html AES-NI Performance Analyzed]. Tom's Hardware. 2010.</ref> | ||
== Dukungan perangkat lunak == | == Dukungan perangkat lunak == | ||
| Baris 45: | Baris 64: | ||
Kebanyakan [[perangkat lunak]] keamanan dan kriptografi mendukung set instruksi AES: | Kebanyakan [[perangkat lunak]] keamanan dan kriptografi mendukung set instruksi AES: | ||
* [[BitLocker Drive Encryption|BitLocker]] | * [[BitLocker Drive Encryption|BitLocker]]<ref>Anand Lal Shimpi. [https://www.anandtech.com/show/2901 The Clarkdale Review: Intel's Core i5 661, i3 540 & i3 530]. ''www.anandtech.com''.</ref> | ||
* [[Microsoft CryptoAPI|Cryptography API: Next Generation (CNG)]] milik Microsoft (butuh [[Windows 7]]) | * [[Microsoft CryptoAPI|Cryptography API: Next Generation (CNG)]] milik Microsoft (butuh [[Windows 7]])<ref>[https://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/ Intel Advanced Encryption Standard Instructions (AES-NI)]. Intel. 2 Maret 2010.</ref> | ||
* [[Crypto API (Linux)|Crypto API]] milik Linux | * [[Crypto API (Linux)|Crypto API]] milik Linux | ||
* [[FileVault|FileVault 2]] milik Apple dalam [[macOS]] 10.10+ | * [[FileVault|FileVault 2]] milik Apple dalam [[macOS]] 10.10+ | ||
* FLAM/FLUC 5.1.08 (dirilis 24 Agustus 2015) ke atas | * FLAM/FLUC 5.1.08 (dirilis 24 Agustus 2015) ke atas<ref>[http://flam.de/en/technology/products/ www.flam.de :: Products]. ''flam.de''.</ref> | ||
* [[GnuTLS]] | * [[GnuTLS]]<ref>[https://gnutls.org/manual/html_node/Cryptographic-Backend.html Cryptographic Backend (GnuTLS 3.6.14)]. ''gnutls.org''.</ref> | ||
* [[Go (bahasa pemrograman)|Go]] | * [[Go (bahasa pemrograman)|Go]]<ref>[https://golang.org/pkg/crypto/aes/ aes - The Go Programming Language]. ''golang.org''.</ref> | ||
* [[HotSpot]] di [[Java]] 7 | * [[HotSpot]] di [[Java]] 7 | ||
* [[Layanan Keamanan Jaringan]] (NSS) versi 3.13 ke atas (dipakai oleh [[Firefox]] dan [[Google Chrome]]) | * [[Layanan Keamanan Jaringan]] (NSS) versi 3.13 ke atas<ref>[https://bugzilla.mozilla.org/show_bug.cgi?id=706024 AES-NI enhancements to NSS on Sandy Bridge systems]. 2 Mei 2012.</ref> (dipakai oleh [[Firefox]] dan [[Google Chrome]]) | ||
* Libsodium | * Libsodium<ref>[https://download.libsodium.org/doc/secret-key_cryptography/aead#aes-256-gcm AES-GCM in libsodium]. ''libsodium.org''.</ref> | ||
* OpenCrypto API milik [[FreeBSD]] (pengandar aesni(4)) | * OpenCrypto API milik [[FreeBSD]] (pengandar aesni(4))<ref>[http://www.freebsd.org/releases/8.2R/relnotes.html FreeBSD 8.2 Release Notes]. FreeBSD.org. 24 Februari 2011.</ref> | ||
* [[OpenSSL]] 1.0.1 ke atas | * [[OpenSSL]] 1.0.1 ke atas<ref>[http://cvs.openssl.org/fileview?f=openssl/CHANGES&v=1.1686 OpenSSL: CVS Web Interface].</ref> | ||
* [[Solaris Cryptographic Framework]] pada [[Solaris]] 10 ke atas | * [[Solaris Cryptographic Framework]]<ref>[http://docs.oracle.com/cd/E19253-01/816-4557/scf-1/index.html System Administration Guide: Security Services, Chapter 13 Solaris Cryptographic Framework (Overview)]. Oracle. September 2010.</ref> pada [[Solaris]] 10 ke atas | ||
* [[VeraCrypt]] | * [[VeraCrypt]]<ref>[https://www.veracrypt.fr/en/Hardware%20Acceleration.html Hardware Acceleration]. ''www.veracrypt.fr''.</ref> | ||
* [[Bloombase]] Cryptographic Module | * [[Bloombase]] Cryptographic Module | ||
| Baris 68: | Baris 87: | ||
== Catatan == | == Catatan == | ||
== Pranala luar == | == Pranala luar == | ||
* [https://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/ Intel Advanced Encryption Standard Instructions (AES-NI)] | * [https://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/ Intel Advanced Encryption Standard Instructions (AES-NI)] | ||
* [https://software.intel.com/sites/default/files/article/165683/aes-wp-2012-09-22-v01.pdf AES instruction set whitepaper] (2,93 MiB, PDF) dari Intel | * [https://software.intel.com/sites/default/files/article/165683/aes-wp-2012-09-22-v01.pdf AES instruction set whitepaper] (2,93 MiB, PDF) dari Intel | ||
== Referensi == | |||
<references /> | |||
== Sumber dan atribusi == | == Sumber dan atribusi == | ||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Set+instruksi+AES&oldid=25616359 Wikipedia bahasa Indonesia], revisi 25616359 (2024-04-25T09:55:59Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Set+instruksi+AES&oldid=25616359 Wikipedia bahasa Indonesia], revisi 25616359 (2024-04-25T09:55:59Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | ||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 23 Agustus 2026 13.59
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.[1]
Daftar instruksi
| 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[3] |
AESIMC
|
Membantu dalam InverseMixColumns Rijndael |
Intel
Prosesor Intel berikut mendukung set instruksi AES-NI:[4]
- Keluarga Westmere, khususnya
- Keluarga Sandy Bridge
- Keluarga Ivy Bridge
- Semua i5, i7, Xeon, dan i3-2115C[9] saja
- Keluarga Haswell (semua, kecuali i3-4000m,[10] 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[11]
- 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".[12]
Dukungan perangkat lunak
Kebanyakan kompilator modern dapat menghasilkan instruksi AES.
Kebanyakan perangkat lunak keamanan dan kriptografi mendukung set instruksi AES:
- BitLocker[13]
- Cryptography API: Next Generation (CNG) milik Microsoft (butuh Windows 7)[14]
- Crypto API milik Linux
- FileVault 2 milik Apple dalam macOS 10.10+
- FLAM/FLUC 5.1.08 (dirilis 24 Agustus 2015) ke atas[15]
- GnuTLS[16]
- Go[17]
- HotSpot di Java 7
- Layanan Keamanan Jaringan (NSS) versi 3.13 ke atas[18] (dipakai oleh Firefox dan Google Chrome)
- Libsodium[19]
- OpenCrypto API milik FreeBSD (pengandar aesni(4))[20]
- OpenSSL 1.0.1 ke atas[21]
- Solaris Cryptographic Framework[22] pada Solaris 10 ke atas
- VeraCrypt[23]
- Bloombase Cryptographic Module
Lihat pula
- Advanced Vector Extensions (AVX)
- Set instruksi CLMUL
- Set instruksi FMA (FMA3, FMA4)
RDRAND
Catatan
Pranala luar
- Intel Advanced Encryption Standard Instructions (AES-NI)
- AES instruction set whitepaper (2,93 MiB, PDF) dari Intel
Referensi
- ↑ Intel Software Network. Intel.
- ↑ Shay Gueron. Intel Advanced Encryption Standard (AES) Instruction Set White Paper. Intel. 2010.
- ↑ 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 i = 3 dan X[63:32] untuk i = 1 saja. Dua substitusi paralel kotak-S AES Y_0 = \operatorname{SubWord}(X_1) dan Y_2 = \operatorname{SubWord}(X_3) dipakai dalam AES-256 serta dua perintah Y_1 = \operatorname{RotWord}(\operatorname{SubWord}(X_1)) \oplus rcon dan Y_3 = \operatorname{RotWord}(\operatorname{SubWord}(X_3)) \oplus rcon dipakai dalam AES-128, AES-192, dan AES-256.
- ↑ Intel Product Specification Advanced Search. Intel ARK.
- ↑ Anand Lal Shimpi. The Sandy Bridge Review: Intel Core i7-2600K, i5-2500K and Core i3-2100 Tested.
- ↑ Intel Product Specification Comparison. Intel ARK.
- ↑ AES-NI support in TrueCrypt (Sandy Bridge problem).
- ↑ Intel® Core™ i5-2410M Processor (3M Cache, up to 2.90 GHz) Product Specifications.
- ↑ Intel Core i3-2115C Processor (3M Cache, 2.00 GHz) Product Specifications.
- ↑ Intel Core i3-4000M Processor (3M Cache, 2.40 GHz) Product Specifications. Intel ARK.
- ↑ Following Instructions. AMD. 22 November 2010.
- ↑ P. Schmid dan A. Roos. AES-NI Performance Analyzed. Tom's Hardware. 2010.
- ↑ Anand Lal Shimpi. The Clarkdale Review: Intel's Core i5 661, i3 540 & i3 530. www.anandtech.com.
- ↑ Intel Advanced Encryption Standard Instructions (AES-NI). Intel. 2 Maret 2010.
- ↑ www.flam.de :: Products. flam.de.
- ↑ Cryptographic Backend (GnuTLS 3.6.14). gnutls.org.
- ↑ aes - The Go Programming Language. golang.org.
- ↑ AES-NI enhancements to NSS on Sandy Bridge systems. 2 Mei 2012.
- ↑ AES-GCM in libsodium. libsodium.org.
- ↑ FreeBSD 8.2 Release Notes. FreeBSD.org. 24 Februari 2011.
- ↑ OpenSSL: CVS Web Interface.
- ↑ System Administration Guide: Security Services, Chapter 13 Solaris Cryptographic Framework (Overview). Oracle. September 2010.
- ↑ Hardware Acceleration. www.veracrypt.fr.
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 25616359 (2024-04-25T09:55:59Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.