Identitas Kelompok
Konversi Plaintext & Kunci (ASCII) ā Hexadesimal & Biner
1. Kelompok Anda memiliki informasi (plaintext) yang terdiri dari 16 karakter ASCII (128-bit).
2. Plaintext kelompok Anda akan dienkripsi menggunakan algoritma AES-128. Untuk mengenkripsi plaintext
tersebut, kelompok Anda memiliki kunci rahasia (key) yang terdiri dari 16 karakter ASCII (128-bit).
Penyusunan State Matrix & Key Matrix 4Ć4 (Column-Major Order)
Kolom 0: Byte 0..3 | Kolom 1: Byte 4..7 | Kolom 2: Byte 8..11 | Kolom 3: Byte 12..15.
AddRoundKey Awal (Ronde 0 / Pre-Round Transformation)
State_R0[r, c] = Plaintext[r, c] ā Key[r, c].
| Posisi (r,c) | Ph (Hex) | Pb (Biner) | Kh (Hex) | Kb (Biner) | Hasil XOR (Biner, isi sendiri) |
|---|
Key Expansion AES-128 (Pembangkitan Subkunci Ronde 1: W4āW7)
Pembangkitan Subkunci Ronde 1 (W4, W5, W6, W7) dilakukan melalui 3 sub-langkah bertahap di bawah ini:
Rcon[1] ([01, 00, 00, 00]).2. Hitung tiap kolom: W4 = W0 ā temp, W5 = W1 ā W4, W6 = W2 ā W5, W7 = W3 ā W6.
Ronde 1 ā Transformasi SubBytes (S-Box)
| Posisi (r,c) | Byte Input State | Indeks Baris (Hex Kiri) | Indeks Kolom (Hex Kanan) | Hasil S-Box (Hex) |
|---|---|---|---|---|
| (0,0) | -- |
|||
| (1,1) | -- |
|||
| (2,2) | -- |
|||
| (3,3) | -- |
Ronde 1 ā Transformasi ShiftRows
⢠Baris 0: tidak digeser (tetap) | ⢠Baris 1: geser 1 byte ke kiri | ⢠Baris 2: geser 2 byte ke kiri | ⢠Baris 3: geser 3 byte ke kiri.
Ronde 1 ā Transformasi MixColumns di Medan Galois GF(28)
State Kolom 0 Input: [ s0,0,
s1,0, s2,0, s3,0 ] |
State Kolom 3 Input: [ s0,3,
s1,3, s2,3, s3,3 ]
Hitung nilai perkalian Galois perantara (hanya suku yang bukan perkalian dengan 01) dan hasil XOR akhir
untuk keempat elemen sudut berikut:
S'0,0 = (02 ⢠s0,0) ā (03 ⢠s1,0) ā (01 ⢠s2,0) ā (01 ⢠s3,0)
S'3,0 = (03 ⢠s0,0) ā (01 ⢠s1,0) ā (01 ⢠s2,0) ā (02 ⢠s3,0)
S'0,3 = (02 ⢠s0,3) ā (03 ⢠s1,3) ā (01 ⢠s2,3) ā (01 ⢠s3,3)
S'3,3 = (03 ⢠s0,3) ā (01 ⢠s1,3) ā (01 ⢠s2,3) ā (02 ⢠s3,3)
Ronde 1 ā AddRoundKey Ronde 1 (State Akhir Ronde 1)
| Posisi (r,c) | Sh (Hex) | Sb (Biner) | Kh (Hex) | Kb (Biner) | Hasil XOR (Biner, isi sendiri) |
|---|
Rekapitulasi Otomatisasi Perhitungan Ronde 2 sampai 9
| Ronde | State Awal (Hex) | SubBytes (Hex) | ShiftRows (Hex) | MixColumns (Hex) | Round Key (Hex) | State Akhir (MixColumns ā Round Key) |
|---|
Ronde 10 ā Ronde Final (SubBytes ā ShiftRows ā AddRoundKey)
š” Asal State Input Ronde 10:
Matriks State Input (Hasil Ronde 9) di bawah adalah hasil akhir dari Ronde 9, yaitu operasi AddRoundKey pada Ronde 9 (hasil XOR antara kolom MixColumns Ronde 9 dan Round Key Ronde 9 pada tabel di Bagian 9).
Urutan pengerjaan ronde final adalah:
State_R10 = AddRoundKey( ShiftRows( SubBytes(State_R9) ), RoundKey_10 ).