pembangunan add-on pada mozila
DESCRIPTION
komputerTRANSCRIPT
PEMBANGUNAN ADD-ON PADA MOZILLA
THUNDERBIRD UNTUK ENKRIPSI SURAT ELEKTRONIK DENGAN CORRECTED BLOCK TINY
ENCRYPTION ALGORITHM
LAPORAN TUGAS AKHIR
oleh :
Ricky Gilbert Fernando / 13505077
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA
INSTITUT TEKNOLOGI BANDUNG
2009
i
LEMBAR PENGESAHAN
Program Studi Sarjana Teknik Informatika
Pembangunan Add-on pada Mozilla Thunderbird untuk Enkripsi Surat
Elektronik dengan Corrected Block Tiny Encryption Algorithm
Tugas Akhir
Program Studi Sarjana Teknik Informatika ITB
Oleh:
Ricky Gilbert Fernando / 13505077
Telah disetujui dan disahkan sebagai laporan tugas akhir
di Bandung, pada 25 Agustus 2009
Pembimbing
Ir. Rinaldi Munir, M.T.
NIP. 132084796
ii
ABSTRAK
Saat ini, komunikasi digital semakin dibutuhkan. Komunikasi tersebut dapat berupa
email, instant messaging, forum, website, audio, atau video. Fokus tugas akhir ini
adalah pengamanan email dengan menggunakan algoritma enkripsi. Dengan
berbasiskan corrected block tiny encryption algorithm yang merupakan algoritma
kriptografi kunci simetris, pengguna, baik pengirim maupun penerima, harus memiliki
kunci enkripsi yang sama. Tentu saja, orang lebih tertarik untuk memilih kunci yang
mudah diingat, tetapi mudah ditebak dibandingkan kunci yang panjang dan sulit
diingat. Tugas akhir ini menyediakan sebuah mekanisme untuk membangkitkan kata
kunci yang relatif kuat dengan menggunakan masukan dari pengguna.
Tugas akhir ini berisi gambaran singkat mengenai ide awal dan dasar teori pengerjaan
tugas akhir, laporan pembangunan perangkat lunak, dan pengujian perangkat lunak.
Perangkat lunak ini, atau lebih tepat disebut sebagai add-on Mozilla Thunderbird,
mampu menangani proses enkripsi dan dekripsi surat elektronik, penghitungan
kekuatan kata kunci masukan pengguna, dan pembangkitan kata kunci. Fitur-fitur
tersebut dapat membantu pengguna untuk membangkitkan kata kunci hingga
mengirimkan surat elektronik yang aman ke penerima. Dalam proses
implementasinya, lingkungan implementasi yang digunakan adalah Windows XP SP3,
Mozilla Thunderbird 2.0.0.21 dengan add-on DOM Inspector, dan Notepad++. Add-
on dibangun dengan XUL (XML User Interface Language) sebagai pembentuk
tampilan dan Javascript sebagai bahasa pemrograman. Setelah dilakukan pengujian,
semua kebutuhan perangkat lunak berjalan dengan baik, surat elektronik dikirim
dalam bentuk terenkripsi, kata kunci bangkitan tergolong relatif kuat, dan enkripsi dan
dekripsi berjalan dengan cepat.
Kata kunci: Corrected block tiny encryption algorithm, email, Mozilla Thunderbird,
add-on.
iii
KATA PENGANTAR
Penulis panjatkan puji syukur kepada Tuhan Yesus Kristus atas semua berkat dan
perlindungan-Nya sehingga penulis dapat menyelesaikan tugas akhir ini.
Laporan dengan judul “Pembangunan Add-on pada Mozilla Thunderbird untuk
Enkripsi Surat Elektronik dengan Corrected Block Tiny Encryption Algorithm”
disusun sebagai syarat kelulusan tingkat sarjana.
Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada semua pihak
yang telah membantu penulis selama pelaksanaan tugas akhir ini. Ucapan terima kasih
disampaikan kepada:
1. Ir. Rinaldi Munir, M.T. selaku dosen pembimbing yang telah membantu dan
membimbing, dan memberikan nasehat selama pengerjaan tugas akhir ini.
2. Dra. Harlili, M.Sc. selaku dosen penguji presentasi proposal, seminar,
prasidang, dan sidang atas kritik dan saran yang telah diberikan.
3. Achmad Imam Kistijantoro, S.T., M.T., Ph.D. selaku dosen penguji siding atas
kritik dan saran yang telah diberikan.
4. Keluarga penulis, Papa, Mama, Kak Nancy, Kak Roose, Samantha, dan
Raymond yang selalu mendukung dan mendorong penulis untuk semangat
mengerjakan tugas akhir ini.
5. Yani Widyani, S.T., M.T. selaku dosen wali yang selalu memberi semangat
untuk cepat membereskan tugas akhir.
6. Ir. Windy Gambetta, Ph.D. selaku dosen mata kuliah Tugas Akhir.
7. Ibnul Qoyyim S.T., IF04, yang telah memberikan bantuan teknis, jawaban atas
pertanyaan penulis, dan saran-sarannya selama pengerjaan tugas akhir.
8. Nanto S.T., Ferry S.T., dan Anggi yang selalu bisa membantu ketika penulis
kesulitan.
9. Gilang S.T. dan Herdyanto yang selalu menjadi teman diskusi tugas akhir.
10. Vandy atas bantuannya ketika penulis kesulitan mendapatkan akses internet.
iv
11. Teman-teman yang telah mengikuti presentasi proposal dan seminar tugas
akhir penulis.
12. Teman-teman IF05 atas 4 tahun yang menyenangkan di ITB.
13. Donny S.T. TI05 yang telah meminjamkan modem HSDPA-nya kepada
penulis dan memberikan semangat kepada penulis untuk terus mengerjakan
tugas akhir.
14. Teman-teman kos atas kebersamaannya selama di sana.
15. Seluruh staf Program Studi Teknik Informatika yang telah mendukung
kelancaran pengerjaan tugas akhir.
16. Pihak-pihak lainnya yang telah membantu pengerjaan tugas akhir ini yang
tidak dapat disebutkan satu per satu.
Penulis menyadari bahwa tugas akhir ini tidak luput dari kesalahan. Oleh karena itu,
penulis bersedia menerima kritik dan saran dari pembaca. Terima kasih.
Bandung, Agustus 2009
Penulis
v
DAFTAR ISI
LEMBAR PENGESAHAN ............................................................................................ i
ABSTRAK ..................................................................................................................... ii
KATA PENGANTAR ................................................................................................. iii
DAFTAR ISI .................................................................................................................. v
DAFTAR GAMBAR ................................................................................................. viii
DAFTAR TABEL ......................................................................................................... ix
BAB I. PENDAHULUAN .................................................................................... I-1
I.1 Latar Belakang ............................................................................................. I-1
I.2 Rumusan Masalah ........................................................................................ I-3
I.3 Tujuan ........................................................................................................... I-3
I.4 Batasan Masalah ........................................................................................... I-4
I.5 Metodologi ................................................................................................... I-4
BAB II. STUDI LITERATUR .............................................................................. II-1
II.1 Kriptografi ................................................................................................... II-1
II.2 Block Cipher ................................................................................................ II-4
II.3 Jaringan Feistel ............................................................................................ II-5
II.4 Fungsi Hash SHA........................................................................................ II-6
II.5 Corrected Block Tiny Encryption Algorithm .............................................. II-7
II.5.1 Definisi ................................................................................................. II-7
II.5.2 Algoritma Penyandian ......................................................................... II-9
II.5.3 Detail Sandi ........................................................................................ II-10
II.6 Kata Kunci ................................................................................................. II-11
II.6.1 Definisi ............................................................................................... II-11
II.6.2 Pengukuran Kekuatan Kata Kunci ..................................................... II-12
II.7 Surat Elektronik......................................................................................... II-12
II.8 MIME ........................................................................................................ II-14
II.9 Mekanisme Add-on pada Mozilla Thunderbird ........................................ II-15
BAB III. ANALISIS MASALAH ........................................................................ III-1
III.1 Analisis Permasalahan ........................................................................... III-1
vi
III.2 Penanganan Masalah ............................................................................. III-2
III.2.1 Penanganan Masalah Kekuatan Kata Kunci ...................................... III-2
III.2.2 Penanganan Masalah Implementasi XXTEA .................................... III-4
III.2.3 Penanganan Masalah Encoding Ciphertext ....................................... III-5
III.2.4 Penanganan Masalah Kenyamanan Add-on ....................................... III-6
BAB IV. ANALISIS DAN PERANCANGAN .................................................... IV-1
IV.1 Deskripsi Umum Perangkat Lunak ........................................................ IV-1
IV.2 Fitur Utama Perangkat Lunak................................................................ IV-2
IV.2.1 Kebutuhan Fungsional ....................................................................... IV-3
IV.2.2 Kebutuhan Non-fungsional ................................................................ IV-3
IV.3 Model Use Case..................................................................................... IV-3
IV.3.1 Diagram Use Case ............................................................................. IV-3
IV.3.2 Definisi Aktor .................................................................................... IV-4
IV.3.3 Definisi Use Case .............................................................................. IV-4
IV.3.4 Skenario Use Case ............................................................................. IV-5
IV.4 Analisis Perangkat Lunak ...................................................................... IV-6
IV.4.1 Realisasi Use Case Tahap Analisis .................................................... IV-7
IV.4.2 Diagram Kelas Analisis Keseluruhan ................................................ IV-9
IV.5 Perancangan Perangkat Lunak............................................................. IV-11
IV.5.1 Realisasi Use Case Tahap Perancangan ........................................... IV-11
IV.5.2 Diagram Kelas Keseluruhan ............................................................ IV-13
IV.5.3 Perancangan Antarmuka .................................................................. IV-14
IV.5.4 Perancangan Modul ......................................................................... IV-17
BAB V. IMPLEMENTASI DAN PENGUJIAN ................................................... V-1
V.1 Lingkungan Implementasi ........................................................................... V-1
V.1.1 Lingkungan Perangkat Keras ............................................................... V-1
V.1.2 Lingkungan Perangkat Lunak .............................................................. V-1
V.2 Batasan Implementasi ................................................................................. V-2
V.3 Hasil Implementasi ...................................................................................... V-2
V.3.1 Hasil Implementasi Modul Program .................................................... V-2
V.3.2 Hasil Implementasi Antarmuka Program............................................. V-3
V.4 Lingkungan Pengujian ................................................................................. V-3
vii
V.4.1 Lingkungan Pengujian Perangkat Keras .............................................. V-3
V.4.2 Lingkungan Pengujian Perangkat Lunak ............................................. V-3
V.5 Tujuan Pengujian ......................................................................................... V-4
V.6 Perancangan Kasus Uji ................................................................................ V-4
V.7 Skenario Pengujian ...................................................................................... V-4
V.7.1 Skenario Pengecekan Kata Kunci ........................................................ V-4
V.7.2 Skenario Pembangkitan Kata Kunci .................................................... V-5
V.7.3 Skenario Pengiriman Surat Elektronik dengan Enkripsi ..................... V-5
V.7.4 Skenario Penerimaan dan Dekripsi Surat Elektronik........................... V-5
V.8 Pelaksanaan Pengujian ................................................................................ V-6
V.8.1 Pengujian Skenario Pengecekan Kata Kunci ....................................... V-6
V.8.2 Pengujian Skenario Pembangkitan Kata Kunci ................................... V-6
V.8.3 Pengujian Skenario Pengiriman Surat Elektronik................................ V-6
V.8.4 Pengujian Skenario Penerimaan dan Dekripsi Surat Elektronik .......... V-7
V.8.5 Pengujian Skenario Dekripsi Surat dengan Kunci yang Salah ............ V-7
V.8.6 Pengujian Skenario Dekripsi Surat Elektronik yang Invalid ............... V-7
V.8.7 Pengujian Skenario Dekripsi Ciphertext yang Berubah ...................... V-7
V.8.8 Pengujian Ketepatan Isi Surat yang Terkirim ...................................... V-8
V.8.9 Pengujian Kekuatan Kata Kunci Bangkitan Program .......................... V-8
V.8.10 Pengujian Kecepatan Enkripsi XXTEA ........................................... V-8
V.9 Evaluasi Hasil Pengujian ............................................................................. V-8
BAB VI. PENUTUP ............................................................................................. VI-1
VI.1 Kesimpulan ............................................................................................ VI-1
VI.2 Saran ...................................................................................................... VI-1
DAFTAR PUSTAKA .................................................................................................... x
LAMPIRAN A. DOKUMEN PENGUJIAN .............................................................. xii
viii
DAFTAR GAMBAR
Gambar I-1 Skema Solusi ........................................................................................... I-3
Gambar II-1 Ilustrasi Saluran Komunikasi ................................................................ II-3
Gambar II-2 Skema Enkripsi dan Dekripsi Block Cipher [ MUN06] ....................... II-4
Gambar II-3 Skema Penyandian dari Feistel Cipher ................................................. II-5
Gambar II-4 Satu Iterasi dalam XXTEA ................................................................... II-9
Gambar II-5 Proses Pengiriman Surat Elektronik ................................................... II-13
Gambar III-1 Skema Pemilihan Kata Kunci ............................................................ III-4
Gambar IV-1 Skema Umum Perangkat Lunak ........................................................ IV-2
Gambar IV-2 Diagram Use Case ............................................................................. IV-4
Gambar IV-3 Class Diagram Analisis Mengenkripsi Surat Elektronik .................. IV-7
Gambar IV-4 Sequence Diagram Analisis Mengenkripsi Surat Elektronik ............ IV-8
Gambar IV-5 Class Diagram Analisis Mendekripsi Surat Elektronik .................... IV-8
Gambar IV-6 Sequence Diagram Analisis Mendekripsi Surat Elektronik .............. IV-9
Gambar IV-7 Diagram Kelas Analisis Keseluruhan .............................................. IV-10
Gambar IV-8 Diagram Kelas Perancangan Mengenkripsi Surat Elektronik ......... IV-11
Gambar IV-9 Sequence Diagram Perancangan Mengenkripsi Surat Elektronik ... IV-12
Gambar IV-10 Diagram Kelas Perancangan Mendekripsi Surat Elektronik ......... IV-12
Gambar IV-11 Sequence Diagram Perancangan Mendekripsi Surat Elektronik ... IV-13
Gambar IV-12 Diagram Kelas Perancangan Keseluruhan .................................... IV-14
Gambar IV-13 Screenshot Main Window Mozilla Thunderbird ............................ IV-15
Gambar IV-14 Screenshot Compose Window Mozilla Thunderbird ..................... IV-15
Gambar IV-15 Sketsa Main Window Mozilla Thunderbird ................................... IV-16
Gambar IV-16 Sketsa Compose Window Mozilla Thunderbird ............................ IV-16
ix
DAFTAR TABEL
Tabel II-1 Detail Sandi ............................................................................................. II-11
Tabel IV-1 Definisi Use Case .................................................................................. IV-5
Tabel IV-2 Skenario Use Case Mengenkripsi Surat Elektronik .............................. IV-5
Tabel IV-3 Skenario Use Case Mendekripsi Surat Elektronik ................................ IV-6
Tabel V-1 Daftar Modul Program.............................................................................. V-2
Tabel V-2 Daftar Antarmuka Program ...................................................................... V-3