IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI LUC DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS
SKRIPSI
ANNISSA FADILLA 101401072
PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
Universitas Sumatera Utara
IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI LUC DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
ANNISSA FADILLA 101401072
PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
Universitas Sumatera Utara
PERSETUJUAN
Judul
: IMPLEMENTASI
KOMBINASI
ALGORITMA
KRIPTOGRAFI LUC DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS Kategori
: SKRIPSI
Nama
: ANNISSA FADILLA
Nomor Induk Mahasiswa
: 101401072
Program Studi
: SARJANA (S1) ILMU KOMPUTER
Departemen
: ILMU KOMPUTER
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI) Diluluskan di Medan, 9 Desember 2014
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
M. Andri Budiman, ST, M.Comp.Sc, MEM MT, MM NIP.197510082008011011
Dr. Elviawaty Muisa Zamzami, ST, NIP.197007162005012002
Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP.196203171991021001
Universitas Sumatera Utara
PERNYATAAN
IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI LUC DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, September 2014
Annissa Fadilla 101401072
Universitas Sumatera Utara
PENGHARGAAN
Segala puji dan syukur bagi Allah SWT, atas segala limpahan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Tidak lupa juga shalawat dan salam kepada tauladan umat Rasululloh Muhammad SAW. Ucapan terima kasih penulis sampaikan kepada: 1.
Bapak Prof.Dr.dr.Syahril Pasaribu, DTM&H, MSc(CTM), 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, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4.
Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan dosen pembanding II yang telah memberikan kritik dan saran guna memperbaiki kesalahan yang ada pada skripsi ini
5.
Ibu Dr. Elviawaty Muisa Zamzami, ST, MT, MM selaku dosen pembimbing I yang telah memberikan bimbingan, kritik, dan saran kepada penulis dalam menyelesaikan skripsi ini
6.
Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku dosen pembimbing II yang memberikan bimbingan, kritik, saran dan dukungan kepada penulis mulai dari tahap pengambilan judul skripsi hingga penulis menyelesaikan skripsi ini.
7.
Ibu Dian Rachmawati, S.Si, M.Kom selaku dosen pembanding I yang telah memberikan kritik dan saran guna memperbaiki kesalahan yang ada pada skripsi ini.
8.
Bapak Ade Candra, ST, M.Kom selaku dosen pembimbing akademik yang telah memberika nasehat dan bimbingan kepada penulis dari tahap awal perkuliahan.
Universitas Sumatera Utara
9.
Seluruh dosen dan pegawai Program studi S1 Ilmu Komputer Fasilkom-TI USU
10. Ayahanda Ery Isnanto yang selalu memberikan kasih sayang, doa dan dukungan kepada penulis, Ibunda Almh Nazariah Hanum sosok yang selalu mengajarkan tentang kesabaran, usaha dan doa, serta adinda Muhammad Fadil Abdillah yang selalu memberikan doa dan dukungannya kepada penulis. 11. Sahabat yang selalu saling mendoakan dan memberi dukungan Zulwita Hariyati, Devina Pratiwi Halim, Nurul Ulfah Primadini, Uswatun Hasanah, Fanny Fairina Nadyaningrum, Aulia Akbar Harahap, Auliza Nanda Nasution, Bernard Darius Tarigan, Abangda Ahmad Royhan Putra Siregar dan Kakanda Fauzana Sudirman. Sahabat yang telah banyak membantu penulis Nurhennida Br. Sitepu serta teman-teman stambuk 2010 yang tidak dapat penulis sebutkan satu per satu. Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih jauh dari sempurna untuk itu penulis menerima kritik dan saran yang membangun agar dapat menyempurnakan skripsi ini. Akhirnya, semoga skripsi ini bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara.
Medan, September 2014
Penulis
Universitas Sumatera Utara
ABSTRAK
Perkembangan teknologi informasi yang semakin melesat dewasa ini memberikan kemudahan bagi siapa saja dalam melakukan komunikasi ataupun pertukaran informasi. Di sisi lain, dengan kemudahan tersebut timbul juga permasalahan lain dalam hal keamanan dan kerahasiaan data yang dapat terganggu oleh tindakan kejahatan komputer seperti penyadapan, perusakan ataupun pencurian data dan informasi. Kombinasi kriptografi dan steganografi dapat menjadi salah satu solusi untuk mencegah tindak kejahatan komputer tersebut. Kriptografi merupakan seni atau ilmu untuk menjaga keamanan data dengan cara mengacak data atau pesan. Sedangkan steganografi merupakan ilmu dan seni untuk menyembunyikan pesan dalam suatu media lain. Pada penelitian ini, pesan atau file teks yang akan dikirim terlebih dahulu enkripsi dengan algoritma kriptografi LUC, selanjutnya hasil enkripsi akan disembunyikan pada suatu file citra dengan format bitmap dengan menggunakan metode steganografi End of File. Kemudian dilakukan proses ekstraksi pesan dari dalam citra untuk selanjutnya di dekripsi agar kembali menjadi pesan asli. Implementasi sistem menggunakan MatLab R2012a. Sistem diuji dengan melakukan proses enkripsi dan dekripsi, serta penyisipan dan ekstraksi pesan hingga 100.000 karakter. Hasil pengujian menunjukkan bahwa panjang karakter yang dienkripsi dan didekripsi berbanding lurus dengan kecepatan waktu eksekusi. Kata Kunci: Kriptografi, Steganografi, LUC, End Of File
Universitas Sumatera Utara
IMPLEMENTATION OF COMBINATION OF CRYPTOGRAPHY LUC ALGORITHM AND STEGANOGRAPHY END OF FILE ON DATA TEXT SECURITY
ABSTRACT
The rapid development in information technology these days provides the convenience for everyone to communicate or exchange information. On the other hand, along with those conveniences, another problem arises in terms of security and confidentiality of the data that can be disrupted by computer criminality, such as tapping, theft or destruction of data and information. The combination of cryptography and steganography can be one of the solutions to prevent such computer criminality. Cryptography is an art or knowledge to secure data by scrambling the data or message. Meanwhile, steganography is a knowledge and art to hide messages in other media. In this research, messages or file text that will be sent is encrypted first with LUC algorithm, and then the ciphertext will be hidden in an image file with a bitmap format using the steganography End of File method. Later on, extraction will be done to the message in the image to be decrypted to the original message. Implementation of the system will use MatLab R2012a. System was tested by performing encryption and decryption process, as well as the embedding and extraction of the message to 100.000 characters. The test result showed that the length of the encrypted and decrypted character is proportional to the speed of the execution time.
Keyword: Cryptography, Steganography, LUC, End Of File
Universitas Sumatera Utara
DAFTAR ISI
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran
ii iii iv vi vii viii xi xii xiv
Bab I 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 3 3 3 4
Bab II Landasan Teori 2.1 Teori Bilangan 2.1.1 Keterbagian 2.1.2 Greatest Common Divisor (GCD) 2.1.3 Algoritma Euclidean 2.1.4 Relatif Prima 2.1.5 Least Common Multiple (LCM) 2.1.6 Aritmatika Modulo 2.1.7 Invers Modulo 2.2 Kriptografi 2.2.1 Algoritma Simetris 2.2.2 Algoritma Asimetris (Public Key Algorithm) 2.2.3 Algoritma Asimetris Non Public Key 2.3 Algoritma Kriptografi LUC 2.3.1 Pembangkitan Kunci LUC 2.3.2 Lehmann Prime Generator 2.3.3 Algoritma Enkripsi LUC 2.3.4 Algoritma Dekripsi LUC 2.4 Steganografi 2.4.1 Steganografi End of FIle 2.5 Penelitian yang Relevan
6 6 6 6 7 7 8 8 9 10 11 12 12 13 13 14 15 15 16 18
Universitas Sumatera Utara
Bab III Analisis dan Perancangan 3.1 Analisis Algoritma Kriptografi LUC dan Steganografi End of File 3.1.1 Analisis Algoritma Kriptografi LUC 3.1.1.1 Pembangkitan Kunci LUC 3.1.1.2 Proses Enkripsi LUC 3.1.1.3 Proses Dekripsi LUC 3.1.2 Analisis Metode Steganografi End of FIle 3.1.2.1 Proses Embedding Steganografi End of File 3.1.2.2 Proses Extraction Steganografi End of File 3.2 Analisis Sistem 3.2.1 Analisis Persyaratan 3.2.1.1 Analisis Persyaratan Fungsional 3.2.1.2 Analisis Persyaratan Non Fungsional 3.2.2 Analisis Masalah 3.3 Perancangan Sistem 3.3.1 Flowchart Sistem 3.3.1.1 Flowchart Proses Pembangkitan Kunci 3.3.1.2 Flowchart Proses Enkripsi/Penyisipan 3.3.1.3 Flowchart Proses Ekstraksi/Dekripsi 3.3.1.4 Flowchart Lehmann Primw Generator 3.3.2 UML Diagram 3.3.2.1 Use Case Diagram 3.3.2.2 Activity Diagram 3.3.2.2.1 Activity Diagram Proses Enkripsi/Penyisipan 3.3.2.2.2 Activity Diagram Proses Ekstraksi/Dekripsi 3.3.2.3 Sequence Diagram 3.3.2.3.1 Sequence Diagram Proses Pembangkitan Kunci 3.3.2.3.2 Sequence Diagram Proses Enkripsi/Penyisipan 3.3.2.3.3 Sequence Diagram Proses Ekstraksi/Dekripsi 3.3.3 Pseudocode 3.3.3.1 Pseudocode Proses Enkripsi 3.3.3.2 Pseudocode Proses Dekripsi 3.3.3.3 Pseudocode Proses Penyisipan 3.3.3.4 Pseudocode Proses Ekstraksi 3.3.4 Interface Sistem 3.3.4.1 Tampilan Halaman Utama 3.3.4.2 Tampilan Menu Key Generator 3.3.4.3 Tampilan Submenu Enkripsi/Penyisipan 3.3.4.4 Tampilan Submenu Ekstraksi/Dekripsi 3.3.4.5 Tampilan Menu About 3.3.4.6 Tampilan Menu Help
19 19 19 20 22 24 24 25 26 26 26 26 27 28 28 28 30 31 32 32 32 36 36 37 38 38 39 40 40 40 41 42 43 43 44 45 46 47 49 49
Bab IV Implementasi dan Pengujian 4.1 Implementasi 4.1.1 Tampilan Antarmuka Sistem 4.1.1.1 Tampilan Halaman Utama 4.1.1.2 Tampilan Halaman Menu Key Generator 4.1.1.3 Tampilan Halaman Submenu Enkripsi/Penyisipan 4.1.1.4 Tampilan Halaman Submenu Ekstraksi/Dekripsi
51 51 51 52 53 54
Universitas Sumatera Utara
4.1.1.5 Tampilan Halaman Menu About 4.1.1.6 Tampilan Halaman Menu Help 4.2 Pengujian Sistem 4.2.1 Pengujian Proses Pembangkitan Kunci 4.2.2 Pengujian Proses Enkripsi dan Penyisipan 4.2.3 Pengujian Proses Ekstraksi dan Dekripsi 4.3 Hasil Pengujian 4.3.1 Hasil Pengujian Proses Enkripsi LUC 4.3.2 Hasil Pengujian Proses Penyisipan End of File 4.3.3 Hasil Pengujian Proses Ekstraksi End of File 4.3.4 Hasil Pengujian Proses Dekripsi LUC
55 55 56 56 57 63 65 65 67 71 73
Bab V Kesimpulan dan Saran 5.1 Kesimpulan 5.2 Saran
76 76
Daftar Pustaka
78
Universitas Sumatera Utara
DAFTAR TABEL
Halaman Tabel 2.1 Perhitungan barisan Lucas sampai n=10 13 Tabel 3.1 Proses perhitungan kunci dekripsi d 20 Tabel 3.2 Spesifikasi Use Case Pembangkit Kunci 33 34 Tabel 3.3 Spesifikasi Use Case Enkripsi/Penyisipan Tabel 3.4 Spesifikasi Use Case Ekstraksi/Dekripsi 35 Tabel 4.1 Perhitungan Proses Enkripsi 66 67 Tabel 4.2 Rincian Waktu Proses Enkripsi 68 Tabel 4.3 Rincian Waktu Proses Penyisipan (Embedding) Tabel 4.4 Rincian ukuran citra ynag dihasilkan berdasarkan jumlah karakter pesan 69 Tabel 4.5 Rincian Waktu Proses Ekstraksi 72 Tabel 4.6 Perhitungan Proses Dekripsi 73 74 Tabel 4.7 Rincian Waktu Proses Dekripsi Tabel 4.8 Hasil percobaan waktu proses enkripsi dan dekripsi dengan beberapa kunci yang berbeda 75
Universitas Sumatera Utara
DAFTAR GAMBAR
Halaman Gambar 2.1 Skema Kriptografi Algoritma Simetris Gambar 2.2 Skema Kriptografi Algoritma Asimetris Gambar 2.3 Skema Kriptografi Algoritma Non Public Key Gambar 2.4 Perbedaan Steganografi dan Kriptografi Gambar 2.5 Citra *bmp true color Gambar 2.6 Citra setelah disisip pesan Gambar 3.1 Diagram Ishikawa Masalah Penelitian Gambar 3.2 Flowchart Pembangkitan Kunci Gambar 3.3 Flowchart Proses Enkripsi/Penyisipan Gambar 3.4 Flowchart Proses Ekstraksi/Dekripsi Gambar 3.5 Flowchart Pembangkit Bilangan Prima Lehmann Gambar 3.6 Use Case Diagram Sistem Gambar 3.7 Activity Diagram Proses Enkripsi/Penyisipan Gambar 3.8 Activity Diagram Proses Ekstraksi/Dekripsi Gambar 3.9 Sequence Diagram Proses Pembangkitan Kunci Gambar 3.10 Sequence Diagram Proses Enkripsi/Penyisipan Gambar 3.11 Sequence Diagram Proses Ekstraksi/Dekripsi Gambar 3.12 Rancangan Halaman Utama Sistem Gambar 3.13 Rancangan Menu Key Generator Gambar 3.14 Rancangan Submenu Enkripsi/Penyisipan Gambar 3.15 Rancangan Submenu Ekstraksi/Dekripsi Gambar 3.16 Rancangan Menu About Gambar 3.17 Rancangan Menu Help Gambar 4.1 Tampilan Halaman Utama Gambar 4.2 Tampilan Submenu pada Menu Process Gambar 4.3 Tampilan Halaman Key Generator Gambar 4.4 Tampilan Halaman Enkripsi/Penyisipan Gambar 4.5 Tampilan Halaman Ekstraksi/Dekripsi Gambar 4.6 Tampilan Halaman About Gambar 4.7 Tampilan Halaman Help Gambar 4.8 Hasil proses pembangkitan kunci Gambar 4.9a Input Plaintext secara langsung Gambar 4.9b Input Plaintext dengan memilih file teks Gambar 4.10 Pesan dialog berupa untuk mengisi pesan terlebih dahulu Gambar 4.11 Pesan dialog berupa peringatan kunci enkripsi dan nilai N tidak boleh kosong dan harus dalam bentuk numerik Gambar 4.12 Ciphertext yang dihasilkan dari proses enkripsi
10 11 12 16 16 17 28 29 30 31 32 33 36 37 38 39 40 44 45 46 48 49 50 51 52 52 53 54 55 56 57 58 58 59 59 60
Universitas Sumatera Utara
Gambar 4.13 User memilih citra *bmp sebagai citra cover Gambar 4.14 Citra cover yang telah dipilih Gambar 4.15 Citra Stego yang dihasilkan setelah proses penyisipan Gambar 4.16 Proses penyimpanan citra stego Gambar 4.17 User memilih citra stego Gambar 4.18 Proses ekstraksi ciphertext dari citra stego Gambar 4.19 Pesan dialog citra tidak menyimpan pesan rahasia Gambar 4.20 Pesan dialog berupa peringatan kunci dekripsi dan nilai N tidak boleh kosong dan harus dalam bentuk numerik Gambar 4.21 Proses dekripsi ciphertext menjadi plaintext Gambar 4.22 Grafik jumlah karakter Plaintext terhadap lama proses enkripsi Gambar 4.23 Grafik jumlah karakter Plaintext terhadap lama proses penyisipan Gambar 4.24 Grafik jumlah karakter Ciphertext terhadap lama proses ekstraksi Gambar 4.25 Grafik jumlah karakter Ciphertext terhadap lama proses dekripsi
60 61 62 62 63 63 64 64 65 67 68 72 74
Universitas Sumatera Utara
DAFTAR LAMPIRAN
Halaman A. Listing Program B. Curriculum Vitae
A-1 B-1
Universitas Sumatera Utara