SISTEM TANDA TANGAN DIGITAL PADA PESAN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RSA
SKRIPSI LIA SILVIANA 071402051
PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
Universitas Sumatera Utara
SISTEM TANDA TANGAN DIGITAL PADA PESAN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RSA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi
LIA SILVIANA 071402051
PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
Universitas Sumatera Utara
ii PERSETUJUAN
Judul
: SISTEM TANDA TANGAN DIGITAL PADA PESAN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RSA
Kategori
: SKRIPSI
Nama
: LIA SILVIANA
Nomor Induk Mahasiswa
: 071402051
Program Studi
: SARJANA (S1) TEKNOLOGI INFORMASI
Departemen
: TEKNOLOGI INFORMASI
Fakultas
: ILMU
KOMPUTER
DAN
TEKNOLOGI
INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, 7 Mei 2013 Komisi Pembimbing
:
Pembimbing 2
Dra. Mardiningsih NIP 19630405 198811 2 001
Pembimbing 1
Drs. Sawaluddin, MIT. NIP 19591231 199802 1 001
Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua,
Prof. Dr. Opim Salim Sitompul, M.Sc. NIP 19610817 198701 1 001
Universitas Sumatera Utara
iii PERNYATAAN
PREDIKSI KURS RUPIAH TERHADAP DOLLAR AMERIKA SERIKAT MENGGUNAKAN EVOLVING FUZZY NEURAL NETWORK (EFUNN)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Januari 2013
Lia Silviana 071402051
Universitas Sumatera Utara
iv UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Sawaluddin, MIT dan Ibu Dra. Mardiningsih, M.Sc selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Bapak Syahril Efendi, S.Si, M.IT dan Bapak Dedy Arisandi, S.T, M.Kom yang telah bersedia menjadi dosen pembanding. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta seluruh pegawai biro Tata Usaha Fasilkomti usu yang telah membantu penulis memberikan pelayanan ketatausahaan selama penulis mengikuti perkuliahan di Program Studi S1 Teknologi Informasi. Skripsi ini terutama penulis persembahkan untuk kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi, ayahanda Drs. Johansyah Tanjung dan ibunda Nurhayati, SmHk yang telah melahirkan dan selalu sabar dalam mendidik dan membesarkan serta membimbing penulis hingga dapat melanjutkan pendidikan sampai ke perguruan tinggi. Untuk kakak penulis Santi Utari S.Pd yang selalu memberikan doa dan dorongan kepada penulis. Terima kasih juga penulis ucapkan kepada teman-teman yang selalu memberikan dukungan, Boy, Veny, Azwar, Roni, Nurul, Shifa, Tika, Polin, seluruh angkatan 07 serta temanteman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sebutkan satu persatu. Semoga Allah SWT membalas kebaikan kalian dengan nikmat yang berlimpah.
Universitas Sumatera Utara
v ABSTRAK
Pengiriman pesan melalui e-mail semakin meningkat sehingga diperlukan sistem keamanan yang mampu menjaga kerahasiaan pesan yang dikirim melalui e-mail. Sering terjadinya penyadapan pesan oleh pihak-pihak yang tidak bertanggung jawab membuat penulis melakukan analisis dan membuat aplikasi tandan tangan digital yang mampu menjaga keamanan e-mail. 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 sistem tanda tangan digital yang dibangun dengan menggunakan bahasa pemrograman web PHP dan database MySQL. Perangkat lunak yang dibangun akan menjelaskan proses tanda tangan digital. Aplikasi tersebut dibuat dengan menggunakan algoritma RSA (Ron Rivest, Adi Shamir, dan Leonard Adleman) untuk mengenkripsi dan mendekripsi pesan. Pada tulisan ini penulis akan menganalisis bagaimana implementasi algoritma RSA terhadap pengiriman pesan dan penerimaan pesan sehingga pengguna dapat menjaga kerahasiaan pesan. Kata Kunci : email, tanda tangan digital, algoritma RSA, kriptografi.
Universitas Sumatera Utara
vi DIGITAL SIGNATURE SYSTEM ON TEXT MESSAGE USING RSA PUBLIC KEY CRYPTOGRAPHY ALGORITHM ABSTRACT
Sending messages via e-mail has increased so that the security system is needed that is able to maintain the confidentiality of messages sent through e-mail. Frequent occurrence intercepts messages by parties who are not responsible to make the authors analyze and make a bunch of digital signature applications are able to maintain the security of e-mail. Digital signature is a signature-based cryptographic schemes. Digital signature created by using public key cryptography. RSA algorithm is a public key algorithm that can be used for digital signature system. Mechanism of action of the RSA algorithm is quite simple and easy to understand but sturdy. RSA security lies in the difficulty of factoring large numbers into prime factors. Software for digital signature system is built using the PHP web programming language and MySQL database. The software is built to explain the process of digital signatures. The application is created using the RSA algorithm (Ron Rivest, Adi Shamir, and Leonard Adleman) to encrypt and decrypt messages. In this paper the author will analyze how the implementation of the RSA algorithm for message sending and receiving messages so that users can keep messages confidential. Keyword : email, digital signature, RSA algorithm, cryptography
Universitas Sumatera Utara
vii DAFTAR ISI
Hal. Persetujuan Pernyataan Ucapan Terima Kasih Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar
ii iii iv v vi vii ix x
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. Metodologi Penelitian 1.7 Sistematika Penulisan
1 1 2 2 3 3 3 4
BAB 2 Landasan Teori 2.1. Kriptografi 2.2.1. Tujuan Kriptografi 2.2.2. Proses Kriptografi 2.2. Kriptografi berdasarkan Kunci 2.2.1. Kriptografi Kunci Simetri (Symmetric-key Cryptography) 2.2.2. Kunci Asimetri (Asymmetric-key Cryptography)
5 5 5 6 7 7
7 2.3. Keamanan Sistem Kriptografi 9 2.3.1. Kriteria Keamanan Kriptografi 9 2.3.2. Jenis-Jenis Ancaman Keamanan 10 2.4. Jenis-Jenis Serangan Terhadap Sistem Kriptografi 12 2.4.1. Berdasarkan keterlibatan penyerang dalam komunikasi 12 2.4.2. Berdasarkan banyaknya informasi yang diketahui kriptanalis 12 2.4.3. Berdasarkan teknik yang digunakan dalam menemukan kunci 13 2.5. Tanda Tangan Digital 13 2.5.1. Sifat umum dari tanda tangan digital 14 2.5.2. Penandatanganan Pesan 14 2.5.3. Skenario tandatangan digital 15 2.6. Fungsi Hash 17 2.6.1. Fungsi hash satu-arah (One-way Hash) 18 2.6.2. Algoritma MD5 19 2.6.3. Perbedaan algoritma MD4 dan MD5 20
Universitas Sumatera Utara
viii 2.7. Bilangan Prima 2.7.1. Metode penentuan bilangan prima 2.7.2. Metode The Sieve of Eratothenes 2.8. Algoritma RSA 2.8.1. Konsep dasar perhitungan matematis algoritma RSA 2.9. Proses Enkripsi dan Dekripsi RSA 2.9.1. Proses pembentukan kunci 2.9.2. Proses enkripsi 2.9.3. Proses dekripsi 2.10. Kecepatan Algoritma RSA 2.11. RSA Digital Signature 2.11.1 Message Digest 2.11.2 Digital Signature 2.11.3 Verifikasi Digital Signature 2.12. Unified Modeling Language 2.12.1 Diagram Use case 2.12.2 Spesifikasi Use case (Use case specification) 2.12.3 Diagram Aktivitas(Activity Diagram) 2.13. Flowchart 2.14. Bahasa Pemrograman PHP 2.15. Penelitian Terdahulu
21 21 22 27 27 30 30 31 31 31 32 32 33 33 34 35 36 37 38 39 41
BAB 3 Analisis dan Perancangan 3.1. Analisis Sistem Enkripsi dan Dekripsi dengan Algoritma RSA 3.1.1. Algoritma membangkitkan pasangan kunci 3.1.2. Enkripsi 3.1.3. Dekripsi 3.1.4. Contoh perhitungan pembangkit kunci, enkripsi RSA dan dekripsi RSA 3.2. Perancangan Flowchart Sistem 3.3. Use case Diagram 3.3.1.Model spesifikasi Use case 3.3.2.Diagram Aktivitas 3.4. Perancangan Antarmuka Pemakai
44 44 44 45 45
BAB 4 Implementasi dan Pengujian Sistem 4.1. Implementasi Sistem 4.2. Tahap-Tahap Implementasi 4.3. Komponen Utama Dalam Implementasi 4.4. Pengujian dan Tampilan
68 68 69 69 70
BAB 5 Kesimpulan dan Saran 5.1 Kesimpulan 5.2 Saran
77 77 77
Daftar Pustaka Lampiran Listing Program
79 81
45 49 53 54 59 63
Universitas Sumatera Utara
ix
DAFTAR TABEL
Tabel 2.1 Kelebihan dan Kelemahan Kriptografi Kunci Simetri Tabel 2.2 Kelebihan dan Kekurangan Kriptografi Kunci Asimetri Tabel 2.2 Kelebihan dan Kekurangan Kriptografi Kunci Asimetri (Lanjutan) Tabel 2.3 Simbol Aktivitas Diagram Tabel 2.4 Fungsi simbol-simbol flowchart Tabel 2.5 Penelitian Terdahulu Tabel 2.5 Penelitian Terdahulu (Lanjutan) Tabel 3.1 Nilai GCD Tabel 3.1 Nilai GCD (Lanjutan) Tabel 3.2 Perhitungan Kunci Privat Tabel 3.3 Enkripsi Tabel 3.4 Dekripsi Tabel 3.5 Konversi Pesan Ke Karakter ASCII Tabel 3.6 Spesifikasi Use case User Login Tabel 3.7 Spesifikasi Use case User Daftar Akun Tabel 3.7 Spesifikasi Use case User Daftar Akun (Lanjutan) Tabel 3.8 Spesifikasi Use case User Lihat Profil Tabel 3.9 Spesifikasi Use case User Lihat Email Masuk Tabel 3.10 Spesifikasi Use case User Kirim Email Tabel 3.10 Spesifikasi Use case User Kirim Email (Lanjutan) Tabel 3.11 Spesifikasi Use case User Lihat Email Keluar Tabel 3.12 Spesifikasi Use case User Logout
Hal. 8 8 9 37 38 42 43 45 46 46 47 48 49 55 55 56 56 57 57 58 58 59
Universitas Sumatera Utara
x
DAFTAR GAMBAR
Gambar 2.1 Proses Kriptografi Gambar 2.2 Skema Kriptografi Kunci Simetri Gambar 2.3 Skema Kriptografi Kunci Asimetri Gambar 2.4 Interruption Gambar 2.5 Interception Gambar 2.6 Modification Gambar 2.7 Fabrication Gambar 2.8 Skenario tanda tangan digital Gambar 2.9 Fungsi hash satu-arah Gambar 2.10 Pembuatan message digest dengan algoritma MD5 Gambar 2.11 Pengolahan blok 512 bit (Proses HMD5) Gambar 2.12 Proses 1 pembangkit bilangan prima The Sieve of Eratothenes Gambar 2.13 Proses 2 pembangkit bilangan prima The Sieve of Eratothenes Gambar 2.14 Proses 3 pembangkit bilangan prima The Sieve of Eratothenes Gambar 2.15 Proses 4 pembangkit bilangan prima The Sieve of Eratothenes Gambar 2.16 Proses 5 pembangkit bilangan prima The Sieve of Eratothenes Gambar 2.17 Proses 6 pembangkit bilangan prima The Sieve of Eratothenes Gambar 2.18 Proses 7 pembangkit bilangan prima The Sieve of Eratothenes Gambar 2.19 Skema Digital Signature Gambar 2.20 Skema proses untuk verifikasi dengan algoritma RSA Gambar 2.21 Aktor-aktor use case Gambar 2.22 Aktor dan use case Gambar 2.23 Keterhubungan Gambar 3.1 Flowchart proses pembuatan tandatangan digital Gambar 3.2 Flowchart proses verifikasi tandatangan digital Gambar 3.3 Flowchart Enkripsi Gambar 3.4 Flowchart Dekripsi Gambar 3.5 Diagram Use case Gambar 3.6 Diagram Aktivitas Login Gambar 3.7 Diagram Aktivitas Daftar Email Gambar 3.8 Diagram Aktivitas Pembuatan Kunci Gambar 3.9 Diagram Aktivitas Kirim Pesan Gambar 3.10 Diagram Aktivitas Inbox Gambar 3.11 Diagram Aktivitas Cari User Gambar 3.12 Rancangan Halaman Login Gambar 3.13 Rancangan Halaman Daftar Email Gambar 3.14 Rancangan Halaman Beranda Gambar 3.15 Rancangan Halaman Pembangkit Kunci Gambar 3.16 Tampilan Halaman Compose Gambar 3.17 Rancangan Halaman Sent Email Gambar 3.18 Rancangan Halaman Verifikasi
Hal. 6 7 7 10 11 11 11 15 18 20 20 23 24 24 25 25 26 26 32 33 35 36 36 50 51 52 53 54 60 60 61 61 62 62 63 64 64 65 65 66 66
Universitas Sumatera Utara
xi Gambar 3.19 Rancangan Halaman Cari User Gambar 4.1 Tampilan utama Gambar 4.2 Form daftar email Gambar 4.3 Halaman Login Gambar 4.4 Halaman Beranda (Home) Gambar 4.5 Halaman Pembangkit Kunci Gambar 4.6 Nilai p dan q Gambar 4.7 Tampilan pasangan kunci publik dan private Gambar 4.8 Halaman Compose Gambar 4.9 Hasil Signature Gambar 4.10 Halaman Sent Email Gambar 4.11 Halaman Inbox Gambar 4.12 Halaman Verifikasi Gambar 4.13 Halaman Cari User Gambar 4.14 Pasangan Kunci public (D, N) Gambar 4.15 Input D dan N Gambar 4.16 Hasil Verifikasi Benar Gambar 4.17 Hasil Verifikasi Salah
67 70 70 71 71 71 72 72 72 73 73 74 74 75 75 75 76 76
Universitas Sumatera Utara