21
1 1. Pendahuluan Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika kriptografi merahasiakan makna pesan sementara eksistensi pesan tetap ada, maka steganografi menutupi keberadaan pesan. Dalam praktiknya, 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. Dalam menjaga keamanan pesan yang dikirimkan, data dalam pesan tersebut dapat disamarkan terlebih dahulu dengan menggunakan teknik kriptografi. Kemudian teknik steganografi digunakan agar dalam pengiriman pesan, pesan yang disisipkan pada audio tidak dapat diketahui sehingga ketika audio diambil oleh pihak ketiga atau pihak lainnya tidak dapat menyadari adanya pesan di dalam audio yang dikirimkan. Berdasarkan latar belakang masalah tersebut, maka dilakukan penelitian dengan tujuan merancang suatu aplikasi steganografi yang akan melakukan penyisipan file atau pesan rahasia ke dalam file audio dengan format *.WAV menggunakan metode Enhanced Audio steganography (EAS) serta menggunakan algoritma Columnar Transposition untuk proses enkripsi dan dekripsi file. Dalam penelitian ini, file yang akan disisipkan yaitu file pesan dengan format *.txt. 2. Kajian Pustaka Adapun penelitian terdahulu yang menjadi acuan dalam penelitian ini adalah penelitian dengan judul “Efficient Method of Audio Steganography by Modified LSB Algorithm and Strong Encryption Key With Enhanced Security”. Penelitian ini 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 [1]. Penelitian dengan judul Aplikasi Steganografi pada Citra Menggunakan Metode Least Significant Bit Termodifikasi dan RC6” juga menjadi acuan dalam penelitian ini. Pada penelitian tersebut sistem steganografi yang dibangun akan dianalisis dengan melihat apakah terjadi perubahan signifikan terhadap kualitas dan besar ukuran data pada cover image setelah melalui proses embedding dan extracting data serta melihat apakah terjadi perubahan atau kerusakan pada data yang telah diekstrak [2]. Penelitian lainnya yang juga menjadi acuan dalam penelitian ini adalah penelitian dengan judul “Perancangan dan Implementasi Steganografi Menggunakan Metode Enhanced Audio Steganography (EAS)”. Pada penelitian ini metode EAS digunakan untuk menyisipkan pesan teks ke dalam file *.WAV. Proses enkripsi dan dekripsi pesan menggunakan algoritma Vigenere [3]. Berdasarkan penelitian terdahulu yang menjadi acuan, maka akan dilakukan penelitian steganografi yang menggunakan metode Enhanced Audio Steganography (EAS) dan menggunakan algoritma Columnar Transposition

Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

  • Upload
    dangque

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

1

1. Pendahuluan

Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika

kriptografi merahasiakan makna pesan sementara eksistensi pesan tetap ada, maka

steganografi menutupi keberadaan pesan. Dalam praktiknya, 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.

Dalam menjaga keamanan pesan yang dikirimkan, data dalam pesan

tersebut dapat disamarkan terlebih dahulu dengan menggunakan teknik

kriptografi. Kemudian teknik steganografi digunakan agar dalam pengiriman

pesan, pesan yang disisipkan pada audio tidak dapat diketahui sehingga ketika

audio diambil oleh pihak ketiga atau pihak lainnya tidak dapat menyadari adanya

pesan di dalam audio yang dikirimkan.

Berdasarkan latar belakang masalah tersebut, maka dilakukan penelitian

dengan tujuan merancang suatu aplikasi steganografi yang akan melakukan

penyisipan file atau pesan rahasia ke dalam file audio dengan format *.WAV

menggunakan metode Enhanced Audio steganography (EAS) serta menggunakan

algoritma Columnar Transposition untuk proses enkripsi dan dekripsi file. Dalam

penelitian ini, file yang akan disisipkan yaitu file pesan dengan format *.txt.

2. Kajian Pustaka

Adapun penelitian terdahulu yang menjadi acuan dalam penelitian ini

adalah penelitian dengan judul “Efficient Method of Audio Steganography by

Modified LSB Algorithm and Strong Encryption Key With Enhanced Security”.

Penelitian ini 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 [1].

Penelitian dengan judul “Aplikasi Steganografi pada Citra Menggunakan

Metode Least Significant Bit Termodifikasi dan RC6” juga menjadi acuan dalam

penelitian ini. Pada penelitian tersebut sistem steganografi yang dibangun akan

dianalisis dengan melihat apakah terjadi perubahan signifikan terhadap kualitas

dan besar ukuran data pada cover image setelah melalui proses embedding dan

extracting data serta melihat apakah terjadi perubahan atau kerusakan pada data

yang telah diekstrak [2].

Penelitian lainnya yang juga menjadi acuan dalam penelitian ini adalah

penelitian dengan judul “Perancangan dan Implementasi Steganografi

Menggunakan Metode Enhanced Audio Steganography (EAS)”. Pada penelitian

ini metode EAS digunakan untuk menyisipkan pesan teks ke dalam file *.WAV.

Proses enkripsi dan dekripsi pesan menggunakan algoritma Vigenere [3].

Berdasarkan penelitian terdahulu yang menjadi acuan, maka akan

dilakukan penelitian steganografi yang menggunakan metode Enhanced Audio

Steganography (EAS) dan menggunakan algoritma Columnar Transposition

Page 2: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

2

untuk proses enkripsi pada data atau pesan yang akan disisipkan serta media yang

digunakan yaitu file audio berformat *.WAV.

Steganografi berasal dari Bahasa Yunani, yaitu “steganos” yang artinya

“tulisan tersembunyi”. Steganografi adalah ilmu dan seni menyembunyikan pesan

rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak

dapat diketahui [4]. Steganografi menyembunyikan pesan rahasia ke dalam media

penampung pesan rahasia, dimana pesan tersebut telah dienkripsi terlebih dahulu.

Selanjutnya menyisipkan ciphertext ke dalam media penampung tanpa mengubah

media tersebut sehingga sebelum dan setelah proses penyembunyian pesan, media

penampung sama seperti aslinya.

Algoritma EAS merupakan algoritma yang memodifikasi algoritma LSB.

Modifikasi yang dilakukan adalah penyisipan bit pada media penampung hanya

dilakukan pada byte yang bernilai 254 atau 255. Pada algoritma EAS, byte yang

akan digunakan sebagai penampung hanya selective byte sehingga media

penampung yang digunakan akan mengalami kerusakan yang kecil. Dalam

algoritma EAS, diterapkan juga algoritma enkripsi pada pesan yang akan

disisipkan. Terdapat empat proses yang terjadi dalam algoritma EAS yaitu

enkripsi, deskripsi, encoding, decoding [1].

Pada algoritma Columnart Transposition, huruf-huruf di dalam plaintext

tetap sama namun urutannya diubah. Algoritma ini melakukan transpose terhadap

rangkaian karakter di dalam teks. Nama lain untuk metode ini adalah permutasi

atau pengacakan (scrambling) karena transpose setiap karakter di dalam teks

sama dengan mempermutasikan karakter-karakter tersebut [4].

Proses enkripsi pesan pada algoritma Columnar Transposition dapat

dilihat pada Gambar 1. Sebagai contoh, kunci yang digunakan untuk melakukan

proses enkripsi adalah enam. Jumlah kolom yang dibentuk sesuai dengan kunci

enkripsi, sedangkan jumlah baris disesuaikan dengan panjang karakter dari

plaintext “FAKULTAS TEKNOLOGI INFORMASI UKSW”. Plaintext ditulis

secara horizontal dengan lebar kolom tetap sesuai dengan kunci yang digunakan

yaitu enam.

Gambar 1 Proses Enkripsi Algoritma Columnar Transposition [1]

Berdasarkan Gambar 1, maka ciphertext dari proes enkripsi dapat dibaca

secara vertikal yaitu menjadi “FAN MKASOIASK LNSWUTOFI LEGO

TKIRU”.

Proses dekripsi merupakan proses kebalikan dari proses enkripsi. Dekripsi

pesan dilakukan dengan membagi panjang ciphertext dengan kunci yang

ditentukan seperti pada waktu proses enkripsi. Proses dekripsi dengan algoritma

Page 3: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

3

Columnar Transposition untuk ciphertext “FAN MKASOIASK LNSWUTOFI

LEGO TKIRU” yang merupakan hasil dari proses enkripsi sebelumnya dapat

dilihat pada Gambar 2. Hasil dekripsi yang diperoleh dengan membaca setiap

kolom pada Gambar 2 adalah “FAKULTAS TEKNOLOGI INFORMASI

UKSW”.

Gambar 2 Proses Dekripsi Algoritma Columnar Transposition [1]

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. File WAV dapat dibuat dengan

menggunakan berbagai program wave editor maupun wave recorder. Pemilihan

format file *.WAV karena file ini merupakan audio yang tidak terkompres

sehingga memiliki kualitas audio yang baik dan memiliki tempat penyimpanan

yang besar dalam melakukan proses penyisipan bit pesan dalam audio, serta

memiliki library untuk membaca byte stream pada audio [5].

3. Metode dan Perancangan Sistem

Tahapan penelitian yang dilakukan dalam penelitian ini terlihat dalam

Gambar 3.

Gambar 3 Tahapan Penelitian

Berdasarkan Gambar 3 dapat dilihat tahap pertama yang dilakukan adalah

identifikasi masalah. Pada tahap ini dilakukan analisis terhadap permasalahan

yang ada, yaitu mendapatkan data dan literatur terkait dengan proses embedding,

ekstraksi, enkripsi dan dekripsi terhadap data file pada audio menggunakan

Page 4: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

4

metode Enhanced audio steganography (EAS) dan algoritma Columnar

Transposition melalui dokumen dan referensi yang ada.

Tahap selanjutnya yang dilakukan adalah perancangan sistem. Perancangan

proses dalam sistem dilakukan dengan menggunakan Unified Modeling Language

(UML). Adapun diagram yang dibuat pada perancangan sistem ini adalah use case

diagram. Use case diagram merupakan diagram yang memperlihatkan hubungan

antara aktor dengan sistem [6].

Gambar 4 Use Case Diagram Sistem

Gambar 4 menunjukkan use case diagram dari sistem yang dibangun.

Pada Gambar 4 dapat dilihat interaksi antara user dengan sistem, dimana terdapat

user yang dapat berperan sebagai embeddor maupun extractor. Embeddor dapat

melakukan input audio, input document, dan proses embedding dengan

memasukkan key untuk proses enkripsi. Extractor dapat melakukan input stego

audio serta proses ekstraksi dengan memasukkan key untuk proses dekripsi.

Selain itu user dapat juga melakukan perbandingan file audio maupun file

document.

Pada tahap perancangan sistem, juga dilakukan perancangan untuk proses

embedding, extracting dengan algoritma EAS, dan proses enkripsi dan dekripsi

dengan algoritma Columnar Transposition. Perancangan ini diperlukan agar

proses implementasi lebih sistematis dan terarah. Flowchart proses embedding

dapat dilihat pada Gambar 5, proses extracting pada Gambar 6, flowchart proses

enkripsi dapat dilihat pada Gambar 7 dan proses dekripsi pada Gambar 8.

Page 5: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

5

Gambar 5 Proses Embedding

Algoritma proses embedding pada Gambar 5, secara umum digunakan

untuk menyembunyikan pesan atau data di dalam data lainnya. Media diperlukan

sebagai sarana penampung pesan tersebut untuk menyembunyikan pesan rahasia.

Setelah menentukan media penampung, kemudian pesan rahasia disisipkan ke

dalam media penampung. Selanjutnya dilakukan proses embedding menggunakan

algoritma embedding. Pada Gambar 5 dapat dilihat bahwa setelah user mengisi

file audio, file document dan key enkripsi, sistem akan menghitung besar lokasi

yang tersedia pada file audio dan file document tersebut. Kemudian file yang akan

disisipkan dienkripsi terlebih dahulu. File WAV yang digunakan sebagai media

penyisipan harus memiliki jumlah byte bernilai 254 atau 255 yang cukup

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

Page 6: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

6

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.

Gambar 6 Proses Extracting

Proses yang terjadi sesuai algoritma extracting data seperti pada Gambar 6

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

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 ada data yang disisipkan maka

proses akan selesai, tetapi jika ada data yang disisipkan maka proses akan

berlanjut dengan penyiapan penampung pesan. Sistem akan membaca panjang

Page 7: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

7

data yang disisipkan ke 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 diperoleh akan didekripsi, kemudian disimpan sebagai file baru.

Proses selesai dengan output document yang telah dilakukan proses extracting.

Gambar 7 Proses Enkripsi

Gambar 7 menjelaskan proses enkripsi file dimulai dengan input file

(plaintext), selanjutnya input key sebagai perhitungan jumlah kolom dalam proses

enkripsi. Setelah proses input selesai, selanjutnya proses enkripsi dijalankan.

Proses enkripsi melakukan langkah-langkah untuk melakukan proses enkripsi,

Setelah proses selesai dijalankan, maka akan menghasilkan output ciphertext.

Page 8: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

8

Gambar 8 Proses Dekripsi

Gambar 8 menjelaskan proses dekripsi file dimulai dengan input file

(ciphertext), selanjutnya input key sebagai perhitungan jumlah kolom dalam

proses enkripsi. Setelah proses input selesai, selanjutnya proses dekripsi

dijalankan. Proses dekripsi melakukan langkah-langkah untuk melakukan proses

dekripsi, Setelah proses selesai dijalankan, maka akan menghasilkan output

plaintext.

Setelah melakukan perancangan sistem menggunakan UML serta

perancangan flowchart, tahap selanjutnya yaitu implementasi sistem. Pada tahap

ini dilakukan implementasi perancangan yang telah dibuat. Implementasi

dilakukan dengan menulis kode program menggunakan bahasa pemrograman C#.

Tahapan selanjutnya yang dilakukan yaitu pengujian sistem. 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 Columnar Transposition.

Page 9: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

9

4. Hasil dan Pembahasan

Pada bagian hasil dan pembahasan akan dibahas mengenai penerapan dari

tiap perancangan yang sudah dibangun. Adapun hasil penerapan yang akan

dibahas adalah proses embedding dan proses extracting.

Proses embedding dimulai dengan menghitung jumlah bit yang tersedia

dari file audio sebagai media penampung untuk penyisipan pesan dan jumlah bit

yang harus disisipkan dari file document yang berisi pesan rahasia. Setelah itu,

pesan rahasia tersebut akan dienkripsi terlebih dahulu dan kemudian disisipkan

pada media penampung. Pengkodean untuk proses perhitungan jumlah bit dari file

audio dapat dilihat pada Kode Program 1 sedangkan untuk proses perhitungan

jumlah bit dari file document dapat dilihat pada Kode Program 2 dan pengkodean

untuk proses enkripsi dapat dilihat pada Kode Program 3.

Kode Program 1 Proses Perhitungan Jumlah Bit File Audio

Pada Kode Program 1 terdapat fungsi HitungKapasitasBit dengan

parameter nama dari file audio yang akan dihitung jumlah bitnya. Proses

perhitungan dimulai dari perintah baris 9 sampai pada baris 16. Setelah berhasil

melakukan perhitungan, fungsi tersebut akan mengembalikan nilai dari

perhitungan yang dilakukan berupa jumlah bit yang tersedia untuk disisipkan

pesan.

1. public int HitungKapasitasBit(string filename)

2. {

3. if (File.Exists(filename))

4. {

5. int counter = 0;

6. FileStream waveFileStream = new FileStream(filename, FileMode.Open);

7. WaveStream baru = new WaveStream(waveFileStream);

8. int r = -1;

9. while ((r = baru.ReadByte()) != -1)

10. {

11. byte current = (byte)r;

12. if (current == A || current == B)

13. {

14. counter++;

15. }

16. }

17. baru.Close();

18. waveFileStream.Close();

19. return counter;

20. }

21. .

22. .

23. .

24. .

25. }

Page 10: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

10

Kode Program 2 Perintah Untuk Proses Perhitungan Jumlah Bit File Document

Kode Program 2 merupakan pengkodean untuk menghitung jumlah bit

yang harus disisipkan dari file document. Perhitungan jumlah bit dilakukan

dengan perintah pada baris 14, yang ditampung dalam variabel binaryMessage.

Kode Program 3 Perintah Untuk Proses Enkripsi

1. private String BuildBinaryMessage(int key , string documentFile)

2. {

3. byte[] plain = File.ReadAllBytes(documentFile);

4. byte[] message = Transposisi.TranspositionCipherAdapter.Encrypt

(plain,key);

5. FileInfo infoFile = new FileInfo(documentFile);

6. byte[] fileName = Encoding.Default.GetBytes(infoFile.Name);

7. int messageLength = message.Length * 8;

8. int nameLength = fileName.Length * 8;

9. String binaryMarker = BitsMarker;

10. String binaryNameLength = IntToBinaryString(nameLength);

11. String binaryName = StringToBinaryString(fileName);

12. String binaryMessageLength = IntToBinaryString(messageLength);

13. String binaryMessage = StringToBinaryString(message);

14. binaryMessage = binaryMarker + binaryNameLength + binaryName +

binaryMessageLength + binaryMessage;

15. return binaryMessage;

16. }

1. public static List<string> transpose(string plain, int k)

2. {

3. string rslt = "";

4. List<string> listRsltTranspose = new List<string>();

5. char[] data = plain.ToCharArray();

6. int count = data.Length;

7. for (int i = 0; i < count; )

8. {

9. string strTemp = "";

10. if ((i + k) > count)

11. {

12. for (int n = i; n < count; n++)

13. {

14. rslt += data[n];

15. strTemp += data[n];

16. }

17. listRsltTranspose.Add(strTemp);

18. }

19. else

20. {

21. int temp = i;

22. for (int j = i; j < (temp + k); j++)

23. {

24. rslt += data[j];

25. strTemp += data[j];

26. }

27. listRsltTranspose.Add(strTemp);

28. }

29. i += k;

30. rslt += "\n";

31. }

32. return listRsltTranspose;

33. }

Page 11: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

11

Pada Kode Program 3 terdapat fungsi transpose dengan parameter plain

yaitu pesan yang akan disisipkan dan k sebagai kunci yang digunakan untuk

melakukan proses enkripsi. Proses enkripsi dilakukan dengan perintah pada baris

7 sampai baris 31 sesuai dengan algoritma Columnar Transposition. Hasil dari

fungsi tersebut adalah pesan yang telah dienkripsi.

Setelah melakukan enkripsi pada pesan rahasia, langkah selanjutnya yang

dilakukan yaitu proses embedding. Pada proses ini dilakukan penyisipan pesan

rahasia ke dalam media penampung berupa file audio. Pengkodean untuk

penyisipan pesan dapat dilihat pada Kode Program 4.

Kode Program 4 Perintah Untuk Proses Penyisipan

Kode Program 4 merupakan pengkodean untuk proses embedding data ke

dalam media penampung. Penyisipan data pada tiap byte file audio dilakukan

dengan perintah pada baris 10 sampai baris 19. Hasil dari proses embedding yang

dilakukan dapat dilihat pada Gambar 9.

Gambar 9 Antarmuka Untuk Proses Embedding

1. public void EmbeddingStart(int key, string mediaFile, string resultFile,

string documentFile)

2. {

3. .

4. .

5. List<int> daftarIndex = FindIndices(mediaBytes);

6. .

7. String binaryMessage = BuildBinaryMessage(key, documentFile);

8. .

9. int messageIndex = 0;

10. foreach (int index in daftarIndex)

11. {

12. if (messageIndex >= binaryMessage.Length) break;

13. byte current = mediaBytes[index];

14. char bit = binaryMessage[messageIndex];

15. current = ReplaceBit(current, bit);

16. mediaBytes[index] = current;

17. messageIndex++;

18. .

19. }

20. destinationStream.Write(mediaBytes, 0, mediaBytes.Length);

21. .

22. .

23. }

Page 12: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

12

Gambar 9 merupakan tampilan antarmuka untuk proses embedding dimana

user akan memilih button browse untuk memilih media penampung. Selanjutnya

pilih dokumen yang akan disisipkan, kemudian user memasukkan kunci yang

diinginkan pada textbox key, kemudian pilih button embed untuk memilih lokasi

dimana ingin menyimpan file hasil embedding. Kemudian proses penyisipan file

dokumen ke dalam media *.WAV berjalan hingga tampil message box finish,

maka proses embedding telah selesai.

Selain proses embedding, user juga dapat melakukan proses extracting

pada aplikasi yang dibangun. Proses extracting dilakukan dengan mengeluarkan

file document yang disisipkan terlebih dahulu kemudian file tersebut didekripsi.

Pengkodean untuk mengeluarkan file document yang disisipkan dapat dilihat pada

Kode Program 5 dan pengkodean untuk proses dekripsi dapat dilihat pada Kode

Program 6.

Kode Program 5 Perintah Untuk Proses Ekstraksi

Kode Program 5 merupakan pengkodean untuk membaca file document

yang disisipkan pada media penampung. Perintah pada baris 14 dapat dilihat

bahwa program akan memanggil fungsi yang digunakan untuk mendekripsikan

pesan rahasia yang telah dienkripsi pada proses embedding. Setelah itu hasil

dekripsi pesan akan disimpan sebagai file yang baru.

1. public void ExtractingStart(string key, string mediaFile, string

resultFolder)

2. {

3. .

4. .

5. List<byte> containers = GetContainer(mediaBytes);

6. .

7. .

8. if (IsHeaderValid(containers.GetRange(0, 8)))

9. {

10. int nameBytesLength = ReadInteger(containers.GetRange(8,

32).ToArray());

11. string fileName = ReadString(containers.GetRange(40,

nameBytesLength).ToArray());

12. int messageBytesLength = ReadInteger(containers.GetRange(40 +

nameBytesLength, 32).ToArray());

13. byte[] cipherMessage = ReadBytes(containers.GetRange(40 +

nameBytesLength + 32,

messageBytesLength).ToArray());

14. byte[] message = TranspositionCipherAdapter.Decrypt(

cipherMessage,int.Parse(key));

15. FileStream result = new FileStream(resultFolder, FileMode.Create);

16. result.Write(message, 0, message.Length);

17. result.Close();

18. .

19. }

20. .

21. .

22. }

Page 13: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

13

Kode Program 6 Perintah Untuk Perintah Untuk Proses Dekripsi

File document yang telah berhasil diekstraksi dari media penampung

berupa file stego audio kemudian didekripsi melalui pengkodean seperti pada

Kode Program 6. Proses dekripsi dimulai dari perintah pada baris 9 sampai baris

29. Hasil dari proses extracting dapat dilihat pada Gambar 10.

Gambar 10 Antarmuka Untuk Proses Extracting

Gambar 10 merupakan tampilan antarmuka untuk proses extracting dimana

user akan memasukkan file stego audio yang akan diekstraksi dengan memilih

button browse. Selanjutnya user harus memasukkan kunci dekripsi pada textbox

key yang sama dengan kunci enkripsi, kemudian pilih button extract untuk

memilih lokasi dimana ingin menyimpan file hasil ekstraksi. Setelah itu proses

1. public static List<string> transpose(string plain, int k, int remain)

2. {

3. string rslt = "";

4. List<string> listRsltTranspose = new List<string>();

5. string str = "";

6. int previousIndex = 0, nextIndex = 0;

7. int countCopy = plain.Length / k;

8. int inc = 0;

9. for (int i = 0; i < plain.ToCharArray().Length; )

10. {

11. nextIndex += countCopy ;

12. if (remain != 0)

13. {

14. nextIndex += 1;

15. --remain;

16. listRsltTranspose.Add(plain.Substring(previousIndex, countCopy +1

));

17. i += (countCopy + 1);

18. }

19. else

20. {

21. Try

22. {

23. listRsltTranspose.Add(plain.Substring(previousIndex, countCopy

));

24. i += countCopy;

25. }catch (Exception ) {

26. }

27. }

28. previousIndex = nextIndex;

29. }

30. plain = str;

31. return listRsltTranspose;

32. }

Page 14: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

14

ekstraksi akan berjalan hingga tampilnya message box finish maka proses

ekstraksi selesai.

Setelah melakukan implementasi sistem terhadap perancangan yang

dibuat, selanjutnya dilakukan pengujian sistem. Pengujian sistem dilakukan

dengan membandingkan pengaruh ukuran file audio maupun file document

terhadap durasi atau waktu proses embedding dan extracting. Hasil pengujian

untuk proses embedding dapat dilihat pada Tabel 1 dan untuk proses extracting

dapat dilihat pada Tabel 3.

Tabel 1 Hasil Pengujian Embedding Data dengan Ukuran Berbeda

File Yang

Disisipkan (.txt)

Jumlah Bits

Yang Dapat

Disisipkan

Waktu Embedding (MS)

Audio 1

(10.666 KB)

(348.056 bit)

Audio 2

(8.592 KB)

(176.289 bit)

Pesan 1 (2 KB) 8.760 bits 13,74 13,78

Pesan 2 (6 KB) 49.080 bits 58,93 64,98

Pesan 3 (10 KB) 79.320 bits 99,55 105,17

Pesan 4 (14 KB) 108.120 bits 135,33 145,75

Pesan 5 (18 KB) 147.000 bits 182,56 216,65

Pesan 6 (21 KB) 167.184 bits 193,33 255,35

Pesan 7 (22 KB) 177.248 bits 238,74

Pesan 8 (24 KB) 188.784 bits 238,74

Pesan 9 (28 KB) 223.392 bits 322,40

Pesan 10 (32 KB) 255.040 bits 385,10

Pesan 11 (36 KB) 288.160 bits 445,63

Pesan 12 (40 KB) 327.088 bits 450,04

Pesan 13 (43 KB) 348.688 bits

Pengujian pada Tabel 1 dilakukan dengan menggunakan file document

dengan format *.txt yang akan disisipkan pada file audio dengan format *.WAV.

kunci enkripsi yang digunakan untuk proses embedding adalah enam. Berdasarkan

hasil pengujian embedding data dengan ukuran yang berbeda pada Tabel 1 dapat

dilihat bahwa pengujian pada Audio 2 untuk menyisipkan file Pesan 7 sampai file

Pesan 13 tidak dapat dilakukan karena jumlah bit pesan melebihi kapasitas bit

yang tersedia pada Audio 2. Sebagai contoh, file Pesan 7 memiliki 177.248 bit

yang dapat disisipkan, sedangkan pada Audio 2 hanya tersedia 176.289 bit untuk

disisipkan. Grafik dari Tabel 1 dapat dilihat pada Gambar 11 dan Gambar 12.

Page 15: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

15

Gambar 11 Grafik Embedding Audio1 Gambar 12 Grafik Embedding Audio2

Berdasarkan grafik pada Gambar 11 dan Gambar 12 yaitu grafik proses

embedding data dengan ukuran berbeda, file yang akan disisipkan berbeda pada

dua file audio dengan ukuran berbeda pula, dapat dilihat bahwa semakin besar

ukuran file yang disisipkan maka semakin lama waktu yang dibutuhkan untuk

proses embedding. Hal ini disebabkan karena semakin banyak bit yang harus

dibaca kemudian disisipkan, sehingga proses penyisipan harus dilakukan

berulang-ulang dan memerlukan lebih banyak waktu, sedangkan pada kedua file

audio walaupun berbeda ukuran namun hanya berpengaruh sedikit terhadap

proses embedding. Oleh karena itu dapat disimpulkan bahwa ukuran file yang

akan disisipkan dapat mempengaruhi waktu proses embedding namun besar

ukuran file audio tidak terlalu mempengaruhi waktu proses embedding.

Terkait pembahasan, karakter dari algoritma yang dibangun maka dibuat

model dengan menggunakan pencocokan kurva (fitting) berdasarkan pada Tabel

1. Pembuatan model bertujuan untuk mencari interpolasi data berdasarkan pada

Tabel 1, sebagai contoh :

Audio 1 dengan = 3 dimasukkan dalam persamaan berikut :

( )

( ) ( ) ( ) ( ) ( )

( ) 27,3816

y = -0,001x4 + 0,076x3 - 1,7946x2 + 24,606x - 32,256

R² = 0,9965

0

50

100

150

200

250

300

350

400

450

500

0 4 8 12 16 20 24 28 32 36 40 44

Audio1

Audio 1

Poly. (Audio 1)

y = -0,0052x4 + 0,2521x3 - 3,9376x2 + 33,415x - 39,612

R² = 0,999

0

50

100

150

200

250

300

0 4 8 12 16 20 24

Audio2

Audio 2

Poly. (Audio 2)

Page 16: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

16

Tabel 2 Hasil Pengujian Extracting

Stego File Ekstraksi Proses Isi Waktu Extracting

(MS)

Pesan 1 (1KB) -

Audio 1 (10.666 KB) Ya Berhasil 100% 0,19

Pesan 2 (2KB) -

Audio 1 (10.666 KB) Ya Berhasil 100% 0,26

Pesan 1 (1KB)- Audio

2 (8.592 KB) Ya Berhasil 100% 0,16

Pesan 2 (2KB) -

Audio 2 (8.592 KB) Ya Berhasil 100% 0,24

Pada Tabel 2 dapat dilihat bahwa file document yang disisipkan yaitu file

Pesan 1 dan file Pesan 2 berhasil diektraksi. Proses ekstraksi mengggunakan kunci

yang sama pada waktu proses embedding yaitu enam dan hasilnya sesuai dengan

apa yang disisipkan. Berdasarkan Tabel 2 dapat dilihat bahwa besar ukuran file

yang disisipkan berpengaruh pada waktu extracting. Semakin besar ukuran file

yang disisipkan, semakin lama waktu yang dibutuhkan untuk proses ekstraksi.

Selain pengujian seperti pada Tabel 2, juga dilakukan pengujian dari file

document dengan ukuran berbeda yang telah disisipkan pada dua file audio. File

audio dan file document yang digunakan sama dengan file yang digunakan pada

pengujian embedding. Kunci dekripsi yang digunakan juga sama seperti pengujian

sebelumnya yaitu enam. Hasil pengujian tersebut dapat dilihat pada Tabel 3.

Tabel 3 Hasil Pengujian Extracting Data Dengan Ukuran Berbeda

File Yang

Disisipkan (.txt)

Jumlah

Bits Yang

Dapat

Disisipkan

Waktu Extracting (MS)

Audio 1

(10.666 KB)

(348.056 bit)

Audio 2

(8.592 KB)

(176.289 bit)

Pesan 1 (2 KB) 8.760 bits 0,35 0,18

Pesan 2 (6 KB) 49.080 bits 1,31 1,26

Pesan 3 (10 KB) 79.320 bits 1,95 1,91

Pesan 4 (14 KB) 108.120 bits 2,85 2,80

Pesan 5 (18 KB) 147.000 bits 3,69 3,63

Pesan 6 (21 KB) 167.184 bits 4,30 4,28

Pesan 7 (22 KB) 177.248 bits 4,57

Pesan 8 (24 KB) 188.784 bits 4,97

Pesan 9 (28 KB) 223.392 bits 5,94

Pesan 10 (32 KB) 255.040 bits 6,77

Pesan 11 (36 KB) 288.160 bits 7,78

Pesan 12 (40 KB) 327.088 bits 8,97

Pesan 13 (43 KB) 348.688 bits

Page 17: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

17

Berdasarkan hasil pengujian extracting data dengan ukuran yang berbeda

pada Tabel 3, dapat dilihat bahwa pada file Pesan 7 sampai file Pesan 13 tidak

terdapat waktu extracting. Hal ini dikarenakan file Pesan 7 sampai file Pesan 13

tidak dapat disisipkan pada media penampung saat proses embedding seperti yang

terlihat pada Tabel 1. Grafik dari Tabel 3 dapat dilihat pada Gambar 13 dan

Gambar 14.

Gambar 13 Grafik Extracting Audio1 Gambar 14 Grafik Extracting Audio2

Berdasarkan grafik pada Gambar 13 dan Gambar 14 yaitu grafik proses

extracting data dengan ukuran file yang berbeda, dapat dilihat bahwa waktu yang

dibutuhkan untuk melakukan ekstraksi data lebih cepat dibandingkan waktu untuk

melakukan embedding. Berbeda dengan proses embedding, pada proses extracting

ukuran file audio lebih berpengaruh daripada file document. Semakin besar

ukuran file audio yang digunakan dalam proses embedding, semakin lama waktu

yang dibutuhkan untuk proses extracting. Oleh karena itu dapat disimpulkan

bahwa ukuran file yang akan diekstraksi tidak mempengaruhi waktu proses

embedding namun besar ukuran file audio sebagai media penampung

mempengaruhi waktu proses extracting.

Selain melakukan pengujian terhadap proses embedding dan extracting

dari sistem yang dibangun, dilakukan juga pengujian terhadap perbedaan file

audio sebelum dan sesudah dilakukan penyisipan pesan. Pengujian ini dilakukan

untuk mengetahui apakah dokumen yang disisipkan sama dengan dokumen yang

asli atau tidak. Proses pengujian dapat dilakukan melalui sistem yang dibangun

dengan memilih button compare pada tampilan utama aplikasi seperti pada

Gambar 15.

y = 3E-05x3 - 0,0012x2 + 0,2186x - 0,0597 R² = 0,9996

0

1

2

3

4

5

6

7

8

9

10

0 4 8 12 16 20 24 28 32 36 40 44

Audio1

audio1

Poly. (audio1)

y = -5E-05x4 + 0,0028x3 - 0,0474x2 + 0,5153x - 0,6776

R² = 0,9994

0

0,5

1

1,5

2

2,5

3

3,5

4

4,5

0 4 8 12 16 20 24

Audio2

audio2

Poly. (audio2)

Page 18: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

18

Gambar 15 Proses Compare File Audio

Gambar 15 merupakan proses compare file audio yang digunakan pada

proses embedding dan extracting, dimana terlihat bahwa ukuran file audio

sebelum dan sesudah dilakukan penyisipan pesan sama karena proses penyisipan

dilakukan dengan cara mengganti bit sehingga tidak merubah ukuran file audio

yang disisipkan pesan, sedangkan hasil pada MD5 checksum dari file audio

sebelum dan sesudah penyisipan pesan berbeda. Perbandingan file audio sebelum

dan sesudah disisipkan pesan dapat dilihat pada Tabel 4.

Tabel 4 Hasil Compare File Audio

File

Audio

Ukuran File MD5 Checksum

Sebelum Sesudah Sebelum Sesudah

Audio 1 10921178

byte

10921178

byte

b7b328287113c423

7466162f2d3b851a

38126af2ee5b3b9d

c4d44339b119648f

Audio 2 8798002

byte

8798002

byte

7ab0b42ac9f2d3c81

f5b9809be11c80e

9565f805ad79f282

32bb782acdb1067e

Tabel 4 menunjukkan hasil perbandingan file audio 1 yang berukuran

10.666KB dan file audio 2 yang berukuran 8.592KB.

Gambar 15 Proses Compare File Audio DiffMaker

Page 19: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

19

Gambar 15 merupakan proses compare file menggunakan aplikasi audio

DiffMaker. Pada Gambar 15 dapat dilihat bahwa terdapat reference track yang

diisi dengan file *.WAV asli dan compared track diisi dengan file audio yang

telah disisipkan pesan atau stego file. Setelah itu pilih button extract kemudian

akan muncul dua file audio dengan ukuran yang sama, yaitu file

[email protected] dan file wav01x-wav01.wav.

Gambar 16 Visualisasi Waveform Audio DiffMaker

Gambar 16 merupakan visualisasi waveform audio pada dua file yang telah

diekstrak dengan aplikasi DiffMaker. File bagian atas merupakan file

[email protected] yang menunjukkan bahwa file wav01x.wav sebagai

compared track terdapat di dalam file reference track yaitu wav01.wav, sehingga

saat file tersebut dijalankan hasil dan kualitas suaranya sama seperti file asli. File

wav01x-wav01.wav menunjukkan bahwa file wav01x.wav sebagai compared

track tidak terdapat di dalam file reference track yaitu file wav01.wav karena

stego file dikurangi dengan file asli, sehingga saat file tersebut dijalankan kualitas

suara yang dihasilkan memiliki perbedaan di awal audio yaitu ketika audio

dijalankan maka suara yang dihasilkan hanya terdengar pada awal audio, hal

tersebut disebabkan karena penyisipan pesan pada audio terjadi pada bagian awal.

Selain melakukan perbandingan pada file audio yang disisipkan pesan,

perbandingan juga dilakukan terhadap file document yang disisipkan pada file

audio. Proses perbandingan ini dapat dilakukan dengan cara yang sama seperti

pada proses perbandingan file audio sebelumnya. Proses perbandingan tersebut

dapat dilihat pada Gambar 17.

Gambar 17 Proses Compare File Document

Page 20: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

20

Gambar 17 merupakan proses compare file document yang digunakan

pada proses embedding dan extracting, dimana dari Gambar 17 dapat dilihat

bahwa ukuran file document sebelum dan sesudah dilakukan penyisipan pesan

sama karena file document hasil ekstraksi tidak mengalami penambahan bit dalam

byte pesan. Hasil pada MD5 checksum dari file document sebelum dan sesudah

penyisipan pesan juga tidak mengalami perubahan. Perbandingan file pesan

sebelum dan sesudah disisipkan ke dalam file audio dapat dilihat pada Tabel 5.

Tabel 5 Hasil Compare File Document

File Yang

Disisipkan

(.txt)

Ukuran File MD5 Checksum

Sebelum Sesudah Sebelum Sesudah

Pesan 1 176 byte 176 byte dbb89c86abca13b1

162564b9a3f9db3b

dbb89c86abca13b1

162564b9a3f9db3b

Pesan 2 1436

byte

1436

byte

ec2797cbd8e0accfc

ae6a76fd7d2454f

ec2797cbd8e0accfc

ae6a76fd7d2454f

Tabel 5 menunjukkan hasil perbandingan file Pesan 1 yang berukuran 1KB

dan file Pesan 2 yang berukuran 2KB.

Gambar 18 Visualisasi Hasil Perbandingan Audio

Gambar 18 merupakan visualisasi waveform audio pada dua file *.WAV

sebelum dan sesudah embedding. Bagian atas menunjukkan file *WAV sebelum

disisipkan dan pada bagian bawah menunjukkan file *.WAV yang telah disisipkan

pesan. Angka yang terdapat pada bagian atas merupakan durasi dari file audio.

Gambar 18 secara visual tidak menunjukkan perbedaan secara signifikan antara

file asli dan file yang telah disisipkan pesan, sehingga akan sulit dibedakan

kualitas suara dari kedua file audio tersebut oleh sistem pendengaran manusia.

Page 21: Perancangan Dan Implementasi Teknik Steganografi ...repository.uksw.edu/bitstream/123456789/8736/3/T1_672010050_Full... · Pada tahap perancangan sistem, juga dilakukan perancangan

21

5. Simpulan

Berdasarkan hasil penelitian dan pengujian yang telah dilakukan, maka

dapat diambil kesimpulan sebagai berikut : (1) Sistem steganografi yang dibangun

menggunakan metode Enhanced Audio Steganography, dapat melakukan

penyisipan (embedding) dan pengambilan (extracting) pesan dengan format

*.WAV; (2) Berdasarkan hasil pengujian integritas pesan, pesan sebelum

disisipkan dan setelah disisipkan tidak mengalami perubahan; (3) Berdasarkan

hasil pengujian visual terhadap file audio sebelum dan sesudah proses embedding,

audio tidak mengalami perubahan signifikan secara visual; (4) Berdasarkan

pengujian terhadap perbandingan waktu proses, perbedaan file audio

mempengaruhi kecepatan proses, hal ini disebabkan tiap audio memiliki

perbedaan ukuran file, perbedaan file ini yang mempengaruhi kecepatan proses

penyisipan; (5) Berdasarkan pengujian terhadap kapasitas maksimal pesan yang

dapat disisipkan dalam file audio, semakin besar ukuran file audio semakin besar

byte yang tersedia. Saran pengembangan yang dapat diberikan untuk penelitian

lebih lanjut adalah sebagai berikut : (1) Aplikasi dapat dikembangkan tidak hanya

suara digital sebagai media penampung tetapi dapat juga berupa media teks,

media citra, atau media video. (2) Aplikasi bisa dikembangkan untuk media

penampung tidak hanya *.WAV saja tetapi dapat juga dalam bentuk format suara

lain, misalnya format *.MIDI, *.MP3, *.WMA, *.ACC. (3) Serta dapat

mengembangkan metode Enhanced Audio Steganography (EAS) dan algoritma

Columnar Transposition dalam melakukan proses steganografi.

6. Daftar pustaka

[1] 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.

[2] Solsolay, Marthen, L., Pakereng, M. A. Ineke, 2012, Aplikasi Steganografi

pada Citra Menggunakan Metode Least Significant Bit (LSB)

Termodifikasi dan RC6, Skripsi, Salatiga : Universitas Kristen Satya

Wacana.

[3] Loppies, Marsanthia, J., Pakereng, M. A. Ineke, Beeh, Yos R., 2012,

Perancangan dan Implementasi Steganografi Menggunakan Metode

Enhanced Audio Steganography (EAS), Jurnal, Salatiga : Universitas

Kristen Satya Wacana.

[4] Munir, Rinaldi, 2006, Kriptografi Steganografi dan Watermarking,

Bandung : Institut Teknologi Bandung.

[5] Gunawan, Ibnu & Gunardi, Kartika, 2005, Pembuatan Perangkat Lunak

Wave Manipulator Untuk Memanipulasi File WAV, Surabaya : Universitas

Kristen Petra Surabaya.

[6] Nugroho, Adi, 2005, Rational Rose Untuk Pemodelan Berorientasi Objek,

Bandung : Informatika.