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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM : SKRIPSI : HENNY WANDANI : 081401001 : S1 ILMU KOMPUTER : ILMU KOMPUTER : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Agustus 2012 Komisi Pembimbing
:
Pembimbing 2
Amer Sharif, S.Si, M.Kom NIP. -
Pembimbing 1
M. Andri B,ST,MCompSc,MEM NIP. 197510082008011001
Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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
Henny Wandani
Universitas Sumatera Utara
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.
Kata kunci : End of File, Rabin Public Key.
Universitas Sumatera Utara
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. Keyword : End of File, Rabin Public Key.
Universitas Sumatera Utara
DAFTAR ISI
Halaman ii iii iv vi vii viii xi xii
Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Bab 1 Pendahuluan 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metodologi Penelitian 1.7 Sistematika Penulisan
1 2 2 2 3 4 5
Bab 2 Tinjauan Teoretis 2.1 Kriptografi 2.1.1 Enkripsi dan Dekripsi 2.1.2 Sejarah dan Perkembangan Kriptografi 2.1.3 Tujuan Kriptografi 2.2 Jenis-Jenis Algoritma Kriptografi 2.2.1 Algoritma Simetris 2.2.2 Algoritma Asimetris 2.3 Diffie – Hellman 2.4 RSA (Rivest – Shamir – Adleman) 2.5 Algoritma Rabin Public Key 2.6 Aritmatika Modulo 2.7 Greatest Common Divisor (GCD) 2.8 Bilangan Prima 2.9 Relatif Prima 2.10 Algoritma Euclid 2.11 Extended Euclidean 2.12 Chinese Remainder Theorem 2.13 Steganografi 2.14 File Bitmap
6 6 7 8 9 9 10 11 12 13 16 17 17 18 19 20 21 22 24
Bab 3 Analisis Dan Perancangan Sistem 3.1 Analisis Sistem 3.1.1 Analisis Rabin Public Key Cryptosystem 3.1.1.1 Proses Pembangkitan Kunci
26 26 26
Universitas Sumatera Utara
3.2
3.1.1.2 Proses Enkripsi 3.1.1.3 Proses Dekripsi 3.1.2 Analisis Metode End of File (EOF) 3.1.2.1 Analisis Proses Embedding 3.1.2.2 Analisis Proses Extraction Perancangan Sistem 3.2.1 Flowchart Gambaran Umum Sistem 3.2.1.1 Flowchart Pembangkitan Kunci pada Algoritma Rabin Public Key 3.2.1.2 Flowchart Proses Enkripsi pada Algoritma Rabin Public Key 3.2.1.3 Flowchart Proses Dekripsi pada Algoritma Rabin Public Key 3.2.1.4 Flowchart Proses Embedding pada Metode End of File (EOF) 3.2.1.5 Flowchart Proses Extract pada Metode End of File (EOF) 3.2.2 Use Case Diagram 3.2.2.1 Use Case Key Generator 3.2.2.2 Use Case Key Generate Kunci 3.2.2.3 Use Case Embed/Encode 3.2.2.4 Use Case Input Kunci Publik 3.2.2.5 Use Case Input Plaintext 3.2.2.6 Use Case Enkripsi 3.2.2.7 Use Case Pilih Cover Image 3.2.2.8 Use Case Embedding/Encoding 3.2.2.9 Use Case Extract/Decode 3.2.2.10 Use Case Pilih Stego Image 3.2.2.11 Use Case Extraction/Decoding 3.2.2.12 Use Case Input Kunci Privat 3.2.2.13 Use Case Dekripsi 3.2.3 Pseudocode 3.2.3.1 Pseudocode Proses Pembangkitan Kunci 3.2.3.2 Pseudocode Proses Enkripsi 3.2.3.3 Pseudocode Proses Dekripsi 3.2.3.4 Pseudocode Proses Embedding 3.2.3.5 Pseudocode Proses Extraction 3.2.4 Perancangan Antar Muka (Interface) 3.2.4.1 Halaman Menu Utama 3.2.4.2 Halaman Menu Key Generator 3.2.4.3 Halaman Menu Embed/Encode 3.2.4.4 Halaman Menu Extract/Decode 3.2.4.5 Halaman Menu About 3.2.4.6 Halaman Menu Help
Bab 4 Implementasi dan Pengujian Sistem 4.1 Implementasi Sistem 4.1.1 Spesifikasi Perangkat Keras 4.1.2 Spesifikasi Perangkat Lunak
27 29 33 33 34 36 36 36 38 38 40 41 41 42 43 44 45 46 47 47 48 49 50 51 52 53 54 54 55 56 58 58 59 59 60 61 63 64 65
67 67 67
Universitas Sumatera Utara
4.2
4.3
Tampilan Antar Muka 4.2.1 Tampilan Halaman Menu Utama 4.2.2 Tampilan Halaman Menu Key Generator 4.2.3 Tampilan Halaman Menu Embed/Encode 4.2.4 Tampilan Halaman Menu Extract/Decode 4.2.5 Tampilan Halaman Menu About 4.2.6 Tampilan Halaman Menu Help Pengujian Sistem 4.3.1 Pengujian Proses Pembangkitan Kunci 4.3.2 Pengujian Proses Input Kunci Publik dan Plaintext 4.3.3 Pengujian Proses Enkripsi 4.3.4 Pengujian Proses Pilih Cover Image 4.3.5 Pengujian Proses Embedding 4.3.6 Pengujian Proses Pilih Stego Image 4.3.7 Pengujian Proses Ekstraksi 4.3.8 Pengujian Input Kunci Privat 4.3.9 Pengujian Proses Dekripsi
Bab 5 Kesimpulan Dan Saran 5.1 Kesimpulan 5.2 Saran Daftar Pustaka Lampiran Listing Program
68 68 69 70 72 73 74 74 75 76 76 78 80 82 83 84 85
89 90 `
91 A-1
Universitas Sumatera Utara
DAFTAR TABEL
Halaman 3.1 Hasil Enkripsi Angka Kelipatan”11” dengan Kunci Publik “77” 3.2 Spesifikasi Use Case Key Generator 3.3 Spesifikasi Use Case Generate Kunci 3.4 Spesifikasi Use Case Embed/Encode 3.5 Spesifikasi Use Case Input Kunci Publik 3.6 Spesifikasi Use Case Input Plaintext 3.7 Spesifikasi Use Case Enkripsi 3.8 Spesifikasi Use Case Pilih Cover Image 3.9 Spesifikasi Use Case Embedding/Decoding 3.10 Spesifikasi Use Case Extract/Decode 3.11 Spesifikasi Use Case Pilih Stego Image 3.12 Spesifikasi Use Case Extraction/Decoding 3.13 Spesifikasi Use Case Input Kunci Privat 3.14 Spesifikasi Use Case Dekripsi 4.1 Hasil Enkripsi dan Dekripsi pada Sistem
28 43 43 44 45 46 47 48 49 49 51 52 52 53 87
Universitas Sumatera Utara
DAFTAR GAMBAR
Halaman 2.1 2.2 2.3 2.4 2.5 2.6 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 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 4.14 4.15
Proses Umum dalam Kriptografi Bentuk Scytale Skema Kriptografi Simetris Kriptografi Asimetris Proses Steganografi Sebelum dan Sesudah Penyisipan Pesan dengan Menggunakan Metode End of File Matriks Pixel Citra RGB Matriks Pixel Citra RGB yang Telah Disisipkan Ciphertext Matriks Pixel Citra RGB yang Telah Disisipkan Ciphertext Matriks Pixel Stego Image yang Terdapat pada Baris Terakhir Matriks Pixel Citra Flowchart Gambaran Umum Sistem Flowchart Pembangkitan Kunci Flowchart Proses Enkripsi Algoritma Rabin Public Key Flowchart Proses Dekripsi Algoritma Rabin Public Key Flowchart Proses Embedding pada Metode End of File (EOF) Flowchart Proses Extraction pada Metode End of File (EOF) Use Case Diagram Sistem Rancangan Antar Muka Halaman Menu Utama Rancangan Antar Muka Halaman Menu Key Generator Rancangan Antar Muka Halaman Menu Embed/Encode Rancangan Antar Muka Halaman Menu Extract/Decode Rancangan Antar Muka Halaman Menu About Rancangan Antar Muka Halaman Menu Help Tampilan Halaman Menu Utama Tampilan Submenu yang Terdapat pada Menu File Tampilan Halaman Menu Key Generator Tampilan Halaman Menu Embed/Encode Tampilan Halaman Menu Extract/Decode Tampilan Halaman Menu About Tampilan Halaman Menu Help Hasil Pembangkitan Kunci Hasil Proses Input Kunci Publik dan Plaintext Pesan Dialog Peringatan Kunci Publik yang Diinputkan Tidak Bernilai Numerik Pesan Dialog Peringatan untuk Menginputkan Plaintext Hasil Proses Enkripsi Pop-up Window Open File Hasil Pemilihan Cover Image Pesan Dialog Peringatan Gambar yang Dipilih Terlalu Kecil
7 8 10 11 23 24 34 34 35 35 36 37 38 39 40 41 42 60 61 62 63 64 65 68 69 70 71 72 73 74 75 76 77 77 77 78 79 79
Universitas Sumatera Utara
4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27
Hasil Proses Embedding Sebelum dan Sesudah Proses Embedding Pop-up Window Save Image Pop-up Window Open File Hasil Pemilihan Stego Image Hasil Ekstraksi Stego Image Pesan Dialog Peringatan Gambar yang Dipilih Tidak Terdapat Pesan yang Disembunyikan Hasil Proses Penginputan Kunci Privat p dan q Hasil Proses Dekripsi Sistem Menghasilkan Plaintext yang Berbeda dari Plaintext yang Sebenarnya Pesan Dialog Peringatan Kunci Privat yang Diinputkan Tidak Bernilai Numerik Pesan Dialog Peringatan Kunci Privat yang Diinputkan Salah
80 81 81 82 83 83 84 85 86 87 88 88
Universitas Sumatera Utara