IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID SKRIPSI SAMUEL PANJAITAN 111401111 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017
IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer SAMUEL PANJAITAN 111401111 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017
ii PERSETUJUAN Judul : IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID Kategori : SKRIPSI Nama : SAMUEL PANJAITAN Nomor Induk Mahasiswa : 111401111 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen Fakultas Komisi Pembimbing : : ILMU KOMPUTER : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Diluluskan di Medan, Juli 2017 Pembimbing 2 Pembimbing 1 M. Andri Budiman, ST, M.Comp.Sc, M.E.M Dr. Poltak Sihombing, M.Kom NIP. 197510082008011011 NIP. 196203171991031001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
iii PERNYATAAN IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Juli 2017 Samuel Panjaitan 111401111
iv PENGHARGAAN Puji dan syukur penulis panjatkan atas kehadirat Tuhan Yang Maha Esa karena dengan hikmat dan kasih-nya, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Fasilkom-TI. Pada pengerjaan skripsi dengan judul Implementasi Kombinasi Algoritma Columnar Transposition Cipher dan Data Encryption Standard pada Aplikasi Enkripsi dan Dekripsi Teks Berbasis Android, penulis menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang yang memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar besarnya kepada : 1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc. selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 3. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 4. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer dan selaku Dosen Pembimbing I yang telah memberikan bimbingan, masukan dan saran dalam penyempurnaan skripsi ini. 5. Bapak Herriyance, ST., M.Kom selaku Sekretaris Program Studi S1 Ilmu Komputer dam selaku Dosen Pembanding 1 yang telah memberikan kritik, dan saran kepada penulis dalam pengerjaan skripsi ini. 6. Bapak M. Andri Budiman, ST, M.Comp.Sc, M.E.M selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini. 7. Bapak Drs. Dahlan Sitompul M.Eng selaku Dosen Pembanding II yang telah memberikan kritik dan saran kepada penulis dalam pengerjaan skripsi ini.
v 8. Seluruh Dosen serta pegawai tata usaha di Program Studi S1 Ilmu Komputer Fasilkom-TI USU yang telah memperlancar semua urusan penulis dalam menyelesaikan administrasi. 9. Kedua orang tua saya yaitu Kasten Panjaitan dan Ika Rosenta Purba serta ketiga kakak saya Ingrid Panjaitan, Grace Panjaitan, Dian Panjaitan serta adik saya Richard Panjaitan yang telah memberikan kasih sayang, doa, semangat, motivasi dan bantuan yang tak ternilai kepada penulis dalam menyelesaikan skipsi ini. 10. Anna Maria Turnip atas semangat, dukungan, perhatian, kasih sayang, pengertian, dan kesabaran dalam mendengarkan keluh kesah penulis, semoga kita sama-sama sukses di masa depan. 11. Teman-teman kuliah saya Kom A Stambuk 2011 khususnya Edwin, Tanta, Henry, Patra, dan Fernandes yang telah memberikan banyak saran, hiburan, dukungan, bantuan, dan semangat dalam pengerjaan skripsi ini. 12. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penulis dalam menyelesaikan skripsi ini. Semoga Tuhan Yang Maha Esa melimpahkan berkat dan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih memiliki banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun untuk menyempurnakan skripsi ini sehingga dapat bermanfaat bagi semua pihak. Medan, Juli 2017 Samuel Panjaitan
vi ABSTRAK Tindakan pencurian data sering terjadi pada pertukaran informasi yang menggunakan jaringan komunikasi. Teknik kriptografi merupakan salah satu alternatif untuk meminimalkan tindakan pencurian data khususnya data berupa teks dengan memberikan prosedur keamanan. Pada penelitian ini penulis mengkombinasikan kriptografi klasik dan kriptografi modern dengan tujuan untuk memperkuat keamanan pesan. Untuk kriptografi klasik, penulis memilih algoritma Columnar Transposition Cipher dikarenakan menggunakan teknik transposisi yang mengubah posisi karakter teks asli sehingga lebih sulit untuk dipecahkan yang kemudian kombinasi teknik transposisi inilah yang menjadi dasar dari pembentukan algoritma kriptografi modern. Untuk kriptografi modern, penulis memilih algoritma Data Encryption Standard (DES) dikarenakan Data Encryption Standard (DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia hingga saat ini. Proses pengamanan pesan diawali dengan proses enkripsi plainteks menggunakan algoritma Columnar Transposition Cipher untuk menghasilkan cipherteks pertama yang disebut cipher CTC. Kemudian cipher CTC dienkripsi dengan algoritma Data Encryption Standard (DES) sehingga menghasilkan cipherteks akhir. Sedangkan untuk proses dekripsi, tahap awal yang dilakukan adalah mendekripsi cipherteks dengan algoritma Data Encryption Standard (DES) untuk mendapatkan cipher CTC. Selanjutnya cipher CTC didekripsi dengan algoritma Columnar Transposition Cipher untuk menghasilkan plainteks kembali. Kunci : Kriptografi, Enkripsi, Dekripsi, Columnar Transposition Cipher, Data Encryption Standard, Android
vii COMBINATION IMPLEMENTATION OF COLUMNAR TRANSPOSITION CIPHER ALGORITHM AND DATA ENCRYPTION STANDARD IN TEXT ENCRYPTION AND DECRYPTION APPLICATION BASED ON ANDROID ABSTRACT Data theft often occurs on the exchange of information using communication network. Cryptographic techniques is one alternative to minimize theft of data, especially data in the form of text to provide security procedures. In this study, the author combines classical cryptography and modern cryptography with the aim to strengthen the security of the message. For classical cryptography, the authors choose Columnar Transposition Cipher algorithm uses a technique due transposition change the original text character position making it more difficult to resolve which then this combination of transposition technique is the basis of the formation of modern cryptographic algorithms. For modern cryptography, the authors choose the algorithm Data Encryption Standard (DES) due to the Data Encryption Standard (DES) encryption algorithm is the most widely used in the world today. The process of securing the message begins with the plaintext encryption algorithm Columnar transposition cipher to produce the first ciphertext called cipher CTC. Cipher CTC then encrypted with an algorithm Data Encryption Standard (DES) to produce ciphertext end. As for the decryption process, the initial stage does is decrypt ciphertext with the algorithm Data Encryption Standard (DES) to get cipher CTC. Furthermore cipher CTC decrypted with the algorithm Columnar transposition cipher to produce the plaintext back. Keyword : Cryptography, Encryption, Decryption, Columnar Transposition Cipher, Data Encryption Standard, Android
viii DAFTAR ISI Halaman Persetujuan... ii Pernyataan... iii Penghargaan... iv Abstrak... vi Abstract... vii Daftar Isi... viii Daftar Gambar... x Daftar Tabel... xi Daftar Lampiran... xii Bab 1 Pendahuluan 1.1. Latar Belakang... 1 1.2. Rumusan Masalah... 2 1.3. Batasan Masalah... 3 1.4. Tujuan Penelitian... 3 1.5. Manfaat Penelitian... 3 1.6. Metode Penelitian... 3 1.7. Sistematika penulisan... 4 Bab 2 Landasan Teori 2.1. Kriptografi... 6 2.1.1. Sejarah Kriptografi... 6 2.1.2. Proses Kriptografi... 7 2.1.3. Algoritma Kriptografi... 8 2.2. Jenis-jenis Algoritma Kriptografi... 8 2.2.1. Kriptografi klasik... 9 2.2.2. Teknik substitusi... 9 2.2.3. Teknik transposisi... 9 2.2.4. Kriptografi modern... 9 2.2.5. Algoritma Simetris... 9 2.2.6. Algoritma Asimetris... 10 2.3. Algoritma Columnar Transposition Cipher (CTC)... 10 2.4. Algoritma Data Encryption Standard (DES)... 11 2.4.1. Sejarah singkat DES... 11 2.4.2. Algoritma DES... 12 2.4.3. Permutasi Awal (IP)... 16 2.4.4. Ronde DES... 16 2.4.5. Fungsi DES... 18 2.4.6. Permutasi Ekspansi (E)... 18 2.4.7. Substitusi (S)... 18 2.4.8. Permutasi (P)... 20
ix 2.4.9. Implementasi fungsi (F) DES... 21 2.4.10. Pembangkitan Kunci Ronde... 21 2.4.11. Dekripsi DES... 23 2.5. Android... 24 2.6. Penelitian yang Relevan... 25 Bab 3 Analisis dan Perancangan Sistem 3.1. Analisis Sistem... 26 3.1.1. Analisis masalah... 26 3.1.2. Analisis kebutuhan... 26 3.1.3. Analisis proses... 27 3.2. Pemodelan... 28 3.2.1. Use case diagram... 28 3.2.2. Activity diagram... 32 3.2.3. Sequence diagram... 33 3.3. Flowchart... 35 3.4. Pseudocode... 36 3.4.1. Pseudocode proses enkripsi pesan... 36 3.4.2. Pseudocode proses dekripsi pesan... 37 3.5. Perancangan antarmuka... 39 3.5.1. Form Loading... 39 3.5.2. Form Home... 40 3.5.3. Form Setting... 42 3.5.4. Form Encryption... 42 3.5.5. Form Decryption... 43 3.5.6. Form About... 44 Bab 4 Implementasi dan Pengujian 4.1. Implementasi... 46 4.1.1. Form Loading... 46 4.1.2. Form Home... 47 4.1.3. Form Setting... 47 4.1.4. Form Encryption... 48 4.1.5. Form Decryption... 49 4.1.6. Form About... 50 4.2. Pengujian... 51 4.2.1. Pengujian Hasil Enkripsi... 51 4.2.2. Pengujian Hasil Dekripsi... 72 4.3. Hubungan waktu proses enkripsi dan dekripsi terhadap plaintext... 85 Bab 5 Kesimpulan dan Saran 5.1. Kesimpulan... 87 5.2. Saran... 87 Daftar Pustaka... 89
x DAFTAR GAMBAR Halaman Gambar 2.1 Hieroglyph oleh Mesir... 6 Gambar 2.2 Scytale... 7 Gambar 2.3 Proses Kriptografi... 7 Gambar 2.4 Kriptografi Simetris... 10 Gambar 2.5 Kriptografi Asimetris... 10 Gambar 2.6 Skema global kriptografi DES... 13 Gambar 2.7 Proses Enkripsi DES... 14 Gambar 2.8 Proses Dekripsi DES... 15 Gambar 2.9 Algoritma ronde DES... 17 Gambar 2.10 Pembangkit kunci DES... 22 Gambar 3.1 Use case Diagram... 29 Gambar 3.2 Activity diagram proses enkripsi... 32 Gambar 3.3 Activity diagram proses dekripsi... 33 Gambar 3.4 Sequence diagram untuk proses enkripsi... 34 Gambar 3.5 Sequence diagram untuk proses dekripsi... 34 Gambar 3.6 Flowchart sistem... 35 Gambar 3.7 Rancangan antarmuka form Home... 40 Gambar 3.8 Rancangan antarmuka form Main Menu... 41 Gambar 3.9 Rancangan antarmuka form Setting... 42 Gambar 3.10 Rancangan antarmuka form Encryption... 43 Gambar 3.11 Rancangan antarmuka form Decryption... 44 Gambar 3.12 Rancangan antarmuka form About... 45 Gambar 4.1 Form Loading... 46 Gambar 4.2 Form Main Menu... 47 Gambar 4.3 Form Setting... 48 Gambar 4.4 Form Encryption... 49 Gambar 4.5 Form Decryption... 50 Gambar 4.6 Form About... 50 Gambar 4.7 Pengujian hasil enkripsi dengan sistem... 52 Gambar 4.8 Pengujian hasil dekripsi dengan sistem... 73 Gambar 4.9 Grafik pengujian waktu proses enkripsi... 86 Gambar 4.10 Grafik pengujian waktu proses dekripsi... 86
xi DAFTAR TABEL Halaman Tabel 2.1 Boks permutasi awal (IP)... 16 Tabel 2.2 Boks invers permutasi awal (IP -1 )... 16 Tabel 2.3 Boks permutasi ekspansi (E)... 18 Tabel 2.4 Substitusi (S)... 19 Tabel 2.5 Boks permutasi (P)... 21 Tabel 2.6 Boks permutasi PC-1... 21 Tabel 2.7 Boks permutasi PC-2... 23 Tabel 3.1 Narrative use case Encryption... 30 Tabel 3.2 Narrative use case Decryption... 31 Tabel 4.1 Tabel Initial Permutation (IP)... 54 Tabel 4.2 Tabel PC-1... 55 Tabel 4.3 Tabel Left Shift... 56 Tabel 4.4 Tabel PC-2... 59 Tabel 4.5 Tabel Ekspansi (E)... 61 Tabel 4.6 Tabel S-Box... 65 Tabel 4.7 Tabel Konversi angka S1... 67 Tabel 4.8 Tabel P-Box... 68 Tabel 4.9 Tabel IP -1... 72 Tabel 4.10 Tabel IP -1... 75 Tabel 4.11 Tabel Ekspansi (E)... 76 Tabel 4.12 Tabel P-Box... 80 Tabel 4.13 Tabel Permutasi Awal (IP)... 84 Tabel 4.14 Hasil pengujian lamanya waktu proses enkripsi... 85
xii DAFTAR LAMPIRAN Halaman A. Listing Program... A-1 B. Daftar Riwayat Hidup... B-1