Figure 1. MSB dan LSB
Figure 2.
Steganography Flowchart
Cara kerja algoritma RC4 yaitu inisialisasi S-Box pertama, S[0],S[1],….S[255], dengan bilangan 0 sampai 255. Pertama isi
secara berurutan S[0] = 0, S[1] = 1,….,S[255] = 255. Kemudian inisialisasi array lain S-Box lain, misal array K dengan panjang
256. Isi array K dengan kunci yang diulangi sampai seluruh array K[0],K[1],…,K[255] terisi seluruhnya. Proses selanjutnya adalah
pengacakan terhadap S-Box pertama kemudian dilanjutkan dengan
pseudo-random
untuk menentukan nilai variable yang akan di-XOR-kan dengan
plaintext
ataupun
ciphertext
[1].
2.2
Steganography
Steganography
adalah seni dan sains untuk menulis pesan tersembunyi dengan cara tertentu sehingga tidak seorangpun
selain pengirim dan penerima akan menyadari ada sebuah pesan tersembunyi. Singkatnya, kriptografi mengacak arti dari sebuah
pesan, tetapi kriptografi tidak menutupi kenyataan bahwa ada sebuah pesan dalam media tertentu. Kini, menyembunyikan
informasi digital di dalam
computer file
masuk ke dalam ruang lingkup steganografi.
Secara umum, sebuah pesan steganografi akan dikenal sebagai sesuatu yang lain, sebuah gambar, sebuah artikel, sebuah daftar
belanja, atau bentuk – bentuk pesan yang lain. Bentuk – bentuk
pesan ini dikenal dengan nama
cover text
. Keuntungan steganografi jika dibandingkan dengan kriptografi
adalah bahwa pesan – pesan tidak menarik perhatian terhadap
pesan itu sendiri, terhadap pengirim, atau terhadap penerima. Sebuah pesan kode yang tidak tersembunyi, tidak peduli serumit
apapun pesan tersebut diacak, akan menimbulkan kecurigaan dan keterbatasan karena di beberapa negara kriptografi dicap illegal.
Seringkali, steganografi dan kriptografi digunakan secara bersama
– sama untuk memastikan keamanan dari sebuah pesan.
2.2.1 Least Significant Bit
Least Significant Bit
adalah bit yang memiliki nilai terendah dalam barisan biner. Sedangkan bit yang memiliki nilai tertinggi
disebut
Most Significant Bit
seperti yang terlihat pada Figure 1.
Pada file biasanya terdapat bit-bit LSB yang perannya tidak terlalu penting dan dapat diganti dengan informasi lain tanpa
merusak file tersebut. Karena memanfaatkan bit-bit LSB, metode ini tidak digunakan pada media yang mengalami kompresi
terutama jenis
lossy compression
karena akan menghilangkan bit- bit LSB tersebut [5]. Penggunaan metode LSB umumnya tidak
mengubah ukuran file dan bekerja dengan baik pada file gambaraudio yang memiliki resolusibit rate tinggi.
Pada penyisipan pesan dalam berkas bitmap 24-bit, terdapat 3 bit LSB yang dapat kita manfaat dari setiap
pixel
yaitu komponen
Red, Green,
dan
Blue
. Pesan yang akan disisipkan cenderung mempunyai
panjang yang
dinamis. Oleh
karena kita
membutuhkan sebuah
header
untuk menyimpan panjang
pesan yang disisipkan [3].
3. IMPLEMENTASI
3.1
Steganography
Proses
steganography
pada
flowchart
pada Figure 2. terlihat adanya proses
next frame
.
Next frame
adalah untuk mendapatkan
frame
yang akan disisipi file
byte
dengan metode
Least Significant Bit
pada
pixel
yang terpilih secara acak dengan
pseudo-random
. Tujuan
penggunaan
pseudo-random
adalah agar
ketika pengambilan kembali data tersebut pengacakan pada
pixel
dapat terulang sehingga memungkinkan data yang disembunyikan
didapatkan kembali. Byteperframe yang digunakan dalam proses steganografi merupakan batasan sejumlah
byte
yang dapat di-
input
-kan dalam sebuah
frame
. Untuk
message bytes
merupakan isi dari file
message
yang disisipkan dengan dirubah menjadi bentuk
byte.
Start Input video carrier, file
message, set byteperframe,
It = byteperframe, counter = 0
File message bytes 0 Get message bytes
from counter to it Get Next Frame
Message bytes it LSB
Message bytes++
Counter = it + 1, Message bytes
– it, Add frame to new video,
Rivest Chiper 4
It = it + byteperframe
Output video End
True False
False True
Save info data to frame
3.1.1
Encrypt and Decrypt Rivest Chiper 4
Proses ini merupakan proses untuk memperkuat sekuritas dari data yang akan disembunyikan. Data tersebut akan dienkripsi
dengan metode RC4 dengan harapan semakin sulit data tersebut apabila media penyimpanan jatuh ditangan pihak yang tidak
diharapkan. Dapat dilihat dari
flowchart
pada Figure 3. bahwa terdapat 3 hal penting dalam proses enkripsi dengan metode
Rivest Chiper 4
.
11010001 MSB
LSB
Figure 3.
Rivest Code 4 Flowchart
Figure 4. LSB
Flowchart
Yakni membuat Sbox array sepanjang 256 data, melakukan pengacakan Sbox serta menggunakan Sbox tersebut untuk
melakukan
pseudo random
terhadap
byte
data yang akan dienkripsi. Proses ini merupakan bagian dari awal proses
keseluruhan steganografi yang berfungsi merusak file yang disisipkan agar mempersulit pihak lain untuk mengambil file
tersebut. Kerusakan file tersebut dapat dikembalikan dengan semula dengan menggunakan
password
yang sama ketika melakukan enkripsi pada file yang disisipkan.
Mengubah file kedalam bentuk byte
Return Inisialisasi Sbox
Random Sbox
Pseudo-random RC4 Rivest Chiper 4
3.1.2
Least Significant Bit
LSB
Proses
Least Significant Bit
adalah proses dimana
byte
yang akan disisipkan pada
frame
diubah menjadi bentuk
bit-
nya dan disisipkan pada beberapa
byte
warna pada
pixel.
Tiap – tiap
pixel
yang terpilih akan diambil RGB dan disisipkan pada
bit
terakhir pada warna tersebut. Data yang dibutuhkan untuk memulai proses
steganografi adalah adanya
frame
berbentuk
bitmap
yang akan disisipi serta sebagian
byte
dari
message
yang akan disisipkan pada
frame
tersebut. Untuk menentukan posisi dari
pixel
dilakukan suatu proses
pseudo-random
. Seperti yang terlihat pada Figure 4 proses LSB
Least Significant Bit
membutuhkan
bitmap
yang didapat dari mengambil
frame
pada
video, byte
yang akan disisipkan serta posisi
pixel
tempat disisipkan yang didapatkan dari proses
pseudo-random
. Dari
pixel
yang terpilih diekstrak
value red, green
dan
blue
. Kemudian
byte
dipecah menjadi bentuk
bit
. Dan disisipkan pada
bit
terakhir dari tiap
– tiap warna dan dilakukan perubahan
byte
warna pada
pixel
tersebut. Kemudian proses dari steganografi dilanjutkan dengan mendapatkan
pixel
selanjutnya untuk disisipi lagi oleh
bit
dari
message
berikutnya hingga
byte message
tersisipkan semua pada
frame.
Bitmap frame,1 byte
message, iterasi = 0
Pseudo-random pixel
Change byte message to bit
Bit 0
Extract RGB from pixel
If iterasi 2
Set 3 bit to last bit RGB
Set 2 bit to last bit RG
Bit-- Bit -= 2
Return True
True
False False
Edit pixel with new
RGB LSB
3.2
Extracting Data
Untuk proses
extracting data
sebenarnya hanya mengulang proses steganografi dengan beberapa perubahan, yakni yang semula
disisipkan menjadi pengambilan data serta tidak membuat
video
baru melainkan membuat file dari susunan
byte
yang didapatkan dari antara
frame
. Pada Figure 5 terdapat proses LSB dan
Rivest Chiper 4,
yang dilakukan dalam proses ini adalah sama seperti proses yang
dilakukan ketika penyembunyian file.
Figure 5.
Extracting F lowchart
Figure 6. Pengujian Video 1
Figure 7. Pengujian Video 2
Start
Input video carrier, set byteperframe,
current=0, counter = 0
Data length 0
Make byte as long as
byteperframe Get Next Frame
Data length –
current byteperframe
LSB Current +=
byteperframe
Make bytes as long as data length
– current Rivest Code 4
Output file End
True
False
False Get info data
length
True
Current += data length
– current
Hanya saja pada proses LSB
extracting
yang dilakukan adalah mengambil tiap
– tiap
bit
dari warna
pixel
yang terpilih secara
pseudo-random
dan mengumpulkannya hingga menjadi sebuah
byte
. Sedangkan pada proses
Rivest Chiper
fungsi yang dilakukan sama karena merupakan jenis
stream cipher.
Sehingga ketika
ciphertext
di-XOR-kan pada penghitungan
Rivest Chiper
tersebut akan menghasilkan
plaintext
dengan kata lain file yang dienkripsi dengan
Rivest Chiper 4
sebelumnya akan dikembalikan dalam bentuk semula.
4. PENGUJIAN