BAB 2 TINJAUAN PUSTAKA
2.1. Steganografi Steganografi
berasal
dari
bahasa
Yunani
yaitu
Steganós
yang
artinya
menyembunyikan dan Graptos yang artinya tulisan sehingga secara keseluruhan steganografi ialah tulisan yang disembunyikan (Alatas, 2009). Secara umum steganografi ialah ilmu dan seni menyembunyikan pesan rahasia agar tidak bisa dideteksi oleh indera manusia sehingga tidak diketahui oleh orang lain. Menurut Alatas (2009), steganografi sudah dikenal oleh bangsa Yunani yang digunakan oleh Herodatus, penguasa Yunani, yang mengirimkan pesan rahasia melalui prajurit atau kepala budak dengan membotaki kepala budak, lalu menuliskan pesan dikepalanya. Ketika rambut budak tumbuh, budak tersebut akan diutus untuk menyampaikan pesan. Pada bangsa romawi, steganografi dikenal dengan tinta taktampak (invisible ink). Tinta tersebut digunakan untuk menuliskan pesan rahasia yang dituliskan pada kertas. Tinta ini terbuat dari campuran sari buah, sus, dan cuka. Untuk melihat pesan tersebut, kertas yang berisi pesan harus dipanaskan. Untuk melakukan steganografi diperlukan data yang mau disembunyikan dan media untuk penyisipan datanya. Media penyisipannya dapat berupa teks, suara, gambar dan video (munir, 2004). Pada teks, data disisipkan pada teks menggunakan salah satu algoritma steganografi sehingga tidak terlihat ada pesan didalamnya. Pada suara, data disisipkan melalui frekuensi suara mengikuti media suara yang digunakan dan karena ukuran format pada suara yang relatif besar sehingga memungkinkan untuk menyembunyikan data dengan ukuran besar juga. Pada gambar, data disisipkan kedalam gambar.
Universitas Sumatera Utara
5
Media penyisipan ini yang biasanya digunakan oleh pengguna internet untuk menyembunyikan data dengan algoritma yang berbeda-beda pula. Proses penyisipan dan ekstraksi pesan pada gambar dapat dilihat pada gambar 2.1. Pengirim
Data Penyisipan Data
Media yang Telah Disisipi Data
Ekstraksi
Media yang Telah Disisipi Data
Media
Data
Media Penerima
Gambar 2.1 Diagram sistem steganografi (munir, 2004) Hasil gambar yang telah disembunyikan dengan gambar aslinya tidak jauh berbeda sehingga tidak akan membuat orang menduga ada data yang disembunyikan didalam gambar tersebut. Begitu juga pada video, data disembunyikan pada video namun jarang digunakan karena format data yang terlalu besar (Alatas, 2009).
Capacity
Robustness
Transparency
Gambar 2.2 Parameter tradeoff steganografi (Gutub et al, 2008) Berdasarkan pada gambar 2.2 parameter steganografi menurut gutub et al (2008) adalah:
Universitas Sumatera Utara
6
1. Capacity (Kapasitas) Banyaknya data yang dapat disisipkan tanpa mengubah cover medium secara signifikan. 2. Robustness (Ketahanan) Daya tahan terhadap modifikasi atau kerusakan pada data yang tidak terlihat (data yang disisipi). 3. Invisibility (Security or Perceptual Transparency) Proses penyisipan pesan yang dilakukan tidak boleh menimbulkan kecurigaan dari orang yang tidak berkepentingan. 2.2 Warna Digital Menurut Ahmad (2005), warna tidak memiliki bentuk fisik yang nyata. Warna tidak lebih dari sekedar respon pshyco psychological dari manusia untuk intensitas penyinaran yang berbeda. Banyak ilmu pengetahuan yang menyatakan bahwa warna didasarkan pada karakteristik sensor dari mata. Akan tetapi kemampuan mata manusia terbatas, yaitu hanya mampu menangkap sejumlah cahaya dengan panjang gelombang tertentu, yang oleh karenanya disebut dengan istilah cahaya atau gelombang tampak. Menurut Mulyanta (2006), secara garis besar, warna terdiri dari 3 warna aditif, yaitu merah, hijau dan biru. Ketiga warna dapat membentuk warna lain yang disebut warna subtraktif, yaitu warna cyan, magenta, dan kuning. 1. Warna Aditif (RGB) Warna Aditif adalah suatu warna yang dibentuk dengan mengkombinasikan 3 warna pokok yaitu merah (red), hijau (green) dan biru (blue). Layar monitor komputer biasanya menggunakan sistem warna aditif. Monitor terdiri dari warna piksel-piksel yang muncul dari kombinasi ketiga warna pokok tersebut dengan berbagai variasi kecerahan, sehingga menghasilkan warna saat ditangkap oleh mata manusia. Warna aditif ini juga yang diterapkan pada televisi/video. 2. Warna Subtraktif (CMYK) Warna subtraktif adalah pembentukan suatu warna yang dihasilkan dari pantulan cahaya dari tinta atau pigmen yang digunakan pada sistem. Warna subtraktif ini terdiri dari warna cyan, magenta, yellow dan black yang biasanya digunakan pada mesin cetak.
Universitas Sumatera Utara
7
2.3 Format Penyimpanan File Gambar Format gambar yang digunakan untuk menyisipkan pesan Bitmap (BMP), Joint Photographic Experts Group (JPEG) dan Portable Network Graphics (PNG). 2.3.1 Bitmap (BMP) Bitmap merupakan format baku citra pada sistem operasi windows dan IBM OS/2. Citra berformat BMP merupakan citra yang tidak terkompresi, sehingga pada umumnya citra berformat BMP mempunyai ukuran yang relatif lebih besar dibandingkan dengan format citra lainnya. Intensitas pixel dari citra berformat BMP dipetakan ke sejumlah bit tertentu. Panjang setiap pixel pada bitmap yaitu 4 bit, 8 bit, sampai 24 bit yang merepresentasikan nilai intensitas pixel. Dengan demikian ada sebanyak 28 = 256 derajat keabuan, mulai dari 0 sampai 255. 2.3.2 Joint Photographic Experts Group (JPEG) Joint Photographic Experts Group (JPEG) adalah sebuah format gambar yang berguna membuat gambar jenis fotografi berkualitas tinggi dengan ukuran gambar yang kecil. JPEG dikembangkan oleh Joint Photographic Expert Group pada tahun 1980. Ukuran gambar yang dihasilkan bisa dalam ukuran kecil karena gambarnyanya telah terkompresi (dimampatkan). Oleh karena itu, gambar berformat JPEG ukurannya lebih kecil dari gambar berformat bitmap. Kompresi gambar JPEG sangat efisien dan selalu menyimpan gambar dalam kategori warna 24 bit namun bersifat lossy, maksudnya kualitas gambar akan berkurang bila tingkat kompresi semakin tinggi. 2.3.3 Portable Network Graphics (PNG) PNG atau Portable Network Graphics adalah salah satu format penyimpanan citra yang menggunakan kompresi lossless, yaitu kompresi yang tidak menghilangkan informasi citra digital. PNG dimaksudkan untuk menggantikan Graphic Interchange Format (GIF) untuk diimplementasikan pada website. File PNG terbagi atas PNG-8 dan PNG-24. PNG-8 dapat mengkompresi gambar dengan ukuran file lebih kecil daripada GIF. Sementara PNG-24 menyimpan file dengan ukuran yang lebih besar. PNG-24 biasa digunakan untuk gambar foto ataupun bergradasi, karena gambar yang dihasilkan akan lebih tajam. Kelebihan lainnya, PNG mendukung gambar transparansi.
Universitas Sumatera Utara
8
2.4. Add-ons pada Email Client Mozilla Thunderbird Add-ons merupakan fitur yang digunakan untuk meningkatkan dan menyesuaikan aplikasi berbasis Mozilla. Add-ons bisa digunakan oleh seluruh user mozilla. Add-ons merupakan bagian dari browser extention yang dapat memodifikasi tampilan web browser. Dalam hal ini, add-ons dibuat pada email client mozilla thunderbird. Mozilla thunderbird merupakan email client yang dikembangkan oleh mozilla foundation dan bersifat open sources (Barus, 2012). Sistem penyembunyian pesan pada gambar dengan Pixel Indicator Technique (PIT) dan Pseudo Random Number Generator (PRNG) dibuat dalam bentuk add-ons. Add-ons tersebut diinstal didalam email client mozilla thunderbird agar pesan rahasia yang mau dikirim melalui email ini bisa disisipkan terlebih dahulu. Pihak penerima juga bisa mengekstrak pesan yang disisipi dengan menginstal add-ons ini pada mozilla thunderbird. 2.5. Pseudo Random Number Generator (PRNG) Pseudo random number generator (PRNG) adalah sebuah fungsi matematika yang menghasilkan bilangan acak (Manchanda, 2010). PRNG digunakan untuk mengacak channel pada setiap pixel gambar akan disisipi pesan dengan metode PIT. PRNG yang digunakan adalah linear congruential method. Linear Congruential Method adalah Metode pembangkit bilangan acak yang dinyatakan dengan rumus dibawah ini : Xi+1 = f(xi, ,xi-1,..,xi-n+1 )(mod m) = (a1xi + a2xi-1 + … + a nxi-n+1 + c) (mod m) Sehingga : Xi+1 = (a1xi + c) (mod m)
(2.1)
Dimana : m = modulus, 0<m a = multiplier, 0 < a < m c = increment,0 ≤ c < m Xi = start value atau seed, 0 ≤ Xi< m Proses kerja linear congruential method dengan menentukan bilangan modulo (m) yang telah ditetapkan. Nilai a, xi, dan c akan diperoleh dari bilangan biner panjang
Universitas Sumatera Utara
9
pesan yang telah di XOR. Bilangan biner terdiri dari 8 bit sedangkan ada 3 variabel yang harus diberi nilai pada persamaan 2.1. Agar setiap variable memiliki banyak bit yang sama untuk nilainya, maka ditambahkan bit ‘0’ pada bilangan biner tersebut. Jadi masing-masing nilai variable terdiri dari 3 bit dari bilangan biner tersebut. Bit tersebut dikonversikan ke bilangan desimal. 2.6. Pixel Indicator Technique (PIT) Pixel Indicator Technique adalah teknik steganografi berdasarkan gambar yang menggunakan dua bit tidak signifikan dari salah satu channel warna tertentu yang digunakan untuk mendeteksi keberadaan data yang disembunyikan pada gambar. PIT merupakan pengembangan dari metode Least Significant Bit (LSB) dan Stego Color Cycle (SCC). LSB adalah pendekatan umum dan sederhana untuk menanamkan informasi dalam file gambar (Joshi et al, 2013). Cara kerja teknik steganografi ini adalah mengganti bit paling tidak signifikan atau bit akhir dengan bit pesan (informasi) yang akan disisipkan pada gambar sebanyak 1 bit. Karena hanya bit yang tidak signifikan yang disisipi pesan, maka perubahan pada gambar stego tidak kelihatan. Dengan kata lain, secara kasat mata tidak tampak perbedaan gambar asli (cover) dengan gambar stego. Menurut joshi (2013), tipe terbaik dari file gambar untuk disisipkan pesan kedalamnya adalah 24 bit gambar bitmap. Sebuah gambar dengan kualitas dan resolusi yang tinggi lebih mudah untuk disisipkan pesan ke dalam gambar. Pada 24 bit bisa disisipkan 3 bit pada 1 pixel dengan menyisipkan 1 bit pada setiap channel warna Red, Green dan Blue. Teknik SCC merupakan pengembangan lebih lanjut, dengan menggunakan saluran warna sebagai tempat penyimpan pesan rahasia. Saluran warna tersebut dirotasikan secara berkala untuk setiap bit berdasarkan suatu pola yang telah ditentukan (Cahyo, 2009). Maksudnya jika bit pertama pesan disisip kedalam saluran warna merah, maka bit berikutnya disisp ke dalam saluran warna hijau dan bit selanjutnya disisip kedalam saluran warna biru. Saluran warna yang digunakan sifatnya rotasi. Jika saluran warna dimulai dari merah, maka selanjutnya hijau dan biru. Teknik indikator pixel ini diusulkan digunakan pada gambar format RGB (Red, Green, Blue). Teknik ini menggunakan setidaknya dua bit tidak signifikan dari salah
Universitas Sumatera Utara
10
satu channel merah, hijau atau biru untuk disisipkan pesan dimana channel tersebut terpilih berdasarkan bit akhir indikator. Bit indikator ditetapkan secara acak (berdasarkan sifat gambar) dalam channel. Warna indikator dipilih dari panjang pesan. Gambar 2.3 merupakan flowchart penyisipan dari Pixel Indicator Technique. Simpan panjang pesan ke dalam 8 byte pada baris pertama gambar dan dalam variabel ukuran gambar yang tersisa (RMS)
Dimulai dari baris kedua
Panjang pesan yang akan disisipi
Gambar yang akan disisipi pesan
Pilih channel indikator dari channel RGB
Cek 2 bit akhir dari channel indikator
Jika bit akhir bernilai ‘0 0’
yes
Tidak ada perubahan Lanjut ke pixel berikutnya
no
Jika bit akhir bernilai ‘0 1’
yes
Simpan 2 bit data ke 2 bit akhir dari channel 1 RMS = RMS – 2 Lanjut ke pixel berikutnya
no
yes
Jika bit akhir bernilai ‘1 0’
yes
Simpan 2 bit data ke 2 bit akhir dari channel 2 RMS = RMS – 2 Lanjut ke pixel berikutnya
no
Jika bit akhir bernilai ‘1 1’
yes
Jika sisa pesan >0
Simpan 2 bit data ke 2 bit akhir dari channel 1 dan channel 2 RMS = RMS – 4 Lanjut ke pixel berikutnya
no end
Gambar 2.3. Flowchart penyembunyian pesan PIT (Gutub et al, 2008) Tabel 2.1 menunjukkan hubungan antara indikator dan data yang tersembunyi di dalam channel lainnya.
Universitas Sumatera Utara
Start
11
Tabel 2.1 Indicator value based Indicator Channel
Channel 1
Channel 2
00
No hidden data
No hidden data
01
No hidden data
2 bits of hidden data
10
2 bits of hidden data
No hidden data
11
2 bits of hidden data
2 bits of hidden data
Untuk meningkatkan keamanan, channel indikator tidak tetap. Indikator-indikator yang dipilih berdasarkan urutan. Pixel pertama Merah adalah indikator, sedangkan Hijau adalah channel 1 dan Biru adalah channel 2. Dalam pixel kedua, Hijau adalah indikator, sedangkan Merah adalah channel 1 dan Biru adalah channel 2. Dalam pixel ketiga Biru adalah indikator, sementara Merah adalah channel 1 dan Hijau adalah channel 2 (Gutub et al, 2008). Kriteria penentuan indikator didasarkan pada panjang pesan yang akan disembunyikan. Apabila panjang pesan menghasilkan nilai bilangan prima maka indikator yang digunakan Blue (B), apabila bilangan genap maka indikatornya warna Red (R), selain itu indikatornya menggunakan warna Green (G). Hal tersebut dapat dilihat pada tabel 2.2. Tabel 2.2 Indicator channel selection criteria Type of Length (N) I Level Selection Select II Level Selection Binary N of secret message
Indicator Channel, First Parity-Bit element of sequence
Odd Parity
Even Parity
Even
R
GB
BG
Prime
B
RG
GR
Else
G
RB
BR
Kelebihan algoritma ini adalah perubahan warna yang terjadi tidak terlalu signifikan dan lebih sulit ditentukan di pixel mana terdapat pesan yang disembunyikan karena tidak seperti Least Signiifikan Bit (LSB) dimana setiap pixel pada gambar pasti disembunyikan 1 bit dari pesan yang disembunyikan. Orang lain yang ingin mengetahui isi pesan tersebut juga harus mengetahui warna indikator apa yang digunakan di setiap pixel yang terdapat bit yang berasal dari pesan yang disembunyikan.
Universitas Sumatera Utara
12
Kekurangan algoritma ini adalah tidak semua pixel bisa disisipkan pesan karena apabila nilai indicatornya bernilai 0 maka tidak ada pesan yang bisa disisipkan didalam pixel gambar sesuai dengan tabel 2.1. 2.7. Peak Signal to Noise Ratio (PSNR) Peak Signal to Noise Ratio (PSNR) adalah perbandingan antara nilai maksimum dari sinyal yang diukur dengan besarnya derau yang berpengaruh pada sinyal tersebut dengan satuan desibel. PSNR digunakan untuk mengetahui perbandingan kualitas citra sebelum dan sesudah disisipkan pesan. Untuk menentukan PSNR, tentukan nilai ratarata kuadrat dari error (MSE - Mean Square Error) terlebih dahulu. Perhitungan MSE adalah sebagai berikut : 𝑀𝑆𝐸 = √
1 3𝑀𝑁
𝑁 3 ∑𝑀 𝑦=1 ∑𝑥=1 ∑𝑖=1[𝐼′(𝑥, 𝑦)𝑖 – 𝐼 (𝑥, 𝑦)𝑖 ]
2
(2.2)
Dimana : MSE = Nilai Mean Square Error dari citra tersebut M = panjang citra tersebut (dalam pixel) N = lebar citra tersebut (dalam pixel) (x,y) = koordinat masing-masing pixel I = nilai bit citra pada koordinat x,y pada gambar asli I’ = nilai bit citra pada koordinat x,y pada gambar stego i = index matrix (Red = 1, Green = 2, Blue = 3) Sementara nilai PSNR dihitung dari kuadrat nilai maksimum sinyal dibagi dengan MSE. Apabila diinginkan PSNR dalam desibel, maka nilai PSNR akan menjadi sebagai berikut : 𝑀𝐴𝑋𝑖2
𝑃𝑆𝑁𝑅 = 10 𝑥 log (
𝑀𝑆𝐸
) = 20 𝑥 𝑙𝑜𝑔 (
𝑀𝐴𝑋𝑖 𝑀𝑆𝐸
)
(2.3)
Dimana : PSNR = nilai PSNR citra (dalam dB)
Universitas Sumatera Utara
13
𝑀𝐴𝑋𝑖 = nilai maksimum pixel
MSE = nilai MSE 2.8. Penelitian Terdahulu Penelitian mengenai metode PIT dan fungsi acak sudah dilakukan oleh beberapa peneliti sebelumnya. Beberapa penelitian tersebut dapat dilihat pada table 2.3 berikut : Tabel 2.3 Penelitian terdahulu No Judul Peneliti 1 Pixel Indicator Gutub et High Capacity al (2008) Technique for RGB Image Based Steganography
Kelebihan Pengenalan teknik baru yang merupakan perkembangan dari LSB dan SCC dengan hasil kapasitas lebih besar dari teknik lama dan keamanan menjanjikan karena perubahan yang tidak tampak Penelitian ini membandingkan PIT dengan SCC 2 bit dan 4 bit dengan hasil kapasitas yang lebih besar untuk tingkat keamanan yang sama
2
Pixel Indicator Gutub Technique for (2010) RGB Image Steganography
3
Histogram Meiamai Teknik histogram Technique with et al dalam penyembunyian Pixel Indicator (2013) data membuat channel for High Fidelity pixel indicator lebih Steganography fleksibel dan efisien dan hasil MSE membuat gambar asli dengan gambar stego sulit dibedakan
Kekurangan Ketahanan tidak dibahas dalam penelitian ini
Keamanan (perceptual transparency) dengan menyisipkan lebih dari 2 bit tidak direkomendasikan dan PIT masih bisa dilakukan perbaikan lebih lanjut
Universitas Sumatera Utara
14
Tabel 2.3 Penelitian Terdahulu (Lanjutan) No Judul Peneliti 4 Pengembangan Andika, Random Number 2012 Generator dengan Video dan Suara
5
Perancangan Add Barus, On Keamanan 2012 E-mail Mozilla Thunderbird dengan Algoritma Kriptografi XOR dan Three Pass Protocol serta Kompresi Lempel Ziv Welch
Kelebihan Dengan menggunakan tes uji statistik NIST, didapatkan bahwa algoritma pembangkitan bilangan acak telah mencukupi kriteria keacakan bilangan acak dengan melewati pengujian untuk berbagai kriteria keacakan. Digunakan sumber luar video dan suara sebagai seed dan sumber keacakan. Kombinasi algoritma kriptografi XOR, Pembangkit kunci Linear Congruential Generator, Kompresi data Lempel Ziv Welch (LZW) dan base64 encoding dapat diterapkan menggunakan Three Pass Protocol. Berdasarkan pengujian diperoleh bahwa kompresi data LZW menghasilkan rasio kompresi terkecil 47.212 % dengan panjang dictionary 13 bit.
Kekurangan Pada penggunaannya, jika suara dan video jadi sumber keacakan diperlukan proses tambahan karena ada keadaan dimana bit-bit dari suara dan video yang monoton
Implementasi XOR dengan Three Pass Protocol memiliki kelemahan, yaitu sangat rentan terhadap serangan jenis chipertext only attack selama pesan dikirimkan mengikuti mekanisme yang terdapat pada Three Pass Protocol.
Universitas Sumatera Utara