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
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: PERANCANGAN SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI ELGAMAL BERDASARKAN MASALAH LOGARITMA DISKRET PADA GRUP PERGANDAAN Zp : SKRIPSI : NISA DEWI ASMAR : 041401004 : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 18 November 2008
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Dra. Esther Nababan, M.Sc NIP. 131 757 011
Ir. Elviawaty, MZ,MT,MM 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
Bab 1
Pendahuluan 1.1. Latar Belakang 1.2. Rumusan Masalah 1.3. Batasan Masalah 1.4. Tujuan Penelitian 1.5. Manfaat Penelitian 1.6. Metode Penelitian 1.7. Sistematika Penulisan
Bab 2
Landasan Teori 2.1. Kriptografi 2.1.1 Definisi Kriptografi 2.1.2 Sejarah Kriptogrfi 2.1.3 Tujuan Kriptografi 2.1.4 Terminologi dan Konsep Dasar Kriptografi 2.1.5 Algoritma dan Kunci 2.1.6 Jenis Algoritma Kriptografi 2.1.7 Keamanan Sistem Kriptografi 2.2. Konsep Dasar Matematis Algoritma ElGamal 2.2.1 Teori Bilangan 2.2.2 Aljabar Abstrak 2.2.3 Logaritma Diskret 2.3. Algoritma ElGamal
ii iii iv v vi vii ix x
1 1 2 3 3 3 4 5 6 6 6 7 11 12 14 16 21 24 24 31 38 39
2.3.1 Proses Pembentukan Kunci 2.3.2 Proses Enkripsi 2.3.3 Proses Dekripsi Bab 3
Bab 4
Bab 5
40 42 45
Analisis dan Pemodelan Perangkat Lunak 3.1. Analisis Permasalahan Algoritma ElGamal 3.2. Analisis Kebutuhan Algoritma ElGamal 3.3. Pemodelan Fungsional 3.3.1. DFD dan Spesifikasi Proses 3.3.2. Kamus Data Perancangan dan Implementasi 4.1. Perancangan 4.1.1. Perancangan Data 4.1.2. Perancangan Struktur Program 4.1.3. Perancangan Antarmuka Pemakai 4.1.4. Perancangan Prosedural 4.2. Implementasi
48 49 48 50 50 59 63 63 63 64 66 71 79
Penutup 5.1. Kesimpulan 5.2. Saran
87 87 88
Daftar Pustaka Lampiran A Algoritma dan Flowchart Prosedur ElGamalCrypt Lampiran B Listing Program Lampiran C Tabel Kode ASCII
89 91 94 115
DAFTAR TABEL
Halaman Tabel 2.1 Tabel 2.2 Tabel 2.3 Tabel 2.4 Tabel 3.1 Tabel 3.2 Tabel 3.2 Tabel 3.3 Tabel 3.4 Tabel 3.6 Tabel 3.7 Tabel 3.8
Tabel Cayley Konversi Karakter Pesan ke Kode ASCII Proses Enkripsi Proses Dekripsi Spesifikasi Proses Diagram Konteks Spesifikasi Proses Diagram Level 1 Spesifikasi Proses DFD Level 2 Proses 2 Spesifikasi Proses DFD Level 2 Proses 3 Spesifikasi Proses DFD Level 2 Proses 4 Kamus Data Proses Pembentukan Kunci Kamus Data Proses Enkripsi Kamus Data Proses Dekripsi
34 44 44 47 53 54 56 58 59 61 62 63
DAFTAR GAMBAR
Halaman Gambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 2.5 Gambar 2.6 Gambat 2.7 Gambar 2.8 Gambar 2.9 Gambar 2.10 Gambar 2.11 Gambar 2.12 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Gambar 4.11 Gambar 4.12 Gambar 4.13 Gambar 4.14 Gambar 4.15 Gambar 4.16
Scaytale Mesin Enigma Contoh Palinteks dan Cipherteksnya Skema Komunikasi dengan Proses Enkripsi Hubungan Kriptografi, Kriptanalisis dan Steganografi Skema Enkripsi dan Dekripsi Skema Kriptografi Simetris Skema Kriptografi Asimetris Interruption Interception Modification Fabrication Diagram Konteks atau DFD Level 0 Diagram Level 1 DFD Level 2 Proses Pembentukan Kunci DFD Level 2 Proses Enkripsi DFD Level 3 Proses Dekripsi Struktur Program ElGamalCrypt Rancangan Layar Utama Rancangan Layar Pembentukan Kunci Secara Otomatis Rancangan Layar Pembentukan Kunci Secara Manual Rancangan Layar Enkripsi Rancangan Layar Konfirmasi Kunci Enkripsi Rancangan Layar Dekripsi Rancangan Layar Konfirmasi Kunci Dekripsi Rancangan Layar About Flowchart Prosedur Pembentukan Kunci Flowchart Prosedur Enkripsi Flowchart Prosedur Dekripsi Tampilan Layar Utama Tampilan Layar Pembentukan Kunci Tampilan Layar Pembentukan Kunci Secara Otomatis Tampilan Layar Pembentukan Kunci Secara Manual
8 9 13 13 14 15 17 18 21 22 22 23 52 53 55 57 59 66 68 68 69 70 70 71 72 72 75 77 79 80 81 81 82
Gambar 4.17 Gambar 4.18 Gambar 4.19 Gambar 4.20 Gambar 4.21 Gambar 4.22 Gambar 4.23 Gambar 4.24 Gambar 4.25 Gambar 4.26 Gambar 4.27
Tampilan Layar Peringatan 1 Tampilan Layar Peringatan 2 Tampilan Layar Peringatan 3 Tampilan Layar Peringatan 4 Tampilan Layar Help Tampilan Layar Enkripsi Tampilan Layar Konfirmasi Kunci Enkripsi Tampilan Layar Dekripsi Tampilan Layar Konfirmasi Kunci Dekripsi Tampilan Layar About Perbandingan Ukuran File Setelah dan Sebelum dienkripsi
82 83 83 84 84 85 85 86 86 87 87