BAB 2 LANDASAN TEORI 2.1 Steganografi Kata steganografi berasal dari bahasa yunani yang terdiri dari steganos (tersembunyi) graphen (menulis), sehingga bisa diartikan sebagai tulisan yang tersembunyi. Steganografi adalah ilmu yang mempelajari teknik penyembunyian pesan rahasia dalam pesan yang lainnya, sehingga orang tidak akan tahu bahwa terdapat pesan yang rahasia di dalam pesan yang mereka baca. Hampir semua jenis berkas dapat digunakan untuk steganografi, tetapi format berkas yang cocok untuk steganografi ini adalah yang memiliki Redudancy yang tinggi. Redudancy adalah jumlah bit berlebih dari sebuah objek yang menghasilkan akurasi jauh lebih besar dari yang kita butuhkan untuk penggunaan menampilkan objek. Watermaking merupakan suatu bentuk dari steganografi. Yang membedakan steganografi dengan watermaking, watermaking merupakan cara penyembunyian pesan ke dalam wadah penampung dan wadah penampung mampu menghadapi proses pengolahan sinyal digital namun tidak merusak wadah penampung sehingga seolaholah tidak ada perbedaan antara wadah penampung sebelum dan sesudah proses penyembunyian. Sedangkan steganografi memiliki prinsip dasar lebih mengkonsentrasikan pada kerahasian pesannya bukan pada keutuhan wadahnya. Ada dua proses utama dalam steganografi digital yaitu penyisipan (insertion/embeding) dan ekstraksi (extraction/decoding) pesan. Pesan (embed) dapat berupa plaintext, ciphertext, citra, atau apapun yang dapat ditempelkan ke dalam bitstream.
6 Embedding merupakan proses menyisipkan embed ke dalam berkas yang masih asli yang belum dimodifikasi, yang disebut media cover (cover object). Kemudian media cover dan embed yang ditempelkan membuat media stego (stego object). Extraction adalah proses menguraikan pesan yang tersembunyi dalam media stego. Ringkasnya, steganografi adalah teknik menanamkan embed message pada suatu cover object, dimana hasilnya berupa stego object. Gambar 2.1 Proses Steganografi Pihak yang terkait dengan steganografi antara lain embeddor, extractor, dan stegoanalyst. Embeddor adalah pelaku yang melakukan penyisipan (embedding),extractor adalah pelaku yang melakukan ekstraksipadastego object, danstegoanalyst adalah pelaku yang melakukan steganalisis. Steganalisis merupakan ilmu dan seni untuk mendeteksi embed yang tersembunyi dalam steganografi. Penilaian sebuah metode steganografi yang baik dapat dinilai dari beberapa faktor yaituimperceptibility, fidelity, recovery, dan robustness. Karakteristik metode steganografi yang baik adalah memiliki imperceptibility tinggi, fidelity tinggi, recovery maksimum dan robustness tinggi. 1. Imperceptibility Keberadaan embed dalam media penampung tidak dapat dideteksi. 2. Fidelity Mutu media penampung setelah ditambahkan embed tidak jauh berbeda dengan mutu media penampung sebelum ditambahkan embed. 3. Recovery
7 embed yang telah disisipkan dalam media penampung harus dapat diungkap kembali. Hal ini merupakan syarat mutlak dalam sebuah metode steganografi, karena ada banyak cara penyisipan embed yang tidak terdeteksi namun sulit dalam pembacaan kembali. 4. Robustness Embed yang disembunyikan harus tahan terhadap berbagai operasi manipulasi yang dilakukan pada media penampung. Bila pada media penampung dilakukan operasi-operasi manipulasi, maka embed yang disembunyikan seharusnya tidak rusak (embed masih utuh, tetap bisa diekstrak kembali). 2.2 Media Penampung (Cover Object) Cover object merupakan media untuk menampung embed pada steganografi. Suatu embed dapat mempunyai hubungan atau bahkan tidak mempunyai hubungan sama sekali dengan media penampung (untuk kasus komunikasi rahasia) atau embedjuga dapat berupa 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. Steganografi digital menggunakan media digital sebagai media penampung, seperti teks, citra, audio dan video. Semua berkas yang ada dalam komputer dapat digunakan sebagai media penampung, asalkan berkas tersebut mempunyai bit-bit data redudan yang dapat dimodifikasi. Hal ini juga berlaku untuk media penyisip (embed). Adapun jenis-jenis media penampung adalah: 1. Citra Format citra sangat sering digunakan di dalam teknik steganografi, karena citra merupakan format berkas yang sangat sering digunakan pada proses pertukaran data. Format citra bitmap true color atau BMP adalah salah satu jenis file citra yang sangat baik jika digunakan di dalam teknik steganografi, karena citra BMP merupakan citra asli yang belum mengalami perubahan (convert), sehingga citra BMP sangat kokoh jika dilakukan penyisipan pesan dan memiliki kapasitas yang banyak.
8 2. Teks Dalam metode steganografi yang menggunakan teks sebagai media penampung, teks yang telah disisipi embed tidak boleh mencurigakan untuk orang yang melihatnya. Contoh berkas yang berupa teks adalah file dengan format.txt,.doc,.docx, dan sebagainya. 3. Audio Format audio atau suarajuga sering dipilih karena berkas dengan format audio berukuran relatif besar sehingga dapat menampung embeddalam jumlah yang besar pula. 4. Video Format video memiliki 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 Pengertian Citra Digital Citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut pixel (picture elemen). Citra digital tersusun dalam bentuk raster (grid atau kisi). Setiap kotak yang terbentuk disebut pixel (picture element) dan memiliki koordinat (x,y). Pixel merupakan suatu elemen citra yang memiliki nilai yang menujukkan intensitas warna. Citra digital dapat didefenisikan sebagai Fungsi dua variabel f(x,y), dimana x dan y adalah koordinat spasial dan nilai f(x,y) merupakan intensitas citra suatu titik. Piksel(0,0) terletak pada sudut kiri atas pada citra, indeks x begerak ke kanan dan indeks y bergerak ke bawah. Konvensi ini dipakai merujuk pada cara penulisan larik yang digunakan dalam pemrograman komputer. Titik original (0,0) Gambar 2.2 Koordinat pada citra
9 Suatu citra digital diperoleh dari penangkapan kekuatan sinar yang dipantulkan oleh objek. Citra digital tersusun atas sejumlah berhingga elemen, masing-masing memiliki lokasi dan nilai/intensitas tertentu. Elemen-elemen ini disebut elemen gambar, elemen citra, pels, dan juga piksel yang dinyatakan dalam bilangan bulat. Tingkat ketajaman atau resolusi warna pada citra digital tergantung pada jumlah bit yang digunakan oleh komputer untuk merepresentasikan setiap pikseltersebut. Tipe yang sering digunakan untuk merepresentasikan citra digital adalah 8-bit citra (256 colors (0 untuk hitam - 255 untuk putih)), tetapi dengan kemajuan teknologi perangkat keras grafik, kemampuan tampilan citra digital di komputer hingga 32 bit (232 warna). Selain citra digital, juga terdapat jenis citra yang lain yakni citra analog. Citra analog adalah citra yang terdiri dari sinyal sinyal frekuensi elektromagnetis yang belum dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. Analog berhubungan dengan hal yang kontinu dalam satu dimensi, contohnya adalah bunyi diwakili dalam bentuk analog, yaitu suatu getaran gelombang udara yang kontinu dimana kekuatannya diwakili sebagai jarak gelombang. Hampir semua kejadian alam boleh diwakili sebagai perwakilan analog seperti bunyi, cahaya, air, elektrik, angin dan sebagainya. Citra digital dapat dibagi menjadi 3 macam berdasarkan warna-warna penyusunnya : 1. Citra biner (monochrome), atau disebut juga binary image, yaitu citra yang setiap pikselnya hanya memiliki kemungkinan dua warna, yaitu berwarna hitam (0) atau berwarna putih (1). Oleh karena itu, setiap piksel pada citra biner hanya membutuhkan media penyimpanan sebesar 1bit. 2. Citra grayscale (citra keabuan), citra ini terdiri atas warna abu-abu. Setiap piksel citra greyscale merepresentasikan derajat keabuan atau intensitas warna putih. Untuk pengubahan warna image menjadi greyscale dapat dilakukan dengan memberikan bobot untuk masing-masing warna dasar red green blue atau dengan membuat nilai rata-rata dari ketiga warna dasar tersebut. 3. Citra berwarna (true color), yaitu citra yang nilai pikselnya merepresentasikan warna tertentu. Setiap piksel pada citra berwarna memiliki warna yang merupakan kombinasi dari tiga warna dasar red green dan blue.setiap komponen warna memiliki intensitas sendiridengan nilai minimum 0 dan nilai maksimum
10 255 (8-bit). Hal ini menyebabkansetiap pixel pada citra RGB membutuhkan media penyimpanan 3 byte. Jumlahkemungkinan kombinasi warna citra RGB adalah = lebih dari 16 juta warna. 2.3.1 Format File Citra Digital Citra digital dapat disimpan dalam berbagai format. Format citra digital yang akan digunakan akan mempengaruhi kualitas dari gambar dan kompatibilitas dengan berbagai aplikasi. Misalnya format citra GIF, format ini hanya mendukung sejumlah warna sebanyak 256 (8 bit) saja, oleh sebab itu sangat tidak cocok untuk citra fotografi karena biasanya citra fotografi kaya akan warna. Saat ini tersedia banyak format grafik dan format baru tersebut yang sudah dikembangkan, diantaranya yang terkenal adalah BMP dan JPEG. 2.3.1.1 Format Data Bitmap Pada format bitmap, citra disimpan sebagai suatu matriks dimana masing-masing elemennya digunakan untuk menyimpan informasi warna untuk setiap piksel. Jumlah warna yang dapat disimpan ditentukan dengan satuan bit-per-piksel. Semakin besar ukuran bit-per-piksel dari suatu bitmap, semakin banyak pula jumlah warna yang dapat disimpan. Format bitmap ini sangat cocok digunakan untuk menyimpa citra seperti foto, lukisan, dan frame video karena memiliki banyak variasi dalam bentuk dan warna. Pada citra bitmap jumlah warna yang dapat disimpan ditentukan oleh banyaknya bit yang digunakan untuk menyimpan setiap titik dari bitmap yang menggunakan satuan bpp (bit per piksel). Dalam Windows dikenal bitmap dengan 1, 8, 16, dan 24 bit per piksel. Jumlah warna maksimum yang dapat disimpan dalam suatu bitmap adalah sebanyak 2 n, dimana n adalah banyaknya bit yang digunakan untuk menyimpan satu titik dari bitmap. Citra bitmap memiliki kelebihan untuk memanipulasiwarna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampumenunjukkan kehalusan gradiasi bayangan dan warna dari sebuah gambar. Olehkarena itu, bitmap merupakan media
11 elektronik yang paling tepat untuk gambar gambar dengan perpaduan gradiasi warna yang rumit,seperti foto, Kamera Digital,video capture, dan lain-lain. 2.4 Mode Warna Mode warna RGB menghasilkan warna menggunakan kombinasi dari tiga warna primer red (merah), green (hijau), blue (biru). RGB dimulai dengan warna hitam (ketiadaan semua warna) dan menambahkan merah, hijau, biru terang untuk membuat putih. Kuning diproduksi dengan mencampurkan merah, hijau. warna cyan dengan mencampurkan hijau dan biru. warna magenta dari kombinasi merah dan biru. Kombinasi warna RGB dapat dilihat pada Gambar 2.3 Gambar 2.3 Kombinasi Warna RGB Warna campuran (selain dari putih) dihasilkan dengan menambahkan warna komponen RGB individual dengan berbagai tingkat saturasi, dengan tingkatan mulai dari 0.0 hingga 1.0 (0 berarti tidak menggunakan warna tersebut; 1 berarti menggunakan warna tersebut pada saturasi penuh). Warna didefenisikan dengan memasukkan intensitas untuk setiap komponen dalam matriks. Tiap komponen memiliki matriksnya sendiri-sendiri dan matriks tersebut bisa dijumlahkan. Sebagai contoh, untuk menghasilkan merah saturasi sempurna, masukan (1,0,0) : 100% merah 0% hijau dan 0% biru. Pada saat ketiga komponen warna tersebut dikombinasikan dalam 100% saturasi (1,1,1) hasilnya adalah putih (seperti diperlihatkan berikut): Merah (1,0,0) + hijau (0,1,0) + Biru (0,0,1) = Putih (1,1,1)
12 2.5 Menghitung Nilai RGB Menghitung nilai RGB citra cover adalah sama dengan menghitung RGB citra embed, dimana setiap pikselnya mengandung 24-bit kandungan warna atau 8-bit untuk masing-masing warna dasar (R, G, dan B), dengan kisaran nilai kandungan antara 0 (00000000) sampai 255 (11111111) untuk tiap warna yang dapat ditulis sebagai berikut. Red: RGB (255, 0, 0)....... (2.1) Green: RGB (0, 255, 0)......... (2.2) Blue: RGB (0, 0, 255)...... (2.3) Dari nilai triplet RGB persamaan (2.1) sampai (2.3) di atas dapat dikonversikan ke dalam nilai desimal seperti dibawah ini: Red: 255*256 0 + 0*256 1 + 0*256 2 = 255 + 0 + 0 = 255..... (2.4) Green: 0*256 0 + 255*256 1 + 0*256 2 = 0 + 65,280 + 0 = 65,280... (2.5) Blue: 0*256 0 + 0*256 1 + 255*256 2 = 0 + 0 + 16,711,680 = 16,711,680... (2.6) Rumus dasar mencari nilai RGB citra adalah: R = COLOR And RGB(255, 0, 0)..... (2.7) G = (COLOR And RGB(0, 255, 0)) / 256......... (2.8) B = ((COLOR And RGB(0, 0, 255)) / 256) / 256.. (2.9) Dari persamaan (2.4) sampai (2.6) diatas, rumus RGB pada persamaan (2.7) sampai (2.9) menjadi: Nilai R = c and 255... (2.10) Nilai G = (c and65,280)/256.......... (2.11) Nilai B = ((c and16,711,680)/256)/256...... (2.12) 2.6 Least Significant Bit (LSB) Metode yang digunakan dalam merancang perangkat lunak ini adalah modifikasi dari metode Least Significant Bit (LSB). Oleh karena itu ada baiknya jika kita mengetahui cara kerja metode LSB. Cara kerja metode ini adalah dengan mengganti bit terakhir
13 setiap nilai piksel dengan bit-bit pesan rahasia (embed). Sebelum melakukan penyisipan embed ke dalam citra penampung, terlebih dahulu nilai piksel dari citra penampung dan embed harus diubah ke dalam biner. 2.7 Least Significant Bit (LSB) dengan Persamaan kuadrat. Penyisipan pesan dengan Metode LSB dengan Persamaan kuadrat dilakukan dengan menyisipkan 1 bit embed ke dalam 1 byte LSB citra penampung (citra cover). Namun sebelum data embed disisipkan, terlebih dahulu dilakukan modifikasi dengan menambahkan kunci pada proses penyisipannya yaitu Persamaan kuadrat. Bentuk umum dari Persamaan kuadrat adalah: f(x) = ax 2 + bx + c Jika suatu fungsi f pada himpunan bilangan real ditentukan oleh f(x)= dengan a,b,c Є R dan a 0, maka fungsi tersebut dinamakan persamaan kuadrat. Grafik persamaan kuadrat berupa parabola. Gambar 2.4 Contoh Grafik FungsiKuadrat Sifat-sifat yang dikembangkan oleh persamaan kuadrat f(x) = ax 2 + bx + c adalah sebagai berikut: 1. Sumbu simetri dan titik puncak atau sering disebut dengan titik ekstrim. 2. Memiliki titik puncak atau sering disebut dengan titik ekstrim
14 3. Jika a>0 maka kurva akan terbuka keatas a. X 1 X 2 b. X 1 = X 2 c. Imajiner Gambar 2.5 Persamaan kuadrat dengan Nilai a>0 4. Jika a<0 maka kurva akan terbuka kebawah a. X 1 X 2 b. X 1 = X 2 c. Imajiner Gambar 2.5 Persamaan kuadrat dengan Nilai a<0 Ket: Jika D = b 2 4ac adalah deskriminan (pembeda) akar akar persamaan, maka persamaan kuadrat dapat dibedakan menjadi: a. D > 0 Persamaan kuadrat mempunyai dua akar real berbeda (X 1 X 2 ) b. D = 0 Persamaan kuadrat mempunyai dua akar real yang sama (X 1 = X 2 )
15 c. D < 0 Persamaan kuadrat mempunyai dua akar yang tidak real ( imajiner) 5. Didalam proses perhitungan grafik persamaan kuadrat setiap titik potong disebut dengan dominan. Titik pootng sumbu x diperoleh jika f(x)= 0, sehingga ada atau tidaknya titik potong terhadap sumbu x, tergantung pada besarnya diskriminan (D= b 2-4ac) Metode LSB menggunakan Persamaan kuadrat dapat disebut juga dengan kombinasi antara Kriptografi dan Steganografi, karena menggunakan private key pada proses penyisipannya. Setiap aspek yang memiliki nilai Confidensiality dapat disebut dengan kriptografi. Confidensiality adalah setiap objek yang tidak untuk diumbar atau dibocorkan kepada subjek yang seharusnya tidak berhak untuk mengetahuinya. 2.8 Perhitungan Fidelity Salah satu kriteria metode steganografi yang baik adalah dengan terpenuhinya fidelity. Pengukuran fidelitydapat diketahui dengan menghitung nilai Mean Squared Error (MSE) merupakan nilai rata-rata kuadrat dari error citra. Nilai MSE menunjukkan perbandingan piksel yang rusak dengan piksel aslinya. Semakin besar nilai MSE, maka semakin besar kerusakan citra hasil pengolahan dan sebaliknya, semakin kecil nilai MSE maka nilai piksel hasil pengolahan makin mendekati citra aslinya.