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 Tabel

  45

  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