Analisis Algoritma AES Proteksi Sistem Manajemen Kartu Mifare untuk Perangkat Keamanan Sepeda Motor Menggunakan Algoritma AES

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