i
Cryptosystem Pada Berkas Mp3 Dengan
Menggunakan Algoritma Rijndael
SKRIPSI
Diajukan kepada Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Oleh:
Helda Jolanda Tisera NIM: 672006708
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
Salatiga Juni 2012
iii
Pernyataan
Tugas akhir yang berikut ini :
Judul : Cryptosystem Pada Berkas Mp3 Menggunakan Algoritma Rijndael Pembimbing : 1. Irwan Sembiring, S.T., M.Kom.
2. Dian Widiyanto Chandra, S.Kom., M.Cs.
adalah benar hasil karya saya :
Nama : Helda Jolanda Tisera NIM : 672006708
Saya menyatakan tidak mengambil sebagian atau seluruhnya dari hasil karya orang lain kecuali sebagaimana yang tertulis pada daftar pustaka.
Pernyataan ini dibuat dengan sebenarnya sesuai dengan ketentuan yang berlaku dalam penulisan karya ilmiah.
Salatiga, Juni 2012
iv
Prakata
Puji syukur kepada Tuhan Yesus Kristus atas segala limpahan berkat dan anugerahNya terhadap penulis, sehingga penulis mampu menyelesaikan skripsi yang berjudul
“Cryptosystem Pada Berkas Mp3 Menggunakan Algoritma
Rijndael” ini.
Skripsi ini diajukan untuk memenuhi salah satu persyaratan guna memperoleh gelar Sarjana Komputer, Fakultas Teknologi Informasi Program Studi Teknik Informatika, Universitas Kristen Satya Wacana, Salatiga.
Dalam penyelesaian skripsi ini, penulis tidak mungkin lepas dari bantuan, doa, dan dukungan dari berbagai pihak. Oleh karena itu, pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada:
1. Bapak Andeka Rocky Tanaamah, SE., M.Cs, selaku Dekan Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga.
2. Bapak Dian W. Chandra, S.Kom., M.Cs, selaku Ketua Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga. 3. Bapak Irwan Sembiring, S.T., M.Kom., sebagai
pembimbing pertama yang selalu membimbing penulis dengan sabar dan banyak membantu penulis dalam menyelesaikan skripsi ini.
v
4. Bapak Dian W. Chandra, S.Kom., M.Cs, sebagai pembimbing kedua yang selalu membimbing dengan sabar, memberikan ide, dan banyak membantu penulis dalam menyelesaikan skripsi ini.
5. Adriyanto Juliastomo Gundo S.Si., M.Pd, selaku Koordinator KP/TA.
6. Papa dan Mama tercinta, terima kasih buat doa dan dukungan walaupun jauh disana tetapi selalu memantau melalui telepon.
7. Adik-adikku terkasih dan tersayang, Gies (yang selalu tanya-tanya tentang skripsiku), Vivi (yang selalu memberi semangat ketika down), Rio dan Ino (yang selalu menemani ketika buat skripsi).
8. Saudari Santi di Kos Kauman 8, terima kasih ya mau pinjamkan printer-nya untuk mencetak skripsi-skripsiku ini. 9. Semua teman-teman angkatan 2006, terima kasih buat
kebersamaan, dukungan, dan semangat yang kalian berikan selama ini. Semangat sixers.
10. My beloved Nanda, yang sudah banyak membantu,
mengalah dan selalu mengerti ketika penulis sedang konsentrasi dengan tugas akhir serta memberikan semangat dan selalu menanyakan (Skripsinya udah sampai dimana?) tentang tugas akhir ini.
11. Semua pihak yang tidak mungkin disebutkan satu per satu yang turut membantu dan memberikan kontribusi hingga
vi
skripsi ini terselesaikan. Thanks for all. You’re the best
thing I ever had. May God Bless always.
Penulis menyadari masih banyak kekurangan dalam penyelesaian skripsi ini. Oleh karena itu, penulis mengharapkan sumbang saran dan pikiran untuk perbaikan di masa yang akan datang. Semoga skripsi ini dapat memberikan manfaat bagi semua pihak.
Salatiga, Juni 2012
Helda Jolanda Tisera Penulis
vii
Daftar Isi
Halaman
Halaman Judul ... i
Halaman Persetujuan ... ii
Halaman Pernyataan... iii
Prakata ... iv
Daftar Isi... vii
Daftar Gambar ... x
Daftar Tabel ... xii
Daftar Kode Program ... xiii
Daftar Istilah... xiv
Abstrak ... xvi
Bab 1 Pendahuluan ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 4
1.3 Tujuan dan Manfaat ... 4
1.4 Batasan Masalah... 5
1.5 Sistematika Penulisan ... 5
Bab 2 Tinjauan Pustaka ... 7
2.1 Penelitian Sebelumnya ... 7
2.2 Keamanan Data ... 8
2.2.1 Ancaman Keamanan ... 9
2.3 Teori Dasar Kriptografi (Cryptography) ... 10
2.3.1 Tujuan Kriptografi ... 11 2.3.2 Kriptanalis ... 13 2.3.3 Kriptosistem ... 13 2.3.4 Komponen Kriptografi ... 16 2.3.5 Algoritma Kriptografi ... 17 2.3.5.1 Algoritma Simetri ... 20
2.3.3.2 Algoritma Tak Simetri ... 22
2.3.6 Teknik Dasar Kriptografi ... 25
2.3.6.1 Metode Subsitusi ... 25
2.3.6.2 Teknik Blok ... 26
2.3.6.3 Teknik Permutasi atau Tranposisi ... 27
viii
2.4.1 Penjumlahan ... 28
2.4.2 Perkalian ... 28
2.5 Algoritma Rijndael (AES). ... 29
2.5.1 Enkripsi Rijndael ... 31 2.5.1.1 SubBytes ... 32 2.5.1.2 ShiftRows ... 33 2.5.1.3 MixColumns ... 34 2.5.1.4 AddRoundKey ... 35 2.5.2 Dekripsi Rijndael ... 36 2.5.2.1 InvShiftRows ... 36 2.5.2.2 InvSubBytes ... 37 2.5.2.3 InvMixColumns ... 38 2.5.2.4 Inverse AddRoundKey ... 39 2.5.3 Ekspansi Kunci ... 39
2.6 Algoritma Rijndael (AES 128) ... 41
2.7 Fungsi Hash ... 48
2.8 Sejarah Singkat Mengenai Mp3 ... 50
2.8.1 Teknik Kompresi Mp3 ... 50 2.8.2 Struktur Berkas Mp3 ... 52 2.8.2.1 Header ... 53 2.8.2.2 CRC (Cyclic Redundancy Check) ... 54 2.8.2.3 Side Information ... 55 2.8.2.4 Main Data ... 55
Bab 3 Metode Penelitian ... 57
3.1 Metode Pemgembangan Sistem... 57
3.2 Analisis Kebutuhan Sistem ... 59
3.2.1 Analisis Kebutuhan Perangkat Keras ... 60
3.2.2 Analisis Kebutuhan Perangkat Lunak ... 60
3.2.2 Analisis Kebutuhan Input ... 61
3.3 Analisis Apilkasi ... 61
3.4 Analisis Algoritma Rijndael ... 63
3.4.1 Proses Enkripsi Berkas Mp3 Menggunakan Algoritma Rijndael ... 63
3.4.2 Proses Dekripsi Berkas Mp3 Menggunakan Algoritma Rijndael ... 64
3.4.3 Analisis Proses Enkripsi dan Dekripsi Mp3 ... 65
ix
3.5 Rancangan Antarmuka Sistem ... 66
3.5.1 Rancangan Form Encrypt Mp3 ... 66
3.5.2 Rancangan Form Decrypt Mp3 ... 67
3.5.3 Rancangan Form Other ... 68
3.5.4 Rancangan Form Author ... 68
3.6 Rancangan Antarmuka Sistem ... 69
3.6.1 Use Case Diagram ... 69
3.6.2 Activity Diagram ... 70
3.6.3 Class Diagram ... 70
3.6.4 Sequence Diagram ... 72
Bab 4 Hasil dan Pembahasan... 73
4.1 Penerapan Perangkat Lunak ... 73
4.1.1 Menu Utama ... 73
4.2 Pengujian ... 73
4.2.1 Pengujian Aplikasi ... 73
4.2.2 Proses Enkripsi Menggunakan Rijndael . 74 4.2.3 Proses Dekripsi Menggunakan Rijndael . 77 4.2.4 Proses Menjalankan Tab Other ... 78
4.2.5 Proses Menjalanakan Tab Author ... 79
4.3 Analisis ... 79
4.3.1 Analisis Proses Enkripsi dan Dekripsi .... 79
4.3.2 Analisis Kesamaan & Perbedaan Berkas ... 80
4.3.3 Analisis Perbandingan Bentuk Gelombang ... 83
4.3.3 Analisis Pengujian Signal to Noise Ratio ... 85
Bab 5 Kesimpulan dan Saran... 87
5.1 Kesimpulan ... 87
5.2 Saran ... 87
Daftar Pustaka ... xvii
x
Daftar Gambar
Halaman
Gambar 2.1 Proses Enkrpsi dan Dekripsi ... 20
Gambar 2.2 Algoritma Simetri ... 21
Gambar 2.3 Algoritma Tak Simetri ... 23
Gambar 2.4 Permutasi ... 27
Gambar 2.5 Diagram Alir Proses Enkripsi ... 32
Gambar 2.6 Matriks Affine ... 33
Gambar 2.7 Transformasi ShiftRows ... 34
Gambar 2.8 Transformasi MixColumns ... 34
Gambar 2.9 Hasil Perkalian dari Operasi Matriks Columns ... 35
Gambar 2.10 Diagram Alir Proses Dekripsi ... 36
Gambar 2.11 Transformasi InvShiftRows ... 37
Gambar 2.12 Matriks Invers Affine ... 38
Gambar 2.13 Matriks InvMixColums ... 38
Gambar 2.14 Input State and Cipher Key ... 41
Gambar 2.15 Proses SubBytes ... 42
Gambar 2.16 Hasil SubBytes ... 43
Gambar 2.17 Proses Transformasi ShiftRows ... 43
Gambar 2.18 Hasil Transformasi ShiftRows ... 44
Gambar 2.19 Proses Operasi MixColumns ... 45
Gambar 2.20 Hasil Transformasi MixColumns ... 45
Gambar 2.21 Proses dan Hasil AddRoundKey ... 46
Gambar 2.22 Proses Ekspansi Kunci ... 46
Gambar 2.23 Proses Keseluruhan Rijndael ... 48
Gambar 2.24 Struktur Frame Mp3 ... 52
Gambar 2.25 Struktur Header pada Frame Mp3 ... 53
Gambar 2.26 Contoh Byte-Byte Homogen pada Mp3 ... 56
Gambar 3.1 Waterfall Model ... 57
Gambar 3.2 Proses Enkripsi Dan Dekripisi Mp3 Menggunakan Rijndael ... 62
Gambar 3.3 Proses Enkripsi Mp3 Menggunakan Rijndael ... 63
Gambar 3.4 Proses Dekripsi Mp3 Menggunakan Rijndael ... 64
Gambar 3.5 Rancangan Antarmuka ... 66
Gambar 3.6 Enkripsi Form ... 67
xi
Gambar 3.8 Form Other ... 68
Gambar 3.9 Form Author ... 68
Gambar 3.10 Use Case Diagram Enkripsi ... 69
Gambar 3.11 Use Case Diagram Dekripsi ... 69
Gambar 3.12 Activity Diagram ... 70
Gambar 3.13 Class Diagram aplikasi enkripsi dekripsi Rijndael/AES ... 71
Gambar 3.14 Sequence Diagram Enkripsi ... 72
Gambar 3.15 Sequence Diagram Dekripsi ... 72
Gambar 4.1 Menu Utama Aplikasi ... 73
Gambar 4.2 Exe Program ... 74
Gambar 4.3 Tampilan Utama Program Ketika Dijalankan ... 74
Gambar 4.4 Terjadinya Proses Enkripsi ... 75
Gambar 4.5 Tampilan Utama Dekripsi ... 77
Gambar 4.6 Proses Terjadinya Dekripsi ... 78
Gambar 4.7 Proses Menjalankan Tab Other ... 78
Gambar 4.8 Proses Terjadinya Tab Author ... 79
Gambar 4.9 Proses Sebelum Enkripsi ... 81
Gambar 4.10 Proses Sesudah Enkripsi ... 82
Gambar 4.11 Mp3 Tag Asli ... 83
Gambar 4.12 Mp3 Tag Enkripsi ... 83 Gambar 4.13 Perbandingan Antara Waktu dan Besar Berkas Mp3 85 Gambar 4.14 Grafik Linear Antara Waktu dan Besar Berkas Mp3 86
xii
Daftar Tabel
Halaman
Tabel 2.1 Teknik Blok ... 26
Tabel 2.2 Perbandingan Jumlah Round dan Key... 31
Tabel 2.3 S-Box Rijndael ... 42
Tabel 2.4 Tabel Keterangan Struktur Header Pada Frame Mp3 53 Tabel 3.1 S-Box Rijndael ... 54
Tabel 3.2 S-Box ... 63
Tabel 3.3 S-Box Inver ... 65
Tabel 3.4 Tabel Operasi Blok 128 Bit dan 256 Bit ... 66
Tabel 4.1 Perbandingan Ukuran Byte Asli dan Hasil Enkripsi Menggunakan Signal to Noise Ratio (SNR) ... .. 85
xiii
Daftar Kode Program
Halaman
Kode Program 2.1 Proses Enkripsi ... 19
Kode Program 2.2 Proses Dekripsi ... 19
Kode Program 2.3 Proses Enkripsi Dekripsi... 16
Kode Program 2.4 Fungsi Enkripsi Dekripsi ... 19
Kode Program 2.5 Fungsi Enkripsi Dekripsi ... 19
Kode Program 2.6 Pseudocode ... 26
Kode Program 3.1 Pembentukan Kunci ... 75
Kode Program 3.2 Membentuk Kunci IV ... 76
xiv
Daftar Istilah
AES : Advanced Encryption Standard MPEG : Moving Picture Experts Group
xv Abstract
The development of this technology is now very quick and sophisticated. Especially in the field of entertainment. Where will access the downloading of mp3 files is easy. But on the other side of this simplicity would also cause losses to the creator or a singer. Is due to the ease of accessing the internet world is very easy.
Problems that arise are then led to an idea to design applications using techniques cryptosystems on mp3 files using the algorithm Rijndael, which is a standard algorithm in the National Institute of Standards and Technology (NIST), which is effective in safety standards since 2002.
As it is known that the technique cryptosystem is one of cryptography for encryption and decryption techniques. Encryption and decryption techniques are performed directly be applied on mp3 than it will create encrypting mp3. That it make mp3 will converting into ciphertext from plaintext and finally the result is mp3 encrypting will not recognized by the music player.
Keywords: Rijndael Algorithm, Mp3, Cryptography, Cryptosistem.
xvi Abstrak
Perkembangan teknologi sekarang ini sangatlah cepat dan canggih. Terutama dalam bidang entertainment. Dimana akses akan pengunduhan berkas mp3 sangatlah mudah. Namun di lain sisi kemudahan ini tentu juga menimbulkan kerugian terhadap pencipta atau penyanyi. Kemudahan ini dikarenakan pengaksesan di dunia internet sangat mudah.
Masalah yang muncul ini kemudian memunculkan suatu gagasan untuk merancang aplikasi dengan menggunakan teknik kriptosistem pada berkas mp3 dengan menggunakan algoritma
Rijndael, yang mana algoritma ini merupakan standar dalam National Institute of Standar and Technology (NIST), yang
merupakan standar efektif dalam keamanan sejak tahun 2002. Seperti yang diketahui bahwa teknik kriptosistem ini merupakan salah satu dari kriptografi untuk melakukan teknik enkripsi dan dekripsi. Teknik enkripsi dan dekripsi yang dilakukan yaitu menggaplikasikan penyandian langsung pada mp3 sehingga mengubah mp3 tersebut dari plainteks menjadi cipherteks sehingga tidak dikenali oleh pemutar musik.
Kata Kunci: Algoritma Rijndael, Mp3, Kriptografi, Kriptosistem.