Implementasi Keamanan File Txt Dan Rtf Dengan Kombinasi Algoritma Kriptografi Vigenere Dengan Steganorafi Least Significant Bit ( LSB) Pada Gradasi Ttik Hijau Dalam File BMP
IMPLEMENTASI KEAMANAN FILE TXT DAN RTF DENGAN KOMBINASI ALGORITMA KRIPTOGRAFI VIGENERE
DENGAN STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) PADA GRADASI TITIK HIJAU
DALAM FILE BMP
SKRIPSI
RAYI SETIAWATI 121421019
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
(2)
IMPLEMENTASI KEAMANAN FILE TXT DAN RTF DENGAN KOMBINASI ALGORITMA KRIPTOGRAFI VIGENERE DENGAN STEGANORAFI
LEAST SIGNIFICANT BIT ( LSB ) PADA GRADASI TTIK HIJAU DALAM FILE BMP
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ijazah Sarjana Ilmu Komputer
RAYI SETIAWATI 121421019
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
(3)
PERSETUJUAN
Judul : IMPLEMENTASI KEAMANAN FILE TXT DAN
RTF DENGAN KOMBINASI ALGORITMA KRIPTOGRAFI VIGENERE DENGAN STEGANORAFI LEAST SIGNIFICANT BIT ( LSB) PADA GRADASI TTIK HIJAU DALAM FILE BMP
Kategori : SKRIPSI
Nama : RAYI SETIAWATI
Nomor Induk Mahasiswa : 121421019
Program Studi : EKSTENSI S1 ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (Fasilkom-TI) UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing II Pembimbing I
Handrizal, S.Si, M. Comp. Sc Dr. Poltak Sihombing, M.Kom NIP.-
NIP.- NIP. 19620317 199103 1 001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom. NIP. 19620317 1991031 001
(4)
PERNYATAAN
IMPLEMENTASI KEAMANAN FILE TXT DAN RTF DENGAN KOMBINASI ALGORITMA KRIPTOGRAFI VIGENERE DENGAN STEGANORAFI
LEAST SIGNIFICANT BIT ( LSB ) PADA GRADASI TTIK HIJAU
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2014
RAYI SETIAWATI 121421019
(5)
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT karena atas segala rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, serta Shalawat dan Salam penulis hadiahkan kepada Nabi Besar Muhammad SAW.
Pada kesempatan ini, penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi.
3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer sekaligus sekaligus sebagai pembimbing I yang telah meluangkan waktu, tenaga, dan pikiran dalam membimbing penulisan skripsi ini .
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu Komputer.
5. Bapak Handrizal, S.Si, M. Comp. Sc selaku pembimbing II yang telah meluangkan waktu, tenaga, dan pikiran dalam membimbing penulisan skripsi ini.
6. Ibu Dr. Elviawaty MZ, ST, MT, MM sebagai dosen penguji I yang telah memberikan kritik dan saran yang berguna bagi penulis.
7. Ibu Dian Rachmawati, SSi, M.Kom sebagai dosen penguji II yang telah memberikan kritik dan saran yang berguna bagi penulis.
8. Seluruh staf pengajar dan pegawai Fakultas Ilmu Komputer dan Teknologi Informasi.
9. Teristimewa orang tua yang penulis sayangi, ibunda Saliyem dan ayahanda Surikman Hadi yang telah memberikan doa, motivasi, perhatian , mendukung penulis dengan penuh kasih sayang dan kesabaran yang tak terhingga.
(6)
10.Adik tersayang Puri Retno dan Diana Fitri Astuti yang telah memberikan doa, dukungan, dan perhatian kepada saya.
11.Sahabat - sahabat teristimewa Adelina, Debora, Dina, Kak Upik, Kak Suci, Kak Lia, dan Kak Fanny yang selalu menemani dan tak henti-hentinya member motivasi, dukungan, dan doa.
12.Teman – teman seperjuangan mahasiswa S1 Ekstensi Ilmu Komputer stambuk 2012 yang selalu memberi dukungan.
13.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi ini.
Penulis menyadari bahwa skripsi ini masih banyak kekurangan. Oleh karena itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara.
Medan, Juli 2014 Penulis
(7)
ABSTRAK
Berkembangnya jaringan komunikasi membuat pertukaran informasi semakin sering terjadi, baik dalam bentuk teks, audio, dan video. Semakin banyaknya pesan yang yang ingin dikirimkan maka keamanan dan kerahasiaan dari pesan tersebut semakin sulit dijaga. Keamanan dan kerahasiaan adalah aspek yang penting pada proses pertukaran informasi atau pesan. Untuk melindungi kerahasiaan pesan bisa menggunakan teknik kriptografi. Kriptografi adalah ilmu yang mempelajari teknik – teknik matematika yang berhubungan dengan aspek keamanan seperti kerahasiaan, integritas data, serta otentikasi. Sedangkan Steganografi adalah salah satu teknik yang dilakukan dalam mengamankan pesan yaitu dengan cara menyembunyikan pesan ke sebuah media digital. Pada penelitian ini dilakukan analisis untuk mengimplementasikan keamanan file txt dan rtf dengan kombinasi algoritma kriptografi vigenere dengan steganografi least significant bit (LSB). Pada tahap kriptografi pesan yang telah berhasil diinput akan dienkripsi dengan kunci yang telah diberikan kemudian dilanjutkan dengan proses penyisipan pesan di tahap steganografi. Penyisipan dilakukan pada file citra yang berformat *.bmp pada gradasi titik hijau saja. Pesan yang dapat dibaca oleh sistem adalah pesan berformat .txt dan .rtf. Pada Algoritma LSB penyisipan dilakukan dengan menggantikan bit terakhir citra dengan bit pesan yang akan disisipkanPada tahap enkripsi dan penyisipan akan dihasilkan stego image, stego image merupakan citra yang sudah disisip oleh pesan. Kemudian pada tahap ekstraksi dan dekripsi yang dihasilkan adalah plaintext, plaintext merupakan pesan yang belum diberikan kunci apapun. Citra yang dijadikan cover image adalah citra 300x300 piksel dimana maksimum karakter yang akan dapat dibaca adalah 2000 karakter.Pada penelitan ini disimpulkan bahwa semakin banyak karakter yang akan disisipkan memerlukan cover image yang besar pula dengan kata lain besar piksel cover image menentukan banyaknya jumlah karakter yang dapat ditampung.
(8)
ABSTRACT
The development of communication networks create increasingly frequent exchange of information, either in the form of text, audio, and video. Increasing number of messages to be sent the security and confidentiality of the message is increasingly difficult to maintain. Security and confidentiality is an important aspect in the process of exchange of information or messages. To protect the confidentiality of the message can use cryptographic techniques. Cryptography is the study of techniques - mathematical techniques related to aspects of security such as confidentiality, data integrity, and authentication. While Steganography is a technique that is performed in a secure message by way of hiding messages into a digital medium. In this research analysis to implement security txt and rtf files with a combination of cryptographic algorithms vigenere with steganography the least significant bit (LSB). At this stage of the cryptographic message has been successfully inputted will be encrypted with a key that has been given and then followed by the insertion of steganographic messages in stages. Insertion is done on the image file format *. Bmp in the gradation of green dots. The message can be read by the system is the message format. Txt and. Rtf. In LSB insertion algorithm is done by replacing the last bit of the image with the message bits to be inserted. In encryption phase and insertion will be generated stego image, the stego image is an image that has been disisip by the message. Then the extraction phase and the resulting decryption is plaintext, plaintext is a message that has not been given any key. The image is used as the cover image is a 300x300 pixel image where the maximum characters that will be read is 2000 characters. In this research concluded that more characters will be inserted requiring greater the cover image, in other words a large cover image pixel determines the number of characters that can be accommodated.
(9)
DAFTAR ISI
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Bab 1 Pendahuluan
Latar Belakang Masalah 1
1.1Rumusan Masalah 2
1.2Batasan Masalah 3
1.3Tujuan Penelitian 3
1.4 Manfaat Penelitian 3
1.5 Metodologi Penelitian 4
1.6 Sistematika Penulisan 5
Bab 2 Tinjauan Pustaka
2.1Kriptografi 6
2.1.1 Vigenere Cipher 7
2.2Steganografi 10
2.2.1 Citra Digital 12
2.3Citra RGB 13
2.3.1 Citra Bitmap 14
2.4Least Significant Bit ( LSB ) 15
2.5Peneliti Terdahulu 18
Bab 3 Analisis dan Perancangan
3.1Analisis 20
3.1.1 Analisis Algoritma Vigenere 21
3.1.2 Analisis Algoritma Least Significant Bit ( LSB ) 21
3.2Analisis Persyaratan 21
3.2.1 Analisis Proses Penyisipan 24
3.2.2 Analisis Proses Ekstraksi 28
3.3Analisis Enkripsi dan Penyisipan 23
3.4Analisis Ekstraksi dan Dekripsi 28
3.5Pemodelan Dengan Use Case Diagram 30
3.6Pemodelan Dengan Activity Diagram 31
3.6.1 Pemodelan Activity Diagram Enkripsi dan Penyisipan 31 3.6.2 Pemodelan Activity Diagram Ekstraksi dan Dekripsi 32
3.7Pemodelan Sequence Diagram 33
3.7.1 Pemodelan Sequence Diagram Enkripsi dan Penyisipan 33 3.7.2 Pemodelan Sequence Diagram Ekstraksi dan Dekipsi 34
(10)
3.8Perancangan Sistem 35
3.8.1 Flowchart Menu Utama 35
3.8.2 Flowchart Enkripsi dan Penyisipan 36
3.8.3 Flowchart Ekstraksi dan Dekripsi 37
3.8.4 Rancangan Menu Utama 38
3.8.5 Rancangan Menu Enkripsi dan Penyisipan 39 3.8.6 Rancangan Menu Ekstraksi dan Dekripsi 40 Bab 4 Implementasi
4.1Implementasi 43
4.1.1 Tampilan Form Menu Utama 43
4.1.2 Tampilan Menu File 43
4.1.3 Tampilan Menu enkripsi 43
4.1.4 Tampilan Menu Dekripsi 52
4.1.5 Tampilan Menu Detail Aplikasi 58
Bab 5 Kesimpulan dan Saran
5.1Kesimpulan 59
5.2Saran 60
Daftar Pustaka Lampiran
(11)
DAFTAR TABEL
Tabel 2.1 Bujur Sangkar Vigenere Cipher 8
Tabel 2.2 Tabel Substitusi Algoritma Kriptorafi Vigerene Cipher 9
Tabel 2.3 Nilai Piksel Citra cover RG 8x3 Piksel 17
Tabel 2.4 Nilai Biner Piksel Citra Cover dan Proses Penyisipan Pesan 17
Tabel 3.1 Substitusi Vigenere Cipher 23
Tabel 3.2 Nilai Karakter Dalam ASCII 23
Tabel 3.3 Nilai Pesan Asli 24
Tabel 3.4 Nilai Kunci 25
Tabel 3.5 Perhitungan Enkripsi 25
Tabel 3.6 Nilai Ciphertext Tabel ASCII 26
Tabel 3.7 Nilai Piksel Citra Cover 8x3 Piksel 26
Tabel 3.8 Nilai Biner Piksel Citra Cover dan Proses Penyisipan 27
Tabel 3.9 Tabel Ekstraksi Pesan 28
Tabel 3.10 Nilai Karakter ASCII 29
Tabel 3.11 Nilai Karakter Vigenere 29
(12)
DAFTAR GAMBAR
Gambar 2.1 Proses Enkripsi dan Dekripsi 7
Gambar 2.2 Proses Steganografi 11
Gambar 2.3 Koordinat Citra Digital 13
Gambar 2.4 Citra RGB 14
Gambar 2.5 Bunga Citra Cover RGB 8x3 Piksel 16
Gambar 3.1 Citra Cover RGB 3x10 Piksel 24
Gambar 3.2 Stego Image 27
Gambar 3.3 Stego Image Untuk Dekripsi 28
Gambar 3.4 Use Case Diagram 30
Gambar 3.5 Activity Diagram Enkripsi dan Penyisipan 31 Gambar 3.6 Activity diagram Ekstraksi dan Dekripsi 32 Gambar 3.7 Sequence Diagram Enkripsi dan Penyisipan 33 Gambar 3.8 Sequence Diagram Ekstraksi dan Dekripsi 34
Gambar 3.9 Flowchart Menu Utama 35
Gambar 3.10 Flowchart Enkripsi dan Penyisipan 36
Gambar 3.11 Flowchart Ekstraksi dan Dekripsi 37
Gambar 3.12 Rancangan Menu Utama 38
Gambar 3.13 Rancangan Enkripsi dan Penyisipan 39
Gambar 3.14 Rancangan Ektraksi dan Dekripsi 40
Gambar 4.1 Form Menu Utama 43
Gambar 4.2 Form Enkripsi 44
Gambar 4.3 Proses Memasukkan Pesan .txt 44
Gambar 4.4 Isi Dari Pesan .txt 45
Gambar 4.5 Directory Pesan .rtf Pada Enkripsi 45
Gambar 4.6 Form Isi Pesan Asli 46
Gambar 4.7 Directory Cover Image Pada Enkripsi 46
Gambar 4.8 Form Cover Image Pada Enkripsi 47
Gambar 4.9 Form Kunci Pada Enkripsi 47
Gambar 4.10 Proses Enkripsi dan Penyisipan 48
Gambar 4.11 Plaintext Pada Enkripsi 48
Gambar 4.12 Ciphertext Pada Enkripsi 49
Gambar 4.13 Konversi Ciphertext ke Biner Pada Enkripsi 49 Gambar 4.14 Biner Citra Sebelum dan Sesudah Disisip 50
Gambar 4.15 Stego Image dan Cover Image 50
Gambar 4.16 Penyimpanan Stego Image 51
Gambar 4.17 Stego Image Berhasil Disimpan 51
Gambar 4.18 Menu Dekripsi 52
Gambar 4.19 Directory Stego Image pada Proses Dekripsi 52
Gambar 4.20 Stego Image Pada Proses Dekripsi 53
Gambar 4.21 Masukkan Password Pada Proses Dekripsi 53
Gambar 4.22 Proses Ekstraksi dan Dekripsi 54
Gambar 4.23 Plaintext Pada Proses Dekripsi 54
Gambar 4.24 Ciphertext Pada Proses Dekripsi 55
Gambar 4.25 Biner Ciphertext Pada Proses Dekripsi 55 Gambar 4.26 Plaintext Yang Telah Berhasil Disimpan Pada Proses Dekripsi 56
(13)
Gambar 4.27 Clear All Pada Proses Dekripsi 56 Gambar 4.28 Peyimpanan Plaintext Pada Proses Dekripsi 57
Gambar 4.29 Isi Pesan Asli 57
(14)
ABSTRAK
Berkembangnya jaringan komunikasi membuat pertukaran informasi semakin sering terjadi, baik dalam bentuk teks, audio, dan video. Semakin banyaknya pesan yang yang ingin dikirimkan maka keamanan dan kerahasiaan dari pesan tersebut semakin sulit dijaga. Keamanan dan kerahasiaan adalah aspek yang penting pada proses pertukaran informasi atau pesan. Untuk melindungi kerahasiaan pesan bisa menggunakan teknik kriptografi. Kriptografi adalah ilmu yang mempelajari teknik – teknik matematika yang berhubungan dengan aspek keamanan seperti kerahasiaan, integritas data, serta otentikasi. Sedangkan Steganografi adalah salah satu teknik yang dilakukan dalam mengamankan pesan yaitu dengan cara menyembunyikan pesan ke sebuah media digital. Pada penelitian ini dilakukan analisis untuk mengimplementasikan keamanan file txt dan rtf dengan kombinasi algoritma kriptografi vigenere dengan steganografi least significant bit (LSB). Pada tahap kriptografi pesan yang telah berhasil diinput akan dienkripsi dengan kunci yang telah diberikan kemudian dilanjutkan dengan proses penyisipan pesan di tahap steganografi. Penyisipan dilakukan pada file citra yang berformat *.bmp pada gradasi titik hijau saja. Pesan yang dapat dibaca oleh sistem adalah pesan berformat .txt dan .rtf. Pada Algoritma LSB penyisipan dilakukan dengan menggantikan bit terakhir citra dengan bit pesan yang akan disisipkanPada tahap enkripsi dan penyisipan akan dihasilkan stego image, stego image merupakan citra yang sudah disisip oleh pesan. Kemudian pada tahap ekstraksi dan dekripsi yang dihasilkan adalah plaintext, plaintext merupakan pesan yang belum diberikan kunci apapun. Citra yang dijadikan cover image adalah citra 300x300 piksel dimana maksimum karakter yang akan dapat dibaca adalah 2000 karakter.Pada penelitan ini disimpulkan bahwa semakin banyak karakter yang akan disisipkan memerlukan cover image yang besar pula dengan kata lain besar piksel cover image menentukan banyaknya jumlah karakter yang dapat ditampung.
(15)
ABSTRACT
The development of communication networks create increasingly frequent exchange of information, either in the form of text, audio, and video. Increasing number of messages to be sent the security and confidentiality of the message is increasingly difficult to maintain. Security and confidentiality is an important aspect in the process of exchange of information or messages. To protect the confidentiality of the message can use cryptographic techniques. Cryptography is the study of techniques - mathematical techniques related to aspects of security such as confidentiality, data integrity, and authentication. While Steganography is a technique that is performed in a secure message by way of hiding messages into a digital medium. In this research analysis to implement security txt and rtf files with a combination of cryptographic algorithms vigenere with steganography the least significant bit (LSB). At this stage of the cryptographic message has been successfully inputted will be encrypted with a key that has been given and then followed by the insertion of steganographic messages in stages. Insertion is done on the image file format *. Bmp in the gradation of green dots. The message can be read by the system is the message format. Txt and. Rtf. In LSB insertion algorithm is done by replacing the last bit of the image with the message bits to be inserted. In encryption phase and insertion will be generated stego image, the stego image is an image that has been disisip by the message. Then the extraction phase and the resulting decryption is plaintext, plaintext is a message that has not been given any key. The image is used as the cover image is a 300x300 pixel image where the maximum characters that will be read is 2000 characters. In this research concluded that more characters will be inserted requiring greater the cover image, in other words a large cover image pixel determines the number of characters that can be accommodated.
(16)
BAB 1 PENDAHULUAN
Bab ini membahas tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, serta sistematika penulisan pada penelitian ini.
1.1. Latar Belakang Masalah
Berkembangnya jaringan komunikasi sangat bermanfaat untuk pertukaran berbagai informasi, baik dalam bentuk teks, gambar, audio, ataupun video. Namun semakin berkembangnya jaringan komunikasi, semakin berkembang pula kejahatan yang membuat kita khawatir dengan keamanan data yang akan dikirim, sehingga perlu keamanan dari pesan yang akan dikirim agar tidak bisa dilihat oleh pihak yang tidak bertanggung jawab.
Pengamanan data bisa dilakukan dengan menggunakan kriptografi, dimana kriptografi adalah ilmu atau seni yang mempelajari keamanan pesan didalamnya (Rakhmat & Fairuzabadi 2012). Kriptografi memiliki dua konsep utama, yaitu enkripsi dan dekripsi. Enkripsi adalah proses menyandikan plaintext menjadi
ciphertext dengan mengubah pesan menjadi bentuk lain yang disamarkan agar tidak
dikenali secara langsung, sedangkan dekripsi adalah proses mengembalikan ciphertext
menjadi plaintext. Proses enkripsi dan dekripsi membutuhkan kunci sebagai parameter yang digunakan untuk transformasi. Hasil (output) kriptografi adalah sebuah bentuk yang berbeda dari pesan/informasi asli, dan memiliki ciri yang seolah-olah acak/tidak teratur (Rakhmat & Fairuzabadi 2012).
Selain kriptografi untuk mengamankan data bisa menggunakan steganografi. Steganografi adalah seni dan ilmu untuk menyembunyikan pesan atau informasi
(17)
dalam suatu obyek, seperti teks atau image (Suryani, 2008) Tujuannya untuk menghindari kecurigaan. Berbeda dengan kriptografi yang merahasiakan makna pesan namun keberadaan pesan tetap ada, steganografi merahasiakan dengan menutupi atau menyembunyikan pesan. Steganografi menyisipkan atau menyembunyikan pesan di dalam sebuah gambar (covertext), agar pihak lain tidak menyadari keberadaan informasi yang ada di dalam gambar tersebut. Dalam penelitian ini citra yang digunakan adalah citra bmp. Steganografi menjadikan gambar stego (stego image) dalam bentuk persepsi yang sama dengan bentuk aslinya. Steganogafi memiliki dua proses, yaitu encoding dan decoding. Encoding merupakan proses penyisipan pesan kedalam media penampung (covertext) sedangkan decoding adalah proses ekstraksi pesan dari gambar stego(stego image). Kedua proses tersebut mungkin memerlukan kunci rahasia (stegokey) untuk proses penyisipan pesan dan ekstraksi pesan, agar hanya pihak yang berhak saja yang dapat melakukan penyisipan dan ekstraksi pesan (Rakhmat & Fairuzabad 2012).
Sesuai dengan latar belakang diatas penulis ingin mengkombinasikan algoritma kriptografi vigenere dengan steganografi (Least Significant Bit) LSB untuk memberikan keamanan ganda pada pesan yang akan di sampaikan/ dikirim. Pesan yang digunakan dalam penelitian ini adalah pesan teks berformat *.txt dan *.rtf. Dalam proses kriptografi vigenere pesan akan dienkripsi dan menghasilkan
cipchertext kemudian akan dilanjutkan dengan proses steganografi LSB, yang mana
ciphertext akan disisipkan pada citra *.bmp. Penyisipan pesan hanya akan dilakukan
pada gradasi titik hijau saja. Dalam tahap steganografi akan dihasilkan stego image.
Setelah itu stego image akan diekstraksi dan menghasilkan ciphertext yang kemudian akan didekripsi untuk mendapatkan plaintext atau pesan asli agar bisa terbuka dan di baca oleh penerimanya. Penulis melakukan penyisipan pesan hanya di gradasi titik hijau disetiap piksel dengan tujuan agar dapat mengurangi kerusakan pada citra.
1.2. Rumusan Masalah
Berdasarkan uraian diatas, maka rumusan masalah dalam penelitian ini adalah bagaimana memberikan keamanan file txt dan rft dengan kombinasi algoritma kriptografi vigenere dengan steganografi Least Significant Bit (LSB) pada gradasi titik hijau dalam file bmp.
(18)
1.3. Batasan Masalah
Batasan masalah penelitian ini adalah:
1. Pesan yang akan dienkripsi dan disisipkan berformat *.txt dan *.rtf.
2. Pesan yang akan dibaca adalah berupa huruf alfabet dari huruf A sampai huruf Z. 3. File yang akan disisipi adalah citra bmp.
4. Algoritma yang digunakan adalah kombinasi algoritma kriptografi vigenere dengan algoritma steganografi Least Significant Bit (LSB).
5. Pada tahap steganografi LSB penyisipan pesan hanya dilakukan pada gradasi titik hijau.
6. Pada tahap kriptografi pesan akan dikonversi menggunakan tabel vigenere dan pada tahap steganografi pesan akan dikonversi menggunakan tabel ASCII.
7. Ukuran citra yang disisipi adalah 300x300 piksel dan teks yang disisipkan maksimal 2000 karakter.
8. Citra yang akan dijadikan coverimage adalah truecolor (RGB).
9. Tools yang digunakan adalah Visual Basic 2010.
1.4. Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah membangun dan mengimplementasikan perangkat lunak pengamanan pesan *.txt dan *.rtf dengan menggunakan kombinasi algoritma kriptografi vigenere dengan algoritma steganografi LSB pada gradasi titik hijau dalam file citra bmp agar dapat memberikan pengamanan ganda pada pesan.
1.5. Manfaat Penelitian
Manfaat yang diharapkan pada penelitian ini adalah diperolehnya sebuah perangkat lunak pengamanan pesan *.txt dan *.rtf berbasis citra dengan menggunakan kombinasi algoritma kriptografi vigenere dengan algoritma steganografi LSB pada gradasi titik hijau.
(19)
1.6. Metode Penelitian
Dalam penulisan tugas akhir ini metodologi yang digunakan adalah sebagai berikut:
a. Studi Literatur
Pada tahap ini dilakukan dengan mempelajari bahan-bahan ataupun buku-buku referensi, skripsi, jurnal dan sumber lain yang berkaitan dengan penulisan tugas akhir ini.
b. Analisis
Pada tahap ini digunakan untuk mengolah data hasil studi literatur dan kemudian melakukan analisis terhadap permasalahan sehingga menjadi suatu informasi. c. Perancangan Sistem
Pada tahap ini dilakukan analisis sesuai dengan kebutuhan seperti cara membangun aplikasi yang mengimplementasikan kombinasi algoritma kriptografi
vigenere dan algoritma steganogafi LSB, jenis perangkat yang digunakan,
pembuatan desain interface, dan hasil yang diinginkan. d. Implementasi
Dalam tahap ini dilakukan penerjemahan kedalam bahasa pemrograman dari hasil analisis dan perancangan yang telah dibuat sebelumnya.
e. Pengujian Sistem
Pada tahap ini dilakukan implementasi dari kombinasi algoritma kriptografi
vigenere dan steganografi LSB dalam memberikan keamanan pesan txt dan rft
pada gradasi titik hijau dalam file bmp. f. Dokumentasi
Pada tahap ini berisi laporan dan kesimpulan akhir dari pengujian dalam bentuk penulisan tugas akhir beserta kesimpulannya dan menampilkan data-data sebagai bukti dalam bentuk hard copy.
(20)
1.7. Sistematika Penulisan
Sistematika penulisan skripsi ini adalah sebagai berikut:
BAB 1 PENDAHULUAN
Bab ini membahas tentang latarbelakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodelogi penelitian, serta sistematika penulisan pada penelitian ini.
BAB 2 LANDASAN TEORI
Bab ini akan membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penulisan penelitian ini. Teori-teori yang dibahas mengenai steganografi,Kriptografi, algoritma Least Significant Bit (LSB), algoritma
vigenere, dan beberapa teori pendukung lain pada penelitian ini.
BAB 3 ANALISIS DAN PERANCANGAN
Bab ini membahas analisis dan perhitungan manual kombinasi algoritma kriptografi vigenere dan steganografi LSB pada gradasi titik hijau dalam file bmp, flowchart serta perancangan tampilan program.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas implementasi dari perancangan yang telah dianalisis dan dirancang sebelumnya dengan menggunakan Visual Basic 2010 kemudian melakukan pengujian program.
BAB 5 KESIMPULAN DAN SARAN
Bab ini merupakan kesimpulan setelah dilakukan analisis, perancangan, dan pengujian program beserta saran-saran yang ditujukan bagi para pembaca atau pengembang penelitian ini lebih lanjut.
(21)
BAB 2
TINJAUAN PUSTAKA
Bab 2 akan membahas landasan teori yang bersifat ilmiah untuk mendukung penulisan penelitian ini. Teori-teori yang dibahas mengenai steganografi, kriptografi, algoritma
Least Significant Bit (LSB), algoritma vigenere, dan beberapa teori pendukung lain
dalam penelitian ini.
2.1. Kriptografi
Kriptografi adalah ilmu yang mempelajari teknik – teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data,serta otentikasi (Munir, 2006).
Algoritma dalam kriptografi di bagi menjadi dua, yaitu:
1. Algoritma simetris adalah algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan proses deskripsi. Adapun contoh algoritma kunci simetris adalah DES (Data Encryption Standard), Blowfish, Twofish, MARS, IDEA, 3DES (DES diaplikasikan 3 kali), AES(Advanced Encryption Standard) yang bernama asli Rijndael, Vigenere , dan lain - lain.
2. Algoritma asimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan deskripsi. Adapun contoh algoritma yang menggunakan kunci asimetris adalah RSA (Riverst Shamir Adleman) dan ECC (Elliptic Curve Cryptography).
Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi(Arjana, et al. 2012):
(22)
1. Plaintext adalah pesan yang hendak dikirimkan (berisi data asli).
2. Ciphertext adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi.
3. Enkripsi adalah proses pengubahan plaintext menjadi ciphertext.
4. Dekripsi adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi
plaintext,sehingga berupa data awal/asli.
5. Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi.
Pada Gambar 2.1. dapat dilihat bahwa masukan berupa plaintext akan masuk ke dalam blok enkripsi dan keluarannya akan berupa ciphertext, kemudian ciphertext
akan masuk ke dalam blok dekripsi dan keluarannya akan kembali menjadi plaintext
semula.
Plaintext Ciphertext Plaintext
Kunci
Gambar 2.1 Proses Enkripsi dan Dekripsi (Kurniawan, 2004)
2.1.1. Vigenere cipher
Vigenere Cipher atau biasa di sebut vigenere termasuk dalam cipher abjadmajemuk
(Polyalphabetic Substitution Cipher) yang dipublikasikan oleh diplomat (sekaligus
seorang kriptologis) Perancis, Blaise de Vigenere pada abad 16 (tahun 1586, meskipun Giovan Batista Belaso telah menggambarkannya pertama kali pada tahun 1553 seperti ditulis dalam bukunya La Cifra Del sig. Giovan Batistan Belaso..
Vigenere Cipher dipublikasikan pada tahun 1586, tetapi algoritma tersebut baru
dikenal luas 200 tahun kemudian yang oleh penemunya Cipher tersebut kemudian dinamakan Vigenere Cipher. Cipher ini berhasil dipecahkan oleh Babbage dan Kasiski pada pertengahan abad 19. Vigenere Cipher Digunakan oleh Tentara Konfiderasi pada perang Sipil America (American Civil War). Perang sipil terjadi setelah Vigenere Cipher berhasil dipecahkan. Vigenere Cipher adalah algoritma menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci.
(23)
Tabel 2.1 Bujur Sangkar Vigenere Cipher (Aditya & Nurlifa 2010)
Tabel 2.1. merupakan Vigenere Cipher dengan huruf berisi alfabet yang dituliskan dalam 26 baris. Kolom paling kiri dari bujursangkar menyatakan huruf-huruf kunci, sedangkan baris paling atas menyatakan huruf-huruf-huruf-huruf plaintext. Setiap baris dalam bujursangkar menyatakan huruf-huruf Ciphertext yang diperoleh dengan Caesar Cipher, yang mana jumlah pergeseran huruf plaintext ditentukan nilai numeric huruf kunci tersebut yaitu ( A= 0, B= 1, C= 2, ….., Z= 25). Masing-masing baris digeser ke kiri dari baris sebelumnya membentuk ke-26 kemungkinan sandi Caesar
setiap huruf disediakan dengan menggunakan baris yang berbeda-beda sesuai kunci yang diulang.
Algoritma enkripsi jenis ini sangat dikenal karena mudah dipahami dan diimplementasikan. Teknik untuk menghasilkan ciphertext bisa dilakukan
(24)
menggunakan substitusi angka maupun bujursangkar vigènere. Teknik susbtitusi
vigenere dengan menggunakan angka dilakukan dengan menukarkan huruf dengan
angka, hampir sama dengan kode geser.
Tabel 2.2 Tabel Substitusi Algoritma Kriptografi Vigenere Cipher (Munir, 2006)
Tabel 2.2. merupakan langkah untuk mencari ciphertext yaitu dengan substitusi angka, dimana huruf A memiliki nilai 0, B memiliki nilai 1 , dan seterusnya.
Rumus dalam algoritma vigenere (Cahyadi, 2012) : Enkripsi:
26 mod ) (Pi Ki
Ci= + ……….. (1)
Dekripsi:
Ki untukCi Ki
Ci
Pi=( − )mod26; >= ……….. (2)
Ki untukCi Ki
Ci
Pi=( +26− )mod26; <= ……….. (3)
Keterangan:
Ci = Nilai desimal karakter ciphertext ke-i
Pi = Nilai desimal karakter plaintext ke-i
Ki = Nilai desimal karakter kunci ke-i
Sebagai contoh jika plaintext adalah “TIA” :
Plaintext : TIA
Kunci : SAY
Ciphertext : LIY
Kemudian akan dilakukan tahap dekripsi dengan menggunakan rumus (2) atau (3). Proses dekripsi merupakan pengembalian plaintext ke Ciphertext.
Alfabet A B C D E F G H I J K L M Nilai
Vigenere
0 1 2 3 4 5 6 7 8 9 10 11 12
Alfabet N O P Q R S T U V W X Y Z Nilai
Vigenere
(25)
2.2. Steganografi
Steganografi adalah seni menyembunyikan pesan di dalam media digital sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu pesan di dalam media tersebut. Kata steganografi (steganography) berasal dari bahasa Yunani steganos yang artinya “tersembunyi/terselebung” dan graphein “menulis” sehingga kurang lebih artinya “menulis (tulisan) terselubung”. Steganografi membutuhkan wadah penampung
(cover) dan data yang akan disembunyikan. Steganografi digital menggunakan media
digital sebagai wadah penampung, misalnya citra, suara, teks maupun video. Data yang disembunyikan juga dapat berupa citra, suara, teks, atau video (Sutoyo, et al. 2009).
Steganografi merupakan suatu ilmu atau seni dalam menyembunyikan informasi dengan memasukkan informasi tersebut ke dalam pesan lain. Dengan demikian keberadaan informasi tersebut tidak diketahui oleh orang lain. Tujuan dari steganografi adalah menyembunyikan keberadaan pesan dan dapat dianggap sebagai pelengkap dari kriptografi yang bertujuan untuk menyembunyikan isi pesan. Berbeda dengan kriptografi, dalam steganografi pesan disembunyikan sedemikian rupa sehingga pihak lain tidak dapat mengetahui adanya pesan rahasia. Pesan rahasia tidak diubah menjadi karakter aneh seperti halnya kriptografi. Pesan tersebut hanya disembunyikan ke dalam suatu media berupa gambar, teks, musik, atau media digital lainnya dan terlihat seperti pesan biasa (Cahyadi, 2012).
Pada masa kini, steganografi lebih banyak digunakan pada data digital dengan media teks, gambar, audio, dan video. Bisa dilihat dari Gambar 2 Ada dua buah proses dalam steganografi yakni proses penyisipan pesan dan proses ekstraksi pesan. Proses penyisipan pesan membutuhkan masukan media penyisipan, pesan yang akan disisipkan, dan kunci. Keluaran dari proses penyisipan ini adalah media yang telah berisi pesan. Proses ekstraksi pesan membutuhkan masukan media yang telah berisi pesan. Keluaran dari proses ekstraksi pesan adalah pesan yang telah disisipkan (Suryani & Martini 2008)
(26)
Gambar 2.2 Proses Steganografi (Utami, 2009)
Keterangan:
FE : Embedding (Penggabungan berkas cover dengan berkas pesan )
FE-1 : Extracting (Pengambilan berkas pesan dari berkas cover) Cover : Berkas data yang akan disisipkan informasi (carrier)
Key : Kunci yang digunakan Emb : Pesan yang akan disisipkan
Stego : Berkas cover yang sudah berisi pesan
Algoritma steganografi yang baik dapat dinilai dari beberapa faktor yaitu:
a. Imperceptibility
Keberadaan pesan dalam media penampung tidak dapat dideteksi.
b. Fidelity
Mutu media penampung setelah ditambahkan pesan tidak jauh berbeda dengan mutu media penampung sebelum ditambahkan pesan.
c. Recovery
Pesan rahasia yang telah disisipkan dalam media penampung harus dapat diungkap kembali (ekstraksi). Hal ini merupakan syarat mutlak dalam sebuah algoritma steganografi, karena ada banyak cara penyisipan pesan yang tidak terdeteksi namun sulit dalam pembacaan kembali (Wasino & Setiawan 2012).
Media yang sering digunakan dalam steganografi adalah sebagia berikut : 1. Teks
Dalam algoritma steganografi yang menggunakan teks sebagai media penyisipannya, teks yang telah disisipi pesan rahasia tidak boleh mencurigakan untuk orang yang melihatnya.
(27)
2. Suara
Format ini sering dipilih karena biasanya berkas dengan format ini berukuran relatif besar. Sehingga dapat menampung pesan rahasia dalam jumlah yang besar pula.
3. Citra
Format ini paling sering digunakan, karena format ini merupakan salah satu format berkas yang sering dipertukarkan dalam dunia internet. Alasan lainnya adalah banyaknya tersedia algoritma steganografi untuk media penampung yang berupa citra.
4. Video
Format ini merupakan format dengan ukuran berkas yang relatif sangat besar namun jarang digunakan karena ukurannya yang terlalu besar sehingga mengurangi kepraktisannya dan juga kurangnya algoritma yang mendukung format ini (Cahyadi, 2012).
2.2.1. Citra digital
Citra adalah suatu gambaran, kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal – sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. (Sutoyo, et al. 2009).
Citra adalah gambar pada bidang dua dimensi yang dihasilkan dari gambar analog dua dimensi dan kontinu menjadi gambar diskrit, melalui proses sampling gambar analog dibagi menjadi M baris dan N kolom sehingga menjadi gambar diskrit (Putra, 2010).
Citra digital yang tersusun dalam bentuk grid. Setiap kotak terbentuk disebut piksel dan memiliki koordinat (x,y) adalah f(x,y). Sumbu x menyatakan baris sedangkan sumbu y menyatakan kolom disetiap piksel memiliki nilai yang menunjukan intensitas warna pada piksel tersebut.
(28)
Gambar 2.3 Koordinat Citra Digital (Putra, 2010)
Gambar 2.3. menunjukkan koordinat citra simana x menyatakan baris dan y menyatan kolom dalam setiap pikselnya.
Sebuah citra digital dapat didefenisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom. Piksel mempunyai dua parameter, yaitu koordinat dan intensitas warna. Nilai yang terdapat pada koordinat (x,y) adalah besar intensitas atau warna dari piksel di titik itu. (Putra, 2010)
2.3.Citra RGB
Citra RGB disebut juga citra truecolor. Citra RGB merupakan jenis citra yang menyajikan warna dalam bentuk komponen R (merah), G (hijau), B (biru). Setiap komponen warna menggunakan delapan bit (nilainya bekisar antara 0 sampai 255). Dengan demikian, kemungkinan warna yang dapat disajikan mencapai 255 x 255 x 255 (Kadir, 2013). Tiap komponen juga memiliki intensitas kecerahan warna yang nantinya saat ketiga komponen digabungkan akan membentuk suatu kombinasi warna baru tergantung besarnya tingkat kecerahan warna yang disumbangkan tiap komponen.
(29)
Tiap layer memiliki ukuran 8 bit sehingga setiap piksel membutuhkan 24 bit, berarti setiap warna mempunyai gradasi sebanyak 256 warna. Artinya tiap layer warna dapat menyumbang tingkat kecerahan warnanya dari rentang level 0 sampai level 255. Dimana 0 merepresentasikan warna hitam dan 255 merepresentasikan warna putih. (Wahana Komputer, 2013)
Gambar 2.4 Citra RGB (Wahana Komputer, 2013)
Gambar 2.4. menunjukkan nilai piksel citra pada red, green, dan blue. Dimana masing masing piksel terdiri dari 8 bit.
2.3.1. Citra bitmap
Bit merupakan elemen primitive dalam dunia digital. Bit menunjukkan pada angka biner, sedangkan map merupakan matriks 2 dimensi dari bit ini. Bitmap berarti matriks sederhana dari titik – titik kecil yang membentuk sebuah image dan ditampilkan di layar komputer atau dicetak. Elemen gambar dikenal sebagai piksel.
File bitmap merupakan format file citra yang tidak mengalami kompresi, sehingga kualitas gambar yang dihasilkan lebih baik daripada file citra dengan format lain. Pada file bitmap, nilai intensitas piksel dalam citra dipetakan ke dalam sejumlah bit tertentu yang panjang setiap pikselnya adalah 8 bit. Delapan bit ini
(30)
merepresentasikan nilai intensitas piksel. Dengan demikian ada sebanyak 2⁸ = 256 derajat keabuan, mulai dari 0 sampai 255. ( Binanto, 2010)
Citra bitmap menyimpan kode citra secara digital dan lengkap (cara penyimpanannya per piksel). Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit seperti foto dan lukisan digital. Citra bitmap biasanya diperoleh dengan cara scanner, kamera digital, video
capture dan lain – lain. (Sutoyo, et al. 2009)
Salah satu format citra bitmap yang sering digunakan adalah BMP. BMP merupakan format gambar yang paling umum dan merupakan format standard
windows. Ukuran file-nya sangat besar karena bisa mencapai ukuran megabyte. File
ini merupakan format yang belum terkompresi sehingga ukurannya besar dan menggunakan sistem warna RGB (Red, Green, Blue) di mana masing-masing warna pikselnya terdiri dari 3 komponen. (Hidayat, 2010)
2.4. Least Significant Bit ( LSB)
Algoritma penyisipan LSB bekerja dengan cara mengganti bit terakhir dari masing - masing piksel dengan pesan yang akan disisipkan. LSB mempunyai kelebihan yakni ukuran gambar tidak akan berubah. Sedangkan kekuranganya adalah pesan/atau data yang akan disisipkan terbatas, sesuai dengan ukuran citra (Krisnawati, 2008). Sebagai contoh, urutan bit berikut ini menggambarkan 3 pikselpada cover image 24-bit.
piksel1 = (00100111 11101001 11001000) piksel2 = (00100111 11001000 11101001) piksel3 = (11001000 00100111 11101001)
Pesan yang akan disisipkan adalah karakter “A”, yang nilai biner-nya adalah
(31)
piksel1 = (00100110 11101001 11001000) piksel2 = (00100110 11001000 11101000) piksel3 = (11001000 00100111 11101001)
Ada dua jenis teknik yang dapat digunakan pada algoritma LSB, yaitu penyisipan pesan secara sekuensial(berurut) dan secara acak. Sekuensial berarti pesan rahasia disisipkan secara berurutan dari data titik pertama yang ditemukan pada file
gambar, yaitu titik pada sudut kanan bawah gambar. Sedangkan acak berarti penyisipan pesan rahasia dilakukan secara acak pada gambar dengan masukan kata kunci (stego-key) (Aditya & Nurlifa 2010). Pada penelitian ini penulis melakukan penyisipan pesan hanya pada gradasi titik hijau seperti contoh di bawah ini :
Pesan yang akan disisipkan adalah kata “LIY” (ciphertext pada tahap kriptografi) dimana bilangan binernya adalah 01001100 (76), 01001001 (73), 01011000 (88). Pesan akan di sisip pada gambar berukuran 24 piksel dengan cover image 24-bit.
Gambar 2.5 Bunga (Citra Cover RGB 8x3 Piksel)
Gambar 2.5. adalah contoh citra 24 piksel dengan cover imager 24-bit yang memiliki nilai piksel- piksel yang akan ditampilkan pada tabel dibawah ini.
(32)
Tabel 2.3 Nilai Piksel Citra Cover RGB 8x3 Piksel
Tabel 2.3. di atas menunjukkan nilai RGB dari citra 24 piksel pada cover image 24-bit, yang nantinya nilai dari setiap piksel akan dikonversi ke bilangan biner. Yang kemudian akan disisipi dengan pesan rahasia.
Tabel 2.4. Nilai Biner Piksel Citra Cover dan Proses Penyisipan Pesan
Tabel 2.4. menunjukkan penyisipan pada piksel gradasi titik hijau di setiap bit terakhir. Dan proses ekstraksi dilakukan dengan mengambil bit - bit terakhir dari gradasi titik hijau hingga bit - bit penyisip habis dan setiap 8 bit dikonversikan kedalam karakter sesuai dengan kode ASCII sehingga didapatkan pesan penyisip.
(x,y) 0 1 2
R G B R G B R G B
0 111 110 25 86 134 31 14 126 22 1 183 60 20 120 74 17 19 159 32 2 199 41 16 143 104 30 67 142 32 3 198 45 19 199 57 25 156 65 22 4 170 49 18 188 34 13 154 50 13 5 120 86 25 182 76 31 183 40 15 6 95 85 21 164 70 27 189 30 15 7 54 90 15 129 74 18 181 19 8
(x,y) 0 1 2
R G B R G B R G B
0 01101110 01101110 00011001 01010111 10000110 00011110 00001110 01111110 00010110 1 10110111 00111101 00010100 01111000 01001011 00010001 00010011 10011111 00100000 2 11000111 00101000 00010000 10001110 01101000 00011111 01000011 10001110 00100000 3 11000110 00101100 00010011 11000111 00111000 00011001 10011100 01000001 00010110 4 10101010 00110001 00010011 10111101 00100011 00001100 10011010 00110011 00001101 5 01111000 01010111 00011001 10110110 01001100 00011111 10110111 00101000 00001111 6 01011111 01010100 00010100 00000110 00000000 00000000 10111101 00011110 00001111 7 00110110 01011010 00001111 10000001 01001011 00010010 10110101 00010010 00001000
(33)
Pesan penyisip yang didapatkan merupakan ciphertext yang akan didekripsikan untuk mendapatkan pesan yang sebenarnya.
Kombinasi kriptografi vigenere dan steganografi LSB yaitu penggabungan dua algoritma dalam pengamanan pesan. Pada tahap kriptografi vigenere, plaintext akan dienkripsi dengan kunci yang digunakan dan akan menghasilkan ciphertext, kemudian pada tahap steganografi LSB ciphertext tersebut akan disisipkan hanya digradasi titik hijau pada gambar dan akan menghasilkan stego image. Setelah memperoleh stego
image proses ekstraksi akan dilakukan untuk mendapatkan ciphertext. Dan proses
yang terakhir pada tahap kriptografi ciphertext tersebut akan didekripsi agar mendapatkan pesan asli/sebenarnya.
2.5. Peneliti Terdahulu
Beberapa Penelitian yang pernah dilakukan sebelumnya adalah:
a. Penelitian Basuki Rakhmat dengan judul Steganografi Steganografi Menggunakan metode Least Significant Bit Ddengan Kombinasi Algoritma Kriptografi Vigenere dan Rc4.
Pada penelitian ini, dibuat aplikasi untuk memberikan pengamanan ganda pada pesan dengan menggunakan kombinasi algoritma kriptografi vigenere dan Rc4 dengan steganografi LSB. Hasil dari aplikasi ini adalah bisa melakukan enkripsi pada teks yang kemudian di hasilkan plaintext yang kemudian akan disisip pada citra bmp dan kemudian di lakukan ekstraksi untuk bisa didekripsi kembali agar bisa di baca oleh penerimanya, kelemahan dari penelitian ini adalah pesan yang bisa digunakan sebagai pensyisip adalah pesan berupa teks karakter (Rakhmat & Fairuzabadi 2012).
b. Penelitian Esti Suryani dengan judul Kombinasi Kriptografi Dengan Hillcipher
dan Steganografi dengan LSB untuk Keamanan Data teks.
Pada penelitian ini penulis menggunakan algoritma simetris yaitu Hillcipher pada tahap kriptografi sedangkan pada tahap Steganografi penulis menggunakan algoritma LSB. Pesan yang digunakan dalam penelitian ini adalah pesan text yang
(34)
akan dienkripsi dengan metode Hillcipher, sedangkan pada tahap steganografi citra yang digunakan adalah grayscale 8 bit dengan skala 0 -255, dimana
ciphertext akan disisip pada citra grayscale pada setiap akhir bit pada piksel citra
(35)
BAB 3
ANALISIS DAN PERANCANGAN
Bab bagian ini membahas analisis dan perhitungan manual enkripsi dan penyisipan sekaligus ekstraksi dan dekripsi file txt dan rtf pada citra *.bmp dengan kombinasi algoritma kriptografi vigenere dengan algoritma steganografi Least Significant Bit
(LSB), flowchart serta rancangan tampilan program.
3.1. Analisis
Analisis adalah tahap – tahap yang dilakukan untuk menguraikan sebuah permasalahan agar mendapatkan gambaran tentang apa yang akan dirancang dan diimplementasikan pada program sesuai dengan kebutuhan pemecahan masalah. Dalam bagian ini akan dilakukan analisis proses kombinasi kriptografi vigenere dan steganografi LSB serta perhitungan manualnya.
Proses Kriptografi adalah Proses pengacakan teks dengan kunci, dimana pengacakan teks dilakukan agar pesan asli tidak bisa dibaca oleh pihak yang bertanggung jawab. Pengacakkan teks dilakukan agar keamanan data bisa terjamin kerahasiaanya. Selain itu keamanan data bisa dilakukan dengan proses stagonografi juga. Proses steganografi adalah proses menyisipkan pesan ke media lain sehingga pesan tersebut tidak terlihat. Secara umum steganografi dilakukan pada media digital, citra merupakan salah satu media digital yang paling sering digunakan dalam pertukaran informasi digital. Pada penelitian ini dilakukan kombinasi antara algoritma kriptografi vigenere dan steganografi LSB. Pada kriptografi plaintext akan dienkripsi dan akan diperoleh ciphertext, yaitu pesan yang sudah diacak dengan kunci yang ada.. Dilanjutkan dengan steganografi ciphertext akan disisipkan ke dalam file citra berformat *.bmp dengan menggunakan algoritma LSB.
(36)
3.1.1. Analisis kombinasi algoritma vigenere
Pada algoritma ini, pesan yang akan dikirim akan dienkripsi dengan menggunakan kunci yang nantinya akan menghasilkan ciphertext. Ekripsi dilakukan agar pesan yang akan dikirim bisa diubah menjadi pesan lain agar tidak bisa dilihat oleh orang yang tidak bertanggung jawab. Setelah mendapatkan ciphertext, untuk mendapatkan pesan aslinya kembali agar bisa dibaca, maka akan dilakukan proses dekripsi. Dekripsi adalah proses pengembalian dari ciphertext ke plaintext.
3.1.2. Analisis Algoritma least significant Bit ( LSB)
Pada Algorima ini, pesan akan disisipkan ke media lain agar pesan bisa disembuyikan agar dapat terjaga kerahasiaanya. Media yang digunakan dalam algoritma ini adalah citra berformat .bmp. Penyisian dilakukan dengan mengganti setiap bit terakhir citra dengan bit penyisip. Proses penyisipan akan menghasilkan stego image. Kemudian untuk mendapatkan pesan asli proses yan dilakukan adalah ekstraksi. Proses ekstraksi adalah proses pengutipan setiap bit terakhir pada stego image agar mendapat bit bit pesan asli.
3.2. Analisis Persyaratan
Analisis persyaratan dapat dibagi menjadi dua bagian yaitu, persyaratan fungsional dan persyaratan non-fungsional.
a. Persyaratan Fungsional
Persyaratan fungsional merupakan suatu persyaratan untuk menggambarkan aktivitas yang harus disediakan oleh system (Whiten, et al. 2007).. Dalam sistem ini akan mengkombinasikan dua algoritma dari algoritma kriptografi dan algoritma steganografi dalam pengamanan file txt dan rtf pada gradasi titik hijau dalam file
(37)
1. Format file yang akan diamankan adalah file teks dengan format .txt atau .rtf. 2. Menggunakan kombinasi algoritma kriptografi vigenere dan steganografi LSB. 3. Menggunakan Algoritma simetris, yaitu menggunakan kunci yang sama pada tahap
enkripsi dan dekripsi.
4. Citra yang digunakan sebagai cover image adalah format bmp. 5. Citra yang digunakan adalah citra truecolor.
6. Penyisipan file hanya akan dilakukan pada gradasi hijau saja.
b. Persyaratan Non-Fungsional
Persyaratan non-fungsional merupakan suatu persyaratan yang menggambarkan fitur, karakteristik, serta batasan lainnya untuk menentukan baik atau tidaknya suatu system (Whiten, et al. 2007).Ada beberapa persyaratan yang harus dipenuhi daa persyaratan non-fungsional,yaitu:
1. Performa
Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil dari proses pengamanan file .txt dan .rtf.
2. Mudah Digunakan
Perangkat lunak yang akan dibangun mudah digunakan oleh user dengan tampilan yang sederhana dan mudah dimengerti.
3. Hemat Biaya
Perangkat lunak yang akan dibuat tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya tambahan.
4. Dokumentasi
Perangkat lunak yang akan dibangun harus bisa menyimpan stego image dan pesan asli hasil dekripsi.
5. Kontrol
Perangkat lunak yang akan dibangun harus dapat menampilkan kotak dialog kesalahan ketika user salah dalam melakukan penginputan
6. Manajemen Kualitas
Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu dapat melakukan proses penyisipan dengan tidak merusak citra asli.
(38)
3.3. Analisis Enkripsi dan Penyisipan Pesan
Berikut ini adalah pesan yang akan dikirim berupa teks yang bertuliskan TIA. Dengan kunci yang diberikan adalah SAY. Konversi karakter akan dilakukan dengan menggunakan dua tabel, yaitu tabel substitusi vigenere dan tabel ASCII. Tabel substitusi vigenere dan tabel ASCII dapat dilihat pada tabel berikut:
Tabel 3.1. menunjukkan nilai karakter alfabet ketika akan dilakukan proses enkripsi atau dekripsi. Dimana nilai karakter A= 0, B= 1, …Z= 25.
(39)
Tabel 3.2. menunjukkan nilai karakter pada tabel ASCII, dimana konversi menggunakan tabel ASCII dilakukan pada proses penyisipan dan ekstraski pesan.
Sebagai contoh kita akan mengamankan pesan dengan isi karakternya adalah “TIA”. Proses pengamanan pesan dapat dilihat pada langkah-langkah berikut ini:
1. Masukkan pesan, format yang bisa dibaca adalah txt dan rtf. Misalkan pesan yang akan dimasukkan adalah format .txt dengan isi teksnya adalah “TIA”.
2. Masukkan kunci untuk melakukan enkripsi dengan maksimal 20 huruf, kemudian Masukkan Kembali Password yang sama untuk konfirmasi.
3. Masukkan citra dengan format bmp, kemudian citra akan diresize menjadi 300x300 piksel.
Gambar 3.1 Citra Cover RGB 8x3 piksel
4. Pesan akan dienkripsi dengan kunci yang dibuat. Pesan akan dikonverikan kedalam tabel vigenere. Nilai pesan asli dapat dilihat pada Tabel 3.3.
Tabel 3.3 Nilai Pesan Asli
Plaintext T I A
(40)
5. Kunci yang diberikan juga akan dikonversikan kedalam tabel vigenere. Nilai kunci dapat dilihat pada tabel 3.3.
Tabel 3.4 Nilai Kunci
Kunci S A Y
Nilai ASCII 18 0 24
6. Setelah mendapatkan nilai dari pesan asli dan nilai dari kunci maka kita akan melakukan proses enkripsi dengan menggunakan rumus :
Tabel 3.5 Perhitungan Enkripsi
Nilai Plaintext Nilai Kunci Nilai cipertext Ciphertext
19 18 19 + 18 ( mod 26 ) 11 L
8 0 18 + 0 ( mod 26 ) 8 I
0 24 0 + 24 ( mod 26 ) 24 Y
Tabel 3.5. menunjukkan perhitungan enkripsi. Maka akan diperolah ciphertext
dengan tulisan LIY, ciphertext adalah pesan yang sudah diberikan kunci, sehingga itu bukan merupakan pesan asli. Ciphertext nantinya akan disisipkan kedalam citra bmp.
7. Nilai karakter ciphertext akan disesuaikan dengan nilai karakter pada tabel ASCII, dan kemudian akan dikonversikan ke bilangan biner. Nilai ciphertext dapa dilihat pada Tabel 3.6.
26 mod )
(Pi Ki
Ci= +
26 mod )
(Pi Ki
(41)
Tabel 3.6 Nilai Ciphertext Tabel ASCII
Ciphertext L I Y
Nilai Decimal 76 73 88
Nilai Biner 01001100 01001001 01011000
8. Setelah mendapat bilangan binernya pesan akan disisipkan kedalam file citra. Penyisipan hanya akan dilakukan pada titik hijau disetiap pikselnya. Dan penyisipan akan dilakukan dengan posisi random, maksimum randomnya adalah 5 interval. Misalnya posisi penyisipan mempunya 1 interval.
9. Citra yang diinput akan dibaca nilai piksel- pikselnya.
Tabel 3.7 Nilai Piksel Citra Cover RGB 8x3 Piksel
10.Kemudian penyisipan akan dilakukan dengan mengganti nilai bit terakhir dengan nilai bilangan biner pesan.
(x,y) 0 1 2
R G B R G B R G B
0 100 110 25 86 134 41 34 136 52 1 183 80 20 130 74 15 19 149 65 2 150 41 19 140 124 30 100 132 45 3 198 63 19 197 67 27 150 64 22 4 156 49 15 175 24 16 15 50 53 5 125 75 35 180 86 31 180 40 25 6 95 80 21 162 80 25 185 25 15 7 64 97 25 130 64 14 180 19 18
(42)
Tabel 3.8 Nilai Biner Piksel Citra Cover dan Proses Penyisipan Pesan
11.Setelah pesan selesai disisipkan kedalam citra maka akan didapatkan gambar yang sudah disisipi dengan pesan sebelumnya. Dimana gambar tersebut disebut stego
image. Gambarstego image bisa dilihat pada gambar 3.2.
Gambar 3.2 Stego Image
0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 0
(x,y) 0 1 2
R G B R G B R G B
0 01100100 01101110 00011001 01010110 10000110 00101001 00100010 10001000 00110100 1 10110111 01010001 00010100 10000010 01001011 00001111 00010011 10010101 01000001 2 10010110 00101000 00010011 10001100 01111100 00011110 01100100 10000100 00101101 3 11000110 00111110 00010011 11000101 01000010 00011011 10010110 01000001 00010110 4 10011100 00110001 00001111 10101111 00011001 00010000 00001111 00110011 00110101 5 01111101 01001011 00100011 10110100 01010110 00011111 10110100 00101000 00011001 6 01011111 01010000 00010101 10100010 01010000 00011001 10111001 00011000 00001111 7 01000000 01100000 00011001 10000010 01000001 00001110 10110100 00010010 00010010
(43)
12.Kemudian Stego Image akan disimpan dengan format yang sama yaitu .bmp.
Directory penyimpanan bisa ditentukan sendiri, dimana stego image tersebut akan
disimpan.
3.4. Analisis Ekstraksi dan Penyisipan Pesan
1. Masukkan gambar yang sudah sisipkan pesan (Stego image) sebelumnya.
Gambar 3.3 stego mage
2. Baca nilai piksel setiap gradasi titik hijau. Dimana pada titik hijau tersebut akan disisipkan plaintext.
3. Proses ekstraksi akan dilakukan dengan mengambil 1 bit terakhir dari setiap titik hijau dari semua piksel.
3.9Tabel Ekstraksi pesan
(x,y) 0 1 2
R G B R G B R G B
0 01100100 01101110 00011001 01010110 10000110 00101001 00100010 10001000 00110100 1 10110111 01010001 00010100 10000010 01001011 00001111 00010011 10010101 01000001 2 10010110 00101000 00010011 10001100 01111100 00011110 01100100 10000100 00101101 3 11000110 00111110 00010011 11000101 01000010 00011011 10010110 01000001 00010110 4 10011100 00110001 00001111 10101111 00011001 00010000 00001111 00110011 00110101 5 01111101 01001011 00100011 10110100 01010110 00011111 10110100 00101000 00011001 6 01011111 01010000 00010101 10100010 01010000 00011001 10111001 00011000 00001111 7 01000000 01100000 00011001 10000010 01000001 00001110 10110100 00010010 00010010
(44)
4. Setelah mendapatkan bilangan binernya maka konversi kedalam bilangan decimal per 8 bit untuk mendapatkan karakter hurufnya.
Tabel 3.10 Nilai Karakter ASCII
Biner 01001100 01001100 01011000
Decimal 76 73 88
Karakter L I Y
5. Setelah mendapatkan karakter hurufnya konversi kembali kedalam tabel vigenere. Untuk mendapatkan nilai setiap karakter yang ada untuk melakukan proses dekripsi ciphertext.
Tabel 3.11 Nilai Karakter Vigenere
Karakter L I Y
Nilai Vigenere 11 8 24
6. Masukkan kunci yang sama dengan kunci ketika proses enkripsi, proses dekripsi akan dilakukan setelah kunci dimasukkan. Kunci yang diberikan untuk proses enkripsi adalah “SAY”.
7. Proses Dekripsi dilakukan dengan menggunakan rumus, sebagai berikut:
Ki untukCi Ki
Ci
Pi=( − )mod26; >= Ki untukCi Ki
Ci
Pi=( +26− )mod26; <=
(45)
Tabel 3.12 Perhitungan Dekripsi Nilai
Ciphertext
Nilai Kunci
atau
26 mod ) 26
(Ci Ki
Pi= + −
Nilai Plaintext Plaintext
11 18 (11+26 – 18) mod 26 19 L
8 0 ( 8 – 0) mod 26 8 I
24 24 (24 – 24) mod 26 0 Y
8. Pesan asli akan diperoleh sesuai dengan pesan semula sebelum dienkripsi. Dimana pesan asli yang diperoleh adalah “TIA”.
3.5 Pemodelan Dengan Use Case Diagram
Pemodelan adalah penggambaran dari suatu sistem yang akan dibuat (Whiten, et al. 2007). Dalam pemodelan akan menunjukkan spesifikasi dari sistem yang akan di buat.
Use case menunjukkan gambaran umum dari suatu sistem yang akan dibuat. Use case
digunakan untuk menyusun sesuatu dalam bentuk model .
Gambar 3.4 Use Case Diagram
26 mod )
(Ci Ki
(46)
Gambar 3.4. menunjukkan interaksi actor dengan system, dimana actor bisa melakukan enkripsi dan penyisipan pesan, ekstraksi dan dekripsi pesan, sekaligus
actor juga bisa melihat detail aplikasi.
3.6 Pemodelan Dengan Activity diagram
3.6.1 Pemodelan activity diagram enkripsi dan penyisipan
Pemodelan activity Diagram enkripsi dan penyisipan pesan akan diperlihatkan pada gambar dibawah ini :
(47)
Gambar 3.5. menunjukkan proses enkripsi dan penyisipan pesan, dimana user diminta untuk masukkan pesan dan kunci, sekaligus diminta untuk masukkan gambar untuk media penyisipan pesannya, setelah itu ketika user mengklik tombol proses maka proses enkripsi dan penyisipan akan dilakukan. Dan sistem akan menampilkan
Plaintext, Ciphertext, Biner Ciphertext, dan stegoimage. Stegoimage nantinya dapat
disimpan ke direktori sesuai dengan yang diinginkan.
3.6.2 Pemodelan activity diagram ekstraksi dan dekripsi
Pemodelan Activity Diagram Ekstraksi dan Enkripsi pesan akan ditunjukkan pada gambar dibawah ini:
(48)
Gambar 3.6. menunjukkan proses ekstraksi dan dekripsi pesan. Dimana user akan diminta menginput stego image dan memberikan kunci yang sama dengan proses enkripsi, setelah itu ketika user mengklik tombol proses ektraksi sekaligus dekripsi akan diproses. Sistem akan menampilkan Plaintext, Ciphertext, Biner Ciphertext, user
dapat mengklik tombol Simpan untuk menyimpan pesan asli ( plaintext).
3.7 Pemodelan Sequence Diagram
3.7.1 Pemodelan sequence diagram enkripsi dan penyisipan
Gambar 3.7 Sequence Diagram Enkripsi dan Penyisipan
Gambar 3.7. menunjukkan bagaimana interaksi user dengan sistem melalui message. User akan melakukan enkripsi dan penyisipan pesan dengan perintah perintah yang harus diinput oleh user.
(49)
3.7.2 Pemodelan sequence diagram ekstraksi dan dekripsi
Pemodelan sequence diagram ekstraksi dan dekripsi dapat dilihat pada gambar dibawah ini:
Gambar 3.8 Sequence Diagram Ekstraksi dan Dekripsi
Gambar 3.8. menunjukkan interaksi user dengan sistem melalui message untuk melakukan ekstraksi dan dekripsi pesan. Dimana user akan memasukkan stego image
dan memberikan kunci. Dan kemudian user akan menekan tombol proses dan kemudian sistem akan memproses ekstraksi dan dekripsi pesan. Kemudian ketika user
menekan tombol plaintext sistem akan menampilkan plaintext, ketika user menekan tombol ciphertext sistem akan menampilkan ciphertext, ketika user menekan tombol simpan sistem akan menyimpan hasil ekstraksi sesuai dengan format awal file. Dan
(50)
3.8 Perancangan Sistem
3.8.1 Flowchart menu utama
Flowchart menu utama dapat dilihat pada gambar berikut ini:
Mulai
File
Halaman Tentang
Program Tentang
Selesai
E
Keluar
Enkripsi
Dekripsi D
Y
N
Y
N
Y
N
Y N
Y
N X
Gambar 3.9 Flowchart Menu Utama
Gambar 3.9. menunjukkan menu awal ketika program dijalankan.User dapat memilih menu yang diinginkan, menu tersebut ada menu mulai, file, tentang, dan keluar. Menu mulai berfungsi untuk memulai programnya, file berfungsi untuk submenu apakah akan dipilih enkripsi atau dekripsi, tentang berfungsi untuk enampilkan detail apliksai yang dibuat. Dan keluar beerfungsi untuk meluar dari program yang dijalankan.
(51)
3.8.2 Flowchart enkripsi dan penyisipan
Flowchart enkripsi dan peyisipan dapat dilihat pada gambar berikut ini:
Load Gambar .bmp Resize (300x300) Pesan=Load File .txt atau .rtf (pi)
Masukkan Password (ki) Proses Baca Tabel Vigenere (Char_Vigenere)
For i =0 to pesan.length step 1
Ci=pi+ki mod 26 If ascii(pesan(i,1))>=65 and
<=90
Next For col = 0 to 299 step 1
For row =0 to 299 step random
Bin_Green=dec_to_bin( pixel(col,row).G) Stego_LSB=Bin_green(0,7) & Bin_Cyper(idx,1) Cyper_text=Cyper_text & char_vigenere(Ci) Bin_Cyper=Bin_Cyper & Dec_to_Bin(Ci) idx=idx+1 Next R=pixel(col,row).R G=bin_to_dec(Stego_LSB) B=pixel(col,row).B Set_pixel(col,row, (R,G,B)) E Next Pesan Gambar Berhasil
diEnkripsi
Clear Tutup X
Bersihkan Gambar dan TextBox Y N Y N Y N Y N Y N Y N Y N Simpan
Pesan Gambar Berhasil disimpan Y N Bin_Cyper=Bin_Cyper & Dec_to_Bin(ascii(char_pesan(i,1))) idx=0 Random=(jum_pass mod 5)+1
If idx>= Bin_Cyper.length N Y R=pixel(col,row).R G=pixel(col,row).G B=pixel(col,row).B Pi=ascii(pesan(i,1))
Ki=ascii(password(i mod jml_pass,1)
(52)
Gambar 3.10. menunjukkan proses enkripsi pesan pada pahap vigenere dan kemudian akan disisipkan pada citra di gradasi titik hijau.
3.8.3 Flowchart ekstraski dan dekripsi
Flowchart ekstraksi dan dekripsi dpat dilihat pada gambar dibawah ini:
Load Gambar .bmp
Masukkan Password (ki)
Proses
For col = 0 to 299 step 1 For row =0 to 299 step random Bin_Green=dec_to_bin( pixel(col,row).G) Bin_Cyper=Bin_Cyper & Bin_green(7,1)
idx=0 Random=(jum_pass mod 5)+1
Batas=get_pixel(299,299).R+((get_pixel(299,299).G+get_pixel(299,299).B) *255)
idx=idx+1
Next D
Next
Clear Tutup X
Bersihkan Gambar dan TextBox Y N Y N Y N Y N Y N If idx>=Batas
Pi= (Ci- Ki) mod 26
Plant_text=Plant_text & char_vigenere(Pi)
If Ci>=Ki
Pi=(Ci + 26 - Ki) mod 26 Pesan Plantext Berhasil
Disimpan
Simpan
Pesan Gambar Berhasil diExtrak
Y
N Y
For i = 0 to Bin_Cyper.lenght step 8 Cyper_text=Cyper_text & Chr(Bin_to_dec(bin_cyper(i ,8))
Next
N
For i =0 to Cyper_text.length step 1
If ascii(Cyper_text(i,1))>=65
and <=90 Y
N
Plant_text=Plant_text & Cyper_text(i,1) Ci=ascii(Cyper_text(i,1))
Ki=ascii(password(i mod jml_pass,1)
Next Y N Y N Y N
(53)
Gambar 3.11. menunjukkan proses ekstraksi pada stego image yang kemudian dilanjutkan dengan proses dekripsi pesan agar mendapatkan pesan asli ( plaintext).
3.8.4 Rancagan menu utama
Rancangan menu utama merupakan tampilan pertama kali muncul saat program dijalankan. Pada rancangan ini terdapat judul skripsi, nama penulis, logo universitas, dan button next untuk melanjutkan ke form berikutnya. Berikut rancangan menu utama :
Gambar 3.12 Rancangan Menu Utama
Keterangan:
1. Menu StripFile berfungsi menampilkan submenu Enkripsi dan Dekripsi.
2. Menu Strip Tentang berfungsi menampilkan Detail Aplikasi.
3. Menu Strip Keluar berfungsi untuk keluar dari program yang dijalankan.
4. Label berfungsi untuk penulisan judul skripsi.
5. Label berfungsi untuk penulisan Nama Penulis.
6. Picture Box untuk menampilkan logo universitas.
(54)
3.8.5 Rancangan menu enkripsi dan penyisipan
Rancangan menu Enkripsi dan Penyisipan merupakan tampilan yang muncul setelah menu utama . Berikut tampilan menu Enkripsi dan Penyisipan :
Gambar 3.13 Gambar Rancangan Enkripsi dan Penyisipan
Keterangan :
1. Picture Box Cover Image berfungsi menampilkan citra cover.
2. Button berfungsi untuk menampilkan biner citra sebelum dan sesudah disisip.
3. Button berfungsi membuka directoryfile untuk memilih coverimage.
4. Panel berfungsi menampilkan nama directoryfile untuk covercitra.
5. Label berfungsi untuk menampilkan keterangan input password.
6. Label berfungsi untuk penulisan password.
7. Label berfungsi untuk penulisan konfirmasi password.
8. Label berfungsi untuk keterangan file yang bisa dimasukkan.
9. Button berfungsi membuka directoryfile untuk memilih pesan yang ingin
(55)
10. Panel berfungsi menampilkan nama directoryfile untuk pesan.
11. Button berfungsi untuk memulai proses enkripsi dan penyisipan.
12. Button berfungsi untuk membersihkan pesan dan gambar yang tertampil.
13. Tab Control Plaintext berfungsi untuk menampilkan plaintext.
14. Tab Control Ciphertext berfungsi untuk menampilkan Ciphertext.
15. Tab Control konversi biner berfungsi untuk menampilkan konversi biner
Ciphertext.
16. Tab Control Stego Image berfungsi untuk menampilkan Stego image.
17. Picture Box berfungsi menampilkan pesan dan Stego Image.
18. Button Simpan berfungsi untuk menyimpan Stego image.
3.5.3 Rancangan menu ekstraksi dan dekripsi
Rancangan menu ekstraksi dan dekripsi digunakan untuk melakukan proses ekstraksi stego image sekaligus dekripsi plaintext.
Gambar 3.14 Gambar Rancangan Ekstraksi dan Dekripsi
Keterangan :
(56)
2. Picture Box Cover Image berfungsi sebagai tempat menampilkan stego image.
3. Label merupakan keterangan input password.
4. Panel berfungsi menampilkan nama directoryfile untuk stego image.
5. Label berfungsi untuk keterangan inputpassword.
6. Label berfungsi untuk penulisan password.
7. Label berfungsi untuk penulisan konfirmasi password.
8. Label berfungsi untuk keterangan dekripsi.
9. Label berfungsi untuk keterangan directory plaintext.
10. Panel berfungsi menampilkan nama directoryfile untuk plaintext .
11. Button berfungsi untuk memulai proses enkripsi dan penyisipan.
12. Button berfungsi untuk menyimpan hasil ektraksi.
13. Button berfungsi untuk menghapus file yang tertampil.
14. Tab Control plaintext berfungsi untuk menampilkan plaintext.
15. Tab Control Ciphertext berfungsi untuk menampilkan Ciphertext
16. Tab Control biner stego image berfungsi untuk menampilkan biner stego image.
(57)
BAB 4
IMPLEMENTASI
Bab ini membahas implementasi dari perancangan sistem yang telah dianalisis dan dirancang sebelumnya dengan menggunakan Visual Basic 2010 kemudian melakukan pengujian program.
4.1Implementasi
Berdasarkan hasil analisis dan perancangan yang telah dijelaskan pada bab sebelumnya maka selanjutnya dilakukan tahap implementasi ke dalam program dengan menggunakan Visual Basic 2010. Implementasi ini dilakukan pada laptop dengan sistem operasi Windows 7 Ultimate, Processor Intel ® Core ™ i5 CPU 2.30 GHz, harddisk 700 GB, dan RAM 4 GB.
4.1.1. Tampilan form menu utama
Tampilan Form Menu Utama merupakan form yang muncul setelah menjalankan program. Tampilan ini berisi judul skripsi dan nama penulis. Tampilan Menu Utama dapat dilihat pada Gambar4.1.
(58)
Gambar 4.1 menunjukkan tampilan Form Menu Utama berisi nama judul skripsi dan nama penulis. Form menu utama terdiri dari beberapa menu untuk melanjutkan program yang dijalankan. Diantaranya ada menu File, menu Detail Aplikasi, dan menu Keluar. Menu File terdiri dari submenu Enkripsi, dan Dekripsi. Menu Detail Aplikasi akan menampilkan detail aplikasi yang dibuat dan menu Keluaruntuk keluar dari program.
4.1.2. Tampilan menu file
Tampilan Form Menu File. Menu File terdiri dari submenu Enkripsi, dan Dekripsi.
Submenu Enkripsi untuk memulai program enkripsi pesan sekaligus penyisipan pesan sedangkan submenu Dekripsi untuk melakukan ekstraksi sekaligus dekripsi pesan.
4.1.3. Tampilan Menu Enkripsi
Tampilan Form Enkripsi merupakan tampilan berguna untuk melakukan proses pengubahan Plaintext menjadi Ciphertext sekaligus penyisipan pesan ke dalam file
cover image. Tampilan form Enkripsi dapat dilihat pada gambar 4.2.
(59)
Gambar 4.2 Form Enkripsi
Gambar 4.2 menunjukkan proses enkripsi akan dimulai. Mula-mula user akan memasukkan pesan yang akan dienkripsi. Pesan tersebut dapat berupa format .txt atau .rtf.
Gambar 4.3 menunjukkan user akan memilih file yang akan dienkripsi dalam bentuk
format .txt. Pemilihan file bisa dilakukan pada directory yang diinginkan.
(60)
Gambar 4.4 Isi Dari Pesan .txt
Gambar 4.4 menunjukkan isi dari file .txt yang telah berhasil diinput. Pesan akan tertampil dan nantinya akan dilakukan enkripsi. Pesan yang berhasil dimasukkan akan tertampil isi dari pesan tersebut.
Gambar 4.5 menunjukkan user akan memasukkan pesan dalam format .rtf. pemilihan pesan dapat dilakukan pada diretory yang diinginkan.
(61)
Gambar 4.6 Form Isi Pesan asli
Gambar 4.6 menunjukkan isi dari pesan .rtf yang telah berhasil diinput. Dan setelah itu user akan memasukkan gambar dengan format .bmp agar penyisipan dapat dilakukan.
Gambar 4.7 Directory Cover Image Pada Enkripsi
Gambar 4.7 menujukkan pemilihan cover image dengan format .bmp. pemilihan gambar dapat dilakukan pada directory yang diinginkan.
(62)
Gambar 4.8 Form Cover Image Pada Enkripsi
Gambar 4.8 menunjukkan gambar cover image yang telah berhasil diinput. Cover
image akan digunakan sebagai wadah penampung pesan yang telah berhasil
dienkripsi. Cover image akan tertampil pada picture box.
Gambar 4.9 Form Kunci Pada Enkripsi
Gambar 4.9 menunjukkan bahwa user harus memasukkan kunci dan melakukan konfirmasi kembali untuk melakukan proses enkripsi. Dan setelah kunci berhasil dimasukkan proses enkripsi akan dapat dilakukan.
(63)
Gambar 4.10 Proses Enkripsi dan Penyisipan
Gambar 4.10 menunjukan proses enkripsi dan penyisipan pesan telah berhasil dilakukan. Proses enkripsi dilakukan dengan kunci yang telah diberikan. Dan setelah
itu ciphertext ( hasil enkripsi ) akan disisip pada cover image. Penyisipan dilakukan
pada gradasi titik hijau pada cover image.
Gambar 4.11 Plaintext Pada Enkripsi
Gambar 4.11 menunjukkan ketika user mengklik tombol plaintext maka Plaintext
akan tertampil. Plaintext ( pesan asli) yang nantinya akan diubah ke ciphertext dengan kunci yang diberikan.
(64)
Tabel 4.12 Ciphertext Pada Enkripsi
Gambar 4.12 menunjukkan Ciphertext yang telah didapatkan dari proses enkripsi.
Ciphertext tersebut akan disisipkan kedalam cover image yang telah berhasil diinput.
Namun sebelum disisipkan kedalam cover image ciphertext akan dikonversikan dahulu ke biner.
.
Gambar 4.13 Konversi Ciphertext Ke Biner Pada Enkripsi
Gambar 4.13 menunjukkan ketika user mengklik tombol konversi ke biner maka akan muncul konversi ciphertext ke bilangan biner, dimana bilangan biner tersebut yang nantinya akan di sisipkan di piksel- piksel cover image pada titik hijau.
(65)
Gambar 4.14 Biner Citra Sebelum dan Sesudah Disisip
Gambar 4.14 menunjukkan ketika user mengklik tombol Open Biner Gambar , maka akan tertampil nilai bilangan biner citra sebelum dan sesudah disisipkan pesan.
Penyisipan akan yang tertampil hanya pada titik hijau pada setiap piksel citra.
Gambar 4.15 Stego Image dan Cover Image
Gambar 4.15 menunjukkan ketika user mengklik tombol stego image, maka stego
image akan tampil dan stego image tersebut bisa disimpan didirectory yang
(66)
Gambar 4.16 penyimpanan Stego Image
Gambar 4.16 menunjukkan penyimpanan stego image didirectory yang diinginkan. Penyimpanan stego image bisa dilakukan dengan memberikan nama file yang sama atau berbeda dari nama file sebelumnya.
Gambar 4.17 Stego Image Berhasil Disimpan
Gambar 4.17 menunjukkan notifikasi bahwa stego image telah berhasil disimpan dengan nama file program1.
(67)
4.1.4 Tampilan menu dekripsi
Tampilan menu Dekripsi merupakan tampilan yang digunakan untuk melakukan proses ekstraksi pesan yang sudah disisipkan kedalam cover image sekaligus melakukan proses dekripsi pesan agar bisa mendapat pesan asli ( Plaintext).
Gambar 4.18 Menu Dekripsi
Gambar 4.18 menunjukkan tampilan awal ketika user menekan tombol Dekripsi. Dimana selanjutnya user akan memasukkan stego image agar bisa dilakukan ekstraksi dan dekripsi.
Gambar 4.19 Directory Stego Image Pada Proses Dekripsi
Gambar 4.19 menunjukkan directory dari stego image yang akan dilakukan ekstraksi dan dekripsi.
(68)
Gambar 4.20 Stego Image Pada Proses Dekripsi
Gambar 4.20 menunjukkan bahwa stego image telah berhasil dimasukkan. Stego
image tersebut akan tertampil pada picture box yang disediakan.
Gambar 4.21 Masukkan Password Pada Proses Dekripsi
Gambar 4.21 menunjukkan bahwa setelah dimasukkan stego image, maka user harus memasukkan password dan melakukan konfirmasi kembali agar proses ekstraksi dan dekripsi dapat dilakukan. Setelah kunci yang dimasukkan sama dengan ketika dengan proses enkripsi maka ekstraksi dan dekripsi baru akan berhasil dilakukan.
(69)
Gambar 4. 22 Proses Ekstraksi Dan Dekripsi
Gambar 4.22 menunjukkan bahwa setelah dimasukkan stego image dan passwordnya
maka proses ekstraksi dan dekripsi dapat dilakukan dengan menekan tombol proses. Dan akan muncul notifikasi bahwa gambar berhasil diekstrak.
Gambar 4.23 Plaintext Pada Proses Dekripsi
Gambar 4.23 menunjukkan plaintext ( pesan asli ) yang telah berhasil didekripsi dengan kunci yang sama seperti ketika proses enkripsi. Proses dekripsi dilakukan setelah stego image diekstrak dan menhasilkan ciphertext. Kemudian ciphertext
(70)
Gambar 4.24 Ciphertext Pada Proses Dekripsi
Gambar 4.24 menunjukkan stego image berhasil diekstrak yang dimana ciphertext dan
cover image akan terpisah, namun yang tertampil di form tersebut hanya ciphertext
saja.
Gambar 4.25 Biner Ciphertext Pada Proses Dekripsi
Gambar 4.25 menunjukkan gambar biner dari ciphertext. Bilangan biner tersebut adalah biner hasil ekstrak dari stego image. Setelah mendapatkan ciphertext akan bisa diperolah nilai karakter dalam vigenere maka ciphertext akan dikonversikan ke bilangan biner dengan menggunakan tabel ASCII setelah mendapatkan karakternya, karakter tersebut akan dikonversikan kembali dengan tabel vigenere.
(71)
Gambar 4.26 Plaintext Yang Telah Berhasil Disimpan Pada Proses Dekripsi
Gambar 4.26 menunjukkan pesan asli data disimpan dengan menekan tombol simpan. Dan hasil dekripsi akan disimpan ke directory yang sama dengan program dan dalam
folder bin-debug-hasil_ekstraksi.
Gambar 4.27 Clear All Pada Proses Dekripsi
Gambar 4.27 menunjukkan fungsi dari tombol clear all, dimana fungsi tombol tersebut adalah membersihkan file yang tertampil. File yang akan dibersihkan adalah teks dan citra yang tertampil.
(72)
Gambar 4.28 Penyimpanan Plaintext Pada Proses Dekripsi
Gambar 4.28 menunjukkan directory hasil ekstraksi pesan yang telah berhasil dilakukan. Hasil dari ekstraksi dan dekripsi akan tersimpan secara otomatis dengan nama file Hasil_Ekstraksi pada folder yang sama dengan program yaitu pada folder bin-debug-hasil_ekstraksi.
Gambar 4.29 Isi Pesan Asli
Gambar 4.29 menunjukkan isi dari pesan asli yang telah dilakukan enkripsi dan penyisipan sekaligus ekstraksi dan dekripsi. Dan untuk gambar 4.29 pesan berformat
(73)
4.1.5. Tampilan menu detail aplikasi
Gambar 4.30 Menu Detail Aplikasi
Gambar 4.30 Menunjukkan ketika user menekan tombol detail aplikasi, maka akan muncul detail dari aplikasi yang dibuat. Detail aplikasi merupakan rincian dari aplikasi yang dibuat dan nama dari pembuat aplikasi tersebut. Dan juga ada menu keluar untuk keluar dari program yang sedang dijalankan.
(1)
Gambar 4.28 Penyimpanan Plaintext Pada Proses Dekripsi
Gambar 4.28 menunjukkan directory hasil ekstraksi pesan yang telah berhasil dilakukan. Hasil dari ekstraksi dan dekripsi akan tersimpan secara otomatis dengan nama file Hasil_Ekstraksi pada folder yang sama dengan program yaitu pada folder bin-debug-hasil_ekstraksi.
Gambar 4.29 Isi Pesan Asli
Gambar 4.29 menunjukkan isi dari pesan asli yang telah dilakukan enkripsi dan penyisipan sekaligus ekstraksi dan dekripsi. Dan untuk gambar 4.29 pesan berformat .txt.
(2)
4.1.5. Tampilan menu detail aplikasi
Gambar 4.30 Menu Detail Aplikasi
Gambar 4.30 Menunjukkan ketika user menekan tombol detail aplikasi, maka akan muncul detail dari aplikasi yang dibuat. Detail aplikasi merupakan rincian dari aplikasi yang dibuat dan nama dari pembuat aplikasi tersebut. Dan juga ada menu keluar untuk keluar dari program yang sedang dijalankan.
(3)
BAB 5
KESIMPULAN DAN SARAN
Bab ini merupakan kesimpulan setelah dilakukan analisis, perancangan, dan pengujian program beserta saran-saran yang ditujukan bagi para pembaca atau pengembang penelitian ini lebih lanjut.
5.1 Kesimpulan
Setelah menganalisis, merancang, mengimplementasikan, dan melakukan pengujian program, maka diperoleh kesimpulan adalah sebagai berikut:
1. Dengan melakukan kombinasi antara algoritma kriptografi dan algoritma steganografi pesan lebih terjamin kerahasiaanya dengan ketentuan cover image harus memenuhi syarat untuk dimodifikasi.
2. Perangkat lunak yang dibuat adalah perangkat lunak keamanan file .txt dan .rtf dengan menggunakan kombinasi algoritma kriptografi vigenere dengan algoritma Least Significant Bit (LSB) pada gradasi titik hijau dalam file bmp. 3. Perangkat lunak yang dibangun berjalan dengan baik sesuai dengan fungsi-
fungsi yang dibutuhkan dalam melakukan proses enkripsi dan penyisipan pesan sekaligus proses ekstraksi dan dekripsi pesan.
(4)
5.2 Saran
Adapun saran-saran yang untuk penelitian maupun pengembangan berikutnya adalah : 1. Untuk penelitian selanjutnya kombinasi algoritma kriptografi vigenere dan
algoritma Least Significant Bit (LSB) dapat dilakukan dengan menambah file yang lain misalnya pdf atau .doc dan wadah penampung juga bisa menggunakan media lain seperti audio ataupun video.
2. Perlunya mengkombinasikan algoritma- algoritma lain dalam kriptografi dan steganografi untuk memeberikan keamanan ganda pada pesan. Misalnya algoritma DSA (Digital Signature Algorithm) pada Kriptografi dan Algorithms and Transformation pada stegaografi. Ataupun juga dapat mengkombinasikan tiga algoritma agar pesan lebih bisa terjamin kerahasiaannya.
(5)
DAFTAR PUSTAKA
Aditya, Y., Pratama, A. & Nurlifa, A. 2010. Studi Pustaka Untuk Steganografi Dengan Beberapa Metode. Prosiding Seminar Nasional Aplikasi Teknologi Informasi 2010 (SNATI 2010), pp. G-32-G-35.
Ahmad, U. 2005. Pengolahan Citra Digital. Penerbit Graha Ilmu. Yogyakarta.
Arjana, P., Rahayu, P. T., Yakub & Hariyanto. 2012. Implementasi Enkripsi Data Dengan Algoritma Vigenere Cipher. Prosiding Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012), pp. 164-169.
Cahyadi, T. 2012. Implementasi Steganografi LSB Dengan Enkripsi Vigenere Cipher Pada Citra JPEG. Jurnal Transient 1(4): 281-288.
Kadir, A. & Susanto, A. 2013. Teori dan Aplikasi Pengolahan Citra. Penerbit Andi. Bandung.
Krisnawati. 2008. Metode Least Significant Bit (LSB) dan End Of File (EOF) untuk Menyisipkan Teks ke Dalam Citra Grayscale. Prosiding Seminar Nasional Informatika 2008 (semnasIF 2008), pp. 39-44.
Kromodimoeljo, S. 2009. Teori Dan Aplikasi Kriptografi. SPK IT Consulting. Jakarta.
Kurniawan, Y. 2004. Kriptografi Keamanan Internet dan Jaringan Komunikasi. Penerbit Informatika Bandung. Bandung.
Munir, R. 2006. Kriptografi. Penerbit Informatika Bandung. Bandung.
Rakhmat, B. & Fairuzabadi, M. 2012. Steganografi Menggunakan metode Least Significant Bit Dengan Kombinasi Algoritma Kriptografi Vigenere dan Rc4). Jurnal Dinamika Informatika 5(2):1-3.
Suryani, E. & Martini, T.S. 2008. Kombinasi Kriptografi Dengan Hillcipher Dan Steganografi Dengan LSB Untuk Keamanan Data Teks. Prosiding Seminar Nasional Teknoin 2008 Bidang Teknik Informatika, pp. D-47-51.
Sutoyo, T., Mulyanto, E., Suhartono, V., Nurhayati, O. D. & Wijanart. 2009. Teori Pengolahan Citra Digital. Penerbit ANDI. Yogyakarta.
(6)
Utami, E. 2009. Pendekatan Metode Least Bit Modification Untuk Merancang Aplikasi Steganography Pada File Audio Digital Tidak Terkompresi. Jurnal Dasi 10(1):1411-3201.
Wasino, Rahayu, T. P. & Setiawan. 2012. Implementasi Steganografi Teknik End Of File Dengan Enkripsi Rijndael. Prosiding Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012), pp. 150-157.