PERANCANGAN PROGRAM APLIKASI KRIPTOGRAFI DENGAN MENGGUNAKAN ALGORITMA TWOFISH

  

______________________________________________________________________________

  Program Ganda T. Informatika - Matematika

  Skripsi Sarjana Program Ganda Semester Genap 2006/2007

  

PERANCANGAN PROGRAM APLIKASI KRIPTOGRAFI DENGAN

MENGGUNAKAN ALGORITMA TWOFISH

  Jeffry Ryzaldy NIM: 0600653152

Abstrak

  Saat ini perkembangan teknologi berkembang pesat yang menyebabkan tingkat ancaman dalam keamanan menjadi semakin tinggi. Informasi yang ingin diberikan pihak tertentu kepada pihak lain melalui data digital menjadi tidak aman disebabkan adanya pihak yang memiliki kemampuan untuk mencuri atau merubah informasi data tersebut, dengan menggunakan kriptografi diharapkan dapat mengatasi masalah ini. Tujuan perancangan adalah untuk menghasilkan program aplikasi kriptografi yang dapat menjaga informasi yang ingin disampaikan agar tidak dapat dibaca atau diubah oleh pihak yang tidak diinginkan.

  Program aplikasi kriptografi ini akan menggunakan algoritma Twofish, algoritma ini adalah algoritma kriptografi yang menggunakan key simetris berjenis block cipher. Block cipher adalah suatu fungsi yang memetakan n-bit blok dari plaintext ke dalam n- bit blok ciphertext dimana n adalah panjang blok, Twofish menggunakan block cipher yang berukuran 128 bit. Twofish menggunakan Feistel Network seperti kebanyakan algoritma pada block cipher namun untuk meningkatkan tingkat keamanan maka algoritma ini menambahkan whitening pada awal dan akhir proses dan perputaran bit pada setiap putaran Feistel. Twofish dapat dikatakan sebagai 8 cycle Feistel Network dengan fungsi bijektif.

  Hasil dari penelitian ini adalah suatu program aplikasi yang dapat melakukan proses enkripsi maupun dekripsi menggunakan algoritma Twofish. Aplikasi ini di uji dengan menggunakan berbagai macam data informasi guna mengetahui waktu yang diperlukan dan kemampuan dari aplikasi ini.

  Karena program aplikasi ini menggunakan user interface yang user friendly maka aplikasi ini dapat digunakan oleh berbagai kalangan bahkan untuk kalangan awam sekalipun. Namun program ini memiliki waktu proses yang cukup lama untuk file yang berukuran lebih dari 10 MB.

  Kata Kunci: Kriptografi, Enkripsi, Dekripsi, Simetris, Block Cipher, AES, Algoritma, Twofish.

  Puji Syukur penulis panjatkan terhadap kehadiran Tuhan Yang Maha Esa atas rahmat dan petunjuk yang telah diberikan oleh-Nya sehingga penulis dapat mengerjakan dan menyelesaikan penulisan skripsi ini dengan baik.

  Adapun maksud dan tujuan dari penulisan skripsi ini adalah untuk memenuhi salah satu syarat dalam mendapatkan gelar Sarjana Jenjang Strata Satu pada Program Ganda Fakultas MIPA Jurusan Matematika, Universitas Bina Nusantara.

  Dalam kesempatan ini penulis dengan tulus hati ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah memberikan bantuan baik dari segi moral maupun spiritual yang sangat bermanfaat bagi penulis dalam penyusunan skripsi ini. Ucapan terima kasih ini, penulis tujukan kepada:

  1. Bapak Prof. Dr. Geraldus Polla, M.App.Sc., selaku rektor Universitas Bina Nusantara, yang telah berkenan memberikan kesempatan untuk menuntut ilmu kepada penulis di Universitas yang berada di bawah pimpinan beliau.

  2. Bapak Wikaria Gazali, S.Si., MT., selaku Dekan Fakultas MIPA Universitas Bina Nusantara atas perhatian, pertolongan dan pengajaran yang telah diberikan selama ini.

  3. Bapak Drs. Ngarap Imanuel Manik, M.Kom., selaku Ketua Jurusan Matematika Fakultas MIPA Universitas Bina Nusantara atas perhatian, pertolongan dan pengajaran yang telah diberikan selama ini.

  4. Bapak Rojali, S. Si., selaku Sekretaris Jurusan Matematika Fakultas MIPA Universitas Bina Nusantara atas perhatian, pertolongan dan pengajaran yang telah diberikan selama ini.

  5. S. Liawatimena, Pgdip.App.Sci., Dr, selaku Dosen Pembimbing kesatu yang telah banyak memberikan bantuan dan bimbingan yang diberikan selama masa penyusunan skripsi ini serta atas ide, pengertian, pengajaran, pertolongan dan kesabarannya yang memudahkan skripsi ini terselesaikan tepat pada waktunya.

  Mangasi Alion Marpaung, Drs., M.Si., Dr., selaku Dosen Pembimbing kedua yang telah banyak memberikan bantuan dan bimbingan yang diberikan selama masa penyusunan skripsi ini serta atas pengertian, pengajaran, pertolongan dan kesabarannya yang memudahkan skripsi ini terselesaikan tepat pada waktunya.

  7. Seluruh Dosen Universitas Bina Nusantara yang selama ini telah memberikan ilmu dan bimbingan akademis kepada penulis dari awal hingga akhir perkuliahan.

  8. Keluarga penulis atas doa, kasih, kesabaran, dan dukungan yang diberikan kepada penulis selama penyusunana skripsi ini.

  9. Teman-teman jurusan ganda Teknik Informatika – Matematika atas dukungan dan bantuannya yang diberikan kepada penulis selama ini.

  10. Pihak-pihak lain yang tidak dapat disebutkan satu persatu yang telah mendukung dan membantu penulis dalam penyelesaian skripsi ini.

  Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, karena keterbatasan kemampuan dan pengetahuan penulis. Oleh karenanya, penulis mohon maaf dan harap maklum serta pengertian dari pembaca jika menemukan kesalahan- kesalahan dalam penulisan kata-kata pada skripsi ini. Penulis berharap agar skripsi ini berguna dapat memberikan masukan yang positif bagi setiap pihak.

  Jakarta, 7 Juli 2007 Penulis

  Halaman Halaman Judul Luar ..................................................................................................... i Halaman Judul Dalam.................................................................................................. ii Halaman Persetujuan Hardcover.................................................................................. iii Pernyataan Dewan Penguji .......................................................................................... iv Abstrak ......................................................................................................................... v Kata Pengantar ............................................................................................................. vi Daftar Isi ...................................................................................................................... viii Daftar Tabel ................................................................................................................. x Daftar Gambar.............................................................................................................. xi Daftar Lampiran........................................................................................................... xiii

  BAB 1 PENDAHULUAN ........................................................................................ 1

  1.1 Latar Belakang ..................................................................................... 1

  1.2 Perumusan Masalah ............................................................................. 2

  1.3 Ruang Lingkup..................................................................................... 2

  1.4 Tujuan dan Manfaat ............................................................................. 2

  1.4.1 Tujuan ......................................................................................... 2

  1.4.2 Manfaat ....................................................................................... 2

  1.5 Metodologi Penelitian ............................................................................. 3

  BAB 2 LANDASAN TEORI.................................................................................... 4

  2.1 Kriptografi............................................................................................ 4

  2.1.1 Sejarah Singkat ........................................................................... 6

  2.1.2 Kriptografi Public-key atau Asimetris ........................................ 6

  2.1.3 Kriptografi Simetris .................................................................... 7

  2.1.4 Kriptografi simetris dibandingkan dengan Kriptografi asimetris 9

  2.2 Algoritma Twofish ................................................................................ 11

  2.2.1 Key Schedule ............................................................................... 16

  2.2.2 Expanded Key ............................................................................. 17

  2.2.2.1 Fungsi h........................................................................... 18

  

1

  3.3 Rancangan Layar.................................................................................. 35

  5.1 Simpulan ................................................................................................. 77

  BAB 5 SIMPULAN DAN SARAN .......................................................................... 77

  4.4 Evaluasi Program Aplikasi................................................................... 69

  4.3 Pengujian Program Aplikasi ................................................................ 62

  4.2 Tampilan dan Cara Pengoperasian Program Aplikasi ......................... 46

  4.1.2 Piranti Lunak............................................................................... 45

  4.1.1 Perangkat Keras .......................................................................... 45

  4.1 Kebutuhan Perangkat ........................................................................... 45

  BAB 4 IMPLEMENTASI DAN EVALUASI .......................................................... 45

  3.4 Spesifikasi Modul ................................................................................ 40

  3.2 State Transition Diagram (STD) ......................................................... 31

  2.2.3 Langkah Utama ........................................................................... 21

  3.1 Struktur Menu ...................................................................................... 30

  BAB 3 PERANCANGAN PROGRAM.................................................................... 30

  2.5.2 Spesifikasi Proses........................................................................ 29

  2.5.1 State Transition Diagram (STD) ................................................ 28

  2.5 Rekayasa Piranti Lunak ....................................................................... 27

  2.4 Interaksi Manusia dan Komputer......................................................... 25

  2.3 ROL dan ROR...................................................................................... 24

  2.2.4 Algoritma Dekripsi Twofish........................................................ 24

  2.2.3.2 Fungsi g........................................................................... 23

  2.2.3.1 Fungsi F .......................................................................... 22

  5.2 Saran........................................................................................................ 78 DAFTAR PUSTAKA .................................................................................................. 79 RIWAYAT HIDUP...................................................................................................... 80 LAMPIRAN................................................................................................................. L-1

  

DAFTAR TABEL

  Halaman

Tabel 4.1 Pengujian Program Aplikasi ................................................................... 68Tabel 4.2 Tabel Enkripsi ......................................................................................... 73Tabel 4.3 Tabel Dekripsi......................................................................................... 74

  

DAFTAR GAMBAR

  Halaman

Gambar 2.1 Enkripsi dengan teknik public key.............................................................. 7Gambar 2.2 Enkripsi dengan kriptografi simetris........................................................... 8Gambar 2.3 Bentuk umum Feistel Network ................................................................... 12Gambar 2.4 Twofish ....................................................................................................... 15Gambar 2.5 Fungsi h....................................................................................................... 20Gambar 2.6 State............................................................................................................. 29Gambar 2.7 State Transition ........................................................................................... 29Gambar 3.1 Rancangan Struktur Menu Utama ............................................................... 30Gambar 3.2 Rancangan Struktur File.............................................................................. 31Gambar 3.3 Rancangan Struktur Tools........................................................................... 31Gambar 3.4 STD Menu utama ........................................................................................ 32Gambar 3.5 STD Menu File............................................................................................ 33Gambar 3.6 STD Menu Tools......................................................................................... 34Gambar 3.7 STD Option ................................................................................................. 35Gambar 3.8 Rancangan layar Menu Utama (Enkripsi)................................................... 36Gambar 3.9 Rancangan layar Menu Utama (Dekripsi)................................................... 38Gambar 3.10 Rancangan layar option............................................................................. 39Gambar 3.11 Rancangan layar How To Use dan About................................................. 40Gambar 4.1 Layar Menu Utama ..................................................................................... 46Gambar 4.2 Layar About ................................................................................................ 47Gambar 4.3 Menu Tools ................................................................................................. 48Gambar 4.4 Menu File .................................................................................................... 48Gambar 4.5 Dialog Open ................................................................................................ 49Gambar 4.6 Layar Menu Utama mode Enkripsi ............................................................. 50Gambar 4.7 Layar Option ............................................................................................... 50Gambar 4.8 Select Directory Dialog............................................................................... 51Gambar 4.9 Layar Error .................................................................................................. 52Gambar 4.11 Layar Konfirmasi ...................................................................................... 53Gambar 4.12 Proses Enkripsi selesai .............................................................................. 54Gambar 4.13 Layar Konfirmasi ...................................................................................... 55Gambar 4.14 Layar Menu Utama mode Dekripsi........................................................... 56Gambar 4.15 Layar Error ............................................................................................... 57Gambar 4.16 Layar Peringatan ....................................................................................... 58Gambar 4.17 Proses Dekripsi.......................................................................................... 59Gambar 4.18 Proses Dekripsi selesai.............................................................................. 60Gambar 4.19 Layar Informasi ......................................................................................... 60Gambar 4.20 Layar Konfirmasi ...................................................................................... 61Gambar 4.21 Dialog Save ............................................................................................... 62Gambar 4.22 Grafik Perbandingan Waktu Enkripsi dan Dekripsi pada file

  “ViewProfile.htm” ..................................................................................... 69

Gambar 4.23 Grafik Perbandingan Waktu Enkripsi dan Dekripsi pada file “other.jpg” 69Gambar 4.24 Grafik Perbandingan Waktu Enkripsi dan Dekripsi pada file “teks-

  1mb.txt”...................................................................................................... 70

Gambar 4.25 Grafik Perbandingan Waktu Enkripsi dan Dekripsi pada file “other-

  1mb.mp3”................................................................................................... 70