IMPLEMENTASI ALGORITMA VERNAM CIPHER DALAM SKEMA THREE-PASS PROTOCOL UNTUK PENGAMANAN
CITRA BITMAP BERBASIS ANDROID
SKRIPSI
LILY AULYA 131401070
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA VERNAM CIPHER DALAM SKEMA THREE-PASS PROTOCOL UNTUK PENGAMANAN
CITRA BITMAP BERBASIS ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
LILY AULYA 131401070
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA VERNAM CIPHER DALAM SKEMA THREE-PASS PROTOCOL UNTUK PENGAMANAN CITRA BITMAP BERBASIS ANDROID
Kategori : SKRIPSI Nama : LILY AULYA Nomor Induk Mahasiswa : 131401070
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing:
Pembimbing 2 Pembimbing 1
Dian Rachmawati, S.Si., M.Kom M. Andri Budiman, ST, M.Comp.Sc, MEM NIP. 198307232009122004 NIP. 197510082008011011
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA VERNAM CIPHER DALAM SKEMA THREE-PASS PROTOCOL UNTUK PENGAMANAN
CITRA BITMAP BERBASIS ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, April 2017
UCAPAN TERIMA KASIH
Puji dan syukur atas kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara.
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. Opim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4. Bapak Herriyance, S.T., M.Kom selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
5. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen Pembimbing I yang telah memotivasi dan senantiasa memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini.
6. Ibu Dian Rachmawati, S.Si., M.Kom selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.
7. Ibu Dr. Elviawaty Muisa Zamzami, S.T., M.T., M.M., selaku dosen Pembanding I yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.
8. Ibu Elviwani, S.T., S.Kom., M.Kom, selaku dosen Pembanding II yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.
9. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
Desy Maisary dan Devi Restika yang senatiasa memberikan dukungan dan doa untuk penulis.
11.Sahabat-sahabat terbaik Yulia Handayani, Hardiani Putri, Wina Fajar Rahayu, yang selalu memberikan dukungan dan semangat kepada penulis dalam menyelesaikan skripsi serta teman seperjuangan Nurhasanah, Cut Amalia Saffiera, Windi Saputri Simamora, Alyiza Dwi Ningtyas dan teman-teman angkatan 2013 yang juga senantiasa menjadi pengingat dan motivasi penulis. 12.Abangda Muhammad Miftahul Huda dan Akhiruddin Nur, yang telah banyak
membantu dalam penyelesaian penelitian ini.
13.Keluarga UKMI Al-Khuwarizmi, IMILKOM, PEMA Fasilkom-TI, dan UKMI Ad-Dakwah yang telah memberikan inspirasi serta dukungan kepada penulis. 14.Kakak, abang dan adik sumber inspirasi dan semangat penulis, Kak Yayang,
Ismi, Rahmatunnisa, Eva, Sahlina, Aida, Rizky, Mirna, dll
15.Dan semua pihak yang telah membantu dan tidak dapat disebutkan satu per satu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.
Medan, April 2017
ABSTRAK
Dalam pengiriman data, aspek keamanan, kerahasiaan dan efisiensi merupakan salah satu hal yang sangat penting bagi manusia. Diantara data yang berbentuk digital lainnya, data citra sangat rentan terhadap tindakan penyalahgunaan seperti diduplikasi, dimodifikasi, bahkan dipalsukan. Terdapat beberapa teknik untuk mengamankan data, salah satunya adalah kriptografi. Algoritma Vernam Cipher mempunyai kelemahan yaitu panjang kunci harus sama dengan plainteks, sehingga apabila plainteks semakin panjang maka keamanannya semakin berkurang. Untuk meningkatkan keamanan citra dirancang sebuah sistem pengamanan citra menggunakan algoritma kriptografi Vernam Cipher dalam skema Three-Pass Protocol yang diharapkan dapat mengatasi kelemahan Vernam Cipher. Sistem dibangun menggunakan bahasa pemrograman Java. Pengujian sistem menggunakan citra berukuran 200x200 piksel, 300x300 piksel, 500x500 piksel, 800x800 piksel dan 1000x1000 piksel. Hasil penelitian menunjukkan bahwa algoritma Vernam Cipher dalam skema Three-Pass Protocol dapat mengembalikan citra awal secara utuh. Sehingga dapat disimpulkan bahwa algoritma Vernam Cipher dalam skema Three-Pass Protocol untuk pengamanan citra memenuhi
parameter keutuhan data.
AN IMPLEMENTATION OF VERNAM CIPHER ALGORITHM
IN THREE-PASS PROTOCOL SCHEME FOR BITMAP
IMAGE SECURITY BASED ON ANDROID
ABSTRACT
In data communications, aspects of security, confidentiality and efficiency are one of
the most important things for human. Among the other digital data, image data is too
prone to abuse of operation like duplication, modification, etc. There are some data
security techniques, one of them is cryptography. Vernam Cipher Algorithm has a
deficiency, the key length must be equal to the length of the plaintext, when the
plaintext getting longer, the security is decrease. To increase image security, system is
designed for image security that implements Vernam Cipher in Three-pass Protocol
scheme which is expected could solve Vernam Cipher’s weakness. System is built by
using Java programming language. Testing of system use on image in size 200x200 pixel, 300x300 pixel, 500x500 pixel, 800x800 pixel and 1000x1000 pixel. The result of experiment showed that Vernam Cipher algorithm in Three-Pass Protocol scheme
could restore intact image. So the conclusion from this reseacrh is Vernam Cipher
algorithm in Three-Pass Protocol scheme for image security has fulfilled the integrity
of data.
DAFTAR ISI
1.3. Ruang Lingkup Penelitian ... 2
1.4. Tujuan Penelitian ... 3
1.5. Manfaat Penelitian ... 3
1.6. Metodologi Penelitian ... 3
1.7. Sistematika Penulisan ... 4
BAB 2 LANDASAN TEORI 2.1. Kriptografi ... 6
2.1.1. Definisi Kriptografi ... 6
2.1.2. Tujuan Kriptografi ... 7
2.1.3. Elemen Kriptografi ... 7
2.1.4. Jenis-jenis Algortima Kriptografi ... 8
2.1.4.1. Algoritma Simetris ... 8
2.1.4.2. Algoritma Asimetris ... 10
2.2. Algoritma Vernam Cipher ... 11
2.3. Three-Pass Protocol ... 14
2.4. Citra ... 17
2.4.2. Jenis-jenis Warna pada Citra ... 19
2.4.3.1. Citra Biner (White & Black) ... 19
2.4.3.2. Citra Grayscale ... 19
2.4.3.3. Citra Berwarna (RGB) ... 20
2.4.3. Citra Bitmap ... 21
2.4.4. Perhitungan Kualitas Hasil Rekonstruksi Citra ... 24
2.4.4.1. Mean Squared Error (MSE) ... 24
2.4.4.2. Peak Signal to Noise Ratio (PSNR) ... 25
2.5. Android ... 25
2.5.1. Kelebihan Android ... 26
2.5. Penelitian yang Relevan... 27
BAB 3 ANALISIS DAN PERANCANGAN 3.1. Analisis Sistem ... 29
3.1.1. Analisis Masalah ... 29
3.1.2. Analisis Kebutuhan ... 30
3.1.2.1. Kebutuhan Fungsional ... 30
3.1.2.2. Kebutuhan Nonfungsional ... 31
3.1.3. Analisis Proses ... 31
3.2. Pemodelan Sistem ... 32
3.2.1. Use-Case Diagram ... 32
3.2.2. Activity Diagram ... 34
3.2.3. Sequence Diagram ... 35
3.2.4. Flowchart ... 35
3.2.4.1. Flowchart Enkripsi Vernam Cipher ... 35
3.2.4.2. Flowchart Dekripsi Vernam Cipher ... 36
3.2.4.3. Flowchart Sistem ... 37
3.3. PerancanganAntarmuka (Interface) ... 38
3.3.1. Halaman Home ... 38
3.3.2. Halaman Process ... 39
3.3.3. Halaman Help ... 41
4.1.1. Halaman Home ... 43
4.1.2. Halaman Process ... 44
4.1.3. Halaman Help ... 45
4.2 Pengujian Sistem... 47
4.2.1. Pengujian Proses Pilih Gambar ... 47
4.2.2. Pengujian Proses Pengacakan Kunci ... 50
4.2.2. Pengujian Proses Enkripsi (Tahap Pertama) ... 51
4.2.3. Pengujian Proses Enkripsi (Tahap Kedua) ... 53
4.2.4. Pengujian Proses Enkripsi (Tahap Ketiga) ... 54
4.2.5. Pengujian Proses Dekripsi ... 56
4.2.6. Pengujian MSE dan PSNR ... 57
4.2.7. Pengujian Algoritma terhadap Waktu Proses. ... 58
Bab 5 KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 63
5.2. Saran ... 64
DAFTAR TABEL
Halaman
Tabel 2.1. Perhitungan Enkripsi Tahap Pertama... 15
Tabel 2.2. Perhitungan Enkripsi Tahap Kedua ... 16
Tabel 2.3. Perhitungan Enkripsi Tahap Ketiga ... 16
Tabel 2.4. Perhitungan Dekripsi Pesan Asli ... 17
Tabel 2.5. Proses Perhitungan Enkripsi Piksel Tahap Pertama ... 22
Tabel 2.6. Proses Perhitungan Enkripsi Piksel Tahap Kedua ... 23
Tabel 2.7. Proses Perhitungan Enkripsi Piksel Tahap Ketiga ... 23
Tabel 2.8. Perhitungan Dekripsi Piksel Asli ... 23
Tabel 3.1. Deskripsi Use case Proses Enkripsi ... 33
Tabel 3.2. Deskripsi Use case Proses Dekripsi ... 33
Tabel 3.3. Keterangan Gambar Rancangan Interface Halaman Home ... 39
Tabel 3.4. Keterangan Gambar Rancangan Interface Halaman Process ... 40
Tabel 3.5. Keterangan Gambar Rancangan Interface Halaman Help ... 42
Tabel 4.1. Perhitungan Proses Enkripsi Tahap Pertama ... 52
Tabel 4.2. Perhitungan Proses Enkripsi Tahap Kedua ... 54
Tabel 4.3. Perhitungan Proses Enkripsi Tahap Ketiga ... 55
Tabel 4.4. Perhitungan Proses Dekripsi ... 57
Tabel 4.5. Waktu Proses pada Citra 200x200 piksel ... 59
Tabel 4.6. Waktu Proses pada Citra 300x300 piksel ... 59
Tabel 4.7. Waktu Proses pada Citra 500x500 piksel ... 60
Tabel 4.8. Waktu Proses pada Citra 800x800 piksel ... 61
DAFTAR GAMBAR
Halaman
Gambar 2.1. Skema Proses Enkripsi dan Dekripsi ... 6
Gambar 2.2. Skema Algoritma Simetris ... 9
Gambar 2.3. Skema Algoritma Asimetris ... 10
Gambar 2.4. Proses Enkripsi dan Dekripsi Algoritma Vernam Cipher ... 12
Gambar 2.5. Skema Three-Pass Protocol ... 14
Gambar 2.6. Citra 200 x 284 piksel ... 17
Gambar 2.7. Perbandingan Ukuran Piksel yang Berbeda-beda ... 18
Gambar 2.8. Contoh Citra Biner ... 19
Gambar 2.9. Contoh Citra Grayscale... 20
Gambar 2.10. Contoh Citra RGB ... 21
Gambar 2.11. Piksel 3 x 3 ... 22
Gambar 2.12. Logo Android ... 26
Gambar 3.1. Diagram Ishikawa Masalah Penelitian. ... 30
Gambar 3.2. Use-Case Diagram ... 32
Gambar 3.3. Activity Diagram ... 34
Gambar 3.4. Sequence Diagram ... 35
Gambar 3.5. Flowchart Proses Enkripsi Algoritma Vernam Cipher ... 36
Gambar 3.6. Flowchart Proses Dekripsi Algoritma Vernam Cipher ... 36
Gambar 3.7. Flowchart Sistem Secara Umum ... 37
Gambar 3.8. Rancangan Interface Halaman Home... 38
Gambar 3.9. Rancangan Interface Halaman Process ... 40
Gambar 3.10. Rancangan Interface Halaman Help ... 42
Gambar 4.1. Halaman Home ... 43
Gambar 4.2. Halaman Process ... 44
Gambar 4.3. Halaman Help... 45
Gambar 4.4. Message Box Keluar dari Sistem... 46
Gambar 4.5. Tampilan ketika membatalkan perintah keluar ... 46
Gambar 4.6. Citra 500 x 500 piksel ... 47
Gambar 4.8. Proses Pemilihan Gambar dengan ekstensi selain (*.bmp) ... 49
Gambar 4.9. Proses Pemilihan Gambar dengan Resolusi diatas 1000x1000 piksel ... 50
Gambar 4.10. Pengacakan Kunci Pengirim dan Kunci Penerima ... 51
Gambar 4.11. Hasil Proses Enkripsi Tahap Pertama ... 52
Gambar 4.12. Hasil Proses Enkripsi Tahap Kedua ... 53
Gambar 4.13. Hasil Proses Enkripsi Tahap Ketiga ... 55
Gambar 4.14. Hasil Proses Dekripsi ... 56
Gambar 4.15. Hasil Pengujian MSE dan PSNR ... 58
DAFTAR LAMPIRAN