a b
Gambar3.2. Algoritma a Cipher, dan b Invers Cipher pada AES-128
3.2. Representasi Data AES merepresentasikan data dengan cara urutan byte dan bit 0 atau 1
pada b
n
, dimana data diturunkan dari urutan input 128 bit per blok. Bit-bit tersebut diberi indeks mulai dari 0 sampai dengan 127 0
≤ i 128. Setiap
urutan 8 bit 1 byte diberlakukan sebagai entitas tunggal yang merupakan
elemen finite field dengan representasi polinomial pada Persamaan 3.1..
bx = b
7
x
7
+ b
6
x
6
+ b
5
x
5
+ b
4
x
4
+ b
3
x
3
+ b
2
x
2
+ b
1
x + b
0 ……………...
3.1.
Pengindeks-an bit dalam byte pada block dapat dilihat pada Tabel 3.1..
Tabel 3.1. Pengindeksan Aliran Input
Urutan Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 …
Input Input Input
1
… Posisi BitByte 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 …
State State
State
1
…
Cipher AES dilakukan pada array byte 2 dimensi yang disebut state.
Block data disusun dalam state yang terdiri atas empat baris Nb byte Nb =
panjang block4 adalah 4 untuk AES-128. Setiap byte diberi dua indeks yang
menyatakan posisinya, dinyatakan sebagai s
r,c
atau s[r,c], dengan indeks baris r row
dalam interval 0 ≤ r 4, sedangkan indeks kolom c coloum dalam 0
≤ c Nb. Data dalam state menginformasikan hasil setiap tahap transformasi intermediate result
. Input dikopi ke state array pada permulaan cipher dan inverse cipher,
kemudian state diperbaharui pada akhir setiap transformasi Gambar 3.1.. Nilai state pada transformasi yang terakhir kemudian dikopi ke output kembali
lihat Gambar 3.3. dengan pengindeks-an yang serupa Tabel 3.1.
Input State
Output in
4
in
8
in
12
in
,
s
1 ,
s
2 ,
s
3 ,
s out
4
out
8
out
12
out
1
in
5
in
9
in
13
in
, 1
s
1 ,
1
s
2 ,
1
s
3 ,
1
s
1
out
5
out
9
out
13
out
2
in
6
in
10
in
14
in
, 2
s
1 ,
2
s
2 ,
2
s
3 ,
2
s
2
out
6
out
10
out
14
out
3
in
7
in
11
in
15
in
, 3
s
1 ,
3
s
2 ,
3
s
3 ,
3
s
3
out
7
out
11
out
15
out
Gambar3.3. State array pada input dan output
State juga dapat dipandang sebagai word 4 byte, dengan indeks baris r dari
s
r,c
menyatakan indek dari keempat byte dalam setiap word. Dengan kata
lain, state ekivalen dengan array dari empat word yang berindeks c indek kolom dari s
r,c
seperti dilihat pada Gambar 3.4..
w = s
0,0 .
s
1,0 .
s
2,0 .
s
3,0
w
2
= s
0,2 .
s
1,2 .
s
2,2 .
s
3,2
w
1
= s
0,1 .
s
1,1 .
s
2,1 .
s
3,1
w
3
= s
0,3 .
s
1,3 .
s
2,3 .
s
3,3 ,
s
1 ,
s
2 ,
s
3 ,
s
, 1
s
1 ,
1
s
2 ,
1
s
3 ,
1
s
, 2
s
1 ,
2
s
2 ,
2
s
3 ,
2
s
, 3
s
1 ,
3
s
2 ,
3
s
3 ,
3
s W
w
1
w
2
w
3
Gambar3.4. State array ekivalen pada word array
3.3. Enkripsi