IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN KOMBINASI STEGANOGRAFI TEKNIK END OF FILE (EOF) UNTUK KEAMANAN FILE TEXT DAN FILE CITRA SKRIPSI ALES SANRO SOTARDODO 091401006 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN KOMBINASI STEGANOGRAFI TEKNIK END OF FILE (EOF) UNTUK KEAMANAN FILE TEXT DAN FILE CITRA SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer ALES SANRO SOTARDODO 091401006 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
ii PERSETUJUAN Judul IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN KOMBINASI STEGANOGRAFI TEKNIK END OF FILE (EOF) UNTUK KEAMANAN FILE TEXT DAN FILE CITRA Kategori SKRIPSI Nama ALES SANRO SOTARDODO Nomor Induk Mahasiswa 091401006 Program Studi SARJANA (S1) ILMU KOMPUTER Fakultas ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Komisi Pembimbing Diluluskan di Medan, 18 Juli 2013 Pembimbing II, Pembimbing I, Ade Candra, ST, M.Kom Maya Silvi Lydia, B.Sc, M.Sc NIP. 19790904 200912 1 002 NIP. 19740127 200212 2 001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
iii PERNYATAAN IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN KOMBINASI STEGANOGRAFI TEKNIK END OF FILE (EOF) UNTUK KEAMANAN FILE TEXT DAN FILE CITRA SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 18 Juli 2013 Ales Sanro Sotardodo 091401006
iv PENGHARGAAN Puji dan syukur penulis ucapkan kepada Tuhan Pencipta manusia, langit, bumi dan segala isinya 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. 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. Ibu Maya Silvi Lydia, B.Sc, M.Sc, dan bapak Ade Candra, ST. M.Kom, selaku Dosen Pembimbing. 7. Bapak Dr. Poltak Sihombing, M.Kom dan Bapak Amer Sharif, S.Si, M.Kom, selaku Dosen Penguji. 8. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM, selaku dosen pembimbing akademik saya. 9. Almarhum bapak saya Jampin Panjaitan, Almarhum ibu saya Luminta Simanjuntak yang dulu mendoakan dan sangat menyayangi, mendukung, dan mengarahkan saya untuk mencapai cita-cita saya, abang saya Adri Herianto, kakak saya Elvina Lidawati, Am.Keb, Sutanti, Frida Navian, Am.Keb, adik saya Melpa Marlina, dan Dina Riana yang selalu memberikan cinta kasihnya dan dukungannya baik material dan spiritual. 10. Rekan-rekan kuliah kom B dan kom A, khususnya Harmanto Simanjuntak, satu KTB saya Harmanto, Juni, Jakup, Santo, dan Bertua, PKK saya kak Debora Nainggolan, S.Kom, adik kelompok saya, dan teman koordinasi di UKM KMK USU dan terkhususnya di UP. FMIPA, Farmasi & Fasilkom- TI. Semoga Tuhan memberikan berkat yang berlimpah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Medan, 18 Juli 2013 Penulis
v ABSTRAK Perkembangan teknologi yang telah membawa perubahan pada pengiriman surat menyurat menjadi pengiriman elektronik tidak hanya membawa keuntungan, tetapi kerahasiaan data dari orang lain yang tidak diinginkan untuk mengetahui isi pesan tersebut perlu diamankan. Pada penelitian ini masalah yang diangkat adalah pengamanan file text dan file citra menggunakan dua metode yaitu steganografi dengan teknik end of file (EOF) dan kriptografi algoritma ElGamal. Steganografi teknik end of file (EOF) menyembunyikan pesan terhadap objek lain tanpa merusak objek tersebut. Kriptografi algoritma ElGamal adalah salah satu algoritma kriptografi kunci publik, kekuatan algoritma ini terletak pada logaritma diskritnya. Pada penelitian ini ukuran pesan dan citra tidak dibatasi. Dari hasil penelitian stego-image bertambah besar dan terdapat garis-garis pada bawah gambar. Pada algoritma ElGamal ini akan mempunyai hasil nilai enkripsi yang sama, jika nilai yang di enkripsi sama, sehingga tampak bahwa pengacakan terlihat semu. Bilangan prima yang digunakan harus lebih besar dari nilai yang akan di enkripsi. Besar bilangan prima akan mempengaruhi besar cipher-image yang akan dihasilkan. Metode mean squared error digunakan untuk menentukan kualitas citra hasil pengamanan dan hasil ekstraksi citra sama dengan citra asli. Stego-image dapat diamankan dengan menggunakan algoritma ElGamal, sehingga citra terlihat acak dan susah ditebak. Katakunci : Kriptografi, steganografi, end of file, ElGamal, stego-image, cipherimage.
vi IMPLEMENTATION OF CRYPTOGRAPHY ELGAMAL ALGORITHM COMBINATION WITH STEGANOGRAPHY END OF FILE (EOF) TECHNIQUE FOR TEXT FILE AND IMAGE FILE SECURITY ABSTRACT Technological developments that have brought changes to the delivery of electronic mailings to delivery not only bring benefits, but the confidentiality of the data from others that are not desirable to know the content of the message need to secure. In this research the issues studied was the security text files and image files using two methods, namely steganography techniques end of file (EOF) and ElGamal cryptographic algorithms. Steganographic techniques end of file (EOF) hide messages inside other objects without damaging the object. Cryptographic ElGamal algorithm is a public-key cryptographic algorithms, the power of these algorithms lies in discrete logarithms. In this research it was found that messages hidden with this technique has no size limit, the stego-image obtained are larger and will have significant lines at the bottom of the image. When using the ElGamal algorithm will have the same result encrypted value, if the same encrypted value, so it indicated pseudo randomization. The primes is used must be greater than the value to be encrypted. Large prime would affect a large cipher-image will be return. Mean squared error method is used to determine the quality of the image of the security and the extracted image with the original image. Stego-image can be secured by using the ElGamal algorithm, so that the image looks random and unpredictable. Keywords : Cryptography, steganography, end of file, ElGamal, stego-image, cipherimage.
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 2 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Sistematika Penulisan 3 Landasan Teori 2.1 Steganografi 5 2.1.1 Kriteria Steganografi yang Baik 6 2.1.2 Steganografi Teknik End Of File (EOF) 7 2.2 Kriptografi 8 2.2.1 Tujuan Kriptografi 9 2.2.2 Kriptografi Simetri dan Asimetri 10 2.2.2.1 Kriptografi Simetri 10 2.2.2.2 Kriptografi Asimetri 11 2.2.3 Landasan Matematika 12 2.2.3.1 Sifat Pembagian pada Bilangan Bulat 12 2.2.3.2 Teorema Eucledian 13 2.2.3.3 Bilangan Prima 13 2.2.3.4 Relatif Prima 13 2.2.4 Kriptografi Algoritma ElGamal 14 2.3 Citra 17 2.3.1 Citra Bitmap (*.bmp) 18 2.3.2 Citra jpeg (*.jpg) 18 2.4 Mean Squared Error 19 Bab III Analisis dan Perancangan Sistem 3.1 Analisis Sistem 20 3.1.1 Analisis Masalah 20 3.1.2 Analisis Persyaratan 21
viii 3.1.2.1 Persyaratan Fungsional 21 3.1.2.2 Persyaratan Nonfungsional 22 3.1.3 Pemodelan Sistem 23 3.1.3.1 Perancangan Unified Modelling Language (UML) 23 3.1.3.1.1 Use Case Diagram 24 3.1.3.1.2 Activity Diagram 25 3.1.3.1.3 Sequance Diagram 30 3.1.3.1.4 Class Diagram 32 3.1.4 Perancangan Flowchart 33 3.1.4.1 Flowchart Aplikasi 33 3.1.4.2 Flowchart Proses Embed End Of File 35 3.1.4.3 Flowchart Proses Enkripsi dengan ElGamal 36 3.1.4.4 Flowchart Proses Dekripsi dengan ElGamal 38 3.1.4.5 Flowchart Proses Ekstraksi dengan End Of File 39 3.1.5 Percobaan Manual 40 3.2 Perancangan 51 3.2.1 Rancangan Interface Aplikasi 52 3.2.1.1 Rancangan Interface Form Awal (Intro) 52 3.2.1.2 Rancangan Interface Form Utama 53 3.2.1.3 Rancangan Interface Form Pengamanan 54 3.2.1.4 Rancangan Interface Form Pengungkapan 56 3.2.1.5 Rancangan Interface Form Hitung MSE 58 3.2.1.6 Rancangan Interface Form Bantuan Menggunakan Aplikasi 59 3.2.1.7 Rancangan Interface Form Tentang Programmer 60 Bab IV Implementasi dan Pengujian 4.1 Implementasi 61 4.1.1 Form Intro 61 4.1.2 Form Halaman Utama 62 4.1.3 Form Pengamanan (Embedding dan Enkripsi) 63 4.1.4 Form Pengungkapan (Ekstraksi dan Dekripsi) 64 4.1.5 Form Hitung Mean Squared Error (MSE) 66 4.1.6 Form Bantuan Menggunakan Aplikasi 66 4.1.7 Form Bantuan Tentang Programmer 67 4.2 Pengujian 68 4.2.1 Perbandingan Pengujian Percobaan Manual dan Menggunakan Sistem 69 4.2.2 Proses Pengamanan (Penyisipan dan Enkripsi) 73 4.2.3 Proses Pengungkapan (Dekripsi dan Ekstraksi) 76 4.2.4 Proses Menghitung Mean Squared Error (MSE) 80 4.2.5 Proses Pengujian (Pengamanan) Steganografi Teknik End Of File (EOF) dengan Kriptografi Algoritma ElGamal 81 4.2.6 Proses Pengujian Pengungkapan (Dekripsi dan Ekstraksi) Steganografi Teknik End Of File (EOF) dengan Kriptografi Algoritma ElGamal 86 4.2.7 Tabel Hasil Pengujian 95 4.2.8 Analisis Kerusakan Citra Pada Enkrisi dan Dekripsi (Menggunakan Kunci <= 16-bit) 98
ix Bab V Kesimpulan dan Saran 5.1 Kesimpulan 103 5.2 Saran 104 Daftar Pustaka 105 Listing Program A-1
x DAFTAR TABEL Nomor Tabel 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 Nama Tabel Simbol Simbol yang Sering dipakai Pada Activity Diagram Kamus Data Citra Asli 5x5 Piksel Stego-Image (Bentuk Karakter) Stego-Image (Bentuk ASCII (Desimal)) Cipher Citra (Hasil Dekripsi Citra Tabel 3.5) Citra Hasil Enkripsi (Perubahan menjadi Base 256) R-G-B Cipher-Image Hasil Dekripsi Hasil Ekstraksi Perbandingan Ukuran dengan Panjang Karakter Berbeda Proses Pengujian dengan Panjang Teks 50000 Karakter dan Besar Citra Bervariasi dan Bilangan Prima Tetap dengan Besar 32-bit Proses Pengujian dengan Bilangan Prima Berbeda dan Gambar Tetap Proses Pengujian Ekstraksi Citra Pada Tabel 4.1 Proses Pengujian Pengungkapan (Dekripsi dan Ekstraksi) Proses Pengujian Pengungkapan ((Dekripsi dan Ekstraksi) Data Pengujian Pada Tabel 4.1 Data Pengujian Pada Tabel 4.2 Data Pengujian Pada Tabel 4.3 Data Pengujian Pada Tabel 4.4 Data Pengujian Pada Tabel 4.5 Data Pengujian Pada Tabel 4.6 Halaman 25 33 40 40 41 45 46 46 50 51 81 83 85 87 89 91 96 96 96 97 97 98
xi DAFTAR GAMBAR Nomor Gambar 2.1 2.2 2.3.a 2.3.b 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 3.18 3.19 3.20 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 4.16 Nama Gambar Skema Proses Steganografi Skema Embedding dan Ekstraksi Citra Asli Stego-Image Skema Kriptografi Simetri Skema Kriptografi Asimetri Intensitas Citra Ishikawa Diagram untuk Analisis Permasalahan Sistem Use Case Diagram Sistem Activity Diagram Pengamanan Activity Diagram Pembangkitan Kunci Acitivity Diagram Pengungkapan (Dekripsi dan Ekstraksi) Acitivity Diagram Hitung MSE Sequence Diagram Sistem Rancangan Class Diagram Sistem Flowchart Aplikasi Flowchart Proses Embedding End Of File Flowchart Proses Enkripsi Plain-Image dengan ElGamal Flowchart Proses Dekripsi dengan ElGamal Flowchart Proses Ekstraksi End Of File Rancangan Interface Form Intro Rancangan Interface Form Utama Rancangan Interface Form Pengamanan Rancangan Interface Form Pengungkapan Rancangan Interface Form Hitung MSE Rancangan Interface Form Menggunakan Aplikasi (Bantuan) Rancangan Interface Form Tentang Form Intro Form Halaman Utama Form Pengamanan (Embedding dan Enkripsi) Form Pengungkapan (Ekstraksi dan Dekripsi) Form Hitung Mean Squared Error (MSE) Form Menggunakan Aplikasi Form Tentang Citra Asli (Seperti Tabel 3.3) Stego-Image (Seperti Tabel 3.4) Cipher-Image (Seperti Tabel 3.7) Hasil Dekripsi (Seperti Tabel 3.9) Citra Asli (Seperti Tabel 3.10) Opendialog Untuk Memilih File Proses Embedding Proses Pembangkitan Bilangan Prima Proses Pembangkitan Kunci Enkripsi dan Proses Enkripsi Halaman 5 7 8 8 11 12 18 21 24 26 27 28 30 31 32 34 35 37 38 39 52 53 54 57 58 59 60 62 63 64 65 66 67 68 69 70 71 72 73 74 74 75 76
xii 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 Proses Dekripsi Error (Nilai >255) Proses Dekripsi (Nilai 0-255) Proses Dekripsi Proses Ekstraksi Proses Ekstraksi (tidak ada teks) Proses Penyimpanan Data Hasil Pengungkapan Perhitungan MSE (Ukuran Berbeda) Proses Menghitung Mean Squared Error (MSE) Citra Asli 77 77 78 78 79 79 80 81 98
xiii DAFTAR LAMPIRAN Halaman A. Listing Program A-1 B. Curriculum Vitae (CV) B-1