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)
SKRIPSIDiajukan 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
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 Diluluskan di
Medan, 2013 Komisi Pembimbing
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)
SKRIPSISaya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 2013
Disa Hayanti 091401066
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 Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada :
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM). Ap.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis, M.Kom, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Departemen Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc, selaku Sekretaris Departemen Ilmu Komputer Universitas Sumatera Utara.
5. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, 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
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.
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.
vii DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak v Abstract vi
Daftar Isi vii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xiii
Bab I 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 Bab II 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
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
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1 3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 4.4 4.5
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 15 37 39 40 42 43 80 81 83 85 87
xi
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
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
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
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
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