PERANCANGAN APLIKASI PENYISIPAN PESAN TERENKRIPSI DENGAN METODE LSB DAN MMB Yosia Wasri Kardo Tambunan Jurusan Teknik Informatika Sekolah Tinggi Teknik Harapan Medan Jl. HM Jhoni N0 70 Medan, Indonesia
[email protected]
ABSTRAK Pesan merupakan sebuah informasi yang akan disampaikan kepada seseorang, berbagai pesan disampaikan dengan alat komunikasi seperti kertas melalui surat, telepon dan komputer dengan sambungan telepon. Steganografi merupakan penyimpanan pesan didalam sebuah media baik gambar, suara maupun video dimana fungsinya agar pihak yang tidak berhak untuk mengetahui isi pesan tidak mendapatkan informasi apapun dari pengirim pesan. Untuk menyembunyikan data pada citra digital, digunakan metode LSB. Selain disisipkan, pesan yang akan disisipkan akan di enkripsi terlebih dahulu dengan menggunakan algoritma MMB sehingga hasilnya susah dibaca. Kata Kunci :Pesan, citra, Steganografi, LSB dan MMB.
ABSTRACT Message is an information that will be delivered to a person, the messages delivered by means of communication such as paper by mail, telephone and a computer with a telephone connection. Steganography is the storage of messages in a better media image, voice and video which functions so that parties are not entitled to know the contents of the message did not get any information from the sender of the message. To hide the data on a digital image, the method used LSB. Besides inserted, the message that will be inserted will be encrypted in advance using MMB algorithm so that the results are hard to read. Keywords :Message, image, Steganography, LSB and MMB.
1.
Pendahuluan Sebagai makhluk sosial, komunikasi merupakan hal yang paling dekat dengan kita. Komunikasi dapat kita artikan sebagai berbagi pikiran dan informasi. Segala bentuk aktivitas yang dilakukan oleh seseorang dengan tujuan menyampaikan pesannya pada orang lain merupakan tujuan komunikasi. Dilatarbelakangi oleh kebutuhan tersebut, manusia dapat melakukan pengiriman pesan dengan mudah dimana saja dan kapan saja dengan menggunakan berbagai media. Perkembangan dunia digital saat ini membuat lalu lintas pengiriman pesan atau data semakin pesat. Data yang dipertukarkan pun bervariasi baik dari jenisnya maupun tingkat kerahasiaannya. Mulai dari data pribadi, data organisasi sampai data negara yang sangat rahasia. Hal inilah yang menuntut adanya pengamanan data tersebut sehingga tidak sampai tersadap oleh pihak ketiga. Oleh karena itu, pengguna teknologi semakin ramai mengembangkan suatu sistem pengamanan terhadap data yang biasa disebut kriptografi. Kriptografi adalah suatu ilmu dan seni untuk menjaga kerahasiaan suatu pesan dengan cara mengenkripsi pesan tersebut terlebih dahulu sehingga pesan yang sudah dienkripsi tersebut tidak
bisa dibaca oleh pihak ketiga. Namun penggunaan kriptografi ini masih memiliki kekurangan yaitu pesan hasil enkripsi tersebut sangat mudah menimbulkan kecurigaan. Sehingga pihak ketiga akan berusaha membuka pesan tersebut untuk mengetahui isinya. Maka dari itu, untuk menghilangkan kecurigaan tersebut muncul sistem pengamanan baru yang dikenal dengan istilah steganografi. Steganografi adalah seni dan ilmu tentang komunikasi yang tidak terlihat. Tujuan dari steganografi adalah untuk menyembunyikan data dari pihak ketiga. Biasanya pesan akan dimunculkan dalam bentuk lain: gambar, artikel, daftar belanja, atau beberapa bentuk lainnya. Pesan dapat berupa file teks atau file gambar. Sedangkan media penyimpanan pesan dapat berupa file gambar, audio, video, atau file lainnya. Namun sistem pengamanan ini juga masih memiliki kekurangan yaitu bila pihak ketiga mencurigai media yang digunakan tersebut, akan sangat mudah baginya untuk mengetahui apa isi pesan pada media tersebut. Enkripsi adalah transformasi data (plaintext) ke dalam bentuk yang hampir tidak dapat dibaca (ciphertext) tanpa pengetahuan yang cukup. Tujuan
dari enkripsi adalah untuk menjamin kerahasiaan dengan menjaga informasi tersembunyi dari siapapun yang bukan pemilik atau yang berkepentingan dengan informasi tersebut, bahkan bagi orang yang memiliki akses terhadap data yang telah dienkripsi. Sedangkan dekripsi adalah kebalikan dari enkripsi, yakni transformasi dari data yang telah dienkripsi (ciphertext) kembali ke bentuk semula (plaintext). Proses enkripsi dan dekripsi pada umumnya membutuhkan penggunaan sejumlah informasi yang rahasia, yang sering disebut kunci (key) (Sumber: Sentot Kromodimoejo, Teori & Aplikasi Kriptografi, SPK IT Consulting).
2.
Tujuan Kriptografi Menurut Stalling, ada beberapa tuntutan yang terkait dengan isu keamanan data yaitu : 1. Confidentiality Menjamin bahwa data-data tersebut hanya bisa diakses oleh pihak-pihak tertentu saja. 2. Authentication Baik pada saat mengirim atau menerima informasi, kedua belah pihak perlu mengetahui bahwa pengirim dari pesan tersebut adalah orang yang sebenarnya seperti yang diklaim. 3. Integrity Tuntutan ini berhubungan dengan jaminan setiap pesan yang dikirim pasti sampai pada penerimanya tanpa ada bagian dari pesan tersebut yang diganti, diduplikasi, dirusak, diubah urutannya, dan ditambahkan. 4. Nonrepudiation Nonrepudiation mencegah pengirim maupun penerima mengingkari bahwa mereka telah mengirimkan atau menerima suatu pesan/informasi. Jika sebuah pesan dikirim, penerima dapat membuktikan bahwa pesan tersebut memang dikirim oleh pengirim yang tertera. Sebaliknya, jika sebuah pesan diterima, pengirim dapat membuktikan bahwa pesannya telah diterima oleh pihak yang ditujunya. 5. Access Control Membatasi sumber-sumber data hanya kepada orang-orang tertentu. 6. Availability Jika diperlukan setiap saat semua informasi pada sistem komputer harus tersedia bagi semua pihak yang berhak atas informasi tersebut. Dari keenam aspek keamanan data tersebut, empat diantaranya dapat diatasi dengan menggunakan kriptografi yaitu confidentiality, integrity, authentication, dan nonrepudiation(Sumber: Sentot Kromodimoejo, Teori & Aplikasi Kriptografi, SPK IT Consulting)
Gambar 2.1 Proses Pembentukan Kunci pada Metode MMB Sumber: Jurnal Ilmiah Karya Mukhlisulfatih Latief, Studi Perbandingan Enkripsi Menggunakan Algoritma Idea Dan MMB, Universitas Gorontalo
Metodologi Penelitian Metode MMB menggunakan kunci sepanjang 128 bit. Proses pembentukan kunci pada metode MMB ini sangat sederhana. Kunci yang di-input hanya dibagi menjadi 4 buah subblock kunci dengan panjang masing-masing 32 bit. Proses pembentukan kunci pada metode MMB ini dapat dilihat pada bagan berikut ini :
k0 k1 k2 … k127
k0 k1 … k31
k32 k33 … k63
k64 k65 … k95
k96 k97 … k127
Metode MMB menggunakan plaintext dan kunci dengan panjang 128 bit. Inti proses enkripsi dari metode MMB adalah sebagai berikut : 1. Plaintext dibagi menjadi 4 subblock yang sama besar (x0, x1, x2, x3). 2. Lakukan proses berikut ini sebanyak 2 kali : (Index dilakukan operasi modulo 4) for i = 0 to 3 xi = xi XOR ki next i f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki+1 next i f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki+2 next i f(x0,x1,x2,x3) Proses enkripsi tersebut dapat ditunjukkan dalam bentuk bagan seperti berikut ini :
Gambar 2.3 Fungsi f pada Proses Enkripsi Metode MMB Sumber: Jurnal Ilmiah Karya Mukhlisulfatih Latief, Studi Perbandingan Enkripsi Menggunakan Algoritma Idea Dan MMB, Universitas Gorontalo Operasi perkalian yang digunakan merupakan operasi perkalian modulo 232 – 1. Sedangkan konstanta yang digunakan dapat dirincikan sebagai berikut : – C = (2AAAAAAA)16 – c0 = (025F1CDB)16 – c1 = 2 * c 0 – c2 = 2 3 * c 0 – c3 = 2 7 * c 0
Gambar 2.2Proses Enkripsi pada Metode MMB Sumber: Jurnal Ilmiah Karya Mukhlisulfatih Latief, Studi Perbandingan Enkripsi Menggunakan Algoritma Idea Dan MMB, Universitas Gorontalo Fungsi f yang digunakan memiliki 3 langkah yaitu : - for i = 0 to 3 xi = ci * xi next i - Jika LSB (Least Significant Bit) dari x0 = 1, maka x0 = x0 XOR C. Jika LSB dari x3 = 0, maka x3 = x3 XOR C. - for i = 0 to 3 xi = xi-1 XOR xi XOR xi+1 next i Fungsi f diatas dapat digambarkan dalam bentuk bagan seperti berikut ini :
Algoritma yang digunakan pada proses dekripsi agak sedikit berbeda dengan proses enkripsi.Inti proses dekripsi dari metode MMB dapat dijabarkan seperti berikut : 1. Ciphertext dibagi menjadi 4 subblock yang sama besar (x0, x1, x2, x3). 2. Lakukan proses berikut ini sebanyak 2 kali : (Index dilakukan operasi modulo 4) f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki+2 next i f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki+1 next i f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki next i Proses dekripsi tersebut dapat ditunjukkan dalam bentuk bagan seperti berikut ini :
Gambar 2.4 Proses Dekripsi pada Metode MMB
Sumber: Jurnal Ilmiah Karya Mukhlisulfatih Latief, Studi Perbandingan Enkripsi Menggunakan Algoritma Idea Dan MMB, Universitas Gorontalo Fungsi f yang digunakan juga berbeda dan dapat dijabarkan seperti berikut : - for i = 3 to 0 step -1 xi = xi-1 XOR xi XOR xi+1 next i - Jika LSB (Least Significant Bit) dari x0 = 1, maka x0 = x0 XOR C. Jika LSB dari x3 = 0, maka x3 = x3 XOR C. - for i = 0 to 3 xi = ci * xi next i Fungsi f diatas dapat digambarkan dalam bentuk bagan seperti berikut ini :
Start
Mengumpulkan teori dan contoh kasus
Merancang program
Mengimplementasikan rancangan program
Melakukan pengujian program
End
Gambar 3.1 Skema Metode Penyelesaian Masalah Use case memilih berkas citra digital oleh penerima digunakan untuk memilih berkas citra digital yang akan diekstraksi untuk mendapatkan pesan yang disisipkan. Kita bisa lihat pada Gambar 3.2.
Gambar 2.5Fungsi f pada Proses Dekripsi Metode MMB Sumber: Jurnal Ilmiah Karya Mukhlisulfatih Latief, Studi Perbandingan Enkripsi Menggunakan Algoritma Idea Dan MMB, Universitas Gorontalo Operasi perkalian yang digunakan merupakan operasi perkalian modulo 232 – 1. Sedangkan konstanta yang digunakan dapat dirincikan sebagai berikut : – C = (2AAAAAAA)16 – c0-1 = (0DAD4694)16 – c1-1 = 2-1 * c0-1 – c2-1 = 2-3 * c0-1 – c3-1 = 2-7 * c0-1 Adapun skema metode penyelesaian masalah yang penulis lakukan dapat dilihat pada Gambar 3.1.
Gambar 3.2 Diagram Use Case Sisip dan Ekstrak Teks Activity diagram dari program aplikasi steganografi digambarkan seperti gambar di bawah ini : Proses Sisip Teks
Start
Mulai
Menginput Teks
Input Teks
Menginput File Gambar
T
IF Gamb ar=*jp g
Pesan disisipkan
T
F
Input Gambar
Sis ip Te ks Pesan Kesalahan
Simpan
Gambar 3.3 Activity Diagram Proses Sisip Teks Pada gambar 3.3 menggambarkan proses penyisipan teks pada sistem yang akan dirancang.
F
Pesan Kesalah ann
Proses Sisip Teks Penyisip an Sukses
Simpa n Pesan
Proses Ekstrak Teks
Keluar
Memanggil File Gambar
T
Proses Ekstrak Teks
F IF format gamba r jpg_ls b
Pesan Kesalahan
Melihat Pesan Teks
Gambar 3.4 Activity Diagram Proses Ekstrak Teks Pada gambar 3.9 menggambarkan proses ekstrak teks pada sistem program dan melihat hasil akhir dari proses tersebut yaitu menampilkan pesan yang disembunyikan pada gambar. Adapun bentuk perancangan proses kerja sistem yang penulis rancang merupakan flowchart seperti ditunjukan pada gambar 3.8 dan gambar 3.9. 1.
Gambar 3.8 Flowchart Penyisipan Teks Keterangan Gambar 3.8 : a. Mulai. b. User memasukkan teks yang akan disisipkan kedalam gambar. c. Load gambar sebagai tempat penampung teks yang akan disisip. d. Klik tombol sisip teks untuk melakukan proses penyisipan teks ke dalam citra digital. e. Jika salah akan muncul pesan kesalahan, dan jika benar akan langsung ke proses. f. User dapat menyimpan hasil penyisisipan teks ke lokasi penyimpanan. g. Jika selesai maka aplikasi akan ditutup.
Mulai
Pada menu utama ini hanya terdapat 1 (satu) buah menu untuk memudahkan pengguna (user) memakai program ini. Sub menu tersebut adalah proses steganografi dan sub menu keluar. Sub menu ini nantinya yang akan dipilih oleh pengguna sesuai dengan kebutuhannya. Adapun tampilan menu utama ini dapat dilihat pada gambar 4.2.
Input Gambar
Ekstr ak Teks
Pesan Kesalah an
Proses Ekstrak Teks
Tampil Pesan Rahasia Keluar
Gambar 3.9 Flowchart Ekstrak Teks Keterangan Gambar 3.9 : a. Mulai. b. User mengambil gambar yang disisipi pesan. c. Klik tombol ekstrak untuk menampilkan teks rahasia. d. Jika salah akan muncul pesan kesalahan, dan jika benar akan langsung ke proses. e. Jika selesai maka aplikasi akan ditutup.
Hasil dan Pembahasan Pada saat program dijalankan maka akan muncul tampilan password yang berfungsi sebagai form security. Setelah form password diisi maka akan langsung masuk ke tampilan awal program. Tampilan password tersebut dapat dilihat pada gambar 4.1. berikut.
Gambar 4.2 Tampilan Menu Utama Setelah kita memilih steganografi maka akan keluar form penyisipan pesan pada gambar 4.3 di bawah ini.
3.
********
Gambar 4.1 Tampilan Password Login
Gambar 4.3 Tampilan Proses Steganografi
Pada saat dilakukan uji coba penyisipan atau ekstraksi pesan pada file gambar, setelah file gambar di buka, maka selanjutnya ketik pesan yang akan disisipkan. Setelah itu pilih tombol masukkan pesan yang ada di sebelah kanan form, maka akan muncul jendela pemberitahuan bahwa pesan berhasil disisipkan. Untuk lebih jelasnya dapat kita lihat pada gambar 4.5 di bawah ini.
Gambar 4.5. Tampilan Proses Penyisipan Berhasil Gambar 4.7 Tampilan Membaca Pesan Untuk membaca pesan yang telah disisipkan tadi, maka prosesnya hampir sama dengan proses pada saat penyisipan yaitu memilih file gambar yang sudah ada pesannya. Untuk membedakan gambar yang sudah disisipi pesan adalah kita pilih file yang berekstensi *.jpg_lsb. Proses tersebut dapat dilihat pada gambar 4.6.
4.
Kesimpulan Setelah melakukan pembahasan mengenai perangkat lunak ini, maka dapat diambil beberapa kesimpulan, yaitu : 1. Steganografi dapat menyembunyikan data rahasia pada gambar tipe jpg. 2. Warna dan kualitas gambar tidak rusak ataupun berubah setelah mengalami proses embedding karena bit gambar yang disisipkan menggunakan bit paling kecil. 3. Steganografi tidak menimbulkan kecurigaan akan adanya data yang tersimpan dibalik gambar karena data tersebut menyatu dengan citra. 4. Metode LSB merupakan metode yang mampu menyisipkan dan memanipulasi bit-bit di dalam citra. 5. Penerapan algoritma MMB pada pesan yang disisipkan membuat pesan jadi lebih aman. 6. Gambar yang telah diekstraksi akan mengalami peningkatan size karena telah mengalami tambahan bit dari setiap kata yang dimasukkan.
Gambar 4.6 Tampilan Ambil File Gambar Setelah gambar dipilih kemudian pilih tombol open, maka gambar akan tampil. Untuk mengekstrak kembali gambar tersebut pilih tombol bacakan pesan yang terdapat di sebelah kanan form, maka pesan di dalam gambar akan muncul kembali. Untuk lebih jelasnya kita lihat gambar 4.7.
5.
Daftar Pustaka
[1] Cahyadi, T. (2012). Implementasi Steganografi LSB Dengan Enkripsi Vigenere Chiper Pada Citra JPEG. Jurnal Transient 1(4) : 282-288. [2] Lubis, A.R., Lidya, M.S. & Budiman, M.A. (2012). Perancangan Perangkat Lunak Steganografi Audio MP3 Menggunakan Metode Least Signitificant Bit (LSB) Dengan Visual Basic 6.0. Jurnal Dunia Teknologi Informasi 1(1) : 63-68. [3] Naufal, M. (2013). Implementasi Steganografi Dan Kriptografi Untuk Keamanan Data
Dengan Metode RC2 Pada Citra Bitmap. Skripsi Universitas Triguna Dharma. [4] Piarsa,I,N. (2011). Steganografi Pada Citra JPEG Dengan Metode Sequential Dan Spreading. Jurnal Lontar Komputer 2(1) : 5263. [5] Rakhmat, B. & Fairuzabadi, M. (2010). Steganografi Menggunakan Metode Least Significant Bit Dengan Kombinasi Algoritma Kriptografi Vigenere Dan RC4. Jurnal Dinamika Informatika 5(2) : 1-17. [6] Syahrul. (2012). Aplikasi Pengamanan Informasi Dengan Teknik Penyisipan Data Menggunakan Algoritma Steganografi Least Significant Byte. Skripsi Sekolah Tinggi Manajemen Informatika Dan Komputer Amikom Yogyakarta. [7] Warsito, A.B., Fajarita, L. & Nazori, A.Z. (2012). Proteksi Keamanan Dokumen Sertifikat File JPEG Pada Perguruan Tinggi Dengan Menggunakan Steganografi dan Kriptografi. Jurnal Telematika MKOM 4(1) : 83-89. [8] Zunaidi, M. (2013). Steganografi Menyembunyikan Pesan atau File Dalam Gambar Menggunakan Command/DOS. Jurnal Saintikom 12(1) : 11- 16.