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