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