viii
DAFTAR ISI
LEMBAR PENGESAHAN .......................................................................... ii SURAT PERNYATAAN ............................................................................. iii ABSTRACT .................................................................................................. iv ABSTRAK .................................................................................................... v KATA PENGANTAR ................................................................................... vi DAFTAR ISI .................................................................................................. viii DAFTAR TABEL ......................................................................................... xii DAFTAR GAMBAR ..................................................................................... xiii DAFTAR LAMPIRAN ................................................................................ xv BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah ............................................................................ 1-1 1.2 Identifikasi Masalah .................................................................................. 1-3 1.3 Tujuan Penulisan ....................................................................................... 1-3 1.4 Batasan Masalah........................................................................................ 1-3 1.5 Metode Penelitian...................................................................................... 1-4 1.6 Sistematika Penulisan ............................................................................... 1-5 BAB 2 LANDASAN TEORI 2.1 Definisi Pesan ........................................................................................... 2-1 2.2 Keamanan Pesan ....................................................................................... 2-1 2.3 Kriptografi ................................................................................................. 2-3 2.3.1 Definisi Kriptografi .......................................................................... 2-3 2.3.2 Sejarah Kriptografi ........................................................................... 2-5 2.3.3 Tujuan Kriptografi ........................................................................... 2-5 2.3.4 Algoritma Simetri ............................................................................ 2-6 2.3.5 Algoritma Tak Simetri ..................................................................... 2-7 2.3.6 Fungsi Hash...................................................................................... 2-6 2.4 Teknik Dasar Kriptografi .......................................................................... 2-9
ix
2.4.1 Teknik Blok...................................................................................... 2-10 2.4.2 Teknik Permutasi dan Transposisi ................................................... 2-11 2.5 Teknik – teknik Kriptanalis ....................................................................... 2-11 2.5.1 Know Plainteks Analisys .................................................................. 2-11 2.5.2 Chosen Plainteks Analisys ............................................................... 2-12 2.5.3 Ciphertest-Only Analisys ................................................................. 2-12 2.5.4 Men-In-The-Middle Attack ............................................................... 2-13 2.5.5 Timming/Differential Power Analisys .............................................. 2-14 2.5.6 Correlation ....................................................................................... 2-14 2.5.7 Kesalahan dalam Kriptosistem ......................................................... 2-14 2.5.8 Rubben – Hose Cryptanalysis .......................................................... 2-15 2.5.9 Kesalahan dalam Kriptosistem ......................................................... 2-15 2.5.10 Serangan terhadap/ menggunakan hardware dari Cryptosystem .... 2-15 2.6 Keamaan Rijndael .................................................................................... 2-16 2.7 Algoritma Twofish .................................................................................... 2-17 2.8 Teknik Pembangunan Algoritma Twofish ................................................ 2-20 2.8.1 Fungsi F............................................................................................ 2-20 2.8.2 Fungsi G ........................................................................................... 2-21 2.8.3 Blok Pembangunan Twofish............................................................. 2-21 BAB 3 ANALISIS 3.1 Analisis Desain Rijndael ........................................................................... 3-1 3.1.1 Kotak Subtitusi ................................................................................. 3-1 3.1.2 Operasi MixColumns ........................................................................ 3-2 3.1.2 Ekspansi Kunci ................................................................................ 3-2 3.2 Proses kriptografi Rijndael........................................................................ 3-2 3.2.1 Cipher (enkripsi) .............................................................................. 3-4 3.2.1.1 Transformasi SubBytes .......................................................... 3-5 3.2.1.2 Transformasi ShiftRows ........................................................ 3-7 3.2.1.3 Transformasi MixColumns .................................................... 3-9
x
3.2.1.4 Transformasi AddRoundKey ................................................. 3-11 3.2.2 Invers Cipher (dekripsi) ................................................................... 3-14 3.2.2.1 Pengembalian Transformasi ShiftRows ................................. 3-15 3.2.2.2 Pengembalian Transformasi SubBytes .................................. 3-16 3.2.2.3 Pengembalian Transformasi XorRoundKey .......................... 3-16 3.2.2.4 Pengembalian Transformasi MixColumns ............................ 3-16 BAB 4 PERANCANGAN PERANGKAT LUNAK 4.1 Perancangan Perangkat Lunak .................................................................. 4-1 4.1.1 Deskripsi Perangkat Lunak .............................................................. 4-2 4.1.2 Arsitektur Perangkat Lunak ............................................................. 4-3 4.2 Kebutuhan Non Fungsional Perangkat Lunak .......................................... 4-3 4.2.1 Kebutuhan Perangkat Lunak ............................................................ 4-3 4.2.2 Kebutuhan Perangkat Keras ............................................................. 4-4 4.2.3 Analisis Pengguna ............................................................................ 4-4 4.3 Kebutuhan Fungsional Perangkat Lunak .................................................. 4-4 4.3.1 Pemodelan Proses Bisnis.................................................................. 4-5 4.3.2 Identifikasi Aktor ............................................................................. 4-5 4.3.3 Use Case Diagram ............................................................................ 4-6 4.3.3.1 Definisi Perangkat Lunak Enskripsi dan Dekripsi File ......... 3-7 4.3.3.2 Skenario Use Case Perangkat Lunak Enskripsi dan Dekripsi File ......................................................................... 3-8 4.3.4 Diagram Kelas .................................................................................. 4-12 4.3.5 Perancangan Activity Diagram ........................................................ 4-15 4.3.6 Activity Diagram Menggunakan Fasilitas Enkripsi ......................... 4-16 4.3.7 Activity Diagram Menggunakan Fasilitas Dekripsi FIle ................. 4-18 4.3.8 Perancangan Sequence Diagram ...................................................... 4-18 4.3.9 Sequence Diagram Penggunaan Fasilitas Enkripsi .......................... 4-19 4.3.10 Sequence Diagram Penggunaan Fasilitas Dekripsi ........................ 4-19 4.3.11 Perancangan Antar Muka Perangkat Lunak................................... 4-20
xi
BAB 5 IMPLEMENTASI DAN PENGUJIAN 5.1 Implementasi Algoritma Kriptografi Rijndael 256 bit .............................. 5-1 5.1.1 Tahapan Proses Enkripsi File ............................................................ 5-1 5.1.2 Tahapan Proses Dekripsi File............................................................ 5-2 5.2 Pengujian Algoritma Kriptografi Rijndael 256 bit ................................... 5-3 5.2.1 Prosedur Pengujian Fungsional Enkripsi ......................................... 5-4 5.2.2 Prosedur Pengujian Fungsional Proses Dekripsi ............................. 5-5 5.2.3 Pengukuran Performansi Proses Enkripsi ........................................ 5-7 5.2.4 Pengukuran Performansi Proses Dekripsi ........................................ 5-8 5.2.5 Pengukuran Memori File.................................................................. 5-8 5.2.6 Pengukuran Avalanche Effect .......................................................... 5-10 5.2.7 Pengukuran Brute Force Attack ....................................................... 5-11 5.3 Analisa Hasil Pengujian dan Pengukuran ................................................. 5-14 5.3.1 Ukuran Karakter (Char Size) ........................................................... 5-14 5.3.2 Waktu Proses (Process Time) .......................................................... 5-15 5.3.3 Struktur Cipher ................................................................................. 5-15 5.3.4 Panjang Kunci .................................................................................. 5-15 5.3.5 Mode Operasi ................................................................................... 5-16 5.3.6 Nilai Bit ............................................................................................ 5-17 5.3.7 Avalanche Effect............................................................................... 5-18 BAB 6 KESIMPULAN DAN SARAN 6.1 Kesimpulan ............................................................................................... 6-1 6.2 Saran .......................................................................................................... 6-2 DAFTAR PUSTAKA ................................................................................... xv LAMPIRAN
xii
DAFTAR TABEL
Tabel 2.1 Tabel Perbandingan Algoritma Twofish ......................................... 2-17 Tabel 3.1 Panjang Kunci AES ....................................................................... 3-3 Tabel 3.2 Tabel S-Box .................................................................................... 3-6 Table 4.1 Tabel Identifikasi Aktor .................................................................. 4-6 Tabel 4.2 Definisi Use Case Perangkat Lunak Enkripsi dan Dekripsi File .... 4-7 Tabel 4.3 Deskripsi Use Case Menggunakan Fasilitas Enkripsi File ............. 4-8 Tabel 4.4 Deskripsi Use Case Menggunakan Fasilitas Enkripsi File ............. 4-9 Tabel 4.5 Deskripsi Use Case Memilih File Yang Akan Di-Enkripsi ............ 4-10 Tabel 4.6 Deskripsi Use Case Memilih File Yang Akan Di-Dekripsi ............ 4-11 Tabel 4.7 Deskripsi Kelas frmMain ............................................................... 4-13 Tabel 4.8 Deskripsi Kelas CryptoAction. ........................................................4-14 Tabel 5.1 Nilai Rata-Rata Waktu Proses Enkripsi .......................................... 5-7 Tabel 5.2 Nilai Rata-Rata Waktu Proses Dekripsi .......................................... 5-8 Tabel 5.3 Nilai Rata-Rata Memori Proses Enkripsi dan Dekripsi (Rijndael) . 5-9 Tabel 5.4 Nilai Rata-Rata Memori Proses Enkripsi dan Dekripsi (Twofish) . 5-9 Tabel 5.5 Nilai Avalanche Effect Rijndael dengan Masukan Berbeda dan Kunci Sama ..................................................................................... 5-10 Tabel 5.6 Nilai Avalanche Effect Twofish dengan Masukan Berbeda dan Kunci Sama ..................................................................................... 5-11 Tabel 5.7 Perbandingan Nilai Brute Force Attack dengan Menggunakan Rijndael ........................................................................................... 5-12 Tabel 5.8 Perbandingan Nilai Brute Force Attack dengan Menggunakan Twofish ........................................................................................... 5-13 Tabel 5.9 Nilai Rata-Rata Perbandingan Waktu Proses Algoritma Rijndael dan Algoritma Twofish ................................................................... 5-14 Tabel 5.10 Perbandingan Waktu Proses Masing-Masing Mode Operasi ....... 5-15
xiii
DAFTAR GAMBAR
Gambar 1.1 Metodologi Penelitian ................................................................. 1-5 Gambar 2.1 Enkripsi Sederhana Dengan Kunci ............................................. 2-4 Gambar 2.2 Sistemasi Enkripsi Caesar Cipher .............................................. 2-9 Gambar 2.3 Enkripsi Block Cipher ................................................................. 2-10 Gambar 2.4 Teknik Permutasi dan Transposisi .............................................. 2-11 Gambar 2.5 Simulasi Penyerangan Man-In-The Middle Attack ..................... 2-13 Gambar 2.6 Struktur Algoritma Twofish......................................................... 2-19 Gambar 3.1 Sistemasi Enkripsi Algoritma Rijndael ...................................... 3-4 Gambar 3.2 Simulasi SubBytes ...................................................................... 3-6 Gambar 3.3 Simulasi ShiftRow ...................................................................... 3-8 Gambar 3.4 Simulasi Transformasi MixColumns ........................................... 3-10 Gambar 3.5 Simulasi AddRoundKey .............................................................. 3-13 Gambar 3.6 Simulasi Ekspansi Kunci ............................................................. 3-14 Gambar 4.1 Alur Interaksi Pengguna dan Perangkat Lunak ........................... 4-2 Gambar 4.2 Use Case Diagram Perangkat Lunak Enkripsi dan Dekripsi File 4-7 Gambar 4.3 Class Perangkat Lunak Enkripsi dan Dekripsi File..................... 4-13 Gambar 4.4 Activity Diagram Menggunakan Fasilitas Enkripsi .................... 4-16 Gambar 4.5 Activity Diagram Menggunakan Fasilitas Dekripsi ..................... 4-17 Gambar 4.6 Sequence Diagram Penggunaan Fasilitas Enkripsi ..................... 4-19 Gambar 4.7 Sequence Diagram Penggunaan Fasilitas Dekripsi ..................... 4-20 Gambar 4.8 Rancangan Antarmuka Fasilitas Enkripsi ................................... 4-21 Gambar 4.9 Rancangan Antarmuka Halaman Beranda .................................. 4-21 Gambar 5.1 Diagram Alir Data Proses Enkripsi Rijndael 256 bit .................. 5-2 Gambar 5.2 Diagram Alir Data Proses Dekripsi Rijndael 256 bit ................... 5-3
xiv
Gambar 5.3 Pengujian Proses Enkripsi Algoritma Rijndael 256 bit .............. 5-4 Gambar 5.4 Respon Proses Enkripsi Algoritma Rijndael 256 bit ................... 5-4 Gambar 5.5 Pengujian Proses Dekripsi Algoritma Rijndael 256 bit .............. 5-5 Gambar 5.6 Respon Proses Dekripsi Algoritma Rijndael 256 bit .................. 5-5 Gambar 5.7 Respon Proses Error .................................................................... 5-6 Gambar 5.8 Perbandingan File .doc ................................................................ 5-7 Gambar 5.9 Pengujian File Citra Dengan Parameter Pixel ............................. 5-8 Gambar 5.10 Ilustrasi Proses Pengukuran Avalanche Effect .......................... 5-14
DAFTAR GRAFIK
Grafik 5.1 Nilai Rata-Rata Waktu Proses Enkripsi ......................................... 5-7 Grafik 5.2 Nilai Rata-Rata Waktu Proses Dekripsi ........................................ 5-8 Grafik 5.3 Nilai Rata-Rata Memori Proses Enkripsi dan Dekripsi (Rijndael) 5-9 Grafik 5.4 Nilai Rata-Rata Memori Proses Enkripsi dan Dekripsi (Twofish) 5-10
DAFTAR LAMPIRAN Lampiran Source Code Program Lampiran Kartu Bimbingan Tugas Akhir