STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
VERA MAGDALENA SIANTURI 0 4 1 4 0 1 0 5 6
PROGRAM STUDI STRATA 1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : STUDI DAN IMPLEMENTASI KEAMANAN
DATA DENGAN TANDA TANGAN DIGITAL
Kategori : SKRIPSI
Nama : VERA MAGDALENA SIANTURI
Nomor Induk Mahasiswa : 041401056
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 22 Desember 2008 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dra Esther Nababan M.Sc. Prof. Dr. Muhammad Zarlis
NIP 131757011 NIP 131570434
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Prof. Dr. Muhammad Zarlis NIP 131570434
PERNYATAAN
STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 20 Desember 2008
Vera Magdalena Sianturi 041401056
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, dengan limpahan karunia-Nya skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Bapak Prof. Dr. Muhammad Zarlis, Ibu Dra. Esther Nababan, M.Sc., Bapak Syahriol Sitorus, S.Si dan Bapak Drs.Bisman Perangin-angin, M.Eng selaku pembimbing dan pembanding pada penyelesaian skripsi ini, yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan skripsi ini. Panduan ringkas dan padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas dengan baik. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Prof. Dr. Muhammad Zarlis dan Syahriol 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.
Akhirnya, tidak terlupakan kepada yang tersayang ayahanda T. Sianturi dan Ibunda E. Pasaribu yang memberikan dukungan dan doa setiap hari kepada penulis, kepada abangku tersayang Junius yang selalu membantu dan memberi semangat, dan kepada teman-teman ku Ira, Vivi, Tina, Salomo, Laung, Elvo, Kak Hana, Susi serta seluruh keluarga, teman-teman Ilmu Komputer 04, kerabat yang berjasa dan selalu memberikan dorongan kepada penulis selama menyelesaikan skripsi ini. Semoga Tuhan Yang Maha Esa akan membalasnya.
ABSTRAK
Tanda tangan digital adalah sebuah tanda tangan yang berbasiskan skema kriptografi. Tanda tangan digital dibuat dengan memanfaatkan kriptografi kunci publik. Algoritma RSA adalah salah satu algoritma kunci publik yang dapat digunakan untuk sistem tanda tangan digital. Mekanisme kerja algoritma RSA cukup sederhana dan mudah dimengerti tetapi kokoh. Keamanan RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Perangkat lunak untuk simulasi sistem tanda tangan digital akan dibangun dengan menggunakan bahasa pemrograman Visual Basic.Net. Perangkat lunak yang dibangun akan menjelaskan proses tanda tangan digital.
STUDY AND IMPLEMENTATION OF DATA SECURITY WITH DIGITAL SIGNATURE
ABSTRACT
Digital signature is a signature that based by cryptography scheme. Digital signature is build by using public key cryptography. The RSA algorythm is one of key public that can be used for digital signature system. The mechanism of RSA algorythm is quite simple and easy to understand, but it’s really secure. The security of RSA is located at the difficulties of factoring big numbers into prime factors. The software to simulate digital signature is build by using Visual Basic.Net and the program will show the process of digital signature.
DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak v Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan 1
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 2
1.3 Diagram Konsepsi 2
1.4 Tujuan Dan Manfaat Penelitian 4
1.5 Batasan Masalah 4
1.6 Metode Penelitian 4
1.7 Sistematika Penulisan 5
Bab 2 Landasan Teori 6
2.1 Kriptografi Simetri 7
2.2 Algoritma Asimetri (Kriptografi Kunci Publik) 8 2.2.1 Keamanan Sistem Kriptografi Kunci-Publik 9 2.2.2 Kelemahan Sistem Kriptografi Kunci Publik 9
2.3 Algoritma RSA 12
2.3.1 Notasi Matematika 12
2.3.2 Proses Pembuatan Kunci 16
2.3.3 Proses Enkripsi Pesan 17
2.3.4 Proses Dekripsi Pesan 17
2.3.5 Contoh Penghitungan RSA 17
3.2 Deskripsi Perangkat Lunak 36
3.1.4 Validasi 35
3.3 Pemodelan Use Case 37
3.4 Model Perancangan 38
3.4.1 Deskripsi Arsitektur 39
3.4.2 Rancangan Diagram Alir 41
3.4.3 Perancangan Antarmuka 46
Bab 4 Implementasi Dan Pengujian 50
4.1 Lingkungan Implementasi 50
4.2 Implementasi dan Pengujian Perangkat Lunak Tanda Tangan Digital 51
4.2.1 Proses Kunci 52
4.2.2 Proses Tanda Tangan 53
4.2.3 Proses Validasi 54
Bab 5 Kesimpulan Dan Saran 59
5.1 Kesimpulan 59
5.2 Saran 59
Daftar Pustaka 60
DAFTAR TABEL
Halaman
Tabel 2.1 Tabel Nilai T[i] 23
Tabel 2.2. Rincian operasi pada fungsi F(b, c, d) 24 Tabel 2.3. Rincian operasi pada fungsi G(b, c, d) 24 Tabel 2.4. Rincian operasi pada fungsi H(b, c, d) 25 Tabel 2.5. Rincian operasi pada fungsi I(b, c, d) 25
Tabel 3.1. Definisi Use Case 38
Tabel 3.2 Objek pembentuk antarmuka kelas SetKunci Form 47 Tabel 3.3 Objek pembentuk antarmuka kelas TandatanganForm 48 Tabel 3.4 Objek pembentuk antarmuka kelas Validasi Form 49
DAFTAR GAMBAR
Halaman Gambar 1.1 Proses Pembangkit dan Verifikasi Tandatangan Digital 3
Gambar 2.1 Proses Enkripsi/Dekripsi 8
Gambar 2.2 Proses Enkripsi/Dekripsi Publik Key Cryptography 8 Gambar 2.3 Pembuatan MessageDigest dengan Algoritma MD5 20 Gambar 2.4 Pengolahan blok 512 bit (Proses HMD5) 22 Gambar 2.5 Diagram Proses Tanda Tangan Digital 27 Gambar 3.1 Nilai hash (Message Digest) 31 Gambar 3.2 Proses pembentukan dan validasi tanda tangan digital 32
Gambar 3.3 Arsitektur tanda tangan digital 33
Gambar 3.4 Diagram use case 38
Gambar 3.5 Komponen penyusun aplikasi Tanda Tangan Digital 39
Gambar 3.6 Diagram alir user interface 42
Gambar 3.7 Diagram alir algoritma uji prima 42
Gambar 3.8 Diagram alir algoritma pembangkitan kunci 43
Gambar 3.9 Diagram alir Tanda tangan 44
Gambar 3.10 Diagram alir validasi pesan 45
Gambar 3.11 Antarmuka SetKunci Form 45
Gambar 3.12 Bentuk antarmuka Tandatangan form 47
Gambar 3.13 Bentuk antarmuka Validasi form 48
Gambar 4.1 Tampilan perangkat lunak Tanda Tangan Digital 51
Gambar 4.2 Tampilan proses pembuatan kunci 52
Gambar 4.3 Tampilan proses penyimpanan kunci 53
Gambar 4.4 Tampilan proses tanda tangan 54
Gambar 4.5 Tampilan tanda tangan digital 54
Gambar 4.6 Proses validasi pesan 55
Gambar 4.7 Hasil validasi dengan menghapus sebuah titik 56 Gambar 4.8 Hasil validasi dengan susunan huruf pada pesan diubah 57 Gambar 4.9 Hasil validasi pesan dengan kunci publik yang berbeda 58