OTENTIKASI PESAN MENGGUNAKAN ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM SKRIPSI AULIA RAHMAN DALIMUNTHE 071402031
OTENTIKASI PESAN MENGGUNAKAN ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM SKRIPSI AULIA RAHMAN DALIMUNTHE 071402031
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. Kata kunci : Kriptografi, Tanda tangan digital, ECDSA, Kurva elliptik
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.6 Fungsi Hash
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.2 Tahap-Tahap Implementasi
42
4.3 Pengujian dan Tampilan
42 BAB 5 KESIMPULAN DAN SARAN
50
5.1 Kesimpulan
50
5.2 Saran
50 DAFTAR PUSTAKA
51 LAMPIRAN : Listing program
53
Daftar Tabel
Hal.Tabel 3.1 QR p (quadratic residue modulo)26 Tabel 3.2 Mencari Elemen E
23
(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.43 Gambar 4.3 Tampilan Login
48 Gambar 4.12 Tampilan Halaman Verifikasi Salah
48 Gambar 4.11 Tampilan Halaman Inbox Perubahan Pesan
47 Gambar 4.10 Tampilan Halaman Verifikasi Benar
47 Gambar 4.9 Tampilan Halaman Inbox
46 Gambar 4.8 Tampilan Halaman Sent Email
46 Gambar 4.7 Tampilan Halaman Email Terkirim
45 Gambar 4.6 Tampilan Penandaan Signature
44 Gambar 4.5 Tampilan Halaman Compose
44 Gambar 4.4 Tampilan Beranda
43 Gambar 4.2 Tampilan Form Daftar
Gambar 2.1 Proses Enkripsi dan Dekripsi41 Gambar 4.1 Tampilan Utama
41 Gambar 3.7 Rancangan Halaman Utama
40 Gambar 3.6 Rancangan Halaman Daftar Email
35 Gambar 3.5 Rancangan Halaman Login
34 Gambar 3.4 Diagram Use Case
34 Gambar 3.3 Flowchart Algoritma ECDSA
33 Gambar 3.2 Flowchart Sistem User Penerima
10 Gambar 3.1 Flowchart Sistem User Pengirim
8 Gambar 2.3 Proses Algoritma Asimetrik
8 Gambar 2.2 Proses Algoritma Simetrik
49