PERANCANGAN SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI ELGAMAL BERDASARKAN MASALAH LOGARITMA DISKRET PADA GRUP PERGANDAAN Zp SKRIPSI NISA DEWI ASMAR 041401004 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2008
PERSETUJUAN Judul : PERANCANGAN SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI ELGAMAL BERDASARKAN MASALAH LOGARITMA DISKRET PADA GRUP PERGANDAAN Zp Kategori : SKRIPSI Nama : NISA DEWI ASMAR Nomor Induk Mahasiswa : 041401004 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen Fakultas Komisi Pembimbing : : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 18 November 2008 Pembimbing 2 Pembimbing 1 Dra. Esther Nababan, M.Sc Ir. Elviawaty, MZ,MT,MM NIP. 131 757 011 NIP. 132 306 873 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Prof. Dr. Muhammad Zarlis NIP 131 570 434
PERNYATAAN PERANCANGAN SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI ELGAMAL BERDASARKAN MASALAH LOGARITMA DISKRET PADA GRUP PERGANDAAN Zp SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 18 November 2008 Nisa Dewi Asmar 041401004
PENGHARGAAN Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan karunia-nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Ucapan terima kasih penulis sampaikan kepada : 1. Ibu Ir. Elviawaty M. Zamzami, MT, MM dan Ibu Dra. Esther Nababan, M.Sc selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas dan padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. 2. Bapak Syahril Efendi, S.Si, MIT selaku pembimbing akademik sekaligus pembanding Skripsi yang telah memberikan arahan dalam perkuliahan pada penulis sejak penulis berada di Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara hingga menyelesaikan ujian sarjana lengkap. 3. Bapak Drs. Nasir Saleh, M.Eng.Sc selaku pembanding Skripsi yang telah banyak memberikan saran. 4. Ketua dan Sekretaris Program Studi Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si., MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi Ilmu Komputer FMIPA USU, pegawai di FMIPA USU. 5. Papa dan Mama tercinta atas teladan, kasih sayang, doa, dukungan materil dan semangat yang telah diberikan kepada penulis selama ini. Semoga segala kebaikan ini juga dibalas dengan kebaikan disisinya. Untuk kakak, abang-abang, dan adikadik tercinta atas segala suka, duka, tangis dan canda kita bersama. 6. Bang M. Zaki Riyanto, S.Si, Mas Nanda dan Ismail Arif, S.Kom terima kasih atas kelapangan waktu yang diberikan kepada penulis untuk berbagi ilmu. 7. Teman-teman terbaik, Aulia Fonny Wandra, ST atas motivasi, kebaikan dan perhatiannya. Leni SY, Dian MS, Farida Y, Dewi TA, Atika Z, Yunita S, Sri F dan Dewi Y serta rekan-rekan kuliah angkatan 04 yang telah banyak memberikan bantuan kepada penulis. 8. Kak Ria, Kak Nita, Kak Jimi, Naimah, Wina, Ivana, Diana, Vida dan sahabatsahabat lainnya di Asrama Puteri.
ABSTRAK Pada sistem kriptografi simetris terdapat permasalahan efisiensi jumlah kunci dan pendistribusian kunci. Hal ini disebabkan jumlah kunci yang digunakan harus sama banyaknya dengan jumlah pihak yang akan berkomunikasi. Pada tugas akhir ini dibentuk suatu sistem yang mengamankan data dan informasi yang tersimpan pada komputer dari gangguan para kriptanalis. Sistem ini dibangun menggunakan perangkat lunak Borland Delphi 7.0. Metodologi untuk membentuk sistem menggunakan pendekatan model air terjun. Tahapan yang penulis lakukan untuk melakukan proses pembentukan sistem tersebut meliputi tahapan analisis permasalahan, perancangan aplikasi yang melibatkan diagram alir data, algoritma dan flowchart beserta pemodelan struktur program dan desain antar muka aplikasi, sehingga aplikasi yang terbentuk menjadi mudah dipergunakan dan memiliki fungsi yang optimal. Dengan menggunakan Algoritma ElGamal yang merupakan algoritma kriptografi kunci publik, permasalahan tersebut dapat diatasi. Kekuatan algoritma ini terletak pada masalah logaritma diskret pada grup bilangan bulat modulo bilangan prima.
DESIGN OF DATA SECURITY SYSTEM BY USING ELGAMAL CRYPTOGRAPHIC ALGORITHM BASED ON DISCRETE LOGARITHM PROBLEM IN MULTIPLICATION GROUP OVER Zp ABSTRACT In symetric cryptographic system there are issues in key efficiency and key distribution, due to the amount of the key used must be equal with the number of participants. In this writing, a system that secure data and information which stored on computer from perturbed by cryptanalysts was formed. The system is built by using Borland Delphi 7.0 application. The methodologies to form the system use the approach of waterfall model. The steps which is done to conduct the application in forming the process covered the step analysis of the problems, designing application containing data flow diagram, algorithms, and flowchart along with the program structure and user interface design, so that the application formed become easy to use and optimally functioned. By using this ElGamal Algorithm which is public key cryptography algorithm, that issues can be solved. The strength of this algorithm lies on the discrete algorithm problem on round number modulo prime.
DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv v vi vii ix x Bab 1 Pendahuluan 1 1.1. Latar Belakang 1 1.2. Rumusan Masalah 2 1.3. Batasan Masalah 3 1.4. Tujuan Penelitian 3 1.5. Manfaat Penelitian 3 1.6. Metode Penelitian 4 1.7. Sistematika Penulisan 5 Bab 2 Landasan Teori 6 2.1. Kriptografi 6 2.1.1 Definisi Kriptografi 6 2.1.2 Sejarah Kriptogrfi 7 2.1.3 Tujuan Kriptografi 11 2.1.4 Terminologi dan Konsep Dasar Kriptografi 12 2.1.5 Algoritma dan Kunci 14 2.1.6 Jenis Algoritma Kriptografi 16 2.1.7 Keamanan Sistem Kriptografi 21 2.2. Konsep Dasar Matematis Algoritma ElGamal 24 2.2.1 Teori Bilangan 24 2.2.2 Aljabar Abstrak 31 2.2.3 Logaritma Diskret 38 2.3. Algoritma ElGamal 39
2.3.1 Proses Pembentukan Kunci 40 2.3.2 Proses Enkripsi 42 2.3.3 Proses Dekripsi 45 Bab 3 Analisis dan Pemodelan Perangkat Lunak 48 3.1. Analisis Permasalahan Algoritma ElGamal 49 3.2. Analisis Kebutuhan Algoritma ElGamal 48 3.3. Pemodelan Fungsional 50 3.3.1. DFD dan Spesifikasi Proses 50 3.3.2. Kamus Data 59 Bab 4 Perancangan dan Implementasi 63 4.1. Perancangan 63 4.1.1. Perancangan Data 63 4.1.2. Perancangan Struktur Program 64 4.1.3. Perancangan Antarmuka Pemakai 66 4.1.4. Perancangan Prosedural 71 4.2. Implementasi 79 Bab 5 Penutup 87 5.1. Kesimpulan 87 5.2. Saran 88 Daftar Pustaka 89 Lampiran A Algoritma dan Flowchart Prosedur ElGamalCrypt 91 Lampiran B Listing Program 94 Lampiran C Tabel Kode ASCII 115
DAFTAR TABEL Halaman Tabel 2.1 Tabel Cayley 34 Tabel 2.2 Konversi Karakter Pesan ke Kode ASCII 44 Tabel 2.3 Proses Enkripsi 44 Tabel 2.4 Proses Dekripsi 47 Tabel 3.1 Spesifikasi Proses Diagram Konteks 53 Tabel 3.2 Spesifikasi Proses Diagram Level 1 54 Tabel 3.2 Spesifikasi Proses DFD Level 2 Proses 2 56 Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses 3 58 Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses 4 59 Tabel 3.6 Kamus Data Proses Pembentukan Kunci 61 Tabel 3.7 Kamus Data Proses Enkripsi 62 Tabel 3.8 Kamus Data Proses Dekripsi 63
DAFTAR GAMBAR Halaman Gambar 2.1 Scaytale 8 Gambar 2.2 Mesin Enigma 9 Gambar 2.3 Contoh Palinteks dan Cipherteksnya 13 Gambar 2.4 Skema Komunikasi dengan Proses Enkripsi 13 Gambar 2.5 Hubungan Kriptografi, Kriptanalisis dan Steganografi 14 Gambar 2.6 Skema Enkripsi dan Dekripsi 15 Gambat 2.7 Skema Kriptografi Simetris 17 Gambar 2.8 Skema Kriptografi Asimetris 18 Gambar 2.9 Interruption 21 Gambar 2.10 Interception 22 Gambar 2.11 Modification 22 Gambar 2.12 Fabrication 23 Gambar 3.1 Diagram Konteks atau DFD Level 0 52 Gambar 3.2 Diagram Level 1 53 Gambar 3.3 DFD Level 2 Proses Pembentukan Kunci 55 Gambar 3.4 DFD Level 2 Proses Enkripsi 57 Gambar 3.5 DFD Level 3 Proses Dekripsi 59 Gambar 4.1 Struktur Program ElGamalCrypt 66 Gambar 4.2 Rancangan Layar Utama 68 Gambar 4.3 Rancangan Layar Pembentukan Kunci Secara Otomatis 68 Gambar 4.4 Rancangan Layar Pembentukan Kunci Secara Manual 69 Gambar 4.5 Rancangan Layar Enkripsi 70 Gambar 4.6 Rancangan Layar Konfirmasi Kunci Enkripsi 70 Gambar 4.7 Rancangan Layar Dekripsi 71 Gambar 4.8 Rancangan Layar Konfirmasi Kunci Dekripsi 72 Gambar 4.9 Rancangan Layar About 72 Gambar 4.10 Flowchart Prosedur Pembentukan Kunci 75 Gambar 4.11 Flowchart Prosedur Enkripsi 77 Gambar 4.12 Flowchart Prosedur Dekripsi 79 Gambar 4.13 Tampilan Layar Utama 80 Gambar 4.14 Tampilan Layar Pembentukan Kunci 81 Gambar 4.15 Tampilan Layar Pembentukan Kunci Secara Otomatis 81 Gambar 4.16 Tampilan Layar Pembentukan Kunci Secara Manual 82
Gambar 4.17 Tampilan Layar Peringatan 1 82 Gambar 4.18 Tampilan Layar Peringatan 2 83 Gambar 4.19 Tampilan Layar Peringatan 3 83 Gambar 4.20 Tampilan Layar Peringatan 4 84 Gambar 4.21 Tampilan Layar Help 84 Gambar 4.22 Tampilan Layar Enkripsi 85 Gambar 4.23 Tampilan Layar Konfirmasi Kunci Enkripsi 85 Gambar 4.24 Tampilan Layar Dekripsi 86 Gambar 4.25 Tampilan Layar Konfirmasi Kunci Dekripsi 86 Gambar 4.26 Tampilan Layar About 87 Gambar 4.27 Perbandingan Ukuran File Setelah dan Sebelum dienkripsi 87