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
i
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
(Helda Jolanda Tisera)
iii
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.
iv
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
v
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
vi
Daftar Isi Halaman Halaman Judul ................................................................................ i Halaman Persetujuan ......................................................................... ii iii Halaman Pernyataan.......................................................................... Prakata ............................................................................................ iv Daftar Isi............................................................................................ vii Daftar Gambar ................................................................................... x Daftar Tabel ...................................................................................... xii Daftar Kode Program ........................................................................ xiii Daftar Istilah...................................................................................... xiv Abstrak ............................................................................................ xvi Pendahuluan ................................................................. 1 Bab 1 1.1 Latar Belakang .................................................... 1 1.2 Rumusan Masalah ............................................... 4 1.3 Tujuan dan Manfaat ............................................ 4 1.4 Batasan Masalah.................................................. 5 5 1.5 Sistematika Penulisan ......................................... Bab 2 Tinjauan Pustaka .......................................................... 7 2.1 Penelitian Sebelumnya ........................................ 7 2.2 Keamanan Data ................................................... 8 2.2.1 Ancaman Keamanan ............................... 9 10 2.3 Teori Dasar Kriptografi (Cryptography) ............ 2.3.1 Tujuan Kriptografi .................................. 11 2.3.2 Kriptanalis ............................................... 13 2.3.3 Kriptosistem ............................................ 13 16 2.3.4 Komponen Kriptografi ............................ 2.3.5 Algoritma Kriptografi ............................. 17 20 2.3.5.1 Algoritma Simetri ........................ 2.3.3.2 Algoritma Tak Simetri ................. 22 2.3.6 Teknik Dasar Kriptografi ........................ 25 25 2.3.6.1 Metode Subsitusi ......................... 2.3.6.2 Teknik Blok .................................. 26 2.3.6.3 Teknik Permutasi atau Tranposisi ................................... 27 2.4 Pengantar Matematis .......................................... 27 vii
Bab 3
2.4.1 Penjumlahan ............................................ 2.4.2 Perkalian .................................................. 2.5 Algoritma Rijndael (AES). .................................. 2.5.1 Enkripsi Rijndael ..................................... 2.5.1.1 SubBytes ...................................... 2.5.1.2 ShiftRows ..................................... 2.5.1.3 MixColumns ................................. 2.5.1.4 AddRoundKey .............................. 2.5.2 Dekripsi Rijndael ..................................... 2.5.2.1 InvShiftRows ................................ 2.5.2.2 InvSubBytes ................................. 2.5.2.3 InvMixColumns ............................ 2.5.2.4 Inverse AddRoundKey ................. 2.5.3 Ekspansi Kunci ........................................ 2.6 Algoritma Rijndael (AES 128) ............................ 2.7 Fungsi Hash ......................................................... 2.8 Sejarah Singkat Mengenai Mp3 ......................... 2.8.1 Teknik Kompresi Mp3 ............................ 2.8.2 Struktur Berkas Mp3 ............................... 2.8.2.1 Header ......................................... 2.8.2.2 CRC (Cyclic Redundancy Check) ......................................... 2.8.2.3 Side Information ......................... 2.8.2.4 Main Data .................................... Metode Penelitian ......................................................... 3.1 Metode Pemgembangan Sistem........................... 3.2 Analisis Kebutuhan Sistem.................................. 3.2.1 Analisis Kebutuhan Perangkat Keras ......... 3.2.2 Analisis Kebutuhan Perangkat Lunak ........ 3.2.2 Analisis Kebutuhan Input ........................... 3.3 Analisis Apilkasi ................................................. 3.4 Analisis Algoritma Rijndael ................................ 3.4.1 Proses Enkripsi Berkas Mp3 Menggunakan Algoritma Rijndael ....... 3.4.2 Proses Dekripsi Berkas Mp3 Menggunakan Algoritma Rijndael ....... 3.4.3 Analisis Proses Enkripsi dan Dekripsi Mp3 .......................................................
viii
28 28 29 31 32 33 34 35 36 36 37 38 39 39 41 48 50 50 52 53 54 55 55 57 57 59 60 60 61 61 63 63 64 65
3.5
Rancangan Antarmuka Sistem ........................... 3.5.1 Rancangan Form Encrypt Mp3 .................. 3.5.2 Rancangan Form Decrypt Mp3 .................. 3.5.3 Rancangan Form Other .............................. 3.5.4 Rancangan Form Author ............................ 3.6 Rancangan Antarmuka Sistem ........................... 3.6.1 Use Case Diagram ..................................... 3.6.2 Activity Diagram ........................................ 3.6.3 Class Diagram ........................................... 3.6.4 Sequence Diagram ..................................... Bab 4 Hasil dan Pembahasan.................................................. 4.1 Penerapan Perangkat Lunak ................................ 4.1.1 Menu Utama ............................................ 4.2 Pengujian ............................................................. 4.2.1 Pengujian Aplikasi .................................. 4.2.2 Proses Enkripsi Menggunakan Rijndael . 4.2.3 Proses Dekripsi Menggunakan Rijndael . 4.2.4 Proses Menjalankan Tab Other ............... 4.2.5 Proses Menjalanakan Tab Author ........... 4.3 Analisis................................................................ 4.3.1 Analisis Proses Enkripsi dan Dekripsi .... 4.3.2 Analisis Kesamaan & Perbedaan Berkas ...................................................... 4.3.3 Analisis Perbandingan Bentuk Gelombang .............................................. 4.3.3 Analisis Pengujian Signal to Noise Ratio ........................................................ Bab 5 Kesimpulan dan Saran.................................................. 5.1 Kesimpulan ............................................................ 5.2 Saran ....................................................................... Daftar Pustaka ................................................................................
ix
66 66 67 68 68 69 69 70 70 72 73 73 73 73 73 74 77 78 79 79 79 80 83 85 87 87 87 xvii
Daftar Gambar
Gambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 2.5 Gambar 2.6 Gambar 2.7 Gambar 2.8 Gambar 2.9 Gambar 2.10 Gambar 2.11 Gambar 2.12 Gambar 2.13 Gambar 2.14 Gambar 2.15 Gambar 2.16 Gambar 2.17 Gambar 2.18 Gambar 2.19 Gambar 2.20 Gambar 2.21 Gambar 2.22 Gambar 2.23 Gambar 2.24 Gambar 2.25 Gambar 2.26 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7
Halaman Proses Enkrpsi dan Dekripsi ...................................... 20 Algoritma Simetri ...................................................... 21 Algoritma Tak Simetri ............................................... 23 Permutasi ................................................................... 27 Diagram Alir Proses Enkripsi .................................... 32 Matriks Affine ............................................................ 33 Transformasi ShiftRows ............................................. 34 Transformasi MixColumns ........................................ 34 Hasil Perkalian dari Operasi Matriks Columns ......... 35 Diagram Alir Proses Dekripsi ................................... 36 Transformasi InvShiftRows ........................................ 37 Matriks Invers Affine ................................................. 38 Matriks InvMixColums .............................................. 38 Input State and Cipher Key ....................................... 41 Proses SubBytes ......................................................... 42 Hasil SubBytes ........................................................... 43 Proses Transformasi ShiftRows ................................. 43 Hasil Transformasi ShiftRows ................................... 44 Proses Operasi MixColumns ...................................... 45 Hasil Transformasi MixColumns ............................... 45 Proses dan Hasil AddRoundKey ................................ 46 Proses Ekspansi Kunci .............................................. 46 Proses Keseluruhan Rijndael ..................................... 48 Struktur Frame Mp3 .................................................. 52 Struktur Header pada Frame Mp3 ............................ 53 Contoh Byte-Byte Homogen pada Mp3 ..................... 56 Waterfall Model ......................................................... 57 Proses Enkripsi Dan Dekripisi Mp3 Menggunakan Rijndael .............................................. 62 Proses Enkripsi Mp3 Menggunakan Rijndael ........... 63 Proses Dekripsi Mp3 Menggunakan Rijndael ........... 64 Rancangan Antarmuka .............................................. 66 Enkripsi Form ............................................................ 67 Dekripsi Form ........................................................... 67 x
Gambar 3.8 Gambar 3.9 Gambar 3.10 Gambar 3.11 Gambar 3.12 Gambar 3.13 Gambar 3.14 Gambar 3.15 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Gambar 4.11 Gambar 4.12 Gambar 4.13 Gambar 4.14
Form Other ............................................................... Form Author .............................................................. Use Case Diagram Enkripsi ..................................... Use Case Diagram Dekripsi ..................................... Activity Diagram ....................................................... Class Diagram aplikasi enkripsi dekripsi Rijndael/AES ............................................................ Sequence Diagram Enkripsi...................................... Sequence Diagram Dekripsi ..................................... Menu Utama Aplikasi ............................................... Exe Program .............................................................. Tampilan Utama Program Ketika Dijalankan ........... Terjadinya Proses Enkripsi ....................................... Tampilan Utama Dekripsi ......................................... Proses Terjadinya Dekripsi ....................................... Proses Menjalankan Tab Other ................................. Proses Terjadinya Tab Author .................................. Proses Sebelum Enkripsi ........................................... Proses Sesudah Enkripsi ........................................... Mp3 Tag Asli ............................................................ Mp3 Tag Enkripsi ..................................................... Perbandingan Antara Waktu dan Besar Berkas Mp3 Grafik Linear Antara Waktu dan Besar Berkas Mp3
xi
68 68 69 69 70 71 72 72 73 74 74 75 77 78 78 79 81 82 83 83 85 86
Daftar Tabel Tabel 2.1 Tabel 2.2 Tabel 2.3 Tabel 2.4 Tabel 3.1 Tabel 3.2 Tabel 3.3 Tabel 3.4 Tabel 4.1
Halaman Teknik Blok ............................................................... 26 Perbandingan Jumlah Round dan Key....................... 31 S-Box Rijndael ........................................................... 42 Tabel Keterangan Struktur Header Pada Frame Mp3 53 S-Box Rijndael ........................................................... 54 S-Box.......................................................................... 63 S-Box Inver ................................................................ 65 Tabel Operasi Blok 128 Bit dan 256 Bit ................... 66 Perbandingan Ukuran Byte Asli dan Hasil Enkripsi Menggunakan Signal to Noise Ratio (SNR) ........... .. 85
xii
Daftar Kode Program
Kode Program Kode Program Kode Program Kode Program Kode Program Kode Program Kode Program Kode Program Kode Program
2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 3.3
Halaman Proses Enkripsi .............................................. 19 Proses Dekripsi .............................................. 19 Proses Enkripsi Dekripsi................................ 16 Fungsi Enkripsi Dekripsi ............................... 19 Fungsi Enkripsi Dekripsi ............................... 19 Pseudocode .................................................... 26 Pembentukan Kunci ....................................... 75 Membentuk Kunci IV .................................... 76 Proses Enkripsi dan Dekripsi ......................... 76
xiii
Daftar Istilah AES : Advanced Encryption Standard MPEG : Moving Picture Experts Group
xiv
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,
Cryptosistem.
xv
Mp3,
Cryptography,
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,
Kriptosistem.
xvi
Mp3,
Kriptografi,