PERBANDINGAN ALGORITMA CAESAR CIPHER TERHADAP BLOWFISH 128 BIT UNTUK ENKRIPSI SMS BERBASIS JAVA YOYON TARYONO 41515110188 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
PERBANDINGAN ALGORITMA CAESAR CIPHER TERHADAP BLOWFISH 128 BIT UNTUK ENKRIPSI SMS BERBASIS JAVA Laporan Tugas Akhir Diajukan Untuk Melengkapi Persyaratan Memperoleh Gelar Sarjana Komputer YOYON TARYONO 41515110188 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
LEMBAR PERNYATAAN i
LEMBAR PENGESAHAN ii
KATA PENGANTAR Assalamu alaikum Warahmatullahi Wabarakatuh. Puji syukur penulis panjatkan kehadirat Allah SWT yang senantiasa memberikan ilmu, bimbingan, perlindungan dan karunia-nya, sehingga penulis dapat menyelesaikan tugas akhir yang berjudul Perbandingan Algoritma Caesar Cipher Terhadap Blowfish 128 Bit Untuk Enkripsi SMS Berbasis Java. Laporan ini disusun dengan tujuan untuk memenuhi salah satu syarat kelulusan dan mendapatkan gelar kesarjanaan Strata Satu (S1) pada Program Studi Teknik Informatika Fakultas Ilmu Komputer Universitas Mercubuana. Pada kesempatan kali ini, penulis ingin mengucapkan terimakasih kepada pihak-pihak yang telah memberikan dukungan dan kesempatan dalam proses penyusunan laporan tugas akhir ini hingga selesai, yaitu kepada: 1. Bapak Leo Goeirmanto, S.T, M.Sc, selaku pembimbing tugas akhir penulis yang telah memberikan motivasi yang begitu besar, saran, dukungan serta bersedia meluangkan waktu, pikiran dan tenaga untuk membimbing penulis. 2. Ibu Desi Ramayanti, S.Kom,M.T, selaku ketua prodi Teknik Informatika dan pembimbing akademik yang telah memberikan motivasi, bimbingan dan arahan selama penulis menjalani perkuliahan. 3. Bapak Diky Firdaus, S.Kom., M.M, selaku koordinator tugas akhir yang telah memberikan motivasi, bimbingan dan arahan selama penulis menjalani perkuliahan 4. Bapak Raka Yusuf, ST, MTI, selaku pembimbing akademik yang telah bersedia meluangkan waktu untuk berdiskusi dengan penulis terkait dengan Skripsi 5. Keluarga penulis Bapak Inta Sunaryo dan Ibu Marfuah yang selalu mendoakan dan memberikan dukungan serta motivasi dalam setiap langkah yang dilakukan penulis 6. Istri, Rika Mustika yang telah memberikan support dan menemani iii
bergadang. 7. Rekan-rekan seperjuangan Informatika Mercubuana khususnya 2015 dan seluruh pihak yang telah membantu kelancaran tugas akhir yang tidak bisa penulis sebutkan satu persatu. Semoga Allah SWT membalas semua kebaikan dan ilmu serta semangat yang telah diberikan kepada penulis. Penulis menyadari bahwa penulisan laporan tugas akhir ini masih terdapat kekurangan. Oleh karena itu, penulis sangat mengharapkan kritik maupun saran yang bersifat membangun dari berbagai pihak. Semoga laporan ini dapat bermanfaat bagi penulis dan pembaca. Jakarta, 8 Juli 2017 Yoyon Taryono iv
Daftar Isi LEMBAR PERNYATAAN... i LEMBAR PENGESAHAN... ii KATA PENGANTAR... iii ABSTRAKSI... v ABSTRACT... vi Daftar Isi... vii Daftar Gambar... x Daftar Tabel... xi Definisi... xii BAB 1. PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.1.1 Perkembangan Telepon Seluler... 1 1.1.2 Pengamanan Content Short Message Service... 2 1.2 Rumusan Permasalahan... 2 1.3 Tujuan & Manfaat Penelitian... 3 1.5.1 Tujuan Penelitian... 3 1.5.1 Manfaat Penelitian... 3 1.4 Ruang Lingkup & Batasan Penelitian... 4 1.5 Sistematika Penulisan Laporan... 4 1.5.1 Pendahuluan... 4 1.5.2 Landasan Teori... 4 1.5.3 Analisis Sistem... 5 1.5.4 Perancangan Sistem... 5 1.5.5 Implementasi Dan Testing... 5 1.5.6 Penutup... 5 BAB 2. LANDASAN TEORI... 6 2.1 Kriptografi... 6 2.2 Caesar Cipher... 6 2.3 Blowfish... 7 2.4 Kunci... 10 2.5 Enkripsi dan Dekripsi... 10 2.6 Short Message Service... 11 2.7 Android... 12 2.8 Tinjauan Pustaka... 14 vii
BAB 3. ANALISA SISTEM... 15 3.1 Analisa Sistem... 15 3.2 Penggunaan Kunci untuk Enkripsi dan Dekripsi... 16 BAB 4. PERANCANGAN... 19 4.1 Perancangan Sistem... 19 4.2 Flowchart Diagram... 19 4.2.1 Activity Diagram... 20 4.2.2 Algoritma Blowfish... 21 4.2.3 Algoritma Caesar Cipher... 23 4.2 Kebutuhan Perangkat Lunak Dan Perangkat Keras... 23 4.3 Kebutuhan Sistem... 24 4.3.1 Langkah Langkah Penyelesaian... 24 4.3.2 Perancangan Antarmuka... 26 4.4 Perancagan Basis Data... 31 Table 4.4 Struktur Data ta_user dan ta_smstable... 31 BAB 5. IMPLEMENTASI DAN PENGUJIAN... 32 5.1 Lingkkungan Implementasi... 32 5.1.1 Perangkat Keras... 32 5.1.2 Perangkat Lunak Platform... 32 5.2 Hasil Pengujian... 33 5.2.1 Skenario Uji Coba... 33 5.2.2 Hasil Uji Coba... 33 5.2.3 Pengujian Fungsionalitas Aplikasi... 34 BAB 6. PENUTUP... 40 6.1 Kesimpulan... 40 6.2 Saran... 40 Daftar Pustaka... 41 LAMPIRAN... 43 viii
Daftar Gambar Gambar 1 Market Share OS Smartphone... 1 Gambar 2 SMS Pelanggan di SMS Center... 2 Gambar 3 Jaringan Feistel untuk Algoritma Blowfish... 9 Gambar 4 Kunci Enkripsi dan Dekripsi... 10 Gambar 5 Proses Enkripsi... 11 Gambar 6 Alur SMS... 12 Gambar 7 Arsitektur OS Android... 12 Gambar 8 Flow SMS... 15 Gambar 9 Proses Pengiriman SMS... 16 Gambar 10 Proposal Solusi Pengiriman SMS... 17 Gambar 11 Flow Aplikasi SMS... 18 Gambar 12 Diagram Flowchart Aplikasi SMS Enkripsi... 20 Gambar 13 Activity Diagram... 20 Gambar 14 Skema Fungsi f... 21 Gambar 15 Pergeseran Alfabet... 23 Gambar 16 Activity Diagram Kirim SMS Enkripsi... 25 Gambar 17 Activity Diagram Dekripsi SMS... 26 Gambar 18 Perancangan Antarmuka Menu Utama Aplikasi Enkripsi SMS... 27 Gambar 19 Menu Send SMS Enkripsi... 28 Gambar 20 List SMS Inbox... 29 Gambar 21 Interface Dekripsi Inbox SMS... 29 Gambar 22 Hasil Dekripsi... 30 ix
Daftar Tabel Tabel 1 Pergeseran Alfabet (Ramsden, 1999)... 7 Tabel 2 Sumber Referensi... 14 Tabel 3 Hasil Testing Caesar Cipher... 33 Tabel 4 Hasil Testing Blowfish... 33 x
Definisi Istilah Algoritma Algoritma Kriptografi Algoritma Kunci Asimetris Algoritma Kunci Simetris Caesar Cipher Cipher Ciphertext Confidentiality Pengertian Urutan atau langkah-langkah yang disusun secara logis untuk menyelesaikan masalah dengan sistematis Langkah-langkah logis bagaimana menyembunyikan pesan dari orang yang tidak berhak mengetahui isi dari pesan yang dikirimkan Algoritma yang menggunakan kunci berbeda untuk mengenkripsi dan mendekripsi pesan Algoritma yang mengugunakan satu kunci untuk memproses pesan enkripsi dan dekripsi Metode enkripsi berjenis cipher substitusi, dimana setiap huruf pada plaintext-nya akan digantikan dengan huruf lainnya Fungsi matematika yang akan digunakan untuk enkripsi dan dekripsi pesan Pesan yang sudah disandikan Informasi yang dikirimkan bersifat rahasia, dan tidak semua orang memiliki wewenang untuk melihat informasi yang dikirim dan diterima. Dekripsi Eavesdropper Enkripsi Integrity Proses pengembalian pesan yang telah disandikan agar bisa dibaca dan dimengerti oleh pihak penerima pesan Orang yang mempunyai hasrat untuk mengetahui dan mendapatkan informasi dari pesan yang sengaja disembunyikan oleh pengirim pesan Suatu proses untuk menyamarkan makna pesan yang dikirimkan kepada pihak penerima pesan sehingga orang yang tidak berhak melihat isi pesan tersebut menganggap pesan tersebut tidak berarti Keaslian isi pesan yang disampaikan tidak mengalami perubahan hingga pesan tersebut sampai ditangan xi
Keyspace Kriptanalis Kriptanalisis Kriptografer Kriptografi Kriptologi Kriptologis Message Autentication Nonrepudiation Plaintext Receiver Sender Blowfish pihak penerima. Kunci memiliki nilai bilangan yang sangat besar, dan besar kecilnya sebuah kunci Orang yang menyerang metode kriptografi untuk mencari tau isi pesan yang disampaikan pihak pengirim Orang yang mempelajari kriptanalis Orang yang mempelajari dan menggunakan metode kriptografi sebagai salah satu cara untuk mengamankan pesan yang akan di sampaikan kepada penerima Ilmu dan seni untuk menjaga keamanan pesan ketika pesan akan dikirimkan ke suatu tempat Cabang ilmu yang mempelajari kriptografi dan kriptanalisis Orang yang mempelajari kriptologi Kepastian siapa saja entitas yang terlibat dan keaslian sumber data yang diterima Setiap orang yang terlibat dalam pengiriman atau penerimaan pesan tidak bisa menyangkal atas data yang sudah dikirimkan maupun data yang sudah diterima Pesan asli atau pesan yang belum disandikan menjadi bentuk tulisan yang tidak bisa terbaca maknanya Orang yang menerima Pesan Orang yang mengirimkan pesan Merupakan algoritma enkripsi simteris cipher blok yang dirancang oleh krptaanalis, Bruce Schneider pada tahun 1993 xii