UNIVERSITAS BINA NUSANTARA
______________________________________________________________________________
Program Ganda
Teknik Informatika
-
Matematika
Skripsi Sarjana Program Ganda
Semester Ganjil 2006/2007
PERANCANGAN PROGRAM APLIKASI ENKRIPSI DAN DEKRIPSI FILE
DOKUMEN PT. SWADHARMA ERAGRAFINDO SARANA DENGAN
MENGGUNAKAN ALGORITMA ELLIPTIC CURVE
CRYPTOGRAPHY
SKRIPSI PROGRAM GANDA
UNIVERSITAS BINA NUSANTARA
Yongky Teguh Santoso NIM: 0600656772
ABSTRAK
Dewasa ini, jaringan komputer telah menjadi salah satu media yang paling efisien untuk mengirimkan informasi. PT. Swadharma Eragrafindo Sarana sebagai perusahaan percetakan dokumen sekuriti, merasa perlu untuk memanfaatkan teknologi ini sebagai sarana pengiriman informasi yang cepat dan murah. Namun, masalah keamanan dan kerahasiaan informasi menjadi fokus utama para pimpinan perusahaan sebelum menerapkan teknologi ini dalam lingkungan perusahaan. Hal ini terkait dengan betapa pentingnya informasi tersebut dapat dikirim dan diterima oleh orang yang berkepentingan. Informasi tidak akan berguna lagi, apabila di tengah jalan informasi tersebut disadap atau dibajak oleh pihak yang tidak berwewenang.
Oleh karena itu, perlu dirancang suatu program aplikasi enkripsi informasi atau file
dokumen menggunakan algoritma Elliptic Curve Cryptography. Algoritma ini mengkombinasikan ilmu matematika dengan teknologi informasi. Salah satu keistimewaan dari algoritma ini adalah tingkat keamanannya yang cukup tinggi. Hal ini dikarenakan algoritma ini menggunakan empat buah kunci untuk melakukan proses enkripsi dan dekripsi.
Pada program aplikasi yang dirancang, algoritma tersebut akan diterapkan untuk mengenkripsi file gambar bitmap dan file teks. File yang dienkripsi oleh program aplikasi, dapat didekripsikan sama persis dengan file asli. Di samping itu, program aplikasi dirancang dengan antarmuka yang bagus. Hal ini dimaksudkan agar program aplikasi tersebut mudah digunakan oleh orang awam. Dengan adanya aplikasi tersebut, PT. Swadharma Eragrafindo Sarana dapat melakukan pengiriman file melalui jaringan komputer dengan aman. Dengan demikian, efektifitas perusahaan dalam memproduksi cetakan-cetakan dokumen sekuriti menjadi semakin bertambah.
Kata Kunci:
PT. Swadharma Eragrafindo Sarana, algoritma Elliptic Curve Cryptography, enkripsi, dekripsi,
vi
KATA PENGANTAR
Sebelumnya penulis mengucapkan syukur dan terima kasih kepada Tuhan Yang
Maha Esa atas rahmat dan petunjuk yang telah diberikan oleh-Nya, sehingga penulis
dapat mengerjakan dan menyelesaikan penulisan skripsi ini dengan baik.
Walau pun tugas membuat skripsi ini terasa berat oleh penulis, namun berkat
bimbingan dari para dosen dan dukungan dari orang-orang yang banyak membantu,
akhirnya skripsi ini dapat diselesaikan walau pun masih jauh dari kesempurnaan.
Skripsi ini disusun dengan maksud dan tujuan untuk memenuhi salah satu syarat
dalam mendapatkan gelar Sarjana Jenjang Strata Satu pada Program Ganda Fakultas
MIPA Jurusan Matematika, Universitas Bina Nusantara.
Dengan tulus hati penulis juga ingin mengucapkan terima kasih yang
sebesar-besarnya kepada semua pihak yang telah memberikan bantuan baik dari segi moral mau
pun spiritual yang sangat bermanfaat bagi penulis dalam penyusunan skripsi ini. Ucapan
terima kasih ini, penulis tujukan terutama 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 Dosen Pembimbing dan
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.
Bapak Don Tasman, S.Mia., S.E., S.Si., M.M., selaku Dosen Pembimbing 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.
6.
Seluruh Dosen Universitas Bina Nusantara yang selama ini telah memberikan
ilmu dan bimbingan akademis kepada penulis dari awal hingga akhir
perkuliahan.
7.
Bapak Herman Susilo, selaku
Project Manager
perusahaan yang telah
memberikan kesempatan kepada penulis untuk membuat skripsi pada PT.
Swadharma Eragrafindo Sarana.
8.
Seluruh karyawan PT. Swadharma Eragrafindo Sarana yang telah membantu
penulis dalam memberikan informasi dan data yang penulis butuhkan dalam
menyelesaikan skripsi ini.
9.
Keluarga penulis, atas doa, kasih, kesabaran, dan dukungan yang diberikan
kepada penulis selama penyusunan skripsi ini.
10.
Teman-teman jurusan ganda Teknik Informatika – Matematika atas dukungan
dan bantuannya yang diberikan kepada penulis selama ini.
11.
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, 8 Januari 2007
Penulis
Yongky Teguh Santoso
0600656772
viii
DAFTAR ISI
Halaman
Halaman Judul Luar i
Halaman Judul Dalam ii
Halaman Persetujuan Hard Cover iii
Lembar Pernyataan Dewan Penguji iv
Abstrak v
Kata Pengantar vi
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Daftar Lampiran xiii
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang Masalah 1
1.2 Ruang Lingkup 3
1.3 Tujuan dan Manfaat 4
1.3.1 Tujuan 4
1.3.2 Manfaat 4
1.4 Metodologi 5
1.5 Sistematika Penulisan 6
BAB 2 LANDASAN TEORI 7
2.1 Kriptografi 7 2.1.1 Pengertian Kriptografi 7 2.1.2 Sejarah Kriptografi 7 2.1.3 Tujuan Kriptografi 12 2.1.4 Algoritma Kriptografi 13 2.2 Macam Bilangan 14 2.2.1 Bilangan Bulat 14 2.2.2 Bilangan Asli 14 2.2.3 Bilangan Prima 14 2.3 Aritmatika Modular 15 2.3.1 Pembagi 15
2.3.2 Faktor Persekutuan Terbesar 15
2.3.3 Relatif Prima 15
2.3.4 Algoritma Pembagian 17
2.3.5 Kongruen Modulo 17
2.3.6 Sifat-Sifat Relasi Kongruensi 18
2.3.7 Inversi Perkalian Modulo 18
2.4 Struktur Aljabar 19
2.4.1 Grup Abelian 19
2.4.2 Finite Field 20
2.5 Turunan 24
2.5.1 Definisi Turunan Secara Kalkulus 24
2.5.2 Gradien Garis Singgung 24
2.6.1 Kurva Elliptic Pada Himpunan Bilangan Real 25 2.6.2 Hukum Penjumlahan Titik-Titik Pada Kurva Elliptic 27
2.6.3 Akar Kembar Pada Sumbu x 36
2.6.4 Kurva Elliptic Dalam Finite Field Fp 44
2.7 Algoritma Elliptic Curve Cryptography 46
2.7.1 Sejarah Singkat 46
2.7.2 Representasi Teks 47
2.7.3 Proses Enkripsi Dan Dekripsi 48
2.8 Citra 49
2.8.1 Definisi Citra 49
2.8.2 Format Bitmap 50
2.9 Interaksi Manusia dan Komputer 50
2.10 Perancangan Perangkat Lunak 51
2.11 Alat Bantu Perancangan 53
2.11.1 State Transition Diagram (STD) 53
2.11.2 Pseudocode 54
2.12 Penelitian Relevan 55
BAB 3 PERANCANGAN PROGRAM APLIKASI 57
3.1 Gambaran Umum Perusahaan 57
3.1.1 Sejarah Perusahaan 57
3.1.2 Struktur Organisasi Perusahaan 59 3.1.3 Permasalahan Yang Dihadapi Perusahaan 59
3.1.4 Usaha Pemecahan Masalah 60
3.2 Perancangan Program 61
3.2.1 Struktur Menu 61
3.2.2 State Transition Diagram (STD) 61
3.2.3 Rancangan Layar 66
3.2.4 Spesifikasi Modul 77
BAB 4 IMPLEMENTASI DAN EVALUASI 95
4.1 Implementasi 95
4.2 Kebutuhan Perangkat Keras Dan Piranti Lunak 95 4.2.1 Spesifikasi Minimum Perangkat Keras 96 4.2.2 Spesifikasi Minimum Piranti Lunak 96
4.3 Petunjuk Penggunaan Program Aplikasi 97
4.3.1 Layar Dialog Box Utama 97
4.3.2 Layar Menu “Kriptografi Bitmap” 97
4.3.3 Layar Menu “Kriptografi Text” 100
4.3.4 Layar Menu “Update File Kunci Kriptografi” 102
4.3.5 Layar Menu “Help” 103
4.4 Pengujian Program Aplikasi 105
4.4.1 Analisis Proses Enkripsi Dan Dekripsi File 105 4.4.2 Analisis Proses Update File Kunci Kriptografi 108 4.5 Analisis Dan Evaluasi Program Aplikasi 109
BAB 5 KESIMPULAN DAN SARAN 112
5.1 Kesimpulan 112
5.2 Saran 112
x
RIWAYAT HIDUP 116
LAMPIRAN L - 1
DAFTAR TABEL
Halaman
Tabel 4.1 Hasil pengujian enkripsi file “bppd.bmp” 106 Tabel 4.2 Hasil pengujian dekripsi file “ujibmp.txt” 107 Tabel 4.3 Hasil pengujian enkripsi file “sampel.txt” 108 Tabel 4.4 Hasil pengujian dekripsi file “rahasia.txt” 108 Tabel 4.5 Hasil pengujian updatefile kunci kriptografi 109 Tabel 4.6 Perbandingan lama proses enkripsi dan dekripsi terhadap ukuran file 110
xii
DAFTAR
GAMBAR
Halaman
Gambar 2.1 Garis singgung fungsi f(x) di titik P 24
Gambar 2.2 Gambar kurva elliptic y2 = x3 – 6 x + 2 26 Gambar 2.3 Gambar kurva ellipticy2 = x3 – x + 10 26 Gambar 2.4 Penjumlahan dua titik yang berbeda pada kurva ellipticy2 = x3 – 7x 27 Gambar 2.5 Penjumlahan dua titik yang berlawanan pada kurva ellipticy2 = x3
– 6 x + 6
31 Gambar 2.6 Penggandaan titik P pada kurva ellipticy2 = x3 – 3 x + 5 32
Gambar 2.7 Penggandaan titik P(2, 0) pada kurva ellipticy2 = x3 – 4 x 36 Gambar 2.8 Gambar kurva ellipticy2 = x3 – 3 x + 2 37
Gambar 2.9 Gambar kurva ellipticy2 = x3 37
Gambar 2.10 Sebaran titik–titik pada kurva elliptic E23(1, 0) 46
Gambar 2.11 Perancangan Perangkat Lunak Model Air Terjun 53 Gambar 3.1 Struktur Organisasi PT. Swadharma Eragrafindo Sarana 59
Gambar 3.2 Rancangan Struktur Menu Utama 61
Gambar 3.3 STD Menu Utama 62
Gambar 3.4 STD Menu Kriptografi Bitmap 63
Gambar 3.5 STD Menu Kriptografi Text 64
Gambar 3.6 STD Menu UpdateFile Kunci Kriptografi 65
Gambar 3.7 STD Menu Help 65
Gambar 3.8 Rancangan Layar Menu Kriptografi Bitmap 67
Gambar 3.9 Rancangan Layar Menu Kriptografi Text 70
Gambar 3.10 Rancangan Layar Menu Update File Kunci Kriptografi 73
Gambar 3.11 Rancangan Layar Menu Help 76
Gambar 4.1 Gambar Layar Dialog Box Utama 97
Gambar 4.2 Gambar Layar Menu “Kriptografi Bitmap” 98
Gambar 4.3 Gambar Layar Menu “Kriptografi Text” 100
Gambar 4.4 Gambar Layar Menu “Update File Kunci Kriptografi” 103
Gambar 4.5 Gambar Layar Menu “Help” 104
Gambar 4.6 Gambar File “bppd.bmp” 105
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program L - 1
Form1 (Unit1.pas) L - 1
FrmFullScreen (UFullScreen.pas) L - 48
Lampiran 2 Contoh Input Dan Output Kriptografi File Text L - 49
Isi File “sampel.txt” L - 49
Isi File “rahasia.txt” L - 49