ShiftRows MixColumns AddRoundKey c

3.3.2. ShiftRows

ShiftRows merupakan langkah permutasi yang dieksekusi lewat pergeseran siklik secara memutar dengan geseran yang acak pada tiga baris terakhir state baris pertama, r = 0, tidak digeser. Untuk AES-128 baris ke dua digeser secara siklik ke kiri sekali, baris ke tiga dua kali, baris ke empat tiga kali Gambar 3.6.a dan b. ShiftRows , r s 1 , r s 2 , r s 3 , r s , r s′ 1 , r s′ 2 , r s′ 3 , r s′ a ShiftRows , s 1 , s 2 , s 3 , s , s 1 , s 2 , s 3 , s , 1 s 1 , 1 s 2 , 1 s 3 , 1 s 1 , 1 s 2 , 1 s 3 , 1 s , 1 s , 2 s 1 , 2 s 2 , 2 s 3 , 2 s 2 , 2 s 3 , 2 s , 2 s 1 , 2 s , 3 s 1 , 3 s 2 , 3 s 3 , 3 s 3 , 3 s , 3 s 1 , 3 s 2 , 3 s b Gambar3.6. Shift Rows

3.3.3. MixColumns

Transformasi MixColumns mengoperasikan state kolom demi kolom. Operasi ini dilakukan pada state kolom, dengan mengkoversikan setiap kolom sebagai polinomial. Kolom dianggap sebagai polinomial pada GF2 8 . Transformasi ini dapat digambarkan pada Gambar 3.7. dengan perkalian matriks seperti Persamaan 3.3. dan Persamaan 3.4.. ⎪ ⎪ ⎭ ⎪ ⎪ ⎬ ⎫ • ⊕ ⊕ ⊕ • = ′ • ⊕ • ⊕ ⊕ = ′ ⊕ • ⊕ • ⊕ = ′ ⊕ ⊕ • ⊕ • = ′ ] 02 [ ] 03 [ ] 03 [ ] 02 [ ] 03 [ ] 02 [ ] 03 [ ] 02 [ , 3 , 2 , 1 , , 3 , 3 , 2 , 1 , , 2 , 3 , 2 , 1 , , 1 , 3 , 2 , 1 , , c c c c c c c c c c c c c c c c c c c c s s s s s s s s s s s s s s s s s s s s ………………3.3. ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ′ ′ ′ ′ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ × ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ c c c c c c c c s s s s s s s s , 3 , 2 , 1 , , 3 , 2 , 1 , 02 01 01 03 03 02 01 01 01 03 02 01 01 01 03 02 ………………… 3.4. MixColumns , s 2 , s 3 , s , s′ 2 , s′ 3 , s′ , 1 s 2 , 1 s 3 , 1 s , 1 s′ 2 , 1 s′ 3 , 1 s′ , 2 s 2 , 2 s 3 , 2 s , 2 s′ 2 , 2 s′ 3 , 2 s′ , 3 s 2 , 3 s 3 , 3 s , 3 s′ 2 , 3 s′ 3 , 3 s′ Gambar3.7. Mix Coloum

3.3.4. AddRoundKey

c s , c s , 1 c s , 2 c s , 3 c s , ′ c s , 1 ′ c s , 2 ′ c s , 3 ′ Operasi ini merupakan suatu operasi dari penambahan kunci untuk setiap elemen pada finite field yang didefinisikan dengan operasi XOR tabel 2.3. dan setiap kunci round terdiri dari w[i] dimana w[i] merupakan sub kunci yang diturunkan dari kunci primer. Penjumlahan Bagian 2.3.1.1. dilakukan antara state dengan Round Key hasil ekspansi Gambar 3.8. . Persamaan 3.5. berikut ini menjabarkan penjumlahan tersebut. ] [ ] [ ] [ 4 , , 3 , , 2 , , 1 , , , , 3 , , 2 , , 1 , , c round c c c c c c c c w s s s s s s s s + ⊕ = ′ ′ ′ ′ …………… 3.5. dengan 0 ≤ c 4 penjumlahan per block. , s 2 , s 3 , s , s′ 2 , s′ 3 , s′ , 1 s 2 , 1 s 3 , 1 s , 1 s′ 2 , 1 s′ 3 , 1 s′ , 2 s 2 , 2 s 3 , 2 s 1 + w 2 1 + w 3 1 + w , 2 s′ 2 , 2 s′ 3 , 2 s′ , 3 s 2 , 3 s 3 , 3 s , 3 s′ 2 , 3 s′ 3 , 3 s′ Gambar3.8. Operasi XOR pada AddRoundKey

3.4. Ekspansi Kunci