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
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
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 : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di Medan, Juli 2017
Komisi Pembimbing :
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
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
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 Universitas Sumatera Utara.
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 Universitas Sumatera Utara.
3. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara.
4. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1
Ilmu Komputer Universitas Sumatera Utara 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 Universitas Sumatera Utara 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.
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
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
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
DAFTAR ISI
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.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
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.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
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
DAFTAR LAMPIRAN
Halaman A. Listing Program ... A-1 B. Daftar Riwayat Hidup ... B-1