IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN
MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM
SKRIPSI
HENNY WANDANI 081401001
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2012
IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN
RABIN PUBLIC KEY CRYPTOSYSTEM
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
DRAFT SKRIPSI
HENNY WANDANI 081401001
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2012
PERSETUJUAN
Judul : IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM
Kategori : SKRIPSI
Nama : HENNY WANDANI
Nomor Induk Mahasiswa : 081401001
Program Studi : S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : FAKULTAS ILMU KOMPUTER DAN
TEKNOLOGI INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Agustus 2012 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Amer Sharif, S.Si, M.Kom M. Andri B,ST,MCompSc,MEM
NIP. - NIP. 197510082008011001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
PERNYATAAN
IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN
RABIN PUBLIC KEY CRYPTOSYSTEM
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Agustus 2012
HENNY WANDANI NIM 081401001
PENGHARGAAN
Segala puji dan syukur penulis ucapkan kepada Allah SWT yang senantiasa melimpahkan rahmat dan karunia-Nya sehingga skripsi ini dapat diselesaikan.
Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Bapak Mohammad Andri Budiman, S.T, M. Comp.Sc, MEM selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.
2. Bapak Amer Sharif, S.Si, M.Kom selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.
3. Bapak Prof. Dr. Iryanto, M.Si selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
4. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
5. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 6. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu
Komputer, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, semua dosen dan semua pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 7. Ayahanda Irwan, S.T dan Ibunda Nuraini Siregar tercinta yang telah memberikan
doa, motivasi, perhatian serta kasih sayang yang tulus serta pengorbanan yang tidak ternilai harganya.
8. Kakak-kakak penulis yang tersayang dr.Yuli Dewani dan Dewi Syahfitri serta kepada seluruh keluarga besar penulis yang telah memberikan doa, dukungan dan perhatiannya kepada penulis.
9. Foni Sanjaya, S.Kom yang telah memberikan doa, semangat, dukungan, saran dan perhatiannya kepada penulis.
10. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2008 secara khusus Khairunnisa Lubis, Nurul Faradhilla, Prisilia Lukas, Wiliyana, Ria Virgi
Yani, Henny Haryani, Cindy Violita, Siska Anggaraini, Heny Muliana, Brikson Barus dan Sadifa Asrofa yang telah memberikan semangat dan menjadi teman diskusi penulis dalam menyelesaikan skripsi ini.
11. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, kepada pembaca agar kiranya memberikan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya.
Medan, Agustus 2012
Penulis
ABSTRAK
Semakin meningkatnya perkembangan komunikasi data membuat semakin pentingnya aspek keamanan dan kerahasiaan data. Kriptografi merupakan suatu seni atau ilmu menjaga keamanan data atau pesan yang bersifat mengacak suatu data atau pesan. Sedangkan steganografi adalah ilmu menyembunyikan pesan atau data ke dalam suatu media. Kedua teknik tersebut dapat digabungkan dan akan menghasilkan suatu sistem keamanan data yang tinggi. Pada penelitian ini, terlebih dahulu dilakukan proses enkripsi data atau pesan rahasia yang berupa data teks angka dengan jumlah maksimum yang dimasukkan adalah 24 digit angka, kemudian hasil enkripsi (ciphertext) akan disembunyikan ke dalam suatu file gambar yang berformat bitmap dengan ukuran minimum 25x25. Selanjutnya, dilakukan proses ekstraksi dan dekripsi
ciphertext, sehingga diperoleh kembali plaintext yang berupa data teks angka.
Algoritma kriptografi yang digunakan adalah algoritma Rabin Public Key dan teknik steganografi yang digunakan adalah metode End of File.
THE IMPLEMENTATION OF DATA SECURITY SYSTEM WITH USING TECHNIQUES STEGANOGRAPHY END OF FILE AND RABIN PUBLIC
KEY CRYPTOSYSTEM
ABSTRACT
The increase of data communications results in the increasing importance of safety and confidentiality of data. Cryptography is the art or science of maintaining the security of data or messages by scrambling a data or message. While steganography is the science of hiding messages or data into a medium. Both of these techniques can be combined to generate a high security data system. In this study, data or secret messages in the form of numbers with a maximum of 24 digit is firstly encrypted, the result of encryption (ciphertext) will be hidden into an image which is a bitmap file format with a minimum size of 25 x 25. The process of extraction and decryption will retrieve the plaintext in the form of numbers as before. Cryptography algorithm used is the Rabin Public Key algorithm and the technique of steganography used is the End of File method.
DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak vi Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Bab 1 Pendahuluan 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 2 1.5 Manfaat Penelitian 3 1.6 Metodologi Penelitian 4 1.7 Sistematika Penulisan 5
Bab 2 Tinjauan Teoretis
2.1 Kriptografi 6
2.1.1 Enkripsi dan Dekripsi 6 2.1.2 Sejarah dan Perkembangan Kriptografi 7
2.1.3 Tujuan Kriptografi 8
2.2 Jenis-Jenis Algoritma Kriptografi 9
2.2.1 Algoritma Simetris 9
2.2.2 Algoritma Asimetris 10
2.3 Diffie – Hellman 11
2.4 RSA (Rivest – Shamir – Adleman) 12 2.5 Algoritma Rabin Public Key 13
2.6 Aritmatika Modulo 16
2.7 Greatest Common Divisor (GCD) 17
2.8 Bilangan Prima 17
2.9 Relatif Prima 18
2.10 Algoritma Euclid 19
2.11 Extended Euclidean 20
2.12 Chinese Remainder Theorem 21
2.13 Steganografi 22
2.14 File Bitmap 24
Bab 3 Analisis Dan Perancangan Sistem
3.1 Analisis Sistem 26
3.1.1 Analisis Rabin Public Key Cryptosystem 26 3.1.1.1 Proses Pembangkitan Kunci 26
3.1.1.2 Proses Enkripsi 27
3.1.1.3 Proses Dekripsi 29
3.1.2 Analisis Metode End of File (EOF) 33 3.1.2.1 Analisis Proses Embedding 33 3.1.2.2 Analisis Proses Extraction 34
3.2 Perancangan Sistem 36
3.2.1 Flowchart Gambaran Umum Sistem 36 3.2.1.1 Flowchart Pembangkitan Kunci pada Algoritma
Rabin Public Key 36
3.2.1.2 Flowchart Proses Enkripsi pada Algoritma
Rabin Public Key 38
3.2.1.3 Flowchart Proses Dekripsi pada Algoritma
Rabin Public Key 38
3.2.1.4 Flowchart Proses Embedding pada Metode
End of File (EOF) 40
3.2.1.5 Flowchart Proses Extract pada Metode
End of File (EOF) 41
3.2.2 Use Case Diagram 41
3.2.2.1 Use Case Key Generator 42 3.2.2.2 Use Case Key Generate Kunci 43 3.2.2.3 Use Case Embed/Encode 44 3.2.2.4 Use Case Input Kunci Publik 45 3.2.2.5 Use Case Input Plaintext 46 3.2.2.6 Use Case Enkripsi 47 3.2.2.7 Use Case Pilih Cover Image 47 3.2.2.8 Use Case Embedding/Encoding 48 3.2.2.9 Use Case Extract/Decode 49 3.2.2.10 Use Case Pilih Stego Image 50 3.2.2.11 Use Case Extraction/Decoding 51 3.2.2.12 Use Case Input Kunci Privat 52 3.2.2.13 Use Case Dekripsi 53
3.2.3 Pseudocode 54
3.2.3.1 Pseudocode Proses Pembangkitan Kunci 54 3.2.3.2 Pseudocode Proses Enkripsi 55 3.2.3.3 Pseudocode Proses Dekripsi 56 3.2.3.4 Pseudocode Proses Embedding 58 3.2.3.5 Pseudocode Proses Extraction 58 3.2.4 Perancangan Antar Muka (Interface) 59
3.2.4.1 Halaman Menu Utama 59 3.2.4.2 Halaman Menu Key Generator 60 3.2.4.3 Halaman Menu Embed/Encode 61 3.2.4.4 Halaman Menu Extract/Decode 63 3.2.4.5 Halaman Menu About 64 3.2.4.6 Halaman Menu Help 65 Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi Sistem 67
4.1.1 Spesifikasi Perangkat Keras 67 4.1.2 Spesifikasi Perangkat Lunak 67
4.2 Tampilan Antar Muka 68 4.2.1 Tampilan Halaman Menu Utama 68 4.2.2 Tampilan Halaman Menu Key Generator 69 4.2.3 Tampilan Halaman Menu Embed/Encode 70 4.2.4 Tampilan Halaman Menu Extract/Decode 72 4.2.5 Tampilan Halaman Menu About 73 4.2.6 Tampilan Halaman Menu Help 74
4.3 Pengujian Sistem 74
4.3.1 Pengujian Proses Pembangkitan Kunci 75 4.3.2 Pengujian Proses Input Kunci Publik dan Plaintext 76 4.3.3 Pengujian Proses Enkripsi 76 4.3.4 Pengujian Proses Pilih Cover Image 78 4.3.5 Pengujian Proses Embedding 80 4.3.6 Pengujian Proses Pilih Stego Image 82 4.3.7 Pengujian Proses Ekstraksi 83 4.3.8 Pengujian Input Kunci Privat 84 4.3.9 Pengujian Proses Dekripsi 85 Bab 5 Kesimpulan Dan Saran
5.1 Kesimpulan 89
5.2 Saran 90
Daftar Pustaka ` 91
DAFTAR TABEL
Halaman 3.1 Hasil Enkripsi Angka Kelipatan”11” dengan Kunci Publik “77” 28 3.2 Spesifikasi Use Case Key Generator 43 3.3 Spesifikasi Use Case Generate Kunci 43 3.4 Spesifikasi Use Case Embed/Encode 44 3.5 Spesifikasi Use Case Input Kunci Publik 45 3.6 Spesifikasi Use Case Input Plaintext 46 3.7 Spesifikasi Use Case Enkripsi 47 3.8 Spesifikasi Use Case Pilih Cover Image 48 3.9 Spesifikasi Use Case Embedding/Decoding 49 3.10 Spesifikasi Use Case Extract/Decode 49 3.11 Spesifikasi Use Case Pilih Stego Image 51 3.12 Spesifikasi Use Case Extraction/Decoding 52 3.13 Spesifikasi Use Case Input Kunci Privat 52 3.14 Spesifikasi Use Case Dekripsi 53 4.1 Hasil Enkripsi dan Dekripsi pada Sistem 87
DAFTAR GAMBAR
Halaman
2.1 Proses Umum dalam Kriptografi 7
2.2 Bentuk Scytale 8
2.3 Skema Kriptografi Simetris 10
2.4 Kriptografi Asimetris 11
2.5 Proses Steganografi 23
2.6 Sebelum dan Sesudah Penyisipan Pesan dengan Menggunakan
Metode End of File 24
3.1 Matriks Pixel Citra RGB 34
3.2 Matriks Pixel Citra RGB yang Telah Disisipkan Ciphertext 34 3.3 Matriks Pixel Citra RGB yang Telah Disisipkan Ciphertext 35 3.4 Matriks Pixel Stego Image yang Terdapat pada Baris Terakhir
Matriks Pixel Citra 35
3.5 Flowchart Gambaran Umum Sistem 36 3.6 Flowchart Pembangkitan Kunci 37 3.7 Flowchart Proses Enkripsi Algoritma Rabin Public Key 38 3.8 Flowchart Proses Dekripsi Algoritma Rabin Public Key 39 3.9 Flowchart Proses Embedding pada Metode End of File (EOF) 40 3.10 Flowchart Proses Extraction pada Metode End of File (EOF) 41
3.11 Use Case Diagram Sistem 42
3.12 Rancangan Antar Muka Halaman Menu Utama 60 3.13 Rancangan Antar Muka Halaman Menu Key Generator 61 3.14 Rancangan Antar Muka Halaman Menu Embed/Encode 62 3.15 Rancangan Antar Muka Halaman Menu Extract/Decode 63 3.16 Rancangan Antar Muka Halaman Menu About 64 3.17 Rancangan Antar Muka Halaman Menu Help 65 4.1 Tampilan Halaman Menu Utama 68 4.2 Tampilan Submenu yang Terdapat pada Menu File 69 4.3 Tampilan Halaman Menu Key Generator 70 4.4 Tampilan Halaman Menu Embed/Encode 71 4.5 Tampilan Halaman Menu Extract/Decode 72 4.6 Tampilan Halaman Menu About 73 4.7 Tampilan Halaman Menu Help 74
4.8 Hasil Pembangkitan Kunci 75
4.9 Hasil Proses Input Kunci Publik dan Plaintext 76 4.10 Pesan Dialog Peringatan Kunci Publik yang Diinputkan Tidak
Bernilai Numerik 77
4.11 Pesan Dialog Peringatan untuk Menginputkan Plaintext 77
4.12 Hasil Proses Enkripsi 77
4.13 Pop-up Window Open File 78
4.14 Hasil Pemilihan Cover Image 79 4.15 Pesan Dialog Peringatan Gambar yang Dipilih Terlalu Kecil 79
4.16 Hasil Proses Embedding 80 4.17 Sebelum dan Sesudah Proses Embedding 81
4.18 Pop-up Window Save Image 81
4.19 Pop-up Window Open File 82
4.20 Hasil Pemilihan Stego Image 83 4.21 Hasil Ekstraksi Stego Image 83 4.22 Pesan Dialog Peringatan Gambar yang Dipilih Tidak Terdapat Pesan yang
Disembunyikan 84
4.23 Hasil Proses Penginputan Kunci Privat p dan q 85
4.24 Hasil Proses Dekripsi 86
4.25 Sistem Menghasilkan Plaintext yang Berbeda dari Plaintext yang
Sebenarnya 87
4.26 Pesan Dialog Peringatan Kunci Privat yang Diinputkan Tidak
Bernilai Numerik 88