SKRIPSI
PENGAMANAN DOKUMEN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI MODE OPERASI CIPHER BLOCK CHAINING (CBC) DAN STEGANOGRAFI METODE END OF FILE (EOF) TEXT DOCUMENT SECURITY USING CRYPTOGRAPHY ALGORITHM OF CIPHER BLOCK CHAINING (CBC) OPERATION MODE AND METHOD OF END OF FILE (EOF) STEGANOGRAPHY Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Informatika
Disusun oleh :
Nama
: Reza Dwi Oktaf Purnama
NIM
: A11.2011.05994
Program Studi
: Teknik Informatika - S1
FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2015
PERSETUJUAN SKRIPSI
Nama
: Reza Dwi Oktaf Purnama
NIM
: A11.2011.05994
Program Studi
: Teknik Informatika
Fakultas
: Ilmu Komputer
Judul Tugas Akhir
: Pengamanan Dokumen Teks Menggunakan Algoritma Kriptografi Mode Operasi Cipher Block Chaining (CBC) Dan Steganografi Metode End Of File (EOF)
Tugas Akhir ini telah diperiksa dan disetujui, Semarang, 29 Oktober 2015
Menyetujui :
Mengetahui :
Pembimbing
Dekan Fakultas Ilmu Komputer
Heru Lestiawan, M.Kom
Dr. Drs. Abdul Syukur,MM
PENGESAHAN DEWAN PENGUJI
Nama Pelaksana
: Reza Dwi Oktaf Purnama
NIM
: A11.2011.05994
Program Studi
: Teknik Informatika
Fakultas
: Ilmu Komputer
Judul Tugas Akhir
: Pengamanan Dokumen Teks Menggunakan Algoritma Kriptografi Mode Operasi Cipher Block Chaining (CBC) Dan Steganografi Metode End Of File (EOF)
Tugas akhir ini telah diujikan dan dipertahankan dihadapan Dewan Penguji pada Sidang tugas akhir tanggal 29 Oktober 2015. Menurut pandangan kami, tugas akhir ini memadai dari segi kualitas maupun kuantitas untuk tujuan penganugrahan gelar Sarjana Komputer (S.Kom.) Semarang, 29 Oktober 2015 Dewan Penguji:
Noor Ageng Setiyanto, M.Kom
Wijanarto, M.Kom
Anggota 1
Anggota 2
Ajib Susanto, M.Kom Ketua Penguji
PERNYATAAN KEASLIAN TUGAS AKHIR
Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan di bawah ini, saya: Nama
: Reza Dwi Oktaf Purnama
NIM
: A11.2011.05994
Menyatakan bahwa karya ilmiah saya yang berjudul: PENGAMANAN DOKUMEN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI MODE OPERASI CIPHER BLOCK CHAINING (CBC) DAN STEGANOGRAFI METODE END OF FILE (EOF) merupakan karya asli saya (kecuali cuplikan dan ringkasan yang masing-masing telah saya jelaskan sumbernya dan perangkat pendukung seperti web cam dll). Apabila di kemudian hari, karya saya disinyalir bukan merupakan karya asli saya, yang disertai dengan bukti-bukti yang cukup, maka saya bersedia untuk dibatalkan gelar saya beserta hak dan kewajiban yang melekat pada gelar tersebut. Demikian surat pernyataan ini saya buat dengan sebenarnya. Dibuat di
: Semarang
Pada tanggal : 29 Oktober 2015 Yang menyatakan
(Reza Dwi Oktaf Purnama)
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan di bawah ini, saya: Nama : Reza Dwi Oktaf Purnama NIM
: A11.2011.05994
demi mengembangkan Ilmu Pengetahuan, menyetujui untuk memberikan kepada Universitas Dian Nuswantoro Hak Bebas Royalti Non-Ekskusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul: PENGAMANAN DOKUMEN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI MODE
OPERASI
CIPHER
BLOCK
CHAINING
(CBC)
DAN
STEGANOGRAFI METODE END OF FILE (EOF) beserta perangkat yang diperlukan (bila ada). Dengan Hak Bebas Royalti Non-Eksklusif ini Universitas Dian Nuswantoro berhak untuk menyimpan, mengcopy ulang (memperbanyak), menggunakan,
mengelolanya
dalam
bentuk
pangkalan
data
(database),
mendistribusikannya dan menampilkan/mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya selama tetap mencantumkan nama saya sebagai penulis/pencipta. Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak Universitas Dian Nuswantoro, segala bentuk tuntutan hukum yang timbul atas pelanggaran Hak Cipta dalam karya ilmiah saya ini. Demikian surat pernyataan ini saya buat dengan sebenarnya. Dibuat di
: Semarang
Pada tanggal : 29 Oktober 2015 Yang menyatakan
(Reza Dwi Oktaf Purnama)
UCAPAN TERIMA KASIH
Dengan memanjatkan puji syukur kehadirat Allah SWT. Tuhan Yang Maha Pengasih dan Maha Penyayang yang telah melimpahkan segala rahmat, hidayah dan inayah-Nya kepada penulis sehingga laporan tugas akhir dengan judul “PENGAMANAN DOKUMEN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI MODE OPERASI CIPHER BLOCK CHAINING (CBC) DAN STEGANOGRAFI METODE END OF FILE (EOF)” dapat penulis selesaikan sesuai dengan rencana karena dukungan dari berbagai pihak yang tidak ternilai besarnya. Oleh karena itu penulis menyampaikan terima kasih kepada: 1. Dr. Ir. Edi Noersasongko, M.Kom., selaku Rektor Universitas Dian Nuswantoro Semarang. 2. Dr. Drs. Abdul Syukur, MM, selaku Dekan Fasilkom. 3. Heru Agus Santoso, M.Kom., Ph.D., selaku Ka. Progdi Teknik Informatika. 4. Heru Lestiawan, M.Kom., selaku pembimbing tugas akhir yang memberikan ide penelitian, memberikan informasi referensi yang penulis butuhkan dan bimbingan yang berkaitan dengan penelitian penulis. 5. Dosen-dosen pengampu di Fakultas Ilmu Komputer Teknik Informatika Universitas Dian Nuswantoro Semarang yang telah memberikan ilmu dan pengalamannya masing-masing, sehingga penulis dapat mengimplementasikan ilmu yang telah disampaikan. 6. Bapak dan Ibu yang selalu memberikan do’a, kasih sayang, dorongan, dukungan material dan spiritual. Tak lupa pula untuk kakak dan adik yang telah memberikan dukungan kepada penulis. 7. Teman-teman, sahabat-sahabat, orang terkasih yang selalu menjadi motivator pribadi, pemberi semangat dan dukungan kepada penulis. 8. Pihak-pihak lain yang telah banyak membantu penulis yang tidak dapat penulis sebutkan namanya satu-persatu.
Semoga Tuhan yang Maha Esa memberikan balasan yang lebih besar kepada beliau-beliau, dan pada akhirnya penulis berharap bahwa penulisan laporan tugas akhir ini dapat bermanfaat dan berguna sebagaimana fungsinya. Semarang, 29 Oktober 2015
Penulis
ABSTRAK
Perkembangan teknologi informasi dan komunikasi memudahkan setiap orang untuk saling terhubung satu sama lain, hal ini menyebabkan pertukaran data maupun informasi dapat dengan mudah dilakukan. Kemudahan akses informasi ini memberi pengaruh dengan adanya ancaman yang dapat membahayakan informasi tersebut, misalnya berupa interupsi, penyadapan, maupun modifikasi informasi. Sebagai contoh sebuah perusahaan ingin mengirimkan sebuah dokumen penting atau pesan kepada mitra bisnisnya tetapi perusahaan ingin agar dokumen/pesan tersebut aman dari ancaman penyadapan yang dapat dilakukan oleh pihak lain. Kriptografi dan steganografi merupakan teknik pengamanan pesan diharapkan dapat tetap menjaga kerahasiaan isi dari informasi dan memberikan keyakinan pada penerima bahwa informasi tersebut memang berasal dari pengirim yang tepat begitu pula, metode yang digunakan dalam penelitian ini adalah mode operasi Cipher Block Chaining dan metode End Of File dengan menggunakan bahasa pemrograman Java. Penggabungan teknik pengamanan kriptografi dan steganografi akan meningkatkan keamanan pesan atau informasi dan menjamin kerahasiaan serta mengurangi resiko informasi dapat dilihat oleh pihak lain. Aplikasi pengamanan dokumen teks yang dibangun dapat mengamankan pesan/informasi dengan baik. Karena pesan berhasil teracak dan citra yang dihasilkan tidak menampakkan perbedaaan kualitas citra yang terlaku jauh dibandingkan dengan citra asli.
Kata Kunci : ancaman, kriptografi, steganografi, Cipher Block Chaining, End Of File.
Hal : ix + 68 halaman, 33 gambar, 11 tabel. Daftar Pustaka : 9 (2005-2015)
DAFTAR ISI Sampul Depan ..................................................................................................... i Sampul Dalam ..................................................................................................... ii Persetujuan .......................................................................................................... iii Pengesahan .......................................................................................................... iv Pernyataan Keaslian Tugas Akhir ....................................................................... v Pernyataan Publikasi ........................................................................................... vi Ucapan Terima Kasih .......................................................................................... vii Abstrak ................................................................................................................ ix Daftar Isi.............................................................................................................. x Daftar Tabel ........................................................................................................ xiii Daftar Gambar ..................................................................................................... xiv BAB I PENDAHULUAN ................................................................................... 1 1.1 Latar Belakang Masalah ................................................................................ 1 1.2 Rumusan Masalah ......................................................................................... 3 1.3 Batasan Masalah............................................................................................ 4 1.4 Tujuan Penelitian .......................................................................................... 4 1.5 Manfaat Penelitian ........................................................................................ 4 BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI ........................... 6 2.1 Tinjauan Pustaka ........................................................................................... 6 2.2 Landasan Teori .............................................................................................. 8 2.2.1 Pengertian Pesan, Informasi ................................................................. 8 2.2.2 Keamanan Informasi ............................................................................ 8 2.2.3 Ancaman Keamanan ............................................................................ 9 2.2.4 Kriptografi ............................................................................................ 10 2.2.5 Terminologi Kriptografi ....................................................................... 11 2.2.6 Tujuan Kriptografi ............................................................................... 13 2.2.7 Algoritma Kriptografi .......................................................................... 14
2.2.8 Mode Operasi Cipher Block Chaining (CBC) ..................................... 15 2.2.9 Steganografi ......................................................................................... 16 2.2.10 Sejarah Steganografi .......................................................................... 17 2.2.11 Terminologi Steganografi .................................................................. 18 2.2.12 Steganografi Yang Baik ..................................................................... 19 2.2.13 Metode End Of File (EOF) ................................................................ 19 2.2.14 Data Text ............................................................................................ 20 2.2.15 Kode ASCII........................................................................................ 20 2.2.16 Operator Logika ................................................................................. 21 2.2.16.1 Operator XOR (Exclusive Or)................................................ 22 2.2.17 Citra Digital ........................................................................................ 22 2.2.17.1 Format Citra Digital.............................................................. 23 2.2.18 Bahasa Pemrograman Java................................................................. 24 2.3 Kerangka Pemikiran ...................................................................................... 27 BAB III METODE PENELITIAN...................................................................... 29 3.1 Instrumen Penelitian...................................................................................... 29 3.1.1 Peralatan ............................................................................................... 29 3.2 Metode Pengumpulan Data ........................................................................... 30 3.3 Teknis Analisis Data ..................................................................................... 31 3.4 Metode Yang Diusulkan ............................................................................... 31 3.4.1 Prosedur Encode Data Yang diusulkan ................................................ 31 3.4.2 Prosedur Decode Yang Diusulkan ....................................................... 32 3.5 Eksperimen dan Cara Pengujian Model/Metode........................................... 33 BAB IV ANALISIS HASIL PENELITIAN DAN PEMBAHASAN ................. 35 4.1 Analisis Algoritma Mode Operasi Cipher Block Chaining .......................... 35 4.1.1 Cara Kerja Mode Operasi Cipher Block Chaining .............................. 36 4.2 Analisis Metode End Of File......................................................................... 41 4.2.1 Cara Kerja Metode End Of File ........................................................... 41 4.3 Perancangan Antar Muka Aplikasi ............................................................... 45
4.3.1 Perancangan Antar Muka Sub Menu Encoding ................................... 46 4.3.2 Perancangan Antar Muka Sub Menu Decoding ................................... 47 4.3.3 Perancangan Antar Muka Sub Menu Petunjuk .................................... 47 4.3.4 Perancangan Antar Muka Sub Menu About Us ................................... 48 4.4 Implementasi ................................................................................................. 49 4.5 Analisis Pengujian ......................................................................................... 51 4.5.1 Pengujian Black Box Graphical User Interface (GUI) ........................ 57 4.5.2 Metode Random Sampling ................................................................... 58 4.6 Analisis Histogram ........................................................................................ 62 BAB V KESIMPULAN DAN SARAN .............................................................. 66 5.1 Kesimpulan ................................................................................................... 66 5.2 Saran .............................................................................................................. 67 DAFTAR PUSTAKA ......................................................................................... 68
DAFTAR TABEL Tabel 2.1 Tabel Operator Logika ........................................................................ 22 Tabel 2.2 Nilai Kebenaran XOR ......................................................................... 22 Tabel 2.3 Beberapa Jenis Format Citra Digital ................................................... 24 Tabel 4.1 Matriks piksel citra RGB .................................................................... 42 Tabel 4.2 Matriks piksel citra RGB telah disisipkan cipherteks ......................... 42 Tabel 4.3 Matriks piksel citra RGB telah disisipkan cipherteks ......................... 44 Tabel 4.4 Matriks piksel stego image pada baris terakhir ................................... 45 Tabel 4.5 Aspek Pengujian ................................................................................. 57 Tabel 4.6 Hasil Pengujian Black Box .................................................................. 57 Tabel 4.7 Hasil Pengujian ................................................................................... 58 Tabel 4.8 Perbandingan Histogram ..................................................................... 62
DAFTAR GAMBAR Gambar 2.1 Skema Enkripsi dan Dekripsi .......................................................... 11 Gambar 2.2 Enkripsi dan Dekripsi Mode Operasi CBC ..................................... 15 Gambar 2.3 Kode ASCII ..................................................................................... 21 Gambar 2.4 Kerangka Pemikiran ........................................................................ 27 Gambar 3.1 Prosedur Encode Yang Diusulkan .................................................. 32 Gambar 3.2 Prosedur Decode Yang Diusulkan .................................................. 33 Gambar 4.1 Flowchart penyisipan pesan ............................................................ 42 Gambar 4.2 Flowchart ekstraksi pesan ............................................................... 44 Gambar 4.3 Perancangan antar muka awal aplikasi............................................ 45 Gambar 4.4 Perancangan antar muka sub menu encode ..................................... 46 Gambar 4.5 Perancangan antar muka sub menu decode ..................................... 47 Gambar 4.6 Perancangan antar muka sub menu petunjuk .................................. 48 Gambar 4.7 Perancangan antar muka sub menu about us .................................. 48 Gambar 4.8 Tampilan awal aplikasi.................................................................... 49 Gambar 4.9 Tampilan sub menu Encode ............................................................ 49 Gambar 4.10 Tampilan sub menu Decode .......................................................... 50 Gambar 4.11 Tampilan sub menu Petunjuk ........................................................ 50 Gambar 4.12 Tampilan sub menu About Us ....................................................... 51 Gambar 4.13 Proses memasukkan pesan dan kunci............................................ 52 Gambar 4.14 Enkripsi pesan berhasil.................................................................. 52 Gambar 4.15 Memasukkan gambar penampung................................................. 53 Gambar 4.16 Menyimpan gambar stego ............................................................. 53 Gambar 4.17 Proses embedded berhasil.............................................................. 54 Gambar 4.18 Hasil gambar stego ........................................................................ 54 Gambar 4.19 Memasukkan gambar stego ........................................................... 55 Gambar 4.20 Gambar berhasil diekstrak ............................................................. 55 Gambar 4.21 Cipherteks hasil dekripsi ............................................................... 56
Gambar 4.22 Pesan/Informasi asli ...................................................................... 56 Gambar 4.23 Rotasi 90 derajat kekanan ............................................................. 60 Gambar 4.24 Rotasi 90 derajat kekiri ................................................................. 61 Gambar 4.25 Rotasi 180 derajat .......................................................................... 61 Gambar 4.26 Picture3 sebelum proses embedded ............................................... 64 Gambar 4.27 Picture3 setelah proses embedded ................................................. 64 Gambar 4.28 Picture24 sebelum proses embedded ............................................. 65 Gambar 4.29 Picture24 setelah proses embedded ............................................... 65
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah Ilmu pengetahuan dan teknologi khususnya bidang informatika berkembang semakin pesat dan membawa dunia ke era yang tanpa batas. Sejalan dengan itu, perkembangan teknologi informasi dan komunikasi memudahkan setiap orang untuk saling terhubung satu sama lain, yang mana hal ini menyebabkan pertukaran data maupun informasi dapat dengan mudah dilakukan. Seiring dengan perkembangan tersebut, muncul berbagai media yang dapat digunakan untuk mengakses dan mengelola informasi. Kemudahan akses informasi ini memberi pengaruh dengan adanya ancaman-ancaman yang dapat membahayakan informasi tersebut, misalnya berupa interupsi, penyadapan, maupun modifikasi informasi. Hal ini dapat mempengaruhi tingkat keamanan dari pesan/ informasi yang berakibat pada keamanan data dan memunculkan kekhawatiran bagi pengirim dan penerima informasi apakah pesan/informasi yang dikirimkan masih aman atau sudah mengalami perubahan. Sebagai contoh sebuah perusahaan ingin mengirimkan sebuah dokumen penting ataupun pesan kepada mitra bisnisnya tetapi perusahaan ingin agar dokumen/pesan tersebut aman dari ancaman penyadapan yang dapat dilakukan oleh pihak lain. Oleh karena itu dilakukan proses pengamanan terhadap dokumen/pesan untuk menjaga kerahasian dari dokumen atau pesan/informasi tersebut. Keamanan terhadap pesan/informasi adalah hal yang sangat penting, bisa dibayangkan apabila informasi yang menjadi rahasia penting dapat bocor dan disalahgunakan oleh pihak yang tidak bertanggung jawab. Oleh karena itu, kriptografi yang merupakan salah
satu teknik pengamanan pesan diharapkan dapat tetap menjaga kerahasiaan isi dari informasi dan memberikan keyakinan pada penerima pesan bahwa informasi tersebut memang berasal dari pengirim yang tepat begitu pula sebaliknya pengirim yakin bahwa penerima informasi adalah pihak yang tepat [1]. Kriptografi itu sendiri ialah ilmu dan seni untuk menjaga keamanan pesan atau data [2]. Kriptografi dapat digunakan untuk mengamankan data atau informasi rahasia pada sebuah dokumen. Kriptografi akan merahasiakan informasi dengan melakukan proses enkripsi dan dekripsi yaitu mengubah informasi menjadi pesan acak sesuai dengan kunci yang digunakan sehingga informasi atau pesan hanya dapat dimengerti oleh penerima informasi yang tepat. Dalam perkembangannya banyak algoritma kriptografi yang dapat diaplikasikan untuk mengamankan pesan atau informasi, salah satunya adalah algoritma kriptografi mode operasi Cipher Block Chaining (CBC). Pengaplikasian teknik pengamanan kriptografi dapat mengamankan sebuah pesan atau informasi, namun kemampuan untuk memecahkan kriptografi juga mengalami perkembangan yang pesat, banyak metode kriptografi yang telah terpecahkan. Sehingga metode pengamanan informasi perlu untuk dikembangkan. Salah satu metode yang dapat ditambahkan untuk meningkatkan pengamanan informasi adalah metode steganografi. Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia (hiding message) sedemikian sehingga keberadaan (eksistensi) pesan tidak terdeteksi oleh indera manusia [3]. Penyembunyian atau penyisipan informasi dapat diterapkan pada berbagai media seperti gambar, suara dan video. Jika informasi yang disisipkan pada media tidak merubah bentuk media tersebut maka dapat dikatakan tingkat kemanan informasi baik, karena tidak menimbulkan kecurigaan adanya pesan yang telah disisipkan pada media tersebut. Sehingga pihak yang tidak berkepentingan tidak akan mengetahui pesan yang disampaikan.
Steganografi merupakan salah satu metode yang cukup baik untuk mengurangi kecurigaan dari pihak lain untuk mengetahui isi dari informasi. Metode steganografi yang dapat digunakan untuk penyembunyian atau penyisipan pesan salah satunya adalah dengan menggunakan metode End Of File (EOF). Perbedaan mendasar dari teknik kriptografi dan steganografi adalah jika pada teknik kriptografi pesan atau informasi diubah atau diacak menjadi bentuk lain yang tidak mempunyai makna, sedangkan pada teknik steganografi informasi atau pesan disembunyikan atau disisipkan kedalam media lain sehingga pihak lain tidak mengetahui bahwa ada pesan yang tersembunyi pada media yang dikirimkan. Penggabungan teknik pengamanan kriptografi dan steganografi akan meningkatkan keamanan pesan atau informasi dan menjamin kerahasiaan informasi, serta mengurangi resiko informasi dapat dilihat oleh pihak lain. Sehingga penulis melakukan penelitian dengan menggabungkan teknik keamanan pesan kriptografi dan steganografi. Topik tugas akhir ini adalah “Pengamanan Dokumen Teks Menggunakan Algoritma Kriptografi Mode Operasi Cipher Block Chaining (CBC) Dan Steganografi Metode End Of File (EOF)”.
1.2 Rumusan Masalah Berdasarkan latar belakang masalah yang telah diuraikan tersebut, maka dapat diambil perumusan masalah yaitu bagaimana mengamankan dokumen teks yang berisi pesan/informasi menggunakan algoritma kriptografi mode operasi Cipher Block Chaining (CBC) dan teknik steganografi metode End Of File (EOF) dalam memberikan keamanan terhadap pesan atau informasi?.
1.3 Batasan Masalah Berdasarkan rumusan masalah yang telah dijelaskan, maka ruang lingkup penelitian dibatasi pada : a. Proses enkripsi dan dekripsi pesan dengan menggunakan algoritma kriptografi mode operasi Cipher Block Chaining (CBC) pada file berekstensi txt. b. Proses steganografi pesan atau informasi yang telah dienkripsi dengan menyisipkan pesan kedalam file citra dengan format *.jpg, dan *.png dengan menggunakan metode End Of File (EOF). c. Implementasi algoritma kriptografi mode operasi Cipher Block Chaining (CBC) dan steganografi End Of File (EOF) dalam aplikasi pengamanan informasi menggunakan software Java Netbeans.
1.4 Tujuan Penelitian Tujuan dari penelitian ini adalah mengamankan dokumen yang berisi pesan/informasi dari pengirim ke penerima agar informasi yang disampaikan
masih
terjaga
keaslian
dan
kerahasiannya
dengan
menggunakan algoritma kriptografi mode operasi Cipher Block Chaining (CBC) dan steganografi metode End Of File (EOF).
1.5 Manfaat Penelitian Manfaat yang dapat diperoleh dari dilakukannya penelitian ini adalah : 1. Bagi Penulis Penelitian ini sebagai sarana menambah wawasan dan pengetahuan dalam menerapkan disiplin ilmu yang telah didapat selama proses perkuliahan khususnya penggunaan algoritma kriptografi dan steganografi dalam pengamanan pesan atau informasi. Selain itu penelitian ini dapat melatih kemampuan menganalisa masalah dan alternatif
penyelesaian
pemecahan
masalah
berkaitan
dengan
pembuatan aplikasi pengamanan dokumen menggunakan kriptografi mode operasi Cipher Block Chaining dan steganografi End Of File. 2. Bagi Akademik Sebagai bahan referensi yang dapat digunakan sebagai acuan untuk permasalhan yang sejenis, sehingga dapat meningkatkan kualitas pendidikan pada akademik. Serta sebagai tolak ukur keberhasilan dalam perkuliahan serta sebagai bahan evaluasi bagi akademik dalam memberikan bekal ilmu kepada mahasiswa sebelum terjun dalam dunia kerja yang sesungguhnya.
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Tinjauan Pustaka Beberapa penelitian sebelumnya yang telah dilakukan terdahulu, berhasil menerapkan teknik kriptografi mode operasi Cipher Block Chaining (CBC), dan steganografi metode End of File (EOF) maupun gabungan dari keduanya. a. Dewi Rosmala dan Riki Aprian, “Implementasi Mode Operasi Cipher Block Chaining Pada Pengamanan Data”, penelitian dilakukan dengan membangun
sebuah
perangkat
lunak
yang
digunakan
untuk
mengamankan data untuk file jenis teks, dokumen dan gambar dengan metode kriptografi Cipher Block Chaining. Pada penelitian ini, metode Cipher Block Chaining dapat merahasiakan data teks, rich text format, dan file dokumen menjadi ciphertext yang tidak dimengerti sedangkan file gambar setelah dienkripsi tidak dapat dibuka karena telah rusak. File Microsoft visio dan Adobe Acrobat setelah dilakukan enkripsi akan menampilkan pesan error karena data corrupted. Perangkat lunak yang dihasilkan dari penelitian ini juga berhasil mengembalikan data yang terenkripsi menjadi data asli. b. Tegar Meda Rahman, Ary Mazharudin Shiddiqi dan Hudan Studiawan, “Implementasi Kriptografi dan Steganografi pada Media Gambar dengan Menggunakan Algoritma Blowfish dan GifShuffle”, penelitian ini melakukan penggabungan kriptografi algoritma Blowfish dan algoritma stganografi GifShuffle dengan media gambar sebagai file penampung. Hasil dari penelitian ini menyatakan bahwa tingkat keamanan sangat tinggi karena sampai saat ini algoritma Blowfish
belum ada bisa memecahkannya dengan sempurna, ditambah dengan penggunaan algoritma steganografi GifShuffle yang secara kasat mata sangat mirip dengan file asli. c. Yayuk Anggraini, Dolly Virgian Shaka Yudha Sakti, “Penerapan Steganografi Metode End Of File (Eof) Dan Enkripsi Metode Data Encryption Standard (Des) Pada Aplikasi Pengamanan Data Gambar Berbasis Java Programming”, hasil yang diperoleh dari penelitian ini adalah program ini berhasil menyisipkan dan mengekstraksi pesan rahasia dengan baik karena pesan yang didapatkan isinya sama, tanpa ada perubahan dengan pesan yang disisipkan. Perbandingan waktu dalam untuk tehnik EOF lebih cepat dibanding teknik lain. File citra yang dihasilkan dari aplikasi dengan tehnik EOF ini menghasilkan file yang relatif kecil dibanding tehnik steganografi lain. d. Hardhian Yuniansyah, “Teknik Keamanan Pesan Menggunakan Kriptografi Dengan Mode Electronic Code Book (ECB) Dan Steganografi Dengan Metode Least Significant Bit”, hasil uang didapat dari penelitian ini, algoritma mode ECB dan LSB dapat melindungi pesan dan menyembunyikan dengan aman dan tidak menimbulkan mencurigakan terhadap pihak yang tidak berhak untuk melihat isi pesan. Hasil akhir tidak merusak objek penyimpan atau merusak kualitas image yang digunakan secara kasat mata, karena metode ini hanya mengubah bit yang paling tidak berpengaruh pada gambar. Penelitian yang akan dilakukan oleh penulis merujuk pada penelitian yang telah diuraikan diatas tetapi dengan melakukan perubahan pada metode yang digunakan yaitu menggunakan algoritma kriptografi mode operasi
Cipher
Block
Chaining
dan
menggabungkannya
dengan
steganografi metode End Of File untuk menyisipkan pesan pada media file gambar.
2.2 Landasan Teori
2.2.1
Pengertian Pesan, Informasi Pesan adalah perintah, nasehat, permintaan, amanat yang disampaikan lewat orang lain (Kamus Besar Bahasa Indonesia). Sedangkan informasi adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau saat mendatang (Kadir, 2003:31).
2.2.2
Keamanan Informasi Menurut Sarno dan Iffano keamanan informasi adalah suatu upaya untuk mengamankan aset informasi terhadap ancaman yang mungkin
timbul. Keamanan Informasi memiliki 3 aspek,
diantaranya adalah : 1. Confidentiality Keamanan informasi menjamin bahwa hanya mereka yang memiliki hak yang boleh mengakses informasi tertentu. Pengertian lain dari confidentiality merupakan tindakan pencegahan dari orang atau pihak yang tidak berhak untuk mengakses informasi. 2. Integrity Keamanan informasi
menjamin kelengkapan informasi dan
menjaga dari kerusakan atau ancaman lain yang mengakibatkan berubah informasi dari aslinya. Pengertian lain dari integrity adalah memastikan bahwa informasi tersebut
masih utuh,
akurat, dan belum dimodifikasi oleh pihak yang tidak berhak 3. Availability Keamanan informasi menjamin pengguna dapat mengakses informasi kapanpun tanpa adanya gangguan dan tidak dalam format yang tidak bisa digunakan. Pengguna dalam hal ini bisa
jadi manusia, atau komputer yang tentunya dalam hal ini memiliki otorisasi untuk mengakses informasi. Availability meyakinkan bahwa pengguna mempunyai kesempatan dan akses pada suatu informasi.
2.2.3
Ancaman Keamanan Berbagai upaya perlindungan informasi terhadap ancaman atau gangguan yang bisa membahayakan informasi dilakukan. Proteksi data dan informasi dalam komunikasi komputer menjadi penting karena nilai informasi itu sendiri dan meningkatnya penggunaan komputer di berbagai sektor. Beberapa aspek ancaman yang dapat menbahayakan keaslian informasi diantaranya : 1. Interruption Merupakan ancaman terhadap availability, yaitu data dan informasi yang berada dalam sebuah sistem komputer dirusak atau dibuang, sehingga data hilang dan tidak berguna, contohnya harddisk yang dirusak, memotong jalur komunikasi dan lainlain. 2. Interception Orang yang tidak berhak memiliki akses berhasil mendapatkan akses informasi dari dalam sistem komputer, contohnya dengan menyadap data melalui jaringan publik (wiretapping) atau menyalin secara tidak sah file atau program. 3. Modification Merupakan ancaman terhadap integritas, yaitu orang yang tidak berhak tidak hanya berhasil mendapatkan akses informasi dari dalam
sistem komputer, melainkan juga dapat melakukan
perubahan terhadap
informasi, contohnya adalah merubah
program/data keuangan dan lain-lain.
4. Fabrication Merupakan ancaman terhadap integritas, yaitu orang yang tidak berhak meniru atau memalsukan suatu objek ke dalam sistem, contohnya adalah dengan menambahkan suatu record ke dalam file.
2.2.4
Kriptografi Kriptografi merupakan sebuah ilmu yang digunakan untuk penyandian data. Kriptografi telah dikenal dan dipakai cukup lama sejak kurang lebih tahun 1900 sebelum masehi pada prasasti-prasasti kuburan. Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain [3]. Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi [4]. Proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter. Seiring dengan perkembangan yang terjadi, kebutuhan akan metode yang lebih baik tidak dapat dihindari, perkembangan era informasi dan teknologi yang berkembang pesat menjadikan kebutuhan itu menjadi hal yang lebih penting. Pertukaran data menjadi hal yang biasa di era internet sekarang ini. Karena itu, melindungi informasi atau data menjadi hal yang sangat penting. Kriptografi yang berbasiskan pada algoritma pengkodean data informasi yang mendukung kebutuhan dari dua aspek keamanan informasi, yaitu perlindungan kerahasiaan data informasi (secrecy) serta perlindungan pemalsuan dan pengubahan informasi yang tidak diinginkan (authenticity).
Kriptografi menjadi dasar bagi keamanan komputer dan jaringan karena menjadi sarana bagi distribusi data dan informasi. Sehingga data dan informasi tersebut perlu mendapat pengamanan agar hanya orang yang berhak mengaksesnya yang dapat mengetahui maupun menggunakan data tersebut. Salah satu cara yang paling banyak digunakan dalam mengamankan data adalah dengan kriptografi. Informasi atau data tersebut diamankan dengan sedemikian rupa oleh pengirim sehingga orang lain tidak dapat mengenali data tersebut.
Gambar 2.1 Skema Enkripsi dan Dekripsi
2.2.5
Terminologi Kriptografi Di dalam kriptografi terdapat berbagai istilah atau terminologi. Beberapa istilah yang harus diketahui yaitu: 1. Pengirim dan penerima Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Pengirim tentu menginginkan pesan dapat dikirm secara aman, yaitu pengirim yakin bahwa pihak lain tidak dapat membaca isi pesan yang dikirim. Solusinya adalah dengan cara menyandikan pesan menjadi ciphertext. 2. Enkripsi Merupakan hal yang sangat penting dalam kriptografi, merupakan cara pengamanan data yang dikirimkan sehingga terjaga kerahasiaanya. Pesan asli disebut plaintext (teks biasa), yang diubah menjadi kode-kode yang tidak dimengerti dengan
mengunakan algoritma yang dapat mengkodekan data yang kita ingini. 3. Dekripsi Merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya. 4. Cipher dan kunci Algoritma kriptogarfi disebut juga cipher, yaitu aturan untuk enkripsi dan dekripsi, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan deciphering. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yang berisi elemen – elemen plaintext dan himpunan yang berisi ciphertext. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen- elemen antara dua himpunan tersebut. Misalkan P menyatakan plaintext dan C menyatakan ciphertext, maka fungsi enkripsi E memetakan P ke C. E(P) = C Dan fungsi dekripsi D memetakan C ke P D(C) = P Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan semula, maka kesamaan berikut harus benar, D(E(P)) = P Kunci
(key)
adalah
parameter
yang
digunakan
untuk
transformasi enciphering dan deciphering. Kunci biasanya berupa string atau deretan bilangan. 5. Ciphertext Merupakan suatu pesan yang telah melalui proses enkripsi. Pesan yang ada pada teks-kode ini tidak bisa dibaca karena berupa karakter-karakter yang tidak mempunyai makna (arti).
6. Plaintext Teks-asli atau teks-biasa ini merupakan pesan yang ditulis atau diketik yang memiliki makna. Teks-asli inilah yang diproses menggunakan algoritma kriptografi untuk menjadi ciphertext (teks-kode). 7. Pesan Dapat berupa data atau informasi yang dikirim (melalui kurir, saluran komunikasi data, dsb) atau yang disimpan di dalam media perekaman (kertas, storage, dsb). 8. Cryptanalysis Kripanalisis bisa diartikan sebagai analisi kode atau suatu ilmu untuk mendapatkan teks-asli tanpa harus mengetahui kunci yang sah secara wajar. Analisis kode juga dapat menemukan kelemahan dari suatu algoritma kriptografi dan akhirnya dapat menemukan kunci atau teks-asli dari teks-kode yang dienkripsi dengan algoritma tertentu.
2.2.6
Tujuan Kriptografi Kriptografi bertujuan untuk memberikan layanan pada aspek-aspek keamanan antara lain : a. Kerahasiaan (confidentiality) Adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak – pihak yang tidak berhak. Di dalam kriptografi layanan ini direalisasikan dengan menyandikan plaintext menjadi ciphertext. b. Integritas data (data integrity) Adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman. c. Otentikasi (authentication) Adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak – pihak yang berkomunikasi
(user autehentication). Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sember pesan. d. Nirpenyangkalan (non-repudiation) Adalah layanan untuk menjaga entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.
2.2.7
Algoritma Kriptografi Kriptografi dibagi menjadi dua bagian, yaitu kriptografi klasik dan kriptografi modern. Kriptografi klasik menggunakan moed karakter sehingga kemampuan dari kriptografi ini terbatas karena keterbatasan jumlah karakter, sedangkan pada kriptografi modern, proses enkripsi dan dekripsi menggunakan rangkaian bit dalam bentuk biner 0 dan 1 yang menyatakan plainteks dienkripsi menjadi cipherteks dalam bentuk rangkaian bit begitu pula sebaliknya. Perkembangan algoritma kriptografi modern berbasis bit didorong oleh penggunaan komputer digital yang merepresentasikan data dalam bentuk biner. Algoritma kriptografi yang beroperasi dalam mode bit dapat dikelompokkan menjadi dua kategori sebagai berikut : a. Cipher Aliran (Stream Cipher) Merupakan algoritma kriptografi yang beroperasi pada plaintext atau cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan atau didekripsikan bit per bit. b. Cipher Block (Block Cipher) Adalah algoritma kriptografi yang beroperasi pada plainteks atau cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit, yang panjangnya sudah
ditentukan sebelumnya, misalnya panjang blok adalah 64 bit, maka algoritma enkripsi memperlakukan 8 karakter setiap kali penyandian.
2.2.8
Mode Operasi Cipher Block Chaining (CBC) Blok cipher merupakan algoritma kriptografi simetrik yang mengenkripsi satu blok plainteks dengan jumlah bit tertentu dan menghasilkan blok cipherteks dengan jumlah bit yang sama [5]. Mode operasi ini menerapkan mekanisme umpan balik (feedback) pada sebuah blok, yang dalam hal ini hasil enkripsi blok sebelumnya di-umpan-balikkan ke dalam enkripsi blok yang current. Caranya, blok plainteks yang current di-XOR-kan terlebih dahulu dengan blok cipherteks hasil enkripsi sebelumnya, selanjutnya hasil peng-XOR-an ini masuk ke dalam fungsi enkripsi. Dengan mode CBC, setiap blok cipherteks bergantung tidak hanya pada blok plainteksnya tetapi juga pada seluruh blok plainteks sebelumnya. Dekripsi dilakukan dengan memasukkan blok cipherteks yang current ke fungsi dekripsi, kemudian meng-XOR-kan hasilnya dengan blok cipherteks sebelumnya. Dalam hal ini, blok cipherteks sebelumnya berfungsi sebagai umpan-maju (feedforward) pada akhir proses dekripsi.
Gambar 2.2 Enkripsi dan Dekripsi Mode Operasi CBC
Untuk menghasilkan blok cipher pertama, IV (initialization vector) digunakan untuk menggantikan blok cipherteks sebelumnya. Sebaliknya pada dekripsi, blok plainteks pertama diperoleh dengan cara meng- XOR-kan IV dengan hasil dekripsi terhadap blok cipherteks pertama [2]. Secara matematis, enkripsi dengan mode CBC dinyatakan sebagai berikut : Ci = EK(Pi Ci – 1) dan dekripsi sebagai Pi = DK(Ci) Ci – 1 Kunci digunakan untuk melakukan enkripsi dan dekripsi. Kunci berfungsi sama seperti password.
2.2.9
Steganografi Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia
(hiding message) sedemikian sehingga keberadaan
(eksistensi) pesan tidak terdeteksi oleh indera manusia.
Kata
steganografi berasal dari bahasa Yunani yaitu Steganos yang berarti menyembunyikan dan Graptos yang berarti tulisan sehingga secara keseluruhan yang berarti “tulisan tersembunyi” (covered writing) [2]. Steganografi membutuhkan dua properti yaitu wadah penampung dan data rahasia yang akan disembunyikan. Wadah penampung menggunakan media digital misalnya gambar, suara, teks, dan video. Data rahasia yang disembunyikan juga dapat berupa citra, suar, teks, atau video. Steganografi bertujuan untuk menghilangkan kecurigaan dengan cara menyamarkan pesan tersebut. Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam file-file lain yang mengandung teks, gambar,
bahkan audio tanpa menunjukkan ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari file semula. Pada era informasi digital, steganografi merupakan teknik dan seni menyembunyikan informasi dan data digital dibalik informasi digital lain, sehingga informasi digital yang sesungguhnya tidak kelihatan atatu tersamarkan. Secara umum semua file yang ada di dalam komputer dapat digunakan sebagai media, seperti file gambar berformat JPG, GIF, BMP atau di dalam file MP3, WAV dan AVI. Semua dapat dijadikan wadah penampung asalkan file tersebut memiliki bit-bit data yang dapat dimodifikasi. Media digital merupakan media yang umum digunakan karena kemudahan dalam melakukan perpindahan antar file data ke dalam berbagai macam perangkat keras. Kelebihan steganografi daripada kriptografi adalah pesan atau informasinya tidak menarik perhatian orang lain. Pesan-pesan berkode dalam kriptografi yang tidak disembunyikan, walaupun tidak dapat dipecahkan, akan menimbulkan kecurigaan. Oleh karena itu, seringkali steganografi dan kriptografi digunakan secara bersamaan untuk lebih menjamin keamanan pesan rahasia yang ada didalamnya.
2.2.10 Sejarah Steganografi Steganografi merupakan seni menyembunyikan pesan ke dalam pesan lainnya sedemikian rupa sehingga orang lain tidak menydari ada sesuatu di dalam pesan tersebut. Kata steganografi (steganography) berasal dari bahasa Yunani yaitu steganos yang artinya tersembunyi atau terselubung dan graphein yang artinya menulis, sehingga kurang lebih artinya adalah “menulis tulisan yang tersembunyi atau terselubung” (Sellar, 1996). Steganografi sudah dikenal oleh bangsa Yunani. Herodatus, penguasa Yunani, mengirim pesan rahasia dengan menggunakan
kepala budak atau prajurit sebagai media. Dalam hal ini, rambut budak dibotaki, lalu pesan rahasia ditulis pada kulit kepala budak. Ketika rambut budak tumbuh, budak tersebut diutus untuk membawa pesan rahasia di balik rambutnya. Bangsa Romawi mengenal steganografi dengan menggunakan tinta tak-tampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka tulisannya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut [2]. Teknik steganografi yang lain adalah tinta yang tak terlihat. Teknik ini pertama digunakan pada zaman romawi kuno yaitu dengan menggunakan air sari buah jeruk, urine atau susu sebagai tinta untuk menulis pesan. Cara membacanya adalah dengan dipanaskan di atas nyala lilin, tinta yang sebelumnyatidak terlihat, ketika terkena panas akan berangsur-angsur menjadi gelap, sehingga pesan dapat dibaca. Teknik ini pernah digunakan pada perang dunia ke II.
2.2.11 Terminologi Steganografi Terdapat
beberapa
istilah
yang
berkaitan
dengan
steganografi, diantaranya yaitu : 1. Hiddentext atau embedded message, yaitu pesan atau informasi yang disembunyikan. 2. Covertext atau cover object, pesan yang digunakan untuk menyembunyikan embedded message. 3. Stegotext atau stego object, yaitu pesan yang sudah berisi embedded message. Dalam steganografi digital, baik hiddentext atau covertext dapat berupa teks, audio, gambar, maupun video.
2.2.12 Steganografi Yang Baik Penyembunyian data rahasia ke dalam wadah penampung harus memperhatikan beberapa kriteria, yaitu : 1. Fidelity Mutu
wadah penampung tidak jauh berubah. Setelah
ditambahkan data rahasia, hasil steganografi masih terlihat baik. Pengamat tidak mengetahui kalau di dalam wadah penampng tersebut terdapat data rahasia yang disembunyikan. 2. Robustness Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada wadah penampung pesan. Bila wadah penampung mengalami pengubahan atau teknik manipulasi maka data yang disembunyikan tidak mengalami kerusakan. 3. Recovery Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu data rahasia di dalam wadah penampung harus dapat diambil kembali untuk digunakan lebih lanjut.
2.2.13 Metode End Of File (EOF) Metode End of File (EOF) merupakan salah satu metode yang digunakan dalam steganografi. Teknik ini menggunakan cara dengan menyisipkan data pada akhir file. Sehingga, tidak akan mengganggu kualitas data awal yang akan disisipkan pesan [6]. Namun hal ini akan mengakibatkan ukuran file bertambah, karena ukuran file sebelumnya akan ditambah dengan ukuran file pesan yang disisipkan ke dalam media penampung. Teknik ini yang akan digunakan penulis dalam penelitian ini. Menurut Paskalis A. N. tahapan dalam penyisipan pesan dengan metode End of File ini dapat ditulisan sebagai berikut [7]: 1. Masukkan pesan yang akan disisipkan.
2. Ubah pesan menjadi kode-kode desimal. 3. Inputkan citra grayscale yang akan disisipi pesan. 4. Dapatkan nilai derajat keabuan dari masing- masing piksel. 5. Tambahkan kode desimal pesan sebagai nilai derajat keabuan diakhir citra. 6. Petakan menjadi citra baru.
2.2.14 Data Text Text merupakan sekumpulan karakter terdiri dari hurufhuruf, angka-angka (A-Z,a-z,0-9) dan simbol-simbol lainya seperti %,&,^,=,@,$,!,* dan lain-lain, dengan menggunakan kode ASCII setiap karakter dari text berjumlah 8-bit atau 1 byte.
2.2.15 Kode ASCII ASCII
(American
Standard
Code
for
Information
Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Kode ini selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 7 bit. Namun, ASCII disimpan sebagai sandi 8 bit dengan menambakan satu angka 0 sebagai bit significant paling tinggi. Bit tambahan ini sering digunakan untuk uji prioritas. Karakter control pada ASCII dibedakan menjadi 5 kelompok sesuai dengan
penggunaan
yaitu
berturut-turut
meliputi
logical
communication, Device control, Information separator, Code extention, dan physical communication. Jumlah kode ASCII adalah 255 kode. Kode ASCII 0..127 merupakan kode ASCII untuk manipulasi teks; sedangkan kode ASCII 128..255 merupakan kode ASCII untuk manipulasi grafik.
Kode ASCII sendiri dapat dikelompokkan lagi kedalam beberapa bagian :
1. Kode yang tidak terlihat simbolnya seperti Kode 10 (Line Feed), 13 (Carriage Return), 8 (Tab), 32 (Space). 2. Kode yang terlihat simbolnya seperti abjad (A..Z), numerik (0..9), karakter khusus (~!@#$%^&*()_+?:”{}). 3. Kode yang tidak ada di keyboard namun dapat ditampilkan. Kode ini umumnya untuk kode-kode grafik.
Gambar 2.3 Kode ASCII
2.2.16 Operator Logika Operator logika adalah simbol-simbol yang digunakan dalam melakukan ekspresi terhadap data logika. Proses operasi tersebut akan menghasilkan salah satu dari dua jenis nilai kebenaran yaitu TRUE dan FALSE atau 1 dan 0. Berikut adalah simbol-simbol operator logika :
Tabel 2.1 Tabel Operator Logika Operator
Keterangan
Not
Tidak
Or
Atau
And
Dan
Xor
Exclusive Or
2.2.16.1 Operator XOR (Exclusive Or) Operator biner XOR digunakan dalam perhitungan biner untuk algoritma kriptografi tertentu. Operator XOR merupakan operator yang digunakan untuk dua buah ekspresi. Operator XOR akan menghasilkan nilai true atau 1 jika kedua ekpresi memiliki nilai yang berbeda. Operator XOR akan menghasilkan nilai 0 atau 0 jika kedua espresi bernilai sama.
Tabel 2.2 Nilai Kebenaran XOR Ekspresi ke-1
Ekspresi ke-2
1 XOR 2
0
0
0
0
1
1
1
0
1
1
1
0
2.2.17 Citra Digital Citra digital adalah data yang ditampilkan dalam bentuk gambar sehingga memiliki arti tertentu. Sebuah citra digital menyimpan data berupa bit yang dapat dimengerti oleh manusia dengan visualisasi bit tersebut pada kanvas menjadi gambar. Pengolahan yang dapat dilakukan terhadap citra digital antara lain
adalah menampilkan bentuk gambar, melakukan perubahan terhadap gambar (image editing), dan mencetakan citra digital ke atas media berupa kertas. Citra digital merupakan fungsi intensitas cahaya f(x,y), dimana x dan y merupakan koordinat spesial dan fungsi tersebut pada setiap titik (x,y) merupakan tingkat kecemerlangan atau intensitas cahaya citra pada titik tersebut. Indeks baris dan kolom (x,y) dari sebuah pixel dinyatakan dalam bilangan bulat (integer). Sebuah pixel merupakan sampel dari pemandangan yang mengandung intensitas citra yang dinyatakan dalam bilangan bulat. Untuk menunjukkan tingkat pencahayaan suatu pixel, seringkali digunakan bilangan bulat yang besarnya delapan bit dengan lebar selang nilai 0-255 dimana 0 untuk warna hitam, 255 untuk warna putih, dan tingkat abu-abu berada di antara nilai 0 dan 255 [8].
2.2.17.1 Format Citra Digital Citra Digital memiliki beberapa format yang memiliki karakteristk tersendiri. Format pada citra digital ini umumnya berdasarkan tipe dan cara kompresi yang digunakan pada citra digital tersebut. Berikut beberapa jenis format citra digital :
Tabel 2.3 Beberapa Jenis Format Citra Digital Ekstensi jpg/jpeg
Nama
Keterangan
Joint
JPEG digunakan untuk foto
Photograp
atau citra di website. JPEG
hic
menggunakan kompresi tipe
Experts
lossy. Kualitas JPEG 2000
Group
bisa bervariasi tergantung pengaturan kompresi yang digunakan. Kompresi JPEG berbasis DCT(Discreete Cosine Transform)
png
Portable
PNG adalah format citra
Network
dengan kompresi tipe
Graphics
lossless dengan kedalaman bit berkisar antara 1 sampai dengan 32. PNG didesain untuk menggantikan format citra GIF untuk diimplementasikan di website. Algoritma kompresi. PNG tidak memerlukan paten karena sudah menjadi public domain sejak tahun 2003.
2.2.18 Bahasa Pemrograman Java Java merupakan bahasa pemrograman yang disusun oleh James Gosling yang dibantu oleh rekan-rekannya di suatu perusahaan perangkat lunak yang bernama Sun Microsystems, pada tahun 1991. Bahasa pemrograman ini mula-mula diinisialisasi
dengan nama “Oak”, namun pada tahun 1995 diganti namanya menjadi “Java”. Menurut definisi Sun Microsystem, Java adalah nama sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer yang berdiri sendiri (standalone) ataupun pada lingkungan jaringan [9]. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.
1. Kelebihan -
Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform/sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas sistem operasi Linux tetapi dapat dijalankan dengan baik di atas Microsoft Windows.
-
OOP (Object Oriented Programming - Pemrogram Berorientasi Objek).
-
Perpustakaan Yang Lengkap, Java terkenal kelengkapan
library/perpustakaan
(kumpulan
dengan program
program yang disertakan dalam pemrograman java) yang sangat
memudahkan
dalam
penggunaan
oleh
para
pemrogram untuk membangun aplikasinya. -
Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java.
-
Pengumpulan
sampah
otomatis,
memiliki
fasilitas
pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
2. Kekurangan -
Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain.
-
Mudah
didekompilasi.
Dekompilasi
adalah
proses
membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. -
Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal).
2.3 Kerangka Pemikiran Kerangka
pemikiran
pada
penelitian
Penerapan
Algoritma
Kriptografi Mode Operasi Cipher Block Chaining (CBC) Dan Steganografi Metode End Of File (EOF) Untuk Pengamanan Pesan Pada Media File Citra dapat digambarkan melalui diagram berikut :
Gambar 2.4 Kerangka Pemikiran
1. Masalah Permasalahan yang menjadi tujuan dilakukannya penelitian ini adalah andanya ancaman keamanan terhadap pesan/informasi. Ancaman berupa penyadapan, pencurian, dan perusakan pesan akan mengakibatkan keaslian dan kerahasian pesan menjadi tidak terjamin.
2. Pendekatan Pendekatan yang dilakukan dalam pengamanan pesan adalah dengan mengguankan teknik kriptografi mode operasi Cipher Block Chaining (CBC) dan steganografi metode End Of File (EOF). 3. Implementasi Aplikasi pengamanan pesan dibangun dengan menggunakan bahasa pemrograman Java. Penggunaan Java karena mudah dimengerti dan mendukung pada beberapa platform sistem operasi. 4. Evaluasi Mengukur kinerja algoritma kriptografi Cipher Block Chaining dan steganografi End Of File dalam memberikan keamanan terhadap pesan/informasi. 5. Hasil Aplikasi pengamanan pesan dengan menggunakan algoritma kriptografi Cipher Block Chaining dan steganografi End Of File diharapkan
dapat
memberikan
tambahan
pesan/informasi yang akan disampaikan.
keamanan
terhadap
BAB III METODE PENELITIAN
Metode penelitian merupakan suatu cara atau prosedur yang digunakan untuk mengumpulkan data dengan menggunakan teknik tertentu.
3.1 Instrumen Penelitian Penelitian ini dilakukan berdasarkan uraian permasalahan yang telah dijelaskan pada bab sebelumnya. Penelitian ini juga menggunakan beberapa peralatan untuk menunjang keberhasilan penelitian.
3.1.1 Peralatan Untuk mengetahui kebutuhan sistem dan mempermudah penelitian maka penulis akan mendeskripsikan peralatan pendukung yang digunakan selama penelitian. Peralatan ini meliputi kebutuhan minimal yang diperlukan dari sistem yang terdiri dari perangkat keras dan perangkat lunak sistem. 1. Kebutuhan Perangkat Keras Seperangkat PC atau laptop dengan spesifikasi minimal sebagai berikut : -
Prosessor Pentium 4 atau lebih.
-
Harddisk 160 GB.
-
Memori DDR 1 GB atau lebih.
2. Kebutuhan Perangkat Lunak Spesifikasi kebutuhan perangkat lunak yang dibutuhkan dalam penelitian ini diantaranya sebagai berikut : -
Sistem Operasi Microsoft Windows XP Kebutuhan minimal sistem operasi pada penelitian ini yaitu Microsoft Windows XP, karena untuk pembuatan sistem aplikasi dengan menggunakan bahasa pemrograman Java sudah dapat berjalan pada sistem operasi ini, tetapi tidak menutup kemungkinan digunakannya sistem operasi terbaru yang lebih baik.
-
Software NetBeans IDE Bahasa
pemrograman
yang
digunakan
dalam
perancangan sistem pada penelitian ini adalah Java. Netbeans digunakan untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java.
Netbeans merupakan sebuah aplikasi
Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.
3.2 Metode Pengumpulan Data Data yang dikumpulkan dalam penelitian ini merupakan data sekunder. Data diperoleh dari telaah pustaka dan dokumen yang didapatkan penulis dari pustaka-pustaka yang mendukung, informasi dari internet, buku-buku dan artikel dari jurnal yang terkait dengan penelitian yang dilakukan oleh penulis.
3.3 Teknis Analisis Data Dari metode yang akan digunakan dan instrumen serta data sekunder yang telah dikumpulkan , maka teknis analisis data dapat diuraikan sebagai berikut : 1. Proses enkripsi dan dekripsi pesan/informasi menggunakan algoritma kriptografi mode operasi Cipher Block Chaining (CBC). 2. Proses penyisipan pesan/informasi kedalam wadah penampung file citra dan proses ekstraksi pesan dari file citra menggunakan metode steganografi End Of File (EOF). 3. Melakukan penilaian terhadap kualitas file citra penampung setelah disisipkan pesan dan menilai aplikasi pengamanan pesan secara keseluruhan.
3.4 Metode Yang Diusulkan Metode yang diusulkan untuk proses aplikasi yaitu Algoritma Kriptografi Cipher Block Chaining (CBC) dan Metode Steganografi End Of File (EOF).
3.4.1
Prosedur Encode Data Yang diusulkan 1. Inputkan file berekstensi txt yang berisi pesan/informasi (plaintext) yang akan dienkripsi dengan minimal 8 karakter pesan (64 bit).
2. Proses enkripsi pesan dengan menambahkan kunci dengan panjang 8 karakter (64) kunci dengan menggunakan algoritma kriptografi mode operasi Cipher Block Chaining. 3. Inputkan file citra sebagai wadah penampung pesan dengan format file *.jpg, atau *.png. 4. Pesan yang telah terenkripsi kemudian disisipkan kedalam file citra penampung pada proses stego dengan metode steganografi End Of File. 5. Hasil
akhir
adalah
file
citra
yang
telah
pesan/informasi (stego image).
Gambar 3.1 Prosedur Encode Yang Diusulkan
disisipkan
3.4.2
Prosedur Decode Yang Diusulkan 1. Inputkan citra stego yang berisi pesan/informasi yang akan dilakukan proses ekstraksi. 2. Proses unstego citra dengan metode End Of File untuk mengambil pesan yang telah disisipkan pada file citra. 3. Pesan yang telah berhasil di-unstego (ekstraksi) masih dalam bentuk ciphertext. 4. Proses
dekripsi
untuk
mengetahui
pesan
asli
dengan
menggunakan algoritma kriptografi mode operasi Cipher Block Chaining. 5. Pesan/infomasi asli (plaintext) dihasilkan dari proses dekripsi.
Gambar 3.2 Prosedur Decode Yang Diusulkan
3.5 Eksperimen dan Cara Pengujian Model/Metode Pada tahap akhir penelitian akan dilakukan eksperimen dan pengujian terhadap penelitian. Tahapan eksperimen menyangkut penerapan metode yang diusulkan dalam penelitian menjadi sebuah aplikasi pengamanan pesan yang dibangun dengan menggunakan bahasa pemrograman Java. Setelah aplikasi selesai dibangun maka dilakukan pengujian tingkat keberhasilan aplikasi dalam melakukan pengamanan pesan dengan cara menguji berbagai macam jenis serta ukuran pesan dan file citra penampung untuk melihat perbedaan yang dihasilkan. Tujuan tahapan ini adalah untuk melihat tingkat keberhasilan dari metode dan aplikasi yang dipengaruhi oleh beberapa aspek : 1. Bagaimana proses enkripsi dan hasil dari proses pengembalian pesan ke kondisi semula, apakah pesan berhasil dibaca. 2. Bagaimana tingkat keamanan dari pesan yang dirahasiakan. 3. Bagaimana perubahan dan pengaruh bentuk kualitas ukuran file terhadap hasil steganografi.
BAB IV ANALISIS HASIL PENELITIAN DAN PEMBAHASAN
4.1 Analisis Algoritma Mode Operasi Cipher Block Chaining Blok cipher merupakan algoritma kriptografi simetrik yang mengenkripsi satu blok plainteks dengan jumlah bit tertentu dan menghasilkan blok cipherteks dengan jumlah bit yang sama [5] dalam penelitian ini menggunakan blok berbasiskan 64 bit. Sehingga pesan/informasi dan kunci yang digunakan minimal berjumlah 8 karakter atau 64 bit. Mode operasi Cipher Block Chaining
menerapkan mekanisme
umpan balik (feedback) pada sebuah blok, yang dalam hal ini hasil enkripsi blok sebelumnya di umpan balikkan ke dalam enkripsi blok yang current. Caranya, blok plainteks yang current di-XOR-kan terlebih dahulu dengan blok cipherteks hasil enkripsi sebelumnya, selanjutnya hasil peng-XOR-an ini masuk ke dalam fungsi enkripsi. Dengan mode CBC, setiap blok cipherteks bergantung tidak hanya pada blok plainteksnya tetapi juga pada seluruh blok plainteks sebelumnya. Dekripsi dilakukan dengan memasukkan blok cipherteks yang current ke fungsi dekripsi, kemudian meng-XOR-kan hasilnya dengan blok cipherteks sebelumnya. Dalam hal ini, blok cipherteks sebelumnya berfungsi sebagai umpan maju (feedforward) pada akhir proses dekripsi. Untuk menghasilkan blok cipher pertama, IV (initialization vector) digunakan untuk menggantikan blok cipherteks sebelumnya yang mana dalam penelitian ini nilai IV default biner 0. Sebaliknya pada dekripsi, blok plainteks pertama diperoleh dengan cara meng- XOR-kan IV dengan hasil dekripsi terhadap blok cipherteks pertama [2].
4.1.1
Cara Kerja Mode Operasi Cipher Block Chaining Cara kerja mode operasi Cipher Block Chaining dapat diuraikan dalam beberapa tahapan sebagai berikut : A. Proses Enkripsi 1. Bagi plainteks menjadi blok yang telah ditentukan ukurannya, pada perangkat lunak ini tiap blok berukuran 64 bit. 2. Tiap blok yang telah dibagi kemudian di-XOR-kan dengan IV. 3. Kemudian hasil yang telah didapatkan di-XOR-kan kembali dengan kunci. 4. Hasil operasi XOR tersebut digeser 1 bit ke kiri. 5. Hasil tersebut menjadi IV untuk blok berikutnya. 6. Proses diulang sampai blok terakhir.
Contoh Enkripsi : Plainteks (P)
: UDINUS
Kunci (K)
:K
IV/C0
: 00000000
Maka P : 01010101 01000100 01001001 01001110 01010101 01010011 K : 01001011 C0 : 00000000
1) U = 01010101 C1 diperoleh sebagai berikut : P1 C0 = 01010101 00000000 = 01010101 Kemudian hasil yang diperoleh di-XOR dengan kunci 01010101 01001011 = 00011110 Geser ke kiri 1 bit
0001 menjadi 0010 dan 1110 menjadi 1101 Maka C1 = 00101101 atau dalam hexa = 2D 2) D = 01000100 C2 diperoleh sebagai berikut : P2 C1 = 01000100 00101101 = 01101001 Kemudian hasil yang diperoleh di-XOR dengan kunci 01101001 01001011 = 00100010 Geser ke kiri 1 bit 0010 menjadi 0100 dan 0010 menjadi 0100 Maka C2 = 01000100 atau dalam hexa = 44 3) I = 01001001 C3 diperoleh sebagai berikut : P3 C2 = 01001001 01000100 = 00001101 Kemudian hasil yang diperoleh di-XOR dengan kunci 00001101 01001011 = 01000110 Geser ke kiri 1 bit 0100 menjadi 1000 dan 0110 menjadi 1100 Maka C3 = 10001100 atau dalam hexa = 8C 4) N = 01001110 C4 diperoleh sebagai berikut : P4 C3 = 01001110 10001100 = 11000010 Kemudian hasil yang diperoleh di-XOR dengan kunci 11000010 01001011 = 10001001 Geser ke kiri 1 bit 1000 menjadi 0001 dan 1001 menjadi 0011 Maka C4 = 00010011 atau dalam hexa = 13 5) U = 01010101 C5 diperoleh sebagai berikut : P5 C4 = 01010101 00010011 = 01000110 Kemudian hasil yang diperoleh di-XOR dengan kunci
01000110 01001011 = 00001101 Geser ke kiri 1 bit 0000 menjadi 0000 dan 1101 menjadi 1011 Maka C5 = 00001011 atau dalam hexa = 0B 6) S = 01010011 C6 diperoleh sebagai berikut : P6 C5 = 01010011 00001011 = 01011000 Kemudian hasil yang diperoleh di-XOR dengan kunci 01011000 01001011 = 00010011 Geser ke kiri 1 bit 0001 menjadi 0010 dan 0011 menjadi 0110 Maka C6 = 00100110 atau dalam hexa = 26
B. Proses Dekripsi 1. Proses dekripsi dilakukan dari blok paling akhir. 2. Hasil pembagian blok kemudian digeser 1 bit ke kanan. 3. Kemudian hasil pergeseran tersebut di-XOR-kan dengan kunci. 4. Kemudian hasil tersebut di-XOR-kan kembali dengan blok cipherteks sebelumnya. 5. Proses diulang sampai blok paling awal, blok paling awal diXOR-kan dengan IV.
Contoh Dekripsi : Dari contoh enkripsi diatas maka didapatkan hasil cipherteks : C6 = 00100110 C5 = 00001011 C4 = 00010011 C3 = 10001100 C2 = 01000100 C1 = 00101101
Maka C : 00100110 00001011 00010011 10001100 01000100 00101101 K : 01001011 C0 : 00000000
1) C6 = 00100110 Geser 1 bit ke kanan 0010 menjadi 0001 dan 0110 menjadi 0011 Kemudian di-XOR-kan dengan kunci 00010011 01001011 = 01011000 Hasil yang diperoleh kemudian di-XOR kembali dengan C5 01011000 00001011 = 01010011 maka 01010011 = S 2) C5 = 00001011 Geser 1 bit ke kanan 0000 menjadi 0000 dan 1011 menjadi 1101 Kemudian di-XOR-kan dengan kunci 00001101 01001011 = 01000110 Hasil yang diperoleh kemudian di-XOR kembali dengan C4 01000110 00010011 = 01010101 maka 01010101 = U 3) C4 = 00010011 Geser 1 bit ke kanan 0001 menjadi 1000 dan 0011 menjadi 1001 Kemudian di-XOR-kan dengan kunci 10001001 01001011 = 11000010 Hasil yang diperoleh kemudian di-XOR kembali dengan C3 11000010 10001100 = 01001110 maka 01001110 = N
4) C3 = 10001100 Geser 1 bit ke kanan 1000 menjadi 0100 dan 1100 menjadi 0110 Kemudian di-XOR-kan dengan kunci 01000110 01001011 = 00001101 Hasil yang diperoleh kemudian di-XOR kembali dengan C2 00001101 01000100 = 01001001 maka 01001001 = I 5) C2 = 01000100 Geser 1 bit ke kanan 0100 menjadi 0010 dan 0100 menjadi 0010 Kemudian di-XOR-kan dengan kunci 00100010 01001011 = 01101001 Hasil yang diperoleh kemudian di-XOR kembali dengan C1 01101001 00101101 = 01000100 maka 01000100 = D 6) C1 = 00101101 Geser 1 bit ke kanan 0010 menjadi 0001 dan 1101 menjadi 1110 Kemudian di-XOR-kan dengan kunci 00011110 01001011 = 01010101 Hasil yang diperoleh kemudian di-XOR kembali dengan C0 01010101 00000000 = 01010101 maka 01010101 = U
sehingga didapat plainteks : UDINUS
4.2 Analisis Metode End Of File Teknik ini menggunakana cara dengan menyisipkan data pada akhir file. Sehingga, tidak akan mengganggu kualitas data awal yang akan disisipkan pesan [6]. Namun hal ini akan mengakibatkan ukuran file bertambah, karena ukuran file sebelumnya akan ditambah dengan ukuran file pesan yang disisipkan ke dalam media penampung. Teknik ini sendiri ditujukan agar tidak mengurangi kualitas dari gambar induk sebelum dan sesudah penyisipan.
4.2.1
Cara Kerja Metode End Of File Cara kerja metode End Of File dapat diuraikan dalam beberapa tahapan sebagai berikut : A. Proses Embedding Proses embedding atau penyisipan pesan/informasi ke wadah penampung menggunakan metode End Of File adalah sebagai berikut : 1. Inputkan cipherteks yang akan disisipkan. 2. Inputkan file citra yang akan dijadikan sebagai wadah penampung pesan. 3. Baca nilai piksel dari citra. 4. Tambahkan cipherteks pada akhir piksel citra. 5. Ubah menjadi citra baru.
Proses penyisipan pesan kedalam citra penampung dengan metode End Of File dapat dilihat pada gambar 4.1.
Gambar 4.1 Flowchart penyisipan pesan
Berikut adalah contoh penyisipan pesan cipherteks ke dalam citra penampung dengan menggunakan metode End Of File : Misalkan terdapat citra RGB dengan ukuran 8x8 yang memiliki nilai setiap piksel seperti terlihat pada tabel 4.1 :
Tabel 4.1 Matriks piksel citra RGB 104 38
55
104
96
96
77
92
80
93
60
60
60
51
56
94
91
79
16
62
90
69
73
87
97
98
70
52
60
63
52
99
85
83
37
18
82
88
51
56
87
84
56
65
68
39
106 101
69
37
44
74
80
68
99
99
66
62
60
32
105
88
71
77
Kemudian citra tersebut akan disisipkan cipherteks “ 45 68 140 19 11 38 ”. cipherteks akan ditambahkna sebagai nilai akhir dari piksel citra RGB. Maka didapatkan matriks piksel baru :
Tabel 4.2 Matriks piksel citra RGB telah disisipkan cipherteks 104 38
55
104
96
96
77
92
80
93
60
60
60
51
56
94
91
79
16
62
90
69
73
87
97
98
70
52
60
63
52
99
85
83
37
18
82
88
51
56
87
84
56
65
68
39
106 101
69
37
44
74
80
68
99
99
66
62
60
32
105
88
71
77
45
68
140
19
11
38
B. Proses Ekstraksi Proses ekstraksi atau pengambilan cipherteks dari file citra menggunakan metode End Of File adalah sebagai berikut : 1. Inputkan citra yang terdapat pesan cipherteks (stego image). 2. Baca nilai piksel stego image yang terdapat pada baris akhir matriks piksel citra. 3. Ambil cipherteks pada baris akhir matriks piksel citra yang terdapat pada stego image kemudian ubah nilai biner. 4. Pesan/informasi rahasia. Proses pengungkapan/ekstraksi pesan dengan metode End Of File dapat dilihat pada gambar 4.2.
Gambar 4.2 Flowchart ekstraksi pesan Berikut adalah contoh proses pengambilan atau ekstraksi cipherteks dengan menggunakan metode End Of File : Citra RGB 8x8 yang telah disisipkan cipherteks (stego image) dengan nilai setiap piksel file citra RGB seperti pada tabel 4.3 : Tabel 4.3 Matriks piksel citra RGB telah disisipkan cipherteks 104 38
55
104
96
96
77
92
80
93
60
60
60
51
56
94
91
79
16
62
90
69
73
87
97
98
70
52
60
63
52
99
85
83
37
18
82
88
51
56
87
84
56
65
68
39
106 101
69
37
44
74
80
68
99
99
66
62
60
32
105
88
71
77
45
68
140
19
11
38
Kemudian baca dan ambil nilai piksel pada stego image yang terdapat pada baris terakhir matriks piksel citra. Tabel 4.4 Matriks piksel stego image pada baris terakhir 45
68
140
19
11
38
Maka didapatkan nilai cipherteks yaitu “ 45 68 140 19 11 38 “.
4.3 Perancangan Antar Muka Aplikasi Dalam pembuatan aplikasi, penulis menggunakan perangkat lunak berupa Java Neatbeans IDE 8.0. Dibawah ini merupakan perancangan antar muka aplikasi yang telah dibuat sebagai berikut :
Gambar 4.3 Perancangan antar muka awal aplikasi
Pada gambar perancangan diatas, garis silang diagonal mewakili gambar background yang digunakan pada antar muka aplikasi, nama
aplikasi ditempatkan pada bagian atas, logo UDINUS ditempatkan pada bagian tengah, kemudian tombol ENTER pada bagian bawah digunakan untuk masuk ke halaman menu aplikasi.
4.3.1
Perancangan Antar Muka Sub Menu Encoding Pada sub menu encoding, terdapat 3 text box yang terdiri dari 2 text box untuk memasukkan file (file pesan dan file gambar) dan 1 text box untuk memasukkan kunci enkripsi. Kemudian terdapat 2 layer untuk menampilkan preview gambar dan gambar hasil. Selain itu juga terdapat 5 tombol perintah masing-masing untuk mencari file pesan, proses enkripsi pesan, mencari file gambar, proses embeded atau penyisipan gambar dan reset.
Gambar 4.4 Perancangan antar muka sub menu encode
4.3.2
Perancangan Antar Muka Sub Menu Decoding Rancangan antar muka pada sub menu decoding terdiri dari 3 text box masing-masing untuk memasukkan file gambar stego, menampilkan cipherteks hasil ekstraksi dan menampilkan pesan atau pesan yang telah didekripsi. Kemudian terdapat 1 layer yang digunakan untuk menampilkan preview gambar stego. Terdapat juga 4 tombol perintah yaitu untuk mencari gambar stego, ekstraksi pesan dari gambar, dekripsi pesan, dan reset.
Gambar 4.5 Perancangan antar muka sub menu decode
4.3.3
Perancangan Antar Muka Sub Menu Petunjuk Pada sub menu ini berisi petunjuk untuk menggunakan aplikasi, terdiri dari petunjuk proses encoding yaitu proses enkripsi pesan juga proses penyisipan pesan ke dalam gambar dan petunjuk proses decoding yaitu proses ekstraksi pesan dari gambar serta proses dekripsi pesan.
Gambar 4.6 Perancangan antar muka sub menu petunjuk
4.3.4
Perancangan Antar Muka Sub Menu About Us Pada sub menu about berisi biodata pembuat aplikasi terdiri dari nomor induk, nama dan nama universitas.
Gambar 4.7 Perancangan antar muka sub menu about us
4.4 Implementasi Aplikasi kriptografi dan steganografi ini dimulai dengan menekan tombol “ENTER” yang berada di tampilan awal aplikasi untuk menuju ke tampilan antar muka selanjutnya yang berisi sub menu aplikasi.
Gambar 4.8 Tampilan awal aplikasi
Gambar 4.9 Tampilan sub menu Encode
Gambar 4.10 Tampilan sub menu Decode
Gambar 4.11 Tampilan sub menu Petunjuk
Gambar 4.12 Tampilan sub menu About Us
4.5 Analisis Pengujian Penulis melakukan pengujian untuk mengetahui kinerja dari aplikasi yang telah berhasil dibuat. Pengujian dilakukan dengan melakukan proses Encode dan proses Decode serta melakukan pengujian dengan metode pengujian Black Box Graphical User Interface (GUI) dan metode Random Sampling. 1) Proses Encode yaitu proses enkripsi pesan/informasi dan proses Embedded pesan/informasi kedalam gambar. a. Langkah pertama yaitu kita memasukkan file text yang berisi pesan/informasi akan dienkripsi dan kunci enkripsi. Dalam percobaan yang penulis lakukan file text bernama sample1.txt dan kunci “semangat”.
Gambar 4.13 Proses memasukkan pesan dan kunci Kemudian tekan tombol “Enkripsi” untuk memulai proses enkripsi.
Gambar 4.14 Enkripsi pesan berhasil b. Langkah selanjutnya yaitu masukkan file gambar sebagai wadah penampung pesan, bisa dalam file ekstensi *.jpg/jpeg atau *.png.
Gambar 4.15 Memasukkan gambar penampung Kemudian tekan tombol “Embedded” untuk memulai proses steganografi/penyisipan pesan kedalam gambar.
Gambar 4.16 Menyimpan gambar stego
Gambar 4.17 Proses embedded berhasil
Pada gambar 4.18 hasil proses embedded berupa gambar stego dapat dilihat pada gambar sebelah kanan.
Gambar 4.18 Hasil gambar stego
2) Proses Decode atau ekstraksi pesan/informasi dari gambar stego. a. Langkah pertama yaitu masukkan gambar stego yang terdapat pesan/informasi yang telah disisipkan sebelumnya.
Gambar 4.19 Memasukkan gambar stego Setelah gambar stego dimasukkan, kemudian tekan tombol “Ekstrak” untuk memulai proses ekstraksi pesan/informasi.
Gambar 4.20 Gambar berhasil diekstrak
Gambar 4.21 Cipherteks hasil dekripsi
Setelah pesan/informasi berhasil dieksraksi, selanjutnya tekan tombol “Dekripsi” untuk mendekripsi pesan/informasi yang masih dalam bentuk cipherteks.
Gambar 4.22 Pesan/Informasi asli
4.5.1
Pengujian Black Box Graphical User Interface (GUI) Pengujian Graphical User Interface (GUI) untuk aplikasi dilakukan dengan menguji beberapa aspek berikut ini : Tabel 4.5 Aspek Pengujian No. 1
2
3
Aspek Pengujian Apakah semua submenu yang ada dapat diakses dengan baik oleh pointer mouse? Apakah setiap operasi pointer mouse yang dilakukan mendapatkan respon yang sesuai? Apakah tombol perintah yang ada dapat dikenali oleh pointer mouse dengan baik?
Berdasarkan pengujian yang telah dilakukan, diperoleh kesimpulan bahwa performa dari program aplikasi cukup baik. Semua rancangan submenu dapat dapat diakses dengan baik dan mendapat respon yang tepat oleh pointer mouse. Tombol perintah yang terdapat pada program juga dapat dikenali secara tepat oleh pointer mouse. Tabel 4.6 Hasil Pengujian Black Box Faktor Pengujian
Status
Tombol Submenu Encode
OK
Tombol Submenu Decode
OK
Tombol Submenu Petunjuk
OK
Tombol Submenu About Us
OK
Penekanan Tombol Perintah
OK
4.5.2
Metode Random Sampling Pengujian aplikasi dilakukan dengan menggunakan metode random sampling yaitu dengan mengambil sample masing masing 40 sample pesan dan 40 sample gambar yang terdiri dari 20 sample gambar *.jpg dan 20 sample gambar *.png. File pesan dan file gambar kemudian diujikan pada aplikasi untuk melihat hasil akhir dari proses kriptografi dan proses steganografi.
Dalam
pengujian
yang
dilakukan,
penulis
memasukkan kunci yang sama untuk setiap pengujian, kunci yang digunakan adalah “semangat”. Masing-masing data kemudian diujikan pada aplikasi. Pengujian dilakukan untuk melihat proses enkripsi yang bertujuan untuk mengacak pesan agar pesan tidak dapat dibaca kemudian hasil proses enkripsi dilakukan juga uji proses steganografi yang bertujuan agar pesan rahasia dapat disembunyikan pada media penampung. Tabel 4.7 Hasil pengujian File Pesan
Kunci
File Gambar
Keterangan
Sample1.txt
Semangat
Picture1.jpg
Berhasil
Sample2.txt
Semangat
Picture2.jpg
Berhasil
Sample3.txt
Semangat
Picture3.jpg
Berhasil
Sample4.txt
Semangat
Picture4.jpg
Berhasil
Sample5.txt
Semangat
Picture5.jpg
Berhasil
Sample6.txt
Semangat
Picture6.jpg
Berhasil
Sample7.txt
Semangat
Picture7.jpg
Berhasil
Sample8.txt
Semangat
Picture8.jpg
Berhasil
Sample9.txt
Semangat
Picture9.jpg
Berhasil
Sample10.txt
Semangat
Picture10.jpg
Berhasil
Sample11.txt
Semangat
Picture11.jpg
Berhasil
Sample12.txt
Semangat
Picture12.jpg
Berhasil
Sample13.txt
Semangat
Picture13.jpg
Berhasil
Sample14.txt
Semangat
Picture14.jpg
Berhasil
Sample15.txt
Semangat
Picture15.jpg
Berhasil
Sample16.txt
Semangat
Picture16.jpg
Berhasil
Sample17.txt
Semangat
Picture17.jpg
Berhasil
Sample18.txt
Semangat
Picture18.jpg
Berhasil
Sample19.txt
Semangat
Picture19.jpg
Berhasil
Sample20.txt
Semangat
Picture20.jpg
Berhasil
Sample21.txt
Semangat
Picture21.png
Berhasil
Sample22.txt
Semangat
Picture22.png
Berhasil
Sample23.txt
Semangat
Picture23.png
Berhasil
Sample24.txt
Semangat
Picture24.png
Berhasil
Sample25.txt
Semangat
Picture25.png
Berhasil
Sample26.txt
Semangat
Picture26.png
Berhasil
Sample27.txt
Semangat
Picture27.png
Berhasil
Sample28.txt
Semangat
Picture28.png
Berhasil
Sample29.txt
Semangat
Picture29.png
Berhasil
Sample30.txt
Semangat
Picture30.png
Berhasil
Sample31.txt
Semangat
Picture31.png
Berhasil
Sample32.txt
Semangat
Picture32.png
Berhasil
Sample33.txt
Semangat
Picture33.png
Berhasil
Sample34.txt
Semangat
Picture34.png
Berhasil
Sample35.txt
Semangat
Picture35.png
Berhasil
Sample36.txt
Semangat
Picture36.png
Berhasil
Sample37.txt
Semangat
Picture37.png
Berhasil
Sample38.txt
Semangat
Picture38.png
Berhasil
Sample39.txt
Semangat
Picture39.png
Berhasil
Sample40.txt
Semangat
Picture40.png
Berhasil
Setelah dilakukan pengujian, semua data yang diujikan pada aplikasi berhasil melewati proses kriptografi (enkripsi dan dekripsi). Data pesan/informasi yang berada pada dokumen txt setelah dilakukan proses enkripsi menjadi data acak yang tidak bisa dibaca, kemudian untuk proses dekripsi data acak tersebut dapat dikembalikan seperti semula. Pada proses steganografi, data pesan berhasil disisipkan kedalam gambar penampung dan proses pengungkapan kembali atau ekstraksi pesan berhasil dilakukan terhadap gambar penampung, ini memenuhi unsur steganografi yang baik yaitu Recovery. Hal ini menunjukkan aplikasi pengamanan pesan dapat digunakan untuk mengamankan pesan atau informasi. Pengujian juga dilakukan pada citra stego yang mengalami pengubahan dengan dilakukan rotasi 90 derajat ke kanan, 90 derajat kekiri dan rotasi 180 derajat untuk dilakukan proses decode apakah pesan berhasil dieksraksi atau tidak. 1. Rotasi 90 derajat kekanan
Gambar 4.23 Rotasi 90 derajat kekanan
2. Rotasi 90 derajat kekiri
Gambar 4.24 Rotasi 90 derajat kekiri
3. Rotasi 180 derajat
Gambar 4.25 Rotasi 180 derajat Setelah dilakukan pengujian, citra stego yang telah mengalami pengubahan tidak berhasil untuk dilakukan ekstraksi. Aplikasi tidak menemukan adanya pesan yang disimpan karena susunan piksel telah berubah. Ini menunjukkan aplikasi tidak memenuhi unsur Robustness, data tidak tahan terhadap manipulasi yang dilakukan terhadap wadah penampung pesan.
4.6 Analisis Histogram Histogram adalah tampilan grafis dari tabulasi frekuensi yang digambarkan dengan grafis batangan manifestasi data benning. Tiap tampilan batang menunjukkan proporsi frekuensi pada masing-masing deret kategori yang berdampingan dengan interval yang tidak tumpang tindih. Histogram digunakan untuk mengetahui didtribusi/penyebaran data sehingga dengan demikian didapatkan informasi yang lebih banyak dari data tersebut dan akan memudahkan untuk mendapatkan kesimpulan dari data tersebut. Berikut beberapa contoh perbandingan histogram pada gambar sebelum dan sesudah dilakukannya proses kriptografi dan proses steganografi. Tabel 4.8 Perbandingan Histogram Citra Asli
Citra Stego
Picture1.jpg
Picture1stego.png
Picture2.jpg
Picture2stego.png
Citra Histogram Asli
Stego
Picture39.png
Picture39stego.png
Picture40.png
Picture40stego.png
Pada tabel 4.8 menunjukkan perbandingan dari citra histogram sebelum dan sesudah dilakukannya proses kriptografi dan steganografi. Dapat dilihat pada citra histogram stego terdapat sedikit perbedaan dibandingkan dengan citra histogram asli. Hal ini menunjukkan kualitas citra stego tidak banyak berubah setelah citra asli disisipkan pesan/informasi dokumen text dan juga memenuhi salah satu unsur steganografi yang baik yaitu fidelity. Yang mana fidelity ini menunujukkan mutu dari citra setelah proses penyisipan pesan tidak jauh berbeda dengan citra asli. Metode end of file ini memiliki kelebihan pada poin ini, secara kasat mata, tidak ada perbedaan dari kedua gambar sebelum maupun sesudah proses steganografi. Untuk lebih jelas berikut beberapa citra sebelum dan sesudah proses kriptografi dan steganografi :
Gambar 4.26 Picture3 sebelum proses embedded
Gambar 4.27 Picture3 setelah proses embedded
Gambar 4.28 Picture24 sebelum proses embedded
Gambar 4.29 Picture24 setelah proses embedded
Dari proses pengujian yang telah dilakukan, dapat menunjukkan bahwa untuk proses embedded pesan dengan metode steganografi end of file tidak akan merubah kualitas citra secara signifikan.
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan Dari penelitian yang telah dilakukan maka penulis dapat menyimpulkan beberapa kesimpulan sebagai berikut : 1. Aplikasi pengamanan dokumen teks dapat mengamankan dokumen pesan/informasi dengan baik. Karena citra yang dihasilkan tidak menampakkan perbedaaan kualitas citra yang terlaku jauh. 2. Proses kriptografi (enkripsi dan dekripsi) pesan/informasi menggunakan metode Cipher Block Chaining dapat mengacak pesan menjadi pesan yang tidak terbaca dan dapat didekripsi kembali menjadi pesan asli. 3. Proses steganografi (embedded dan ekstraksi) dengan metode End Of File, pesan dapat disisipkan kedalam citra penampung dan pesan dapat diekstraksi dari citra penampung dapat dilakukan dengan baik, memenuhi unsur steganografi yang baik yaitu Recovery. 4. Citra stego yang dihasilkan dari proses stagnografi memiliki kualitas yang tidak banyak berubah setelah citra asli disisipkan pesan/informasi, hal ini memenuhi unsur steganografi yang baik yaitu Fidelity. 5. Namun setelah dilakukan pengujian dengan manipulasi rotasi 90 derajat kekanan, 90 derajat kekiri, dan rotasi 180 derajat terhadap citra stego menunujukkan hasil aplikasi tidak dapat membaca adanya pesan yang disisipkan, tidak memenuhi unsur Robustness, karena data tidak tahan terhadap manipulasi yang dilakukan.
5.2 Saran Dari uraian kesimpulan diatas, maka penulis memberikan saran untuk pengembangan lanjutan dan penelitian selanjutnya yaitu sebagai berikut : 1. Pengembangan aplikasi pengamanan dokumen dapat dilakukan dengan file dokumen lainnya
seperti
*.doc, *pdf,
dll. Atau dapat
mengembangkan dengan menggunakan metode pengamanan kriptografi dan steganografi yang memberikan hasil lebih baik. 2. Untuk penelitian selanjutnya dapat dilakukan dengan menggunakan data atau metode yang lebih tahan terhadap manipulasi, agar memenuhi unsur Robustness sebagai steganografi yang baik.
DAFTAR PUSTAKA
[1] Cucu Tri Eka Yuliana, “Implementasi Algoritma Kriptografi Blowfish dan Metode Steganografi End Of File (EOF) untuk Keamanan Data”, Skripsi Teknik Informatika Universitas Dian Nuswantoro, Semarang, 2014. [2] Rinaldi Munir, Kriptografi. Bandung: Informatika, 2007. [3] Dony Ariyus, Kriptografi Keamanan Data dan Komunikasi. Yogyakarta: Andi Offset, 2005. [4] Sentot Kromodimoeljo, Teori & Aplikasi Kriptografi.: SPK IT Consulting, 2010. [5] Nurli Hairiah, “Analisa Dan Implementasi Algoritma Cipher Block Chaining Dalam Penyandian Teks”, STMIK Budi Darma Medan, Medan. [6] Henny Wandani, Muhammad Andri Budiman, and Amer Sharif, "Implementasi Sistem Keamanan Data dengan Menggunakan Teknik Steganografi End of File (EOF) dan Rabin Public Key Cryptosystem," Universitas Sumatera Utara , Medan. [7] Paskalis Andrianus Nani, "Penerapan Enkripsi ALgoritma Blowfish Pada Proses Steganografi EOF," Universitas Katolik Widya Mandira, Kupang. [8] Yayuk Anggraini, Dolly Virgian Shaka Yudha Sakti, “Penerapan Steganografi Metode End Of File (Eof) Dan Enkripsi Metode Data Encryption Standard (Des) Pada Aplikasi Pengamanan Data Gambar Berbasis Java Programming”, Universitas Budi Luhur, Jakarta, 2014. [9] M. Shalahuddin dan Rosa A.S. Belajar Pemrograman dengan Bahasa Pemrograman C++ dan Java : dari Nol Menjadi Handal, Bandung : Informatika, 2010.