OTENTIKASI PESAN MENGGUNAKAN ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM
SKRIPSI
AULIA RAHMAN DALIMUNTHE 071402031
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2013
OTENTIKASI PESAN MENGGUNAKAN ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
AULIA RAHMAN DALIMUNTHE 071402031
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2013
PERSETUJUAN
Judul : OTENTIKASI PESAN MENGGUNAKAN
ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM
Kategori : SKRIPSI
Nama : AULIA RAHMAN DALIMUNTHE
Nomor Induk Mahasiswa : 071402031
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Nopember2013 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Syahriol Sitorus, S.Si., M.I.T. Romi Fadillah Rahmat, B.Comp.Sc., M.sc
NIP 19710310 199703 1 004 NIP 19860303 201012 1 004
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Prof. Dr. Opim Salim Sitompul, M.Sc. NIP 19610817 198701 1 001
PERNYATAAN
OTENTIKASI PESAN MENGGUNAKAN ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Nopember 2013
Aulia Rahman Dalimunthe 071402031
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 ijazah Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Ucapan terima kasih penulis sampaikan kepada:
1. Kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Habiburrohman Dalimunthe dan Ibunda Tambaia Rangkuti yang selalu sabar dalam mendidik dan membesarkan penulis.
2. Bapak Romi Fadillah Rahmat, B.Comp.Sc.M.Sc selaku pembimbing satu dan Bapak Syahriol Sitorus, S.Si., M.I.T selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.
3. Ucapan terima kasih juga ditujukan kepada Dr. Erna Budhiarti Nababan, M.IT dan Dedy Arisandi, ST., M.Kom yang telah bersedia menjadi dosen pembanding.
4. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT.
5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.
6. Terima kasih kepada Abangda Zulfikri Dalimunthe dan adinda M.Fuadi Dalimunthe yang telah memberi dukungan kepada saya. Terima kasih juga kepada teman-teman yang selalu memberikan dukungan, Rudolf Alekzandro, R.M Irvan Ridho, T.M Rezeki Asdani, Iwan Yasrin, Anandia Zelvina, Nurul Putri, Boy Utomo, Lia Silviana, Sintong, Tengku Icha, Denny, Darma, Nazam, Mahatir, Razky serta teman-teman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sebutkan satu persatu.
Akhir kata, saya ucapkan terimakasih kepada semua pihak yang terkait dalam penyelesaian skripsi ini yang tidak bisa saya sebut satu persatu. Semoga Allah SWT membalas segala kebaikan yang sudah diberikan dan semoga Allah tetap memberi rahmat dan keberkahan kepada kita semua.
ABSTRAK
Dalam konteks keamanan data selalu dihubungkan dengan kriptografi. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan keamanan informasi. Dalam pengiriman pesan, aspek keamanan sangatlah penting karena banyak terjadi penyadapan dan penukaran data oleh orang yang tidak bertanggung jawab. Hal ini bisa menyebabkan perubahan pesan yang dikirim. Untuk menvalidasi pesan itu asli atau tidak ada perubahan maka pesan dibubuhi tanda tangan digital. Dengan tanda tangan digital maka integritas data terjamin. Salah satu metode yang digunakan untuk tanda tangan digital adalah ECDSA (Elliptical Curve Digital Signature Algorithm) yang beroperasi dengan kelompok kurva elliptik sebagai basis perhitungan. Penelitian ini hanya di aplikasikan untuk pengiriman pesan teks pada email. Maka dari itu hasil dari penelitian ini merupakan sebuah aplikasi yang dapat mengirim pesan teks dan memverifikasi pesan teks.
AUTHENTICATE THE MESSAGE USING ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM
ABSTRACT
The security of data is always related to cryptography. Cryptography is a field in computer science which studies mathematical techniques and methods that are related to information security. In message transmission, the aspect of security is of upmost importance where there are many data tapping and data exchange by irresponsible individuals. These events result in the transformation of sent message. To validate whether the message is real or whether there are any changes to the message or not, a digital signature is applied to the message. By applying digital signature the integrity of the data is assured. One of the methods being used for digital signature is ECDSA (Elliptical Curve Digital Signature Algorithm) which operates with an elliptical curve as the basis of calculation. This research is applied only to the transmission of text message in email. So, this research is an application which can be used to send and validate text messages. Keywords: Cryptography, Digital Signature, ECDSA, Elliptical Curve
DAFTAR ISI
Ha l.
PERSETUJUAN i
PERNYATAAN ii
UCAPAN TERIMA KASIH iii
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL ix DAFTAR GAMBAR x BAB 1 PENDAHULUAN 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metodologi Penelitian 3 1.7 Sistematika Penulisan 4
BAB 2 LANDASAN TEORI 6
2.1 Pengenalan Kriptografi 6
2.2 Enkripsi dan Dekripsi 7
2.3 Algoritma Kriptografi 8
2.3.1 Algoritma Simetrik (Symmetric Algoithms) 8 2.3.2 Algoritma Asimetrik (Asymmetric Algorithms) 9 2.3.3 Perbandingan Algoritma Simetrik dengan
Asimetrik 10
2.4 Serangan Kriptografi 11
2.5 Tanda Tangan Digital 12
2.5.1 Sifat Umum dari Tanda Tangan Digital 12
2.5.2 Penandatanganan Pesan 13
2.5.3 Skenario Tanda Tangan Digital 14
2.7 DSA 16
2.8 Elgamal 17
2.9 ECC ( Elliptical Curve Cryptography ) 18 2.9.1 Jenis-jenis Elliptic Curve Cryptography 19 2.9.1 Hal –hal yang perlu diperhatikan pada Elliptic
Curve Cryptography 20
2.10 ECDSA ( Elliptical Curve Digital
Signature Algorithm ) 20
2.10.1 Parameter Domain ECDSA 21
2.10.2 Proses ECDSA 21
2.11 Penelitian Terdahulu 22
BAB 3 ANALISIS DAN PERANCANGAN 25
3.1 ECC ( Elliptical Curve Cryptography ) 25 3.1.1 Menentukan Nilai P Bilangan Prima dengan
Syarat P>3 untuk Fp 26
3.1.2 Menentukan Nilai a,b dan Persamaan Kurva
Eliptik 26
3.2.3 Menentukan Nilai G dan n 26
3.2 ECDSA ( Elliptical Curve Digital Signature Algorithm ) 31 3.2.1 Proses Pembentukan Kunci Publik dan Privat 31 3.2.2 Proses Signing (Pemberian Tanda Tangan) 32 3.2.3 Proses Verifying (Verifikasi Tanda Tangan) 32
3.3 Perancangan Flowchart Sistem 33
3.3.1 Flowchart Sistem User Pengirim 33 3.3.2 Flowchart Sistem User Penerima 34
3.3.3 Flowchart Algoritma ECDSA 34
3.4 Use Case Diagram 35
3.5 Perancangan Antar Muka Pemakai 40
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 42
4.1 Implementasi Sistem 42
4.3 Pengujian dan Tampilan 42
BAB 5 KESIMPULAN DAN SARAN 50
5.1 Kesimpulan 50
5.2 Saran 50
DAFTAR PUSTAKA 51
Daftar Tabel
Hal.
Tabel 3.1 QRp (quadratic residue modulo) 26
Tabel 3.2 Mencari Elemen E23 (1,4) 27
Tabel 3.3 Spesifikasi Use case User Login 36
Tabel 3.4 Spesifikasi Use case User Daftar Akun 36 Tabel 3.5 Spesifikasi Use case User Lihat Profil 37 Tabel 3.6 Spesifikasi Use case User Lihat Email Masuk 38 Tabel 3.7 Spesifikasi Use case User Kirim Email 38 Tabel 3.8 Spesifikasi Use case User Lihat Email Keluar 39 Tabel 3.9 Spesifikasi Use case User Logout 39
Daftar Gambar
Hal.
Gambar 2.1 Proses Enkripsi dan Dekripsi 8
Gambar 2.2 Proses Algoritma Simetrik 8
Gambar 2.3 Proses Algoritma Asimetrik 10
Gambar 3.1 Flowchart Sistem User Pengirim 33
Gambar 3.2 Flowchart Sistem User Penerima 34
Gambar 3.3 Flowchart Algoritma ECDSA 34
Gambar 3.4 Diagram Use Case 35
Gambar 3.5 Rancangan Halaman Login 40
Gambar 3.6 Rancangan Halaman Daftar Email 41
Gambar 3.7 Rancangan Halaman Utama 41
Gambar 4.1 Tampilan Utama 43
Gambar 4.2 Tampilan Form Daftar 43
Gambar 4.3 Tampilan Login 44
Gambar 4.4 Tampilan Beranda 44
Gambar 4.5 Tampilan Halaman Compose 45
Gambar 4.6 Tampilan Penandaan Signature 46
Gambar 4.7 Tampilan Halaman Email Terkirim 46
Gambar 4.8 Tampilan Halaman Sent Email 47
Gambar 4.9 Tampilan Halaman Inbox 47
Gambar 4.10 Tampilan Halaman Verifikasi Benar 48 Gambar 4.11 Tampilan Halaman Inbox Perubahan Pesan 48 Gambar 4.12 Tampilan Halaman Verifikasi Salah 49