IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORIT TMA RSAA DAN MODIFIED LSBB DRAFT SKRIPSI SISKA ANGGRAINII 081401040 PROGRAM STUDI S1 ILMU KOMPUTE ER DEPARTEMEN ILMU KOMPUTER R FAKULTAS MATEMATIKA DAN ILMU PENGETAP AHUAN ALAM UNIVERSITAS SUMATERAA UTARAA MEDAN 2012
IMPLEMENTASI SISTEM KEAMANAN DATAA MENGGUNAKAN ALGORITM MA RSA DAN MODIFIED LSB DRAFT SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer SISKA ANGGRAINI 081401040 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMAT TIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA U MEDAN 2012
PERSETUJUAN Judul : IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA RSA DAN MODIFIED LSB Kategori : SKRIPSI Nama : SISKA ANGGRAINI Nomor Induk Mahasiswa : 081401040 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen Fakultas : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, 22 Mei 2012 Pembimbing 2 Pembimbing 1 Maya Silvi Lydia, B.Sc., M.Sc. M. Andri Budiman, ST, M.CompSc, MEM NIP 197401272002122001 NIP 197510082008011001 Diketahui/Disetujui oleh Departemen Ilmu Komputer FMIPA USU Ketua, Dr. Poltak Sihombing, M.Kom NIP 196203171991031001
PERNYATAAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA RSA DAN MODIFIED LSB SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 22 Mei 2012 SISKA ANGGRAINI 081401040
PENGHARGAAN Puji dan syukur penulis panjatkan kehadirat Allah SWT, yang telah melimpahkan rahmat dan karunia-nya, sehingga skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan sebagai syarat untuk mencapai gelar Sarjana Komputer, serta shalawat beriring salam penulis persembahkan kepada Nabi Besar Muhammad SAW. Pada kesempatan ini penulis juga ingin memberikan ucapan terima kasih kepada semua pihak yang telah membantu penulis selama pengerjaan skripsi ini, antara lain kepada: 1. Bapak M. Andri Budiman, S.T., M.comp.Sc., MEM selaku dosen pembimbing I dan Ibu Maya Silvi Lydia B.Sc., M.Sc. selaku Sekretaris Departemen dan dosen pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam menyempurnakan skripsi ini. 2. Ibu Dian Rachmawati, S.Si., M.Kom dan Bapak Amer Sharif, S.Si., M.Kom selaku dosen penguji yang telah memberikan saran dan kritik yang membangun kepada penulis. 3. Ketua Departemen Ilmu Komputer, Bapak Dr. Poltak Sihombing, M.Kom. 4. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam. 5. Seluruh dosen dan pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer FMIPA USU. 6. Kedua orang tua tercinta, Ayahanda Junaedi S.T. dan Ibunda Heru Sunarni, atas semua doa, dukungan, dan motivasi yang tak ternilai harganya. 7. Adik-adik tersayang, Aditya Anggara Putra dan M.Rafif Akhmal, serta spesial untuk Chairil Affandi Nst yang tak henti-hentinya memberikan semangat dan motivasi selama pengerjaan skripsi ini. 8. Keluarga besar S1 Ilmu Komputer, khususnya angkatan 2008 yang telah banyak memberikan dukungan, masukan, dan kerja sama yang baik selama ini. 9. Sahabat-sahabat terbaik saya, Nuzul Sakinah, Bilqis, Yeni Susanti, dan Santri Wandana yang banyak memberikan dukungan, motivasi, dan masukan, 10. Teman, kerabat, dan sahabat yang tidak dapat disebutkan satu persatu, terima kasih atas ide, saran, dan kerja samanya selama ini.
11. Semua pihak yang terlibat langsung ataupun tidak langsung dalam membantu penyelesaian skripsi ini dan tidak dapat penulis ucapkan satu persatu Penulis menyadari bahwa skripsi ini jauh dari kesempurnaan, untuk itu, penulis sangat mengharapkan kritik dan saran yang bersifat membangun demi penyempurnaan di masa mendatang. Penulis berharap semoga skripsi ini dapat bermanfaat dan menjadi berkah bagi penulis dan pembaca. Medan, 22 Mei 2012 Penulis
ABSTRAK Keamanan dan kerahasiaan merupakan dua aspek penting dalam komunikasi data. Dalam menjaga keamanan dan kerahasiaan suatu pesan penting yang akan dikirimkan, pesan terlebih dahulu dienkripsi dan disembunyikan ke dalam suatu media. Media yang digunakan dalam penelitian ini adalah citra digital berformat bitmap (.bmp) dengan kedalaman warna 24 bit. Penelitian ini bertujuan untuk membangun suatu sistem yang dapat digunakan dalam meningkatkan keamanan data yang berupa pesanpesan penting dan rahasia. Algoritma kriptografi yang digunakan untuk melakukan enkripsi adalah algoritma RSA dan steganografi dengan memodifikasi metode Least Significant Bit (LSB) digunakan untuk menyimpan pesan ke dalam citra. Modified LSB yang digunakan dalam penelitian ini menyisipkan bit-bit cipherteks ke dalam diagonal matriks pixel komponen warna merah pada citra. Sistem ini dikembangkan dengan menggunakan bahasa pemrograman Matlab R2007b. Pengujian yang dilakukan pada penelitian ini melihat aspek imperceptibility dan aspek recovery pada metode Modified LSB dan melihat kesesuaian algoritma RSA yang digunakan dalam proses enkripsi dan dekripsi. Penelitian ini menegaskan bahwa kombinasi dari algoritma RSA dan Modified LSB dapat digunakan dalam meningkatkan keamanan data. Kata Kunci : Keamanan Data, Kriptografi, Steganografi, RSA, Modified LSB, a Imperceptibility, Recovery, Enkripsi, Dekripsi
IMPLEMENTATION OF DATA SECURITY SYSTEM USING RSA ALGORITHM AND MODIFIED LSB ABSTRACT Security and confidentiality are two important aspect of data communication. In maintaining security and confidentiality of important messages to be sent, previously message is firstly encrypted and hidden into the media. Media that is used in this study is a digital image format bitmap (.bmp) with 24 bit color depth. This study aims to build a system that can be used to improve data security that is important confidential messages. Cryptography algorithms used to encrypt is the RSA algorithm and steganography by modifying Least Significant Bit (LSB) method is used to hide a message into the image. Modified LSB is used in this study to hide bits of the ciphertext into a diagonal matrix of pixels from the red components of image. This system was developed using the programming language Matlab R2007b. Tests are performed in this study in order to observe aspect of imperceptibility and recovery on Modified LSB method and suitability of RSA algorithm used in encryption and decryption process. This study is explaining that combination of RSA algorithm and Modified LSB can used to improve data security. Keyword : Data Security, Cryptography, Steganography, Modified LSB, a Imperceptibility, Recovery, Encryption, Decryption
DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv vi vii viii xi xii Bab 1 Pendahuluan 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 4 1.5 Manfaat Penelitian 4 1.6 Metode Penelitian 4 1.7 Sistematika Penulisan 5 Bab 2 Tinjauan Pustaka 7 2.1 Kriptografi 7 2.1.1 Pengertian Kriptografi 7 2.1.2 Tujuan Kriptografi 9 2.1.3 Jenis Kriptografi 10 2.1.4 Algoritma RSA 11 2.1.4.1 Algoritma Membangkitkan Pasangan Kunci 12 2.1.4.2 Keamanan RSA 14 2.2 Steganografi 14 2.2.1 Pengertian Steganografi 15 2.2.2 Kriteria Steganografi Yang Baik 15 2.2.3 Teknik Steganografi 16 2.2.4 Metode LSB 19 2.2.5 Modified LSB 20 2.3 Citra Digital 21 2.3.1 Citra Bitmap 22 Bab 3 Analisis dan Perancangan Sistem 24 3.1 Analisis Sistem 24 3.2 Tahapan Algoritma RSA 26 3.2.1 Tahapan Proses Enkripsi Algoritma RSA 26 3.2.2 Tahapan Proses Dekripsi Algoritma RSA 29 3.3 Tahapan Proses Penyisipan dan Pengekstrakan 30 3.3.1 Tahapan Algoritma ModifiedLSB 31
3.4 Perancangan Sistem 36 3.4.1 Flowchart 36 3.4.1.1 Flowchart Gambaran Umum Sistem 36 3.4.1.2 Flowchart Proses Enkripsi 38 3.4.1.3 Flowchart Proses Dekripsi 39 3.4.1.4 Flowchart Proses Embedding 41 3.4.1.5 Flowchart Proses Extracting 43 3.4.2 Use Case Diagram 44 3.4.2.1 Use Case Embed 45 3.4.2.2 Use Case Random p & q 45 3.4.2.3 Use Case Input Plaintext 46 3.4.2.4 Use Case Encrypt 46 3.4.2.5 Use Case Select Image (Menu Embed) 47 3.4.2.6 Use Case Embedding 48 3.4.2.7 Use Case Extract 48 3.4.2.8 Use Case Select Image (Menu Extract) 49 3.4.2.9 Use Case Extracting 50 3.4.2.10 Use Case Input Private Key 50 3.4.2.11 Use Case Decrypt 51 3.4.3 Pseudocode 51 3.4.3.1 Pseudocode Proses Enkripsi 51 3.4.3.2 Pseudocode Proses Dekripsi 52 3.4.3.3 Pseudocode Proses Embedding 53 3.4.3.4 Pseudocode Proses Extracting 53 3.4.4 Perancangan Antarmuka (Interface) 54 3.4.4.1 Halaman Home 54 3.4.4.2 Halaman Embed 56 3.4.4.3 Halaman Extract 58 3.4.4.4 Halaman Help 59 Bab 4 Implementasi dan Pengujian 61 4.1 Implementasi Sistem 61 4.1.1 Tampilan Antarmuka Aplikasi 61 4.1.1.1 Tampilan Halaman Home 61 4.1.1.2 Tampilan Halaman Embed 63 4.1.1.3 Tampilan Halaman Extract 72 4.1.1.4 Tampilan Halaman Help 79 4.2 Pengujian Sistem 79 4.2.1 Pengujian Metode Modified LSB 80 4.2.1.1 Aspek Imperceptibility 80 4.2.1.2 Aspek Recovery 87 4.2.2 Pengujian Algoritma RSA 92 4.2.2.1 Algoritma Enkripsi 92 4.2.2.2 Algoritma Dekripsi 94 Bab 5 Kesimpulan dan Saran 97 5.1 Kesimpulan 97 5.2 Saran 98
Daftar Pustaka 99 Lampiran A: Kode Program A-1
DAFTAR TABEL No. Judul Halaman Tabel 3.1 Spesifikasi Use Case Embed 45 3.2 Spesifikasi Use Case Random p & q 46 3.3 Spesifikasi Use Case Input Plaintext 46 3.4 Spesifikasi Use Case Encrypt 47 3.5 Spesifikasi Use Case Select Image (Menu Embed) 47 3.6 Spesifikasi Use Case Embedding 48 3.7 Spesifikasi Use Case Extract 48 3.8 Spesifikasi Use Case Select Image (Menu Extract) 49 3.9 Spesifikasi Use Case Extracting 50 3.10 Spesifikasi Use Case Input Private Key 50 3.11 Spesifikasi Use Case Decrypt 51 4.1 Hasil Pengujian pada Beberapa Cover Image 83 4.2 Hasil Pengujian pada Beberapa Stego Image 87 4.3 Blok-Blok Plainteks 93 4.4 Blok-Blok Cipherteks Hasil Enkripsi 93 4.5 Blok-Blok Plainteks Hasil Dekripsi 95 4.6 Plainteks Hasil Dekripsi 96
DAFTAR GAMBAR No. Gambar Judul Halaman 2.1 Skema Umum Kriptografi 8 2.2 Skema Penyisipan dan Ekstraksi Pesan Steganografi 15 2.3 Penyisipan Pesan ke dalam Covertext 18 2.4 Stego Image Sebelum dan Setelah Proses Ekstraksi Pesan 18 3.1 Skema Encryption-Embedding 25 3.2 Skema Extracting-Decryption 26 3.3 Contoh Matriks Pixel Citra Warna Merah 33 3.4 Contoh Matriks Pixel Citra Warna Hijau 34 3.5 Contoh Matriks Pixel Citra Warna Biru 34 3.6 Contoh Matriks Pixel Citra Warna Merah 35 3.7 Contoh Matriks Pixel Citra Warna Merah yang 35 Telah Disisipkan Bit-Bit Cipherteks 3.8 Flowchart Gambaran Umum Sistem 37 3.9 Flowchart Proses Enkripsi 39 3.10 Flowchart Proses Dekripsi 40 3.11 Flowchart Proses Embedding 42 3.12 Flowchart Proses Extracting 43 3.13 Use Case Sistem 44 3.14 Pseudocode Proses Enkripsi 52 3.15 Pseudocode Proses Dekripsi 52 3.16 Pseudocode Proses Embedding 53 3.17 Pseudocode Proses Extracting 54 3.18 Perancangan Antarmuka Halaman Home 55 3.19 Perancangan Antarmuka Halaman Embed 56 3.20 Perancangan Antarmuka Halaman Ectract 58 3.21 Perancangan Antarmuka Halaman Help 60 4.1 Tampilan Halaman Home 62 4.2 Tampilan Halaman Embed 63 4.3 Hasil Pembangkitan Nilai p dan q 64 4.4 Hasil Perhitungan Kunci Publik dan Privat 65 4.5 Plainteks yang Akan Dienkripsi 66 4.6 Tampilan Peringatan Tidak Ada Plainteks 66 4.7 Cipherteks Hasil Enkripsi dan Dimensi Minimal Cover Image 67 4.8 Pop-up Window Pilih Cover Image 68 4.9 Tampilan Peringatan Saat Pemilihan Cover Image yang Tidak 68 Sesuai 4.10 Tampilan Peringatan Saat Pemilihan Cover Image yang Tidak 69 Sesuai 4.11 Cover Image yang Akan Disisipi Cipherteks 69 4.12 Stego Image Setelah Disisipi Cipherteks 70 4.13 Tampilan Halaman Detail Perubahan Cover Object dan Stego Object 71
4.14 Pop-up Window Simpan Stego Image 72 4.15 Tampilan Halaman Extract 73 4.16 Pop-up Window Pilih Stego Image 74 4.17 Stego Image yang Akan Diekstraksi 75 4.18 Cipherteks Hasil Ekstraksi 76 4.19 Kunci Privat 77 4.20 Plainteks Hasil Dekripsi 78 4.21 Tampilan Peringatan Pemilihan Stego Image 78 4.22 Tampilan Halaman Help 79 4.23 Proses Enkripsi dan Embedding pada Halaman Embed 81 4.24 Painting.bmp 82 4.25 HasilPainting.bmp 82