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
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
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.
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
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
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
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.
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.
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.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
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
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.27 Clear All Pada Proses Dekripsi 56 Gambar 4.28 Peyimpanan Plaintext Pada Proses Dekripsi 57
Gambar 4.29 Isi Pesan Asli 57
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.
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.
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.
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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
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
[image:32.595.62.571.445.658.2]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
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
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
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
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
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
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
[image:38.595.117.515.313.705.2]substitusi vigenere dan tabel ASCII dapat dilihat pada tabel berikut:
Tabel 3.1. menunjukkan nilai karakter alfabet ketika akan dilakukan proses enkripsi
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
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
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
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
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
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; <=
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
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
[image:46.595.127.508.321.713.2]Pemodelan activity Diagram enkripsi dan penyisipan pesan akan diperlihatkan pada
gambar dibawah ini :
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
[image:47.595.128.504.332.696.2]gambar dibawah ini:
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.
[image:48.595.153.486.324.658.2]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
[image:49.595.133.506.180.501.2]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
[image:50.595.127.502.209.551.2]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
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)
[image:51.595.120.520.113.737.2]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)
[image:52.595.117.514.187.734.2]Next Y N Y N Y N
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
[image:53.595.147.487.280.527.2]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.
3.8.5 Rancangan menu enkripsi dan penyisipan
Rancangan menu Enkripsi dan Penyisipan merupakan tampilan yang muncul setelah
[image:54.595.148.484.205.471.2]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
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.
[image:55.595.148.488.435.655.2]
Gambar 3.14 Gambar Rancangan Ekstraksi dan Dekripsi
Keterangan :
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.
BAB 4
IMPLEMENTASI
Bab ini membahas implemen