STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer VERA MAGDALENA SIANTURI 041401056 PROGRAM STUDI STRATA 1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2008 Universitas Sumatera Utara PERSETUJUAN Judul : STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas : : : : : : SKRIPSI VERA MAGDALENA SIANTURI 041401056 SARJANA (S1) ILMU KOMPUTER ILMU KOMPUTER 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. NIP 131757011 Prof. Dr. Muhammad Zarlis NIP 131570434 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Prof. Dr. Muhammad Zarlis NIP 131570434 Universitas Sumatera Utara 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 Universitas Sumatera Utara 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. Universitas Sumatera Utara 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. Universitas Sumatera Utara 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. Universitas Sumatera Utara 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 Latar Belakang Masalah 1.2 Rumusan Masalah 1.3 Diagram Konsepsi 1.4 Tujuan Dan Manfaat Penelitian 1.5 Batasan Masalah 1.6 Metode Penelitian 1.7 Sistematika Penulisan 1 1 2 2 4 4 4 5 Bab 2 Landasan Teori 2.1 Kriptografi Simetri 2.2 Algoritma Asimetri (Kriptografi Kunci Publik) 2.2.1 Keamanan Sistem Kriptografi Kunci-Publik 2.2.2 Kelemahan Sistem Kriptografi Kunci Publik 2.3 Algoritma RSA 2.3.1 Notasi Matematika 2.3.2 Proses Pembuatan Kunci 2.3.3 Proses Enkripsi Pesan 2.3.4 Proses Dekripsi Pesan 2.3.5 Contoh Penghitungan RSA 2.4 Fungsi Hash 2.4.1 MD5 2.4.2 Proses Pembuatan Message Digest pada MD5 2.6 Tanda Tangan Digital 6 7 8 9 9 12 12 16 17 17 17 19 19 20 26 Bab 3 Analisis Dan Perancangan 3.1 Analisis Sistem Tanda Tangan Digital Dengan Algoritma RSA 3.1.1 Hashing 3.1.2 Set Kunci 3.1.3 Pembuatan Tanda Tangan 30 30 33 34 35 Universitas Sumatera Utara 3.1.4 Validasi 3.2 Deskripsi Perangkat Lunak 3.3 Pemodelan Use Case 3.4 Model Perancangan 3.4.1 Deskripsi Arsitektur 3.4.2 Rancangan Diagram Alir 3.4.3 Perancangan Antarmuka 35 36 37 38 39 41 46 Bab 4 Implementasi Dan Pengujian 4.1 Lingkungan Implementasi 4.2 Implementasi dan Pengujian Perangkat Lunak Tanda Tangan Digital 4.2.1 Proses Kunci 4.2.2 Proses Tanda Tangan 4.2.3 Proses Validasi 50 50 51 52 53 54 Bab 5 Kesimpulan Dan Saran 5.1 Kesimpulan 5.2 Saran 59 59 59 Daftar Pustaka Lampiran A. Listing program 60 61 Universitas Sumatera Utara DAFTAR TABEL Halaman Tabel 2.1 Tabel Nilai T[i] Tabel 2.2. Rincian operasi pada fungsi F(b, c, d) Tabel 2.3. Rincian operasi pada fungsi G(b, c, d) Tabel 2.4. Rincian operasi pada fungsi H(b, c, d) Tabel 2.5. Rincian operasi pada fungsi I(b, c, d) Tabel 3.1. Definisi Use Case Tabel 3.2 Objek pembentuk antarmuka kelas SetKunci Form Tabel 3.3 Objek pembentuk antarmuka kelas TandatanganForm Tabel 3.4 Objek pembentuk antarmuka kelas Validasi Form 23 24 24 25 25 38 47 48 49 Universitas Sumatera Utara DAFTAR GAMBAR Halaman Gambar 1.1 Proses Pembangkit dan Verifikasi Tandatangan Digital Gambar 2.1 Proses Enkripsi/Dekripsi Gambar 2.2 Proses Enkripsi/Dekripsi Publik Key Cryptography Gambar 2.3 Pembuatan MessageDigest dengan Algoritma MD5 Gambar 2.4 Pengolahan blok 512 bit (Proses HMD5) Gambar 2.5 Diagram Proses Tanda Tangan Digital Gambar 3.1 Nilai hash (Message Digest) Gambar 3.2 Proses pembentukan dan validasi tanda tangan digital Gambar 3.3 Arsitektur tanda tangan digital Gambar 3.4 Diagram use case Gambar 3.5 Komponen penyusun aplikasi Tanda Tangan Digital Gambar 3.6 Diagram alir user interface Gambar 3.7 Diagram alir algoritma uji prima Gambar 3.8 Diagram alir algoritma pembangkitan kunci Gambar 3.9 Diagram alir Tanda tangan Gambar 3.10 Diagram alir validasi pesan Gambar 3.11 Antarmuka SetKunci Form Gambar 3.12 Bentuk antarmuka Tandatangan form Gambar 3.13 Bentuk antarmuka Validasi form Gambar 4.1 Tampilan perangkat lunak Tanda Tangan Digital Gambar 4.2 Tampilan proses pembuatan kunci Gambar 4.3 Tampilan proses penyimpanan kunci Gambar 4.4 Tampilan proses tanda tangan Gambar 4.5 Tampilan tanda tangan digital Gambar 4.6 Proses validasi pesan Gambar 4.7 Hasil validasi dengan menghapus sebuah titik Gambar 4.8 Hasil validasi dengan susunan huruf pada pesan diubah Gambar 4.9 Hasil validasi pesan dengan kunci publik yang berbeda 3 8 8 20 22 27 31 32 33 38 39 42 42 43 44 45 45 47 48 51 52 53 54 54 55 56 57 58 Universitas Sumatera Utara