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