BAB II TINJAUAN PUSTAKA
2.1 Penelitian Terdahulu Sebelumnnya
penelitian ini dilakukan oleh
Arif,2008
yang
dilakukan untuk mencoba membuat perangkat lunak penyembunyian gambar ke gambar dengan metode 4 least Signnificant bit encoding. Dari penelitian sebelumnya penulis ingin membangun aplikasi dengan menyisipkan
pesan
rahasia
kedalam
gambar
serta
membatasi
penggunaan aplikasi tersebut sehingga hanya sedikit orang yang dapat menggunakan. Hal ini dimaksudkan agar pesan rahasia yang di sisipkan hanya diketahui oleh orang-orang yang memiliki akses untuk aplikasi tersebut.
2.2 Tinjauan Pustaka Dasar dari embbeding pesan rahasia kedalam data digital adalah dengan adanya penyatuan dari dua file yaitu file gambar asli yang belum dimodifkasi yang nantinya akan digunakkan sebagai media penyimpangan file rahasia atau dalam kata lain diartikan sebagai cover image
dan
semuah
file
pesan.
File
pesan
dapat
berupa
plaintext,chipertext, gambar lain atau sesuatu yang dapat dikonversikan kedalam bit-steam.(Johnson & Joodia 1998). Cover image adalah istilah yang digunakan untuk media gambar sebagai citra atau media untuk menyembunyikan informasi agak tidak diketahu oleh orang lain. Plain Text adalah teks yang diencode dalam format ASCII. Plain text tidak memiliki format dan informasi struktur seperti ukuran dan tipe font, warna, atau layout. Plain text biasanya digunakan antar6
7
komputer yang tidak memiliki kesepakatan untuk saling bertukar informasi format dan layout teks. Ciphertext : ciphertext adalah keluaran algoritma enkripsi. ciphertext dapat dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan ciphertext yang terlihat acak. 2.3 Definisi Steganography Steganografi menyembunyikan
(steganography) pesan
rahasia
di
adalah dalam
ilmu
dan
seni
pesan lain sehingga
keberadaan pesan rahasia tersebut tidak dapat diketahui. Steganografi berasal dari Bahasa Yunani, yaitu “steganos” yang artinya “tulisan tersembunyi (covered writing)”. Steganografi termasuk ke dalam security through obscurity. Steganografi biasa digunakan oleh teroris, intelijen, atau militer dalam menyampaikan pesan sehingga tidak diketahui orang lain. Steganografi membutuhkan dua poperti yaitu media penampung dan pesan rahasia. Media penampung yang umum digunakan adalah gambar, suara, video atau teks. Pesan yang disembunyikan dapat berupa sebuah artikel, gambar, daftar barang, kode program atau pesan lain. Penggunaan
steganografi
antara
lain
bertujuan
untuk
menyamarkan eksistensi (keberadaan) data rahasia sehingga sulit dideteksi dan melidungi hak cipta suatu produk. Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika pada kriptografi, data yang telah disandikan (ciphertext) tetap tersedia, maka dengan
8 steganografi ciphertext dapat disembunyikan sehingga pihak ketiga tidak mengetahui keberadaannya. Data rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti keadaan aslinya. Keuntungan
steganografi
dibandingkan
dengan
kriptografi
adalah bahwa pesan yang dikirim tidak menarik perhatian sehingga media
penampung
yang
membawa
pesan
tidak
menimbulkan
kecurigaan bagi pihak ketiga. Ini berbeda dengan kriptografi dimana ciphertext menimbulkan kecurigaan bahwa pesan tersebut merupakan pesan rahasia. 2.4 Metode LSB (Least Signnificant Bit) Salah satu metode steganografi yang paling sederhana adalah penyembunyian adalah Least Significant Bit (LSB), meskipun ada beberapa
kekurangan
namun
teknik
ini
relatif
mudah
untuk
diimplementasikan. Metode ini menyembunyikan pesan dalam sebuah media digital ialah dengan mengubah satu bit dari media dengan bit dari pesan. Biasanya bit terakhir dari suatu byte diganti dengan bit dari pesan (M. Kharrazi, 2004). Metode ini membutuhkan syarat yaitu jika dilakukan kompresi pada stego. Harus digunakan format lossless compression, karena metode ini menggunakan bit-bit pada setiap piksel pada image. Jika digunakan
format
lossy
compression,
pesan
rahasia
yang
disembunyikan dapat hilang. Jika digunakkan image 24-bit color sebagai cover, sebuah bit dari masing-masing komponen Red, Green, dan Blue, padat digunakkan sehinnga 3-bit dapat disimpan pada setiap piksel. Sebuah Gambar dengan dimensi 1,024 x 768 mempunyai potensi untuk disembunyikan seluruhnya dari 2,359,296 bit (294,912 byte)
pada
informasi.
Jika
pesan
tersebut
dikompres
untuk
9 disembunyikan
sebelum
ditempelkan,
dapat
menyembunyikan
sejumlah besar dari informasi. Pada pandangan mata manusia, hasil stego-image akan terlihat sama dengan gambar cover.
Untuk
contoh huruf A dapat disembunyikan dalam tiga pixel
(asumsikan tidak ada kompresi). Raster data asli untuk 3 pixel (9 byte) menjadi :
(00100111 11101001 11001000) (00100111 11001000 11101001) (11001000 00100111 11101001)
Nilai biner untuk A adalah 10000011. Sisipan nilai biner untuk A dalam tiga pixel akan menghasilkan :
(00100111 11101000 11001000) (00100110 11001000 11101000) (11001000 00100111 11101001)
Dapat dilihat bahwa bit-bit yang digaris bawahi hanya 3 perubahan
secara
aktual
dalam 8
byte
yang diubah untuk
menyembunyikan karakter A. Perubahan pada LSB ini terlalu kecil sehinggal sulit terdeteksi oleh mata manusia sehinnga pesan dapat disembunyikan secara efektif.
2.5 Masking dan Filtering
10 Teknik masking dan filtering, hanya terbatas ke gambar 24-bit dan gray-scale,
informasi disembunyikan dengan menandai suatu
gambar dengan cara seperti paper watermark. Teknik watermarking dapat di aplikasikan dengan resiko rusaknya gambar dalam kaitannya dengan lossy compression, sebab mereka lebih menyatu ke dalam gambar. Masking lebih robust dari pada penyisipan LSB dengan hasil kompresi,
cropping,
dan beberapa pemrosesan gambar. Tehnik
masking menempelkan informasi dalam area significant sehingga pesan yang tersembunyi itu lebih bersatu dengan gambar cover dari pada penyembunyian dalam level “noise”. (Niel,1998) 2.6 Algoritma Transformasi Manipulasi LSB adalah suatu cara yang cepat dan mudah untuk
menyembunyikan
informasi
tetapi
sangat
peka
untuk
perubahan hasil yang kecil dari pemerosesan gambar atau lossy compression.
Seperti kompresi yang merupakan kunci keuntungan
dari gambar JPEG yang mempunyai kelebihan dari format yang lain. Gambar dengan kualitas warna yang tinggi dapat disimpan dalam file yang relative kecil menggunakan metoda kompresi JPEG; sehingga gambar JPEG menjadi lebih berlimpah pada Internet. Gambar JPEG menggunakan discrete cosine transform (DCT) untuk
mencapai
kompresi.
DCT
adalah
transformasi
lossy
compression sebab nilai cosine tidak dapat dihitung sama, dan perhitungan
yang
diulangi
menggunakan
jumlah
presisi
yang
terbatas, menjelaskan pembulatan kesalahan ke dalam hasil akhir. Varian diantara nilai data yang asli dan nilai data yang disimpan kembali tergantung pada metoda yang digunakan untuk menghitung DCT.
11 Dalam penambahan ke DCT, gambar dapat diproses dengan transformasi fast fourier dan transformasi wavelet. Properti gambar yang lain seperti luminance
dapat juga dimanipulasi. Teknik
patchwork menggunakan metoda redundant patern encoding dan spread spectrum ke informasi tersembunyi yang tersebar dalam keseluruhan gambar
cover
(“patchwork” adalah metoda yang
menandai area gambar, atau patch). Dalam menggunakan redundant pattern encoding, kita harus menjual ukuran pesan melawan ketahanan. Untuk contoh, suatu pesan yang kecil dapat di gambarkan beberapa kali pada gambar. Encrypt dan scatter adalah teknik yang lain dalam menyembunyikan data secara menyeluruh ke gambar. Pesan yang menyebar lebih disukai
daripada
noise.
Penganjur
dari
pendekatan
ini
mengasumsikan bahwa jika pesan bit diekstrak, akan menjadi sia-sia tanpa algoritma dan stego-key men-dekodenya. 2.7 Discrete Cosine Transform (DCT) Pada Format gambar JPEG, masing-masing komponen warna menggunakan tranformasi DCT(Discrete Cosine Transform) untuk mentranformasikan blok-blok gambar 8 x 8 pixel kedalam 64 masingmasing koefisien DTC(Ariyus,2009).
Koefisien-koefisien DTC tersebut F(u,v) dari suatu blok 8x8 dari citra pixel f(x,y) dinyatakan pada persamaan di bawah ini:
12
Pada persamaan diatas F(u,y) berbentuk matrik |2- dimensi 8x8 dimana: u,v,x,y: 0,1,2,3,...,7 x,y adalah koordianat spatial dari domain asal u.v adalah koordinat frekuensi pada domain transformasi atau koefisien-koefisien DCT. C(u),C(v)= 1√2 untuk u,v = 0 C(u),C(v)= 1 untuk lainnya. Dalam perhitungan DCT ini apabila dilihat persamaan di atas adalah : 1. Citra berupa blok array 2D, Citra dengan domain spatial untuk nilai piksel memiliki fungsi F(x,y) sedangkan dalam domain frekuensi atau koefisien DCT memiliki F(u,v) 2. Panjang dan lebar Citra yaitu 8 3. Looping untuk x,y = 0,1,2,...7 dan looping untuk u,v= 0,1,2,....7 4. Nilai C(u),C(v)= 1√2 u,v =0 serta untuk C(u),C(v)= 1 5. Setelah itu dilakukan perhitungan seperti pada persamaan diatas maka didapatkan block array baru dalam domain frekeunsi atau koefisien DTC (Irianto,2004).
2.8 Pembangkit Bilangan Acak Semu Pseudorandom Number Generator (PNRG) atau Pembangkit bilangan acak semu adalah sebuah algoritma yang membangkitkan sebuah deret bilangan yang tidak benar-benar acak. Keluaran dari pembangkit bilangan acak semu hanya mendekati beberapa dari sifatsifat yang dimiliki bilangan acak. Walaupun bilangan yang benarbenar
acak
hanya
dapat
dibangkitkan oleh perangkat
keras
pembangkit bilangan acak, bukannya oleh perangkat lunak komputer,
13 akan tetapi bilangan acak semu banyak digunakan dalam beberapa bidang seperti untuk simulasi dalam ilmu fisika, matematik, biologi dan sebagainya, dan juga merupakan hal yang sangat penting dalam dunia kriptografi. Beberapa algoritma enkripsi baik yang simetris maupun nirsimetris memerlukan bilangan acak sebagai parameter masukannya seperti parameter kunci pada algoritma kunci publik dan pembangkitan initialization vector (IV) pada algoritma kunci-simetri. Walaupun terlihat sederhana untuk mendapatkan bilangan acak, tetapi
diperlukan
analisis
matematika
yang
teliti
untuk
membangkitkan bilangan seacak mungkin Karena semua PRNG berjalan diatas sebuah komputer yang deterministik maka keluaran yang dihasilkannya akan memiliki sifat yang tidak dimiliki bilangan random sesungguhnya yaitu periode. Hal ini berarti pada putaran tertentu setelah dijalankan akan dihasilkan deret yang berulang. Tentu saja jika sebuah pembangkit bilangan acak memiliki memory yang terbatas (karena dijalankan diatas komputer yang memiliki memori terbatas) setelah beberapa waktu pembangkit tersebut akan kembali pada state semula dan hal ini menyebabkan
pengulangan
deret
yang
dihasilkan
sebelumnya.
Pembangkit yang tidak memiliki periode (non-periodic generator) dapat saja dirancang pada sebuah komputer yang deterministik, tetapi dibutuhkan memori yang tidak terbatas selama program pembangkit bilangan tersebut dijalankan. Pada perangkat yang sekarang ada hal ini tidak mungkin dilakukan. Sebuah PNRG dapat dimulai dari state (keadaan) tertentu dengan parameter masukan yang dinamakan random seed (umpan acak), tetapi bagaimanapun acaknya umpan PRNG akan selalu menghasilkan deret yang sama.
Konsekuensi
yang dihasilkan dari deterministik komputer pada prakteknya dapat
14 saja dihindari. Panjang dari maksimum periode dibuat sepanjang mungkin sehingga tidak ada komputer yang dapat mencapai satu periode dalam waktu yang diharapkan. Jika satu periode tidak dicapai maka pengulangan deret bilangan acak tidak terjadi. Penggunaan cara seperti
ini
tidak
cukup
baik
untuk
beberapa
aplikasi yang
membutuhkan waktu komputasi yang cepat, karena semakin panjang suatu periode akan membutuhkan sumberdaya dari komputer yang besar juga (Haribowo, 2007). Pembangkit bilangan acak yang dapat menghasilkan bilangan yang tidak dapat diprediksi oleh penyerang cocok untuk kriptografi. Pembangkit ini dinamakan cryptographically secure pseudorandom number generator (CSPRNG). CSPRNG memiliki syarat : 1. Lulus uji keacakan statistik 2. Tahan terhadap serangan yang serius.
Serangan ini bertujuan memprediksi bilangan acak yang dihasilkan. Untuk persyaratan yang kedua ini, maka CSPRNG seharusnya memenuhi dua syarat sebagai berikut : 1.
Setiap CSPRNG seharusnya memenuhi “uji bit berikutnya” (next bit test) sebagai berikut : diberikan k buah bit barisan acak, maka tidak
ada
algoritma
dalam
waktu
polynomial
yang
dapat
memprediksi bit ke- (k+1) dengan peluang keberhasilan lebih dari ½. 2.
Setiap CSPRNG dapat menahan “perluasan status”, yaitu jika sebagian atau semua statusnya dapat diungkap atau diterka dengan benar, maka tidak mungkin merekonstruksi aliran bilangan acak.
15
2.9 Format File 2.9.1
BMP Format file ini merupakan format grafis yang fleksibel untuk
platform Windows
sehingga
dapat
dibaca
oleh program grafis
manapun. Format ini mampu menyimpan informasi dengan kualitas tingkat 1 bit sampai 24 bit. Kelemahan format file ini adalah tidak mampu menyimpan alpha channel serta ada kendala dalam pertukaran platform. Format file ini dapat dikompres dengan kompresi RLE. Format file ini mampu menyimpan gambar dalam mode warna RGB, Grayscale, Indexed Color, dan Bitmap. Meskipun file BMP relatif memiliki ukuran yang besar, namun file BMP dapat dikompresi dengan teknik kompresi lossless yaitu teknik kompresi yang tidak menghilang
informasi
sedikitpun,
hanya
mewakilkan
beberapa
informasi yang sama (Riyanto, 2007). Bitmap adalah representasi atau gambaran yang terdiri dari baris dan kolom pada titik image graphics di komputer. Nilai dari titik disimpan dalam satu atau lebih data bit. Tampilan dari bitmap atau raster, menggunakan titik-titik berwarna yang dikenal dengan sebutan pixel. Piksel-piksel tersebut ditempatkan pada lokasi-lokasi tertentu dengan nilai-nilai warna tersendiri, yang secara keseluruhan akan membentuk
sebuah
tampilan
gambar.
Tampilan
bitmap
mampu
menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar, karena itu bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit seperti foto dan lukisan digital. Color table adalah table yang berisi warna-warna yang ada pada gambar
bitmap.
Ukurannya
adalah 4
dikalikan dengan ukuran
16 banyakanya warna. Color table berisi RGB-red green blue. Strukturnya terdiri dari 1 bytes untuk bagian RGB-blue yang berisi intensitas warna biru 0...255, 1 bytes untuk bagian RGB-Green yang berisi intensitas warna hijau 0...255, 1 bytes untuk bagian RGB-Red yang berisi intensitas warna merah 0...255, 1 bytes untuk bagian RGB-Reserved yang selalu di set sama dengan 0. Gambar menunjukkkan contoh pembagian 24 bit pada format file BMP
RED
GREEN
BLUE
Binary
11111111
1111111
1111111
Decimal
255
255
255
Gambar 2.1 pembagian bit dalam BMP
2.9.2
JPG/ JPEG (Joint Photographic Expert Group) Format file ini mampu mengkompres objek dengan tingkat
kualitas sesuai dengan pilihan yang disediakan. Format file sering dimanfaatkan untuk menyimpan gambar yang akan digunakan untuk keperluan halaman web, multimedia, dan publikasi elektronik lainnya. Format file ini mampu menyimpan gambar dengan mode warna RGB, CMYK, dan Grayscale. Format file ini juga mampu menyimpan alpha channel, namun karena orientasinya ke publikasi elektronik maka format ini berukuran relatif lebih kecil dibandingkan dengan format file lainnya. Joint Photograpic Experts di rancang untuk kompresi beberapa full-color atau gray-scale dari suatu gambar yang asli, seperti pemandangan asli di dunia ini. JPEG sudah mendukung untuk 24-bit color depth atau sama dengan 16,7 juta warna (224 = 16.777.216 warna).
17
2.9.3
PNG (Portable Network Graphics ) Format file ini berfungsi sebagai alternatif lain dari format file
GIF. Format file ini digunakan untuk menampilkan objek dalam halaman web. Kelebihan dari format file ini dibandingkan dengan GIF adalah kemampuannya menyimpan file dalam bit depth hingga 24 bit serta
mampu
menghasilkan
latar
belakang
(background)
yang
transparan dengan pinggiran yang halus. Format file ini mampu menyimpan alpha channel. PNG di rancang untuk algoritma lossless untuk menyimpan sebuah bitmap image. PNG mampu mencapai 16 bit (gray scale) atau 48 bit untuk true color per pixel, dan mencapai 16 bits dari alpha data. PNG mendukung dua buah metode dari transparency, satu buah color penutup seperti pada GIF89a’s dan alpa channel. PNG’s dengan Full alpha chanell mampu mencapi 64K level dari transparency untuk masing-masing pixel (216 =65.536). ini memungkinkan PNG dapat membuat gambar lebih bercahaya dan membuat bayang-bayang background dari pewarnaan yang berbeda .