ABSTRAK
PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD (AES) UNTUK ENKRIPSI DAN DEKRIPSI PADA APLIKASI SMS BERBASIS MOBILE ANDROID
Oleh :
NASRULLAH ARIFIN
1209705106
SMS (Short Message Service) merupakan layanan yang disediakan oleh telepon seluler untuk mengirim dan menerima pesan singkat, SMS dinilai sangat praktis, murah dan efisien. Algoritma Blowfish dan AES merupakan dua diantara banyak metode yang mempunyai keunggulan dalam melakukan enkripsi dan dekripsi, algoritma Blowfish dengan melakukan 16 kali putaran dan menerapkan F-fungsi serta kotak –S dan operasi penambahan XOR membuat tingkat pengacakan begitu rumit. Metode yang kedua adalah metode algoritma AES deng melakukan 10 kali putaran dan jaringan Feistel serta menggunakan operasi subtitusi dan permutasi membuat tingkat pengacakan tidak akan kalah rumit dengan algoritma Blowfish karena AES melalui beberapa tahap putaran yaitu Byte Subtitution, Shipting Rows, AddRoundkey dan InvMixColumm. Dengan membandingkan algoritma Blowfish dan AES makan akan dapat diketahui cara kerja dan performasi dalam kecepatan dan ketepatan serta keunggulan lainnya dari kedua algoritma tersebut sehingga metode yang terbaik dapat digunakan untuk aplikasi SMS berbasis android. Setelah dilakukan tahap analisis dan pengujian maka didapatkan hasil bahwa algoritma AES lebih rumit dalam pengacakan terbukti dengan hasil Plaintext lebih banyak dari Blowfish namun dalam sisi efisien maka algoritma Blowfish lebih diunggulkan karena terbukti sedikit dalam hasil Plaintext
Kata kunci : SMS (Short Message Service),Blowfish,AES,Enkripsi dan Dekripsi
BAB IV
IMPLENTASI DAN PENGUJIAN
4.1 Implemntasi Aplikasi
4.1.1 Implementasi Antarmuka (Interface)
Antarmuka aplikasi di implementasikan pada Eclipse Indigo dan perangkat keras seperti mobile phone dan laptop. Implementasi antarmuka tiap-tiap menu dan diujicobakan pada tahap pengujian. Berikut ini adalah implentasi antarmuka dari aplikasi Enkripsi SMS.
4.1.2 Tampilan Splash Screen dan Dashboard Aplikasi
Implementasi dari aplikasi Enkripsi SMS saat pertama kali membuka aplikasi tersebut, user akan melihat tampilan splash screen yang kemudian system akan menuju daftar menu utama yang berisi form menu:
Gambar 4.1 SplashScreen Gambar 4.2 Dashboard
Tampilan awal pada aplikasi ini adalah halaman SplashScreen dengan durasi 5 detik kemudian masuk ke halaman Dashboard aplikasi
4.1.3 Tampilan Create SMS
Gambar 4.4 Create SMS Blowfish Gambar 4.5 Create SMS AES
Pada tampilan Create SMS ini ada 2 buah pilihan yaitu bisa kirim SMS dengan melakukan enkrip algoritma Blowfish atau AES untuk tampilan keduanya seperti pada Gambar 4.3 dan Gambar 4.4, pada form ini terdapat beberapa kolom yaitu kolom untuk menmasukan nomor, kolom untuk menulis pesan dan kolom untuk mengisikan key atau kunci serta ada dua buah tombol untuk melakukan enkrip dan kirim SMS.
4.1.4 Tampilan Enkrip dan kirim SMS
Gambar 4.7 Proses Enkripsi Gambar 4.8 Hasil Ciphertext
Pada form ini pertama tulis nomer tujuan atau bisa ambil dari kontak telepon kemudian tulis pesan dan masukan key sebagai password kita lalu klik tombol Enkripsi baik Blowfish ataupun AES seperti Gambar 4.7 untuk melakukan generate pesan menjadi Ciphertext, dan hasilnya bisa langsung kita ketahui pada TextView Ciphertext selesai itu pesan bisa langsung dikirim dengan mengklik tombol Send Message, tunggu sampai ada laporan terkirim atau gagal dalam pengiriman SMS.
4.1.5 Tampilan inbox dan Dekrip SMS
Gambar 4.10 Tampilan
Inbox Gambar
4.11 Tampilan Detail Inbox.
Ketika ada pesan masuk
dan diterima aplikasi maka kita bisa melihatnya pada form Inbox pada aplikasi
ini, semua pesan SMS di android yang diterima akan bisa di lihat pada form Inbox
ini, pesan yang diterima berupa nomor pengirim, pesan SMS, hari bulan dan
tanggal, serta jam penerimaan SMS tersebut seperti pada Gambar 4.10, setelah kita
klik untuk melihat pesan lebih detail maka
di tampilkan seperti pada Gambar
4.11 disana terdapat 2 tombol
plihan untuk melakukan Dekripsi bisa melalui algoritma Blowfish atau AES sesuai
dengan Enkrip ketika melakukan pengiriman SMS. Setelah kita memilih metode
algoritma untuk melakukan Dekrip SMS maka kita akan di antarkan pada form untuk
melakukan dekripsi seperti pada Gambar 4.12 dan Gambar 4.13 seseuai dengan algortima yang dipilih.
Gambar 4.12 Tampilan Dekrip Blowfish Gambar 4.13 Tampilan Dekrip AES
Gambar 4.12 Tampilan Dekrip Blowfish Gambar 4.13 Tampilan Dekrip AES
4.1.6 Tampilan About Blowfish dan About AES
Gambar 4.15 Tampilan About
Blowfish Gambar 4.16 Tampilan About AES
Tampilan About Algoritma ini bertujuan untuk mengenalkan setiap metode
algoritma masing-masing seperti pada Gambar
4.15 dan Gambar 4.16.
4.1.7 Tampilan About me dan Exit
aplikasi
Gambar 4.17 Tampilan About me Gambar 4.18 Tampilan Exit
aplikasi
Tampilan About me ini
adalah informasi data dari pembuat aplikasi SMS enkripsi ini seperti pada Gambar 4.14 dan terakhir adalah
tampilan Exit aplikasi tujuannya
untuk keluar aplikasi dengan cara sesuai aturan aplikasi tidak secara paksa
seperti pada Gambar 4.15 ketika
tombol exit ini di klik maka akan muncul tampilan pilihan “Are you sure want to exit?” ketika dipilih Yes maka aplikasi akan
keluar dan ketika NO maka akan tetap berada di aplikasi.
4.2.2 Perancangan
Kasus Uji
1.
Kasus Uji 1
Kasus uji 1 memberikan skenario
pengujian panjang karakter masing-masing algoritma dalam mengenkripsi dan mendekripsi file teks SMS.
2.
Kasus Uji 2
Kasus uji 2 memberikan skenario
pengujian inputan berupa kombinasi nomor, huruf, dan symbol masing-masing algoritma dalam mengenkripsi
dan mendekripsi teks SMS.
3.
Kasus Uji 3
Kasus uji 3 memberikan skenario dimana
file hasil enkripsi menggunakan kedua algoritma dihapus beberapa bit sebanyak
jumlah yang acak, lalu hasil akhirnya didekripsi kembali untuk melihat
perubahannya.
4.
Kasus Uji 4
Kasus uji 4 memberikan skenario dimana
file hasil enkripsi menggunakan
kedua algoritma ditambah beberapa bit
sebanyak jumlah yang acak, lalu hasil
akhirnya didekripsi kembali untuk
melihat perubahannya.
5.
Kasus Uji 5
Kasus
uji 4 memberikan skenario dimana file hasil enkripsi menggunakan kedua
algoritma dimodifikasi beberapa bit sebanyak jumlah yang acak, lalu hasil
akhirnya didekripsi kembali untuk melihat perubahannya.
4.2.3
Evaluasi Hasil Pengujian
1.
Dari kasus uji 1, hasil yang didapat
adalah kedua algoritma ini memiliki perbedaan banyaknya karakter hasil yang
dekripsi, dan waktu yang digunakan oleh kedua algoritma relatif sama singkat,
yaitu sama-sama dibawah 1 detik
2.
Kasus uji 2 kedua algoritma bisa dengan
lancar melakukan enkripsi dan dekripsi dan hasilnyapun tidak jauh berbeda
dengan inputan teks biasa.
3.
Kasus uji 3 memberikan hasil, baik untuk
AES maupun Blowfish, berupa sampai
dengan bagian blok yang dikurangi beberapa bit, file teks tidak mengalami perubahan,
sedangkan pada blok yang dikurangi terjadi perubahan beberapa karakter dan
dilanjutkan rentetan blok-blok acak yang sama sekali tidak bersesuaian dengan
file teks asal hingga akhir file.
4.
Kasus uji 4 memberikan hasil serupa
dengan kasus uji 3 untuk kedua algoritma, yaitu blok yang ditambah berubah
beberapa karakter, seterusnya file menjadi acak hingga akhir file.
5.
Kasus uji 5 memberikan hasil perubahan
yang terjadi hanya terdapat pada blok yang dirubah. Perubahan tersebut hanya
berupa ketidaksesuaian beberapa karakter saja, namun tidak terjadi perubahan
sama sekali pada blok-blok sebelum dan sesudah bagian yang termodifikasi. Kedua
algoritma sama-sama mendemonstrasikan kesalahan yang tidak jauh berbeda. Dari
kasus uji 3 dan 4 serta perbandingannya
dengan kasus uji 5, dapat dianalisis bahwa kerusakan file yang muncul
dikarenakan bergesernya titik awal semua blok setelah terjadinya penambahan
atau pengurangan bit, sehingga proses dekripsi file memberikan hasil yang
berbeda jauh dari file asal.
4.2.4 Perbandingan Komponen Keamanan
Tabel 4.2. Perbandingan
Komponen Keamanan
Komponen
|
Blowfish
|
AES
|
Algoritma
|
16 putaran ; menggunakan jaringan Feistel dan kotak-S; menggunakan operasi penambahan, XOR, dan lookup table
|
10 putaran; menggunakan jaringan Feistel; menggunakan operasi substitusi dan permutasi,
|
Panjang blok
|
64 bit
|
128
|
Panjang kunci
|
Bervariasi panjang maksimal 448 bit
|
128-bit,
192-bit, atau 256-bit
|
Tingkat pengacakan
|
Rumit , karena menggunakan jaringan Feistel 16 putaran dan 4 kotak-S yang bergantung pada kunci
|
Rumit, karena melalui beberapa tahap putaran yaitu Byte Subtitution, Shifting rows, AddRoundkey
dan InvMixColumn.
|
Penjadwalan kunci internal
|
Penjadwalan kunci internal bergantung pada kunci eksternal;
cara pembangkitan dengan menggunakan operasi penambahan dan XOR
|
Penjadwalan kunci internal bergantung pada kunci eksternal;
cara pembangkitan dengan menggunakan operasi substitusi dan permutasi,
|
Pembangkitan kotak-S
|
Cara pembangkitan kotak-S dilakukan dengan operasi
penambahan dan XOR; kotak-S bergantung pada kunci
|
Cara pembangkitan kotak-S dilakukan dengan substitusi
kebalikan (inverse S-
box).
|
Mungkin dalam pembuatan aplikasi ini masih sangat banyak yang harus di koreksi maka dari itu silahkan bagi anda yang membaca tulisan saya ini untuk melayangkan komentar atau kritik maupun saran sebanyak mungkin untuk pembelajaran dimasa yang akan datang,,
jika anda ingin mencoba aplikasi ini silahkan anda download filenya berikut ini,,,