IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN
ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA)
SKRIPSI
ANDRUS 111401094
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN
ELLIPTIC CURVE DIGITAL SIGNATUREALGORITHM (ECDSA)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
ANDRUS 111401094
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI MODIFIKASI SISTEM
KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATUREALGORITHM (ECDSA)
Kategori : SKRIPSI
Nama : ANDRUS
Nomor Induk Mahasiswa : 111401094
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Dosen Pembimbing II Dosen Pembimbing I
Jos Timanta Tarigan, S. Kom, M. Sc Prof. Dr. Opim Salim Sitompul, M. Sc. NIP. 19850126 29504 1 001 NIP. 19610817 198701 1 001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATUREALGORITHM (ECDSA)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Mei 2016
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa, karena rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Banyak bantuan berupa bantuan, kebaikan, buah pikiran dan kerjasama yang telah penulis peroleh selama menjalani studi sampai dengan penyelesaian skripsi ini. Oleh karena itu, sudah sepantutnya penulis menyampaikan ucapan terimakasih kepada pihak-pihak yang telah membantu.
Ucapan terima kasih penulis sampaikan kepada:
1. Almarhum ayah Harris Max, ibu tercinta Ng Siu San, kepada adik Diorman, dua kakak Yenny dan Selly yang selalu memberikan perhatian dan dukungan serta kasih sayang kepada penulis.
2. Bapak Prof. Dr. Opim Salim Sitompul, M. Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara dan dosen pembimbing I yang telah memberikan bimbingan selaku dosen pembanding I
yang telah memberikan bimbingan, kritik, dan saran kepada penulis dalam menyelesaikan skripsi ini.
3. Bapak Jos Timanta Tarigan, S. Kom, M. Sc selaku dosen pembimbing II yang telah memberikan bimbingan selaku dosen pembanding I yang telah memberikan bimbingan, kritik, dan saran kepada penulis dalam menyelesaikan skripsi ini.
4. Ibu Dr. Elviawaty Muisa Zamzami, ST., MT., MM selaku Wakil Dekan I dan dosen pembanding I yang telah memberikan bimbingan, kritik, dan saran kepada penulis dalam menyelesaikan skripsi ini.
5. Bapak Herriyance, ST., M.Kom selaku dosen pembanding II yang telah memberikan bimbingan, kritik, dan saran kepada penulis dalam menyelesaikan skripsi ini.
7. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan dosen Pembimbing Akademik yang telah memberikan bimbingan dan dukungan kepada penulis.
8. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Wakil Dekan III dan Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
9. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terutama abangda Faisal Hamid yang telah membantu proses akademik dan tugas akhir penulis.
10.Stambuk 2011 yang telah memberikan semangat, teman diskusi dan teman seperjuangan dalam menggapai gelar Sarjana Komputer.
11.Stambuk 2010, adik-adik stambuk 2012 dan 2013 yang telah memberikan bantuan moral, nasihat, pengetahuan, semangat, serta berbagi canda tawa kepada penulis.
12.Semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat tuliskan satu per satu.
Semoga Tuhan Yang Maha Esa memberikan berkah kepada semua pihak yang telah memberikan bantuan, semangat, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara.
Medan, Mei 2016
ABSTRAK
Semakin pesat perkembangan teknologi informasi membuat keamanan data menjadi salah satu faktor yang penting dalam komunikasi data. Hal ini diperlukan untuk menghindari akses oleh pihak yang tidak berhak. Salah cara yang digunakan untuk menjaga kerahasian pesan dan menjamin pengirim pesan dapat dikenali adalah dengan menggunakan sistem kriptografi. Dalam penelitian ini, penulis menggabungkan penggunaan algoritma Rivest-Shamir-Adleman (RSA) yang dimodifikasi dengan algoritma Elliptic Curve Digital Signature Algorithm (ECDSA), dimana pengirim akan membuat tanda tangan digital untuk pesan kemudian dienkripsi bersamaan dengan pesan dengan menggunakan kunci penerima. Modifikasi pada algoritma RSA bertujuan untuk mempercepat proses dalam algoritma tersebut. Proses pembacaan pesan yang sudah disamarkan dan pengidentifikasian pengirim hanya dapat dilakukan oleh orang yang mengetahui kunci yang digunakan. Berdasarkan penelitian yang dilakukan algoritma ECDSA keaslian dan kepemilikan dari pesan dan dijamin.
ABSTRACT
Rapid development of information technology makes data security is one of
important factor in data communications. The former is necessary to avoid access by unauthorized parties. One of the way to maintain message confidentiality and ensure the sender of the message can be identified by using a cryptography system. In this research, the writer combines the use of modified Rivest-Shamir-Adleman (RSA) algorithm with Elliptic Curve Digital Signature Algorithm (ECDSA), the sender will create a digital signature over the message and then encrypted together with the message by using receiver key. Modifications to RSA algorithm purpose is to speed up the process in the algorithm. The process of reading the message that has camouflaged and to identify sender can only be done by someone who know the used key. Based on research, ECDSA algorithm can guarante authenticity and ownership of message.
DAFTAR ISI
1.7Sistematika Penulisan 4
Bab II Tinjauan Pustaka
2.1 Kriptografi 5
2.3.2 Faktor Persekutuan Terbesar 9
2.3.3 Relatif Prima 9
2.3.4 Fungsi Phi Euler 10
2.3.5 Algoritma Extended Euclidean 10
2.3.6 Inversi Modulo 11
2.3.7 Eksponensial Modulo 12
2.3.8 Pengujian Bilangan Prima Miller-Rabin 13
2.4 Algoritma SHA-1 15
2.5 Algoritma SHA-2 17
2.6 Kurva Elips 19
2.6.1 Kriptografi Kurva Elips 20
2.6.2 Aturan Penjumlahan Dua Titik Pada Kurva Elips 22
2.7 Sistem Kriptografi RSA 24
2.7.2 Enkripsi RSA 25
2.7.3 Dekripsi RSA 26
2.8 Algoritma Tanda Tangan Digital Kurva Elips Elliptic Curve Digital
Signature Algorithm 26
2.8.1 Pembangkitan Kunci ECDSA 26
2.8.2 Pembentukan Tanda Tangan ECDSA 27 2.8.3 Proses Verifikasi Tanda Tangan ECDSA 27
2.9 Pretty Good Privacy (PGP) 28
2.10 Penelitian yang Relevan 28
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 30
3.1.1 Analisis Permasalah an 30
3.1.2 Analisis Kebutuhan 30
3.1.3 Perancangan Sistem 32
Bab 4 Implementasi dan Pengujian
4.1Implementasi Sistem 44
4.1.1 TampilanHalaman Depan 44
4.1.2 TampilanBangkitkan Kunci 45
4.1.3 TampilanBangkitkan Tanda Tangan Digital dan Enkripsi
Pesan 45
4.1.4 TampilanEnkripsi Pesan dan Verifikasi Tanda Tangan
Digital 46
4.1.5 Tampilan Pilihan 46
4.2 Pengujian Sistem 47
4.2.1 Skenario Skenario Pembangkitan Kunci dengan menggunakan
algoritma ECDSA dan RSA 47
4.2.2 Skenario Pembangkitan Tanda Tangan Digital dan Enkripsi
Pesan 50
4.2.3 Skenario Dekripsi Pesan dan Verifikasi Tanda Tangan Digital 54 4.2.4 Pengujian Pembangkitan Kunci, Enkripsi dan Dekripsi RSA 57 4.2.5 Pengujian Pembangkitan Kunci, Pembangkitan Tanda Tangan
Digital dan Verifikasi Tanda Tangan Digital ECDSA 58
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 61
5.2.Saran 61
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1 Tabel Algoritma Extended Euclidean 11
2.2 Tabel Inversi Modulo 11
2.3 Tabel Modulus Eksponensial 12
2.4 Tabel Perhitungan Algoritma Miller-Rabin 13 2.5 Tabel Perhitungan Algoritma Miller-Rabin 14 2.6 Tabel Perhitungan Algoritma Miller-Rabin 14 2.7 Tabel Perhitungan Algoritma Miller-Rabin 14
2.8 Nilai Konstanta Variabel K 19
2.9 Hubungan antara Grup dengan kurva 20
2.10 Perhitungan Euler Criterion 21
2.11 Pasangan koordinat pada kurva elips 21
4.1 Pengujian Pembangkitan Kunci RSA yang dimodifikasi 57 4.2 Pengujian Enkripsi dan Dekripsi RSA yang dimodifikasi 58 4.3 Pengujian Pembangkitan Kunci ECDSA 59
4.4 Pengujian Pembangkitan Tanda Tangan dan Verifikasi
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 Skema Sebuah Sistem Kriptografi 6
2.2 Skema Tanda Tangan Digital. 6
2.3 Proses SHA-1 untuk setiap bitword 16 2.4 Proses SHA-1 untuk setiap 512 bit blok 17 2.5 Proses SHA-2 pada setiap iterasi 19 2.6 Sebaran titik-titik pada kurva elips 22 2.7 Gambaran secara geometri penjumlahan dua titik berbeda 23 2.8 Gambaran Secara geometri penjumlahan dua titik sama 23
2.9 Gambaran Geometris untuk (3,10) + (9,7) = (17,20) 23 2.10 Gambaran Geometris untuk (3,10) + (3,10) = (7,12) 24 3.1 Flowchart Proses Pembangkitan Kunci 32 3.2 Flowchart Proses Enkripsi Pesan dan Tanda Tangan
3.5 Activity Bangkitkan Kunci 36
3.6 Activity Bangkitkan Tanda Tangan Digital dan Enkripsi Pesan
37
3.7 Activity Diagram Dekripsi Pesan dan Verifikasi Tanda Tangan Digital
38
3.8 Sequence Diagram Bangkitkan Kunci 39 3.9 Sequence Diagram Bangkitkan Tanda Tangan
Digital dan Dekripsi Pesan
39
3.10 Sequence Diagram Dekripsi Pesan dan Verifikasi Tanda Tangan Digital
40
3.11 Rancangan Antarmuka Bangkitkan Kunci 41 3.12 Rancangan Antarmuka Bangkitkan Tanda Tangan Digital
dan Enkripsi Pesan. 42
3.13 Rancangan Baca Pesan dan Verifikasi Tanda Tangan 43
4.2 Tampilan Bangkitkan Kunci 45 4.3 Tampilan Bangkitkan Tanda Tangan Digital dan Enkripsi
Pesan
45
4.4 Tampilan Enkripsi Pesan dan Verifikasi Tanda Tangan Digital
46
4.5 Tampilan Pilihan 46
4.6 Grafik Pembangkitan Kunci RSA 57
4.7 Grafik Enkripsi dan Dekripsi RSA 58
4.8 Grafik Pembangkitan Kunci ECDSA 59
4.9 Grafik Pembangkitan dan Verifikasi Tanda Tangan
DAFTAR LAMPIRAN
Nomor
Lampiran Nama Lampiran Halaman
1 Tabel Bitword 64
2 Tabel Perubahan nilai variabel A, B, C, D, E, F, G, H 65
3 Tabel Enkripsi 68
4 Ciphertext 70
5 Tabel Dekripsi 71