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 Judul Luar Halaman Judul Dalam Halaman Persetujuan Hard Cover Lembar Pernyataan Dewan Penguji Abstrak Kata Pengantar Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran Halaman i ii iii iv v vi viii xi xii 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 Kurva Ellipitic 25 viii
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 F p 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 DAFTAR PUSTAKA 114 ix
RIWAYAT HIDUP 116 LAMPIRAN L - 1 FOTOKOPI SURAT SURVEI x
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 update file kunci kriptografi 109 Tabel 4.6 Perbandingan lama proses enkripsi dan dekripsi terhadap ukuran file 110 Tabel 4.7 Perbandingan ukuran file asli dan ciphertext 111 xi
DAFTAR GAMBAR Halaman Gambar 2.1 Garis singgung fungsi f(x) di titik P 24 Gambar 2.2 Gambar kurva elliptic y 2 = 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 Gambar 2.5 Penjumlahan dua titik yang berlawanan pada kurva elliptic y 2 = x 3 31 6 x + 6 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 y 2 = 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 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 Update File 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 Gambar 4.7 Gambar File bppd2.bmp 107 xii
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 Isi File sampel2.txt L - 50 xiii