OPTIMASI ALGORITMA PLAYFAIR CIPHER DAN DERET TAYLOR UNTUK KEAMANAN PESAN SMS BERBASIS ANDROID SMARTPHONE TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Oleh : Rizky Fauzi NIM. 07560441 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2013
LEMBAR PERSETUJUAN OPTIMASI ALGORITMA PLAYFAIR CIPHER DAN DERET TAYLOR UNTUK KEAMANAN PESAN SMS BERBASIS ANDROID SMARTPHONE TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Menyetujui, Pembimbing I Pembimbing II Ir. M. Irfan, MT NIP. 108.9203.0255 Wahyu Andhyka Kusuma, S.Kom NIP. ii
LEMBAR PERNYATAAN Yang bertanda tangan dibawah ini : NAMA : RIZKY FAUZI NIM : 07560441 FAK./JUR. : TEKNIK / INFORMATIKA Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul OPTIMASI ALGORITMA PLAYFAIR CIPHER DAN DERET TAYLOR UNTUK KEAMANAN PESAN SMS BERBASIS ANDROID SMARTPHONE beserta seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya. Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko/ sanksi yang berlaku. Mengetahui, Dosen Pembimbing Malang, 13 September 2013 Yang Membuat Pernyataan Ir. M. Irfan, MT NIP. 108.9203.0255 Rizky Fauzi iii
LEMBAR PENGESAHAN OPTIMASI ALGORITMA PLAYFAIR CIPHER DAN DERET TAYLOR UNTUK KEAMANAN PESAN SMS BERBASIS ANDROID SMARTPHONE TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Disusun Oleh : Rizky Fauzi NIM. 07560441 Tugas Akhir ini telah diuji dan dinyatakan lulus melalui sidang majelis pengujian pada tanggal 8 Mei 2013 Penguji I Menyetujui, Penguji II Hariyady, S.Kom, MT NIP. 101.9406.0262 Mengetahui, Ketua jurusan Teknik Informatika Zamah Sari, ST, MT NIDN. 0708087701 Eko Budi Cahyono, S.Kom, MT NIP. 10895040330 iv
KATA PENGANTAR Atas Berkat Rohmat Alloh Yang Maha Kuasa segala karunia serta bimbingannya, sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul Optimasi Algoritma Playfair Cipher Dan Deret Taylor Untuk Keamanan Pesan SMS Berbasis Android Smartphone. Tugas Akhir ini diajukan untuk memperoleh gelar Sarjana Komputer di Jalur Pilihan Teknik Informatika, Universitas Muhammadiyah Malang. Penulis juga tidak melupakan semua pihak yang telah mendukung pelaksanaan Tugas Akhir dan penyusunan laporan Tugas Akhir ini. Tugas Akhir ini tidak akan bisa terselesaikan dengan baik tanpa adanya bantuan dari seluruh pihak baik teknis maupun moral dan pada kesempatan ini penulis menghaturkan terima kasih kepada : 1. Eko Budi Cahyono, S.kom, M.T Kepala Program Studi Fakultas Teknik Jurusan Informatika. 2. Ir. M. Irfan, M.T dan Wahyu Andhyka Kusuma, S.Kom selaku dosen pembimbing Tugas Akhir. 3. Yuda Munarko, S.T, MSc, selaku dosen wali. 4. Para dosen pengajar mata kuliah serta dosen penguji atas segala curahan ilmunya yang bermanfaat. 5. Ayahanda Hery Soejono dan Ibunda Siti Istitaningsih yang selalu memberikan perhatian, dukungan materi terutama do a dan kasih sayangnya serta kesabarannya dalam menunggu hingga terselesaikannya Tugas Akhir ini. 6. Mursyid Thoriqoh Shiddiqiyyah Syekh Muchtarulloh Al-Mujtaba, beserta kholifahnya khususnya kepada Bpk. Muchyiddin yang tak henti-hentinya mendidik penulis menjadi seindah-indah permata abdan syakuuro. 7. Kakak tercinta, Vanda Arief Jauhari dan Dheny Chandra atas perhatian dukungan dan semangatnya. 8. Keponakan-keponakan kecilku little wings Andra Lazuardi, Mahendra Arya dan Almira Dewanti. v
9. Novan atas ide masukan generate key, Sofian Hadiwinata atas fasilitasnya hingga saya menghabiskan bandwith, tinta dan kertasnya. 10. Seluruh Staf Tata Usaha Program Studi Teknik Informatika UMM, Staf Tata Usaha Laboratorium dan Jaringan Komputer yang telah membantu segala kelancaran administrasi Tugas Akhir. Serta tak lupa untuk Bpk. Ahyar Muslimin beserta staf tata usaha dan para dosen di Pascasarjana UMM, Prof. Dr. Syamsul Arifin, M.Si dengan tugas-tugas spontannya yang memberikan banyak pengalaman berharga selama masa 2 tahun penulis sebagai tenaga kerja kontrak. 11. Rekan-rekan sejawat di Teknik Informatika Angkatan 2007 atas perhatian, dukungan, dan semangat yang diberikan selama tugas akhir ini. 12. Serta, seluruh pihak yang namanya tidak disebutkan satu per satu, yang telah membantu penulis untuk menyelesaikan studinya di Program Studi Teknik Informatika, UMM. Penulis menyadari bahwa dalam pelaksanaan dan pembuatan laporan Tugas Akhir ini masih memiliki ketidaksempurnaan. Penulis memohon maaf atas segala kekurangan yang ada. Kritik maupun saran tersebut akan menjadi masukan bagi penulis pada saat penulis menjalankan pekerjaan-pekerjaan yang serupa. Malang, 13 September 2013 Penulis vi
DAFTAR ISI HALAMAN PERSETUJUAN... ii HALAMAN PERNYATAAN... iii HALAMAN PENGESAHAN... iv ABSTRAKSI... v ABSTRACT... vi KATA PENGANTAR... vii DAFTAR ISI... ix DAFTAR TABEL... xii DAFTAR GAMBAR DAN RUMUS... xiii DAFTAR ISTILAH... xv BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 3 1.3 Tujuan Penelitian... 3 1.4. Batasan Masalah... 3 1.5 Metodologi... 4 1.6 Sistematika Penulisan... 5 BAB II LANDASAN TEORI... 7 2.1 Kriptografi... 7 2.1.1 Kriptografi dan Ilmu Matematika... 7 2.2 Teori Dasar Kriptografi... 8 2.3 Algoritma Kriptografi Klasik... 9 2.3.1 Cipher Substitusi (Substitution Cipher)... 10 2.4 Playfair Cipher... 11 2.5 Standar Aturan Kriptografi Playfair Cipher... 11 2.6 Kriptanalis dan Kriptografi... 13 2.6.1 Teknik Kriptanalis... 14 2.6.2 Kriptanalis Playfair Cipher... 14 vii
2.6.2.1 Pemecahan Metode Teknik Distribusi Frekuensi Bigraph... 14 2.6.2.2 Metode Frequency Analisis... 18 2.7 Barisan dan Deret Tak Hingga... 19 2.7.1 Konvergen Mutlak dan Konvergen Bersyarat... 19 2.8 Deret Taylor... 20 2.9 Optimasi Playfair Cipher dan Deret Taylor... 21 2.10 Pembentukan Kunci Deret Taylor... 22 2.11 Short Message Service (SMS)... 22 2.11.1 Karakter Teks Short Message Service (SMS)... 22 2.11.2 Arsitektur Layanan SMS pada Jaringan GSM... 22 2.12 Android... 24 BAB III ANALISA DAN PERANCANGAN SISTEM... 25 3.1 Analisa Kebutuhan Sistem... 25 3.1.1 Kebutuhan Fungsional (Functional Requirement)... 25 3.1.2 Kebutuhan Non Fungsional (Non Functional Requirement)... 25 3.2 Perancangan antar muka... 26 3.2.1 Perancangan Antar Muka Program Aplikasi... 26 3.2.1.1 Penentuan Content Enkripsi SMS... 26 3.2.1.2 Form Pengiriman SMS... 27 3.2.1.3 Form Atur Kunci... 28 3.3 Arsitektur Kriptografi SMS... 28 3.4 Perancangan Sistem... 29 3.4.1 Flowchart Sistem Enkripsi dan Dekripsi... 30 3.5 Model Use Case... 31 3.6 Algortima dan Nilai Pembentukan Deret Taylor... 32 3.7 Tahap Enkripsi SMS... 33 3.8 Analisa Activity Diagram... 35 3.8.1 Activity Diagram Enkripsi SMS... 35 3.8.2 Activity Diagram Kirim SMS... 36 3.8.3 Activity Diagram Terima SMS... 36 3.8.4 Activity Diagram Baca SMS... 37 3.8.5 Activity Diagram Dekripsi SMS... 38 viii
3.9 Analisa Class Diagram... 39 3.10 Analisa Sequence Diagram... 39 3.10.1 Sequence Diagram Kirim SMS... 40 3.10.2 Sequence Diagram Enkripsi SMS... 40 3.10.3 Sequence Diagram Terima SMS... 41 3.10.4 Sequence Diagram Baca SMS... 41 3.10.5 Sequence Diagram Balas SMS... 41 3.10.6 Sequence Diagram Dekripsi SMS... 42 BAB IV IMPLEMENTASI DAN PENGUJIAN... 43 4.1 Lingkungan Implementasi... 43 4.2 Implementasi Interface... 43 4.3 Implementasi Program... 44 4.3.1 Program Pembentukan Key Generate Deret Taylor... 45 4.3.1.1 Kelas Deret Taylor... 45 4.3.1.2 Kelas DekripsiUtil... 50 4.4 Analisa Pengujian Aplikasi... 50 4.4.1 Pengujian Enkripsi dan Dekripsi SMS... 50 4.4.2 Analisa Hasil Pengujian Enkripsi SMS... 53 4.4.3 Lampiran Pengujian... 54 BAB V KESIMPULAN DAN SARAN... 61 5.1 Kesimpulan... 61 5.2 Saran... 61 DAFTAR PUSTAKA... 62 ix
DAFTAR TABEL Tabel 2.1 Kunci Polygram Cipher... 11 Tabel 2.2 Penjelasan tabel pada matriks di Playfair... 11 Tabel 2.3 Penjelasan bigraph tabel pada matriks di Playfair... 16 Tabel 2.4 Kunci Polygram Berbeda (Salmon Barus, 2010)... 16 Tabel 2.5 Kunci Polygram Berbeda (Salmon Barus, 2010)... 16 Tabel 2.6 Kunci Polygram Berbeda (Salmon Barus, 2010)... 17 Tabel 2.7 Kunci Polygram Berbeda (Salmon Barus, 2010)... 17 Tabel 3.1 Perancangan Form Utama Aplikasi SMS... 27 Tabel 3.2 Pembentukan Kunci Deret Taylor Maclaurin... 32 Tabel 3.3 Proses Enkripsi... 33 Tabel 3.4 Pembentukan Kunci Deret Taylor... 33 Tabel 3.5 Ciphertext standart (Tab. 2.2) dan generate Deret Taylor (Tab. 32)... 34 Tabel 3.6 Kunci Polygram Cipher Hasil Generate Deret Taylor... 34 Tabel 3.7 Kunci Polygram-Playfair Cipher Standart... 34 Tabel 4.1 Proses Analisa Enkripsi... 52 Tabel 4.2 Ciphertext standart (Tab. 2.2) dan generate Deret Taylor (Tab. 3.2)... 52 Tabel 4.3 Pengujian dan Perbandingan Huruf Playfair Hasil Generate... 54 Tabel 4.4 Proses Analisa Enkripsi... 56 Tabel 4.5 Pembentukan Generate Key playfair... 56 Tabel 4.6 Proses Analisa Enkripsi... 58 Tabel 4.7 Proses Analisa Enkripsi... 59 Tabel 4.8 Pembentukan Generate Key abcde... 60 x
DAFTAR GAMBAR DAN RUMUS Gambar 2.1 Proses enkripsi-dekripsi dengan kunci simetri (Munir, 2006)... 11 Gambar 2.2 Kriptografi dan kriptanalisis adalah cabang bidang ilmu kriptologi (Munir, 2006)... 13 Gambar 2.3 Frekuensi distribusi huruf bahasa inggris (Bishop, 2003)... 18 Gambar 2.4 Prosentase digraph umum teks bahasa inggris (Bishop, 2003)... 19 Rumus 2.5 Barisan dan Deret Tak Hingga... 19 Rumus 2.6 fungsi eksponensial... 20 Rumus 2.7 fungsi terdifferensial deret pangkat... 20 Rumus 2.8 nilai-nilai turunan fungsi terdifferensial deret pangkat... 20 Rumus 2.9 nilai-nilai turunan fungsi terdifferensial deret pangkat... 21 Rumus 2.10 nilai-nilai turunan fungsi terdifferensial deret pangkat... 21 Rumus 2.11 2.15 fungsi-fungsi yang diperderetkan ke dalam Deret Taylor Maclaurin... 21 Gambar 2.16 Arsitektur Layanan SMS (Gupta Punet, 2000)... 23 Gambar 3.1 Form Menu Utama Playfair Enkripsi SMS... 26 Gambar 3.2 Form Menu Kirim SMS... 27 Gambar 3.3 Form Menu Atur Kunci... 28 Gambar 3.4 Arsitektur Kriptografi SMS... 29 Gambar 3.5 Flowchart Proses Enkripsi-Dekripsi SMS... 30 Gambar 3.6 Use Case Kriptografi SMS... 31 Gambar 3.7 Activity Diagram Playfair Enkripsi SMS... 35 Gambar 3.8 Activity Diagram Kirim SMS... 36 Gambar 3.9 Activity Diagram Terima SMS... 36 Gambar 3.10 Activity Diagram Baca SMS... 37 Gambar 3.11 Activity Diagram Dekrispi SMS... 38 Gambar 3.12 Class Diagram Playfair Enkripsi SMS... 39 Gambar 3.13 Sequence Diagram Kirim SMS... 40 Gambar 3.14 Sequence Diagram Enkripsi SMS... 40 Gambar 3.15 Sequence Diagram Terima SMS... 41 xi
Gambar 3.16 Sequence Diagram Baca SMS... 41 Gambar 3.17 Sequence Diagram Balas SMS... 41 Gambar 3.18 Sequence Diagram Dekripsi SMS... 42 Gambar 4.1 Menu Utama... 44 Gambar 4.2 Menu Tentang Aplikasi... 44 Gambar 4.3 Hasil List Program Generate KeyTaylor... 49 Gambar 4.4 Menu Enkripsi SMS Sender... 51 Gambar 4.5 Hasil Ciphertext Sender... 51 Gambar 4.6 Proses Enkripsi Program... 51 Gambar 4.7 Pembentukan Generate Key 123UMM... 52 Gambar 4.8 Kunci Poligram dan Pesan Ciphertext Sisi Receiver... 53 Gambar 4.9 Inputan Key Simetris dan Hasil Dekripsi Sisi Receiver... 53 Gambar 4.10 Plaintext dan Hasil Enkripsi Sisi Sender (Tabel 4.3 no.2)... 55 Gambar 4.11 Ciphertext dan Hasil Dekripsi Sisi Receiver (Tabel 4.3 no.2)... 55 Gambar 4.12 Analisa Program Hasil Generate Key (Tabel 4.3 no.2)... 56 Gambar 4.13 Plaintext dan Hasil Enkripsi Sisi Sender (Tabel 4.3 no.3)... 57 Gambar 4.14 Ciphertext dan Hasil Dekripsi Sisi Receiver (Tabel 4.3 no.3)... 57 Gambar 4.15 Analisa Program Hasil Generate Key (Tabel 4.3 no.3)... 57 Gambar 4.16 Pembentukan Generate Key test... 58 Gambar 4.17 Plaintext dan Hasil Enkripsi Sisi Sender (Tabel 4.3 no.4)... 58 Gambar 4.18 Ciphertext dan Hasil Dekripsi Sisi Receiver (Tabel 4.3 no.4)... 59 Gambar 4.19 Analisa Program Hasil Generate Key (Tabel 4.3 no.4)... 59 xii
DAFTAR ISTILAH Algoritma Android Cipher Ciphertext Dekripsi Deret Taylor Device Encode Prosedur langkah-langkah atau kumpulan perintah untuk menyelesaikan suatu masalah Sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet Merupakan persamaan matematik yang digunakan untuk proses enkripsi Pesan tersandi atau kode-kode acak yang sulit dimengerti Proses pengembalian pesan tersandi menjadi bentuk pesan awal Metode perhitungan matematis sebagai bilangan tak hingga Perangkat keras yang digunakan sebagai penerapan program aplikasi Teknik kompresi data Enkripsi Proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus Generate Perhitungan atau pembangkitan kunci menjadi lebih panjang dan acak Key Suatu inputan berupa huruf, angka atau simbol yang digunakan untuk verifikasi proses enkripsi dan dekripsi Kriptografi Teknik atau metode untuk penyampaian pesan tersandi atau rahasia Plaintext Pesan awal atau kode-kode yang mudah dibaca Playfair Cipher Receiver Suatu metode atau algoritma kriptografi yang termasuk kedalam Polygram Cipher Pihak penerima pesan xiii
Sender Simetris Key SMS Substitution Pihak pengirim pesan Metode inputan kunci yang sama pada pihak yang berlawanan Sebuah pesan singkat yang digunakan pada aplikasi mobile atau handphone jenis metode enkripsi dimana setiap satuan pada teks terang digantikan oleh teks tersandi dengan sistem yang teratur; suatu "satuan" dapat berarti satu huruf (paling umum), pasangan huruf, suku kata, kata, dan sebagainya xiv
DAFTAR PUSTAKA [1] Anjari, Becik Gati. (2011). Enkripsi SMS (Short Message Service) Pada TeleponSelularBerbasissAndroid.(http://repo.eepis.its.edu/1547/1.haspreview ThumbnailVersion/PAPER_ENKRIPSI_v1.pdf), di download tanggal 1 Maret 2012 [2] Bishop, David. (2003). Introduction to Cryptography with Java Applets, Grinnell College. [3] Dony, Aryus. (2008). Pengantar Ilmu Kriptografi Keamanan Teori Analisis dan Implementasi. Andi. Yogyakarta. [4] Kurniawan, Yusuf. (2004). KRIPTOGRAFI Keamanan Internet dan Jaringan Telekomunikasi. Informatika. Bandung. [5] Kusnawi. (2010). Pengantar Kriptografi. http://elearning. amikom. ac.id/index.php/download/materi/190302112-st1073 /2011/ 10/ 20111018_Peng antar%20kriptografi-2.pdf. didownload pada tanggal 15 Februari 2012 [6] Mardianto, Eko, dkk. (2011). Enkripsi SMS menggunakan ECC (http://www.eepis-its.edu/uploadta/downloadmk.php?id=96), di download tanggal 28 Maret 2011 [7] Mulyadi. (2010). Membuat Aplikasi Untuk Android. Multimedia Center Publishing. Yogyakarta. [8] Munir, Rinaldi. (2008). Belajar Ilmu Kriptografi. Penerbit Andi. Yogyakarta [10] Munir, Rinaldi. (2006). Kriptografi. Informatika. Bandung. [11] Munir, Rinaldi. (2003). Metode Numerik. Penerbit Informatika. Bandung. xv
[12] Salmon Barus, Desfrianta. (2010). Modifikasi Playfair Chiper dengan Pembalikan Pesan ( http : / / informatika.stei.itb. ac.id/ ~ rinaldi. munir/ Kriptografi / 2010-2011/ Makalah1- IF3058- Sem1-2010-2011-046.pdf). [12] Siregar, Ivan Michael. (2011). Membongkar Source Code berbagai Aplikasi Android. Gavamedia, Yogyakarta. xvi