Implementasi Algoritma Kunci Publikntruencrypt Pada Add-In Microsoft Outlook

IMPLEMENTASI ALGORITMA KUNCI PUBLIK NTRUENCRYPT PADA
ADD-IN
MICROSOFT OUTLOOK

SKRIPSI

ARION IMMANUEL SITORUS
081401022

PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013

Universitas Sumatera Utara

IMPLEMENTASI ALGORITMA KUNCI PUBLIK NTRUENCRYPT PADA ADD-IN
MICROSOFT OUTLOOK

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana
Komputer

ARION IMMANUEL SITORUS
081401022

PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013

Universitas Sumatera Utara

ii

PERSETUJUAN

Judul


:

Kategori
Nama
Nomor Induk Mahasiswa
Program Studi
Departemen
Fakultas

:
:
:
:
:
:

IMPLEMENTASI ALGORITMA KUNCI PUBLIK
NTRUENCRYPT PADA ADD-IN MICROSOFT
OUTLOOK

SKRIPSI
ARION IMMANUEL SITORUS
081401022
SARJANA (S1) ILMU KOMPUTER
ILMU KOMPUTER
ILMU
KOMPUTER
DAN
TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS
SUMATERA UTARA

Diluluskan di
Medan, Oktober 2013

Komisi Pembimbing

:

Pembimbing 2


Pembimbing 1

Handrizal, S.Si., M.Comp.Sc.

M. Andri B, ST, M.CompSc, MEM.
NIP. 197510082008011011

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom.
NIP. 196203171991031001

Universitas Sumatera Utara

iii

PERNYATAAN


IMPLEMENTASI ALGORITMA KUNCI PUBLIK NTRUENCRYPT
PADA ADD-IN MICROSOFT OUTLOOK

SKRIPSI

Penulis mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa
ringkasan dan kutipan yang masing-masing disebutkan sumbernya.

Medan,

Oktober 2013

ARION IMMANUEL SITORUS
081401022

Universitas Sumatera Utara

iv


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, M.Kom sebagai Ketua Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara.
2. Ibu Maya Silvi Lydia, BSc. MSc sebagai Sekretaris Program Studi S1 Ilmu
Komputer Fakultas 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 Handrizal, Ssi,
M.Comp.Sc selaku pembimbing yang telah membimbing penulis sehingga
penulis dapat menyelesaikan skripsi ini.
5. Bapak Dr. Poltak Sihombing, M.Kom dan Bapak Partano Siagian, M.Sc.
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 E.N.Sitorus dan Ibunda tercinta S. br. Siahaan, adik saya
Polma Ebenezer Tambunan, Olivia Erviani Sitorus, dan Dea Sitorus yang
selalu memberikan doa, motivasi dan dukungannya baik materi maupun
spiritual serta semangat yang diberikan selama kuliah hingga menyelesaikan
skripsi ini.
8. Teman-teman seperjuangan angkatan 2008 program studi S1 Ilmu Komputer
USU, terkhusus kepada: Novita Sari Napitupulu, Andronikus Simarmata,
Dedy Permana Sebayang, dan Yusuf Dzaki Saraan yang telah berbagi
kebersamaan selama berada di S1 Ilmu Komputer.
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.
Medan, 2013
Penulis

Universitas Sumatera Utara


v

ABSTRAK

Pertukaran informasi melalui media email kurang terjamin keamanannya. Data yang
tidak aman dapat dimodifikasi, dipalsukan, disalahgunakan atau bahkan dihancurkan.
Oleh karena itu dibutuhkan suatu mekanisme yang dapat digunakan untuk
mengamankan data email. Kriptografi merupakan salah satu metode pengamanan data
yang digunakan untuk menjaga kerahasiaan data. Dalam kriptografi terdapat banyak
algoritma untuk mengamankan data, salah satunya adalah algoritma NTRUEncrypt.
Skripsi ini mengkaji penggunaan algoritma NTRUEncrypt dalam mengamankan data
teks pada email. Implementasi melibatkan penggunaan algoritma base64 encoding
yang digunakan untuk menerjemahkan hasil enkripsi ke dalam karakter printable.
Pengujian dilakukan terhadap teks standar lorem ipsum yang disesuaikan dengan
panjang maksimum pesan yang dapat dienkripsi. Hasil pengujian menunjukkan bahwa
proses pembangkitan kunci pada algoritma NTRUEncrypt memakan waktu paling
lama dibandingkan dengan proses enkripsi dan dekripsi. Secara keseluruhan, waktu
eksekusi untuk semua proses berbanding lurus dengan ukuran input. Kinerja dari
program ini sangat baik karena waktu yang dibutuhkan untuk proses enkripsi dan

dekripsi kecil. Implementasi dilakukan pada aplikasi email client Microsoft Outlook
2010 dengan bahasa pemrograman Microsoft Visual C# 2010.
Kata Kunci: Kriptografi, NTRUEncrypt, base64 Encoding

Universitas Sumatera Utara

vi

IMPLEMENTATION OF PUBLIC KEY ALGORITHM NTRUENCRYPT
IN MICROSOFT OULOOK ADD-IN

ABSTRACT

Information exchange via email is not guaranteed safe. Unsecure data can be
modified, falsified, misused or even destroyed. Therefore we need a better way to
secure the data. Cryptography is one of the securing methods that can be used to
maintain the confidentiality of the data. There are many algorithms in cryptography to
secure the data, one of them is NTRUEncrypt Algorithm. This paper examines the use
of NTRUEncrypt algorithm to secure text data on email service system. The
implementation also involves base64 encoding algorithm that is used to translate the

result of the encryption to printable characters. System is tested by using standard text
lorem ipsum that its length will be adjust to the maximum length of message that can
be encrypted. The test results show that the key generation process takes the longest
time compared to other processes. Overall, the execution time for all processes is
proportional to the input size. Performance of the program is very good because the
time required for encryption and decryption is small. System is implemented on email
client application Microsoft Outlook 2010 by using Microsoft Visual C # 2010.
Keyword : Cryptography, NTRUEncrypt, Base64 Encoding

Universitas Sumatera Utara

vii

DAFTAR ISI

Halaman
Persetujuan
Pernyataan
Penghargaan
Abstrak

Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran

ii
iii
iv
v
vi
vii
ix
x
xi

Bab 1

Pendahuluan
1.1 Latar Belakang
1.2 Rumusan Masalah
1.3 Batasan Masalah
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metode Penelitian
1.7 Sistematika Penulisan

1
1
3
4
4
5
5
6

Bab 2

Tinjauan Pustaka
2.1. Kriptografi
2.1.1 Kriptografi Simetri
2.1.2 Kriptografi Asimetri
2.2 Landasan Matematika Kriptografi
2.2.1 Bilangan Prima
2.2.2 Aritmetika Modulo
2.3 Algoritma Extended Euclid
2.4 Polynomial Ring
2.4.1 Penjumlahan dan Pengurangan Polinomial
pada (ℤ/pℤ)[X]/(XN-1)
2.4.2 Perkalian Polinomial pada (ℤ/pℤ)[X]/(XN-1)
2.4.2 Pembagian Polinomial pada (ℤ/pℤ)[X]/(XN-1)
2.4.2 Invers Polinomial pada (ℤ/pℤ)[X]/(XN-1)
2.5 Algoritma NTRUEncrypt
2.5.1 Parameter dalam NTRUEncrypt
2.5.2 Keys Generation
2.5.3 Proses Enkripsi
2.5.4 Proses Dekripsi
2.6 Base64 Encoding
2.7 Microsoft Outlook
2.8 Unified Modelling Language

7
7
10
11
12
12
13
14
17
18
19
20
21
22
23
24
26
27
28
30
31

Universitas Sumatera Utara

viii

2.8.1 Use Case Diagram
2.8.2 Activity Diagram
2.8.3 Sequence Diagram
2.8.4 Class Diagram
2.9 Kompleksitas Algoritma
2.9.1 Notasi Big-O

32
33
33
34
35
36

Bab 3

Analisis dan Perancangan
3.1 Analisis Sistem
3.1.1 Analisis Masalah
3.1.2 Analisis Persyaratan (Requirement Analysis)
3.1.2.1 Analisis Persyaratan Fungsional
3.1.2.2 Analisis Persyaratan Non-Fungsional
3.1.2.3 Pemodelan Persyaratan Sistem dengan Use Case
3.1.3 Analisis Proses Sistem
3.2 Perancangan Sistem
3.2.1 Class Diagram
3.2.2 Perancangan Antarmuka

38
38
38
39
39
40
40
57
62
62
66

Bab 4

Implementasi dan Pengujian
4.1 Implementasi Sistem
4.1.1 Spesifikasi Kebutuhan Perangkat Keras
4.1.2 Spesifikasi Kebutuhan Perangkat Lunak
4.1.3 Tampilan Sistem
4.1.3.1 Antarmuka Proses Pembangkitan Kunci
4.1.3.2 Antarmuka Proses Enkripsi
4.1.3.3 Antarmuka Proses Dekripsi
4.1.3.2 Antarmuka Proses Enkripsi dan Dekripsi File Teks
4.1.3.2 Antarmuka Pusat Bantuan
4.2 Pengujian Sistem
4.2.1 Perangkat Pengujian Sistem
4.2.2 Tujuan Pengujian
4.2.3 Skenario Pengujian
4.2.4 Data Hasil Pengujian
4.2.5 Analisis Keberhasilan Proses Dekripsi

73
73
73
74
74
76
77
77
78
77
81
81
82
82
83
85

Bab 5

Kesimpulan dan Saran
5.1. Kesimpulan
5.2. Saran

87
87
88

Daftar Pustaka

89

Universitas Sumatera Utara

ix

DAFTAR TABEL

Nomor
Tabel
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.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
4.1
4.2
4.3
4.4
4.5

Nama TABEL
Pseudocode Algoritma Euclid
Pseudocode Algoritma Extended Euclid
Pseudocode Algoritma Low Hamming Weight Polynomial
Pseudocode Algoritma Euclid Division
Pseudocode Algoritma Extended Euclid pada (ℤ/pℤ)[X]/(XN-1)
Standar Parameter pada Algoritma NTRUEncrypt
Himpunan Karakter pada Base64 Encoding
Dokumentasi Naratif Use Case Bangkitkan Kunci
Dokumentasi Naratif Use Case Bangkitkan Kunci Privat
Dokumentasi Naratif Use Case Bangkitkan Kunci Publik
Dokumentasi Naratif Use Case Enkripsi
Dokumentasi Naratif Use Case Encode Polinomial
Dokumentasi Naratif Use Case Encode Base64
Dokumentasi Naratif Use Case Dekripsi
Dokumentasi Naratif Use Case Decode Base64
Dokumentasi Naratif Use Case Decode Polinomial
Pseudocode dan Kompleksitas Pembangkitan kunci
Pseudocode dan Kompleksitas Algoritma Encode Polinomial
Pseudocode dan Kompleksitas Proses Enkripsi
Pseudocode dan Kompleksitas Algoritma Encode Base64
Pseudocode dan Kompleksitas Algoritma Decode Base64
Pseudocode dan Kompleksitas Proses Dekripsi
Pseudocode dan Kompleksitas Algoritma Decode Polinomial
Kelas dan Atributnya
Komponen Ribbon
Komponen pada Form Saved Keys
Komponen pada Form Key Pair Generation
Komponen pada Form File Encryption
Komponen pada Form File Decryption
Spesifikasi Kebutuhan Perangkat Keras untuk Implementasi
Spesifikasi Perangkat Keras untuk Pengujian
Parameter Set Pengujian Sistem
Data Waktu Eksekusi Enkripsi dan Dekripsi
Data Waktu Eksekusi Encode Base64 dan Decode Base64

Halama
n
15
16
20
21
22
24
29
42
43
45
46
48
50
52
54
55
58
59
60
60
61
61
62
63
66
68
69
71
72
73
82
83
84
85

Universitas Sumatera Utara

x

DAFTAR GAMBAR

Nomor
Gambar
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10

Nama Gambar

Halaman

Skema Kriptografi Simetri
Skema Kriptografi Asimetri
Proses Base64 Encoding
Proses Base64 Decoding
Aplikasi Microsoft Outlook 2010
Contoh Sebuah Use Case
Contoh Sebuah Activity Diagram
Contoh Sebuah Sequence Diagram
Contoh Sebuah Class Diagram
Diagram Ishikawa Analisis Permasalahan Sistem
Use Case Diagram Sistem
Activity Diagram Use Case Bangkitkan Kunci
Activity Diagram Use Case Bangkitkan Kunci Privat
Activity Diagram Use Case Bangkitkan Kunci Publik
Activity Diagram Use Case Enkripsi
Activity Diagram Use Case Encode Polinomial
Activity Diagram Use Case Encode Base64
Activity Diagram Use Case Dekripsi
Activity Diagram Use Case Decode Base64
Activity Diagram Use Case Decode Polinomial
Sequence Diagram Proses Pembangkitan Kunci
Sequence Diagram Proses Enkripsi
Sequence Diagram Proses Dekripsi
Class Diagram Sistem yang Akan Dikembangkan
Rancangan Add-in pada Ribbon Microsoft Outlook
Form Saved Keys
Form Key Pair Generaton
Form File Encryption
Form File Decryption
Form About
Proses Instalasi Add-in
Jendela Explorer Microsoft Outlook 2010
Jendela Mail Compose Microsoft Outlook 2010
Proses Pembangkitan Kunci
Proses Enkripsi Pesan
Proses Dekripsi
Form File Encryption
Form File Decryption
Form About
Form Help

10
11
29
30
30
32
33
34
35
39
41
43
44
45
47
49
50
53
54
52
57
58
60
65
66
68
69
70
72
70
74
75
75
76
77
78
79
80
80
81

Universitas Sumatera Utara

xi

DAFTAR LAMPIRAN

Halaman
A. Listing Program

A-1

Universitas Sumatera Utara