----------------------- Page 1-----------------------
Pembangunan Aplikasi Penyembunyian Pesan yang Terenkripsi
dengan Metode MARS pada Citra
dengan Metode Zhang LSB Image
Ferry Pangaribuan - 13505080
Program Studi Teknik Informatika, Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Email: if15080@students.if.itb.ac.id
Abstract - Sistem yang mengkombinasikan pesan yang terkirim adalah sebuah pesan rahasia,
keunggulan kriptografi dan keunggulan steganografi sehingga penyembunyian informasi ke dalam sebuah
sangat diperlukan saat ini. Kriptografi yang media perlu dilakukan agar menjamin bahwa pesan
memberikan manfaat pesan dalam keaadaan tidak rahasia tidak diketahui oleh orang lain.
dapat dibaca dan steganografi yang memberikan
manfaat bahwa pesan tidak dapat diketahui Oleh karena itu, pembuatan aplikasi yang dapat
keberadaannya merupakan perpaduan yang saling menyediakan kombinasi antara steganografi dan
melengkapi.Perbedaan representasi data yang kriptografi perlu untuk diimplementasikan. Hal ini
diperlukan pada operasi internal metode Zhang dan akan meningkatkan kepercayaan pemerintah, bisnis,
metode MARS, sehingga memerlukan sejumlah atau pihak lain yang ingin mengirimkan pesan rahasia
perubahan representasi data yang diperlukan untuk secara aman.
menghasilkan hasil yang diharapkan. Perubahan
representasi data tersebut harus sedapat mungkin Pada makalah ini dibahas mengenai sistem gabungan
terjaga dengan baik dan dapat dikembalikan ke kriptografi-steganografi dengan metode Zhang dan
representasi asalnya. Metode Zhang memiliki MARS dengan media citra tidak terkompresi
beberapa kelemahan untuk beberapa kasus, sehingga bitmap.Pemodifikasian terhadap algoritma Zhang
dilakukan pemodifikasian metode ini pun dilakukan dilakukan karena beberapa kasus melibatkan bit
untuk menangani permasalahan pada beberapa terdepan pada saat operasi internalnya.
kasus yang ada dan membuat modifikasi metode
2. CITRA DIJITAL
tersebut dapat berjalan dengan baik.
Kata kunci : steganografi, kriptografi, dan stego- Citra dijital memiliki informasi berupa gambar dan
image terdiri dari elemen terkecil yaitu piksel. Citra dijital
direpresentasikan dalam bentuk matriks 2 dimensi
1. PENDAHULUAN yang setiap elemen merepresentasikan piksel pada
gambar.
Penelitian steganografi secara umum dipengaruhi
oleh kekurangan dari sistem kriptografi. Banyak 2.1 Warna pada Citra Dijital
pemerintah di beberapa negara telah menciptakan
aturan untuk membatasi kekuatan sistem kriptografi, Terdapat beberapa jenis pewarnaan pada citra dijital
sehingga memaksa orang untuk mempelajari metode yaitu duotone (dua warna), grayscale dan citra
lain untuk melakukan pengiriman informasi rahasia. berwarna. Citra berwarna dapat memiliki sistem
Bisnis-bisnis juga telah mulai menyadari potensi pewarnaan RGB, indexed color atau 256 color.
steganografi dalam mengkomunikasikan rahasia-
rahasia dagang atau informasi produk baru. Pada citra dijital dengan pewarnaan duotone, warna
Penghindaran komunikasi melalui jalur-jalur yang pada piksel hanya memiliki 2 kemungkinan warna,
telah dikenal untuk mengurangi resiko informasi pada umumnya hitam-putih. Dengan penggunaan
tersebut bocor. Penyembunyian informasi dalam warna 1-bit, maka kualitas gambar pada citra dijital
sebuah foto piknik perusahaan memberikan efek tidak begitu bagus. Pewarnaan grayscale memiliki
mencurigakan yang lebih sedikit daripada kualitas lebih baik. Pada grayscale, warna yang
komunikasi menggunakan arsip terenkripsi[KHA04]. tersedia hanyalah warna-warna yang ada diantara
hitam dan putih, meliputi warna abu-abu yang
Oleh karena itu, penggunaan kriptografi yang dapat beragam.
menyebabkan seseorang langsung mengetahui bahwa
----------------------- Page 2-----------------------
Citra RGB adalah yang paling populer saat ini, perbedaan antara antara citra asli dengan yang sudah
dimana setiap piksel direpresentasikan dengan dimasukkan pesan.
intensitas warna merah, hijau dan biru. Citra indexed
color hanya memiliki 256 warna yang telah Untuk menjelaskan metode ini, digunakan citra dijital
didefinisikan pada tabel warna, namun memiliki sebagai cover-object. Setiap piksel dalam citra dijital
ukuranfile yang lebih kecil. berukuran 1 sampai 3 byte. Pada susunan bit di dalam
byte (1 byte = 8 bit), terdapat bit yang memiliki arti
yang paling kecil (Least Significant bit atau LSB).
2.2 Citra Dijital Tidak Terkompresi Misalnya pada byte 00011001, maka bit LSB-nya
adalah bita yang terletak di paling kanan yaitu 1.
Untuk melakukan penyisipan pesan, bit yang paling
Struktur bitmap, seperti yang tertera pada Lampiran
cocok untuk diganti dengan bit pesan adalah bit LSB,
A, secara garis besar dibagi menjadi empat bagian,
sebab pengubahan bit tersebut hanya akan mengubah
yaitu File Header, Image Header, Color Palette, dan
nilai byte-nya menjadi satu lebih tinggi atau satu
Pixel Data. Perlu diperhatikan, bagian File Header,
lebih rendah.
Image Header, dan Color Palette terdiri atas
informasi-informasi yang penting untuk
Sebagai contoh, urutan bit berikut ini
menampilkan citra, apabila terjadi kehilangan data
menggambarkan 3 piksel pada cover-image 24-bit.
atau kerusakan data pada bagian-bagian ini maka hal
tersebut akan mengakibatkan citra rusak atau bahkan (00100111 11101001 11001000)
tidak bisa ditampilkan.
(00100111 11001000 11101001)
Agar stego-image dapat ditampilkan persis dengan
aslinya, dalam melakukan steganografi, yang disisipi (11001000 00100111 11101001)
pesan hanya bagian pixel data saja karena jika bagian
file header, image header, dan color palette ikut Pesan yang akan disisipkan adalah karakter “A”,
disisipi pesan, maka bagian citra tidak dapat yang nilai biner-nya adalah 10000001, maka akan
ditampilkan lagi. Sebagai contoh, salah satu bagian dihasilkan stego-image dengan urutan bit sebagai
dari file header adalah bfType yang mengandung berikut:
karakter “BM” yang mengidentifikasi tipe arsip,
apabila tipe arsip ini disisipi pesan, maka tipe arsip (00100111 11101000 11001000)
dapat berubah menjadi tidak dikenali sehingga citra
tidak dapat ditampilkan. Hal ini menunjukkan bahwa (00100110 11001000 11101000)
penyisipan pesan dengan teknik LSB hanya dapat
dilakukan pada bagian pixel data, agar citra yang (11001000 00100111 11101001)
menyembunyikan tidak rusak.
Pada representasi arsip 24-bit bitmap, setiap piksel
4 . ALGORITMA ZHANG LSB IMAGE
akan terdiri dari 3 byte karena setiap 1 byte akan
STEGANOGRAPHY
merepresentasikan nilai red, blue, atau green. Apabila
terdapat pemilihan nilai LSB tertentu akan dibagi
Algoritma ini dikembangkan oleh Hong-Juan Zhang
secara merata pada 3 representasi warna tersebut.
dan Hong-Jun Tang dari Universitas Hangzhou
Contoh apabila nilai LSB adalah 20; maka 6 bit LSB
Dianzi. Algoritma ini dapat bertahan terhadap
red, 7 bit LSB blue, dan 7 bit LSB green. Jadi apabila
serangan steganalisis yang berdasarkan kepada
terjadi nilai m LSB yang jika dimodulus 3 lebih
analisis statistikal seperti RS-Analysis dan Chi-
besar dari nol, maka nilai bit LSB green yang
Square.
pertama kali ditambahkan baru kemudian nilai bit
LSB blue.
4.1 Penanaman Pesan
3. METODE LSB Proses penanaman pesan ke dalam citra
menggunakan generator angka pseudo-random .
Pengubahan LSB (Least Significant Bit) pada citra
Misalkan
yang tidak terkompresi sangat sulit untuk diketahui
secara kasat mata, sehingga metode ini sangat banyak kumpulan piksel-piksel yang dipilih oleh angka
digunakan. Metode ini memanfaatkan pseudo-random . Sebuah stego-key digunakan sebagai
ketidakmampuan mata manusia dalam menemukan benih dari generator angka pseudo-random , x adalah
nilai dari piksel itu, n ditentukan dari ukuran pesan
----------------------- Page 3-----------------------
yang ditanamkan dan berapa banyak bit-bit LSB
dalam setiap piksel yang dapat digunakan untuk
menanamkan pesan. Ini dapat dihitung dengan 5. ALGORITMA MARS
menggunakan fungsi ini:
Input dan output metode ini berupa 4 word data 32-
(2.1) bit. Metode ini merupakan metode yang berorientasi
word, karena semua operasi internalnya dilakukan
dalam word 32-bit. Kode yang sama untuk mesin
dimana l adalah panjang bit stream dari pesan yang dengan struktur internal little-endian dapat digunakan
ditanamkan, m adalah jumlah bit yang digunakan untuk mesin dengan struktur internal big-endian.
untuk menanamkan pesan-pesan dalam setiap piksel, Ketika input atau output berupa sebuah byte stream,
dan n adalah sejumlah kumpulan m bit pesan. Bit digunakan susunan byte little-endian untuk
stream dari pesan yang ditanamkan dibagi menjadi menginterpretasikan setiap 4 byte sebagai sebuah
bit segmen dengan panjang m bit dan dinotasikan word 32-bit. Gambar II-11 menunjukkan struktur
dengan , algoritma MARS.
. Didefinisikan
menjadi fungsi untuk mendapatkan nilai m bit LSB Tahap enkripsi dan dekripsi dilakukan dalam 3 fase:
dari x tersebut dan didefinisikan MaxVal sebagai nilai
2p – 1 (dimana p adalah banyaknya bit yang 1. Fase pertama ini menyediakan rapid mixing dan
merepresentasikan setiap piksel). key avalanche, ini berfungsi untuk mengatasi
serangan chosen-plaintext dan membuat lebih
Untuk melakukan penanaman pesan dilakukan seperti sulit untuk melakukan penyerangan dengan
metode linier dan diferensial. Fase ini terdiri dari
pseudo algoritma pada Gambar 1.
penambahan kunci ke data, diikuti dengan
delapan putaran S-box.
for i = 1, 2, …., n do
2. Fase kedua disebut “cryptographic core” metode
ini, terdiri dari 16 putaran dari transformasi
Feistel tipe-3. Ini untuk memastikan bahwa
if x > MaxVal then
i m enkripsi dan dekripsi memiliki kekuatan yang
xi = xi - 2 ; sama, dilakukan 8 putaran pertama dalam
end
“forward mode ” dan 8 putaran terakhir dalam
if xi < 0 then “backwards mode”.
m
xi = xi + 2 ; 3. Fase terakhir menyediakan kembali rapid mixing
end
dan key avalanche, pada saat ini untuk
end
melindungi dari serangan chosen-chipertext.
Gambar 1 Pseudocode penanaman pesan Fase ini merupakan inverse dari fase pertama,
terdiri dari 8 putaran Feistel tipe-3 seperti yang
4.2 Pengekstrakan Pesan terdapat pada fase pertama (namun dalam
“backwards mode” sedangkan fase pertama
Dengan menggunakan stego-key yang sama untuk dalam “forward mode ”), diikuti dengan
membangkitkan angka pseudo-random tersebut, substraksi kunci dari data.
piksel-piksel yang bersesuain dipilih dengan
menggunakan angka pseudo-random untuk
membangun . 6. ANALISIS
Pesan dapat diekstrak seperti pseudo algoritma pada 6.1 Analisis Struktur Data yang Terlibat
Gambar 2.
Sejumlah perubahan representasi data diperlukan
for i= 1, 2, …., n do untuk membangun sistem kombinasi ini. Algoritma
Zhang yang operasi internalnya yang berorientasi
end
word, sedangkan algoritma Zhang yang operasi
Gambar 2 Pseudocode proses ekstraksi internalnya berorientasi bit dan byte; sehingga
perubahan representasi perlu dikendalikan agar
sehingga didapatkan .
memberikan hasil yang diharapkan.
dan dapat membangun kembali pesan tersebut.
----------------------- Page 4-----------------------
Gambar 3 mengilustrasikan perubahan representasi for i = 1, 2, …., n do
yang dilakukan. Pada contoh tersebut diambil nilai m
LSB bernilai 14, sehingga akan diisi 4 bit terakhir if LSB (x) >= 2m then
m i
untuk nilai komponen red, 5 bit terakhir untuk nilai LSB (x) =LSB (x) mod 2m;
m i m i
komponen blue, dan 5 bit terakhir untuk nilai end
komponen green dari bit representasi array of if LSB (x) < 0 then
m i
integer tersebut. Sisa bit terdepan akan diisi dengan LSB (x) = LSB (x) + 2m;
m i m i
nilai 0. Sisa 2 bit dari array of integer tersebut akan end
digunakan lagi untuk membentuk array of integer[3] end
berikutnya.
Gambar 4 Pemodifikasian akhir algoritma Zhang
6.3 Penentuan Ukuran Pesan yang dapat
Ditanamkan
Berdasarkan dasar teori yang terdapat pada bab II,
diketahui bahwa penentuan jumlah least significant
bit yang dipilih untuk setiap piksel dan ukuran citra
akan mempengaruhi ukuran pesan yang dapat
ditanamkan. Misalkan ukuran citranya adalah 1028 x
700 dan jumlah LSB yang dipilih adalah 2, maka
ukuran maksimal dari pesan yang dapat ditanamkan
adalah 1028 * 700 * 2 bit (1.439.200 bit atau 179,9
kilo byte).
Oleh karena itu, diperlukan suatu prosedur untuk
melakukan verifikasi terhadap pesan yang ingin
ditanamkan setelah melakukan pemilihan jumlah LSB
Gambar 3 Perubahan representasi dari array of dan citra tertentu agar tidak terdapat beberapa bagian
pesan yang tidak dapat ditanamkan. Prosedur ini akan
integer ke array of integer[3].
memperkirakan terlebih dahulu nilai dari ukuran
maksimal pesan yang dapat ditanamkan setelah
6.2 Pemodifikasian Algoritma Zhang
pengguna meng-input jumlah LSB dan citra,
kemudian nilai ini akan digunakan saat pengguna
Pada algoritma Zhang LSB Image Steganography
melakukan konfirmasi terhadap pesan yang akan
terdapat satu kejanggalan yang akan menyebabkan
ditanamkan. Apabila ukurannya lebih besar dari nilai
kualitas suatu piksel akan berkurang karena
maksimal tersebut, maka pengguna akan diminta
persamaan untuk memperkecil ukuran pesan tersebut.
6.4 Penentuan LSB dari Setiap Piksel
memiliki kemungkinan untuk bernilai negatif.
Apabila nilai yang dihasilkan negatif dan nilai m LSB Pada representasi arsip 24-bit bitmap, setiap piksel
dari suatu piksel yang akan melakukan operasi akan terdiri dari 3 byte karena setiap 1 byte akan
penambahan dengan nilai ini bernilai 0(nol) semua merepresentasikan nilai red, blue, atau green.
maka bit-bit yang lebih tinggi akan berpengaruh dan Apabila terdapat pemilihan nilai LSB tertentu akan
berkemungkinan merusak kualitas citra secara dibagi secara merata pada 3 representasi warna
keseluruhan. tersebut. Contoh apabila nilai LSB adalah 20; maka 6
bit LSB red, 7 bit LSB blue, dan 7 bit LSB green. Jadi
Gambar 3 menunjukkan hasil pemodifikasian tahap apabila terjadi nilai m LSB yang jika dimodulus 3
akhir dari algoritma Zhang. lebih besar dari nol, maka nilai bit LSB green yang
pertama kali ditambahkan baru kemudian nilai bit
LSB blue
----------------------- Page 5-----------------------
7. HASIL DAN PENGUJIAN
Dari hasil pengujian, perangkat lunak CombinoZM
dapat menangani beberapa ekstensi arsip pesan
seperti jpg, java (arsip teks), zip, docx, dan pdf.
Teknik gabungan steganografi dan kriptografi
berjalan sesuai dengan fungsinya masing-masing.
Pemilihan cover-image yang memiliki kontras tinggi
dan cover-image yang kontras rendah tidak akan
mempengaruhi hasil dari stego-image. Dari hasil
pengujian, parameter kontras suatu citra tidak
mempengaruhi kualitas dari stego-image yang
dihasilkan. Parameter yang menentukan suatu cover-
image akan menghasilkan stego-image yang baik
adalah nilai m LSB yang dipilih.
Seperti yang dijelaskan di atas dan diperkuat dengan
Gambar V-6, kualitas stego-image yang dihasilkan
bergantung pada nilai m LSB yang dipilih, semakin
besar nilai m LSB maka kualitas gambar semakin Gambar 5 Nilai PSNR dengan nilai m LSB yang
berkurang/rusak. Pada hasil pengujian, bila m LSB bervariasi dan ukuran arsip pesan yang sama
lebih besar dari 8 maka akan terdapat bintik-bintik
pada stego-image yang dihasilkan. Stego-image
yang baik dapat dihasilkan dengan memilih nilai m
LSB lebih kecil dari 8.
Pada saat memilih nilai m LSB yang lebih kecil
dengan nilai ukuran arsip pesan yang sama, akan
terjadi peningkatan kualitas stego-image yang
dihasilkan. Pesan yang disebar pada piksel yang lebih
banyak dengan pemilihan m LSB ini menyebabkan
perubahan yang terjadi pada cover-image semakin
sedikit dan semakin meningkat kualitas dari stego-
image.
Parameter yang juga ikut menentukan kualitas dari
stego-image yang dihasilkan adalah ukuran dari arsip
pesan yang ingin ditanamkan. Pada pengujian
dengan menggunakan PSNR yang ditunjukkan pada
Gambar 5, dihasilkan kesimpulan bahwa semakin
besar ukuran arsip pesan yang ditanamkan maka
kualitas dari stego-image semakin menurun.
Penentuan ukuran arsip yang sangat berbeda jauh
Gambar 6 Nilai PSNR dengan nilai m LSB tetap
dengan ukuran cover-image akan menentukan
kualitas dari stego-image yang dihasilkan, seperti dan nilai ukuran pesan yang berubah-ubah
yang ditunjukkan oleh hasil pengujian pada cover-
image kontrasRendah di Gambar 4 dan Gambar 5, Pemilihan ukuran arsip pesan dan ukuran cover-
hasil cover image-nya menghasilkan kualitas yang image akan mempengaruhi lamanya proses untuk
paling baik dari semua hasil cover-image yang ada melakukan penanaman arsip pesan maupun proses
karena ukuran cover-image-nya paling besar. sebaliknya. Dari proses besar enkripsi penanaman
terdiri dari bagian-bagian proses yang kecil yaitu
proses pembacaan cover-image, proses pembacaan
arsip pesan, proses enkripsi arsip pesan, proses
penentuan piksel mana yang akan dimodifikasi,
proses transformasi represntasi dari arsip pesan,
proses modifikasi piksel yang digunakan untuk
----------------------- Page 6-----------------------
menanam arsip pesan, dan proses pembentukan 6. Penentuan parameter ukuran arsip pesan dan
stego-image; proses pembentukan cover-image dan ukuran citra akan berpengaruh pada
proses modifikasi piksel yang digunakan untuk performansi CombinoZM
menanam arsip pesan merupakan proses yang
menyumbang waktu terlama dalam proses besar
enkripsi penanaman. Sehingga performansi dari DAFTAR REFERENSI
CombinoZM akan bergantung dari ukuran cover-
image dan ukuran arsip pesan. [BUR99] Burwick, Carolynn dkk. MARS-a candidate
chiper for AES. 1999. IBM Corporation.
Pengukuran performansi untuk proses besar ekstraksi
dan dekripsi sama halnya dengan proses besar [JOH98] Johnson, Neil F dan Jajodia Sushil.
enkripsi penanaman. Proses besar ekstraksi dekripsi Exploring Steganography: Seeing the Unseen. 1998.
terdiri dari bagian-bagian proses yang kecil yaitu George Mason University.
proses penentuan piksel mana yang akan
dimodifikasi, proses pengekstrakan arsip pesan, [KHA04] Kharrazi, Mehdi dkk. Image
proses perubahan representasi arsip pesan, proses Steganography: Concepts and Practice. 2004.
dekripsi dari arsip pesan, dan proses pembentukan Brooklyn : Departement of Electrical and Computer
arsip pesan. Dari bagian kecil tersebut, proses Engineering and Departement of Computer and
pembentukan arsip pesan adalah proses yang Information Science Polytechnic University
menentukan berapa lama proses besar ekstraksi Brooklyn.
dekripsi berlangsung.
[KRU02] Kruus, Peter, Caroline Scace, Michael
8. KESIMPULAN Heyman, dan Mathew Mundy. A Survey of
Steganographic Techniques for Image Files. 2002.
Kesimpulan yang didapat selama pengerjaan makalah Advanced Security Research Journal – Network
ini adalah sebagai berikut: Associates Laboratories, Network Associates, Inc.
1. Sebuah perangkat lunak yang [LYN02] Lynch and Horton, Graphic: Color
mengimplementasikan kriptografi chiper Displays, 2002. URL :
block dan steganografi metode LSB telah http://webstyleguide.com/graphics/displays .html.
berhasil dibangun. Tanggal akses 25April2009.
2. Perubahan representasi data yang terjadi dari
metode Zhang ke metode MARS atau [MIA99] Miano, John. Compressed Image File
sebaliknya sulit untuk dikelola karena Formats. 1999. Massachusetts : Addison Wesley
representasi data yang diperlukan pada Longman, Inc.
kedua metode ini berbeda.
3. Algoritma Zhang LSB Image Steganography [MOR] Morkel, T., JHP. Eloff, dan MS. Olivier. An
tidak menghasilkan kualitas stego-image Overview of Image Steganography. Pretoria:
yang baik apabila ukuran m LSB nya Information and Computer Security Architecture
mendekati ukuran yang diperlukan untuk (ICSA) Research Group, Department of Computer
merepresentasikan sebuah piksel dalam Science, University of Pretoria.
sebuah citra.
4. Algoritma MARS memiliki performansi [PRO03] Provos Neils dan Honeyman Peter. Hide
yang baik karena dalam sistem gabungan ini and Seek: An Introduction to Steganography. 2003.
kontribusi waktu yang diberikan terhadap University of Michigan.
proses keseluruhan tidak signifikan/relatif
[ZHA07] Zhang Hong-Juan dan Tang Hong-Jun. A
lebih kecil dibanding proses-proses yang
Novel Image Steganography Algorithm Against
lain.
Statistical Analysis. 2007. Hangzhou: Institute of
5. Penentuan parameter m LSB, ukuran arsip
Intelligence and Software Technology, Hangzhou
pesan , dan ukuran cover-image akan
Dianzi University.
menentukan kualitas dari stego-image yang
dihasilkan. Apabila terdapat bintik-bintik
[KAT00] Katzenbeisser S dan Petitcolas F.
pada stego-image maka penentuan ketiga
Information Hiding Techniques for Steganography
parameter tersebut dapat diulang kembali
and Digital Watermarking. 2000. Norwood : Artech
untuk mendapat hasil yang baik.
House
----------------------- Page 7-----------------------
`