IMPLEMENTASI PENGAMANAN FILE TEXT DENGAN ALGORITMA KRIPTOGRAFI KNAPSACK DAN ALGORITMA STEGANOGRAFI FOF (First of File) SKRIPSI DISA HAYANTI 091401066 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
IMPLEMENTASI PENGAMANAN FILE TEXT DENGAN ALGORITMA KRIPTOGRAFI KNAPSACK DAN ALGORITMA STEGANOGRAFI FOF (First of File) SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer DISA HAYANTI 091401066 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
ii PERSETUJUAN Judul IMPLEMENTASI PENGAMANAN FILE TEXT DENGAN ALGORITMA KRIPTOGRAFI KNAPSACK DAN ALGORITMA STEGANOGRAFI FOF (First of File) Kategori SKRIPSI Nama DISA HAYANTI Nomor Induk Mahasiswa 091401066 Program Studi SARJANA (S1) ILMU KOMPUTER Fakultas ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Komisi Pembimbing Diluluskan di Medan, 2013 Pembimbing II, Pembimbing I, Herriyance, ST, M.Kom Dr. Poltak Sihombing, M.Kom NIP. 19801024 201012 1 002 NIP. 19620317 199103 1 001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
iii PERNYATAAN IMPLEMENTASI PENGAMANAN FILE TEXT DENGAN ALGORITMA KRIPTOGRAFI KNAPSACK DAN ALGORITMA STEGANOGRAFI FOF (First of File) SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 2013 Disa Hayanti 091401066
iv PENGHARGAAN Puji dan syukur penulis ucapkan kepada Tuhan yang Maha Kuasa atas segala berkat dan kasih karunianya sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fasilkom-TI. Ucapan terima kasih penulis sampaikan kepada : 1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM). Ap.A(K) selaku Rektor. 2. Bapak Prof. Dr. Muhammad Zarlis, M.Kom, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Departemen Ilmu Komputer. 4. Ibu Maya Silvi Lydia, B.Sc, M.Sc, selaku Sekretaris Departemen Ilmu Komputer. 5. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, semua dosen dan pegawai pada program studi S1 Ilmu Komputer Fasilkom-TI USU. 6. Bapak Dr. Poltak Sihombing, M.Kom dan Bapak Herriyance, ST, M.Kom, selaku Dosen Pembimbing. 7. Bapak Syahril Efendi, S.Si, MIT dan Bapak Amer Sharif, S.Si, M.Kom, selaku Dosen Penguji. 8. Bapak Ade Candra, ST. M.Kom, selaku dosen pembimbing akademik saya. 9. Ayahanda M.Siregar dan Ibunda N.Pasaribu yang telah membesarkan, mendidik saya dan juga kepada saudara-saudara saya, Susi H.S., Ria J.H.S., Leonardo.S yang selalu mendoakan, menyayangi, mendukung baik material dan spiritual. 10. Dan juga kepada teman-teman satu stambuk 2009 kom B dan kom A yang namanya tidak bisa disebutkan satu per satu. Penulis menyadari bahwa skripsi ini jauh dari sempurna baik dari segi materi maupun cara penyajiannya. Oleh karena itu, penulis menerima kritik dan saran yang bersifat membangun untuk menyempurnakan skripsi ini. Penulis berharap, agar skripsi ini dapat bermanfaat bagi penulis dan pembaca. Medan, 2013 Penulis
v ABSTRAK Perkembangan teknologi yang semakin maju mengakibatkan keamanan data menjadi sangat penting karena teknik-teknik kejahatan terhadap data seperti dalam hal pengiriman dan penerimaan data juga semakin berkembang sehingga pengamanan terhadap data juga perlu harus ditingkatkan. Masalah yang diangkat pada penelitian adalah pengamanan file text dengan menggunakan dua metode, yaitu kriptografi Merkle Hellman Knapsack dengan penambahan permutasi dan steganografi FOF (First of File). Kriptografi Merkle Hellman Knapsack mengenkripsi plaintext dengan menggunakan kunci publik, sedangkan untuk dekripsi ciphertext digunakan kunci privat dan posisi kunci hasil permutasi. Keamanan terhadap data ditingkatkan dengan cara menyembunyikan data pada citra secara FOF. Dari hasil penelitian, pada kriptografi proses dekripsi membutuhkan waktu lebih lama dari pada proses enkripsi dan perbedaan ukuran kedua proses, yaitu ciphertext jauh lebih besar beberapa kali lipat dari plaintext. Selain itu, banyak elemen kunci juga mempengaruhi ukuran ciphertext. Pada algoritma FOF mengakibatkan tinggi pixel citra semakin bertambah dan garis pada bagian atas citra terlihat semakin jelas sesuai dengan pertambahan ukuran ciphertext yang disisipi. Ukuran citra sebagai coverimage juga mempengaruhi besar garis pada bagian atas citra. Katakunci : Kriptografi, steganografi, Merkle Hellman Knapsack, FOF (First of File)
vi IMPLEMENTATION OF SECURITY TEXT FILE WITH CRYPTOGRAPHY KNAPSACK ALGORITHM AND STEGANOGRAFI FOF (First of File) ALGORITHM ABSTRACT The development of increasingly advanced technology make security data becomes very important because techniques crimes againts data such as sending and receiving data is also growing so that the security of the data also needs to be improved. The issues raised in this research is security of text file using two methods, that is Merkle Hellman Knapsack cryptography with the addition of permutations and FOF (First of File) steganography. Merkle Hellman Knapsack cryptography encrypt the plaintext using public key, whereas for decryption ciphertext using private key and position key after permutation. Security of data enhanced by hiding data to image by FOF. From the research, process of decryption takes longer than the encryption process and differences in the size of both processes, that is ciphertext is much greater multiple of the plaintext. Moreover, amount of key elements also affect the size of the ciphertext. FOF algorithm resulted in increasingly high pixel image and line at the top of the image is evident in accordance with the increase in size ciphertext which is inserted. Image size as coverimage also affect the large line at the top of the image. Keyword : Cryptography, steganography, Merkle Hellman Knapsack, FOF (First of File)
vii DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran ii iii iv v vi vii x xi xiii Bab I Bab II 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 4 1.6 Sistematika Penulisan 4 Landasan Teori 2.1 Kriptografi 6 2.1.1 Definisi Kriptografi 6 2.1.2 Terminologi 6 2.1.3 Tujuan Kriptografi 8 2.2 Kriptografi Simetri dan Asimetri 9 2.2.1 Algoritma Simetris (Konvensional) 9 2.2.2 Algoritma Asimetris (Kunci Publik) 10 2.3 Landasan Matematika Kriptografi 11 2.3.1 Aritmetika Modulo 11 2.3.2 Teorema Euclidean 12 2.3.3 Relatif Prima 12 2.3.4 Permutasi (Transposisi) 12 2.4 Algoritma Kriptografi Knapsack 13 2.4.1 Knapsack Problem 13 2.4.2 Algoritma Knapsack Sederhana 13 2.4.3 Superincreasing Knapsack Problem 14 2.4.4 The Merkle Hellman Knapsack Cryptosystem 16 2.5 Steganografi 20 2.5.1 Defenisi Steganografi 20 2.5.2 Konsep dan Terminologi 21
viii 2.5.3 Kriteria Steganografi 22 2.5.4 Metode First Of File (FOF) 23 2.5.5 Citra 24 2.5.6 Format File Citra Bitmap 25 Bab III Analisis dan Perancangan Sistem 3.1 Analisis Sistem 26 3.1.1 Analisis Masalah 26 3.1.2 Analisis Persyaratan 27 3.1.2.1 Persyaratan Fungsional 28 3.1.2.2 Persyaratan Nonfungsional 28 3.1.3 Perancangan Flowchart 29 3.1.3.1 Flowchart Aplikasi 29 3.1.3.2 Flowchart Key Generation 30 3.1.3.3 Flowchart Encryption 32 3.1.3.4 Flowchart Decryption 32 3.1.3.5 Flowchart Embedded 34 3.1.3.6 Flowchart Extraction 34 3.1.4 Pemodelan Sistem 36 3.1.4.1 Use Case Diagram 36 3.1.4.1.1 Use Case Key Generation 37 3.1.4.1.2 Use Case Encryption 39 3.1.4.1.3 Use Case Embedded 40 3.1.4.1.4 Use Case Extraction 42 3.1.4.1.5 Use Case Decryption 43 3.1.4.2 Activity Diagram (Diagram Aktivitas) 44 3.1.4.3 Sequence Diagram 47 3.2 Rancangan Interface Aplikasi 49 3.2.1 Rancangan Interface Form Home 49 3.2.2 Rancangan Interface Form Help 50 3.2.3 Rancangan Interface Form Key Generation 51 3.2.4 Rancangan Interface Form Encryption 53 3.2.5 Rancangan Interface Form Embedded 54 3.2.6 Rancangan Interface Form Extraction 56 3.2.7 Rancangan Interface Form Decryption 57 Bab IV Implementasi dan Pengujian 4.1 Implementasi 59 4.1.1 Form Home 59 4.1.2 Form Pembangkit Kunci (Key Generation) 60 4.1.3 Form Enkripsi (Encryption) 62 4.1.4 Form Penyisipan (Embedded) 63 4.1.5 Form Ekstraksi (Extraction) 64 4.1.6 Form Dekripsi (Decryption) 64 4.1.8 Form Help 65
ix 4.2 Pengujian 66 4.2.1 Proses Pembangkitan Kunci 67 4.2.2 Proses Enkripsi (Encryption) 70 4.2.3 Proses Penyisipan (Embedded) 72 4.2.4 Proses Extraction 75 4.2.5 Proses Decryption 77 4.2.6 Hasil Pengujian 80 4.2.6.1 Analisis Ukuran File Terhadap Proses Enkripsi / Dekripsi 80 4.2.6.2 Analisis Waktu Proses Terhadap Besar Ukuran File 81 4.2.6.3 Analisis Ukuran File Citra Terhadap Ukuran File Text (Ciphertext) 82 Bab V Kesimpulan dan Saran 5.1 Kesimpulan 89 5.2 Saran 91 Daftar Pustaka 92 Listing Program A-1
x DAFTAR TABEL Nomor Tabel 2.1 3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 4.4 4.5 Nama Tabel Contoh Solusi Superincreasing Knapsack Dokumentasi Naratif Use Case Key Generation Dokumentasi Naratif Use Case Encryption Dokumentasi Naratif Use Case Embedded Dokumentasi Naratif Use Case Extraction Dokumentasi Naratif Use Case Decryption Perbandingan Besar Ukuran File Plaintext dan Ciphertext Perbandingan waktu proses enkripsi dan dekripsi Hasil Pengujian Proses Embedded dan Extraction Data Hasil Pengujian Pada Table 4.3 Data Hasil Pengujian dengan File Ciphertext yang Sama dan Coverimage Bervariasi Halaman 15 37 39 40 42 43 80 81 83 85 87
xi DAFTAR GAMBAR Nomor Gambar 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 Nama Gambar Skema Enkripsi dan Dekripsi Skema Kriptografi Simetris Skema Kriptografi Asimetris Proses Embedding Konsep Dasar Steganografi Citra RGB ukuran 200 x 291 Citra RGB ukuran 200 x 292 Ishikawa Diagram untuk Analisis Permasalahan Sistem Flowchart Pengamanan Data Secara Umum Flowchart Key Generation Flowchart Encryption Flowchart Decryption Flowchart Embedded Flowchart Extraction Use Case Diagram Sistem Activity Diagram Key Generation Activity Diagram Encryption Activity Diagram Embedded Activity Diagram Extraction Activity Diagram Decryption Sequence Diagram Sistem Rancangan Interface Form Home Interface Form Help Rancangan Interface Form Key Generation Rancangan Interface Form Encryption Rancangan Interface Form Embedded Rancangan Interface Form Extraction Rancangan Interface Form Decryption Form Home Form Key Generation Form Encryption Form Embedded Form Extraction Form Decryption Form Help Proses Pembangkitan Kunci Pesan Dialog Peringatan Start value Pesan Dialog Peringatan Key q Pesan Dialog Peringatan Key q Pesan Dialog Peringatan Key r Pesan Dialog Error GCD Halaman 7 10 11 21 22 23 24 27 30 31 32 33 34 35 37 45 45 46 46 47 48 49 50 51 53 54 56 57 60 61 62 63 64 65 66 67 68 68 68 69 69
xii 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 Opendialog Untuk Memilih Kunci Publik Opendialog Untuk Memilih Plaintext Proses Enkripsi (Encryption) Proses Penyimpanan Data Hasil Enkripsi Opendialog Untuk Memilih Coverimage Opendialog Untuk Memilih Ciphertext Proses Penyisipan (Embedded) Savedialog Untuk Menyimpan Stegoimage Opendialog Untuk Memilih Stegoimage Pesan Dialog Error Ekstraksi Proses Ekstraksi (Extraction) Opendialog Untuk Memilih Kunci Privat Opendialog Untuk memilih Position Key Opendialog Untuk memilih Ciphertext Pesan Dialog Error Dekripsi Proses Dekripsi (Decryption) 70 71 71 72 73 73 74 75 75 76 76 77 78 78 79 79
xiii DAFTAR LAMPIRAN Halaman A. Listing Program A-1 B. Curriculum Vitae (CV) B-1