Perancangan Add On Keamanan Email Mozilla Thunderbird dengan Algoritma Kriptografixor dan Three Pass Protocol Serta Kompresi Lempelziv Welch
PERANCANGAN ADD ON KEAMANAN EMAIL MOZILLA
THUNDERBIRD DENGAN ALGORITMA KRIPTOGRAFI
XOR DAN THREE PASS PROTOCOL SERTA
KOMPRESI LEMPEL ZIV WELCH
SKRIPSI
BRIKSON HARA DONALD BARUS
081401037
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2012 PERANCANGAN ADD ON KEAMANAN EMAIL MOZILLA THUNDERBIRD DENGAN ALGORITMA KRIPTOGRAFI XOR DAN THREE PASS PROTOCOL SERTA KOMPRESI LEMPEL ZIV WELCH SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana
Komputer BRIKSON HARA DONALD BARUS
081401037 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2012
PERSETUJUAN
Judul : PERANCANGAN ADD ON KEAMANAN EMAIL MOZILLATHUNDERBIRD DENGAN ALGORITMA KRIPTOGRAFI XOR DAN THREE PASS PROTOCOL SERTA KOMPRESI LEMPEL ZIV WELCH
Kategori : SKRIPSI Nama : BRIKSON HARA DONALD BARUS Nomor Induk Mahasiswa : 081401037 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen :
ILMU KOMPUTER Fakultas :
ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA Diluluskan di
Medan, 24 Juli 2012 Komisi Pembimbing Pembimbing 2 Pembimbing 1 Ade Candra, ST, M.Kom. M. Andri B, ST, M.CompSc, MEM.
NIP.197909042009121002 NIP.197510082008011001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom.
NIP.196203171991031011
PERNYATAAN
PERANCANGAN ADD ON KEAMANAN EMAIL MOZILLATHUNDERBIRD DENGAN ALGORITMA KRIPTOGRAFI XOR DAN THREE PASS PROTOCOL SERTA KOMPRESI LEMPEL ZIV WELCH SKRIPSI Penulis mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa ringkasan dan kutipan yang masing-masing disebutkan sumbernya.
Medan, 24 Juli 2012 BRIKSON HARA DONALD BARUS 081401037
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa karena kasih dan karunia-Nya sehingga skripsi ini berhasil diselesaikan dengan baik.
Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan terima kasih kepada: 1.
Bapak Dr. Poltak Sihombing sebagai Ketua Program Studi S1 Ilmu KomputerFakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
2. Ibu Maya Silvi Lydia, BSc. MSc sebagai Sekretaris Program Studi S1 Ilmu KomputerFakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
4. Bapak M. Andri Budiman, ST, MCompSc, MEM dan Bapak Ade Candra, ST, M.Kom selaku pembimbing yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.
5. Bapak Dr. Poltak Sihombing, M.Kom dan Bapak Amer Sharif, S.Si., M.Kom. sebagai dosen penguji yang telah memberikan saran dan kritikan yang sangat berguna bagi Penulis.
6. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU.
7. Ayahanda tercinta M. Barus dan Ibunda tercinta L. Manalu, abang saya Dodi Barus ST, Artno Dedy Daniel Barus, adik saya Alex Fernando, Krisna Deviyanti Barus, Monalisa Barus dan Arnel Rafael Barus yang selalu memberikan doa, motivasi dan dukungannya baik materi maupun spiritual serta semangat yang diberikan selama kuliah dan menyelesaikan skripsi ini.
8. Dan juga kepada teman-teman seperjuangan angkatan 2008 program studi S1 Ilmu Komputer USU, terkhusus kepada: Elieser Hutapea, Hermanda Simamora, Octavianus Sianturi, Harry Davidson, Johannes Hutabarat, Rosalina V Situmorang, Juwita Adelina Pasaribu, Novalia, Vicky Fernandes Isman, Heny Mulyana, Sadifa Asrofa, Ria Marpaung dan Angga Malau.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Oleh karena itu penulis menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.
Penulis, Brikson Hara Donald Barus
ABSTRAK
Pertukaran kunci pada implementasi kriptografi kunci simetri dapat menimbulkan resiko pencurian kunci oleh pihak yang tidak bertanggung jawab. Skripsi ini mengkaji pemanfaatan Three Pass Protocol sebagai alternatif untuk menghindari pertukaran kunci pada implementasi kriptografi kunci simetri XOR. Implementasi juga melibatkan pembangkitan kunci dengan Linear Congruential Generator, base64 dan kompresi dataLempel Ziv Welch. Pengujian dilakukan
encoding
berkasfilecantebury corpus dan calgarycorpus. Hasil pengujian menunjukkan bahwa sifat commutativeencryption pada kriptografi XOR dapat digunakan untuk menerapkan Three Pass Protocol meskipun implementasi dengan XOR sangat rentan terhadap serangan ciphertext only attack.Algoritma kompresi LZW menghasilkan rasio kompresi terkecil sebesar 47,212% dimana panjang dictionary-nya 13 bit. Rata- rata rasio kompresi yang diperoleh adalah 54,805 %. Untuk keseluruhan proses lamanya eksekusi berbanding lurus dengan ukuran input. Implementasi dilakukan pada Mozilla Thunderbird 11.0 dengan bahasa pemrograman javascript, XUL dan CSS.
Kata Kunci: XOR, LCG, Three Pass Protocol, Kompresi LZW, base64 Encoding.
DESIGN OF EMAIL SECURITY ADD ON FOR MOZILLA THUNDERBIRD
USING XOR CRYPTOGRAPHIC ALGORITHM WITH THREE PASS
PROTOCOL AND LEMPEL ZIV WELCH DATA COMPRESSION
ABSTRACT
Key exchange on symmetry cryptographic implementation could raise the risk of key stealing by unauthorized persons. This paper considers Three Pass Protocol as an alternative to avoid key exchange on XOR symmetry cryptographic implementation. The implementation also involves Linear Congruential Generator algorithm, base64 encoding and Lempel Ziv Welch data compression. System is tested using cantebury corpus and calgary corpus files. The testing shows that commutative encryption on
XOR cryptographic can be used on Three Pass Protocol implementation, however the implementation with XOR is highly risk dealing with ciphertext only attack. The smallest compression ratio of LZW compression is 47.212% with 13 bits of dictionary length. The average value of compression ratio is 54.805 %. System is implemented on Mozilla Thunderbird 11.0 using javascript, XUL and CSS programming language.
Keywords: XOR, LCG, Three Pass Protocol, LZW Compression, base64
Encoding.Halaman Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Daftar Lampiran xi
Bab 1 Pendahuluan
1
1.1 Latar Belakang Masalah
1
1.2Rumusan Masalah
3
1.3Batasan Masalah
4
1.4Tujuan Penelitian
4
1.5Manfaat Penelitian
5
1.6Metode Penelitian
5
1.7Sistematika Penulisan
6 Bab 2 Tinjauan Pustaka
8
2.1 Kriptografi
8
2.1.1 Kriptografi Kunci Simetris dan Kunci Asimetris
9
2.1.2 Algoritma Kriptografi XOR
11
2.2 Pembangkit Bilangan Acak Semu Linear Congruential
12 Generator (LCG)
2.3 Three Pass Protocol
13
2.4 Kompresi Data
14
2.4.1 Kompresi dan Dekompresi Data
15
2.4.2 Kompresi Lossless dan Lossy
16
2.4.3 Algoritma Kompresi Lempel Ziv Welch (LZW)
17
2.5 Base64 Encoding
20
2.6 Mozilla Thunderbird dan Add On pada Mozilla Thunderbird
22
2.7 Unified Modelling Language
23
2.7.1 Use Case Diagram
24
2.7.2 Activity Diagram
25
2.7.3 Class Diagram
26
2.7.4 Sequence Diagram
27
2.8 Kompleksitas Algoritma
29
2.8.1 Notasi Big-O
30 Bab 3 Analisis dan Perancangan
32
3.1 Analisis Sistem
32
3.1.1 Analisis Masalah
32
3.1.1 Analisis Persyaratan (Requirement Analysis)
34
3.1.1.1 Analisis Persyaratan Fungsional
34
3.1.1.2 Analisis Persyaratan Non-Fungsional
34
3.1.2 Pemodelan Persyaratan Sistem dengan Use Case
35
3.1.3 Analisis Proses Sistem
50
3.2 Perancangan Sistem
56
3.2.1 Class Diagram
57
3.2.2 Perancangan Antarmuka
60
3.2.3 Perancangan Struktur Direktori Add On
61 Bab 4 Implementasi dan Pengujian
63
4.1 Implementasi Sistem
63
4.1.1 Spesifikasi Kebutuhan Perangkat Keras
63
4.1.2 Spesifikasi Kebutuhan Perangkat Lunak
64
4.1.3 Tampilan Sistem
64
4.1.3.1 Antarmuka pada Add-Ons Manager
64
4.1.3.2 Antarmuka Jedela Write Setelah Pemasangan
65 Add On Kemanan Email
4.1.3.3 Antarmuka Proses Enkripsi dan Dekripsi Pesan
65 Sesuaidengan Three Pass Protocol
4.2 Pengujian Sistem
68
4.2.1 Perangkat Pengujian
68
4.2.2 Tujuan Pengujian
68
4.2.3 Skenario Pengujian
69
4.2.4 Data Hasil Pengujian
70
4.2.5 Analisis Kelemahan Three Pass Protocol
74 Bab 5 Kesimpulan dan Saran
75
5.1 Kesimpulan
75
5.2 Saran
76 Daftar Pustaka
77
DAFTAR TABEL
Nomor Tabel Nama Tabel45
Pseudocode dan Kompleksitas Algoritma Kompresi LZW Pseudocode dan Kompleksitas Algoritma LCG Pseudocode dan Kompleksitas Algoritma Enkripsi XOR Pseudocode dan Kompleksitas Algoritma Encode Base64 Pseudocode dan Kompleksitas Algoritma Decode Base64 Pseudocode dan Kompleksitas Algoritma Dekripsi XOR
Pseudocode dan Kompleksitas Algoritma Dekompresi LZW
Kelas dan Atributnya Komponen pada Toolbar Spesifikasi Kebutuhan Perangkat Keras untuk Implementasi Spesifikasi Perangkat Keras yang Digunakan pada Saat Pengujian Data Uji Coba (Berkas Canterbury dan Calgary Corpus) Data Rasio Kompresi serta Waktu Kompresi dan Dekompresi Data Waktu Eksekusi Enkripsi dan Dekripsi pada Setiap Tahap Data Waktu Eksekusi Encode base64 dan Decode Base64 pada Setiap Tahap
11
12
18
18
19
20
21
37
39
41
42
44
47
Proses Dekompresi LZW untuk Menemukan String “BUKAN BUKA” Himpunan Karakter yang Digunakan pada Base64 Encoding Dokumentasi Naratif use case Kontrol Proses Three Pass Protocol.
57
72
70
69
68
63
60
56
49
55
53
52
52
52
51
Dokumentasi Naratif use caseEncode Base64 Dokumentasi Naratif use case Enkripsi. Dokumentasi Naratif use caseKey Generate. Dokumentasi Naratif use case Dekripsi Dokumentasi Naratif use case Kompresi Dokumentasi Naratif use case Dekompresi Dokumentasi Naratif use caseDecode Base64.
Pseudocode Algoritma Dekompresi LZW
Halaman
3.8
2.1
2.2
2.3
2.4
2.5
2.6
2.7
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.9
Proses Kompresi LZW untuk String “BUKAN BUKA”
4.1
Pseudocode Algoritma Kompresi LZW
4.6 Operasi Bit XOR Sifat Commutative Encryption Pada XOR
4.4
4.4
4.3
4.2
3.17
3.10
3.16
3.15
3.14
3.13
3.12
3.11
73
DAFTAR GAMBAR Nomor Gambar Nama Gambar Halaman
26
38
36
33
31
28
27
25
41
23
22
21
16
16
14
40
43
Icon pada Toolbar Mozilla Thunderbird
60
67
66
66
65
64
61
59
44
55
54
53
50
49
48
46
Enkripsi Pesan oleh Pengirim Enkripsi Pesan oleh Penerima Hasil Dekripsi Pesan oleh Pengirim Hasil Dekripsi Pesan oleh Penerima
LetakIcon pada Toolbar Mozilla Thunderbird Struktur Direktori untuk AddOn yang Dikembangkan Pemasangan Add On dengan Menggunakan Add-Ons Manager
2.1
2.9
3.4
3.3
3.2
3.1
2.11
2.10
2.8
3.6
2.7
2.6
2.5
2.4
2.3
2.2
3.5
3.7
Activity Diagram Kontrol Proses Three Pass Protocol Activity DiagramEncodeBase64 Activity Diagram Enkripsi Activity DiagramKey Generate Activity Diagram Dekripsi Activity Diagram Kompresi Activity Diagram Dekompresi Activity Diagram DecodeBase64 Sequential Diagram Tahap Pertama Three Pass Protocol Sequential Diagram Tahap Kedua Three Pass Protocol Sequential Diagram Tahap Ketiga Three Pass Protocol Sequential Diagram Tahap Terakhir Three Pass Protocol Class Diagram untuk Sistem yang Dikembangkan
3.17
4.6 Three Pass Protocol Kompresi Data Lossless Kompresi DataLossy Proses Base64 Encoding Proses Base64 Decoding Program Email Client Mozilla Thunderbird Contoh Sebuah Use Case Diagram Contoh Sebuah Activity Diagram Contoh Sebuah Class Diagram Contoh Sebuah Sequence Diagram Grafik Perbandingan Pertumbuhan Kompleksitas Diagram Ishikawa untuk Analisis Permasalahan Sistem Use CaseDiagram Sistem yang Akan Dikembangkan
4.5
4.4
4.3
4.2
4.1
3.16
3.8
3.15
3.14
3.13
3.12
3.11
3.10
3.9
67