SKRIPSI
PENINGKATAN KEAMANAN DATA RAHASIA MENGGUNAKAN KRIPTOGRAFI DATA ENCRYPTION STANDARD PADA STEGANOGRAFI AUDIO BERFORMAT MP3
Diajukan untuk Memenuhi Salah Satu Syarat Mencapai gelar Sarjana Teknik HALAMA
AFRIYADIN E1E1 09 076
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HALU OLEO KENDARI 2016
HALAMAN PENGESAHAN Skripsi Sarjana
PENINGKATAN KEAMANAN DATA RAHASIA MENGGUNAKAN KRIPTOGRAFI DATA ENCRYPTION STANDARD PADA STEGANOGRAFI AUDIO BERFORMAT MP3 Adalah benar dibuat oleh saya sendiri dan belum pernah dibuat dan diserahkan sebelumnya baik sebagian ataupun seluruhnya, baik oleh saya ataupun oleh orang lain, baik di Universitas Halu Oleo ataupun institusi pendidikan lainnya.
Kendari, 15 April 2016 Pas Foto 3X4
Afriyadin E1E1 09 076
Kendari, 15 April 2016 Pembimbing II
Pembimbing I
LM. Fid Aksara, S.Kom., M.Kom. NIP.
Sutardi, S.Kom.,MT. NIP. 19710425 200801 1 010
Mengetahui, Ketua Jurusan Teknik Informatika Fakultas Teknik UHO,
Ika Purwanti Ningrum, S.Kom., M.Cs NIP. 19830116 201012 2 002
ii
HALAMAN PENGESAHAN Skripsi Sarjana
Peningkatan Keamanan Data Rahasia Menggunakan Kriptografi Data Encryption Standard pada Steganografi audio Berformat MP3 Telah diuji dan dipertahankan sidang penguji skripsi Jurusan Teknik Informatika Fakultas Teknik Universitas Halu Oleo dan dinyatakan memenuhi syarat guna memperoleh gelar Sarjana Teknik.
Kendari,
April 2016
Tim Penguji :
Tanda Tangan
1. Sutardi, S.Kom.,MT.
1. .......................................................
Pembimbing I 2. LM. Fid Aksara, S.Kom., M.Kom.
2. .......................................................
Pembimbing II 3. Jumadil Nangi, S.Kom.,MT
3. .......................................................
Ketua Sidang 4. Rahmat Ramadhan, S.Si., M.Cs
4. .......................................................
Sekretaris Sidang 5. LM. Tajidun, ST., M.Eng
5. .......................................................
Penguji III Mengesahkan,
Dekan Fakultas Teknik UHO,
Ketua Jurusan Teknik Informatika Fakultas Teknik UHO,
Mustarum Musaruddin, ST, MIT, PhD NIP. 19730122 200112 1 002
Ika Purwanti Ningrum, S.Kom., M.Cs NIP: 19830116 201012 2 002
iii
HALAMAN PERNYATAAN Dengan ini saya menyatakan bahwa Laporan Skripsi ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan sejauh yang penulis ketahui bahwa tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Kendari, Penulis,
Afriyadin
Iv
April 2016
Halaman Persembahan
Alhamdulillah Puji Syukur Atas Kehadirat Allah SWT Atas Rahmat Dan Hidayah-Nya. Tak Lupa Pula Junjungan Shalawat Dan Salam Kepada Nabi Muhammad SAW, Sehingga Penulis Dapat Menyelesaikan Tugas Akhir Ini. Tugas Akhir Ini Saya Persembahkan Secara Khusus, Dan Dengan Hati Yang Tulus Saya Sebagai Penulis Menyampaikan Rasa Terima Kasih Yang Sebesar-Besarnya Dan Penghargaan Yang Tak Terhingga Kepada : Bapak & Ibu Tercinta Bapak Madi Dan Ibu Tini Yang Telah Mendoakan, Mendidik, Memberikan Kasih Sayang, Bantuan Materi Serta Dorongan Yang Senantiasa Tanpa Henti. Terima Kasih Sebesar-Besarnya. Ucapan Terima Kasih Juga Untuk Ketiga Adikku Ariyadin, Amd. Kom, Amrin Dan Asrin Yang Selalu Memberikan Kasih Sayang Serta Dukungan Semangat. Untuk Semua Keluarga Besarku Terima Kasih Atas Do’a Dan Dukungannya, Semoga Allah SWT Membalas Kebaikan Kalian. Dengan Segalah Kerendahan Hati Saya Menyampaikan Terima Kasih Dan Penghargaan Yang Setinggi-Tingginya Untuk Kedua Pembimbingku Bapak SUTARDI, S.KOM., MT. Selaku Pembimbing I Dan Bapak LM.FID AKSARA, S.KOM., M.KOM. Selaku Pembimbing II. Terima Kasih Atas Bimbingannya Selama Ini. Semoga Allah SWT Senantiasa Memberi Rahmat Dan Hidayah-Nya Kepada Bapak Beserta Keluarga. Amin. Kepada Dosenku Ibu Ika Purwanti Ningrum S.Kom., M.Cs. Terima Kasih Atas Bimbingan Dan Bantuannya Selama Ini. Semoga Allah SWT Senantiasa Memberi Rahmat Dan Hidayah-Nya Kepada Ibu Beserta Keluarga. Amin. Kepada Para Staf Jurusan Teknik Informatika UHO Ibu Elti Dan Ka Anisa. Terima Kasih Atas Bantuannya Dan Dukungannya. Semoga Allah SWT Senantiasa Membalas Semua Kebaikannya. Amin.
v
Terima Kasih Juga Teman-Teman Teknik informatika 09 (Genetika) Yang Senantiasa Membantu Dan Mempunyai Peran Dan Andil Penting Sehingga Saya Sebagai Penulis Dapat Menyelesaikan Tugas Akhir Ini., Terima Kasih Atas Bantuannya. Kepada Semua Pihak Yang Tidak Dapat Saya Sebutkan Satu-Persatu, Terima Kasih Atas Bantuannya Dan Dukungannya Yang Telah Kalian Berikan Sehingga Tugas Akhir Ini Dapat Terselesaikan. Alhamdulillah.
So... Thank You ... You’re All The Best ...
Afriyadin
vi
INTISARI
Afriyadin, E1E1 09 076 Peningkatan Keamanan Data Rahasia Menggunakan Kriptografi Data Encryption Standard Pada Steganografi Audio Berformat Mp3 (xix + 109 + lampiran) Skripsi, Fakultas Teknik, 2016 Kata Kunci: Steganografi, LSB, MP3, Kriptografi, DES, Java Informasi dapat menjadi sesuatu yang sangat berharga dan perlu dijaga kerahasiaannya. Salah satu solusi dalam mengamankan informasi adalah dengan kriptografi dan steganografi. Steganografi merupakan ilmu dan seni yang mempelajari penyembunyian data rahasia pada suatu media sedemikian rupa sehingga keberadaannya tidak terdeteksi oleh pihak lain yang tidak berhak atas informasi tersebut, sedangkan kriptografi adalah teknik menyandikan (enkripsi) sebuah data rahasia menjadi data tersandi yang tidak dimengerti. Metode steganografi Least Significant Bit (LSB) atau low bit coding merupakan metode yang sederhana dalam proses menyembunyikan data, yaitu dengan cara mengganti bit yang kurang penting/least significant bit dari setiap sampling point file MP3 dengan rentetan bit binary dari data yang disembunyikan. Secara matematis LSB melakukan pengubahan nilai bit paling rendah dari sampel MP3 dengan nilai bit pesan yang akan disisipkan. Algoritma kriptografi Data Encryption Standard (DES) diadopsi oleh NIST (National Institue of Standard and Technology) sebagai standar pengolahan informasi Federal AS. Secara umum DES terbagi menjadi tiga kelompok, yaitu pemrosesan kunci, enkripsi data 64 bit, dan dekripsi data 64 bit yang mana satu kelompok saling berinteraksi satu dengan yang lainnya. Aplikasi dalam penelitian ini dibangun menggunakan metode steganografi Least Significant Bit (LSB), algoritma kriptografi Data Encryption Standard (DES) dan bahasa pemrograman java.
vii
ABSTRACT
Afriyadin, E1E1 09 076 Improved Security Of Secret's Data Using Cryptographic Data Encryption Standard On Steganography Audio Format MP3 (xix + 109 + attachment) Minithesis, Fakulty Of Engineering, 2016 keywords: Steganography, LSB,MP3, Cryptography, DES, Java
Information can be something very precious and needs to be kept confidential. One of the solutions in securing information is to cryptography and steganography. Steganography is the art and science which studies data hiding on a medium such that its presence is not detected by the other party is not entitled to that information, whereas cryptography is a technique to encode (encryption) a secret data into encrypted data is incomprehensible. Steganography method Least Significant Bit (LSB) or low bit coding is a simple method of hiding data in the process, namely by replacing bit less important / least significant bit of each sampling point MP3 filewith a series of binary bits of hidden data. Mathematically LSB perform the conversion value of the lowest bit MP3 samples with values message bits to be inserted. Cryptography algorithm Data Encryption Standard (DES) was adopted by NIST (National Institute of Standards and Technology) a US Federal information processing standards. Generally DES divided into three groups, namely key processing, 64-bit data encryption and decryption of data 64 bits in which a group of interacting with each other. The system in this research was built using steganography method Least Significant Bit (LSB), a cryptography algorithm Data Encryption Standard (DES) and the Java programming language. viii
KATA PENGANTAR
Assalamu’alaikum Warrahmatullahi Wabarakatuh. Alhamdulillah, Segala puji dan syukur ke hadirat Allah SWT yang telah melimpahkan segala rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan penyusunan tugas akhir ini yang berjudul “Peningkatan Keamanan Data Rahasia Menggunakan Kriptografi Data Encryption Standard pada Steganografi audio Berformat MP3”untuk melengkapi salah satu persyaratan yang diajukan dalam rangka menempuh ujian akhir untuk memperoleh gelar Sarjana Teknik pada Jenjang Strata Satu Program Studi Teknik Informatika di Fakultas Teknik Universitas Halu Oleo Kendari. Penulis menyadari bahwa penulisan skripsi ini tidak akan terwujud tanpa adanya dukungan dan bantuan dari berbagai pihak sehingga dalam kesempatan ini penulis menghaturkan penghargaan dan ucapan terima kasih yang sebesar-besarnya kepada yang terhormat : 1. Bapak Prof. Dr. Ir. Usman Rianse, M.Si. Selaku Rektor Universitas Halu Oleo. 2. Bapak Mustarum Musaruddin, ST, MIT, PhD.Selaku Dekan Fakultas Teknik Universitas Halu Oleo. 3. Ibu Ika Purwanti Ningrum, S.Kom., M.Cs.Selaku Ketua Jurusan Program Studi S-1 Teknik Informatika Fakultas Teknik Universitas Halu Oleo. ix
4. Bapak Sutardi, S.Kom.,MT. Selaku dosen pembimbing I yang telah meluangkan waktunya untuk membimbing penulis. 5. Bapak LM. Fid Aksara, S.Kom., M.Kom. Selaku dosen pembimbing II yang telah meluangkan waktunya untuk membimbing penulis. 6. Bapak Jumadil Nangi, S.Kom.,MT. Ibu Isnawaty, S.Si., MT., Bapak Rahmat Ramadhan, S.Si., M.Cs., Bapak LM. Tajidun, ST., M.Eng., Selaku dosen penguji terimakasih atas koreksi dan sarannya saat ujian seminar proposal, hasil, dan ujian akhir (skripsi). 7. Seluruh dosen serta para staf Fakultas Teknik Universitas Halu Oleo, khususnya pada Program Studi Teknik Informatika, terima kasih atas bimbingan dan ilmu pengetahuannya. 8. Orang tua, dan adik-adikku tercinta yang tanpa hentinya mendoakan dan terus memberikan semangat. 9. Rekan-rekan Mahasiswa Jurusan Teknik Informatika angkatan 2009 yang telah memberi masukan penulis baik selama mengikuti perkuliahan maupun dalam penulisan skripsi ini. 10. Senior dan junior di Teknik Informatika Universitas Halu Oleo (IT 2007, 2008, 2010, 2011, 2012, 2013, 2014, 2015). 11. Seluruh teman-teman dan semua pihak yang tidak dapat saya sebutkan satu persatu, terima kasih atas semua dukungan dan bantuannya sehingga terselesaikannya Laporan Skripsi / Tugas Akhir (TA) ini.
x
Penulis sadar bahwa masih banyak kekurangan dalam penulisan laporan tugas akhir ini, untuk itu penulis mengharapkan saran serta kritik yang membangun dari pembaca. Penulis berharap bahwa tugas akhir ini dapat menginspirasi orang lain sehingga di masa mendatang tugas akhir ini dapat dikembangkan lebih lanjut dan semoga tugas akhir ini dapat bermanfaat. Wassalamualaikum Warrahmatullahi Wabarakatuh.
Kendari, April 2016 Penulis,
Afriyadin NIM. E1E1 09 076
xi
DAFTAR ISI
HALAMAN JUDUL ..................................................................................
i
HALAMAN PENGESAHAN ....................................................................
ii
HALAMAN PEPERNYATAAN ..............................................................
iv
HALAMAN PERSEMBAHAN ................................................................
v
INTISARI ...................................................................................................
vii
ABSTRACT ................................................................................................
viii
KATA PENGANTAR ................................................................................
ix
DAFTAR ISI ...............................................................................................
xii
DAFTAR TABEL ......................................................................................
xiv
DAFTAR GAMBAR ..................................................................................
xvi
BAB I.
PENDAHULUAN .....................................................................
1
1.1. Latar belakang ...................................................................
1
1.2. Rumusan masalah ..............................................................
2
1.3. Batasan masalah ................................................................
3
1.4. Tujuan ...............................................................................
4
1.5. Manfaat .............................................................................
4
1.6. Sistematika penulisan ........................................................
4
1.7. Tinjauan Pustaka ................................................................
6
LANDASAN TEORI ................................................................
8
2.1. Audio .................................................................................
8
2.2. Mp3 ....................................................................................
12
2.3. Steganografi ......................................................................
15
2.4. Steganografi audio .............................................................
19
2.5. Kriptografi .........................................................................
22
2.6. Data Encryption Standard (DES) .....................................
30
2.7. Pemodelan Unified Process ..............................................
32
2.8. Unified Modelling Language (UML).................................
34
2.9. Flowchart ...........................................................................
36
2.10. Bahasa Pemograman Java ..................................................
37
BAB II.
xii
BAB III. METODOLOGI PENELITIAN .............................................
39
3.1 Metodologi Pengumpulan Data .........................................
39
3.2 Prosedur Pengembangan Perangkat Lunak........................
39
3.3 Waktu Penelitian ................................................................
42
BAB IV. ANALISIS DAN PERANCANGAN SISTEM .......................
43
4.1. Analisis Masalah ...............................................................
46
4.2. Algoritma Kriptografi DES ...............................................
41
4.3. Kebutuhan Sistem .............................................................
60
4.4. Perancangan Aplikasi ........................................................
62
4.5. Perancangan Interface/tampilan ........................................
73
BAB V. IMPLEMENTASI DAN PENGUJIAN ..........................
77
5.1. Analisis Dan Perancangan Aplikasi ..................................
77
5.2. Analisis Hasil Dan Pembahasan ........................................
93
BAB VI. PENUTUP .................................................................................
108
6.1. Kesimpulan .......................................................................
108
6.2. Saran...................................................................................
109
xiii
DAFTAR TABEL
Tabel 2.1 Frekuensi Sample dan Kualitas Suara yang Dihasilkan................
10
Tabel 2.2 Contoh Perubahan Karakter Menjadi Binary................................
21
Tabel 2.3 Media Penampung.........................................................................
21
Tabel 2.4 Urutan Byte Media Penampung Setelah Dilakukan Penyisipan ..
22
Tabel 2.5 Simbol-simbol umum dalam flowchart .......................................
37
Tabel 3.1 Tabel Waktu Penelitian.................................................................
42
Tabel 4.1. Matriks kunci eksternal 64 bit.....................................................
49
Tabel 4.2. Matriks Permutation Choice One (PC-1)....................................
49
Tabel 4.3. Jumlah Pergeseran Bit pada Setiap Putaran ................................
50
Tabel 4.4. Matriks Permutation Choice Two (PC-2) ....................................
51
Tabel 4.5. Matriks Plainteks 64 Bit ..............................................................
53
Tabel 4.6. Matriks Initial Permutation, IP ....................................................
53
Tabel 4.7. Matriks Permutasi Ekspansi ......................................................
55
Tabel 4.8. Tabel S1 ......................................................................................
56
Tabel 4.9. Tabel S2 ......................................................................................
56
Tabel 4.10. Tabel S3 ....................................................................................
56
Tabel 4.11. Tabel S4 ....................................................................................
56
Tabel 4.12. Tabel S5 ....................................................................................
57
Tabel 4.13. Tabel S6 ....................................................................................
57
Tabel 4.14. Tabel S7 ....................................................................................
57
Tabel 4.15. Tabel S8 ....................................................................................
57
xiv
Tabel 4.16. Matriks Permutasi, P .................................................................
58
Tabel 4.17. Matriks Invers Initial Permutation, IP-1 .....................................
49
Table 4.18 Bussiness Rules ..........................................................................
64
Tabel 4.19 Kebutuhan Fungsional ...............................................................
64
Tabel 4.20 Spesifikasi Hardware .................................................................
65
Tabel 4.21 Spesifikasi Perangkat Lunak ......................................................
66
Tabel 4.2 2Use Case Text Penyisipan ...........................................................
67
Tabel 4.23 Use Case Text Ektraksi ...............................................................
68
Tabel 5.1 Hasil Pengujian Penyisipan Menggunakan File “ujicoba.rar” .............
94
Tabel 5.2 Hasil Pengujian Penyisipan Menggunakan File picture.bmp ...............
96
Tabel 5.3 Hasil Pengujian Penyisipan Menggunakan File sshinfo.tlp ..................
97
Table 5.4 Hasil Pengujian Left Peak Signal Dan Right Peak Signal ................
98
Tabel 5.5 Hasil Pengujian Ekstraksi Menggunakan Stegged Mp3 Yang Telah Disipkan File “ujicoba”.rar ...........................................................................
102
Tabel 5.6 Hasil Pengujian Ekstraksi Menggunakan Stegged Mp3 Yang Telah Disipkan File “picture.bmp” .........................................................................
103
Tabel 5.7 Hasil Pengujian Ekstraksi Menggunakan Stegged MP3 yang Telah Disisipkan File “sshinfo.tlp” ............................................................................
104
Tabel 5.8 Hasil Pengujian Persentase MP3 Cover .............................................
106
xv
DAFTAR GAMBAR
Gambar 2.1 Sampling Sinyal Kontinu .........................................................
9
Gambar 2.2 Struktur Frame MP3 .................................................................
13
Gambar 2.3 Anatomi dari Header Sebuah Frame MP3 ...............................
13
Gambar 2.4 Diagram Sistem Steganografi ...................................................
17
Gambar 2.5 Faktor-faktor yang Saling Berkompetisi dalam Steganografi ..
18
Gambar
2.6.a
Memperlihatkan
Skema
Enkripsi
dan
deskripsi
Menggunakan Kunci................................................................
dengan 26
Gambar 2.6.b Mengilustrasikan Enkripsi dan Deskripsi Terhadap Sebuah Pesan ........................................................................................
26
Gambar 2.7 Skema Kriptografi Kunci Simetris. Kunci Enkripsi Sama dengan Kunci Deskripsi yaitu K ..........................................................
29
Gambar 2.8 Skema Kriptografi Kunci Asimetris. Kunci Enkripsi (e) Tidak Sama dengan Kunci Deskripsi (d) ...................................................
30
Gambar 2.9 Fase Pengembangan Perangkat Lunak Dalam UP....................
34
Gambar 4.1 Salah Satu Metode Steganalisis : Membandingkan Dua Berkas MP3 (Dilihat Dengan menggunakan Freeware Audiograbber) ......
44
Gambar 4.2 Ilustrasi Steganografi Audio Murni ...........................................
45
Gambar 4.3 Ilustrasi Penambahan Enkripsi DES Pada Steganografi Audio
46
Gambar 4.4 Gambaran Umum Sistem .........................................................
46
Gambar 4.5 Skema Global Kriptografi DES ................................................
47
Gambar 4.6 Proses Enkripsi Kriptografi DES ..............................................
48
xvi
Gambar 4.7 Proses Pembangkitan Kunci-kunci Internal .............................
52
Gambar 4.8 Diagram Komputasi Fungsi F ..................................................
54
Gambar 4.9 Flowchart Proses Penyisipan ...................................................
60
Gambar 4.10 Flowchart Proses Pencarian Header Pertama ........................
61
Gambar 4.11 Flowchart Proses Ekstraksi ....................................................
63
Gambar 4.12 Use Case Diagram .................................................................
69
Gambar 4.13 Activity Diagram Proses Penyisipan ......................................
70
Gambar 4.14 Activity Diagram Proses Ekstraksi ........................................
71
Gambar 4.15 Sequence Diagram Sistem .....................................................
72
Gambar 4.16 Form Menu Beranda ...............................................................
73
Gambar 4.17 Form Menu Penyisipan ..........................................................
74
Gambar 4.18 Form Menu Ekstraksi .............................................................
75
Gambar 4.19 Form Menu Petunjuk ..............................................................
76
Gambar 5.1 Tampilan Menu Beranda Sekaligus Main Window Aplikasi ...
78
Gambar 5.2 User Memilih Open File MP3 Untuk Memasukan File MP3 ..
78
Gambar 5.3 User Memilih File MP3 yang Akan Digunakan Dalam Proses Penyisipan ................................................................................
79
Gambar 5.4 Aplikasi Menampilkan Informasi File MP3 yang Dipilih .......
80
Gambar 5.5 Pesan Error Muncul Saat User Akan Menekan Tombol Sisip Tanpa File Rahasia ............................................................................
80
Gambar 5.6 User Menekan Tombol Open File Untuk Memilih File Rahasia ....................................................................................
81
Gambar 5.7 User Memilih File Rahasia yang Akan Disisipkan ..................
81
xvii
Gambar 5.8 Aplikasi Menampilkan Informasi File Rahasia .......................
82
Gambar 5.9 Peringatan error Ketika Menekan Tombol Sisip Tanpa Memasukkan Password .................................................................................
83
Gambar 5.10 User Memasukkan Password .................................................
83
Gambar 5.11 User Menekan Tombol Sisip Untuk Melakukan Proses Penyisipan ...............................................................................
84
Gambar 5.12 Ketika Penyisipan Berhasil Dilakukan Akan Muncul Pesan Sukses .....................................................................................
84
Gambar 5.13 Hasil File Penyisipan .............................................................
85
Gambar 5.14 User Menekan Tombol Reset Untuk Melakukan Penyisipan Lagi ..........................................................................................
85
Gambar 5.15 User Memilih Open File MP3 Untuk Memasukan File Stagged MP3 .................................................................................................
86
Gambar 5.16 User Memilih File Stagged Mp3 Yang Akan Digunakan Dalam Proses Ekstraksi ......................................................................
87
Gambar 5.17 Aplikasi Menampilkan Informasi File Stagged Mp3 Yang Akan Dipilih .....................................................................................
87
Gambar 5.18 Peringatan Error Ketika Menekan Tombol Ekstraksi Tanpa Memasukkan Password ...........................................................
88
Gambar 5.19 User Memasukkan Password .................................................
89
Gambar 5.20 Peringatan Error Ketika User Memasukkan Password Kurang Atau Lebih Dari 8 Karakter ............................................................
xviii
89
Gambar 5.21 User Menekan Tombol Ekstraksi Untuk Melakukan Proses Ekstraksi ..................................................................................
90
Gambar 5.22 Ketika Ekstraksi Berhasil Dilakukan Akan Muncul Pesan Sukses ......................................................................................
91
Gambar 5.23 Hasil Dari Proses Ekstraksi Pesan Atau Ekstraksi .................
91
Gambar 5.24 User Menekan Tombol Reset Untuk Melakukan Penyisipan lagi ..........................................................................................
92
Gambar 5.25 File Rahasia ............................................................................
93
Gambar 5.26 Hasil Ekstraksi Dari Stagged MP3..........................................
93
Gambar
5.27
Percobaan
Menggunakan
File
MP3
yang
Bernama
Feed_A.mp3 ............................................................................ Gambar
5.28
Perbandingan
Signal
File
Feed_A.mp3
steg.Feed_A.mp3 .................................................................... Gambar
5.29
Perbandingan
Signal
File
kaimu.mp3
steg.kaimu.mp3 ....................................................................... Gambar
5.30
Perbandingan
Signal
File
Karasu.mp3
steg.Karasu.mp3 ...................................................................... Gambar
5.31
Perbandingan
Signal
File
ONION!.mp3
steg.ONION!.mp3 ................................................................... Gambar
5.32
Perbandingan
Signal
File
RAINBOWS.mp3
steg.RAINBOWS.mp3 ............................................................ Gambar
5.33
Perbandingan
Signal
File
Strawberry
Fuzz.mp3
steg.Strawberry Fuzz.mp3 ......................................................
xix
95 dengan 99 dengan 99 dengan 100 dengan 100 dengan 101 dengan 101
BAB I PENDAHULUAN
1.1 Latar Belakang Dengan semakin berkembangnya pemanfaatan teknologi informasi dalam membantu pekerjaan manusia di berbagai jenis kegiatan yang melibatkan komputer sebagai medianya, maka keamanan menjadi aspek yang sangat penting dalam sistem informasi. Beberapa informasi umumnya hanya ditujukan bagi segolongan orang tertentu, oleh karena itu keamanan data sangat dibutuhkan untuk mencegah informasi tersebut sampai pada pihak – pihak lain yang tidak berkepentingan sehingga adanya kemungkinan kebocoran atau penyalahgunaan data dapat dihindari, maka dirancang suatu sistem keamanan yang berfungsi untuk melindungi informasi tersebut. Informasi dapat menjadi sesuatu yang sangat berharga dan perlu dijaga kerahasiaannya. Salah satu solusi dalam mengamankan informasi adalah dengan kriptografi dan steganografi. Steganografi merupakan ilmu dan seni yang mempelajari penyembunyian data rahasia pada suatu media sedemikian rupa sehingga keberadaannya tidak terdeteksi oleh pihak lain yang tidak berhak atas informasi tersebut, sedangkan kriptografi adalah teknik menyandikan (enkripsi) sebuah data rahasia menjadi data tersandi yang tidak dimengerti. Media pembawa pesan pada steganografi dapat menggunakan berkas sistem komputer, transmisi protokol, dokumen teks dan representasi digital dari produk multimedia seperti berkas audio, citra, dan video. Keberadaan berkas audio khususnya MP3 di internet telah menyebar sangat luas dan hampir semua pengguna internet mengenalnya. Karena keberadaannya yang sangat umum, berkas ini sangat sesuai digunakan sebagai media steganografi. Terlebih lagi kebanyakan pengguna hanya mengenal MP3 sebagai sebuah sarana hiburan
1
2
semata, sehingga dapat meminimalkan kecurigaan bahwa terdapat informasi rahasia di dalamnya. Dalam penelitian ini akan dilakukan penyembunyian data ke dalam file audio berformat MP3 (*.mp3) dengan metode penggantian bit (Least Significant Bit), yaitu mengganti bagian tertentu dari bit-bit file MP3 dengan data atau informasi yang disisipkan. Namun pada perkembangannya kini disadari bahwa teknik substitusi (Least Significant Bit) dalam steganografi rentan terhadap analisis statistik dalam proses steganalisis (Krenn, 2004). Maka dalam penelitian ini akan dilakukan usaha peningkatan keamanan data, dengan mengenkripsi pesan rahasia menggunakan algoritma DES (Data Encryption Standard) sebelum pesan tersebut disisipkan ke dalam file MP3. Sehingga jika proses steganalisis berhasil mendeteksi dan menemukan pesan rahasia tersebut, informasi rahasia masih dapat diselamatkan karena masih dalam keadaan terenkripsi. Terhadap permasalahan yang telah diuraikan di latar belakang, maka penulis
mengambil
judul,
“Peningkatan
Keamanan
Data
Rahasia
Menggunakan Kriptografi Data Encryption Standard pada Steganografi audio Berformat MP3”.
1.2 Rumusan Masalah Berdasarkan latar belakang yang telah dikemukakan di latar belakang, maka dirumuskan permasalahan sebagai berikut: 1. Bagaimana menerapkan algoritma DES dalam mengenkripsi dan mendekripsi kembali data atau informasi rahasia 2. Bagaimana menyisipkan dan mengekstrak data atau informasi rahasia terenkripsi menggunakan metode LSB (Least Significant Bit) ke dalam file MP3 3. Bagaimana pengaruh penyisipan data atau informasi rahasia ke dalam file MP3 terhadap kualitas file MP3
3
1.3 Batasan Masalah Agar tidak terjadi kesalahan persepsi dan menghindari penyimpangan dari tujuan yang ingin dicapai penulis, maka penulis membatasi pembahasan hanya pada hal-hal berikut: 1. Data atau informasi rahasia yang disisipkan berupa file dengan ekstensi 3 karakter misal *.txt, *.pdf, *.doc, *.gif, *.rar *.zip dan media yang digunakan sebagai penampung pesan adalah berkas audio berformat MP3. 2. Teknik steganografi yang digunakan dalam penelitian ini adalah Least Significant Bit tanpa
membandingkannya dengan algoritma lain yang
dapat digunakan untuk tujuan serupa. 3. Penelitian ini menggunakan algoritma DES (Data Encryption Standard) dalam
mengenkripsi
data
atau
informasi
rahasia
tanpa
membandingkannya dengan algoritma lain yang dapat digunakan untuk tujuan serupa.
1.4 Tujuan Penelitian Tujuan penulisan tugas akhir ini adalah sebagai berikut: 1. Membuat suatu perangkat lunak yang dapat menerapkan kriptografi
Data
Encryption
Standard
dalam
algoritma
mengenkripsi
dan
mendekripsi data atau informasi rahasia. 2. Menerapkan metode Least Significant Bit ke dalam perangkat lunak untuk proses penyisipan dan ekstraksi data atau informasi rahasia terenkripsi ke dalam File MP3. 3. Mengetahui pengaruh yang ditimbulkan dari proses penyisipan data rahasia ke dalam file MP3
4
1.5 Manfaat Penelitian Manfaat yang diharapkan dari penelitian ini adalah : 1.
Untuk menghasilkan sebuah perangkat lunak yang mampu melakukan enkripsi data atau informasi rahasia menggunakan algoritma Data Encryption Standard (DES) kemudian menyisipkan kedalam file MP3 menggunakan algoritma Least Significant Bit (LSB) untuk mengamankan data atau informasi rahasia tersebut.
2.
Sebagai bahan referensi mengenai algoritma Data Encryption Standard (DES) pada proses enkripsi file.
3.
Sebagai bahan referensi mengenai algoritma Least Significant Bit (LSB) pada proses penyisipan pada file MP3.
1.6 Sistematika Penulisan Adapun sistematika penulisan tugas akhir yang berjudul “Peningkatan Keamanan Data Rahasia Menggunakan Kriptografi Data Encryption Standard Pada Steganografi Audio Berbasis MP3” sebagai berikut:
BAB I PENDAHULUAN Bab ini berisi uraian latar belakang, perumusan masalah dan penjelasan permasalahan secara umum, perumusan masalah serta batasan masalah yang dibuat, tujuan dari pembuatan tugas akhir dan sistematika penulisan tugas akhir.
BAB II LANDASAN TEORI Bab ini membahas tentang teori-teori yang berhubungan dan mendukung dalam pembuatan tugas akhir ini.
5
BAB III METODOLOGI PENELITIAN Bab ini menjelaskan mengenai metodologi yang dipakai pada pembuatan aplikasi, pengembangan perangkat lunak menggunakan metode Unified Process, sedangkan penyusunan laporan menggunakan studi leteratur dengan mencari informasi dari berbagai baik cetak maupun elektronik. BAB IV ANALISIS DAN PERANCANGAN Bab ini berisi gambaran umum dari sistem, pemodelan menggunakan Unified Modelling Process serta desain interface. BAB V IMPLEMENTASI DAN PENGUJIAN APLIKASI Bab ini berisi pembahasan mengenai implementasi analisis dan desain ke dalam bahasa pemrograman java dan pengujian aplikasi. BAB VI PENUTUP Pada bab ini terdapat semua kesimpulan dari semua pembahasan yang ada dengan saran-saran yang ditujukan bagi para pembaca atau pengembang. 1.7 Tinjauan Pustaka Penelitian ini mengacu pada masalah yang diangkat oleh Rossy Nurhasanah (2010) yang berjudul “Peningkatan Keamanan Data Menggunakan Algoritma Rijndael Pada Audio Steganografi Berbasis MP3”. Penelitian tersebut membahas
tentang
bagaimana
menerapkan
algoritma
Rijndael
dalam
mengenkripsi pesan rahasia sebelum disisipkan ke dalam MP3. Bagaimana menyisipkan pesan rahasia terenkripsi ke dalam MP3. Bagaimana pengaruh penyisipan pesan rahasia terhadap keamanan data. Tujuannya meningkatkan keamanan data pada audio steganografi dengan menerapkan algoritma Rijndael dalam mengenkripsi pesan sebelum pesan disisipkan ke dalam MP3. Referensi lain pada masalah yang diangkat oleh Klaveryus Irvan Pakka (2010) yang berjudul “Perbandingan Metode Phase Coding Dan Echo Data
6
Hiding Dengan Keamanan Data Menggunakan Algoritma Rijndael Pada Steganografi Berkas Audio”. Penelitian tersebut membahas tentang Bagaimana menyembunyikan informasi ke dalam media cover yaitu pada berkas audio. Bagaimana mengimplementasikan metode Phase Coding dan Echo Data Hiding dalam steganografi. Bagaimana menyandikan informasi yang akan disisipkan dalam proses steganografi menggunakan algortima Rijndael agar informasi menjadi lebih aman. Tujuan akhirnya mengetahui kemampuan steganografi menggunakan teknik Phase Coding dan Echo Data Hiding pada berkas audio WAV. Membandingkan performa kedua teknik steganografi tersebut dalam hal kecepatan proses steganografi (waktu), jumlah informasi yang dapat ditampung oleh media cover, kelayakan berkas (layak dengar) setelah melalui proses steganografi, dan ketahanan (Robustness) berkas dari proses kompresi. Menggabungkan steganografi dan kriptografi agar informasi menjadi lebih aman (sulit terdeteksi). Refensi lainnya pada masalah yang diangkat oleh Fitriyani (2010) yang berjudul
“Implementasi
Digital
Watermarking
Pada
File
Audio
Dengan Menggunakan Metode Phase Coding”. Penelitian tersebut membahas tentang Bagaimana menghasilkan audio yang terlindungi dari aktifitas penggandaan yang ilegal dan dapat dipantau pendistribusiannya dengan menggunakan Watermarking Phase Coding. Apakah Watermarking-Phase Coding cukup handal setelah dilakukan pengolahan sinyal terhadap berkas terwatermark tanpa memiliki beda fase yang besar. Tujuan akhirnya Menghasilkan berkas audio ter-watermark yang dapat digunakan untuk perlindungan hak cipta yang handal dan memiliki ketahanan yang baik terhadap berbagai proses pengolahan sinyal audio atau tidak mengalami perubahan bentuk setelah mengalami berbagai pengolahan sinyal tersebut dan memiliki beda fase yang kecil antara sinyal asli dan sinyal yang dimodifikasi. Referensi lain pada masalah yang diangkat oleh Indra Syahputra (2009) yang berjudul “Simulasi Kerahasiaan/Keamanan Informasi Dengan Menggunakan Algoritma DES (Data Encryption Standard)”. Penelitian tersebut membahas tentang bagaimana merancang suatu perangkat lunak yang dapat melakukan
7
simulasi metode DES. Tujuan akhirnya menghasilkan suatu perangkat lunak yang dapat mensimulasikan metode DES. Referensi lain pada masalah yang diangkat oleh Muhammad Reza Alvi (2011) yang berjudul “Perancangan Aplikasi Kriptografi Menggunakan Algoritma TDES”. Penelitian tersebut membahas tentang bagaimana membangun aplikasi keamanan data dengan menggunakan algoritma TDES (Triple Encryption Standard). Tujuan akhirnya Mengamankan data dengan mengenkripsi file ataupun string menjadi chiperteks dengan menggunakan algoritma TDES (Triple Data Encryption Standard).
BAB II LANDASAN TEORI 2.1. Audio Suara atau bunyi adalah suatu gelombang longitudinal yang merambat melalui suatu medium, seperti zat cair, padat dan gas. Bunyi dapat terdengar oleh manusia apabila gelombang tersebut mencapai telinga manusia dengan frekuensi 20Hz - 20kHz , suara ini disebut dengan audiosonic atau dikenal dengan audio, gelombang suara pada batas frekuensi tersebut disebut dengan sinyal akustik. Akustik merupakan cabang fisika yang mempelajari bunyi. Level tekanan suara (volume suara) dihitung dalam desibel (dB), yaitu perhitungan rasio antara titik referensi yang dipilih dalam skala logaritmik dan level yang benar-benar dialami. Keras lemahnya bunyi atau tinggi rendahnya gelombang disebut dengan amplitudo. Bunyi mulai dapat merusak telinga jika tingkat volumenya lebih besar dari 85 dB dan pada ukuran 130 dB akan mampu membuat hancur gendang telinga. Frekuensi adalah banyaknya gelombang yang mempunyai pola yang sama yang berulang pada interval tertentu selama 1 detik. Berdasarkan frekuensi, suara atau bunyi dibagi atas : 1. Infrasound yaitu suara pada rentang frekuensi 0Hz-20Hz. 2. Audiosound yaitu suara pada rentang frekuensi 20Hz-20kHz. 3. Ultrasound yaitu suara pada rentang frekuensi 20kHz-1GHz. 4. Hypersound yaitu suara pada rentang frekuensi 1GHz-10THz.
Menurut Yulid dan Fazmah (2006), sinyal audio dibagi atas 3 bagian berdasarkan rentang frekuensinya : 1. Kualitas suara telepon yaitu antara 30Hz-3400Hz 2. Suara Wideband yaitu 50Hz-7000Hz. 3. Wideband audio yaitu 20Hz- 20000Hz.
8
9
2.1.1. Audio Digital Gelombang suara analog tidak dapat langsung direpresentasikan pada komputer. Komputer mengukur amplitudo pada satuan waktu tertentu untuk menghasilkan sejumlah angka. Suara dikonversi menjadi arus listrik dengan menggunakan mikrofon. Kemudian mengkonversikan
osilasi tekanan udara
menjadi tegangan osilasi terus-menerus dalam sebuah rangkaian listrik. Perubahan tegangan cepat ini kemudian diubah menjadi serangkaian angka oleh digitizer. Sebuah digitizer bertindak seperti voltmeter digital yang sangat cepat Hal ini menjadikan ribuan pengukuran per detik. Setiap hasil pengukuran dalam jumlah yang dapat disimpan secara digital (hanya jumlah terbatas angka signifikan dari jumlah yang dicatat) disebut dengan sampel dan seluruh konversi suara ke serangkaian angka ini disebut sampling.
Gambar 2.1 Sampling Sinyal Kontinu
Keterangan Gambar :Garis biru berubah sesuai dengan tegangan (misalnya, dari mikrofon), segmen merah sesuai dengan sampel. Sampel suara diambil dan disimpan sebagai informasi digital dalam bit dan byte. Angka sampling adalah seberapa sering sampel diambil, disebut juga dengan frekuensi dan ukuran sampel adalah jumlah angka yang digunakan untuk merepresentasikan nilai dari tiap sampel.
Contoh : jika kualitas CD Audio
dikatakan memiliki frekuensi sebesar 44100 Hz, berarti jumlah sampel sebesar 44100 per detik, dan ukuran sampel 8-bit.
10
Dalam dunia audio digital, ada beberapa istilah diantaranya: 1. Jumlah kanal (channel) Yaitu jumlah kanal audio yang digunakan. Istilah penggunaan satu kanal audio disebut mono, sementara dua kanal yaitu kanal sebelah kiri dan kanan disebut stereo. Selain mono dan stereo ada juga jumlah kanal yang lebih banyak, yaitu surround. Jumlah kanal surround berkisar antara lima, tujuh bahkan lebih. 2. Laju pencuplikan (Sample rate) Ketika soundcard mengubah audio menjadi data digital, soundcard akan memecah suara tadi menurut nilai menjadi potongan-potongan sinyal dengan nilai tertentu. Proses sinyal ini bisa terjadi ribuan kali dalam satu satuan waktu. Banyaknya pemotongan dalam satu satuan waktu ini dinamakan laju pencuplikan (sample rate). Kerapatan laju pencuplikan ini menentukan kualitas sinyal analog yang akan dirubah menjadi data digital. Makin rapat laju pencuplikan ini, kualitas suara yang dihasilkan akan makin mendekati suara aslinya. Sebagai contoh, lagu yang tersimpan dalam Compact Disc Audio memiliki sample rate 44.1 kHz, yang berarti lagu ini dicuplik sebanyak 44100 kali dalam satu detik untuk memastikan kualitas suara yang hampir sama persis dengan aslinya. Berikut ini Tabel 2.1 adalah contoh dari beberapa suara yang dihasilkan dengan berapa Sample Rate dari setiap suara yang dihasilkan :
Tabel 2.1 Frekuensi Sample dan Kualitas Suara yang Dihasilkan Sample rate (kHz)
Aplikasi
8
Telepon
11,025
Radio AM
16
Kompromi antara 11,025 dan 22,05 kHz
22,025
Mendekati radio FM
32,075
Lebih baik dari Radio FM
44,1
Audio Compact Disc (CD)
48
Digital Audio Tape (DAT)
11
Rentang suara yang dapat didengar oleh manusia berkisar antara frekuensi 20 Hz sampai dengan 20000 Hz, sehingga besar rentang frekuensi adalah 19980 Hz. Hukum Nyquist berlaku, maka kita harus menggunakan frekuensi sampling minimal 2 kali rentang frekuensi tadi, yaitu 2 x 19980 Hz, sehingga frekuensi sampling minimal adalah 39960 Hz. Frekuensi sampling yang mencukupi adalah 44100 Hz.
3. Banyak bit dalam tiap cuplikan (Bit per sample) Cuplikan-cuplikan yang telah disebutkan tadi diambil memiliki besaran amplitudo. Besaran amplitudo inilah yang akan disimpan dalam bit-bit digital. Banyaknya bit yang dapat dipakai untuk merepresentasikan besaran amplitudo ini dinamakan
bit
per
sample.
Makin
banyak
bit
yang
dipakai
untuk
merepresentasikan besaran amplitudo, makin halus besaran amplitudo yang akan dihasilkan. Sebagai contoh, suara 8-bit memiliki 2 pangkat 8 kemungkinan amplitudo, yaitu 256, dan suara 16-bit memiliki 65536 kemungkinan amplitudo.
4. Laju bit (Bit rate) Laju bit atau bit rate (dengan satuan bit per detik) adalah perkalian antara jumlah kanal, frekuensi sampling (dengan satuan Hertz) dan bit per sample (dengan satuan bit). Dengan menggunakan informasi diatas, didapati bahwa bit rate yang dibutuhkan untuk menyimpan sebuah lagu stereo (dua kanal) dengan kualitas CD (frekuensi sampling 44100 Hz, 16-bit) adalah 2 x 44100 Hz x 16 = 1411200 bit per detik.
2.1.2. Tipe Digital Audio Beberapa berkas audio memiliki beberapa tipe yang mampu dibaca oleh perangkat komputer, berikut adalah beberapa tipe berkas audio yang mungkin dari beberapa berkas dibawah ini kita bisa melihat dan menjumpainya dengan mudah. 1. .aiff ( .aif / .aifc ) Apple Audio Interchange File Format. Berkas diatas adalah standar berkas audio untuk perangkat Macintosh atau yang sering kita sebut Apple.
12
2. .flac ( .fla ) Free Lossless Audio Coder ( FLAC ), format berkas audio yang hanya bisa digunakan oleh FLAC decoder atau encoder. 3. .ogg Berkas audio free ( gratis ), dan juga open source yang mendukung berbagai macam codec, yang lebih populer dengan Vorbis Codec. Berkas Vorbis sering dibandingkan dengan berkas MP3 dalam hal kualitas. Tapi faktanya MP3 lebih dikenal secara luas 4. .AMR Adaptive Multimedia Rate adalah jenis audio codec yang sering kita jumpai atau digunakan dalam perangkat mobile phone. Contoh dari file AMR adalah hasil rekaman pada ponsel. Walaupun kualitas suara yang dihasilkan kurang bagus, tapi dapat dikonversi menjadi format MP3. 5. .wav ( .wave ) WAV atau WAVE singkatan dari Waveform audio format merupakan standar format file audio untuk penyimpanan file audio dalam PC yang berbasis Microsoft dan IBM . 6.MPEG layer 3 ( .MP3 ) salah satu format berkas pengodean suara yang memiliki kompresi yang baik sehingga ukuran berkas bisa memungkinkan menjadi lebih kecil.
2.2. MP3 MPEG-1 Layer 3 atau dikenal MP3 yaitu berkas audio yang akan dibahas pada skripsi ini dikembangkan oleh seorang insinyur Jerman, Karlheinz Brandenburg. MP3 memakai pengkodean Pulse Code Modulation (PCM). MP3 adalah salah satu format pengkodean berkas suara yang memiliki kompresi yang baik (meskipun bersifat lossy) sehingga ukuran berkas bisa memungkinkan menjadi lebih kecil, MP3 mengurangi jumlah bit yang diperlukan dengan menggunakan model psychoacoustic untuk menghilangkan komponen-komponen suara yang tidak terdengar oleh manusia.
13
2.2.1. Struktur Berkas MP3 Berkas MP3 terdiri dari bagian-bagian kecil yang disebut frame. Setiap frame memiliki waktu yang konstan yaitu 0,026 detik (26 milidetik). Tapi ukuran dari sebuah frame (dalam byte) bervariasi bergantung pada bitrate. Sebuah frame MP3 secara umum terdiri atas 5 bagian, yaitu Header, CRC, Side Information, Main Data dan Ancillary Data (Rassol, 2002).
Gambar 2.2 Struktur Frame MP3 2.2.1.1. Header Header adalah bagian dari sebuah frame dengan panjang 4 byte (32 bit) yang berisi bit-bit sinkronisasi dan deskripsi tentang frame tersebut. Bagian header yang sangat menentukan dalam steganografi ini adalah pada bagian Error Protection
(CRC). Karena terdapat atau tidaknya bit CRC
ini sangat
mempengaruhi panjang frame sebuah MP3 dan juga mempengaruhi dalam penentuan jumlah kapasitas yang dapat ditampung MP3 tersebut. Anatomi dari header sebuah frame MP3 adalah sebagai berikut.
Gambar 2.3 Anatomi dari Header Sebuah Frame MP3
14
2.2.1.2. CRC (Cyclic Redundancy Check) CRC adalah bagian dari sebuah frame dengan panjang 2 byte. Bagian ini hanya akan ada jika bit proteksi pada header diset dan memungkinkan untuk memeriksa data-data sensitif. Bit CRC ini oleh sebuah frame digunakan untuk memeriksa data-data sensitif pada header dan Side Information. Jika nilai-nilai pada CRC tersebut mempunyai kesalahan maka frame tersebut oleh MP3 player akan dinyatakan corrupt, dan akan digantikan dengan frame sebelumnya. CRC adalah algoritma untuk memastikan integritas data dan memeriksa kesalahan pada suatu data yang akan ditransmisikan atau disimpan. CRC bekerja secara sederhana, yakni dengan menggunakan perhitungan matematika terhadap sebuah bilangan yang disebut sebagai Checksum, yang dibuat berdasarkan total bit yang hendak ditransmisikan atau yang hendak disimpan. Checksum akan dihitung terhadap setiap frame yang hendak ditransmisikan dan ditambahkan ke dalam frame tersebut sebagai informasi dalam header. Penerima frame tersebut akan menghitung kembali apakah frame yang ia terima benar-benar tanpa kerusakan, dengan membandingkan nilai frame yang dihitung dengan nilai frame yang terdapat dalam header frame. Jika dua nilai tersebut berbeda, maka frame tersebut telah berubah. 2.2.1.3. Side information Side Information adalah bagian dari sebuah frame dengan panjang 17 byte untuk mode single channel dan 32 byte untuk mode yang lain. Side Information mengandung informasi yang dibutuhkan untuk melakukan dekoding Main Data. Untuk mendapatkan kualitas audio yang normal, maka Side Information ini tidak boleh rusak dalam proses steganografi. 2.2.1.4. Main data Main Data adalah bagian dimana data audio dari sebuah file MP3 berada dan mempunyai panjang yang bervariasi. Disini terdapat Huffman code bits, informasi untuk dekoding Huffman code bits ini terdapat pada bagian Side Information. Teknik kompresi MP3 juga menerapkan metode Huffman coding untuk mendapatkan hasil kompresi yang lebih baik. Jika sebuah frame MP3 mempunyai suara/audio yang sama persis (biasanya terdapat pada frame yang
15
tidak mempunyai nada/suara apapun) maka isi dari Main Datanya cukup ditulis dalam satu macam nilai saja dan informasi selebihnya akan disimpan pada Side Information. Pada file MP3 yang tidak menggunakan CRC, umumnya letak Main Data dimulai setelah byte ke 36. 2.2.1.5. Ancilary data Ancillary Data merupakan bagian opsional, tidak banyak terdapat informasi pada bagian ini dan pada umumnya sebuah frame tidak mempunyai Ancillary Data.
2.3 Steganografi Kata steganografi (steganography) berasal dari bahasa Yunani steganos, yang artinya tersembunyi atau terselubung, dan graphia yang artinya menulis, sehingga arti steganografi adalah "menulis (tulisan) terselubung" (Cvejic, 2004). Dengan steganografi, kita dapat menyisipkan pesan rahasia kedalam media lain dan mengirimkannya tanpa ada yang menyadari keberadaan pesan tersebut (Krenn, 2004).
2.3.1. Sejarah Steganografi Penggunaan steganografi sebenarnya telah digunakan berabad-abad yang lalu bahkan sebelum istilah steganografi itu sendiri muncul. Pada tahun 480 Sebelum Masehi, seseorang berkebangsaan Yunani yaitu Demaratus mengirim pesan kepada polisi Sparta yang berisi peringatan mengenai penyerangan Xerxes yang ditunda. Teknik yang digunakan adalah dengan menggunakan meja yang telah diukir kemudian diberi lapisan lilin untuk menutupi pesan tersebut, dengan begitu pesan dalam meja dapat disampaikan tanpa menimbulkan kecurigaan oleh para penjaga. Pada abad ke 5 Sebelum Masehi, Histaiacus mengirimkan pesan kepada Aristagoras Miletus untuk memberontak terhadap raja Persia. Pesan disampaikan dengan cara mencukur kepala pembawa pesan dan mentato kepalanya dengan pesan tersebut. Setelah pesan dituliskan, pembawa pesan harus menunggu hingga rambutnya tumbuh kembali sebelum dapat mengirimkan pesan kepada pihak
16
penerima. Pihak penerima kemudian akan mencukur rambut pembawa pesan tersebut untuk melihat pesan yang tersembunyi. Bangsa Romawi mengenal steganografi dengan menggunakan tinta taktampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka tulisannya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut.
2.3.2. Penggunaan Steganografi Steganografi sebagai suatu teknik penyembunyian informasi pada data digital lainnya dapat dimanfaatkan untuk berbagai tujuan seperti: 1. Tamper-proofing Steganografi digunakan sebagai alat untuk mengidentifikasikan atau alat indikator yang menunjukkan data host telah mengalami perubahan dari aslinya. 2. Feature location Steganografi digunakan sebagai alat untuk mengidentifikasikan isi dari data digital pada lokasi-lokasi tertentu, seperti contohnya penamaan objek tertentu dari beberapa objek yang lain pada suatu citra digital. 3. Annotation/caption Steganografi hanya digunakan sebagai keterangan tentang data digital itu sendiri. 4. Copyright-Labeling Steganografi dapat digunakan sebagai metode untuk penyembunyian label hak cipta pada data digital sebagai bukti otentik kepemilikan karya digital tersebut
2.3.3. Karakteristik Steganografi Dalam steganografi dikenal data hiding atau data embedding, yang merupakan rangkaian proses dalam menyembunyikan data ke dalam berbagai media, seperti citra, audio atau teks dengan meminimalisir penampakan degradasi
17
sinyal media penampung (Bender et al, 1996). Hal ini tampak familiar dengan enkripsi. Namun jika ditelusuri lebih jauh maka penyembunyian data dalam steganografi sangat kontras dengan kriptografi. Perbedaannya terletak pada bagaimana proses penyembunyian data dan hasil akhir dari proses tersebut. Kriptografi merahasiakan makna pesan sementara keberadaan pesan tetap dapat diamati oleh indera manusia. Kriptografi melakukan proses pengacakan data asli sehingga menghasilkan data terenkripsi yang benar-benar acak dan berbeda dengan aslinya. Sedangkan steganografi menyembunyikan keberadaan pesan tersebut, data disisipkan dalam media penampung tanpa mengubah keadaan media penampung tersebut. Dengan kata lain keluaran steganografi ini memiliki bentuk persepsi yang sama dengan bentuk aslinya.
Gambar 2.4 Diagram Sistem Steganografi
Penyisipan data rahasia ke dalam media digital harus memperhatikan beberapa aspek keamanan sebagai berikut: 1.
Fidelity Mutu media penampung tidak jauh berubah. Setelah penambahan data rahasia, berkas hasil steganografi tidak mengalami degradasi yang signifikan, sehingga perubahan atau degradasi tersebut tidak dapat
dipersepsi oleh indera manusia. Pada kasus steganografi audio, audio hasil steganografi masih dapat didengar dengan baik. Pengamat tidak
menyadari bahwa di dalam audio tersebut terdapat data rahasia. Atau dengan kata lain penyisipan data rahasia tidak mempengaruhi kualitas sinyal asli, sehingga keberadaan pesan tidak dapat ditangkap oleh
18
pendengaran manusia. 2.
Recovery Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu data rahasia didalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut.
3.
Robustness Robustness merupakan salah satu isu desain algoritma steganografi yang utama. Data rahasia yang disisipkan harus tahan terhadap pengolahan sinyal yang mungkin dilakukan termasuk konversi digitalanalog dan analog-digital, linear dan non-linear filtering, kompresi dan perubahan ukuran (scaling).
4.
Security Data rahasia harus resisten terhadap deteksi pembajakan dan juga diharapkan
bisa
menyulitkan
dari
usaha
steganalisis.
Ketika
kerahasiaan itu ingin dibuka, dibutuhkan kunci untuk digunakan dalam proses penyisipan dan ekstraksi. Dalam menyisipkan informasi ada beberapa faktor yang saling berkompetisi satu sama lain, artinya faktor-faktor tersebut tidak dapat dioptimalkan dalam satu waktu, yaitu kapasitas (capacity), anti deteksi (undetectability) dan kekokohan (robustness).
Gambar 2.5 Faktor-Faktor yang Saling Berkompetisi dalam Steganografi
19
Kapasitas adalah besar pesan rahasia (embedded message) yang dapat disembunyikan dalam media penampung (cover-object) dengan menggunakan teknik steganografi tertentu. Anti-deteksi (undetectability) adalah kemampuan dalam menghindari deteksi. Pesan yang disisipkan tidak dapat dideteksi keberadaannya dalam suatu media. Misalnya jika steganografi
menggunakan
komponen derau pada citra digital dalam menyisipkan pesan, maka tidak membuat perubahan statistik yang signifikan pada media penampung pesan tersebut. Sedangkan kekokohan (robustness) adalah ukuran ketahanan teknik steganografi
dalam menghadapi berbagai macam manipulasi terhadap media
penampung. Seringkali ketiga faktor ini saling menghilangkan satu sama lain. Informasi dalam jumlah kecil dapat disembunyikan secara efektif tanpa dapat dipersepsi dengan mudah. Namun analisis statistik terhadap derau yang ada dapat dengan mudah mengungkap keberadaan informasi rahasia. Namun penyisipan informasi dengan jumlah yang lebih banyak dapat saja mengubah media penampung sehingga keberadaan informasi dapat dengan mudah dideteksi. Sedangkan teknik yang kokoh sering mengorbankan kapasitas.
2.4. Steganografi Audio Steganografi Audio adalah teknik penyisipan pesan rahasia dalam media suara (audio). Proses penyisipan pesan rahasia dalam sistem steganografi pada dasarnya dilakukan dengan mengidentifikasi media audio pembawa pesan, yaitu redundant bit yang mana dapat dimodifikasi tanpa merusak integritas dari media audio itu sendiri. Dalam mengaplikasikan steganografi pada berkas audio dapat dilakukan dengan berbagai teknik. Berikut adalah beberapa teknik yang dapat digunakan: 1. Penggantian bit. Cara ini lazim digunakan dalam teknik digital steganografi yaitu mengganti bagian tertentu dari bit-bit datanya dengan data rahasia yang disisipkan. Dengan metode ini keuntungan yang didapatkan adalah ukuran pesan yang disisipkan relatif besar, namun berdampak pada hasil audio yang berkualitas kurang dengan banyaknya
20
derau. 2. Metode kedua yang digunakan adalah merekayasa fasa dari sinyal masukan. Teori yang digunakan adalah dengan mensubstitusi awal fasa dari tiap awal segmen dengan fasa yang telah dibuat sedemikian rupa dan merepresentasikan pesan yang disembunyikan. Fasa dari tiap awal segmen ini dibuat sedemikian rupa sehingga setiap segmen masih memiliki hubungan yang berujung pada kualitas suara yang tetap terjaga. Teknik ini menghasilkan keluaran yang jauh lebih baik daripada metode pertama namun dikompensasikan dengan kerumitan dalam realisasinya. 3. Metode yang ketiga adalah penyebaran spektrum. Dengan metode ini pesan dikodekan dan disebar ke setiap spektrum
frekuensi yang
memungkinkan. Maka dari itu akan sangat sulit bagi yang akan mencoba memecahkannya kecuali ia memiliki akses terhadap data tersebut atau dapat merekonstruksi sinyal acak yang digunakan untuk menyebarkan pesan pada range frekuensi. 4. Metode terakhir yang sering digunakan adalah menyembunyikan pesan melalui teknik echo. Teknik menyamarkan pesan ke dalam sinyal yang membentuk echo. Kemudian pesan disembunyikan dengan memvariasikan tiga parameter dalam echo yaitu besar amplitude awal, tingkat penurunan atenuasi dan offset. Dengan adanya offset dari echo dan sinyal asli maka echo akan tercampur dengan sinyal aslinya, karena sistem pendengaran manusia yang tidak memisahkan antaha echo dan sinyal asli.
2.4.1. Least Significant Bit Least Significant Bit atau low bit coding merupakan metode yang sederhana dalam proses menyembunyikan data, yaitu dengan cara mengganti bit yang kurang penting/least significant bit dari setiap sampling point dengan rentetan bit binary dari data yang disembunyikan.
Secara
matematis
LSB
melakukan pengubahan nilai bit paling rendah dari sampel audio dengan nilai bit pesan yang akan disisipkan. Pada Tugas Akhir ini file penampung atau cover dari metode LSB adalah audio digital yang berupa file MP3 dan bit–bit pesan atau data
21
rahasia yang akan disisipkan ialah file yang telah terenkripsi dengan algoritma DES. Keluarannya adalah file MP3
yang telah disisipi dengan bit–bit pesan
rahasia.
Contoh: Misalkan data yang ingin sisipkan berupa teks “secret“. Kalau direpresentasikan ke dalam binary, kata “secret” ini” menjadi
Tabel 2.2 Contoh Perubahan Karakter Menjadi Binary Karakter
ASCII value (decimal)
hexadecimal binary
S
115
73
01110011
E
101
65
01100101
C
99
63
01100011
R
114
72
01110010
E
99
63
01100011
T
116
74
01110100
Misalkan media suara yang akan anda sisipi mempunyai panjang 48 byte, dengan nilai seperti berikut: Tabel 2.3 Media Penampung Byte 00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001 00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001 00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011
22
Byte 00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011 00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011
Binari dari kata “secret” kemudian di urutkan “01110011 01100101 01100011 01110010 01100011 01110100”. Setiap 1 bit dari kata “secret” akan menggantikan bit terakhir dari setiap byte media penampung, maka stego yang dihasilkan adalah sebagai berikut: Tabel 2.4 Urutan Byte Media Penampung Setelah Dilakukan Penyisipan Byte 00000000 00000001 00000001 00000001 00000000 00000000 00000001 00000001 00000000 00000001 00000001 00000000 00000000 00000001 00000000 00000001 00000000 00000001 00000001 00000000 00000000 00000000 00000001 00000001 00000000 00000001 00000011 00000011 00000010 00000010 00000011 00000010 00000000 00000001 00000011 00000010 00000010 00000010 00000011 00000011 00000000 00000001 00000011 00000011 00000010 00000011 00000010 00000010
2.5. Kriptografi Kriptografi (cryptographi) berasal dari Bahasa Yunani: “cryptos” artinya “secret” (rahasia), sedangkan “graphein” artinya “writing” (tulisan). Sehingga kriptografi berarti “secret writing” (tulisan rahasia). Jadi kriptografi didefinisikan sebagai ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara
23
menyandikannya dalam bentuk yang tidak dapat dimengerti lagi maknanya (kurniawan,2004). Kata “seni” dalam definisi tersebut berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kroptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia, pesan tersebut mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan. Definisi di atas mungkin cocok pada masa lalu dimana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat dan mata-mata. Namun saat ini kriptografi lebih dari sekedar privacy, tapi juga untuk tujuan data integrasi, authentication, dan non-repudiation. Dalam syahputra (2009) A.Menezes mendefinisikan kriptografi sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi. Definisi ini dapat dianggap sebagai pembanding antara kriptografi pada masa lalu dan kriptografi masa sekarang. Dewasa ini kriptografi berkembang menjadi sebuah disiplin ilmu sendiri karena teknik-teknik kriptografi dapat diformulasikan secara matematika sehingga menjadi sebuah metode yang formal. 2.5.1. Plainteks dan Cipherteks Pesan (message) adalah data atau informasi yang dapat
dibaca dan
dimengerti maknanya. Nama lain dari pesan adalah plainteks (plaintext) atau teks jelas (cleartext). Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran telekomunikasi, dll) atau yang disimpan di dalam media perekam (kertas, storage, dll). Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara, bunyi (audio), video atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan dapat disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks
24
harus dapat ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca. 2.5.2. Pengirim dan Penerima Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Entitas disini dapat berupa orang, mesin (komputer), kartu kredit, dan sebagainya. Jadi orang bisa bertukar pesan dari orang lainnya (contoh: Alice berkomunikasi dengan Budi), sedangkan di dalam jaringan komputer, mesin (komputer) berkomunikasi dengan mesin (contoh: mesin ATM berkomunikasi dengan komputer server di Bank). Pengirim tentu menginginkan pesannya dapat dikirim dengan aman yaitu dia yakin bahwa pihak lain tidak dapat membaca isi pesan yang dia kirim. Solusinya adalah dengan cara menyandikan pesan menjadi cipherteks. 2.5.3. Enkripsi dan Dekripsi Proses penyandian plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering. Sedangkan proses mengembalikan cipherteks menjadi plainteks
semula dinamakan dekripsi (decryption) atau deciphering.
Enkripsi dan dekripsi dapat diterapkan baik pada pesan yang dikirim maupun pada pesan yang tersimpan. 2.5.4. Cipher dan Kunci Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan deciphering. Konsep matematika yang mendasari algoritma kriptografi adalah relasi antar dua buah himpunan yaitu himpunan yang berisi elemen-element plainteks dan himpunan yang berisikan cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen antara dua himpunan tersebut. Misalnya P mewakili plainteks dan C menyatakan cipherteks maka fungsi enkripsi E memetakan P ke C,
25
E(P) = C Dan fungsi dekripsi D memetakan C ke P. D(C) = P Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan awal, maka persamaan berikut harus benar. D(E(P)) = P Keamanan algoritma kriptografi sering diukur dari banyaknya kerja yang dibutuhkan untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Kerja ini dapat diekivalenkan dengan waktu, memori, uang dan lain-lain. Semakin banyak kerja yang diperlukan berarti juga semakin lama waktu yang dibutuhkan, maka semakin kuat algoritma kriptografi tersebut, yang berarti
semakin aman digunakan untuk menyandikan pesan. Jika keamanan
kriptografi ditentukan dengan menjaga kerahasiaan algoritmanya, maka algoritma kriptografinya dinamakan algoritma restricted, dimana algoritma restricted ini mempunyai sejarah tersendiri di dalam kriptografi. Algoritma restricted biasanya digunakan oleh sekelompok orang untuk bertukar pesan satu sama yang lain. Mereka membuat suatu algoritma enkripsi dan algoritma enkripsi tersebut hanya diketahui oleh anggota kelompok itu saja. Tetapi algoritma restricted tidak cocok lagi saat ini, sebab setiap kali ada anggota kelompok keluar, maka algoritma kriptografi harus diganti lagi. Kriptografi modern mengatasi masalah di atas dengan menggunakan kunci, yang dalam hal ini algoritma tidak lagi dirahasiakan, tetapi kunci harus dijaga kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk transformasi enciphering dan deciphering. Kunci biasanya berupa string atau deretan bilangan.
26
Dengan menggunakan kunci K maka fungsi enkripsi dapat ditulis sebagai: EK(P) = C Dan fungsi dekripsi dapat ditulis sebagai: DK(C) = P Dan kedua fungsi ini memenuhi: DK(EK(P)) = P Kunci
Kunci Chiperteks Plainteks
Plainteks Enkrips i
Dekripsi
Kunci K Stype xoutx xetroge
Kirim senjata perang Enkrips i Plainteks
Kunci K Kirim senjata perang Dekripsi Chiperteks
Plainteks
Gambar 2.6.a. Memperlihatkan Skema Enkripsi Dan Dekripsi Dengan Menggunakan Kunci, Sedangkan gambar 2.6.b. Mengilustrasikan Enkripsi
Dan Dekripsi Terhadap Sebuah Pesan 2.5.4. Kriptanalisis dan Kriptologi Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis. Kriptanalisis (crypanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya dinamakan kriptanalis. Jika seorang kriptografer (cryptographer) mentransformasikan plainteks menjadi cipherteks dengan suatu algoritma dan kunci, maka sebaliknya seorang kriptanalis
berusaha untuk
27
memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis.
2.5.5 Tujuan Kriptografi Kriptografi bertujuan untuk memberikan layanan keamanan sebagai berikut: 1. Kerahasiaan (confidentiality), adalah layanan yang bertujuan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Didalam kriptografi,
layanan ini direalisasikan dengan menyandikan
pesan menjadi cipherteks. 2. Integritas data (data integrity), adalah layanan yang menjamin bahwa
pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda tangan digital (digital signature). Pesan yang telah ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli. 3. otentikasi (authentication), adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan. Dua pihak yang saling berkomunikasi
harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan kebenaransumber pesan. Pesan yang dikirim melalui saluran komunikasi juga harus diotentikasi asalnya. Otentikasi sumber pesan secara implisit juga memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar. Oleh karena itu, layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber pesan. Didalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda tangan digital. Tanda-tangan digital menyatakan sumber pesan. 4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan
menyangkal
melakukan
pengiriman
atau
penerima
pesan
menyangkal telah menerima pesan. Sebagai contoh misalnya pengirim pesan memberi otoritas kepada penerima pesan untuk melakukan
28
pembelian, namun ia menyangkal telah memberikan otoritas tersebut.
2.5.6. Jenis-Jenis Kriptografi Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi dua, yaitu: 1. Kriptografi kunci simetri (symmantric key cryptography) 2. Kriptografi kunci asimetri (asymmetric key cryptography)
2.5.6.1.Kriptografi Kunci Simetri Pada sistem kriptografi kunci simetri, kunci untuk enkripsi sama dengan kunci untuk dekripsi, oleh karena itu dinamakan kriptografi kunci simetri atau kriptografi simetri. Istilah lain untuk kriptografi simetri adalah kriptografi kunci privat (private key cryptographi), kriptografi kunci rahasia (secret key cryptographi), atau kriptografi konvensional (conventional cryptographi). Sistem kriptografi simetri mengasumsikan pengirim dan penerima pesan sudah berbagi kunci yang sama sebelum bertukar pesan. Keamanan kriptografi simetri terletak pada kerahasiaan kuncinya. Kriptografi simetri merupakan satu-satunya jenis kriptografi yang dikenal dalam catatan sejarah hingga tahun 1976. Semua algoritma kriptografi klasik termasuk ke dalam sistem kriptografi simetri. Di sisi lain, ada puluhan algoritma kriptografi modern yang termasuk ke dalam sistem kriptografi simetri, diantaranya adalah DES (Data Encryption Standard), Blowfish, Twifish, Triple-DES, IDEA, Serpent dan yang terbaru adalah AES (Advanced Encryption Standard). Secara umum, cipher yang termasuk ke dalam kriptografi
simetri
beroperasi dalam mode bit dan dapat dikelompokkan dalam dua kategori, yaitu: 1.
Cipher blok (block cipher) Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit,yang dalam hal ini rangkaian bit dibagi menjadi blokblik bit yang panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi
29
memperlakukan 8 karakter setiap kali enkripsi (1 karakter sama dengan 8
bit
dalam
pengkodean
ASCII).
Contoh
kriptografi
yang
menggunakan metode ini adalah DES, TripleDES, IDEA, AES, dan lain-lain. 2.
Cipher aliran (stream cipher) Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk
bit
tunggal,
yang
dalam
hal
ini
rangkaian
bit
dienkripsikan/didekripsikan bit per bit atau byte per byte. Contoh kriptografi yang menggunakan metode stream cipher adalah
RC4
(Ron’s Code 4), A5 dan lain-lain. Aplikasi kriptografi simetri yang utama adalah melindungi kerahasiaan data yang dikirim melalui media telekomunikasi dan melindungi kerahasiaan data yang disimpan pada media penyimpanan. Kelemahan dari sistem ini adalah baik pengirim maupun menerima pesan harus memiliki kunci yang sama, sehingga pengirim pesan harus mencari cara yang aman untuk memberitahukan kunci kepada penerima pesan.
Gambar 2.7. Skema kriptografi kunci simetri. Kunci enkripsi sama dengan kunci dekripsi yaitu K 2.5.6.2. Kriptografi Kunci Asimetri Konsep kriptografi kunci asimetri sederhana dan elegan, tetapi mempunyai konsekuensi penggunaan yang hebat. Seperti yang telah dijelaskan pada bagian awal, pada kriptografi kunci publik, setiap pengguna memiliki sepasang kunci, satu kunci untuk enkripsi dan satu kunci untuk
30
dekripsi. Kunci untuk enkripsi diumumkan kepada publik sehingga dinamakan dengan kunci publik dan disimbolkan dengan e. Kunci untuk dekripsi bersifat rahasia sehingga dinamakan dengan kunci privat dan disimbolkan dengan d.
Gambar 2.8 Skema kriptografi kunci asimetri. Kunci enkripsi (e) tidak sama dengan kunci dekripsi (d).
Misalnya E adalah fungsi enkripsi dan D adalah fungsi dekripsi dan e dan d adalah pasangan kunci untuk enkripsi dan dekripsi, sehingga: Ee(m) = c dan Dd(c) = m untuk suatu plainteks m dan cipherteks c. Kedua persamaan ini menyiratkan bahwa dengan mengetahui e dan c, maka secara komputasi hampir tidak mungkin menemukan. Asumsi lainnya, dengan mengetahui e secara komputasi hampir tidak mungkin menurunkan d.
2.6. Data Encryption Standard (DES) Data Encryption Standard (DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia. DES diadopsi oleh NIST (National Institue of Standard and Technology) sebagai standar pengolahan informasi Federal AS. Secara umum DES terbagi menjadi tiga kelompok, yaitu pemrosesan kunci, enkripsi data
64 bit, dan dekripsi data 64 bit yang mana satu kelompok saling berinteraksi satu dengan yang lainnya.
31
2.6.1. Sejarah DES Pada akhir tahun 1960, IBM memulai suatu proyek yang dipimpin oleh Horst Feistel untuk komputer kriptografi yang diberi nama Lucifer,. Proyek ini berakhir pada tahun 1971 dan Lucifer yang pertama kali dikenal sebagai blok cipher pada pengoperasian pada blok 64 bit dan menggunakan ukuran kunci 128 bit. Setelah IBM mengembangkan suatu sistem enkripsi yang dikomersilkan, maka Lucifer disebut dengan DES (Data EncryptionStandard), proyek ini dipimpin oleh Walter Tuchman, hasil dari riset ini merupakan versi dari Lucifer yang bersifat menentang pemecahan algoritma kriptografi. Pada tahun 1973, National Burean of Standard (NBS), sekarang menjadi National Institute of Standard and Technology (NIST), mengeluarkan proposal cipher standar untuk nasional. IBM menyampaikan hasil risetnya tentang proyek DES dan mengajukansebagai kandidat untuk cipher standar nasional. NBS meminta agar National Security Agency (NSA) untuk melakukan evaluasi keamanan
algoritma
dan
menentukan
apakah
pantas
menjadi
standar
pemerintahan. Pada bulan November 1976, DES dipilih sebagai standar yang dipakai pada pemerintahan dan authorize untuk menggunakan atas nama US Government Communication. Undang-undang atas penggunaan DES yaitu PUB 46 diterbitkan pada 15 Januari 1977. Algoritma DES merupakan salah satu proposal yang terbaik pada tahun 1977, tidak ada kritik yang datang dari kalangan ilmuan tentang panjang kunci yang digunakan dan S-Box yang merupakan bagian internal dari DES. Selama 20 tahun algoritma DES dipakai sebagai standar nasional. Pada tahun 1990 panjang kunci DES dianggap terlalu pendek dan pada tahun 1998, 70 ribu PC di internet berhasil membobol satu kunci DES dalam tempo waktu 96 hari, tahun 1999 dalam tempo 22 hari. Dengan alasan tersebut, maka pada tahun 2001 NIST mengganti DES
menjadi AES (Advanced Encryption Standard) sebagai standar nasional.
2.6.2. Kelebihan dan Kekurangan DES Panjang kunci eksternal DES hanya 64 bit atau 8 karakter, itupun yang dipakai hanya 56 bit. Pada rancangan awal, panjang kunci yang diusulkan IBM
32
adalah 128 bit, tetapi atas permintaan NSA, panjang kunci diperkecil menjadi 56 bit. karena panjang kunci yang hanya 64 bit atau 8 karakter untuk mengenkripsi dan mendekripsi blok 64 bit menyebabkan proses enkripsi dan dekripsi menggunakan DES lebih cepat dibandingkan dengan algoritma lain seperti AES 128 yang mempunyai panjang kunci 128 bit untuk mengenkripsi dan mendekripsi blok 128 bit, akan tetapi dengan kunci dengan panjang 56 bit menyebabkan DES mempunyai kemungkinan 256 72.057.594.037.927.936 kemungkinan kunci, Jika diasumsikan serangan exhaustive key search dengan menggunakan prosesor paralel mencoba setengah dari jumlah kemungkinan kunci itu, maka dalam satu detik dapat dikerjakan satu juta serangan. Jadi seluruhnya diperlukan 1142 tahun untuk menemukan kunci yang benar.
2.7. Pemodelan Unified Process Unified process (UP) merupakan suatu metode pembangunan sistem secara objek oriented yang dikembangkan oleh Rational Rose, bagian dari IBM.
Secara
luas,
UP telah
diakui
sebagai
standar
metodologi
pengembangan sistem berorientasi objek. Versi asli dari UP didefinisikan sangat rumit untuk setiap kegiatan. Namun versi terbaru dari UP yakni metodologinya lebih sederhana. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan interatif untuk siklus pengembangan perangkat lunak. Dalam penelitian ini metode pengembangan orientasi obyek yang diterapkan adalah Unified Process (UP).UP dalah salah satu bentuk framework pengembangan perangkat lunak secara iterative dan incremental. Proses pengembangan perangkat lunak dalam UP dibagi dalam 4 fase dan setiap fase dijalani secara iterative dan incremental seperti telah disebutkan. Empat fase UP adalah sebagai berikut : 1. Inception Inception bermakna permulaan.Inception merupakan tahapan
33
paling pendek dalam fase UP. Fase inception harus memenuhi beberapa tujuan, diantaranya: 1) Identifikasi masalah,struktur dan keadaan lingkungan yang akan menjadi pengguna perangkat lunak. 2) Identifikasi lingkup proyek berikut batasa-batasannya. 3) Merancang use case dan fitur-fitur inti. 2. Elaboration Tujuan dari tahap elaboration adalah mengidentifikasi resiko dalam pengembangan perangkat lunak dan membangun dasar arsitektur sistem. Proses pembangunan arsitektur diantaranyadilakukan dengan penggambaran diagram uses case dan diagram konsep dasar 3. Construction Fase construction adalah fase terpanjang dalam UP. Proses inti dalam fase ini adalah pengkodean perangkat lunak. Tentunya pengkodean pun diawali dengan desain dengan UML. 4. Transition Fase transition adalah fase saat perangkat lunak telah selesai dibuat dan mulai digunakan. Dalam fase transisi akan diperoleh umpan balik dari pengguna. Empat fase UP dapat dilihat pada gambar 2.9.
34
Gambar 2.9 Fase Pengembangan Perangkat Lunak Dalam UP
2.8 Unified modelling Language (UML) UML
adalah
"bahasa"
untuk
pemodelan
berbasis
grafis
untuk
program komputer. Pemodelan (modelling) berarti membuat representasi dari suatu objek yang disederhanakan, seperti cetak biru (blueprint) model rumah. UML menyediakan cara untuk memvisualisasikan tingkat pengorganisasian yang lebih tinggi dari program tanpa menggunakan kode aktual bahasa pemrogaman. UML awalnya merupakan tiga bahasa pemodelan terpisah, satu dibuat oleh Grady Booch pada saat masih bekerja di Rational Software, James Rumbaugh dari General Electric, dan satu orang lagi oleh Ivan Jacobson dari Ericson. Akhirnya Rumbaugh dan Jacobson bergabung dengan Booch di Rational Software (nama organisasi), di mana mereka menjadi dikenal sebagai tiga 'amigos'. Selama tahun 1990-an mereka bekerja bersama dan menyebut bahasa 26 pemodelan mereka menjadi Unified Modeling Language. Hasilnya
35
diadopsi oleh Management
Group
Object
(OMG),
sebuah
konsorsium
perusahaan yang ditujukan untuk standar industri (Lafore, 2002). Salah satu alasannya adalah karena sebagian besar program komputer sangat
sulit
untuk
dipahami,
kita
hanya
bisa
memahaminya
dengan
membaca kode-kode programnya, bagaimana bagian-bagian dari program saling terhubung. Dapat kita saksikan, sekarang ini pemrograman berorientasi objek lebih berkembang luas dibandingkan pemrograman prosedural dan walaupun UML sebenarnya bisa digunakan untuk segala jenis pemrograman namun UML dikhususkan untuk PBO (Lafore, 2002). UML
memiliki
13
jenis
diagram.
Spesifikasi
UML
tidak
menyebutkan dimana diagram-diagram ini digunakan pada jenis metodologi tertentu. Kita bebas menggunakan diagram mana yang cocok untuk tahap apa saja (O’Docherty,2005). Diagram-diagram tersebut adalah sebagai berikut: 1.
Use case diagram mengkategorikan cara sistem digunakan.
2.
Class diagram hanya menujukkan objek-objek dan bagaimana objek-objek itu saling berpasangan
3.
Activity diagram menunjukkan aktifitas dari manusia atau objek dalam sistem seperti flow chart.
4.
State machine diagram menunjukkan variasi kondisi / keadaan dari objek dengan siklus hidup yang menarik dan rumit.
5.
Communication
diagram
antara objek pada skenario.
menunjukkan
pesan-pesan
yang
terkirim
36
6.
Sequence diagram menunjukkan informasi yang sama seperti pada Communication diagram namun menekankan pada urutan-urutannya dibandingkan hubungannya.
7.
Package diagram
menunjukkan
bagaimana
kelas
yang saling
berhubungan digrupkan bersama untuk memberi kemudahan bagi pengembang. 8.
Deployment diagram menunjukkan mesin, proses, dan artefak tersebar untuk sistem yang telah rampung.
9.
Component diagram menunjukkan komponen yang dapat digunakan kembali dan interface-nya.
10.
Interaction overview diagram menunjukkan langkah-langkah individual dari sebuah aktifitas dengan menggunakan sequence diagram.
11.
Timing diagram menunjukkan ketepatan kendala waktu
(objek atau
subsistem) bagi pesan-pesan dan status objek. 12.
Composite structure diagram menunjukkan bagaimana objek-objek terpasang
bersama dalam agregasi atau komposisi, menampilkan
antarmuka dan mengkolaborasikan objek.
2.9. Flowchart Flowchart adalah serangkaian bagan-bagan yang menggambarkan alir program. Flowchart atau diagram alir memiliki bagan-bagan yang melambangkan fungsi tertentu. Bagan, nama dan fungsinya seperti yang ditunjukkan oleh Tabel 2.2 (Proboyekti, 2009) :
37
Tabel 2.5 Simbol-simbol umum dalam flowchart No.
Bagan
Nama
Fungsi
1.
Terminator
Awal atau akhir program
2.
Flow
Arah aliran program
3.
Preparation
Inisialisasi / pemberian nilai awal
4.
Process
Proses / pengolahan data
5.
Input / output data
Input / output data
6.
Sub program
Sub program
7.
Decision
Seleksi atau kondisi Penghubung bagian-bagian
8.
On page connector
flowchart pada halaman berbeda Penghubung bagian-bagian
9.
Off page connector
flowchart pada halaman berbeda
10.
Comment
Tepat komentar tentang suatu proses
2.8. Bahasa Pemograman Java Bahasa pemrograman Java pada awalnya dikhususkan untuk aplikasi berbasis
Internet, namun
sekarang
aplikasi-aplikasi
Java
sudah
dapat
digunakan untuk tidak hanya berbasis Web saja tetapi dari basis Desktop hingga aplikasi mobile sudah menggunakannya. Java itu portabel yaitu dapat
38
dijalankan di berbagai platform yaitu Windows, Linux, Unix, MacOS, atau SymbianOS (mobile). Kunci dari portabilitas ini adalah keluaran hasil kompilasi Java bukanlah file executable melainkan berbentuk bytecode. Bytecode inilah yang akan dieksekusi oleh JRE (Java Runtime Environment) yang disebut JVM (Java Virtual Machine) dan telah diinstall pada setiap sistem operasi yang akan digunakan, sehingga JVM merupakan interpreter bagi bytecode.
BAB III METODE PENELITIAN
3.1 Metodologi Pengumpulan Data Metode yang dilakukan dalam proses pengumpulan data antara lain adalah: a. Studi Pustaka Metode ini di gunakan untuk mencari literatur atau sumber pustaka yang bersumber dari buku, paper, dan sumber ilmiah lain seperti situs internet ataupun artikel teks dokumen yang
berhubungan dengan
penelitian ini. b. Sampling ( penganbilan sampel data ) Pengambilan sampel data merupan metode pengumpulan data yang dilakukan dengan cara menganbil sampel data-data yang di butuhkan untuk kepentingan penilitaian ini, sampel data berupa file teks berformat txt, pdf,dan doc, file kompresi berformat zip dan rar, file gambar berformat jpg, bmp, dan gif serta file audio dengan format MP3. 3.2 Prosedur Pengembangan Perangkat Lunak Motodologi pengembangan sistem yang di gunakan untuk metode rational unified process (RUP) karena pengambangan aplikasi ini dalam ruang lingkup kecil/menengah. Terdapat tahapan-tahapan dalam metode ini ,yaitu : 1. Inception Pada tahap ini penulis menentukan ruang lingkup proyek dari hasil observasi yang penulis lakukan, meliputi dari hasil penelitian skripsiskripsi terdahulu.
39
40
2. Elaboration Pada tahap ini setelah penulis mengadakan observasi/studi pustaka, kemudian penulis melakukan identifikasi masalah, dan menentukan alur bisnis pada aplikasi serta wilayah persoalan data yang akan didukung oleh sistem yang akan di kembangkan serta di tentukan pada jangkauan atau batasan sistem. Di dalam Elaboration terdapat dua tahapan, yaitu : 1. Analisis Ada tiga fase dalam
tahapan analisis
sistem
pada alir
pengambangan sistem RUP, yaitu: a. Analisis masalah b. Analisis persyaratan, mendefinisikan dan memprioritaskan persyaratanpersyaratan bisnis. c. Analisis keputusan, setelah mengetahui permasalahan dan persyaratan sistem yang di inginkan maka fase selanjutnya adalah analisis keputusan yang aan menghasilkan arsitektur aplikasi. Pada bagian ini di gambarkan spesifikasi atau alur kerja sistem yang di usulkan. Perancangan sistem dilakukan satelah tahap analisis telah rampung. 2.
Modelling ( perancangan)
a.
Perancangan Aplikasi Untuk perancangan aplikasi, penulis menggunakan alat bantu (tools) yaitu unified modelling language (UML). UML merupakan sebuah bahasa yang menjadi standar untuk visualisasi. Perancangan serta pendokumentasian sebuah software. Disebabkan UML menggunakan class dan operation maka penggunkaan UML lebih cocok di gunakan dalam perancangan aplikasi yang bersifat object oriented.
41
Perancangan aplikasi yang penulis lakukan dengan menggunakan tools UML ini, meliputi: 1. Penentuan actor 2. Perancangan use case diagram 3. Perancangan use case tekt 4. Perancangan activity diagram 5. Perancangan sequence diagram 6. Perancangan tampilan Pada tahap ini penulis melakukan perancangan terhadap user interface dari aplikasi ini. Perancangan yang di lakukan meliputi menu-menu yang ada di sistem. 3.
Construction Dalam tahapan Construction ini meliputi bagaimana suatu aplikasi bisa diimplementasikan dan diuji coba.
a. Implementasi Dalam tahapan implementasi di jelaskan perangkat keras dan perangkat lunak sapa saja yang di butuhkan untuk mengimplementasikan apliaksi pengukuran jarak ini. b. Coding Pada tahap ini di lakukan pengkodean sistem (coding), bahasa pemrograman yang di gunakan adalah bahasa pemrograman java. c. Testing Pada tahap ini di lakukan testing aplikasi yang telah di bangun, testing aplikasi menggunakan metode blackbox, pengujian ini di lakukan oleh peneliti. Testing ini di perlukan untuk menjamin kualitas aplikasi, apaka sesuai dengan harapan. 4.
Trasition Pada tahap ini penulis membuat apa yang sudah di modelkan di tahapan-tahapan sebelumnya menjadi suatu aplikasi yang telah dapat digunakan.
42
3.3 Waktu Penelitian Waktu penelitian ini dimulai pada bulan Mei tahun 2015 dan berakhir pada bulan April tahun 2016. Pada bulan Mei sampai Juni 2015 dilakukan tahap inception yaitu menentukan ruang lingkup masalah yaitu dengan melakukan observasi pada hasil penelitian skripsi-skripsi terdahulu. Pada bulan Agustus hingga Oktober 2015 dilakukan tahap elaboration yaitu melakukan analisis dan perancangan aplikasi. Pada November 2015 hingga Januari 2016 dilakukan tahap construction yaitu pengimplementasian metode, coding serta testing. Pada Februari hingga April 2016 telah sampai pada tahap transition yaitu aplikasi yang telah dimodelkan telah menjadi aplikasi yang telah siap digunakan.Waktu yang diperlukan dalam penelitian ini di tunjukkan pada tabel 3.1.
Tabel 3.1 Tabel Waktu Penelitian Waktu(2015-2016) No.
Tahapan
2015
2016
RUP
bulan
bulan
5 1.
Inception
2.
Elaboration
3.
Construction
4.
Transition
6
7
8
9
10
11
12
1
2
3
4
BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1. Analisis Masalah Semakin berkembangnya teknologi informasi dewasa ini, diikuti pula dengan semakin meningkatnya ancaman serangan pada jalur pertukaran informasi melalui internet. Saat ini dibutuhkan upaya keamanan yang lebih baik dalam mengamankan
informasi.
Salah
satunya
adalah
dengan
menggunakan
steganografi. Pesan rahasia disisipkan ke dalam media digital lainnya tanpa menimbulkan perubahan yang dapat dipersepsi oleh manusia akibat proses penyisipan tersebut. Dalam hal steganografi audio, metode ini memanfaatkan keterbatasan pada indera pendengaran manusia (human auditory system). Dalam steganografi, format audio memiliki kelebihan dibandingkan format citra maupun video. Berkas audio biasanya berukuran relatif lebih besar dibandingkan dengan format citra, sehingga dapat menampung pesan rahasia dalam jumlah yang lebih besar pula. Adapun format video memang berukuran relatif sangat besar, tetapi ukurannya yang sangat besar tersebut mengurangi kepraktisannya dan juga kurangnya algoritma yang mendukung format ini (Ariyus, 2007). Akan tetapi saat ini telah banyak diciptakan
metode-metode dan
perangkat steganalisis (steganalysist) yang digunakan untuk mendeteksi penggunaan steganografi pada berkas digital. Proses steganalisis dapat dilakukan misalnya
dengan membandingkan
stegged-file
dengan media asli, dengan
memperhatikan perubahan bentuk, degradasi atau karakteristik yang tidak biasa dari media yang telah disisipi. Sebagai contoh proses steganalisis dapat dilakukan dengan cara sederhana berikut ini, yaitu membandingkan nilai heksadesimal dari dua buah berkas MP3.
43
44
Gambar 4.1 Salah Satu Metode Steganalisis : Membandingkan Dua Berkas Mp3 (Dilihat Dengan Menggunakan Freeware Audiograbber) Dari contoh di atas dapat dilihat bahwa ukuran kedua MP3 adalah sama yaitu 3.381.248 byte, namun byte-byte di urutan tertentu yang terdapat
di
dalamnya berbeda, seperti nilai pada 000007A4 di MP3 yang belum di sisipkan nilai hexadecimalnya FF tetapi nilai pada 000007A4 di MP3 yang telah di sisipkan nilai hexadecimalnya 58. Bagi para steganalis hal ini akan menimbulkan kecurigaan dan mengundang untuk diperiksa lebih lanjut. Dengan analisis statistik, maka pesan yang terkandung dalam berkas tersebut dapat dengan mudah ditemukan. Dari permasalahan di atas, muncul gagasan untuk mengupayakan peningkatan keamanan data pada steganografi audio, yaitu dengan mengenkripsi pesan sebelum disisipkan ke dalam media steganografi. Sehingga walaupun pesan
45
dapat dideteksi, namun steganalis tetap tidak dapat membacanya karena masih dalam keadaan terenkripsi. Ilustrasi peningkatan keamanan data pada steganografi audio menggunakan enkripsi adalah sebagai berikut:
Gambar 4.2 Ilustrasi Steganografi Audio Murni Ilustrasi di atas menggambarkan sistem steganografi audio murni. Metode ini rentan terhadap steganalisis. Jika steganalis mampu mendeteksi keberadaan pesan, maka pesan akan segera didapatkan oleh steganalis tersebut. Namun tidak demikian halnya jika pesan terlebih dahulu di enkripsi dengan algoritma kriptografi sebelum dilakukan penyisipan. Maka keamanan data akan semakin meningkat, karena walaupun steganalis berhasil mendeteksi keberadaan pesan, pesan tersebut masih dalam keadaaan terenkripsi dan hanya dapat dibuka dengan kunci yang sesuai.
46
Gambar 4.3 Ilustrasi Penambahan Enkripsi Des Pada Steganografi Audio MP3
Temukan Header dan tentukan batas maksimal penyembunyian
Hitung jumlah bit MP3
File stegged MP3
Penyisipan File sisip
Hitung bit data
Enkripsi
Ekstraksi
File terenkripsi
File
Dekripsi
Gambar 4.4 Gambaran Umum Sistem
4.2. Algoritma Kriptografi DES DES termasuk ke dalam sistem kriptografi kunci simetri dan tergolong ke dalam cipher blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsi 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit. Untuk skema globanya dapat dilihat pada gambar
47
Blok plainteks
Chiperteks
Gambar 4.5. Skema Global Kriptografi DES Keterangan skema global kriptografi DES di atas sebagai berikut: 1. Blok plainteks dipermutasikan dengan matriks permutasi awal (Initial Permutation, IP). 2. Hasil permutasi awal kemudian dienchipering sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda. 3. Hasil enciphering kemudian dipermutasikan dengan matriks permutasi -1
balikan (invers initial permutation, IP ) menjadi blok cipherteks.
Di dalam proses enchipering, blok plainteks dibagi menjadi dua bagian, kiri (L) dan kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran DES. Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran dari fungsi f di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES. Secara matematis, satu putaran DES dinyatakan sebagai: Li = Ri-1
48
Ri = Li-1 ⊕ f(Ri-1, Ki)
Gambar 4.6. memperlihatkan skema enkripsi DES yang lebih rinci. Jika (L16,R16) merupakan keluaran dari putaran ke-16, maka (L16,R16) merupakan pra-cipherteks dari enchipering ini. Chiperteks yang sebenarnya diperoleh dengan -1
melakukan permutasi awal balikan , IP , terhadap blok pra-cipherterks.
Gambar 4.6. Proses Enkripsi Kriptografi DES 4.2.1.Pembangkitan Kunci Internal Karena ada 16 putaran, maka dibutuhkan kunci internal sebanyak 16 buah, yaitu K1, K2,…, K16. Kunci-kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci eksternal panjangnya 64 bit
49
atau 8 karakter. Misalnya kunci eksternal (K) yang tersusun dari 64 bit seperti pada tabel 4.1. Kunci eksternal ini menjadi masukan untuk permutasi dengan menggunakan matriks permutasi kompresi (PC-1) pada tabel 4.2.
Tabel 4.1. Matriks kunci eksternal 64 bit
byte
Bit
1
2
3
4
5
6
7
8
1
1
2
3
4
5
6
7
8
2
9
10
11
12
13
14
15
16
3
17
18
19
20
21
22
23
24
4
25
26
27
28
29
30
31
32
5
33
34
35
36
37
38
39
40
6
41
42
43
44
45
46
47
48
7
49
50
51
52
53
54
55
56
8
57
58
59
60
61
62
63
64
Tabel 4.2. Matriks Permutation Choice One (PC-1) Bit 57
49
41
33
25
17
9
1
58
50
42
34
26
18
10
2
59
51
43
35
27
19
11
3
60
21
44
36
63
55
47
39
31
23
15
7
62
54
46
38
30
22
17
6
61
53
45
37
29
21
13
5
28
20
12
4
50
Dalam permutasi ini, tiap bit kedelapan (parity bit) dari delapan byte kunci diabaikan. Hasil permutasinya adalah sepanjang 56 bit, sehingga dapat dikatakan panjang kunci DES adalah 56 bit. Selanjutnya 56 bit dibagi menjadi 2 bagian, kiri dan kanan, yang masing-masing panjangnya 28 bit, yang masing-masing disimpan di dalam C0 dan D0.
Co: berisi bit-bit dari K pada posisi: 57, 47, 41, 33, 25, 17,
9
1, 58, 50, 42, 34, 26, 18 10, 2, 59, 51, 43, 35, 27 19, 11, 3, 60, 52, 44, 36 D0: berisi bit-bit dari K pada posisi: 63, 55, 47, 39, 31, 23, 15 7, 62, 54, 46, 38, 30, 22 14, 6, 61, 53, 45, 37, 29 21, 13, 5, 28, 20, 12, 4
Selanjutnya, kedua bagian digeser ke kiri (left shift) sepanjang satu atau dua bit tergantung pada tiap putaran. Operasi pergeseran bersifat round shift. Jumlah pergeseran pada setiap putaran ditunjukkan pada tabel 4.3
sebagai
berikut:
Tabel 4.3. Jumlah Pergeseran Bit pada Setiap Putaran Iterasi ke
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Pergeseran
1
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
bit
Misalnya (Ci, Di) menyatakan penggabungan Ci dan Di.
(Ci+1, Di+1)
diperoleh dengan menggeser Ci dan Di satu atau dua bit. Setelah pergeseran bit (Ci,
51
Di) mengalami permutasi kompresi dengan menggunakan matriks PC-2 seperti pada tabel 4.4. Tabel 4.4. Matriks Permutation Choice Two (PC-2) Bit 14
17
11
24
1
5
3
28
15
6
21
10
23
19
12
4
26
8
16
7
27
20
13
2
41
52
31
37
47
55
30
40
51
45
33
48
44
49
39
56
34
53
46
42
50
36
29
32
Dengan permutasi ini, kunci internal K1 diturunkan dari (Ci, Di) yang dalam hal ini merupakan penggabungan bit-bit Ci pada posisi:
14, 17, 11, 24, 1, 3,
5
28, 15, 6, 21, 10
23, 19, 12, 4, 26, 8 16, 7,
27, 20, 13, 2
Dengan bit-bit Di pada posisi: 41, 52, 31, 37, 47, 55 30, 40, 51, 45, 33, 48 44, 49, 39, 56, 34, 53 46, 42, 50, 36, 29, 32
52
Jadi, setiap kunci internal Ki
mempunyai panjang 48 bit. Proses
pembangkitan kunci-kunci internal ditunjukkan pada gambar 4.7. Bila jumlah pergeseran bit-bit pada tabel 4.3 dijumlahkan semuanya, maka jumlah seluruhnya sama dengan 28, yang sama dengan jumlah bit pada Ci dan Di. Karena itu, setelah putaran ke-16 akan didapatkan kembali C16 = C0 dan D16 = D0.
Gambar 4.7. Proses Pembangkitan Kunci-kunci Internal
53
4.2.2. Proses Enkripsi Data Sebelum putaran pertama, terhadap blok plainteks pada tabel 4.5, dilakukan permutasi awal (initial permutation, IP). Tujuannya adalah mengacak plainteks sehingga urutan bit-bit di dalamnya berubah. Pengacakan dilakukan dengan menggunakan matriks initial permutation awal seperti pada tabel 4.6.
Tabel 4.5. Matriks Plainteks 64 Bit bit byte
1
2
3
4
5
6
7
8
1
1
2
3
4
5
6
7
8
2
9
10
11
12
13
14
15
16
3
17
18
19
20
21
22
23
24
4
25
26
27
28
29
30
31
32
5
33
34
35
36
37
38
39
40
6
41
42
43
44
45
46
47
48
7
49
50
51
52
53
54
55
56
8
57
58
59
60
61
62
63
64
Tabel 4.6. Matriks Initial Permutation, IP bit byte
1
2
3
4
5
6
7
8
1
58
50
42
34
26
18
10
2
2
60
52
44
36
28
20
12
4
3
62
54
46
38
30
22
14
6
4
64
56
48
40
32
24
16
8
54
5
57
49
41
33
25
17
9
1
6
59
51
43
35
27
19
11
3
7
61
53
45
37
29
21
13
5
8
63
55
47
39
31
23
15
7
Proses enchipering terhadap blok plainteks dilakukan setelah permutasi awal. Setiap blok plainteks mengalami 16 kali perputaran enchipering. Secara matematis, satu putaran DES dinyatakan sebagai: Li= Ri-1 Ri = Li-1 ⊕ f(Ri-1, Ki)
Diagram komputasi fungsi f diperlihatkan pada gambar 4.8.
Gambar 4.8. Diagram Komputasi Fungsi f
55
E adalah ekspansi yang memperluas blok Ri-1yang panjangnya 32 bit menjadi blok 48 bit. Fungsi ekspansi direalisasikan dengan matriks permutasi ekspansi sebagai berikut:
Tabel 4.7. Matriks Permutasi Ekspansi Bit 32
1
2
3
4
5
4
5
6
7
8
9
8
9
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
32
1
Selanjutnya hasil ekspansi, yaitu E(Ri-1) yang panjangnya 48 bit di-XORkan dengan K1 yang panjangnya 48 bit dan menghasilkan vektor A yang panjangnya 48 bit: E(Ri-1) ⊕ K1 = A
Vektor A dikelompakkan menjadi 8 kelompok, masing-masing 6 bit, dan
menjadi masukan bagi proses substitusi. Proses substitusi dilakukan dengan menggunakan delapan kotak-S (S-box), S1 sampai S8. Setiap kotak-S menerima masukan 6 bit dan menghasilkan keluaran 4 bit. Kelompok 6 bit pertama menggunakan S1, kelompok 6 bit kedua menggunakan S2, dan seterusnya. Kedelapan kotak-S tersebut adalah :
56
Tabel 4.8. Tabel S1 Bit 14
4
13
1
2
15
11
8
3
10
6
12
5
9
0
7
0
15
7
4
14
2
13
1
10
6
12
11
9
5
3
8
4
1
14
8
13
6
2
11
15
12
9
7
3
10
5
0
15
12
8
2
4
9
1
7
5
11
3
14
10
0
6
13
Tabel 4.9. Tabel S2 bit 15
1
8
14
6
11
3
4
9
7
2
13
12
0
5
10
3
13
4
7
15
2
8
14
12
0
1
10
6
9
11
5
0
14
7
11
10
4
13
1
5
8
12
6
9
3
2
15
13
8
10
1
3
15
4
2
11
6
7
12
0
5
14
9
Tabel 4.10. Tabel S3 bit 10
0
9
14
6
3
15
5
1
13
12
7
11
4
2
8
13
7
0
9
3
4
6
10
2
8
5
14
12
11
15
1
13
6
4
9
8
15
3
0
11
1
2
12
5
10
14
7
1
10
13
0
6
9
8
7
4
15
14
3
11
5
2
12
Tabel 4.11. Tabel S4 bit 7
13
14
3
0
6
9
10
1
2
8
5
11
12
4
15
13
8
11
5
6
15
0
3
4
7
2
12
1
10
14
9
10
6
9
0
12
11
7
13
15
1
3
14
5
2
8
4
3
15
0
6
10
1
13
8
9
4
5
11
12
7
2
14
57
Tabel 4.12. Tabel S5 bit 2
12
4
1
7
10
11
6
8
5
3
15
13
0
14
9
14
11
2
12
4
7
13
1
5
0
15
10
3
9
8
16
4
2
1
11
10
13
7
8
15
9
12
5
6
3
0
14
11
8
12
7
1
14
2
13
6
15
0
9
10
4
5
3
Tabel 4.13. Tabel S6 bit 12
1
10
15
9
2
6
8
0
13
3
4
14
7
5
11
10
15
4
2
7
12
9
5
6
1
13
14
0
11
3
8
9
14
15
5
2
8
12
3
7
0
4
10
1
13
11
6
4
3
2
12
9
5
15
10
11
14
1
7
6
0
8
13
Tabel 4.14. Tabel S7 bit 4
11
2
14
15
0
8
13
3
12
9
7
5
10
6
1
13
0
11
7
4
9
1
10
14
3
5
12
2
15
8
6
1
4
11
13
12
3
7
14
10
15
6
8
0
5
9
2
6
11
13
8
1
4
10
7
9
5
0
15
14
2
3
12
Tabel 4.15. Tabel S8 bit 13
2
8
4
6
15
11
1
10
9
3
14
5
0
12
7
1
15
13
8
10
3
7
4
12
5
6
11
0
14
9
2
7
11
4
1
9
12
14
2
0
6
10
13
15
3
5
8
2
1
14
7
4
10
8
13
15
12
9
0
3
5
6
11
58
Keluaran proses substitusi adalah vektor B yang panjangnya 48 bit, Vektor B menjadi masukan untuk proses permutasi. Tujuan permutasi adalah untuk mengacak hasil proses substitusi kotak-S. Permutasi dilakukan dengan menggunakan matriks permutasi P (P-box) ditunjukkan pada tabel 4.16:
Tabel 4.16. Matriks Permutasi, P bit 16
17
20
21
29
12
28
17
1
15
23
26
5
18
31
10
2
8
24
14
32
27
3
9
19
13
30
6
22
11
4
25
Bit-bit P(B) merupakan keluaran dari fungsi f. Akhirnya, bit-bit P(B) diXOR-kan dengan Li-1 untuk mendapatkan Ri.
Ri = Li-1
⊕ P(B)
Jadi, (Li, Ri ) = (Ri-1,Li-1 ⊕ P(B)) Permutasi terakhir dilakukan setelah 16 kali putaran terhadap gabungan blok kiri dan blok kanan, Proses permutasi menggunakan matriks permutasi awal balikan (inverse initial permutation, IP-1) ditunjukkan pada tabel 4.17:
59
Tabel 4.17. Matriks Invers Initial Permutation, IP-1 bit 40
8
48
16
56
24
64
32
39
7
47
15
55
23
63
31
38
6
46
14
54
22
62
30
37
5
45
13
53
21
61
29
36
4
44
12
52
20
60
28
35
3
43
11
51
19
59
27
34
2
42
10
50
18
58
26
33
1
41
9
49
17
57
25
4.2.3.Proses Dekripsi Data Proses dekripsi terhadap blok cipherteks merupakan kebalikan dari proses enkripsi. DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Jika pada proses enkripsi urutan kunci internal yang digunakan adalah K1,
K2,…,K16, maka pada proses dekripsi urutan kunci yang digunakan adalah
K16, K15, …, K1. Untuk tiap putaran 16, 15, …, 1, keluaran pada setiap putaran deciphering adalah
Li = Ri-1 Ri = Li-1 ⊕ f(Ri-1, K1) Yang dalam hal ini (R16, L16) adalah blok masukan awal untuk deciphering. Blok (R16,L16) diperoleh dengan mempermutasikan cipherteks dengan matriks permutasi IP-1. Prakeluaran dari deciphering adalah (L0,R0). Dengan permutasi awal IP akan didapatkan kembali blok plainteks semula. Tinjau kembali proses pembangkitan kunci internal pada gambar 4.7. Selama deciphering, K16 dihasilkan dari (C16, D16) dengan permutasi
PC-2.
Tentu saja (C16,D16) tidak dapat diperoleh langsung pada permulaan deciphering. Tetapi karena (C16, D16)= (C0, D0), maka K16 dapat dihasilkan dari (C0, D0) tanpa
60
perlu lagi melakukan pergeseran bit. Catatlah bahwa (C0, D0) yang merupakan bitbit dari kunci eksternal K yang diberikan penguna pada waktu dekripsi. Selanjutnya K15dihasilkan dari (C15, D15) yang mana (C15, D15) diperoleh dengan menggeser C16 (yang sama dengan C0) dan D16 (yang sama dengan D0) satu bit ke kanan. Sisanya K14 sampai K1 dihasilkan dari (C14, D14) sampai (C1, D1). Catatlah bahwa (Ci-1, Di-1) diperoleh dengan menggeser Ci dan Di dengan cara yang sama seperti tabel 4.3, tetapi pergeseran kiri (left shift) diganti menjadi pergeseran kanan (right shift).
4.3. Kebutuhan Sistem 4.3.1 Flowchart a. Penyisipan Proses penyisipan seperti yang di tunjukan pada gambar 4.9
. Gambar 4.9 Flowchart Proses Penyisipan
61
1. Proses penyisipan di mulai dengan menginput berkas MP3 yang akan digunakan sebagai MP3 cover 2. Kemudian sistem akan mencari posisi Header pertama. Posisi frame pertama sangat penting sebab untuk diketahui karena di gunakan untuk menghitung jumlah maksimal penampungan suatu MP3. Seperti yang ditunjukan oleh gambar 4.10. Mulai
Baca 2 byte pertama baca 2 byte selanjutnya
2 byte pertama adalah hexadecimal FF FA
posisi byte +1
2 byte pertama adalah hexadecimal FF FB
tidak
ya
ya header
selesai
Gambar 4.10 Flowchart Proses Pencarian Header Pertama
Pertama-tama sistem akan membaca 2 byte pertama dalam bentuk hexadecimal apakah 2 byte pertama tersebut merupakan karakter FF FA atau FF FB yang merupakan ciri dari Header pertama sebuah berkas MP3, jika tidak ditemukan maka sistem akan mencari bergeser 1 byte dan
62
mencari di 2 byte selanjutnya, proses tersebut diulangi sampai mendapat karakter FF FA atau FF FB jika sampai byte akhir tidak di temukan maka berkas MP3 tersebut tidak dapat digunakan. 3. Max stegged ialah hasil perhitungan dari posisi Header pertama di bagi 8 sebab steganografi ini menggunakan LSB di kurangi 96 yang merupakan informasi dari berkas rahasia yang telah dienkripsi.
M=
H-48 8
- 96
M = maksimal ukuran pesan rahasia yang dapat disisipkan H = letak header pertama 8 = 1 byte sama dengan 8 bit atau karakter LSB mengganti 1 bit terakhir 48 = 48 byte pertama dari sebuah MP3 yang mengandung informasi MP3 96 = Informasi file yang di enkripsi dengan DES yang terdiri dari 96 byte 4. Menginputkan berkas rahasia berekstensi tiga huruf misal *.txt, *.pdf, *.doc, *.gif, *.rar. 5. Menginputkan password atau kata kunci berupa 8 karakter 6. Sistem melakukan proses enkripsi dan penyisipan 7. Sistem membuat berkas MP3 baru dengan nama steg.nama berkas MP3.mp3 b. Ektraksi 1. Proses ekstraksi di mulai dengan menginput berkas stegged MP3 2. Menginput password kata kunci sebanyak 8 karakter
63
3. Sistem mengetraksi pesan rahasia kemudian didekrispsi menggunakan DES 4. Sistem membuat berkas baru hasil ektraksi dengan nama des.steg.nama berkas MP3
Gambar 4.11 Flowchart Proses Ekstraksi
4.3.2 Business Rules Bussines rules membahas mengenai aturan-aturan yang terdapat di dalam aplikasi:
64
Table 4.18 Bussiness Rules No
Bussiness Rules
B1
User adalah peneliti sendiri
B2
User memilih menu sisip pesan
B3
User memilih file MP3
B4
User memilih file rahasia
B5
User mengisi password
B6
User melakukan penyisipan pesan
B7
User memilih menu ektraksi pesan
B8
User memilih file stegged MP3
B9
User mengisi password
B10
User melakukan ektraksi pesan
B11
User memilih menu petunjuk
4.3.3 Kebutuhan Fungsional Requirements bertujuan untuk mendeskripsikan apa yang harus dilakukan oleh Sistem. Terdapat dua jenis requirements yang harus dilakukan untuk menghasilkan sebuah Sistem yang berkualitas, yaitu kebutuhan fungsional dan kebutuhan non-fungsional. Berikut merupakan kebutuhan fungsional dan nonfungsional dari aplikasi yang akan dibangun yang disajikan dalam bentuk tabel.
Tabel 4.19 Kebutuhan Fungsional ID
Deskripsi
R1.1
Sistem menampilkan menu Beranda
R1.2
Sistem menampilkan menu penyisipan
R1.3
Sistem menampilkan menu ektraksi pesan
R1.4
Sistem menampilkan menu petunjuk
R2.1
Sistem menampilkan pemilihan file MP3
R2.2
Sistem menampilkan informasi file MP3
65
ID
Deskripsi
R2.3
Sistem menampilkan pemilihan file rahasia
R2.4
Sistem menampilkan informasi file rahasia
R2.5
Sistem menampilkan field pengisian kunci enkripsi
R2.6
Sistem memproses penyembunyian pesan
R3.1
Sistem menampilkan pemilihan file stegged MP3
R3.2
Sistem menampilkan informasi file stegged MP3
R3.3
Sistem dapat menampilkan field pengisian kunci dekripsi
R3.4
Sistem dapat memproses ektraksi pesan
4.3.4 Non-Functional Requirement/Kebutuhan Non Fungsional Non-Functional Requirement mengacu pada kinerja pada sebuah sistem maupun
kemudahan
penggunaannya.
Non-Functional
Requirement
ini
diperhatikan apabila kebutuhan Functional Requirement telah terpenuhi dan yang menjadi tinjauan Non-Functional ini adalah segi kualitas. Bagian ini menjelaskan tentang kebutuhan dari software/tools, hardware serta konfigurasinya pada tahap pengembangan dan implementasi. Ada pun spesifikasi perangkat keras yang akan digunakan untuk menjalankan aplikasi ini adalah sebagai berikut : Tabel 4.20 Spesifikasi Hardware Hardware
Specification
Memory
4GB
Harddisk
250 GB
Processor
Intel® Core 2 Duo™
66
Kebutuhan perangkat lunak yang digunakan untuk membuat dan menjalankan aplikasi ditunjukkan pada tabel 4.21 : Tabel 4.21 Spesifikasi Perangkat Lunak Perihal
Tools
Metodologi pengembangan
Unified Process (UP)
Operating Sistem
Windows 7 Ultimate
Pemodelan Sistem
UMLVersi 2.0
Bahasa Pemrograman
Java
Tools Pemodelan
E-draw
4.3.5 Use case Text Use case text menjelaskan tentang detail mengenai perilaku pengguna pada sistem sebagai berikut: Tabel 4.22 Use Case Text Penyisipan Nama use case
Kontrol Proses Penyisipan
Aktor
User Use case yang mendeskripsikan fungsi pengendalian proses yang berlangsung selama proses Penyisipan. Pengendalian proses dilakukan berdasarkan informasi pada bagian awal pesan
Deskripsi
yang menunjuk pada urutan proses yang telah dilakukan sebelumnya. Dengan mengetahui urutan yang telah dilakukan sebelumnya nantinya akan diputuskan apa saja proses yang akan dikerjakan selanjutnya.
Pre-condition Cross Reference
Aplikasi telah berjalan, user memilih menu penyisipan B1,B2, B3, B4, B5, B6. R1.1. R1.2, R2.1, R2.2, R2.3, R2.4, R2.5, R2.6
67
Aksi actor
Respon sistem
1 : User memilih file MP3 2 : Sistem merespon dengan yang
berformat
*.mp3 menampilkan kotak dialog yang
dengan menekan tombol berisi daftar file MP3 yang pilih MP3.
berformat *.mp3.
3 : User memilih salah satu 4 : Sistem menampilkan nama file
MP3
dan
memilih MP3 dan ukuran MP3 pada
tombol open.
halaman program.
5 : User memilih file 6 : Sistem merespon dengan dengan menekan tombol menampilkan kotak dialog yang pilih file.
berisi daftar file.
Typical course of event
7 : User memilih salah satu 8 : Sistem menampilkan nama file dan memilih tombol file dan ukuran file pada halaman open.
program
9 : User mengisi field untuk 10: Sistem merespon dengan kunci enkripsi
menampilkan kunci dalam field
15 : User memilih tombol 16: Sistem menampilkan pesan sisip
pesan
untuk proses penyisipan telah selesai
melakukan penyisipan file kedalam MP3.
17 : Pengguna melanjutkan proses berikutnya. Alternate course
Aksi Aktor
Respon sistem
-
-
68
Post condition
Menu penyisipan telah ditampilkan
Tabel 4.23 Use Case Text Ektraksi Nama use case
Kontrol Proses Menu Ektraksi
Aktor
User Use case yang mendeskripsikan fungsi pengendalian proses yang berlangsung selama proses ekstraksi. Pengendalian proses dilakukan berdasarkan informasi pada bagian awal pesan yang
Deskripsi
menunjuk pada urutan proses yang telah dilakukan sebelumnya. Dengan mengetahui urutan yang telah dilakukan sebelumnya nantinya akan diputuskan apa saja proses yang akan dikerjakan selanjutnya.
Pre-condition
Aplikasi telah berjalan
Cross Reference B1, B7, B8, B9, B10 ,R3.1, R3.2,R3.3, R3.4 Aksi actor
Respon system
1 : User memilih file 2 : Sistem merespon dengan stegged MP3.
menampilkan kotak dialog yang berisi daftar file MP3
3 : User memilih salah satu 4 : Sistem menampilkan file file
MP3
dan
memilih audio pada halaman program.
tombol open. Typical course of event
5 : User mengisi kunci 6 : Sistem menampilkan kunci enkripsi 7 : User memilih tombol 8: Sistem menampilkan pesan ektraksi
pesan
untuk bahwa proses telah selesai
mengeluarkan pesan dari MP3 9
:
User
melanjutkan
proses berikutnya.
69
Alternate course Post condition
Aksi aktor
Respon sistem
-
-
Menu ektraksi pesan telah ditampilkan
4.4. Perancangan Aplikasi 4.4.1. Perancangan Model 4.4.1.1. Use Case Diagram Ada dua jenis dalam pemodelan use case, yaitu use case text dan use case diagram. Use case text pemodelannya lebih detail karena ditulis dalam langkah-langkah, sedangkan use case diagram hanya diagram yang membantu end user untuk mengetahui apa yang akan dilakukan pada sistem. Berikut adalah pemodelan Use Case Diagram:
Gambar 4.12 Use Case Diagram
70
4.4.1.2 Activity Diagram 1. Activity Diagram Proses penyisipan Proses penyisipan adalah proses dimana user melakukan penyisipan pesan rahasia ke dalam file MP3, Adapun tahapannya sebagai berikut : 1. Memasukkan file MP3 2. Memasukkan file rahasia 3. Memasukkan password 4. Melakukan penyisipan
Gambar 4.13 Activity Diagram Proses Penyisipan
71
2. Activity Diagram Proses Ekstraksi Proses penyisipan adalah proses dimana user melakukan penyisipan pesan rahasia ke dalam file MP3, Adapun tahapannya sebagai berikut : 1. Memasukkan file stegged MP3 2. Memasukkan password 3. Melakukan ektraksi
Gambar 4.14 Activity Diagram Proses Ekstraksi
72
4.4.1.4 Sequence Diagram Sequence Diagram dari aplikasi steganografi MP3 di tunjukan pada gambar 4.15.
Gambar 4.15 Sequence Diagram Sistem
73
4.5. Perancangan Interface/Tampilan 4.5.1. Rancangan Tampilan Menu Beranda Apabila aplikasi dijalankan maka akan muncul tampilan beranda seperti gambar 4.16.
FILE
_
Aplikasi MP3 Steganografi BERANDA
PENYISIPAN
EKSTRAKSI
BERANDA
Gambar 4.16 Form Menu Beranda
PETUNJUK
74
4.5.2. Rancangan Tampilan Menu Penyisipan Apabila menu ‘Penyisipan’ dipilih maka akan muncul tampilan seperti gambar 4.17.
FILE
_
Aplikasi MP3 Steganografi PENYISIPAN
BERANDA
EKSTRAKSI
PETUNJUK
Reset
Sisip pesan
Pilih MP3
Nama
:
Ukuran Mp3
:
Frame pertama MAX ukuran data rahasia
:
:
Pilih File
Nama
:
Ukuran File
:
8 karakter
Gambar 4.17 Form Menu Penyisipan
75
4.5.3. Rancangan Tampilan Menu Ekstraksi Apabila menu ‘Ektraksi’ dipilih maka akan muncul tampilan seperti gambar 4.18. FILE
_
Aplikasi MP3 Steganografi PENYISIPAN
BERANDA
EKSTRAKSI Reset
PETUNJUK Ekstraksi
Pilih MP3
Nama
:
Ukuran Mp3
:
8 karakter
Gambar 4.18 Form Menu Ekstraksi
76
4.5.4. Rancangan Tampilan Menu Petunjuk Apabila menu ‘Petunjuk’ dipilih maka akan muncul tampilan seperti gambar 4.19.
FILE
_
Aplikasi MP3 Steganografi BERANDA
PENYISIPAN
EKSTRAKSI
PETUNJUK
Gambar 4.19 Form Menu Petunjuk
PETUNJUK
BAB V IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dilakukan implementasi dan pengujian terhadap aplikasi yang dibangun. Tahapan ini dilakukan setelah analisis dan perancangan telah dilakukan
dan
selanjutnya
akan
diimplementasikan
kedalam
bahasa
pemograman.Setelah implementasi maka dilakukan pengujian terhadap aplikasi. Aplikasi yang telah dibangun akan diimplementasikan untuk mengetahui apakah sistem tersebut dapat berjalan sesuai dengan tujuannya atau tidak.
5.1 Analisis dan Pembahasan Aplikasi
5.1.1 Menu Beranda Pada saat aplikasi dijalankan (run) maka akan muncul tampilan menu Beranda sebagai tampilan utama atau main window dari aplikasi. Pada bagian kiri atas main window aplikasi terdapat menu bar. Menu-menu tersebut dapat terhubung dengan window dari aplikasi. 1.
File Pada menu bar File terdapat button Exit untuk menutup aplikasi
2.
Penyisipan Pada menu ini user akan menyisipkan file rahasia ke MP3. Pada form menu ini ada form untuk memasukkan file MP3, form untuk memasukkan file rahasia, form untuk memasukkan password, serta tombol reset dan Sisip.
3.
Ekstraksi Pada menu ini user akan mengektrak pesan rahasia yang terdapat pada file stegged MP3. Pada form menu ini ada form untuk memasukkan file stegged MP3, form untuk memasukkan password, serta tombol reset dan Ekstraksi.
4.
Petunjuk Menu petunjuk yang berfungsi memberikan penjelasan tentang aplikasi ini.
77
78
Gambar 5.1 Tampilan Menu Beranda sekaligus Main Window aplikasi 5.1.2 Menu Penyisipan Pada menu penyisipan akan dilakukan proses penyisipan file rahasia ke dalam file MP3. Tahap penyisipan dimulai dengan menginput file MP3 dengan memilih tombol Open file MP3. Seperti yang ditampilkan pada gambar 5.2.
Gambar 5.2 User Memilih Open File MP3 Untuk Memasukan File MP3
79
Karena semua file uji tersimpan di folder “uji coba”, maka pada saat memilih tombol Open, cari dan pilih file MP3 yang berada direktori folder tersebut. Seperti yang ditampilkan pada gambar 5.3.
Gambar 5.3 User Memilih File MP3 Yang akan Digunakan Dalam Proses Penyisipan Setelah memilih file MP3 yang akan di sisipi pesan rahasia selanjutnya ketika nama file MP3 tersebut dipilih maka informasi tentang nama file, folder tempat file tersebut ukuran file akan ditampilkan oleh aplikasi. Seperti yang ditampilkan pada gambar 5.4.
80
Gambar 5.4 Aplikasi Menampilkan Informasi File MP3 Yang Di Pilih
Saat menekan tombol sisip untuk menyisipkan pesan ketika file rahasia belum di masukkan maka aplikasi akan memberi peringatan, sebab proses penyisipan tidak dapat dilakukan tanpa memasukkan file rahasia. Seperti yang ditampilkan pada gambar 5.5.
Gambar 5.5 Pesan Error Muncul Saat User Akan Menekan Tombol Sisip Tanpa File Rahasia
81
Selanjutnya user yang akan memasukkan file rahasia dengan memilih tombol Open file untuk mencari dan memilh file rahasia yang akan disisipkan. Seperti yang ditampilkan pada gambar 5.6.
Gambar 5.6 User Menekan Tombol Open File Untuk Memilih File Rahasia Setelah menekan tombol open file user memilih file rahasia yang akan disisipkan ke dalam file MP3. Seperti yang ditampilkan pada gambar 5.7.
Gambar 5.7 User Memilih File Rahasia Yang Akan Disisipkan.
82
Ketika nama file MP3 tersebut dipilih maka informasi tentang nama file, folder tempat file tersebut ukuran file, posisi first Header dan Max size inserted file atau (Max stego) akan ditampilkan oleh aplikasi. Seperti yang ditampilkan pada gambar 5.8.
Gambar 5.8 Aplikasi Menampilkan Informasi File Rahasia Melakukan sisip tanpa memasukkan password tidak dapat dilakukan, sebab untuk melakukan proses penyisipan file rahasia harus terlebih dahulu dienkripsi menggunakan Algoritama kriptografi DES (Data Encryption Standard) yang membutuhkan password untuk melakukan proses enkripsi. Jadi aplikasi membutuhkan file MP3, file rahasia, serta password untuk melakukan proses Sisip, aplikasi akan memunculkan peringatan error ketika menekan tombol tanpa memasukkan password, Seperti yang ditampilkan pada gambar 5.9.
83
Gambar 5.9 Peringatan Error Ketika Menekan Tombol Sisip Tanpa Memasukan Password User memasukkan password. sesuai yang dinginkan. password ini terdiri dari 8 karakter tidak boleh lebih dan tidak boleh kurang, Seperti yang ditampilkan pada gambar 5.10.
Gambar 5.10 User Memasukkan Password
84
Setelah memasukkan file MP3 , file rahasia dan password maka proses penyisipan dapat dilakukan, proses dilakukan dengan menekan tombol sisip pada aplikasi, Seperti yang ditampilkan pada gambar 5.11.
Gambar 5.11 User Menekan Tombol Sisip Untuk Melakukan Proses Penyisipan Saat proses penyisipan berhasil dilakukan aplikasi akan menampilkan pesan sukses, Seperti yang ditampilkan pada gambar 5.12.
Gambar 5.12 Ketika Penyispan Berhasil Dilakukan akan Muncul Pesan Sukses
85
Setelah penyisipan sukses maka file MP3 baru hasil penyisipan akan terbuat dengan nama steg.nama file MP3 seperti pada gambar 5.13
Gambar 5.13 Hasil File Penyisipan Untuk melakukan penyisipan lagi user tidak perlu keluar dari aplikasi, user cukup menekan tombol reset, lalu user dapat melakukan penyisipan lagi, Seperti yang ditampilkan pada gambar 5.14.
Gambar 5.14 User Menekan Tombol Reset Untuk Melakukan Penyisipan Lagi
86
5.1.3. Menu Ekstraksi Pada menu Ekstraksi akan dilakukan proses ektraksi pesan dari dalam file stegged MP3. Tahap ektraksi dimulai dengan menginput file stegged MP3 dengan memilih tombol Open file MP3. Seperti yang ditampilkan pada gambar 5.15.
Gambar 5.15 User Memilih Open File MP3 Untuk Memasukan File Stegged MP3 Karena semua file uji tersimpan di folder “uji coba”, maka pada saat memilih tombol Open, cari dan pilih file MP3 yang berada direktori folder tersebut. Seperti yang ditampilkan pada gambar 5.16.
87
Gambar 5.16 User Memilih File Stegged MP3 Yang Akan Digunakan Dalam Proses Ekstraksi Setelah memilih file stegged MP3 yang akan di ektraksi selanjutnya ketika nama file stegged MP3 tersebut dipilih maka informasi tentang nama file, folder tempat file tersebut ukuran file akan ditampilkan oleh aplikasi. Seperti yang ditampilkan pada gambar 5.17.
Gambar 5.17 Aplikasi Menampilkan Informasi File Stegged MP3 Yang Di Pilih
88
Saat menekan tombol ekstraksi untuk ektraksi pesan ketika password belum dimasukkan maka aplikasi akan memberi peringatan, sebab proses ektraksi pesan tidak dapat dilakukan tanpa memasukkan password. Seperti yang ditampilkan pada gambar 5. 18.
Gambar 5.18 Peringatan Error Ketika Menekan Tombol Ekstraksi Tanpa Memasukan Password User memasukkan password yang sesuai. password ini terdiri dari 8 karakter tidak boleh lebih dan tidak boleh kurang, seperti yang ditampilkan pada gambar 5.19.
89
Gambar 5.19 User Memasukkan Password Ketika user mengisi password kurang dari 8 karakter maka sistem akan menampilkan pesan error seperti yang ditampilkan pada gambar 5.20.
Gambar 5.20 Peringatan Error Ketika User Memasukkan Password Kurang Atau Lebih Dari 8 Karakter
90
Setelah memasukkan file stegged MP3 dan password maka proses ektraksi pesan atau ekstraksi dapat dilakukan, proses dilakukan dengan menekan tombol ekstraksi pada aplikasi, Seperti yang ditampilkan pada gambar 5.21
Gambar 5.21 User Menekan Tombol Ekstraksi Untuk Melakukan Proses Ekstraksi
Saat proses Ekstraksi berhasil dilakukan aplikasi akan menampilkan pesan sukses, Seperti yang ditampilkan pada gambar 5.22.
91
Gambar 5.22 Ketika Ekstraksi Berhasil Dilakukan Akan Muncul Pesan Sukses
Saat proses ekstraksi berhasil dilakukan maka akan terbuat sebuah file baru dengan nama dsa.steg.nama file MP3. Seperti yang ditampilkan pada gambar 5.23.
Gambar 5.23 Hasil Dari Proses Ektraksi Pesan atau Ekstraksi
92
Untuk melakukan ektraksi pesan lagi user tidak perlu keluar aplikasi, user cukup menekan tombol reset, lalu user dapat melakukan ektraksi lagi, Seperti yang ditampilkan pada gambar 5.24.
Gambar 5.24 User Menekan Tombol Reset Untuk Melakukan Penyisipan Lagi
Untuk melihat isi dari file rahasia asli dan dan file rahasia hasil ekstraksi, maka file rahasia asli dan dan file rahasia hasil ekstraksi dibuka menggunakan aplikasi notepad. Dan hasilnya dapat dilihat pada gambar 5.25 dan gambar 5.26.
93
Gambar 5.25 File Rahasia
Gambar 5.26 Hasil Ektraksi Dari Stegged MP3 5.2. Analisis Hasil dan Pembahasan 5.2.1 Analisis Hasil dan Pembahasan Penyisipan Aplikasi ini hanya dapat menyisipkan file rahasia dengan ekstensi dengan 3 karakter misal *.txt, *.pdf, *.doc, *.gif, *.rar. Dalam melakukan pengujian peneliti menggunakan aplikasi Daum Potplayer untuk memutar file MP3.
5.2.1.1 Pengujian Dengan Menggunakan File Rahasia ujicoba .rar Dengan Ukuran 100 Byte Dan Password 12345678 Pada pengujian ini dilakukan proses penyisipan terhadap 10 file MP3 sebagai cover dan file ujicoba.rar sebagai file rahasia. Hasilnya dapat dilihat pada tabel 5.1.
94
Tabel 5.1 Hasil Pengujian Penyisipan Menggunakan File “ujicoba.rar” No
Nama MP3
Ukuran
Max
Nama Stegged
keterangan
MP3
Ukuran Stegged MP3 (byte)
MP3
stego
(byte)
(byte)
1
After-Dark
2.408.425
10349
Steg.AfterDark
2.408.425
Sukses
2
Alones
3.221.547
10346
Steg.Alones
3.221.547
Sukses
3
Anima-Rossa
3.371.082
10348
Steg.AnimaRossa
3.371.082
Sukses
4
Answer is Near
8.855.723
7353
Steg.Answer is Near
8.855.723
Sukses
5
Feed_A
10.793.02 9
21206
Steg.Feed_A
10.793.02 9
Sukses
6
Kaimu
8.822.424
13581
Steg.Kaimu
8.822.424
Sukses
7
Karasu
8.546.906
13581
Steg.Karasu
8.546.906
Sukses
8
Strawberry Fuzz
11.874.98 8
45754
Steg.Strawberr y Fuzz
11.874.98 8
Sukses
9
ONION!
8.001.899
9425
Steg.ONION!
8.001.899
Sukses
10
RAINBOWS
11.783.11 6
45754
Steg.RAINBO WS
11.783.11 6
Sukses
Untuk mengetahui bagaimana sistem dapat menentukan batas maksimal penyisipan sebuah file MP3, maka penulis akan memperlihatkan proses perhitungan max stego dengan percobaan pada Feed_A.mp3 yang memiliki informasi seperti yang
ditampilkan pada gambar 5.27
95
Gambar 5.27 Percobaan Menggunakan File Mp3 Yang Bernama Feed_A.Mp3
Dari gambar 5.27 Feed_A.mp3 mempunyai ukuran 10.793.029 byte posisi first header berada pada byte ke 170.470 dan max stego sebesar 21206 byte. Dengan menggunakan persamaan mencari max stego. H-48 M=
- 96 8
Dik: H=170.470 Dit: M ? Maka : M =
170.470-48 - 96 8 170.422 - 96
M= 8
M=
M=
21302,75
21206,75
- 96
96
Dari pengujian max stego menggunakan persamaan max stego diketahui max stego dari Feed_A.mp3 ialah 21206,75 atau dibulatkan menjadi 210206, sesuai dengan didapatkan oleh aplikasi bahwa max stego dari Feed_A.mp3 adalah 210206 byte.
5.2.1.2. Pengujian Dengan Menggunakan File Rahasia picture.bmp Dengan Ukuran 230 Byte Dan Password 12345678 Pada pengujian ini dilakukan proses penyisipan terhadap 10 file MP3 sebagai cover dan file picture.bmp sebagai file rahasia. Hasilnya dapat dilihat pada tabel 5.2. Tabel 5.2 Hasil Pengujian Penyisipan Menggunakan File picture.bmp No
Nama MP3
Ukuran
Max
Nama Stegged
keterangan
MP3
Ukuran Stegged MP3 (byte)
MP3
stego
(byte)
(byte)
1
After-Dark
2.408.425
10349
Steg.AfterDark
2.408.425
Sukses
2
Alones
3.221.547
10346
Steg.Alones
3.221.547
Sukses
3
Anima-Rossa
3.371.082
10348
Steg.AnimaRossa
3.371.082
Sukses
4
Answer is Near
8.855.723
7353
Steg.Answer is Near
8.855.723
Sukses
5
Feed_A
10.793.02 9
21206
Steg.Feed_A
10.793.02 9
Sukses
6
Kaimu
8.822.424
13581
Steg.Kaimu
8.822.424
Sukses
7
Karasu
8.546.906
13581
Steg.Karasu
8.546.906
Sukses
8
Strawberry Fuzz
11.874.98 8
45754
Steg.Strawberr y Fuzz
11.874.98 8
Sukses
9
ONION!
8.001.899
9425
Steg.ONION!
8.001.899
Sukses
10
RAINBOWS
11.783.11 6
45754
Steg.RAINBO WS
11.783.11 6
Sukses
97
5.2.1.3. Pengujian Dengan Menggunakan File Rahasia sshinfo.tlp Dengan Ukuran 324 Byte Dan Password 12345678 Pada pengujian ini dilakukan proses penyisipan terhadap 10 file MP3 sebagai cover dan file sshinfo.tlp sebagai file rahasia. Hasilnya dapat dilihat pada tabel 5.3. Tabel 5.3 Hasil Pengujian Penyisipan Menggunakan File sshinfo.tlp No
Nama MP3
Ukuran
Max
Nama Stegged
keterangan
MP3
Ukuran Stegged MP3 (byte)
MP3
stego
(byte)
(byte)
1
After-Dark
2.408.425
10349
Steg.AfterDark
2.408.425
Sukses
2
Alones
3.221.547
10346
Steg.Alones
3.221.547
Sukses
3
Anima-Rossa
3.371.082
10348
Steg.AnimaRossa
3.371.082
Sukses
4
Answer is Near
8.855.723
7353
Steg.Answer is Near
8.855.723
Sukses
5
Feed_A
10.793.02 9
21206
Steg.Feed_A
10.793.02 9
Sukses
6
Kaimu
8.822.424
13581
Steg.Kaimu
8.822.424
Sukses
7
Karasu
8.546.906
13581
Steg.Karasu
8.546.906
Sukses
8
Strawberry Fuzz
11.874.98 8
45754
Steg.Strawberr y Fuzz
11.874.98 8
Sukses
9
ONION!
8.001.899
9425
Steg.ONION!
8.001.899
Sukses
10
RAINBOWS
11.783.11 6
45754
Steg.RAINBO WS
11.783.11 6
Sukses
Dari percobaan-percoobaan yang telah dilakukan dapat disimpulkan bahwa proses penyisipan tidak mempengaruhi ukuran file MP3, sebab ukuran file MP3 baik sebelum dan sesudah disisipkan file rahasia masih tetap sama.
98
5.2.2. Pengujian Kekuatan Signal Audio Penilaian kualitas file audio MP3 dilakukan secara subjektif dan objektif .penilaian subjektif dengan cara mendengarkan suara hasil pemutaran file MP3 asli dan membandingkannya dengan sura hasil file stegged MP3, Dalam melakukan pengujian peneliti menggunakan aplikasi Daum Potplayer untuk memutar file MP3. Penilaian objektif dilakukan dengan cara membandingkan nilai signal audio yaitu left peak signal dan right peak signal antara file MP3 asli dengan file stegged MP3
menggunakan aplikasi Goldwave v.5.70, hasil pengujian signal audio dengan satuan decibel (dB). Dimana P0 mewakili file MP3 asli dan P1 mewakili stegged MP3. Hasil pengujian dapat dilihat pada tabel 5.4 Table 5.4 Hasil Pengujian Left Peak Signal Dan Right Peak Signal.
MP3 asli
Ukura n MP3 (byte)
Max stego (byte)
File rahasia
Ukur left an file peak rahas signal ia P0 (byte) (dB)
left peak signal P1 (dB)
Right peak signal P0 (dB)
Right peak signal P1 (dB)
Feed_A
10.793.0 29
21206
HPRadio.rar
16358
-7.83
-7.83
-8.02
-8.02
Kaimu
8.822.42 4
13581
yoichi.gif
10138
-8.59
-8.59
-8.83
-8.83
Karasu
8.546.90 6
13581
ujiteks.txt
1413
-8.91
-8.91
-8.97
-8.97
ONION!
8.001.89 9
9425
qw.bmp
3054
-9.22
-9.22
-9.13
-9.13
RAINBOWS
11.783.1 16
45754
Audio.pdf
42646
-9.84
-9.84
-10.17
-10.17
Strawberry Fuzz
11.874.9 88
45754
hiruma2.j pg
18437
-9.82
-9.82
-9.80
-9.80
Dari pengujian diatas, angka decibel (dB) yang diperoleh dari MP3 asli dan MP3 stegged tidak terjadi perubahan kualitas sehingga stegged MP3 memiliki kualitas signal yang sama dengan file MP3 asli, dapat disimpulkan bahwa steganografi menggunakan LSB tidak merubah signal MP3. Perbandingan signal dapat dilihat pada gambar- gambar berikut:
99
Gambar 5.28 perbandingan signal file Feed_A.mp3 dengan steg.Feed_A.mp3
Gambar 5.29 Perbandingan Signal File Kaimu.mp3 dengan steg.Kaimu.mp3
100
Gambar 5.30 Perbandingan Signal File Karasu.mp3 dengan steg.Karasu.mp3
Gambar 5.31 Perbandingan signal File ONION!.mp3 dengan steg. ONION!.mp3
101
Gambar 5.32 Perbandingan Signal File RAINBOWS.mp3 dengan steg. RAINBOWS.mp3
Gambar 5.33 Perbandingan Signal File Strawberry Fuzz.mp3 dengan steg. Strawberry Fuzz.mp3
102
5.2.3. Aspek Recovery Aspek recovery yang dimaksud adalah file rahasia yang disisipkan harus dapat diekstraksi kembali. Maka pada tahap ini akan dilakukan pengujian untuk memastikan bahwa file rahasia yang disipkan ke file MP3 dapat diekstraksi dalam keadaan baik. Indikator keberhasilan pengujian ini adalah jika ukuran file rahasia sama dengan file hasil ekstraksi
5.2.3.1. Pengujian Dengan Menggunakan File Stegged Mp3 Yang Telah Disipkan File Rahasia “ujicoba .rar” Dengan Ukuran 100 Byte Pada pengujian ini dilakukan proses ekstraksi terhadap 10 file stegged MP3 yang telah disisipkan file ujicoba.rar yang berukuran 100 byte. Hasilnya dapat dilihat pada tabel 5.5. Tabel 5.5 Hasil Pegujian Ekstraksi Menggunakan Stegged Mp3 Yang Telah Disipkan File “ujicoba”.rar No
Nama Stegged MP3
Ukuran Stegged MP3 (byte)
Nama File rahasia
Status
hasil ekstraksi
ekstrak si
Ukuran file rahasia hasil ekstraksi (byte)
1
Steg.AfterDark
2.408.425
Dsa.Steg.AfterDark.rar
Sukses
100
2
Steg.Alones
3.221.547
Dsa.Steg.Alones.rar
Sukses
100
3
Steg.AnimaRossa
3.371.082
Dsa.Steg.AnimaRossa.rar
Sukses
100
4
Steg.Answer is Near
8.855.723
Dsa.Steg.Answer is Near.rar
Sukses
100
5
Steg.Feed_A
10.793.029
Dsa.Steg.Feed_A.rar
Sukses
100
6
Steg.Kaimu
8.822.424
Dsa.Steg.Kaimu.rar
Sukses
100
7
Steg.Karasu
8.546.906
Dsa.Steg.Karasu.rar
Sukses
100
8
Steg.Strawbe rry Fuzz
11.874.988
Steg.Strawberry Fuzz.rar
Sukses
100
103
No
Nama Stegged MP3
Ukuran Stegged MP3 (byte)
Nama File rahasia
Status
hasil ekstraksi
ekstrak si
Ukuran file rahasia hasil ekstraksi (byte)
9
Steg.ONION !
8.001.899
Dsa.Steg.ONION! .rar
Sukses
100
10
Steg.RAINB OWS
11.783.116
Dsa.Steg.RAINBOW S.rar
Sukses
100
5.2.3.2. Pengujian dengan Menggunakan File Stegged MP3 yang Telah Disipkan File Rahasia picture.bmp dengan Ukuran 230 byte Pada pengujian ini dilakukan proses ekstraksi terhadap 10 file stegged MP3 yang telah disisipkan file picture.bmp yang berukuran 230 byte. Hasilnya dapat dilihat pada tabel 5.6. Tabel 5.6 Hasil Pengujian Ekstraksi Menggunakan Stegged Mp3 Yang Telah Disipkan File “picture.bmp” No
Nama Stegged MP3
Ukuran Stegged MP3 (byte)
Nama File rahasia
Status
hasil ekstraksi
ekstrak si
Ukuran file rahasia hasil ekstraksi (byte)
1
Steg.AfterDark
2.408.425
Dsa.Steg.AfterDark.bmp
Sukses
230
2
Steg.Alones
3.221.547
Dsa.Steg.Alones.bm p
Sukses
230
3
Steg.AnimaRossa
3.371.082
Dsa.Steg.AnimaRossa.bmp
Sukses
230
4
Steg.Answer is Near
8.855.723
Dsa.Steg.Answer is Near.bmp
Sukses
230
5
Steg.Feed_A
10.793.029
Dsa.Steg.Feed_A.bm p
Sukses
230
104
No
Nama Stegged MP3
Ukuran Stegged MP3 (byte)
Nama File rahasia
Status
hasil ekstraksi
ekstrak si
Ukuran file rahasia hasil ekstraksi (byte)
6
Steg.Kaimu
8.822.424
Dsa.Steg.Kaimu.bmp
Sukses
230
7
Steg.Karasu
8.546.906
Dsa.Steg.Karasu.bm p
Sukses
230
8
Steg.Strawbe rry Fuzz
11.874.988
Steg.Strawberry Fuzz.bmp
Sukses
230
9
Steg.ONION !
8.001.899
Dsa.Steg.ONION! .bmp
Sukses
230
10
Steg.RAINB OWS
11.783.116
Dsa.Steg.RAINBOW S.bmp
Sukses
230
5.2.3.3. Pengujian Dengan Menggunakan File Stegged MP3 Yang Telah Disipkan File Rahasia Sshinfo.Tlp Dengan Ukuran 324 byte Pada pengujian ini dilakukan proses ekstraksi terhadap 10 file stegged MP3 yang telah disisipkan file sshinfo.tlp yang berukuran 324 byte. Hasilnya dapat dilihat pada tabel 5.6. Tabel 5.7 Hasil Pengujian Ekstraksi Menggunakan Stegged MP3 yang Telah Disisipkan File “sshinfo.tlp” No
Nama Stegged MP3
Ukuran Stegged MP3 (byte)
Nama File rahasia
Status
hasil ekstraksi
ekstrak si
Ukuran file rahasia hasil ekstraksi (byte)
1
Steg.AfterDark
2.408.425
Dsa.Steg.AfterDark.tlp
Sukses
324
2
Steg.Alones
3.221.547
Dsa.Steg.Alones.tlp
Sukses
324
3
Steg.AnimaRossa
3.371.082
Dsa.Steg.AnimaRossa.tlp
Sukses
324
105
No
Nama Stegged MP3
Ukuran Stegged MP3 (byte)
Nama File rahasia
Status
hasil ekstraksi
ekstrak si
Ukuran file rahasia hasil ekstraksi (byte)
4
Steg.Answer is Near
8.855.723
Dsa.Steg.Answer is Near.tlp
Sukses
324
5
Steg.Feed_A
10.793.029
Dsa.Steg.Feed_A.tlp
Sukses
324
6
Steg.Kaimu
8.822.424
Dsa.Steg.Kaimu.tlp
Sukses
324
7
Steg.Karasu
8.546.906
Dsa.Steg.Karasu.tlp
Sukses
324
8
Steg.Strawbe rry Fuzz
11.874.988
Steg.Strawberry Fuzz.tlp
Sukses
324
9
Steg.ONION !
8.001.899
Dsa.Steg.ONION! .tlp
Sukses
324
10
Steg.RAINB OWS
11.783.116
Dsa.Steg.RAINBOW S.tlp
Sukses
324
Setelah dilakukan 30 pengujian tersebuat maka akan dihitung persentase keberhasilan proses recovery dengan cara membandingkan jumlah pengujian dengan status sukses dengan jumlah percobaan yang dilakukan.
Dari pengujian pada aspek recovery yang penulis lakukan tingkat keberhasilnya adalah 100%. Artinya aplikasi steganografi MP3 ini telah memenuhi aspek recovery pada keamanan data
5.2.4. Analisis Persentase Kapasitas Penyisipan Terhadap MP3 Cover Analisis persentase kapasitas penyisipan terhadap MP3 Cover dilakukan
106
dengan menghitung maksimal daya tampung (max stego) terhadap ukuran file MP3 Cover yang digunakan dengan menggunakan rumus. Persentase Kapasitas =
Hasil pengujian analisis persentase kapasitas penyisipan terhadap MP3 cover ditunjukkan pada tabel 5.8.
Tabel 5.8 Hasil Pengujian Persentase MP3 Cover
MP3 asli
Ukuran MP3 (byte)
Max stego (byte)
Feed_A
10.793.029
21206
Kaimu
8.822.424
13581
Karasu
8.546.906
13581
ONION!
8.001.899
9425
RAINBOWS
11.783.116
45754
Strawberry Fuzz
11.874.988
45754
SCANDAL BABY
12.278.404
12919
Persentase (%) 0,196 0,154 0,159 0,118 0,388 0,385
0,105
Dari hasil analisis diatas dapat disimpulkan bahwa kapasitas maksimum yang dapat dibawa oleh MP3 cover tidak tergantung pada ukuran file MP3 cover . contoh SCANDAL BABY.mp3 dengan ukuran 12.278.404 byte hanya dapat menampung 12.919 byte atau 0,105% dari ukurannya, sedangkan RAINBOWS.mp3 dapat menampung lebih banyak yaitu 45.754 byte atau 0,388% dari ukurannya.
107
5.2.4. Aspek Robustness File rahasia rahasia yang disisipkan harus tahan tehadap pengolahan sinyal yang mungkin dilakukan untuk mendukung agar mendukung aspek Robustness , maka dari itu penulis melakukan pengujian dengan mengubah bitrate pada steg.Feed_A.mp3 yang semula 320 kbps stereo menjadi 240 kbps stereo menggunakan bantuan aplikasi Goldwave v.5.70. setelah itu penulis mencoba mengekstraksi
steg.Feed_A.mp3 yang telah di ubah bitrate nya, Hasilnya file rahasia yang berada di dalamnya tidak dapat diekstraksi. Dari hasil pengujian tersebut diketahui aplikasi steganografi MP3 tidak mendukung aspek Robustness. Hal ini disebabkan bit-bit dari MP3 tersebut telah berubah, sehingga berubah.
bit-bit file rahasia yang disisipkan juga ikut
BAB VI PENUTUP
6.1. Kesimpulan Beberapa hal yang dapat disimpulkan dari pengerjaan tugas akhir ini adalah: 1. Steganografi file audio berformat MP3 dengan algoritma Least Significant Bit (LSB) dan enkripsi dengan Data Encryption Standard (DES) dapat diterapkan. 2. Kapasitas yang dapat ditampung oleh sebuah file MP3 bergantung pada posisi header bukan bergantung pada ukuran MP3. 3. Perubahan bit-bit pada file MP3 hasil steganografi tidak mempengaruhi ukuran MP3 sehingga mendukung aspek fidelity pada keamanan data. dan suara yang dihasilkan masih baik serta perubahan yang terjadi tidak dapat dideteksi oleh indra pendengaran manusia. 4. Ekstraksi file rahasia hanya dapat dilakukan apabila pengguna memasukkan kunci dekripsi yang sesuai, jika tidak, maka file rahasia masih tetap dalam keadaan terenkripsi. 5. Aplikasi dapat melakukan penyisipan dan ekstraksi dengan baik sehingga mendukung aspek recovery pada keamanan data 6. Aplikasi ini tidak mendukung aspek robustness sebab ketika file stegged Mp3 dilakukan perubahan bitrate dari 320 stereo ke 240 stereo file rahasia tidak dapat di ekstraksi sebab bit-bit pada file stegged MP3 telah mengalami perubahan.
108
109
6.2 Saran Saran-saran yang dapat diberikan untuk pengembangan lebih lanjut adalah sebagai berikut: 1. Untuk mengatasi kunci yang terlalu pendek pada algoritma Data Encryption Standard (DES) maka diharapkan adanya peningkatan algoritma Data Encryption Standard (DES) menjadi 3DES atau Triple Data Encryption Standard atau dengan algoritma enkripsi lainnya. 2. Untuk memenuhi aspek Robustness, maka diharapkan perlu adanya metode-metode steganografi khususnya pada file audio MP3. 3. Perlu
adanya
pengembangan
terhadap
aplikasi
agar
dapat
meneyambunyikan file ekstensi lebih dari 3 karakter. 4. Perlu adanya pengembangan terhadap aplikasi agar tidak dapat menyembunyikan file yang melebihi batas penyembunyian, sebab akan merusak kualitas file MP3. 5. Perlu adanya pengembangan terhadap maksimal kapasitas pesan rahasia yang dapat ditampung tanpa mengurangi kualitas MP3.
DAFTAR PUSTAKA
Alvi, M.R. 2011. Perancangan Aplikasi Kriptografi Menggunakan Algoritma TDES , Skripsi, Fakultas Matematika Dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara,Medan Ariyus, D. 2008. Pengantar Ilmu Kriptografi, Teori, Analisis dan Implementasi. Yogyakarta : Penerbit Andi. Bender, W., Gruhl, D., Morimoto, N. et al. 1996. Techniques For Data Hiding, IBM Systems Journal, Vol. 35, Nos 3&4, 1996. http://www.cs.utsa.edu/~jortiz/CS4953/Papers/Techniques%20for%20Data%20 Hiding-p.pdf. Cvejic, N. 2004. Algorithms for Audio Watermarking and Steganography.Oulu : Oulu University Press.herkules.oulu.fi/isbn9514273842/isbn9514273842.pdf. Fitriyani. 2010. Implementasi Digital Watermarking Pada File Audio Dengan Menggunakan Metode Phase Coding, Skripsi, Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara Medan Implementasi Steganografi Pada Berkas Audio Wav Untuk Penyisipan Pesan Gambar Menggunakan Metode Low Bit Coding. repository.gunadarma.ac.id/bitstream/123456789/1193/1/50407411.pdf . kur2003.if.itb.ac.id/file/DES.doc. Kurniawan, Y. 2004. Kriptografi, Keamanan Internet dan Jaringan Komunikasi. Bandung : Informatika. Krenn, J.R.2004. Steganography http://www.krenn.nl/univ/cry/steg/ article.pdf.
and
Steganalysis.
Lafore, R., 2002, Object-Oriented Programming in C++, edisi 4, Sams, Indiana.
Nurhasanah, R.2010. Peningkatan Keamanan Data Menggunakan Algoritma Rijndael Pada Audio Steganografi Berbasis MP3, Skripsi, Fakultas Matematika Dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara, Medan. O`Docherty, M., 2005, Object-Oriented Analysis and Design Understanding System Developtment with UML 2.0, Wiley, Ltd., West Sussex.
Pakka. K.I 2010. Perbandingan Metode Phase Coding Dan Echo Data Hiding Dengan Keamanan Data Menggunakan Algoritma Rijndael Pada Steganografi Berkas Audio, Skripsi, Fakultas Teknik Dan Ilmu Komputer, Universitas Komputer Indonesia, Bandung. Proboyekti, U., 2009, Flowchart, Lecturer.ukdw.ac.id/othie/flowchart.doc, diakses pada Januari 2016. Rassol, R.2002. The Theory Behind http://www.mp3-tech.org/programmer/docs/ mp3_theory.pdf.
MP3.
Syahputra, I. 2009. Simulasi Kerahasiaan/Keamanan Informasi Dengan Menggunakan Algoritma DES (Data Encryption Standard), Skripsi. Fakultas Matematika Dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara, Medan. Yulid dan Fazmah.J.2006. Audio Watermarking menggunakan Transformasi Kosinus Diskrit. Jurnal Penelitian dan Pengembangan Telekomunikasi Vol 11.hal.30-36.