BAB 2 LANDASAN TEORI 2.1 Steganografi Steganografi adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya,
kriptografi
menyamarkan
arti
dari
suatu
pesan,
tapi
tidak
menyembunyikan bahwa ada suatu pesan. pesan steganografi muncul dengan bentuk lain seperti gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi. Kata steganografi pada awalnya berasal dari kata steganos, steganos sendiri sebenarnya merupakan kata dari bahasa Yunani. Lebih lengkapnya steganos memiliki arti penyamaran atau penyembunyian dan graphein atau graptos memiliki arti tulisan. Pengertian steganografi yang cukup sering digunakan dalam pembelajaran dengan metodologi sejarah adalah “menulis tulisan yang tersembunyi atau terselubung” (Prihanto, 2010). Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya, kebanyakan pesan disembunyikan dengan membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada kriptografi) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang digunakan. Steganografi sudah digunakan sejak dahulu kala sekitar 2500 tahun yang lalu untuk kepentingan politik, militer, diplomatik, serta untuk kepentingan pribadi sebagai alat. Teknik steganografi konvensional berusaha merahasiakan komunikasi dengan cara menyembunyikan pesan ataupun mengkamuflase pesan. Maka sesungguhnya prinsip
dasar
dalam
steganografi
lebih
dikonsentrasikan
pada
kerahasian
komunikasinya bukan pada datanya (Pakereng, 2010).
Universitas Sumatera Utara
Seiring perkembangan
teknologi
terutama
teknologi
komputasi
juga
bertambahnya kebutuhan dan keinginan dengan kontinuitas yang tinggi, steganografi merambah juga ke media digital. Ada dua proses utama dalam steganografi digital yaitu penyisipan (embedding/encoding) dan penguraian (extraction/decoding) pesan. Pesan dapat berupa plaintext, chipertext, citra, atau apapun yang dapat ditempelkan ke dalam bit-stream. Embedding merupakan proses menyisipkan pesan ke dalam berkas yang belum dimodifikasi, yang disebut media cover (cover object). Kemudian media cover dan pesan yang ditempelkan membuat media stego (stego object). Extraction adalah proses menguraikan pesan yang tersembunyi dalam media stego. Suatu password khusus (stego key) juga dapat digunakan secara tersembunyi, pada saat penguraian selanjutnya dari pesan. Ringkasnya, steganografi adalah teknik menanamkan embedded message pada suatu cover object, dimana hasilnya berupa stego object.
Adapun proses steganografi selengkapnya ditunjukkan pada Gambar 2.1.
Gambar 2.1 Proses Steganografi (Suryani, 2008) Pihak yang terkait dengan steganografi antara lain embeddor, extractor, dan stegoanalyst (Suryani, 2008). Embeddor adalah orang yang melakukan embedding dengan menggunakan aplikasi steganografi, extractor adalah orang yang melakukan extract stego image dengan menggunakan aplikasi steganografi. Sedangkan stegoanalyst adalah orang yang melakukan steganalisis. Steganalisis merupakan ilmu dan seni untuk mendeteksi pesan yang tersembunyi dalam steganografi seperti pada Gambar 2.2.
Universitas Sumatera Utara
Steganografi
Teknik
Linguistik
Steganografi
Steganografi
Open Codes
Semagrams
Virtual Semagrams
Text Semagrams
Jargon Codes
Coverd Ciphers
Gambar 2.2 Taksonomi Steganografi (Suryani, 2008) 1. Teknik Steganografi (Technical Steganography) Teknik ini menggunakan metode sains untuk menyembunyikan pesan. Contohnya adalah penyembunyian pesan dalam chip mikro. 2. Linguistk Steganografi (Linguistic Steganography) Teknik ini menyembunyikan pesan dalam cara yang tidak lazim. Teknik ini terbagi menjadi dua bagian yaitu Semagrams dan Open Codes. 3. Open Codes Teknik ini menyembunyikan pesan cara yang tidak umum namun tetap tidak mencurigakan. Teknik ini terbagi menjadi dua bagian yaitu Jargon Code dan Covered Ciphers. 4. Covered Ciphers Teknik ini menyembunyikan pesan dalam media pembawa sehingga pesan kemudian dapat diekstrak dari media pembawa tersebut oleh pihak yang mengetahui bagaimana pesan tersembunyi tersebut disembunyikan. Penilaian sebuah algoritma steganografi yang baik dapat dinilai dari beberapa faktor yaitu: 1. Imperceptibility Keberadaan pesan dalam media penampung tidak dapat dideteksi.
Universitas Sumatera Utara
2. Fidelity Mutu media penampung setelah ditambahkan pesan rahasia tidak jauh berbeda dengan mutu media penampung sebelum ditambahkan pesan. 3. Recovery Pesan rahasia yang telah disisipkan dalam media penampung harus dapat diungkap kembali. Hal ini merupakan syarat mutlak dalam sebuah algoritma steganografi, karena ada banyak cara penyisipan pesan yang tidak terdeteksi namun sulit dalam pembacaan kembali. 4. Robustness Pesan yang disembunyikan harus tahan terhadap berbagai operasi manipulasi yang dilakukan pada media penampung. Bila pada media penampung dilakukan operasioperasi manipulasi, maka pesan yang disembunyikan seharusnya tidak rusak (tetap valid jika diekstraksi kembali). Karakteristik steganografi yang baik adalah imperceptibility tinggi, fidelity tinggi, recovery maksimum dan robustness tinggi.
2.1.1 1.
Metode Steganografi
Least Significant Bit Insertion (LSB) Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya, pada berkas image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang menyusun file tersebut. Pada berkas bitmap 24 bit, setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian, pada setiap pixel berkas bitmap 24 bit kita dapat menyisipkan 3 bit data. Kekurangan dari LSB Insertion: Dapat diambil kesimpulan dari contoh 8 bit pixel, menggunakan LSB Insertion dapat secara drastis mengubah unsur pokok warna dari pixel. Ini dapat menunjukkan perbedaan yang nyata dari cover image menjadi stego image, sehingga tanda tersebut menunjukkan keadaan dari steganografi. Variasi warna kurang jelas dengan 24 bit image, bagaimanapun file tersebut sangatlah besar. Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan image, seperti cropping (kegagalan) dan compression (pemampatan). Keuntungan dari LSB Insertion : Keuntungan yang paling besar dari algoritma
Universitas Sumatera Utara
LSB ini adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software steganografi yang mendukung dengan bekerja di antara unsur pokok warna LSB melalui manipulasi pallete (lukisan) (Sutoyo, 2010). 2.
Algorithms and Transformation Algoritma compression adalah metode steganografi dengan menyembunyikan data dalam fungsi matematika. Dua fungsi tersebut adalah Discrete Cosine Transformation (DCT) dan Wavelet Transformation. Fungsi DCT dan Wavelet yaitu mentransformasi data dari satu tempat (domain) ke tempat (domain) yang lain. Fungsi DCT yaitu mentransformasi data dari tempat spatial (spatial domain) ke tempat frekuensi (frequency domain).
3.
Redundant Pattern Encoding Redundant Pattern Encoding adalah menggambar pesan kecil pada kebanyakan gambar. Keuntungan dari metode ini adalah dapat bertahan dari cropping (kegagalan). Kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar.
4.
Spread Spectrum method Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak (encrypted) melalui gambar (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses image.
2.2 Media Cover Media cover digunakan pada steganografi sebagai media untuk menampung pesan tersembunyi. Pesan yang disembunyikan tersebut dapat mempunyai hubungan atau bahkan tidak mempunyai hubungan sama sekali dengan media dimana pesan tersebut disisipkan (untuk kasus komunikasi rahasia) atau pesan dapat menyediakan info penting tentang media, seperti informasi autentifikasi, judul, tanggal dan waktu pembuatan, hak cipta, nomor seri kamera digital yang digunakan untuk mengambil gambar, informasi mengenai isi dan akses terhadap citra dan lain sebagainya (Binanto, 2010). Secara teori, semua berkas yang ada dalam komputer dapat digunakan sebagai media dalam steganografi, asalkan berkas tersebut mempunyai bit-bit data redundan
Universitas Sumatera Utara
yang dapat dimodifikasi. Beberapa contoh media cover yang digunakan dalam teknik steganografi antara lain adalah: 1. Teks Dalam
algoritma
steganografi
yang
menggunakan
teks
sebagai
media
penyisipannya, teks yang telah disisipi pesan rahasia tidak boleh mencurigakan untuk orang yang melihatnya. 2. Suara Format ini sering dipilih karena biasanya berkas dengan format ini berukuran relatif besar. Sehingga dapat menampung pesan rahasia dalam jumlah yang besar pula. 3. Citra Format ini paling sering digunakan, karena format ini merupakan salah satu format berkas yang sering dipertukarkan dalam dunia internet. Alasan lainnya adalah banyaknya tersedia algoritma steganografi untuk media penampung yang berupa citra. 4. Video Format ini merupakan format dengan ukuran berkas yang relatif sangat besar namun jarang digunakan karena ukurannya yang terlalu besar sehingga mengurangi kepraktisannya dan juga kurangnya algoritma yang mendukung format ini.
2.3
Citra Digital
Beberapa definisi citra digital menurut para ahli dipaparkan sebagai berikut: Menurut Sachs (2010, hal:1), citra digital merupakan suatu gambar yang tersusun dari piksel, dimana tiap pixel merepresentasikan warna (tingkat keabuan untuk gambar hitam putih) pada suatu titik gambar. Sedangkan menurut Fahmi (2007: hal 7), citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut dengan piksel (picture elements). Fahmi (2007, hal:7) menyatakan bahwa citra digital (diskrit) dihasilkan dari citra analog (kontinu) melalui digitalisasi. Digitalisasi citra analog terdiri atas penerokan (sampling) dan kuantisasi (quantization). Penerokan (sampling) adalah pembagian citra ke dalam elemen-elemen diskrit (piksel), sedangkan kuantisasi
Universitas Sumatera Utara
(quantization) adalah pemberian nilai intensitas warna pada setiap piksel dengan nilai yang berupa bilangan bulat.
Gambar 2.2 Citra Digital (Citra Bunga)
Agar dapat diolah dengan komputer digital, suatu citra harus fungsi kontinu menjadi nilai-nilai diskrit disebut pencitraan (imaging) atau digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital (Digital Image), dinyatakan sebagai kumpulan piksel dalam matrik dua dimensi. Pada umumnya citra digital berbentuk empat persegi panjang dan dimensi ukurannya dinyatakan tinggi dikalikan dengan lebar atu lebar dikalikan dengan panjang. Citra digital yang berukuran N x M lazim dinyatakan dengan matriks yang berukuran N baris dan M kolom seperti pada Gambar 2.3
f 0,0 f (1,0) f(x,y)= f (2,0) ... f (N - 1,0)
f (0,1) f (1,1)
... ...
f (2,1) ... f (N - 1,1)
... ... ...
f (0, M - 1) f (1, M - 1) f (2, M - 1) ................. (2.1) ... f (N - 1, M - 1)
Gambar 2.3 Representasi citra digital dalam matriks N x M (Putra, 2010) Warna digital adalah kombinasi dari tiga warna primer yaitu merah, hijau, dan biru (RGB). Setiap warna dapat dispesifikasikan sebagai triplet nilai intensitas RGB, dengan setiap intensitas berkisar antara 0 sampai 255, yaitu: : RGB (255, 0, 0)
……….………….………..………………………(2.2)
Green : RGB (0, 255, 0)
.………………….……………………….……… (2.3)
Blue
…..………………………………………………. (2.4)
Red
: RGB (0, 0, 255)
Universitas Sumatera Utara
Dari nilai triplet RGB persamaan (2) sampai (4) di atas dapat dikonversikan ke dalam nilai desimal seperti dibawah ini: Red
: 255*2560 + 0*2561 + 0*2562 = 255 + 0 + 0 = 255 ………..………...…(2.5)
Green : 0*2560 + 255*2561 + 0*2562 = 0 + 65,280 + 0 = 65,280 ………………(2.6) Blue
: 0*2560 + 0*2561 + 255*2562 = 0 + 0 + 16,711,680 = 16,711,680 ….…(2.7)
Rumus dasar mencari nilai RGB citra adalah: R = COLOR And RGB(255, 0, 0)
….……….…………………………….…. (2.8)
G = (COLOR And RGB(0, 255, 0)) / 256
.……….…………………….....… (2.9)
B = ((COLOR And RGB(0, 0, 255)) / 256) / 256 ….……….……………..…. (2.10) Dari persamaan (2.5) sampai (2.7) diatas, rumus RGB pada persamaan (2.8) sampai (2.10) menjadi: Nilai R = c and 255
…………………………………………............................ (2.11)
Nilai G = (c and 65,280)/256 ..………………...………………….……..…..….. (2.12) Nilai B = ((c and 16,711,680)/256)/256 ………………….....………………...... (2.13) Dimana c adalah nilai intensitas piksel citra. Ada beberapa format citra digital yang dijumpai, antara lain (Basuki, et al. 2005): 1. Bitmap (BMP) Format citra ini adalah yang paling umum dan merupakan format standard windows. Ukuran file-nya besar karena bisa mencapai ukuran megabyte. File ini merupakan format yang belum terkompresi dan menggunakan sistem warna RGB (Red, Green, Blue) di mana masing-masing warna pixel-nya terdiri dari 3 komponen R, G, dan B yang dicampur menjadi satu. File BMP dapat dibuka dengan berbagai macam software pembuka gambar seperti ACDSee, Paint, Irvan View dan lain-lain. File BMP tidak bisa (sangat jarang) digunakan di web (internet) karena ukurannya yang besar. Detail gambar BMP dapat dilihat pada Tabel 2.1 dan Tabel 2.1.
Universitas Sumatera Utara
Tabel 2.1 Bitmap Info Header Nama Field
Ukuran (Byte)
Keterangan
beSize
4
Memori Header
beWidth
2
Lebar Gambar
beHeight
2
Tinggi Gambar
bePlanes
2
Harus 1
beBitCount
2
Bits per pixel – 1,4,8 atau 24
Tabel 2.2 Bitmap Core Header Nama Field
Ukuran (Byte)
bfType
2
Keterangan Mengandung karakter “BM” yang mengidentifikasikan tipe file
2.
bfSize
4
Memori file
bfReserved1
2
Tidak dipergunakan
bfReserved2
2
Tidak dipergunakan
bfOffBits
4
Offset untuk memulai data pixel
Joint Photographic Expert Group (JPEG/JPG) Citra dengan format JPEG adalah yang paling terkenal sampai sekarang ini, karena berukuran kecil (hanya puluhan/ratusan KB saja) dan bersifat portable. Citra ini sering digunakan pada bidang fotografi untuk menyimpan file foto hasil perekaman analog to digital converter (ADC). Karena ukurannya kecil maka file ini banyak digunakan di Web (internet).
Format citra JPEG adalah suatu desain untuk mengkompresi citra baik graylevel maupun citra full-color. JPEG tidak hanya menangani data dalam bentuk citra, tetapi juga dapat berhubungan dengan gambar yang disebut dengan motion picture (MPEG). JPEG merupakan singkatan dari Joint Photographic Experts Group, merupakan suatu komite yang menyusun standar citra pada akhir tahun 80-an dan awal tahun 90-an. Kata “Joint” pada JPEG melambangkan status data di dalam kerja sama panitia ISO dan ITU_T. Format yang dihasilkan merupakan standar ISO IS10918. Format file ini dikembangkan oleh C-Cube Micro systems untuk memberikan
Universitas Sumatera Utara
sebuah metode yang efisien untuk menyimpan citra dengan jumlah warna yang sangat banyak seperti foto kamera. Perbedaan utama antara format JPEG dengan format citra yang lainnya adalah bahwa file JPEG menggunakan metode lossy untuk proses pemampatannya. Pemampatan secara lossy akan membuang sebagian data citra untuk memberikan hasil kompresi yang baik. Hasil file JPEG yang di-dekompres tidak begitu sesuai dengan citra aslinya, tetapi perbedaan ini sangat sulit dideteksi oleh mata manusia (Putra, 2010). 2.3.1 Jenis – jenis Citra Digital Ada banyak cara untuk menyimpan citra digital di dalam memori. Cara penyimpanan menentukan jenis citra digital yang terbentuk. Beberapa jenis citra digital yang sering digunakan adalah citra biner, citra grayscale dan citra warna. 1.
Citra Biner (Monokrom) Citra biner (monokrom) hanya memiliki 2 warna yaitu hitam dan putih. Dibutuhkan 1 bit di memori untuk menyimpan kedua warna ini. Gradasi warna : 0
2.
Bit 0
= warna hitam
Bit 1
= warna putih
1
Citra Grayscale (skala keabuan) Banyaknya warna tergantung pada jumlah bit yang disediakan di memori untuk menampung kebutuhan warna ini. Citra 2 bit mewakili 4 warna dengan gradasi warna berikut:
0
1
2
3
Citra 3 bit mewakili 8 warna dengan gradasi warna berikut :
0
1
2
3
4
5
6
7
Universitas Sumatera Utara
Semakin besar jumlah bit warna yang disediakan di memori, semakin halus gradasi warna citra yang ditampilkan di monitor. 3.
Citra Warna (True Color)
Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar (RGB = Red Green Blue). Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi sebanyak 255 warna. Berarti setiap piksel mempunyai kombinasi warna sebanyak 28 .28 .28 = 224 = 16 juta warna lebih. Itulah sebabnya format ini dinamakan true color karena mempunyai jumlah warna yang cukup besar sehingga bisa dikatakan hampir mencakup semua warna di alam. Penyimpanan citra true color di dalam memori berbeda dengan citra grayscale. Setiap piksel dari citra grayscale 256 gradasi warna diwakili oleh 1 byte. Sedangkan 1 piksel citra true color diwakili oleh 3 byte, dimana masing – masing byte merepresentasikan warna merah (red), hijau (green) dan biru (blue). Gambar 2.3 adalah contoh citra warna.
Gambar 2.3 Contoh citra warna
2.3.2 Format File Citra Bitmap Salah satu format file citra yang sering digunakan dalam pengolahan citra yaitu citra bitmap. Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar.
Universitas Sumatera Utara
Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untk gambar – gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital. Citra bitmap biasanya diperoleh dengan scanner, camera digital, video capture dan lain – lain. Terjemahan bebas bitmap adalah pemetaan bit. Artinya nilai intensitas piksel di dalam citra dipetakan ke sejumlah bit tertentu. Peta bit umumnya adalah 8, yang berarti setiap piksel panjangnya 8 bit. Delapan bit ini mempresentasikan nilai intensitas piksel. Dengan demikian ada sebanyak 28 =256 derajat keabuan, mulai dari 0 (00000000) sampai 255 (11111111). Setiap berkas bitmap terdiri atas header berkas, header bitmap, informasi palet dan data bitmap. Header adalah data yang terdapat pada awal bagian berkas citra. Terdapat tiga macam citra dalam format BMP, yaitu citra biner, citra berwarna dan citra hitam-putih (grayscale). Citra biner hanya memiliki dua nilai keabuan 0 dan 1. Oleh kerena itu 1 bit telah cukup untuk mempresentasikan nilai piksel. Citra berwarna adalah citra yang lebih umum. Warna yang terlihat di dalam citra bitmap merupakan kombinasi dari tiga komponen warna, yaitu : R (Red), G (Green) dan B (Blue). Kombinasi dari tiga warna RGB tersebut menghasilkan warna yang khas untuk piksel yang bersangkutan. Pada citra 256 warna, setiap piksel memiliki panjang 8-bit, akan tetapi komponen RGBnya disimpan dalam tabel RGB yang disebut palet.
2.4
Algoritma LSB +1 (Least Significant Bit +1)
Algoritma
LSB
memodifikasi
+1
LSB
merupakan file
metode
carrier/cover.
penyembunyian
Modifikasi
LSB
informasi
dengan
dilakukan
dengan
memodifikasi bit nomor 7 atau nomor 2 dari yang terakhir dalam satu byte data dengan bit informasi yang akan disembunyikan (Utami, 2009).
2.4.1
Metode Penyisipan LSB +1 (Least Significant Bit +1)
Metode penyisipan LSB +1 adalah penyisipan data pada setiap byte cover image pada bit yang paling kurang berarti (Least Significant Bit atau LSB) (Jajoo, 2011). Misalnya pada byte 00011001, maka bit LSB-nya adalah 0. Untuk melakukan penyisipan pesan, bit yang paling cocok untuk diganti dengan bit pesan adalah bit LSB, sebab pengubahan bit tersebut hanya akan mengubah nilai byte-nya menjadi satu lebih tinggi
Universitas Sumatera Utara
atau satu lebih rendah. Sebagai contoh, urutan bit berikut ini menggambarkan 3 pixel pada cover image 24-bit (Krisnawati, 2008). 00100111 00100111 11001000
11101001 11001000 11001000 11101001 00100111 11101001
Pesan yang akan disisipkan adalah karakter “A”, yang nilai biner-nya adalah 01000001, maka akan dihasilkan stego image dengan urutan bit sebagai berikut:
00100101 00100101 11001000
11101011 11001000 11001000 11101001 00100111 11101001
Ada dua jenis teknik yang dapat digunakan pada metode LSB, yaitu penyisipan pesan secara sekuensial dan secara acak. Sekuensial berarti pesan rahasia disisipkan secara berurutan dari data titik pertama yang ditemukan pada file gambar, yaitu titik pada sudut kanan bawah gambar. Sedangkan acak berarti penyisipan pesan rahasia dilakukan secara acak pada gambar, dengan masukan kata kunci (Laskar, 2013).
2.4.2
Metode Ekstraksi LSB +1 (Least Significant Bit +1)
Metode ekstraksi LSB +1 adalah pengambilan data penyisip dari setiap byte stego image pada bit LSB) (Jajoo, 2011). Misalnya pada byte 00100101, maka bit LSB-nya adalah 0.
00100101 00100101 11001000
11101011 11001000 11001000 11101001 00100111 11101001
Hasil pengambilan bit LSB di atas adalah 01000001, dan selanjutnya setiap 8 bit (1 byte) dikonversikan ke dalam ASCII menjadi karakter “A”. Demikian selanjutnya sampai seluruh byte citra habis diproses.
Universitas Sumatera Utara
2.5
Algoritma MLSB (Modified Least Significant Bit)
Modified Least Significant Bit (MLSB) atau modifikasi dari Algoritma LSB digunakan untuk meng-encode sebuah identitas ke dalam citra asli. MLSB menggunakan manipulasi beberapa tingkat bit-bit penyisip sebelum meng-encode pesan tersebut (Zaher. 2011). Modifikasi pesan dengan algoritma MLSB dimana bit-bit pesan yang seharusnya 1 karakter memiliki nilai 8 bit ASCII code akan dimodifikasi menjadi 5 bit. Pada algoritma ini karakter dan angka direpresentasikan dalam 5 bit yang kemudian akan disisipkan ke dalam citra asli dengan teknik LSB. Penyisipan dilakukan dengan proses-proses: 1. Proses mengubah data penyisip dengan kode ASCII. Misalnya pesan “STEGO with 05 bits” yang jika diubah ke biner membutuhkan memori sebesar 18 x 8 bit = 144 bit. Pada algoritma MLSB pesan di atas diubah menjadi ASCII (hex) menjadi: 53h, 54h, 45h, 47h, 4fh, 20h,77h, 69h,74h, 68h, 20h, 30h, 35h, 20h, 62h, 69h,74h,73h. Kemudian dilakukan normalisasi dengan tabel Control Symbol seperti Tabel 2.1.
Tabel 2.1 Control Symbol Hex Representation
Operation
1 Bh
Define Small Letter
1 Ch
Define Capital Letter
1 Dh
Define Space
1 Eh
Define Number
1 Fh
Define end of text
2. Baca data penyisip (ASCII) sampai tanda spasi (20h) yaitu 53, 54, 45, 47, 4f. 3. Semua nilai dikurangi dengan nilai terendah yaitu 40 menjadi 53-40= 13, 54-40= 14, 45-40= 05, 47-40 = 07, 4f-40 = f. 4. Data penyisip kelompok pertama adalah 1ch, 13h, 14h, 05h, 07h, 0f dimana 1ch adalah Control Symbol untuk huruf besar (capital). 5. Data penyisip kelompok ke dua adalah 77h, 69h,74h, 68h dikurangi dengan nilai terendah (60) menjadi 77-60= 17, 69-60= 09, 74-60= 14, 68-60= 08.
Universitas Sumatera Utara
6. Data kelompok ke dua ini digabung dengan kelompok pertama dan diberi nilai Control Symbol 1dh (spasi) dan 1bh (huruf kecil) menjadi 1dh, 1bh, 17h, 09h, 14h, 08h. 7. Data kelompok ketiga adalah: 30h, 35h dikurangi dengan nilai terendah menjadi: 30-30= 0, 35-30= 05. 8. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1dh (spasi), 1eh (nomor) menjadi 1dh, 1eh, 00h, 05h. 9. Data kelompok keempat adalah: 62h, 69h,74h,73h dikurangi dengan nilai terendah menjadi: 62-60= 02, 69-60= 09, 74-60= 14, 73-60= 13. 10. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1bh (huruf kecil), menjadi 1dh, 1bh, 02h, 09h, 14h, 13h dan akhir data (1fh). Jadi pesan menjadi: 1ch, 13h, 14h, 05h, 07h, 0fh, 1dh, 1bh, 17h, 09h, 14h, 08h, 1dh, 1eh, 00h, 05h, 1bh, 02h, 09h, 14h, 13h, 1fh. Pesan diatas membutuhkan 22 x 5 bit = 110 bit dan diubah menjadi biner menjadi: 11100, 10011, 10100, 00101, 00111, 01111, 11101, 11011, 10111, 01001, 10100, 01000, 11101, 11110, 00000, 00101, 11011, 00010, 01001, 10100, 10011, 11111. Pesan biner disisipkan ke dalam sebuah file cover seperti pada Tabel 2.2.
Tabel 2.2 Nilai Piksel Citra 52 08 56 3D 01 68
49 00 45 1D 7C 00
46 00 44 2A 01 01
46 57 15 00 12 11
28 41 2F 4D 45 05
Nilai piksel citra di atas dikonversikan ke dalam biner menjadi: 01010010 00001000 01010110 00111101 00000001 01101000
01001001 00000000 01000101 00011101 01111100 00000000
01000110 00000000 01000100 00101010 00000001 00000001
01000110 01010111 00010101 00000000 00010010 00010001
00101000 01000001 00101111 01001101 01000101 00000101
Universitas Sumatera Utara
2.5.1
Metode Penyisipan MLSB (Modified Least Significant Bit)
Metode penyisipan MLSB adalah penyisipan data pada setiap byte cover image pada bit yang paling kurang berarti (Least Significant Bit atau LSB) (Jajoo, 2011). Penyisipan dilakukan pada setiap byte pada nilai biner paling belakang seperti pada Tabel 2.3. Tabel 2.3 Nilai Biner Citra Hasil Penyisipan 01010011
01001001
01000111
01000110
00101000
00001001
00000000
00000000
01010111
01000001
01010111
01000100
01000101
00010100
00101110
00111101
00011100
00101011
00000000
01001100
00000001
01111101
00000001
00010011
01000101
01101000
00000000
00000001
00010001
00000101
Setelah penyisipan, representasi nilai piksel citra tersisip (grayscale) menjadi:
Tabel 2.4 Nilai Piksel Citra tersisip 53
49
47
46
28
09
00
00
57
41
57
44
45
14
2E
3D
1C
2B
00
4C
01
7D
01
13
45
68
00
01
11
05
Pada proses penyisipan dengan algoritma MLSB dilakukan dengan cara: 1. Input citra tersisip. 2. Setiap byte piksel citra diubah ke dalam bentuk biner. 3. Pisahkan 1 bit terakhir dari setiap byte piksel citra kemudian dikelompokkan menjadi 5 bit per blok. 4. Konversikan setiap blok ke dalam ASCII (hexadecimal). 5. Blok pertama dibandingkan dengan Control Symbol untuk mendefenisikan jenis karakter berikutnya
Universitas Sumatera Utara
-
Jika Control Symbol 1Bh maka setiap blok berikutnya yang bukan Control Symbol ditambah +60.
-
Jika Control Symbol 1Ch maka setiap blok berikutnya yang bukan Control Symbol ditambah +40.
-
Jika Control Symbol 1Eh maka setiap blok berikutnya yang bukan Control Symbol ditambah +30.
-
Jika Control Symbol 1Dh maka menyatakan spasi.
6. Langkah ke 3 sampai ke 5 diulangi sampai ditemukannya Control Symbol end of the text (1Fh). 7. Rekonstruksikan setiap blok data sebagai pesan rahasia.
2.5.2
Metode Ekstraksi MLSB (Modified Least Significant Bit)
Berikut contoh dari proses extraction MLSB pada citra tersisip (embed) dapat dilihat pada Tabel 2.5. Tabel 2.5 Piksel citra tersisip 01010011
01001001
01000111
01000110
00101000
00001001
00000000
00000000
01010111
01000001
01010111
01000100
01000101
00010100
00101110
00111101
00011100
00101011
00000000
01001100
00000001
01111101
00000001
00010011
01000101
01101000
00000000
00000001
00010001
00000101
1. Pisahkan 1 bit terakhir dari setiap byte piksel citra kemudian dikelompokkan menjadi 5 bit per blok seperti Tabel 2.6.
Tabel 2.6 Blok-blok pesan 11100
10011
10100
10100
11111
00111
2. Konversikan setiap blok ke dalam ASCII (hexadecimal) menjadi: 1ch, 13h, 14h, 05h, 07h, 0fh
Universitas Sumatera Utara
3. Blok pertama yaitu 1ch dibandingkan dengan Control Symbol yang merupakan menandakan huruf kapital maka setiap blok berikutnya yang bukan Control Symbol ditambah +40 menjadi : 53h, 54h, 45h, 47h, 4fh 4. Data yang terakhir inilah kemudian direkonstruksi sebagai teks penyisip (embed) menjadi : S T E G O.
2.6 Kontras Citra Kontras adalah tingkat penyebaran piksel-piksel ke dalam intensitas warna, ada tiga macam kontras, yaitu kontras rendah, kontras normal, dan kontras tinggi. Kontras juga dipahami sebagai rentang nilai intensitas efektif yang digunakan dalam mengingat citra, yang merupakan perbedaan antara citra dengan nilai piksel maksimum dan minimum. Sebuah citra penuh kontras menjadikan penggunaan efektif pada seluruh rentang yang tersedia pada nilai intensitas dari hitam ke putih. Peningkatan kontras dapat dilakukan dengan bermacam rumus, salah satunya ditunjukkan pada persamaan 2.1. Co = G (Ci – P) + P
…………………………(2.1)
Jika (x,y) adalah koordinat piksel dari citra, maka persamaannya menjadi: Co(x,y) = G( Ci(x,y) – P)+P ...................................... (2.2) Dimana : Ci adalah citra input, Co adalah citra output, G = Koefisien penguatan kontras, P = Nilai skala keabuan yang dipakai sebagai pusat pengontrasan, (x,y) = Koordinat piksel dari citra. Tingkat kontras citra dilakukan terhadap semua atau masing-masing elemen warna RGBnya.
2.6.1 Peregangan Kontras (Contrast Stretching) 1.
Citra Kontras-Rendah Citra Kontras-Rendah dicirikan dengan sebagian besar komposisi citranya adalah terang atau sebagian besar gelap. Tetapi, mungkin saja suatu citra tergolong Kontras-Rendah meskipun tidak terlalu terang atau tidak terlalu gelap bila semua
Universitas Sumatera Utara
pengelompokan nilai keabuan berada ditengah-tengah. Citra Kontras-Rendah dapat diperbaiki kualitasnya dengan operasi peregangan kontras. Melalui operasi ini, nilai-nilai keabuan pixel akan merentang dari0 sampai 255 ( pada citra 8-bit ).
2.
Citra Kontras-Bagus Citra Kontras-Bagus memperlihatkan jangkauan nilai keabuan yang lebar tanpa ada nilai keabuan yang mendominasi.
3.
Citra Kontras-Tinggi Citra Kontras-Tinggi memilki nilai jangkauan nilai keabuan yang lebar, tetapi terdapat area yang lebar yang didominasi oleh warna gelap dan area yang lebar yang didominasi oleh warna terang (Munir, 2004).
2.7
Mean Squared Error (MSE)
Mean Squared Error (MSE) digunakan untuk mengukur kinerja dari algoritma steganografi pada citra (Sutoyo, 2009). Citra asli dibandingkan dengan citra tersisip (stego image) dengan memeriksa selisih nilai. Perhitungan nilai MSE dari citra digital berukuran N x M piksel, dilakukan sesuai dengan rumus pada persamaan (1).
......... (1)
f(i,j)
: menyatakan nilai piksel citra yang asli.
f’(i,j) : merupakan nilai piksel citra hasil penyisipan. N.M
: dimensi citra (piksel)
Nilai MSE yang besar, menyatakan bahwa penyimpangan atau selisih antara citra hasil penyisipan dengan citra aslinya cukup besar.
2.8
Penelitian yang Relevan
Berikut ini beberapa penelitian yang berhubungan dengan Implementasi Algoritma Kombinasi Least Significant Bit +1 (LSB +1) dengan Modified Least Significant Bit (MLSB) pada Watermarking Citra:
Universitas Sumatera Utara
Tabel 7. Penelitian yang Relevan TAHUN 2009
JUDUL Pendekatan metode Least Bit Modification untuk merancang aplikasi Steganography pada file audio digital tidak terkompresi
PENELITI Utami, E.
HASIL PENELITIAN
2012
Aplikasi steganografi untuk menyembunyikan teks dalam Media image dengan menggunakan metode LSB
Asep Saefullah, Aplikasi steganografi ini Himawan, sangat bermanfaat Nazori Agani terutama dalam perlindungan hak cipta (copyright) sebuah image dan juga keamanan pada saat melakukan transfer /pengiriman data melalui jaringan internet. Ukuran semula pada image original dengan format .jpg akan mengalami kenaikan nilai ditambahkan pesan rahasia dengan menggunakan format .png. Hasil ekstrak image baik berupa teks, image, video dan audio akan terbuka begitu saja, sehingga untuk keamanan yang lebih baik maka disarankan dienkripsi kembali hasil extract tersebut.
1. Ukuran file audio yang sudah disisipkan informasi tidak mengalami perubahan. Dengan tidak berubahnya ukuran file tersebut maka kemungkinan besar orang lain tidak akan mengetahui bahwa ada informasi rahasia di dalam file tersebut. 2. File stego tidak dapat dideteksi secara kasat telinga karena penurunan kualitas suara yang terjadi sangat kecil. 3. Output dari program ini dapat tidak terdeteksi oleh software yang dapat mendeteksi file stego.
Universitas Sumatera Utara