IMPLEMENTASI KOMBINASI ALGORITMA NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS SKRIPSI YANSEN BOSTON SIMATUPANG 101401070 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
IMPLEMENTASI KOMBINASI ALGORITMA NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer YANSEN BOSTON SIMATUPANG 101401070 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
ii PERSETUJUAN Judul Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas IMPLEMENTASI KOMBINASI ALGORITMA NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS SKRIPSI YANSEN BOSTON SIMATUPANG 101401070 SARJANA (S1) ILMU KOMPUTER ILMU KOMPUTER ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, April 2015 Komisi Pembimbing Pembimbing 2 Pembimbing 1 Amer Sharif, S.Si, M.Kom M. Andri B, ST, M.Comp.Sc, MEM. NIP. 197510082008011011 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom. NIP. 196203171991031001
iii PERNYATAAN IMPLEMENTASI KOMBINASI ALGORITMA NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS SKRIPSI Penulis mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa ringkasan dan kutipan yang masing-masing disebutkan sumbernya. Medan, Maret 2015 YANSEN BOSTON SIMATUPANG 101401070
iv PENGHARGAAN Puji syukur dan terima kasih penulis ucapkan kepada Tuhan Yesus Kristus yang telah menjaga, merawat dan melimpahkan kasih dan karunia-nya kepada penulis, sehingga skripsi ini dapat diselesaikan dalam waktu yang telah ditetapkan. Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan terima kasih kepada 1. Bapak Prof. Dr. dr. Syahril Pasaribu, D.T.M.&H., M.Sc.(C.T.M.). Sp.A.(K.) selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 3. Bapak Dr. Poltak Sihombing sebagai Ketua Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara. 4. Ibu Maya Silvi Lydia, B.Sc., M.Sc. sebagai Sekretaris Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembanding I yang telah memberikan saran dan kritikan dalam penyempurnaan skripsi ini kepada penulis. 5. Bapak Ade Candra, S.T., M.Kom selaku Dosen Pembimbing Akademik yang telah memberikan bimbingan dan dukungan kepada penulis. 6. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku Dosen Pembimbing I yang telah memberikan arahan dan bimbingan kepada penulis. 7. Bapak Amer Sharif, S.Si., M.Kom selaku Dosen Pembimbing II yang telah memberikan arahan dan bimbingan kepada penulis. 8. Ibu Maya Silvi Lydia, B.Sc., M.Sc. selaku Dosen Pembanding I yang telah memberikan saran dan kritikan dalam penyempurnaan skripsi ini kepada penulis. 9. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembanding II yang telah memberikan saran dan kritikan dalam penyempurnaan skripsi ini kepada penulis. 10. Kedua orangtua penulis Bapak W. Simatupang, S.Pd dan Ibu J. Panjaitan, S.pd, Abang penulis Hamonangan W.D. Simatupang, S.T. serta Adik penulis Tri Astral Simatupang dan Dian H. Simatupang yang telah memberikan dukungan berupa doa, harapan dan dukungan baik moril maupun materi. 11. Seluruh tenaga pengajar dan pegawai pada Fakultas Ilmu Komputer dan Teknologi Informasi USU, khususnya Program Studi S-1 Ilmu Komputer. 12. Teman-teman mahasiswa S-1 Ilmu Komputer Rivai H. Purba, Hengky P. F. Gulo, Lorent O. Barus, S.Kom., Kurniawan W.A.P. Hutagaol, Johanes P. Saragih, Gunalan Anggirasa, Timothy, S. Kom., Janwandi R. Sinaga, S.Kom, Yohanes Silitonga dan semua rekan-rekan kuliah Stambuk 2010 yang telah berbagi kebersamaan selama berada di S-1 Ilmu Komputer. 13. Abang Arion Immanuel Sitorus dan Andronikus Simarmata yang telah banyak berbagi ilmu dalam menyelesaikan skripsi ini.
v 14. Teman-teman komunitas LOGIC yang telah berbagi kebersamaan selama menyelesaikan skripsi ini. 15. Dan semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat tulisan satu per satu. Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan. Oleh karena itu penulis menerima kritik dan masukan dari semua pihak yang bersifat membangun dan menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya. Medan, 10 Maret 2015 Penulis
vi ABSTRAK Perkembangan teknologi jaringan komputer menyebabkan terhubungnya satu komputer dengan komputer lainnya. Hal ini membuka peluang adanya ancaman terhadap keamanan data. Untuk melindungi data dari ancaman tersebut adalah dengan memanfaatkan teknik kriptografi dan steganografi. Algoritma kriptografi yang digunakan pada penelitian ini adalah algoritma NTRUEncrypt. Algoritma ini merupakan algoritma yang memanfaatkan polynomial. Plaintext diubah dahulu kedalam bentuk polynomial agar dapat melakukan proses enkripsi dan dekripsi. Steganografi yang digunakan adalah metode end of file. Metode ini melakukan proses penyisipan data pada akhir citra. Tahap pertama yang dilakukan adalah menentukan parameter set yang digunakan untuk membangkitkan kunci privat dan kunci publik. Selanjutnya plaintext yang berformat *.txt dienkripsi dengan algoritma NTRUEncrypt menggunakan kunci publik dan menghasilkan ciphertext, kemudian disisipkan ke dalam sebuah citra yang berformat *.bmp dengan metode end of file. Proses penyisipan pesan pada citra asli akan menghasilkan citra stego. Citra stego akan diekstraksi kembali menjadi citra asli dan ciphertext. Ciphertext yang dihasilkan akan didekripsi menggunakan kunci privat untuk mendapatkan plaintext semula. Secara keseluruhan, waktu yang diperlukan untuk semua proses berbanding lurus dengan panjang polynomial (parameter N), waktu proses enkripsi lebih cepat dibandingkan waktu proses dekripsi dan waktu proses penyisipan lebih lama dibandingkan proses ekstraksi ciphertext. Kata Kunci Kriptografi, NTRUEncrypt, Polynomial, Steganografi, End of File.
vii IMPLEMENTATION OF COMBINATION OF NTRUENCRYPT ALGORITMH AND STEGANOGRAPHY END OF FILE ON TEXT DATA SECURITY ABSTRACT The development of computer network technology causes connection of one computer to another computer. This makes the chances of a threat to the security of the data. To protect this data is to use cryptography and steganography techniques. Cryptographic algorithms used in this study is NTRUEncrypt algorithm. This algorithm is an algorithm that utilizes polynomial. Plaintext is converted first into a polynomial form that can perform encryption and decryption process. Steganography that used is end of file method. This method does data insertion process at the end of the image. The first phase is to determine the set of parameters used to generate the private key and public key. Furthermore plaintext file with *.txt format encrypted with NTRUEncrypt algorithm using the public key and produce the ciphertext, and then inserted into an image file with *.bmp format with the end of file method. The process of inserting a message in the original image will produce a stego image. Stego image will be extracted back into the original image and the ciphertext. The ciphertext that resulted will be decrypted using the private key to obtain the original plaintext. Overall, the execution time for all processes is proportional to the length of the polynomial (parameter N), the encryption process time is faster than the decryption process time and insertion process time longer than the extraction process time. Key word Cryptography, NTRUEncrypt, Polynomial, Steganography, End of File.
viii DAFTAR ISI PERSETUJUAN PERNYATAAN PENGHARGAAN ABSTRAK ABSTRACT DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR DAFTAR LAMPIRAN BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penulisan ii iii iv vi vii viii x xi xii 1 2 3 3 3 4 5 BAB II TINJAUAN PUSTAKA 2.1 Kriptografi 2.1.1 Kriptografi Simetri 2.1.2 Kriptografi Asimetri 2.2 Landasan Matematika Kriptografi 2.2.1 Bilangan Prima 2.2.2 Faktor Persekutuan Terbesar (FPB) 2.2.3 Aritmetika Modulo 2.3 Polinomial Ring 2.4 Algoritma NTRUEncrypt 2.4.1 Pembangkitan Kunci 2.4.2 Enkripsi Pesan 2.4.3 Dekripsi Pesan 2.5 Citra Digital 2.5.1 Format File Citra Bitmap 2.6 Steganografi 2.6.1 End of File 6 7 8 9 9 10 11 11 14 16 18 20 21 22 24 26 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem 3.1.1 Analisis Masalah 3.1.2 Analisis Persyaratan 3.1.2.1 Persyaratan Fungsional 28 28 29 29
ix 3.2 3.1.2.2 Persyaratan Non-Fungsional 3.1.3 Analisis Proses Perancangan Sistem 3.2.1 Perancangan Flowchart Aplikasi 3.2.1.1 Flowchart Enkripsi Algoritma NTRUEncrypt dan Penyembunyian Data EOF 3.2.1.2 Flowchart Pembangkitan Kunci 3.2.1.3 Flowchart Enkripsi NTRUEncrypt 3.2.1.4 Flowchart Penyisipan Steganografi EOF 3.2.1.5 Flowchart Ektraksi EOF dan Dekripsi Algoritma NTRUEncrypt 3.2.1.6 Flowchart Ekstraksi Steganografi EOF 3.2.1.7 Flowchart Dekripsi NTRUEncrypt 3.2.2 Perancangan Unified Modeling Languange (UML) 3.2.2.1 Use Case Diagram 3.2.2.2 Sequence Diagram 3.2.2.3 Activity Diagram 3.2.3 Rancangan Interface Aplikasi 3.2.3.1 Rancangan Interface Form Home 3.2.3.2 Rancangan Interface Form Pengirim 3.2.3.3 Rancangan Interface Form Penerima 3.2.3.4 Rancangan Interface Form Petunjuk BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Sistem 4.1.1 Form Home 4.1.2 Form Pengirim 4.1.3 Form Penerima 4.1.4 Form Petunjuk 4.2 Pengujian Sistem 4.2.1 Proses Enkripsi Plaintext dan Penyisipan Ciphertext 4.2.2 Proses Ekstraksi Ciphertext dan Dekripsi Ciphertext 4.3 Hasil Pengujian 4.3.1 Pengujian Waktu Proses Pembangkitan Kunci 4.3.2 Pengujian Waktu Proses Enkripsi dan Dekripsi 4.3.3 Pengujian Waktu Proses Penyisipan dan Ekstraksi 4.3.4 Pengujian Hasil Penyisipan pada Setiap Parameter Set 4.3.5 Pengujian antara Parameter Set dengan Warna Blur Pada Citra 30 30 31 31 32 33 34 35 36 37 38 39 39 45 46 48 48 49 51 52 53 53 54 5 56 57 58 60 62 62 63 65 66 67 BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan 5.2 Saran 70 71 DAFTAR PUSTAKA 72
x DAFTAR TABEL Tabel 2.1 Tabel 2.2 Tabel 2.3 Tabel 3.1 Tabel 3.2 Tabel 3.3 Tabel 3.4 Tabel 3.5 Tabel 4.1 Tabel 4.2 Tabel 4.3 Tabel 4.4 Tabel 4.5 Tabel 4.6 Tabel 4.7 Standar Parameter pada Algoritma NTRUEncrypt Nilai Invers f Modulo p (fp) Nilai Invers f Modulo q (fq) Dokumentasi Naratif Use Case Bangkitkan Kunci Dokumentasi naratif Use Case Enkripsi Dokumentasi naratif Use Case Penyisipan Dokumentasi naratif Use Case Ekstraksi Dokumentasi naratif Use Case Dekripsi Spesifikasi Kebutuhan Perangkat Keras untuk Implementasi Parameter Set Pengujian Sistem Data Waktu Pembangkitan Kunci Data Waktu Proses Enkripsi dan Dekripsi Data Waktu Proses Penyisipan dan Ekstraksi Ukuran Citra Setelah Penyisipan Pesan Pengujian Parameter Set dengan Warna Blur Citra 15 17 18 40 41 42 43 44 52 57 62 64 65 66 67
xi DAFTAR GAMBAR Gambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 2.5 Gambar 2.6 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7 Gambar 3.8 Gambar 3.9 Gambar 3.10 Gambar 3.11 Gambar 3.12 Gambar 3.13 Gambar 3.14 Gambar 3.15 Gambar 3.16 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Gambar 4.11 Gambar 4.12 Gambar 4.13 Gambar 4.14 Skema Kriptogafi Simetri Skema Kriptografi Asimetri Sistem koordinat citra berukuran M x N Contoh Gambar dengan Format Bitmap (.bmp) Perbedaan Steganografi dan Kriptografi Proses penyisipan dan ekstraksi data rahasia Flowchart enkripsi dan penyisipan pesan Flowchart pembangkitan kunci Flowchart enkripsi plaintext Flowchart Penyisipan Ciphertext Flowchart ekstraksi dan dekripsi pesan Flowchart Ekstraksi Ciphertext Flowchart dekripsi Ciphertext Use Case Diagram Sistem Sequence diagram enkripsi dan penyisipan plaintext Sequence diagram ekstraksi dan dekripsi ciphertext Activity diagram enkripsi dan penyisipan plaintext Activity diagram ekstraksi dan dekripsi ciphertext Rancangan Interface Form Home Rancangan Interface Form Pengirim Rancangan Interface Form Penerima Rancangan Interface Form Petunjuk Form Home Form Pengirim Form Penerima Form Petunjuk Pesan yang Akan Disipkan Pesan (DSC0347.bmp) Proses Pembangkitan Kunci Privat Proses Pembangkitan Kunci Publik Proses Enkripsi Data Proses Penyisipan Ciphertext Proses Ekstraksi Pesan Proses Dekripsi Pesan Perbandingan Waktu Proses Pembangkitan Kunci Perbandingan Waktu Proses Enkripsi dan Dekripsi Perbandingan Waktu Proses Penyisipan dan Ekstraksi Pesan 8 9 22 24 25 26 32 33 34 35 36 37 38 39 45 46 47 48 49 50 51 52 54 55 56 56 57 58 59 59 60 61 61 63 64 66
xii DAFTAR LAMPIRAN Halaman Listing Program A-1 Curriculum Vitae B-1