3.3 Analisis Algoritma AES
Algoritma AES berfungsi untuk mengenkripsi kode id pada sistem dan merubahnya menjadi kode sandi. Selain itu, Algoritma AES juga berfungsi sebagai dekripsi kode
sandi menjadi kode id kembali.
Mulai Input kode id
Addround key ROUND = 0
Round ++ SubByte
ShiftRows Mix columns
Addround key Jika Round=10
SubByte true
ShiftRows Addroundkey
Kode sandi Selesai
false Mulai
Input kode sandi
Addround key ROUND = 0
Round ++ Inverse SubByte
Inverse ShiftRows Inverse Mix Columns
Addround key Jika Round=10
Inverse SubByte true
Inverse ShiftRows Addroundkey
Kode id Selesai
Proses Enkripsi Proses Dekripsi
false Algoritma AES
Gambar 3.4. Flowchart Sistem Proses Enkripsi dan Dekripsi
Dari Gambar 3.4. dapat dilihat proses enkripsi dan dekripsi yang dilakukan oleh algoritma AES didalam sistem manajemen kartu mifare. Adapun proses yang
dilakukan oleh algoritma AES untuk mengenkripsi dan mendekripsikan kode id didalam sistem manajemen kartu mifare adalah sebagai berikut:
1. Input kode id plaintext perangkat keamanan sepeda motor kedalam sistem pada form registrasi.
Universitas Sumatera Utara
2. Kode id lalu dienkripsi oleh algoritma AES dengan beberapa tahapan, yaitu :
a. Untuk memulai proses enkripsi diperlukan sebuah S box, dimana S box dapat dilihat pada tabel 3.1
Tabel 3.1 Tabel SBox 1
2 3
4 5
6 7
8 9
A b
c d
e F
0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76 1 Ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
2 b7 Fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15 3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
4 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84 5 53 d1 00 ed 20 fc b1 5b 6a Cb Be 39 4a 4c 58 cf
6 d0 Ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8 7 51 a3 40 8f 92 9d 38 f5 bc b6 Da 21 10 ff
f3 d2
8 Cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73 9 60 81 4f dc 22 2a 90 88 46 Ee b8 14 de 5e 0b db
a e0 32 3a 0a 49 06 24 5c c2 d3 Ac 62 91 95 e4 79 b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c Ba 78 25 2e 1c a6 b4 c6 e8 Dd 74 1f 4b bd 8b 8a d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16
b. AddRoundKeyinitial round melakukan kombinasi antara plain teks yang sudah ada dengan chipper key menggunakan hubungan
XOR. Pada Gambar 3.5. dapat dilihat chipper key dan state. XOR
dilakukan per kolom yaitu kolom-1 chipper teks di XOR dengan kolom-1 round key dan seterusnya.
Gambar 3.5. Matriks 4x4 state dan chipper key
Universitas Sumatera Utara
c. Lakukan putaran sebanyak Nr-1 kali. Sedangkan proses yang dilakukan pada setiap putarannya adalah sebagai berikut :
1. Transformasi SubBytes Transformasi subtitusi byte non linear yang dioperasikan secara
independen pada setiap byte dengan menggunakan tabel subtitusi s-box dimana s-box tersebut juga memiliki invers yang
digunakan untuk proses dekripsi nantinya.
Gambar 3.6. Ilustrasi Sub Bytes Sumber : M.D Nuryatin, 2014
Pada proses ini dilakukan pencocokan antara state yang telah dimasukkan ke dalam matriks 4x4. Untuk jelasnya dapat dilihat pada
gambar 3.6. Setelah mendapatkan State, maka proses subtitusi dilakukan
antara state dan S-Box. Berdasarkan contoh maka proses yang terjadi sebagai berikut :
1. Mengambil elemen dari Si dan Sj dimana i menunjukkan baris dan j menujukkan kolom dari matriks State.
2. Berdasarkan elemen yang telah diambil, karakter pertama diambil sebagai penunjuk baris, dan karakter kedua diambil sebagai
penunjuk kolom pada S-Box. 3. Setelah didapatkan elemen pada S-Box, elemen yang telah
diperoleh tersebut disubtitusikan pada matriks State. 4. Proses diulangi untuk setiap elemen pada matriks State
Universitas Sumatera Utara
Berdasarkan uraian proses diatas, maka hal yang terjadi dengan State kita miliki adalah sebagai berikut :
a. Mengambil elemen S
00
, S
01
, S
02
, S
03
, , … ,S
33
didapatkan elemen {e0,48,28,04
,…,e5}. b. Untuk elemen S00 maka didapatkan baris e dan kolom 0 pada
matriks S-Box, adalah elemen e1. Seperti yang ditunjukkan pada gambar 3.5. Kemudian untuk elemen S01 didapatkan 52, elemen
S02 didapatkan 34, elemen S03 didapatkan f2 , … , dan untuk
elemen S33 didapatkan 69. c. Selanjutnya setiap elemen yang ditemukan, disubtitusikan sehingga
matriks setelah melakukan subtitusi menjadi seperti pada gambar 3.8.
1 2
3 4
5 6
7 8
9 a
b c
d e
F
63 7c 77
7b f2
6b 6f
c5 30
01 67 2b
fe d7
ab 76
1 Ca 82
c9 7d
fa 59 47
f0 ad
d4 a2
af 9c
a4 72
c0
2
b7 Fd 93
26 36
3f f7
cc 34
a5 e5
f1 71 d8
31 15
3 04
c7 23
c3 18
96 05 9a 07
12 80 e2
eb 27
b2 75
4 09
83 2c 1a
1b 6e
5a a0
52 3b d6
b3 29
e3 2f
84
5 53
d1 00
ed 20
fc b1
5b 6a Cb be 39
4a 4c 58
cf
6 d0
Ef aa
fb 43
4d 33 85
45 f9
02 7f
50 3c
9f a8
7 51
a3 40
8f 92
9d 38 f5
bc b6
da 21 10
ff f3
d2
8 Cd
0c 13 ec
5f 97 44
17 c4
a7 7e 3d
64 5d 19
73
9 60
81 4f
dc 22
2a 90 88
46 Ee b8 14
de 5e 0b
db
a e0
32 3a 0a
49 06 24
5c c2 d3
ac 62
91 95 e4
79
b e7
c8 37
6d 8d
d5 4e
a9 6c
56 f4
ea 65
7a ae
08
c
Ba 78 25
2e 1c
a6 b4
c6 e8 Dd 74
1f 4b bd
8b 8a
d 70
3e b5 66
48 03
f6 0e 61
35 57 b9
86 c1
1d 9e
e
e1 f8
98 11
69 d9
8e 94 9b
1e 87 e9
ce 55 28
df
f 8c
a1 89
0d bf
e6 42
68 41
99 2d 0f
b0 54 bb
16
Gambar 3.7 Visualisasi dari pemilihan subbyte dengan nilai pada State adalah E0
E1 52
34 F2
If 41
6f 33
D4 66
F7 Cd
Ee Da
29 69
Gambar 3.8 Hasil dari State yang telah disubtitusi.
Universitas Sumatera Utara
2. Transformasi ShiftRows ShiftRows adalah proses yang melakukan shift atau pergeseran
pada setiap elemen bloktabel yang dilakukan pada setiap barisnya. Pada baris pertama tidak dilakukan pergeseran, baris
kedua dilakukan pergeseran 1 byte. Baris ketiga dilakukan pergeseran 2 byte, dan baris keempat dilakukan pergeseran 3
byte.
E1 52 34 F2 E1 52 34 F2
E1 52 34 F2 33 41 6f If
Bergeser 1 byte
33 41 6f If 33 41 6f If
D4 66 F7 Cd F7 Cd D4 66
Bergeser 2 byte F7 Cd D4 66
Ee Da 29 69 Ee Da 29 69
69 Ee Da 29 Bergeser 3 byte
Gambar 3.9. Gambar pergeseran elemen
3. Transformasi MixColumns Yang terjadi saat MixColumns adalah mengalikan tiap elemen
dari blok chipper dengan matriks. Perkalian secara bergantian oleh setiap baris dari state.
Tabel 3.2. perkalian MixColumns
4. Add Round key Pada proses add round key ini, proses yang dilakukan oleh XOR
antara state dengan subkeys. Setelah keempat proses selesai. Proses ini diulangi sampai
mendapatkan chipper key seperti pada Gambar 3.10. dan 3.11. E1
52 34
F2 33
41 6f
If F7
Cd D4
66 69
Ee Da
29 2
3 1
1 1
2 3
1 1
1 2
3 3
1 1
2
Universitas Sumatera Utara
Gambar 3.10. Hasil dari proses kedua hingga keenam
Gambar 3.11. Hasil dari ketujuh hingga mendapatkan Chiperteks
3. Setelah kode sandi didapatkan dari proses enkripsi, kode sandi disimpan diluar system aplikasi dalam format .txt. Kode sandi akan digunakan
Universitas Sumatera Utara
kembali pada saat konektifitas antara perangkat keamanan sepeda motor dengan sistem.
4. Pada proses dekripsi, kode sandi akan kembali diubah menjadi kode id. Proses yang dilakukan oleh algoritma AES untuk mendekripsi kode sandi
adalah kebalikan dari proses enkripsi yaitu Inverse AddRoundKey, Inverse SubByte, Inverse ShiftRows dan Inverse Mixcolumns.
5. Dekripsi kode sandi akan secara otomatis dijalankan pada tahap konektifitas antara perangkat keamanan sepeda motor dengan sistem. hasil
dari dekripsi ini akan menghubungkan perangkat keamanan sepeda motor dengan sistem.
3.4 Perancangan Antarmuka