Sabtu, 24 Oktober 2026
23:47 WIB
TERKINI
Bandar Lampung Waspada Hujan Ringan: Prakiraan Cuaca Lampung Sepanjang 24 Oktober 2026 Bandar Lampung Penundaan Pembahasan APBD Lampung 2027: Berkas dan Data Terkini Jadi Kunci Bandar Lampung Fokus Pendidikan dan Ekonomi Desa, Lampung Matangkan APBD 2027 Bandar Lampung Polisi Hadir di Jalanan: Ratusan Makan Siang Gratis Eratkan Hubungan Warga Bandar Lampung Bandar Lampung Ancaman Serius TNBBS: 23 Kasus Pidana Kehutanan Terungkap dalam Satu Dekade Bandar Lampung Penipuan Rekrutmen Honorer Rp20 Juta di Bandar Lampung Berakhir Damai Bandar Lampung Transformasi 40 Tahun FISIP Unila: Dari Prestasi Global hingga Riset Solutif Lampung Bandar Lampung Sinergi Lintas Sektor: TNBBS Perkuat Penegakan Hukum Lingkungan dengan Enam Strategi Bandar Lampung Dorong Gaya Hidup Sehat, Pemkot Bandar Lampung Dukung Jalan Sehat Akbar di Panjang Bandar Lampung Peringatan Petugas Diabaikan, Pemotor Tewas Tertabrak Kereta Babaranjang di Bandar Lampung Bandar Lampung Waspada Hujan Ringan: Prakiraan Cuaca Lampung Sepanjang 24 Oktober 2026 Bandar Lampung Penundaan Pembahasan APBD Lampung 2027: Berkas dan Data Terkini Jadi Kunci Bandar Lampung Fokus Pendidikan dan Ekonomi Desa, Lampung Matangkan APBD 2027 Bandar Lampung Polisi Hadir di Jalanan: Ratusan Makan Siang Gratis Eratkan Hubungan Warga Bandar Lampung Bandar Lampung Ancaman Serius TNBBS: 23 Kasus Pidana Kehutanan Terungkap dalam Satu Dekade Bandar Lampung Penipuan Rekrutmen Honorer Rp20 Juta di Bandar Lampung Berakhir Damai Bandar Lampung Transformasi 40 Tahun FISIP Unila: Dari Prestasi Global hingga Riset Solutif Lampung Bandar Lampung Sinergi Lintas Sektor: TNBBS Perkuat Penegakan Hukum Lingkungan dengan Enam Strategi Bandar Lampung Dorong Gaya Hidup Sehat, Pemkot Bandar Lampung Dukung Jalan Sehat Akbar di Panjang Bandar Lampung Peringatan Petugas Diabaikan, Pemotor Tewas Tertabrak Kereta Babaranjang di Bandar Lampung

Penjadwalan kunci AES

penjadwalan kunci yang dipakai untuk memperluas kunci menjadi tiap kunci ronde dalam AES

Bagikan:

AES menggunakan penjadwalan kunci untuk memperluas sebuah kunci pendek menjadi beberapa kunci ronde. Tiga variasi AES memiliki jumlah ronde yang berbeda. Tiap variasi membutuhkan kunci ronde 128 bit untuk tiap ronde ditambah satu.[catatan 1] Penjadwalan kunci ini menghasilkan kunci-kunci ronde yang dibutuhkan dari kunci asal.

Tetapan ronde

Nilai rci dalam heksadesimal
i 12345678910
rci 01020408102040801B36

Tetapan ronde rconi untuk ronde ke-i perluasan kunci adalah kata (word) 32 bit berikut:[catatan 2]

r c o n i = [ r c i 00 16 00 16 00 16 ] {\displaystyle rcon_{i}={\begin{bmatrix}rc_{i}&00_{16}&00_{16}&00_{16}\end{bmatrix}}} {\displaystyle rcon_{i}={\begin{bmatrix}rc_{i}&00_{16}&00_{16}&00_{16}\end{bmatrix}}}

dengan rci adalah nilai 8 bit yang didefinisikan sebagai berikut:

r c i = { 1 jika  i = 1 2 ⋅ r c i − 1 jika  i > 1  dan  r c i − 1 < 80 16 ( 2 ⋅ r c i − 1 ) ⊕ 11B 16 jika  i > 1  dan  r c i − 1 ≥ 80 16 {\displaystyle rc_{i}={\begin{cases}1&{\text{jika }}i=1\\2\cdot rc_{i-1}&{\text{jika }}i>1{\text{ dan }}rc_{i-1}<80_{16}\\(2\cdot rc_{i-1})\oplus {\text{11B}}_{16}&{\text{jika }}i>1{\text{ dan }}rc_{i-1}\geq 80_{16}\end{cases}}} {\displaystyle rc_{i}={\begin{cases}1&{\text{jika }}i=1\\2\cdot rc_{i-1}&{\text{jika }}i>1{\text{ dan }}rc_{i-1}<80_{16}\\(2\cdot rc_{i-1})\oplus {\text{11B}}_{16}&{\text{jika }}i>1{\text{ dan }}rc_{i-1}\geq 80_{16}\end{cases}}}

dengan ⊕ {\displaystyle \oplus } {\displaystyle \oplus } adalah operator XOR dan bilangan yang diakhiri angka 16 seperti 0016 dan 11B16 adalah bilangan heksadesimal.

AES menggunakan hingga rcon10 untuk AES-128 (karena butuh 11 kunci ronde), hingga rcon8 untuk AES-192, dan hingga rcon7 untuk AES-256.[catatan 3]

Penjadwalan kunci

330px-AES-Key_Schedule_128-bit_key.svg.png?utm_source=id.wikipedia.org&utm_campaign=parser&utm_content=thumbnail
Penjadwalan kunci AES untuk kunci 128 bit

Definisikan:

  • N sebagai panjang kunci dalam kelompok kata (word) 32 bit: 4 kata untuk AES-128, 6 kata untuk AES-192, dan 8 kata untuk AES-256
  • K0, K1, ... KN-1 sebagai kelompok kata 32 bit dari kunci asli
  • R sebagai jumlah kunci ronde yang dibutuhkan: 11 kunci ronde untuk AES-128, 13 kunci ronde untuk AES-192, dan 15 kunci ronde untuk AES-256[catatan 4]
  • W0, W1, ... W4R-1 sebagai kelompok kata 32 bit dari kunci yang telah diperluas/kunci ronde[catatan 5]

Definisikan pula RotWord sebagai suatu geseran melingkar kiri satu bita:[catatan 6]

RotWord ⁡ ( [ b 0 b 1 b 2 b 3 ] ) = [ b 1 b 2 b 3 b 0 ] {\displaystyle \operatorname {RotWord} ({\begin{bmatrix}b_{0}&b_{1}&b_{2}&b_{3}\end{bmatrix}})={\begin{bmatrix}b_{1}&b_{2}&b_{3}&b_{0}\end{bmatrix}}} {\displaystyle \operatorname {RotWord} ({\begin{bmatrix}b_{0}&b_{1}&b_{2}&b_{3}\end{bmatrix}})={\begin{bmatrix}b_{1}&b_{2}&b_{3}&b_{0}\end{bmatrix}}}

dan SubWord sebagai penerapan kotak-S AES (substitusi) kepada tiap bita dari kata empat bita:

SubWord ⁡ ( [ b 0 b 1 b 2 b 3 ] ) = [ S ⁡ ( b 0 ) S ⁡ ( b 1 ) S ⁡ ( b 2 ) S ⁡ ( b 3 ) ] {\displaystyle \operatorname {SubWord} ({\begin{bmatrix}b_{0}&b_{1}&b_{2}&b_{3}\end{bmatrix}})={\begin{bmatrix}\operatorname {S} (b_{0})&\operatorname {S} (b_{1})&\operatorname {S} (b_{2})&\operatorname {S} (b_{3})\end{bmatrix}}} {\displaystyle \operatorname {SubWord} ({\begin{bmatrix}b_{0}&b_{1}&b_{2}&b_{3}\end{bmatrix}})={\begin{bmatrix}\operatorname {S} (b_{0})&\operatorname {S} (b_{1})&\operatorname {S} (b_{2})&\operatorname {S} (b_{3})\end{bmatrix}}}

Lalu, untuk i = 0 … 4 R − 1 {\displaystyle i=0\ldots 4R-1} {\displaystyle i=0\ldots 4R-1},

W i = { K i jika  i < N W i − N ⊕ SubWord ⁡ ( RotWord ⁡ ( W i − 1 ) ) ⊕ r c o n i / N jika  i ≥ N  dan  i ≡ 0 ( mod N ) W i − N ⊕ SubWord ⁡ ( W i − 1 ) jika  i ≥ N ,  N > 6 , dan  i ≡ 4 ( mod N ) W i − N ⊕ W i − 1 lainnya. {\displaystyle W_{i}={\begin{cases}K_{i}&{\text{jika }}i<N\\W_{i-N}\oplus \operatorname {SubWord} (\operatorname {RotWord} (W_{i-1}))\oplus rcon_{i/N}&{\text{jika }}i\geq N{\text{ dan }}i\equiv 0{\pmod {N}}\\W_{i-N}\oplus \operatorname {SubWord} (W_{i-1})&{\text{jika }}i\geq N{\text{, }}N>6{\text{, dan }}i\equiv 4{\pmod {N}}\\W_{i-N}\oplus W_{i-1}&{\text{lainnya.}}\\\end{cases}}} {\displaystyle W_{i}={\begin{cases}K_{i}&{\text{jika }}i<N\\W_{i-N}\oplus \operatorname {SubWord} (\operatorname {RotWord} (W_{i-1}))\oplus rcon_{i/N}&{\text{jika }}i\geq N{\text{ dan }}i\equiv 0{\pmod {N}}\\W_{i-N}\oplus \operatorname {SubWord} (W_{i-1})&{\text{jika }}i\geq N{\text{, }}N>6{\text{, dan }}i\equiv 4{\pmod {N}}\\W_{i-N}\oplus W_{i-1}&{\text{lainnya.}}\\\end{cases}}}

Catatan kaki

  1. ↑ Variasi Rijndael non-AES membutuhkan kunci ronde hingga 256 bit per ronde.
  2. ↑ Dalam FIPS-197, nilai r c i {\displaystyle rc_{i}} {\displaystyle rc_{i}} adalah bita dengan nilai tempat terkecil pada indeks ke-0
  3. ↑ Variasi-variasi Rijndael dengan ukuran blok besar membutuhkan lebih banyak tetapan-tetapan ini, yaitu hingga rcon29 untuk kunci 128 bit dan ukuran blok 256 bit (butuh 15 kunci ronde 256 bit). Tetapan-tetapan lain untuk i ≥ 11 adalah 6C, D8, AB, 4D, 9A, 2F, 5E, BC, 63, C6, 97, 35, 6A, D4, B3, 7D, FA, EF, dan C5.
  4. ↑ Variasi Rijndael lain membutuhkan max(N, B) + 7 kunci ronde dengan B adalah ukuran blok dalam kata
  5. ↑ Variasi Rijndael lain membutuhkan BR kata dari kunci yang telah diperluas dengan B adalah ukuran blok dalam kata
  6. ↑ Rotasi tersebut adalah kebalikan dari urutan bita. Alamat bita FIPS-197 dalam larik bertambah dari kiri ke kanan[1] dalam little endian sehingga rotasinya dari kanan ke kiri. Dalam AES-NI[2] dan dalam lib/crypto/aes.c kernel Linux,[3] alamat bitanya dalam larik bertambah dari kanan ke kiri dalam little endian sehingga rotasinya dari kiri ke kanan.

Referensi

Daftar pustaka

Pranala luar

Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan