bab ii tinjauan pustaka 2.1 penelitian...
TRANSCRIPT
6
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 antar-
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 (steganography) adalah ilmu dan seni
menyembunyikan pesan rahasia di dalam 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 masing-
masing 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 sifat-
sifat yang dimiliki bilangan acak. Walaupun bilangan yang benar-
benar 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 .