IMPLEMENTASI ALGORITMA ONE TIME PAD PADA DATA TEKS DAN KNAPSACK PADA KUNCI SKRIPSI GUSTAF PRAMESWARA 081401014
IMPLEMENTASI ALGORITMA ONE TIME PAD PADA DATA
TEKS DAN KNAPSACK PADA KUNCISKRIPSI
GUSTAF PRAMESWARA
081401014
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN IMPLEMENTASI ALGORITMA ONE TIME PAD PADA DATA TEKS DAN
KNAPSACK PADA KUNCI
SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar
Sarjana Komputer GUSTAF PRAMESWARA
081401014 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2012
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA ONE TIME PAD
PADA DATA TEKS DAN KNAPSACK PADA KUNCI
Kategori : SKRIPSI Nama : GUSTAF PRAMESWARA Nomor Induk Mahasiswa : 081401014 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Desember 2012
Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dian Rachmawati,S.Si,M.Kom M. Andri Budiman S.T., M.Comp.Sc., M.E.M.
NIP. 198307232009122004 NIP. 197401272002122001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA ONE TIME PAD PADA DATA TEKS DAN
KNAPSACK PADA KUNCI
SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Desember 2012 GUSTAF PRAMESWARA 081401014
PENGHARGAAN
Puji dan syukur penulis ucapkan kehadirat Allah SWT atas segala rahmat dan karunia- Nya, sehingga penulis dapat menyelesaikan skripsi yang berjudul ” Implementasi Algoritma One Time Pad Pada Data Teks Dan Knapsack Pada Kunci”. Skripsi ini merupakan salah satu syarat yang ditetapkan untuk memperoleh gelar sarjana komputer di Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, shalawat beriring salam penulis persembahkan kepada Nabi Besar Muhammad SAW.
Pada kesempatan kali ini penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu penulis selama pengerjaan skripsi ini, antara lain kepada : 1.
Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara dan sebagai dosen penguji I.
2. Ibu Maya Silvi Lydia, BSc,.MSc selaku sekretaris Departemen Ilmu Komputer Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara.
3. Bapak M. Andri Budiman, S.T.M.Comp.Sc,MEM dan ibu Dian Rachmawati, S.Si,M.Kom selaku dosen pembimbing.
4. Profesor Dr. Iryanto,M.Si dan bapak Syahriol Sitorus, S.Si,MIT selaku dosen pembanding.
5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
6. Seluruh dosen Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.
7. Seluruh pegawai di lingkungan Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
9. Abangda Ahdi Seftananda, adinda Nikmah Helfani dan adinda Dhanny Falepi yang selalu memberi semangat dan do’anya.
10. Keluarga besar S1 Ilmu Komputer, khususnya angkatan 2008 yang telah banyak memberi dukungan, masukan, dan kerjasama yang baik.
11. Guru-guru dari SDN 58 Pucuk Jambi, SDN 01 Sijunjung, MTsN Sijunjung dan SMAN 2 Sijunjung untuk ilmu yang telah diberikan.
12. Teman-teman terbaik, Ficky Vernades Isman, Zikri Azhari, Rozi Afrilino, Dodi Dermawan, Salmi Hengki, Fadhli Friandes, Ronal, Nanda Ferdiansyah, Febrian, Siska Ardila, Dinnya Darosha Putri, RirinRahmala, dan Ayu Ambarwati untuk semua semangat dan kebersamaan yang kita bagi bersama.
13. Saria Mahdi Ginting, Tengku Surya Pramana, Irfan Antoni Siregar, Eko Verdianto, Setyo M. Syamsudin Noor, Dira Fahrendy, Mardiansyah Matondang, Andika Diapari, Nurul Fadhilla, Parkir Rangers serta teman-teman dilingkungan kampus yang tidak bisa disebutkan satu-persatu.
14. Keluarga besar Ikatan Mahasiswa Imam Bonjol Universitas Sumatera Utara (IMIB USU), untuk pengalaman organisasi dan proses pembelajaran serta pembentukan pribadi yang lebih matang.
15. Guru dan teman-teman dalam perguruan Pandawa dan Pangian.
16. Semua pihak yang terlibat langsung ataupun tidak langsung dalam membantu penyelesaian skripsi ini dan tidak dapat penulis ucapkan satu persatu.
Tak ada gading yang tidak retak, demikian juga halnya dengan skripsi ini. Kritik dan saran yang membangun sangat penulis harapkan. Semoga skripsi ini bisa memberikan manfaat bagi pembaca penulis sendiri, amien.
Medan, Desember 2012
ABSTRAK
Keamanan suatu data rahasia sangat penting untuk dijaga. Apalagi dengan semakin berkembangnya teknologi. Kriptografi merupakan cabang ilmu yang berperan dalam keamanan dan kerahasiaan suatu data. Salah satu metoda yang digunakan dalam kriptografi adalah hybrid enkripsi. Yaitu sistem pengamanan data dengan menggabungkan penggunaan algoritma simetris dengan algoritma asimetris. Skripsi ini bertujuan untuk menambah pengetahuan dan referensi tentang bagaimana cara kerja algoritma One Time Pad dalam mengamankan data teks. Dan juga bagaimana cara kerja algoritma Knapsack dalam mengamankan kunci yang dipergunakan dari algoritma One Time Pad tadi. Pembahasan ini akan menghasilkan sebuah aplikasi yang dapat digunakan untuk mengenkripsi data teks menggunakan algoritma simetris sekaligus mengamankan kunci yang digunakan dengan mengekripsinya lagi menggunakan algoritma asimetris.
Kata Kunci : Kriptografi, algoritma, One Time Pad, Knapsack,
IMPLEMENTATION OF ONE TIME PAD ALGORITHM ON THREE PASS PROTOCOL ABSTRACT
A data security is very important to be kept secret. Cryptography is a branch of science that contribute to security and confidentiality of the data. One of the methods used in cryptography is a hybrid encryption. That system of data security by combining the use of symmetric algorithms the key asymmetric algorithms. This thesis aims to increase knowledge and references on how algorithms work in securing a One Time Pad text data. And also how to work the Knapsack algorithm used in securing key algorithm of One Time Pad earlier. This discussion will result in an application that can be used to encrypt text data using symmetric algorithms are used at the same time securing key to encrypt it again using an asymmetric algorithm.
Keywords: Cryptography, algorithms, One Time Pad, Knapsack ,
DAFTAR ISI
Sistematika Penulisan
13
12 2.3. Algoritma Knapsack
Algoritma One Time Pad
2.1.4 Jenis Kriptografi 10 2.2.
9
2.1.3 Tujuan Kriptografi
8
2.1.2 Komponen Kriptografi
6
2.1.1 Definisi Kriptografi
6
4 Bab 2 Landasan Teori 6 2.1. Kriptografi
Halaman Persetujuan ii
Pernyataan iii
Manfaat Penelitian 3 1.6.
Tujuan Penelitian 3 1.5.
Batasan Masalah 3 1.4.
Rumusan Masalah 2 1.3.
Latar Belakang 1 1.2.
Bab 1 Pendahuluan 1 1.1.
Daftar Tabel xi
Daftar Gambar x
Daftar Isi viii
Abstract vii
Abstrak vi
Penghargaan iv
Metode Penelitian 4 1.7.
3.1.1 Analisis Masalah
19
3.1.2 Analisis Persyaratan
19
3.1.2.1 Analisis Persyaratan Fungsional
20
3.1.2.2 Analisis Persyaratan Non-Fungsional
20
3.1.2.3 Pemodelan Persyaratan dengan Use Case
21
3.1.3 Analisis Proses Sistem
28
3.1.4 Class Diagram
31
3.1.5 Pseudocode dan Flowchart
32
3.1.5.1 Pseudocode Proses Enkripsi
32
3.1.5.2 Pseudocode Proses Pembangkitan Kunci
32
3.1.5.3 Pseudocode Proses Dekripsi
33
3.1.5.4 Flowchart Proses Algoritma One Time Pad
34
3.1.5.5 Flowchart Proses Algoritma Knapsack
36
3.1.6 Perancangan Antar Muka
37
3.1.6.1 Perancangan Tab Proses Enkripsi
38
3.1.6.2 Perancangan Tab Proses Dekripsi
39
3.1.6.3 Perancangan Form Help
41
3.1.6.4 Perancangan Form About
42 3.2.
43 Tahapan Algoritma One Time Pad dan Knapsack
3.2.1 Proses Enkripsi
45
3.2.2 Proses Dekripsi
47 Bab 4 Perancangan dan Implementasi 49 4.1.
49 Implementasi Sistem 4.1.1.
49 Tampilan Antarmuka Sistem 4.1.1.1.
49 Tampilan FormMain 4.1.1.2.
51 Tampilan FormAbout 4.1.1.3.
51 Tampilan FormHelp 4.1.2.
52 Implementasi Sistem 4.1.3.
59 Pengujian Sistem 4.1.3.1.
59 Pengujian Enkripsi 4.1.3.2.
60 Pengujian Dekripsi
Bab 5 Penutup 66 5.1.
63 Kesimpulan 5.2.
64 Saran
DAFTAR GAMBAR No.
30
42
40
38
37
36
36
35
30
47
29
28
27
26
24
23
22
43
47
10
53
56
55
55
54
54
54
54
53
48
52
52
51
50
50
49
49
11
4.20 Kriptografi Simetris Kriptografi kunci Publik Use Case Diagram Sistem Activity Diagram Enkripsi Plainteks Activity Diagram Enkripsi Plainkey Activity Diagram dekripsi Cipherkey Activity Diagram Dekripsi Cipherteks Activity Diagram Pembangkitan Kunci Sequence Diagram Enkripsi Sequence Diagram Dekripsi Sequence Diagram Generate Key Flowchart Proses Enkripsi One Time Pad Flowchart Proses Dekripsi One Time Pad Flowchart Proses Enkripsi Knapsack Flowchart Proses Dekripsi Knapsack Rancangan Tab Enkripsi Rancangan Tab Dekripsi Rancangan Form Help Rancangan Form About Tampilan FormMain tab Encrypt Tampilan FormMain tab Decrypt Tampilan FormAbout Tampilan FormHelp Tampilan Setelah Input File Selesai Pop-up Windows Pilih File Pesan Masukan Plainteks Tampilan Generate Key Tampilan Pop-up Windows Pilih File Kunci Publik Tampilan Pesan Masukkan Public Key Tampilan Hasil Enkripsi Informasi Hasil Enkripsi Informasi Hasil Penyimpanan Cipher teks Informasi Hasil Penyimpanan Cipher keys Informasi Hasil Penyimpanan Publik Keys Informasi Hasil Penyimpanan Private Keys Tampilan Hasil Dekripsi Informasi Hasil Penyimpanan Plainteks sebagai *.txt Informasi Hasil Penyimpanan Plainteks sebagai *.doc Hasil Pengujian Enkripsi Dengan Jumlah Karakter 16253
Gambar Judul Halaman
3.7
3.14
3.13
3.12
3.11
3.10
3.9
3.8
3.6
3.16
3.5
3.4
3.3
3.2
3.1
2.2
2.1
3.15
3.17
4.19
4.11
4.18
4.17
4.16
4.15
4.14
4.13
4.12
4.10
4.1
4.9
4.8
4.7
4.6
4.5
4.4
4.3
4.2
56
4.25 Hasil Pengujian dekripsi Dengan Jumlah Karakter 48759
4.3 N invers Spesifikasi Use Case Enkripsi Plainteks (One Time Pad) Spesifikasi Use Case Enkripsi Plainkey (Knapsack) Spesifikasi Use Case Dekripsi Cipherkey (Knapsack) Spesifikasi Use Case Dekripsi Cipherteks (One Time Pad) Spesifikasi Use Case Pembangkitan Kunci Kelas Dan Antributnya Komponen Tab Enkripsi Komponen Tab Dekripsi Komponen Form Help Komponen Form About Pengujian Proses Enkripsi Dengan Jumlah Karakter Berbeda Pengujian Proses Dekripsi Dengan Jumlah Karakter Berbeda Perbandingan Kecepatan Proses Enkripsi dan Dekripsi
58
57
43
42
40
38
31
27
26
25
24
22
18
4.2
58 DAFTAR TABEL No.
4.1
3.10
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
2.1
Tabel Judul Tabel Halaman
58