View
233
Download
0
Category
Preview:
Citation preview
5
1. Pendahuluan Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika
kriptografi merahasiakan makna pesan sementara eksistensi pesan tetap ada, maka
steganografi menutupi keberadaan pesan. Dalam prakteknya, pesan rahasia
dienkripsi terlebih dahulu, kemudian ciphertext disembunyikan di dalam media
lain sehingga pihak ketiga tidak menyadari keberadaanya. Pesan rahasia yang
disembunyikan dapat diekstraksi kembali persis sama seperti aslinya [1].
Umumnya, teknik steganografi menggunakan dua media yang berbeda.
Salah satu media berfungsi sebagai media yang berisikan informasi (pesan
rahasia) dan media yang lain berfungsi sebagai pembawa informasi tersebut
(media penampung) yang dapat berupa sebuah teks, gambar, suara, atau video.
Penggunaan teknik steganografi ini diharapkan dapat membantu dalam upaya
peningkatan pengamanan pengiriman informasi.
Berdasarkan latar belakang masalah, maka akan dilakukan penelitian yang
membahas tentang perancangan dan implementasi steganografi menggunakan
metode Enhanced Audio Steganography (AES); yaitu berupa suatu aplikasi
steganografi yang akan melakukan penyisipan file rahasia dalam file WAV
dengan menggunakan metode Least Significant Bit (LSB) yang dimodifikasi,
dengan proses enkripsi dan dekripsi file menggunakan algoritma Vigenere. Dalam
menyisipkan pesan teks ke dalam file WAV menggunakan metode Least
Significant Bit yang dimodifikasi, karena memiliki kelebihan yang dapat
mengatasi kekurangan dari metode LSB [2]. Sedangkan untuk proses enkripsi dan
dekripsi menggunakan algoritma Vigenere, karena merupakan algoritma dengan
aturan yang sederhana.
2. Kajian Pustaka Penelitian terdahulu pernah dilakukan dengan judul Aplikasi Steganografi
Pada Video Dengan Metode Least Significant Bit (LSB), dimana dalam penelitian
tersebut membahas teknik steganografi pada video dengan format *.avi, serta
aplikasi yang dibangun masih harus dikembangkan lagi karena hanya bisa
menyisipkan berkas rahasia dengan ukuran kecil [3].
Penelitian yang lain yang pernah dilakukan berjudul Penerapan
Steganografi Gambar Pada Least Significant Bit (LSB) Dengan Pengunaan PRNG
(Pseudo Random Number Generator). Pada penelitian tersebut, diterapkan
steganografi pada gambar pada least significant bit tiap komponen warna gambar
[4].
Penelitian berjudul Efficient Method of Audio Steganography by Modified
LSB Algorithm and Strong Encryption Key With Enhanced Security, yaitu
penelitian yang mengajukan metode baru untuk penyisipan pesan dalam audio,
dengan memodifikasi metode Least Significant Bit (LSB), dan menggunakan
kekuatan kunci enkripsi untuk meningkatkan keamanan pesan yang disisipkan.
Enkripsi yang digunakan adalah teknik enkripsi yang ditentukan sendiri dengan
aturan yang sederhana. Proses enkripsi diterapkan pada pesan, sebelum pesan
tersebut disisipkan ke dalam audio [2].
Berdasarkan penelitian yang pernah dilakukan tentang steganografi dengan
metode LSB melalui media video, gambar, dan penelitian tentang metode LSB
6
yang dimodifikasi, maka dalam penelitian ini, akan dilakukan penelitian
steganografi yang menggunakan metode enhanced audio Steganografi (EAS),
yaitu LSB yang dimodifikasi, dan menggunakan algoritma vigenere untuk proses
enkripsi pada data/pesan yang akan disisipkan. Media yang dipakai pada
penelitian saat ini yaitu audio dengan format *.wav. Penelitian yang dilakukan
akan melihat apakah terjadi perubahan terhadap waktu, kualitas dan besar ukuran
data pada file audio setelah melalui proses embedding dan ekstraksi pesan.
Aplikasi yang dibangun bertujuan dapat membantu para pengguna untuk menjaga
kerahasiaan data yang disisipkan dalam file audio.
Enhanced Audio Steganography (EAS)
Algoritma EAS merupakan algoritma yang memodifikasi algoritma LSB.
Proses yang dilakukan dalam EAS hampir sama dengan proses dalam algoritma
LSB. Modifikasi yang dilakukan adalah : penyisipan bit pada media penampung
hanya dilakukan pada byte yang bernilai 254 atau 255. Dalam algoritma EAS
juga diterapkan proses enkripsi pada pesan yang akan disisipkan. EAS memiliki
keunggulan EAS dibandingkan dengan teknik LSB pada umumnya, yaitu byte
yang digunakan sebagai penampung hanya selective byte saja, maka media
penampung yang digunakan akan mengalami kerusakan yang kecil. Di samping
itu, adanya enkripsi terhadap pesan yang disisipkan dapat meningkatkan
keamanan data. Proses yang terjadi dalam EAS terdiri dari 4 proses, yaitu proses
enkripsi, proses dekripsi, proses encoding, proses decoding [2].
Kriptografi Vigenere Cipher
Sistem sandi Vigenère adalah sistem sandi substitusi multi-alfabet, yaitu
sistem sandi Caesar tetapi dengan pergeseran alfabet yang berlainan disesuaikan
dengan kata kuncinya. Pada kriptografi Vigenere, plaintext akan dienkripsi dengan
pergeseran huruf seperti pada kriptografi Caesar, tetapi setiap huruf di dalam
plaintext akan mengalami pergeseran yang berbeda. Kunci pada kriptografi
Vigenere adalah sebuah kata bukan sebuah huruf. Kata kunci ini akan dibuat
berulang sepanjang plaintext, sehingga jumlah huruf pada kunci akan sama
dengan jumlah huruf pada plaintext. Pergeseran setiap huruf pada plaintext akan
ditentukan oleh huruf pada kunci yang mempunyai posisi yang sama dengan huruf
pada plaintext. Kriptografi Vigenere ini dikenal sebagai polyalphabetic
substitution cipher, karena enkripsi terhadap satu huruf yang sama bisa
menghasilkan huruf yang berbeda. Pergeseran huruf pada plaintext ditentukan
oleh tabel yang sama dengan tabel pada kriptografi Caesar. Rumus kriptografi
Caesar tetap berlaku pada kriptografi Vigenere, baik pada enkripsi maupun
dekripsi.
File WAV (Waveform Audio Format) File WAV adalah file audio standar yang digunakan oleh Windows. Suara
yang berupa digital audio dalam file WAV disimpan dalam bentuk gelombang,
karena itulah file ini memiliki ekstensi .wav (Wave). File WAV ini dapat dibuat
dengan menggunakan berbagai program wave editor maupun wave recorder.
7
3. Metode dan Perancangan Sistem Metode perancangan yang dipakai dalam penelitian ini adalah Prototype
Model. Bagan mengenai prototype model dapat dilihat pada Gambar 1.
Gambar 1 Bagan Prototype Model [5]
Tahap-tahap dalam Prototype Model adalah sebagai berikut:
1. Listen to Costumer; Pada tahap ini dilakukan analisis terhadap permasalahan
yang ada, yaitu mendapatkan data dan literatur yang terkait dengan proses
embedding, ekstraksi, enkripsi dan dekripsi terhadap data teks pada audio,
menggunakan metode enhanced audio steganography (EAS); melalui
dokumen dan referensi yang ada.
2. Build; Selanjutnya setelah memperoleh data dan mengetahui proses enkripsi
dan dekripsi dengan Enhanced Audio Steganography, langkah berikutnya
adalah membuat perancangan dengan menggunakan Unified Modeling
Language (UML) mengenai sistem yang akan dibangun nantinya. Selain itu
dilakukan pula perancangan pada user interface dan algoritma.
3. Costumer Test; Pada Tahap ini dilakukan pengujian sistem, yaitu
menjalankan proses implementasi sistem, dengan menguji pengaruh ukuran
data, waktu proses dan kualitas audio, serta melihat hasil yang diberikan
apakah sudah sesuai dengan konsep Steganografi, dan algoritma kriptografi
Vigenere.
Perancangan Algoritma Enhanced Audio Steganography (EAS)
Algoritma Proses Embedding Data
Secara umum steganografi digunakan untuk menyembunyikan pesan atau
data di dalam data lainnya. Untuk menyembunyikan pesan rahasia, tentunya
memerlukan media sebagai sarana penampung pesan rahasia tersebut. Dalam
penelitian ini media penampung yang digunakan adalah objek berupa file audio.
Setelah menentukan media penampung, barulah dapat menyisipkan pesan rahasia
ke dalam media penampung, agar dapat menyisipkan pesan rahasia ke dalam
media penampung tentunya membutuhkan sebuah algoritma yang dapat
memodifikasikan objek menjadi objek yang baru dengan informasi rahasia di
dalamnya tanpa terjadi perubahan yang mencolok dari objek awalnya. Algoritma
ini biasa disebut dengan algoritma embedding. Proses embedding ini dapat
dijelaskan sebagai berikut. File yang akan disisipkan dienkripsi terlebih dahulu.
Aplikasi akan meminta pengguna untuk memasukkan kata kunci. Kemudian
8
hitung besar lokasi yang tersedia pada file WAV. File WAV yang digunakan
sebagai media penyisipan harus memiliki jumlah byte bernilai 254 atau 255 yang
cukup untuk menampung file pesan. Proses berikutnya adalah proses penyisipan
bit file pesan di LSB byte file media. Proses ini bersifat selektif karena penyisipan
hanya dilakukan pada byte file media yang bernilai 254 atau 255 saja. Selanjutnya
pembacaan diteruskan lagi ke byte berikutnya. Proses tersebut diulangi sampai
semua bit file pesan selesai disisipkan. Setelah proses selesai, file WAV disimpan
sebagai file baru. Proses embedding dalam bentuk flowchart, ditunjukkan pada
Gambar 2.
Gambar 2 Flowchart Proses Embedding
Algoritma Extracting Data
Proses yang terjadi sesuai algoritma extracting data adalah proses dekripsi
dan dilanjutkan dengan proses extracting data. Data yang telah disisipkan akan
dikeluarkan terlebih dahulu, kemudian akan didekripsikan sehingga menghasilkan
data rahasia yang diinginkan user. Proses extracting dapat dijelaskan sebagai
berikut. Proses extracting merupakan proses untuk membaca objek yang
disisipkan di dalam media penampung. Ketika media penampung dimasukkan,
sistem akan membaca apakah ada data yang disisipkan atau tidak, jika tidak,
proses akan selesai, tetapi jika ada data yang disisipkan, maka proses akan
Start
Input Pesan
Input Audio
IndexPesan = 0
Hitung lokasi yang tersedia
Lokasi >=
panjang message
dalam bit array
IndexPesan <
panjangBitPesan
Byte = 254 atau
Byte = 255
Baca byte audio
selanjutnya
Simpan audio
sebagai file baru
Ganti bit terakhir
(LSB) dengan bit
pesan ke -
IndexPesan
IndexPesan =
IndexPesan + 1
Stop
Ya
Ya
Ya
Tidak
Tidak
Tidak
Input Kunci Enkripsi
Enkripsi Pesan
9
berlanjut dengan penyiapan penampung pesan. Sistem akan membaca panjang
data yang disisipkan di dalam byte audio, dan mengecek apakah byte tersebut
bernilai 254 atau 255, mengecek apakah panjang penampung < L (variabel
panjang pesan), kemudian proses pembacaan bit terakhir (LSB) dan disimpan ke
penampung pesan. Proses ini akan diulangi hingga semua bit selesai terbaca.
Pesan yang didapat akan dilakukan proses dekripsi, kemudian disimpan sebagai
file baru, proses selesai dengan output document yang telah diekstrak. Proses
extracting dalam bentuk flowchart, ditunjukkan pada Gambar 3.
Start
Input media
Ada data yang
telah
disisipkan?
Siapkan
penampung
Pesan
Byte 254 atau
255?
Panjang
penampung <
L
Baca bit terakhir
(LSB) simpan ke
penampung
Pesan
Simpan Pesan
sebagai file baru
Stop
Ya
Tidak
Ya
Tidak
Baca informasi
L=Panjang data
Baca Byte
selanjutnya
Ya
Tidak
Input Kunci
Dekripsi
Dekripsi Pesan
Gambar 3 Flowchart Proses Extracting
Perancangan Algoritma Vigenere
Dalam algoritma EAS, terdapat proses enkripsi, yang berfungsi untuk
meningkatkan keamanan pesan yang disisipkan. Algoritma enkripsi yang
digunakan adalah Vigenere.
10
Mulai
Input
Kunci
Input
Data
C[i] = Data[i] + Kunci[i] % 256
i < Panjang
Data
i=0
C= Array[Panjang Data]
Ya
i=i+1
Return C
Tidak
Selesai
Modifikasi Kunci Sehingga panjang Kunci
sama dengan Panjang Data
Gambar 4 Flowchart Proses Enkripsi
Gambar 4 menjelaskan proses enkripsi yang memerlukan dua buah
masukan yaitu Kunci dan Data. Keduanya dalam bentuk koleksi (array). Sebelum
kunci dapat digunakan, kunci harus disusun sedemikian rupa sehingga panjangnya
sama dengan panjang data yang akan dienkripsi. Penampung hasil enkripsi adalah
variabel C, yang juga berupa koleksi, dengan panjang elemen sama dengan
panjang Data. Untuk setiap Data pada index ke i, dilakukan perhitungan Data[i] +
Kunci[i] modulus 256. Angka 256 adalah konstanta yang menunjukkan berapa
banyak jumlah elemen pada satu baris Tabula Recta. Hasil perhitungan disimpan
pada variabel C index ke i. Selanjutnya nilai i dinaikkan sebesar 1. Proses
pembacaan Data ini dilakukan sampai i mencapai nilai sama dengan Panjang
Data.
Gambar 5 menjelaskan proses dekripsi yang memerlukan dua buah
masukan, yaitu Kunci dan Data. Keduanya dalam bentuk koleksi (array). Sebelum
kunci dapat digunakan, kunci harus disusun sedemikian rupa sehingga panjangnya
sama dengan panjang data yang akan didekripsi. Penampung hasil dekripsi adalah
variabel P. Untuk setiap Data dilakukan perhitungan sebagai berikut. Jika nilai
Kunci index ke i lebih kecil dari nilai Data index ke i, rumus yang digunakan
adalah Data[i]-Kunci[i] modulus 256. Jika nilai Kunci index ke i lebih besar,
rumus yang digunakan (256+Data[i]-Kunci[i] Modulus 256). Nilai 256 di depan
rumus, digunakan untuk menghindari nilai negatif.
11
Mulai
Input
Kunci
Input Data
i < Panjang
Data
i=0
P= Array[Panjang Data]
i=i+1
Return P
Tidak
Selesai
Modifikasi Kunci Sehingga panjang Kunci
sama dengan Panjang Data
P[i] = Data[i] - Kunci[i] % 256
Jika Kunci[i] >
Data[i]
P[i] = (256 + Data[i] - Kunci[i])
% 256
YaTidak
Ya
Gambar 5 Flowchart Proses Dekripsi
Rancangan Use Case Diagram
Use Case Diagram merupakan diagram yang memperlihatkan hubungan
antara aktor dengan sistem [6]. Rancangan use case diagram dapat dilihat pada
Gambar 6.
Gambar 6 Use Case Diagram
Berdasarkan Gambar 6, dapat dilihat interaksi antara user dengan sistem,
dimana terdapat dua user yaitu Embeddor dan Extractor. Embeddor dapat
melakukan input audio, input document, proses embedding, yang di dalamnya
terdapat proses input key untuk enkripsi, serta dapat melakukan fungsi dari user
extractor. Extractor dapat melakukan input stego audio dan proses ekstraksi yang
di dalamnya terdapat proses input key untuk dekripsi.
12
4. Hasil dan Pembahasan Antarmuka Sistem
Gambar 7 Antarmuka Untuk Proses Penyisipan
Gambar 7 merupakan tampilan antarmuka proses embedding dimana user
akan memilih menu file kemudian pilih media penampung selanjutnya pilih
document yang akan disisipkan, kemudian pilih tombol sisipkan, maka akan
keluar textbox untuk memasukan kunci enkripsi, selanjutnya user memasukan
kunci yang diinginkan dan pilih tombol ok; maka, jalanlah proses penyisipan file
.doct ke dalam media WAV hingga tampilnya message box Finish, kemudian
pilih button ok untuk menutup message box, dan proses embedding berhasil.
Kode Program 1 Proses Pembentukan Kunci private static byte[]
ExpandKey(byte[] key, int toSize)
{
List<byte> expand = new List<byte>();
//int index = 0;
for (int i = 0; i < toSize; i++)
{
expand.Add(key[i % key.Length]);
}
return expand.ToArray();
}
1
2
3
4
5
6
7
8
9
10
11
Kode program 1 digunakan untuk memodifikasi panjang kunci ke dalam
ukuran yang didefinisikan pada parameter toSize. Proses yang dilakukan adalah
melakukan perulangan untuk tiap elemen data pada variabel key, dan
menambahkan tiap elemen tersebut ke variabel penampung expand. Selanjutnya
jika elemen merupakan elemen terakhir pada variabel key, maka proses diulangi
dari elemen paling awal.
Kode Program 2 Proses Enkripsi Menggunakan Vigenere Cipher public static byte[] Encrypt(
byte[] data, byte[] key)
{
key = ExpandKey(key, data.Length);
List<byte> result = new List<byte>();
int keyIndex = 0;
foreach (byte M in data)
{
byte C =
(byte)((M + key[keyIndex]) % 256);
result.Add(C);
keyIndex++;
}
return result.ToArray();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
13
Kode Program 2 digunakan untuk melakukan proses enkripsi dengan
parameter data yang akan dienkripsi dan kunci. Dua parameter tersebut dalam tipe
data byte array. Sebelum kunci dapat digunakan, kunci harus disusun sedemikian
rupa, sehingga panjangnya sama dengan panjang data yang akan dienkripsi.
Proses pembentukan kunci ini dapat dilihat pada Kode Program 1. Selanjutnya,
tiap byte data dienkripsi menggunakan rumus pada baris 10. Cipher data
ditampung pada variabel result (baris 11).
Kode Progam 3 Perintah Untuk Proses Embbeding FileStream waveFileStream
= new FileStream(
mediaFile,
FileMode.Open);
FileStream destinationStream
= new FileStream(
resultFile,
FileMode.Create);
WaveStream wstream
= new WaveStream(
waveFileStream,
destinationStream);
int messageIndex = 0;
String binaryMessage = BuildBinaryMessage(vigenereKey, documentFile);
while ((r = wstream.ReadByte()) != -1)
{
byte current = (byte)r;
if (messageIndex < binaryMessage.Length
&& (current == 254 || current == 255))
{
current
= ReplaceBit(current,
binaryMessage[messageIndex]);
messageIndex++;
}
destinationStream.WriteByte(current);
if (messageIndex
== binaryMessage.Length)
{
break;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Kode Program 3 menjelaskan tahap pengkodean proses embedding.
Perintah pada baris 1-12, digunakan untuk membaca byte di dalam file WAV
menggunakan wavstream. Perintah pada baris 15-16 digunakan untuk mengubah
pesan menjadi binary string. Di dalam proses tersebut, pesan terlebih dahulu
dienkripsi dengan algoritma Vigenere. Perintah pada baris 17 dan baris 19
digunakan untuk membaca tiap byte. Perintah pada baris 20 digunakan untuk
perulangan jika binary string belum selesai dibaca. Perintah pada baris 21
digunakan untuk pengecekan ukuran byte apakah 254 atau 255. Perintah pada
baris 23-25 digunakan untuk mengganti LSB. Perintah pada baris 26 merupakan
perintah untuk berpindah ke pesan selanjutnya. Perintah pada baris 29 digunakan
untuk menyimpan hasil ke file yang baru. Perintah pada baris 31-35 menunjukkan,
jika proses perulangan telah selesai maka proses berakhir.
14
Kode Progam 4 Perintah untuk Proses Ekstraksi FileStream waveFileStream
= new FileStream(mediaFile, FileMode.Open);
WaveStream baru
= new WaveStream(waveFileStream);
byte[] mediaBytes
= new byte[baru.Length];
if (IsHeaderValid(containers.GetRange(0, 8)))
{
StringBuilder builder = new StringBuilder();
for (int i = 0; i < mediaBytes.Length; i++)
{
if (mediaBytes[i] == 254
|| mediaBytes[i] == 255)
{
builder.Append(
RetrieveBit(
result.Add(mediaBytes[i])));
}
}
byte[] pesan = ToByteArray(builder.ToString();
byte[] pesan = VigenereCipher.Decrypt(pesan,
Encoding.Default.GetBytes(vigenereKey));
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Kode Program 4 menjelaskan tahap pengkodean proses ekstraksi. Perintah
pada baris 1-6 digunakan untuk membaca file media (audio .wav). Perintah pada
baris 8 digunakan untuk membaca media apakah ada file di dalamnya atau tidak
dan membaca panjang file. Perintah pada baris 10 merupakan penampung bit file.
Perintah pada baris 11-14 digunakan untuk membaca file yang ada byte 254 atau
255. Perintah pada baris 16-18 digunakan untuk membaca LSB. Pada baris 21,
kumpulan bit dibentuk menjadi byte array. Kemudian kumpulan byte tersebut
didekripsi.
Kode Program 5 Proses Dekripsi Menggunakan Vigenere Cipher public static byte[] Decrypt(
byte[] data, byte[] key)
{
key = ExpandKey(key, data.Length);
List<byte> result = new List<byte>();
int keyIndex = 0;
foreach (byte M in data)
{
byte K = key[keyIndex];
if (K < M)
{
byte C
= (byte)((M - K) % 256);
result.Add(C);
}
else
{
int iM = M;
int iK = K;
byte C
= (byte)
((256 + iM - iK) % 256);
result.Add(C);
}
keyIndex++;
}
return result.ToArray(); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
15
Kode Program 5 merupakan kode program untuk proses dekripsi.
Parameter fungsi dalam bentuk byte array. Seperti halnya proses enkripsi, kunci
yang digunakan harus dimodifikasi terlebih dahulu sebelum bisa digunakan. Jika
nilai byte kunci (K) lebih kecil dari nilai byte data (M), maka perhitungan
dilakukan dengan cara rumus pada baris 13. Jika tidak, rumus pada baris 23 yang
digunakan. Pada rumus kedua, angka 256 ditambahkan dengan maksud tidak
muncul angka negatif.
Gambar 8 Antarmuka Proses Ekstraksi
Gambar 8 merupakan antarmuka proses ekstraksi dimana user akan
memili menu file kemudian masukan stego audio yang akan di ekstrak,
selanjutnya pilih tombol ekstrak, maka akan tampil textbox untuk menginputkan
kunci dekripsi, selanjutnya masukan kunci yang sama dengan kunci enkripsi,
kemudian pilih tombol ok; maka proses akan dijalankan hingga ditampilkan
message box Finish, kemudian pilih tombol ok dan proses ekstraksi selesai.
Pengujian Sistem Pengujian sistem ini dilakukan dengan melakukan dua pengujian, yang
pertama proses embedding dan yang kedua proses ekstraksi. Pengujian embedding
pada file audio dibagi menjadi beberapa bagian yaitu :
1. Percobaan embedding data dokumen (.docx) dan data teks (.txt) berukuran ≤
1 MegaByte pada file audio berformat .wav.
2. Percobaan embedding data teks yang ukurannya berbeda pada file audio
berformat .wav.
Sedangkan pengujian ekstraksi adalah sebagai berikut :
1. Percobaan ekstraksi data pada file audio yang telah disisipi pesan. Data
yang dihasilkan haruslah sama dengan yang aslinya.
2. Pengujian file audio yang telah diambil pesan yang disisipi dengan file
audio asli, harus sama ukurannya.
File audio yang digunakan sebagai media penampung adalah dua file
audio dengan ukuran masing-masing 2.940 KB dan 8.594 KB.
Embedding Data File Dokumen
Pengujian ini menggunakan file dokumen dengan format .docx, yang akan
disisipkan ke dalam file audio .WAV dengan ukuran yang berbeda. File dokumen
akan diberi nama Doc1 dan Doc2 (jenis format yang sama tapi mempunyai ukuran
file yang beda). Doc1 berukuran 22KB dan Doc2 berukuran 62KB. Sedangkan file
16
audio yang dipakai adalah audio1.wav (2.940 KB) dan audio2.wav (8.594 KB).
Kunci enkripsi yang dipakai “marsanthia”.
Tabel 1 Hasil Pengujian Embedding File .docx
File yang
disisipkan
(.docx)
Pengujian
Waktu Embedding
Audio1
(2.940 KB)
(MS)
Audio2
(8.594 KB)
(MS)
Doc1
(12,10 KB)
1
2
3
4
5
137,60
140,29
136,14
137,65
138,37
137,54
138,95
138,67
139,18
137,25
Nilai rata – rata 138,01 138,31
Doc2
(13,16 KB)
1
2
3
4
5
155,64
155,06
155,71
155,62
155,25
158,21
157,71
159,85
161,45
158,76
Nilai rata – rata 155,45 159,19
Berdasarkan Hasil Pengujian Embedding File .docx pada Tabel 1,
didapatkan nilai rata-rata waktu (dalam milisecond) yang dibutuhkan dari proses
embedding :
- Pada pengujian Doc1_Audio1 nilai rata-rata waktu yang dibutuhkan 138,01 ms.
- Pada pengujian Doc1_Audio2 nilai rata-rata waktu yang dibutuhkan 138,31 ms.
- Pada pengujian Doc2_Audio1 nilai rata-rata waktu yang dibutuhkan 155,45 ms.
- Pada pengujian Doc2_Audio2 nilai rata-rata waktu yang dibutuhkan 159,19 ms.
Embedding Data File Teks
Pengujian ini menggunakan file teks dengan format .txt, yang akan
disisipkan ke dalam file audio .WAV dengan ukuran yang berbeda. File teks
diberi nama Text1 dan Text2. Text1 berukuran 1KB dan Text2 berukuran 5KB.
Sedangkan file audio yang dipakai adalah audio1.wav (2.940 KB) dan audio2.wav
(8.594 KB). Kunci enkripsi yang dipakai “marsanthia”.
Tabel 2 Hasil Pengujian Embedding File .txt
File yang disisipkan
(.txt)
Pengujian
Waktu Embadding
Audio1 (2.940 KB)
(MS)
Audio2 (8.594 KB)
(MS)
Text1
(1 KB)
1
2
3
4
5
6,12
6,43
6,32
6,14
6,21
8,10
8,15
8,28
8,32
8,20
Nilai rata-rata 6,24 8,21
Text2
(5 KB)
1
2
3
4
5
6,32
6,29
6,37
6,21
6,29
51,78
52,43
51,51
52,84
52,35
Nilai rata-rata 6,29 52,18
17
Berdasarkan Hasil Pengujian Embedding File .txt pada Tabel 2, didapatkan nilai
rata-rata waktu (dalam milisecond) yang dibutuhkan dari proses embedding :
- Pada pengujian Text1_Audio1 nilai rata-rata waktu yang dibutuhkan 6,24 ms.
- Pada pengujian Text2_Audio1 nilai rata-rata waktu yang dibutuhkan 8,21 ms.
- Pada pengujian Text1_Audio2 nilai rata-rata waktu yang dibutuhkan 6,29 ms.
- Pada pengujian Text2_Audio2 nilai rata-rata waktu yang dibutuhkan 52,18 ms.
Embedding Data Dengan Ukuran Berbeda
Pengujian ini menggunakan file text dengan ukuran yang berbeda yang
akan disisipkan ke dalam file audio dengan menggunakan dua file audio .WAV
sebagai media penampung yang diberi nama Audio1 (2.940 KB) dan Audio2
(8.594 KB), serta sepuluh file text dengan ukuran yang berbeda sebagai objek
yang akan disisipkan dengan nama Text1 (1 KB), Text2 (2 KB), Text3 (3 KB),
Text4 (4 KB), Text5 (5 KB), Text6 (6 KB), Text7 (7 KB), Text8 (8 KB), Text9 (9
KB), dan Text10 (10 KB). Kunci enkripsi yang dipakai “marsanthia”. Hasil dari
pengujian ini dapat dilihat pada Tabel 3.
Tabel 3 Hasil Embedding Data Degan Ukuran Berbeda
Nama Audio
Waktu Proses (MS)
Text1 Text2 Text3 Text4 Text5 Text6 Text7 Text8 Text9 Text10
(1 KB) (2 KB) (3 KB) (4 KB) (5 KB) (6 KB) (7 KB) (8 KB) (9 KB) (10 KB)
Audio1 4,42 12,18 21,01 27,09 34,46 44,95 56,17 64,67 67,51 80,87
Audio2 4,78 12,54 20,46 28 34,45 42,15 57,89 61,32 68,28 75,46
Berdasarkan data pada Tabel 3, dibuat grafik yang dapat dilihat pada
Gambar 9.
Gambar 9 Diagram Embedding Untuk File Dengan Ukuran Berbeda
Berdasarkan diagram pada Gambar 9, yaitu diagram proses embedding
dengan ukuran file yang akan disisipkan berbeda serta menggunakan dua audio
dengan ukuran berbeda untuk menjadi media penampung, yang dimulai dari
ukuran file yang kecil hingga besar, maka dihasilkan garis yang semakin
meningkat karena semakin besar pesan yang disisipkan maka semakin banyak
pula waktu yang dibutuhkan untuk proses embedding, karena semakin banyak bit
yang harus dibaca kemudian disisipkan, yang menyebabkan proses penyisipannya
harus berulang dan memerlukan lebih banyak waktu. Sedangkan pada kedua audio
walaupun berbeda ukuran namun hanya sedikit pengaruh terhadap proses
18
embedding. Kesimpulannya besar ukuran pesan yang akan disisipkan sangat
mempegaruhi waktu embedding namun besar ukuran audio tidak terlalu
mempengaruhi waktu embedding.
Ekstraksi Data Pada Audio
Untuk mengetahui apakah proses steganografi berhasil atau tidak, maka
salah satu syaratnya yaitu data yang telah di embedding harus dapat ditampilkan
kembali melalui proses ekstraksi. Oleh karena itu percobaan ekstraksi sangat
penting supaya bisa dilihat apakah pesan audio yang disisipkan dapat kembali
seperti semula ataupun tidak. Hasil pengujian ini dapat dilihat pada Tabel 4.
Tabel 4 Hasil Ekstraksi
Stego File Ekstraksi Proses Isi Waktu
(MS)
Doc1_Audio1
Doc2_Audio1
Doc1_Audio2
Doc2_Audio2
Text1_Audio1 Text2_Audio1
Text1_Audio2
Text2_Audio2
Ya
Ya
Ya
Ya
Ya Ya
Ya
Ya
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil Berhasil
Berhasil
Berhasil
100%
100%
100%
100%
100% 100%
100%
100%
0,31
0,32
0,57
0,59
0,16 0,15
0,43
0,44
Berdasarkan hasil ekstraksi pesan pada Tabel 4, diketahui bahwa semua
file yang telah mengalami proses embedding berhasil diekstraksi dengan hasil
sesuai dengan apa yang disisipkan. Tabel 4 juga menunjukkan bahwa besar file
yang disisipkan juga mempengaruhi waktu ekstraksi. Semakin besar file yang
disisipkan, semakin lama waktu yang dibutuhkan untuk proses ekstraksi.
Ekstraksi Data Dengan Ukuran Berbeda
Setelah pengujian embedding dengan menggunakan ukuran dokumen yang
berbeda, kemudian dilakukan proses ekstraksi, waktu proses ekstraksi dapat
dilihat pada Tabel 5.
Tabel 5 Hasil Ekstraksi Data Dengan Ukuran Berbeda
Nama Audio
Waktu Proses (MS)
Text1 Text2 Text3 Text4 Text5 Text6 Text7 Text8 Text9 Text10
(1 KB) (2 KB) (3 KB) (4 KB) (5 KB) (6 KB) (7 KB) (8 KB) (9 KB) (10 KB)
Audio1 0,2 0,6 0,2 0,23 0,21 0,21 0,25 0,25 0,25 0,23
Audio2 0,43 0,42 0,43 0,46 0,45 0,46 0,46 0,46 0,48 0,46
Berdasarkan hasil pengujian pada Tabel 3 dan Tabel 5, diketahui bahwa
besar file yang disisipkan juga mempengaruhi waktu ekstraksi. Semakin besar file
yang disisipkan semakin lama waktu yang dibutuhkan untuk proses ekstraksi.
Berdasarkan data pada Tabel 5, dibuat grafik yang dapat dilihat pada
Gambar 10.
19
Gambar 10 Diagram Ekstraksi Untuk File Dengan Ukuran Berbeda
Berdasarkan pada Gambar 10, yaitu diagram proses ekstraksi dengan
ukuran file yang telah disisipkan berbeda-beda serta menggunakan dua audio
dengan ukuran berbeda pula yang menjadi media penampungnya, yang dimulai
dari ukuran file yang kecil hingga besar, maka dihasilkan garis yang tidak
beraturan dan tidak menentu, namun waktu yang dibutuhkan pada proses ini jauh
lebih sedikit dibandingkan proses embedding. Sedangkan ukuran audio lebih
berpengaruh dibandingkan ukuran file yang disisipkan yaitu semakin besar audio
semakin banyak waktu yang dibutuhkan pada proses embedding. Jadi dapat
disimpulkan bahwa pada proses ekstraksi ukuran file yang akan diekstraksi tidak
mempengaruhi waktu proses tetapi ukuran audio penampung yang mempengaruhi
waktu ekstraksi.
Analisis Hasil Pengujian Sistem
Analisis Sistem Embedding dan ekstraksi
Setelah proses pengujian dilakukan terhadap sistem embedding dengan
menggunakan media penampung berupa file audio dengan format WAV dan
objek penyisipan berupa file dokumen dengan format .docx dan file teks dengan
format .txt, dapat disimpulkan bahwa proses berjalan dengan baik dan berhasil.
Sebelum proses embedding dilakukan, user akan memasukkan media
penampung dan objek. Objek akan diproses enkripsi, kemudian barulah proses
embedding dijalankan kemudian menghasilkan stego audio, dimana jika
dibandingkan dengan audio aslinya tidak akan ditemukan perbedaan dari ukuran
maupun suara, sehingga tidak akan menghadirkan kecurigaan dari pihak lain.
Demikian juga proses ekstraksi dimana sebelum dilakukan proses
ekstraksi, user harus memasukkan stego audio yang akan diekstrak, setelah itu
dilakukan proses dekripsi, barulah menjalankan proses ekstraksi, hasil ekstraksi
berupa dokumen baru sama dengan dokumen yang asli, proses ini pun berjalan
dengan baik dengan keberhasilan sama seperti proses embedding, hanya pada
proses ekstraksi masih memiliki kekurangan yaitu setelah melakukan ekstraksi
pada stego audio pesan yang disisipkan masih tersimpan di dalam file audio,
sehingga dapat memungkinkan pihak lain mendapatkan pesan yang sama.
20
Analisis Kualitas Audio
Berdasarkan hasil pengujian pada Tabel 1 dan Tabel 2, stego audio yang
dihasilkan mempunyai ukuran yang sama dengan audio aslinya sebelum
dilakukan proses embedding, juga setelah dilakukan proses ekstraksi. Dengan
pendengaran normal tidak ditemui perbedaan pada audio maupun stego audio.
Analisis hasil steganografi berdasarkan ukuran audio, dapat dilihat pada Tabel 6.
Tabel 6 Hasil Steganografi Berdasarkan Ukuran Audio
Nama audio Embedding Ekstraksi
sebelum sesudah sebelum sesudah
Audio1
Audio2
2.940 KB
8.594 KB
2.940 KB
8.594 KB
2.940 KB
8.594 KB
2.940 KB
8.594 KB
Analisis Pengaruh Ukuran Data
Berdasarkan hasil pengujian pada Tabel 1 dan Tabel 2, ukuran data
mempengaruhi proses embedding maupun ekstraksi yaitu semakin besar ukuran
dokumen yang akan disisipkan maupun diekstrak, maka semakin panjang juga
waktu yang dibutuhkan di dalam proses, namun demikian proses embedding lebih
banyak menghabiskan waktu dari pada proses ekstraksi, walaupun dengan ukuran
dokumen yang sama. Analisis ukuran data dapat dilihat pada Tabel 7.
Tabel 7 Ukuran File
Nama File Sebelum Embedding Sesudah Ekstraksi
Doc1
Doc2
Text1
Tex2
12,10 KB
13,16 KB
1 KB
5 KB
12,10 KB
13,16 KB
1 KB
5 KB
Analisis Waktu Proses
Perbedaan waktu proses saat pengujian dengan media penampung dan
objek yang sama, dapat disebabkan karena adanya proses lain yang harus
dikerjakan serta kemampuan memori pada komputer yang dipakai untuk
menjalankan proses. Waktu rata-rata pengujian embedding dapat dilihat pada
Tabel 8, dan analisis waktu ekstraksi dapat dilihat pada Tabel 9.
Tabel 8 Waktu Rata-rata Pengujian Embedding
File Penyimpanan Ukuran File
(KB)
Waktu Rata-rata
Audio1
(Size 2.940 KB)
(MS)
Audio2
(Size 8.594 KB)
(MS)
Doc1
Doc2
12,10
13,16
138,01
155,45
138,31
159,19
Text1
Text2
1
5
6,24
6,29
8,21
52,18
21
Table 9 Waktu Proses Ekstraksi
Stego audio Ukuran file
(objek)
Waktu
(MS)
Doc1_Audio1
Doc2_Audio1
Doc1_Audio2
Doc2_Audio2
Text1_Audio1
Text2_Audio1
Text1_Audio2
Text2_Audio2
12,10 KB
13.16 KB
12,10 KB
13.16 KB
1 KB
5 KB
1 KB
5 KB
1,93
1,94
2,98
2,96
1,16
1,35
2,32
2,85
Analisis Perbandingan Wave Form
Analisis 1
Kunci: satyawacana
File media: music.wav 8.39MB (8,800,020 bytes), kapasitas 1,002,305 bits
Dokumen: Text2.txt 4.17kB (4,268 bytes) 34,288 bits
File Hasil Penyisipan: music+text2.wav.
Total Time: 22.4392834 detik
Software yang digunakan untuk menganalisis: Cool Edit Pro 2.1
Hasil Analisis Waveform ditunjukkan pada Gambar 11
Gambar 11 Visualisasi Waveform Untuk File Text2.txt
Gambar 11 merupakan visualisasi waveform pada dua file .wav. Bagian
atas adalah visualiasi waveform file music.wav, dan bagian bawah adalah file
music+text2.wav, file yang telah disisipi dokumen. Waveform adalah sebuah
kurva yang menunjukkan bentuk gelombang pada waktu tertentu. Perbandingan
pada Gambar 11, secara visual tidak menunjukkan perbedaan yang signifikan
antara file asli (music.wav) dan file yang telah disisip (music+teks2.wav).
22
5. Simpulan Berdasarkan hasil penelitian dan pengujian yang telah dilakukan dapat
disimpulkan bahwa, ukuran file yang disisipkan serta ukuran media penampung,
mempengaruhi waktu dalam proses embedding. Semakin besar file yang akan
disisipkan serta semakin besar media penampung maka semakin lama pula waktu
yang dibutuhkan untuk proses embedding. Waktu yang diperlukan dalam proses
ekstraksi jauh lebih pendek dari waktu yang dibutuhkan pada proses embedding.
Perubahan kualitas audio tergantung pada besar kecilnya file yang disisipkan.
Ukuran data sebelum dan sesudah proses embedding tidak mengalami perubahan.
Hasil penyisipan tidak menunjukkan perbedaan yang signifikan antara file yang
menjadi media penampung dengan file yang akan disisipkan. Saran untuk
pengembangan aplikasi ini, diharapkan agar aplikasi ini dapat dikembangkan
dengan menggunakan file audio yang lain sebagai media steganografi, misalnya
mp3, serta menggunakan algoritma kriptografi yang lain untuk proses enkripsi
dan dekripsi.
6. Daftar Pustaka
[1] Munir, Rinaldi, 2006. Kriptografi Steganografi dan Watermarking, Bandung
: Institut Teknologi Bandung.
[2] Sridevi, Damodaram, & Narasimham, 2009. Efficient Method of Audio
Steganography by Modified LSB Algorithm and Strong Encryption Key with
Enhanced Security, Hyderabad : Department of Computer Science and
Engineering-JNTUH.
[3] Budiman, 2010. Aplikasi Steganografi Pada Vidio Dengan Metode Least
Significant Bit (LSB), Bandung : UNIKOM.
[4] Susanti, 2007. Steganografi Gambar Pada Least Significant Bit (LSB)
Dengan Pengunaan PRNG (Pseudo Random Number Generator), Bogor :
IPB.
[5] Pressman, Roger S, 2001. Software Engineering a Practitioner’s Approach,
New York : McGraw-Hill Higher Education.
[6] Nugroho, Adi, 2005. Rational Rose Untuk Pemodelan Berorientasi Objek,
Bandung : Informatika.
Recommended