Implementasi Modifikasi Sistem Kriptografi RSA dan Elliptic Curve Digital Signature Algorithm (ECDSA)
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
MEDAN
2016
Universitas Sumatera Utara
IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN
ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (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
MEDAN
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: IMPLEMENTASI
MODIFIKASI
SISTEM
KRIPTOGRAFI RSA DAN ELLIPTIC CURVE
DIGITAL SIGNATURE ALGORITHM (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
NIP. 19850126 29504 1 001
Prof. Dr. Opim Salim Sitompul, M. Sc.
NIP. 19610817 198701 1 001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom
NIP. 19620317 19910210 01
Universitas Sumatera Utara
iii
PERNYATAAN
IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN
ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (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
Andrus
111401094
Universitas Sumatera Utara
iv
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.
6. Bapak Prof. Dr. Runtung Sitepu selaku Rektor Universitas Sumatera Utara.
Universitas Sumatera Utara
v
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
Penulis
Universitas Sumatera Utara
vi
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,
menggabungkan penggunaan algoritma Rivest-Shamir-Adleman (RSA)
penulis
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.
Kata kunci: ECDSA, Kunci, Modifikasi RSA, Kriptografi, Pesan.
Universitas Sumatera Utara
vii
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.
Keyword : ECDSA, Key, Modified RSA, Cryptography and Message.
Universitas Sumatera Utara
viii
DAFTAR ISI
Halaman
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran
ii
iii
iv
vi
vii
viii
x
xi
xiii
Bab I 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
2
2
3
3
3
4
Bab II Tinjauan Pustaka
2.1 Kriptografi
2.1.1 Terminologi
2.1.2 Tujuan Kriptografi
2.2 Grup
2.3 Teori Bilangan Bulat
2.3.1 Kekongruenan
2.3.2 Faktor Persekutuan Terbesar
2.3.3 Relatif Prima
2.3.4 Fungsi Phi Euler
2.3.5 Algoritma Extended Euclidean
2.3.6 Inversi Modulo
2.3.7 Eksponensial Modulo
2.3.8 Pengujian Bilangan Prima Miller-Rabin
2.4 Algoritma SHA-1
2.5 Algoritma SHA-2
2.6 Kurva Elips
2.6.1 Kriptografi Kurva Elips
2.6.2 Aturan Penjumlahan Dua Titik Pada Kurva Elips
2.7 Sistem Kriptografi RSA
2.7.1 Pembangkitan Kunci RSA
5
5
8
8
9
9
9
9
10
10
11
12
13
15
17
19
20
22
24
25
Universitas Sumatera Utara
ix
2.7.2 Enkripsi RSA
2.7.3 Dekripsi RSA
2.8 Algoritma Tanda Tangan Digital Kurva Elips Elliptic Curve Digital
Signature Algorithm
2.8.1 Pembangkitan Kunci ECDSA
2.8.2 Pembentukan Tanda Tangan ECDSA
2.8.3 Proses Verifikasi Tanda Tangan ECDSA
2.9 Pretty Good Privacy (PGP)
2.10 Penelitian yang Relevan
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem
3.1.1 Analisis Permasalah an
3.1.2 Analisis Kebutuhan
3.1.3 Perancangan Sistem
25
26
26
26
27
27
28
28
30
30
30
32
Bab 4 Implementasi dan Pengujian
4.1 Implementasi Sistem
4.1.1 Tampilan Halaman Depan
4.1.2 Tampilan Bangkitkan Kunci
4.1.3 Tampilan Bangkitkan Tanda Tangan Digital dan Enkripsi
Pesan
4.1.4 Tampilan Enkripsi Pesan dan Verifikasi Tanda Tangan
Digital
4.1.5 Tampilan Pilihan
4.2 Pengujian Sistem
4.2.1 Skenario Skenario Pembangkitan Kunci dengan menggunakan
algoritma ECDSA dan RSA
4.2.2 Skenario Pembangkitan Tanda Tangan Digital dan Enkripsi
Pesan
4.2.3 Skenario Dekripsi Pesan dan Verifikasi Tanda Tangan Digital
4.2.4 Pengujian Pembangkitan Kunci, Enkripsi dan Dekripsi RSA
4.2.5 Pengujian Pembangkitan Kunci, Pembangkitan Tanda Tangan
Digital dan Verifikasi Tanda Tangan Digital ECDSA
44
44
45
45
46
46
47
47
50
54
57
58
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
5.2.Saran
61
61
Daftar Pustaka
62
Universitas Sumatera Utara
x
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
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
Tanda Tangan Digital
60
dengan kurva
20
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Nomor
Nama Gambar
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
3.1
Gambaran Geometris untuk (3,10) + (3,10) = (7,12)
24
Flowchart Proses Pembangkitan Kunci
Flowchart Proses Enkripsi Pesan dan Tanda Tangan
Digital
Flowchart Dekripsi Pesan dan Verifikasi Tanda Tangan
Digital
32
3.4
Use Case
35
3.5
3.6
Activity Bangkitkan Kunci
Activity Bangkitkan Tanda Tangan Digital dan Enkripsi
Pesan
Activity Diagram Dekripsi Pesan dan Verifikasi Tanda
Tangan Digital
36
Sequence Diagram Bangkitkan Kunci
39
Sequence Diagram Bangkitkan Tanda Tangan
Digital dan Dekripsi Pesan
Sequence Diagram Dekripsi Pesan dan Verifikasi Tanda
Tangan Digital
39
Rancangan Antarmuka Bangkitkan Kunci
Rancangan Antarmuka Bangkitkan Tanda Tangan Digital
dan Enkripsi Pesan.
Rancangan Baca Pesan dan Verifikasi Tanda Tangan
41
Tampilan Halaman Depan
44
3.2
3.3
3.7
3.8
3.9
3.10
3.11
3.12
3.13
4.1
33
34
37
38
40
42
43
Universitas Sumatera Utara
xii
45
4.5
Tampilan Bangkitkan Kunci
Tampilan Bangkitkan Tanda Tangan Digital dan Enkripsi
Pesan
Tampilan Enkripsi Pesan dan Verifikasi Tanda Tangan
Digital
Tampilan Pilihan
4.6
Grafik Pembangkitan Kunci RSA
57
4.7
Grafik Enkripsi dan Dekripsi RSA
58
4.8
Grafik Pembangkitan Kunci ECDSA
59
4.2
4.3
4.4
4.9
Grafik Pembangkitan dan Verifikasi Tanda Tangan
Digital
45
46
46
60
Universitas Sumatera Utara
xiii
DAFTAR LAMPIRAN
Nomor
Nama Lampiran
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
6
Listing Program
73
Universitas Sumatera Utara
ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA)
SKRIPSI
ANDRUS
111401094
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN
ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (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
MEDAN
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: IMPLEMENTASI
MODIFIKASI
SISTEM
KRIPTOGRAFI RSA DAN ELLIPTIC CURVE
DIGITAL SIGNATURE ALGORITHM (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
NIP. 19850126 29504 1 001
Prof. Dr. Opim Salim Sitompul, M. Sc.
NIP. 19610817 198701 1 001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom
NIP. 19620317 19910210 01
Universitas Sumatera Utara
iii
PERNYATAAN
IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN
ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (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
Andrus
111401094
Universitas Sumatera Utara
iv
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.
6. Bapak Prof. Dr. Runtung Sitepu selaku Rektor Universitas Sumatera Utara.
Universitas Sumatera Utara
v
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
Penulis
Universitas Sumatera Utara
vi
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,
menggabungkan penggunaan algoritma Rivest-Shamir-Adleman (RSA)
penulis
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.
Kata kunci: ECDSA, Kunci, Modifikasi RSA, Kriptografi, Pesan.
Universitas Sumatera Utara
vii
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.
Keyword : ECDSA, Key, Modified RSA, Cryptography and Message.
Universitas Sumatera Utara
viii
DAFTAR ISI
Halaman
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran
ii
iii
iv
vi
vii
viii
x
xi
xiii
Bab I 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
2
2
3
3
3
4
Bab II Tinjauan Pustaka
2.1 Kriptografi
2.1.1 Terminologi
2.1.2 Tujuan Kriptografi
2.2 Grup
2.3 Teori Bilangan Bulat
2.3.1 Kekongruenan
2.3.2 Faktor Persekutuan Terbesar
2.3.3 Relatif Prima
2.3.4 Fungsi Phi Euler
2.3.5 Algoritma Extended Euclidean
2.3.6 Inversi Modulo
2.3.7 Eksponensial Modulo
2.3.8 Pengujian Bilangan Prima Miller-Rabin
2.4 Algoritma SHA-1
2.5 Algoritma SHA-2
2.6 Kurva Elips
2.6.1 Kriptografi Kurva Elips
2.6.2 Aturan Penjumlahan Dua Titik Pada Kurva Elips
2.7 Sistem Kriptografi RSA
2.7.1 Pembangkitan Kunci RSA
5
5
8
8
9
9
9
9
10
10
11
12
13
15
17
19
20
22
24
25
Universitas Sumatera Utara
ix
2.7.2 Enkripsi RSA
2.7.3 Dekripsi RSA
2.8 Algoritma Tanda Tangan Digital Kurva Elips Elliptic Curve Digital
Signature Algorithm
2.8.1 Pembangkitan Kunci ECDSA
2.8.2 Pembentukan Tanda Tangan ECDSA
2.8.3 Proses Verifikasi Tanda Tangan ECDSA
2.9 Pretty Good Privacy (PGP)
2.10 Penelitian yang Relevan
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem
3.1.1 Analisis Permasalah an
3.1.2 Analisis Kebutuhan
3.1.3 Perancangan Sistem
25
26
26
26
27
27
28
28
30
30
30
32
Bab 4 Implementasi dan Pengujian
4.1 Implementasi Sistem
4.1.1 Tampilan Halaman Depan
4.1.2 Tampilan Bangkitkan Kunci
4.1.3 Tampilan Bangkitkan Tanda Tangan Digital dan Enkripsi
Pesan
4.1.4 Tampilan Enkripsi Pesan dan Verifikasi Tanda Tangan
Digital
4.1.5 Tampilan Pilihan
4.2 Pengujian Sistem
4.2.1 Skenario Skenario Pembangkitan Kunci dengan menggunakan
algoritma ECDSA dan RSA
4.2.2 Skenario Pembangkitan Tanda Tangan Digital dan Enkripsi
Pesan
4.2.3 Skenario Dekripsi Pesan dan Verifikasi Tanda Tangan Digital
4.2.4 Pengujian Pembangkitan Kunci, Enkripsi dan Dekripsi RSA
4.2.5 Pengujian Pembangkitan Kunci, Pembangkitan Tanda Tangan
Digital dan Verifikasi Tanda Tangan Digital ECDSA
44
44
45
45
46
46
47
47
50
54
57
58
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
5.2.Saran
61
61
Daftar Pustaka
62
Universitas Sumatera Utara
x
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
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
Tanda Tangan Digital
60
dengan kurva
20
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Nomor
Nama Gambar
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
3.1
Gambaran Geometris untuk (3,10) + (3,10) = (7,12)
24
Flowchart Proses Pembangkitan Kunci
Flowchart Proses Enkripsi Pesan dan Tanda Tangan
Digital
Flowchart Dekripsi Pesan dan Verifikasi Tanda Tangan
Digital
32
3.4
Use Case
35
3.5
3.6
Activity Bangkitkan Kunci
Activity Bangkitkan Tanda Tangan Digital dan Enkripsi
Pesan
Activity Diagram Dekripsi Pesan dan Verifikasi Tanda
Tangan Digital
36
Sequence Diagram Bangkitkan Kunci
39
Sequence Diagram Bangkitkan Tanda Tangan
Digital dan Dekripsi Pesan
Sequence Diagram Dekripsi Pesan dan Verifikasi Tanda
Tangan Digital
39
Rancangan Antarmuka Bangkitkan Kunci
Rancangan Antarmuka Bangkitkan Tanda Tangan Digital
dan Enkripsi Pesan.
Rancangan Baca Pesan dan Verifikasi Tanda Tangan
41
Tampilan Halaman Depan
44
3.2
3.3
3.7
3.8
3.9
3.10
3.11
3.12
3.13
4.1
33
34
37
38
40
42
43
Universitas Sumatera Utara
xii
45
4.5
Tampilan Bangkitkan Kunci
Tampilan Bangkitkan Tanda Tangan Digital dan Enkripsi
Pesan
Tampilan Enkripsi Pesan dan Verifikasi Tanda Tangan
Digital
Tampilan Pilihan
4.6
Grafik Pembangkitan Kunci RSA
57
4.7
Grafik Enkripsi dan Dekripsi RSA
58
4.8
Grafik Pembangkitan Kunci ECDSA
59
4.2
4.3
4.4
4.9
Grafik Pembangkitan dan Verifikasi Tanda Tangan
Digital
45
46
46
60
Universitas Sumatera Utara
xiii
DAFTAR LAMPIRAN
Nomor
Nama Lampiran
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
6
Listing Program
73
Universitas Sumatera Utara