PERANCANGAN PROGRAM APLIKASI ENKRIPSI DAN DEKRIPSI FILE DOKUMEN PT. SWADHARMA ERAGRAFINDO SARANA DENGAN MENGGUNAKAN ALGORITMA ELLIPTIC CURVE CRYPTOGRAPHY - Binus e-Thesis
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 CRYPTOGRAPHYSKRIPSI 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, file gambar bitmap, file teks.
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
DAFTAR ISI
2.3.2 Faktor Persekutuan Terbesar
2.3.5 Kongruen Modulo
17
2.3.4 Algoritma Pembagian
15
2.3.3 Relatif Prima
15
15
2.3.6 Sifat-Sifat Relasi Kongruensi
2.3.1 Pembagi
15
2.3 Aritmatika Modular
14
2.2.3 Bilangan Prima
14
2.2.2 Bilangan Asli
17
18
2.2.1 Bilangan Bulat
24
25
2.6 Kurva Ellipitic
24
2.5.2 Gradien Garis Singgung
24
2.5.1 Definisi Turunan Secara Kalkulus
2.5 Turunan
2.3.7 Inversi Perkalian Modulo
20
2.4.2 Finite Field
19
2.4.1 Grup Abelian
19
2.4 Struktur Aljabar
18
14
Halaman Halaman Judul Luar i
Halaman Judul Dalam ii
1
4
1.3 Tujuan dan Manfaat
3
1.2 Ruang Lingkup
1
1.1 Latar Belakang Masalah
BAB 1 PENDAHULUAN
4
Daftar Lampiran xiii
Daftar Gambar xii
Daftar Tabel xi
Daftar Isi viii
Kata Pengantar vi
Abstrak v
Halaman Persetujuan Hard Cover iii Lembar Pernyataan Dewan Penguji iv
1.3.1 Tujuan
1.3.2 Manfaat
2.2 Macam Bilangan
7
13
2.1.4 Algoritma Kriptografi
12
2.1.3 Tujuan Kriptografi
7
2.1.2 Sejarah Kriptografi
2.1.1 Pengertian Kriptografi
4
7
2.1 Kriptografi
7
6 BAB 2 LANDASAN TEORI
1.5 Sistematika Penulisan
5
1.4 Metodologi
14
2.6.1 Kurva Elliptic Pada Himpunan Bilangan Real
3.2.4 Spesifikasi Modul
4.2 Kebutuhan Perangkat Keras Dan Piranti Lunak
95
4.1 Implementasi
95
IMPLEMENTASI DAN EVALUASI
77 BAB 4
66
4.2.1 Spesifikasi Minimum Perangkat Keras
3.2.3 Rancangan Layar
3.2.2 State Transition Diagram (STD) 61
61
3.2.1 Struktur Menu
61
3.2 Perancangan Program
60
95
96
59
4.4 Pengujian Program Aplikasi 105
5.2 Saran 112
5.1 Kesimpulan 112
BAB 5 KESIMPULAN DAN SARAN 112
4.5 Analisis Dan Evaluasi Program Aplikasi 109
4.4.2 Analisis Proses Update File Kunci Kriptografi 108
4.4.1 Analisis Proses Enkripsi Dan Dekripsi File 105
4.3.5 Layar Menu “Help” 103
4.2.2 Spesifikasi Minimum Piranti Lunak
4.3.4 Layar Menu “Update File Kunci Kriptografi” 102
4.3.3 Layar Menu “Kriptografi Text ” 100
4.3.2 Layar Menu “Kriptografi Bitmap ” 97
4.3.1 Layar Dialog Box Utama 97
97
4.3 Petunjuk Penggunaan Program Aplikasi
96
3.1.4 Usaha Pemecahan Masalah
3.1.3 Permasalahan Yang Dihadapi Perusahaan
25
2.7.2 Representasi Teks
2.8.1 Definisi Citra
49
2.8 Citra
48
2.7.3 Proses Enkripsi Dan Dekripsi
47
46
2.8.2 Format Bitmap
2.7.1 Sejarah Singkat
46
2.7 Algoritma Elliptic Curve Cryptography
44
2.6.4 Kurva Elliptic Dalam Finite Field F p
2.6.3 Akar Kembar Pada Sumbu x 36
2.6.2 Hukum Penjumlahan Titik-Titik Pada Kurva Elliptic 27
49
50
59
2.12 Penelitian Relevan
3.1.2 Struktur Organisasi Perusahaan
57
3.1.1 Sejarah Perusahaan
57
3.1 Gambaran Umum Perusahaan
57
55 BAB 3 PERANCANGAN PROGRAM APLIKASI
54
2.9 Interaksi Manusia dan Komputer
2.11.2 Pseudocode
2.11.1 State Transition Diagram (STD) 53
53
2.11 Alat Bantu Perancangan
51
2.10 Perancangan Perangkat Lunak
50
DAFTAR PUSTAKA 114
RIWAYAT HIDUP 116
LAMPIRAN L - 1
FOTOKOPI SURAT SURVEI
DAFTAR TABEL
Halaman
Tabel 4.1 Hasil pengujian enkripsi file “bppd.bmp” 106Tabel 4.2 Hasil pengujian dekripsi file “ujibmp.txt” 107Tabel 4.3 Hasil pengujian enkripsi file “sampel.txt” 108Tabel 4.4 Hasil pengujian dekripsi file “rahasia.txt” 108Tabel 4.5 Hasil pengujian update file kunci kriptografi 109Tabel 4.6 Perbandingan lama proses enkripsi dan dekripsi terhadap ukuran file 110Tabel 4.7 Perbandingan ukuran file asli dan ciphertext 111- – 6 x + 6
Menu Utama
62 Gambar 3.4 STD Menu Kriptografi Bitmap 63
Gambar 3.5 STD Menu Kriptografi Text 64Gambar 3.6 STD Menu Update File Kunci Kriptografi65 Gambar 3.7 STD Menu Help 65
Gambar 3.8 Rancangan Layar Menu Kriptografi Bitmap 67Gambar 3.10 Rancangan Layar Menu Update File Kunci Kriptografi61 Gambar 3.3
73 Gambar 3.11 Rancangan Layar Menu Help 76
Gambar 4.1 Gambar Layar Dialog Box Utama97 Gambar 4.2 Gambar Layar Menu “Kriptografi Bitmap” 98
Gambar 4.3 Gambar Layar Menu “Kriptografi Text” 100Gambar 4.4 Gambar Layar Menu “Update File Kunci Kriptografi” 103Gambar 4.5 Gambar Layar Menu “Help” 104Gambar 4.6 Gambar File “bppd.bmp” 105STD
59 Gambar 3.2 Rancangan Struktur Menu Utama
DAFTAR GAMBAR
Gambar 2.5 Penjumlahan dua titik yang berlawanan pada kurva elliptic yHalaman
Gambar 2.1 Garis singgung fungsi f(x) di titik P 24Gambar 2.2 Gambar kurva elliptic y2 = x 3 – 6 x + 2
26 Gambar 2.3 Gambar kurva elliptic y 2 = x 3 – x + 10
26 Gambar 2.4 Penjumlahan dua titik yang berbeda pada kurva elliptic y 2 = x 3 – 7x 27
2 = x 3
53 Gambar 3.1 Struktur Organisasi PT. Swadharma Eragrafindo Sarana
31 Gambar 2.6 Penggandaan titik P pada kurva elliptic y 2 = x 3 – 3 x + 5
32 Gambar 2.7 Penggandaan titik P(2, 0) pada kurva elliptic y 2 = x 3 – 4 x 36
Gambar 2.8 Gambar kurva elliptic y2 = x 3 – 3 x + 2
37 Gambar 2.9 Gambar kurva elliptic y 2 = x 3
37 Gambar 2.10 Sebaran titik–titik pada kurva elliptic E 23 (1, 0)
46 Gambar 2.11 Perancangan Perangkat Lunak Model Air Terjun