Simulasi Pencarian Kunci Privat Dengan Metode Modifikasi Pollard Rho Pada Algoritma Kriptografi Rsa

SIMULASI PENCARIAN KUNCI PRIVAT DENGAN METODE
MODIFIKASI POLLARD Rho PADA ALGORITMA
KRIPTOGRAFI RSA

SKRIPSI

RAMRUDIN
091401023

PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014

Universitas Sumatera Utara

SIMULASI PENCARIAN KUNCI PRIVAT DENGAN METODE
MODIFIKASI POLLARD Rho PADA ALGORITMA
KRIPTOGRAFI RSA
SKRIPSI


Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer

RAMRUDIN
091401023

PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014

Universitas Sumatera Utara

PERSETUJUAN

Judul

Kategori

Nama
NomorIndukMahasiswa
Program Studi
Departemen
Fakultas

: SIMULASI PENCARIAN KUNCI PRIVATE
DENGAN METODE MODIFIKASI POLLARD
Rho PADA ALGORITMA KRIPTOGRAFI RSA
: SKRIPSI
: RAMRUDIN
: 091401023
: SARJANA (S1) ILMU KOMPUTER
: ILMU KOMPUTER
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di
Medan, 11 Februari 2014

Komisi Pembimbing


:

Pembimbing 2

Pembimbing 1

Maya Silvi Lydia, B.Sc., M.Sc
NIP. 197401272002122001

Syahriol Sitorus, S.Si, MIT
NIP.197103101997031004

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom
NIP.196203171991031001


Universitas Sumatera Utara

PERNYATAAN

SIMULASI PENCARIAN KUNCI PRIVATE DENGAN METODE MODIFIKASI
POLLARD Rho PADA ALGORITMA KRIPTOGRAFI RSA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 11 Februari 2014

RAMRUDIN
NIM. 091401023

Universitas Sumatera Utara

PENGHARGAAN


Puji dan syukur kehadirat Allah SWT, yang hanya dengan 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.
Ucapan terima kasih penulis sampaikan kepada:
1.

Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K) selaku
Rektor Universitas Sumatera Utara.

2.

Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara, serta Pembantu Dekan
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3.

Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu

Komputer Universitas Sumatera Utara.

4.

Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara dan Dosen Pembimbing II yang telah
memberikan saran dalam penyempurnaan skripsi ini.

5.

Bapak Syahriol Sitorus, S.Si, MIT selaku Dosen Pembimbing I yang telah
memberikan bimbingan, saran, nasehat dan masukan kepada saya dalam
pengerjaan skripsi ini.

6.

Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Pembanding I
yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

7.


Bapak Romi Fadillah Rahmat, B.Comp.Sc, M.Sc selaku Dosen Pembanding II
yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

8.

Seluruh tenaga kerja dan pegawai di Program Studi S1 Ilmu Komputer
Fasilkom-TI Universitas Sumatera Utara.

9.

Ayahanda Nizar dan ibunda Amnah, serta kakanda Ir. Armayadi, Ariami,
Marwan Azwar, Hairunsyah yang selalu memberikan kasih sayang, perhatian
dan dukungannya kepada penulis.

10. Rekan-rekan kuliah, khususnya Suri Syahfitri, Eko Verdianto, Fauzana S,
Tengku Surya Pramana, Ahmad Royhan, Isman Santoso yang selalu
memberikan semangat dan dorongan kepada penulis selama menyelesaikan
skripsi ini.
11. Rekan-rekan IKLC, Demisioner Imilkom, dan UKMI Al-Khuwarizmi yang telah

memberikan banyak dukungan dan ilmu kepada penulis.

Universitas Sumatera Utara

12. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak
dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi
ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah
memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan
skripsi ini.

Medan, 11 Februari 2014
Penulis

Ramrudin

Universitas Sumatera Utara

ABSTRAK


RSA (Rivest, Shamir, Adleman) merupakan algoritma kriptografi yang asimetris
dimana RSA menggunakan sepasang kunci, yaitu kunci publik biasanya disebut e dan
n dan kunci privat biasanya disebut d. Algoritma ini dikategorikan sebagai algoritma
kriptografi yang aman, karena memiliki bit kunci yang panjang. Semakin panjang bit
kunci maka semakin sulit pula untuk dipecahkan. Untuk menguji keamanan dari
algoritma RSA pada penelitian ini, maka digunakan metode Pollard ρ (baca: Rho)
untuk menemukan faktor dari n. Metode ini dipilih untuk menemukan faktor prima
dari bilangan bulat yang besar dengan hanya menggunakan jumlah lokasi memori
yang konstan. Modifikasi dilakukan dengan menambahkan pilihan fungsi polynomial
yang dapat digunakan oleh metode Pollard ρ yaitu: x2 + 12x + 11, x2 + 2x + 23,
3x2 + 4x + 1 dan x2 – x + 1. Pengujian keprimaan dalam pembangkitan kunci RSA
menggunakan Tes Prima Miller - Rabin. Pengujian dilakukan dengan melakukan
enkripsi pada pesan, memecahkan kunci, dan melakukan dekripsi pada pesan.
Pengujian dimulai dari 4 digit sampai 32 digit nilai n dengan increment 4. Dari
pengujian untuk nilai n sebanyak 4 digit waktu rata-rata adalah 0.0007 detik, untuk
nilai n = 8 digit waktu rata-rata adalah 0.0031 detik, untuk nilai n = 12 digit waktu
rata-rata adalah 0.012 detik, untuk nilai n = 16 digit waktu rata-rata adalah 0.0626
detik, untuk nilai n = 20 digit waktu rata-rata adalah 0.577 detik, untuk nilai n = 24
digit waktu rata-rata adalah 6.414 detik, untuk nilai n = 28 digit waktu rata-rata adalah
1 menit 31.733 detik, untuk nilai n = 32 digit waktu rata-rata adalah 21 menit 27.560

detik. Secara umum, waktu pemecahan kunci akan semakin meningkat bila nilai n
yang digunakan semakin besar.
Kata kunci: Kriptografi, RSA, Pollard ρ, Modifikasi Pollard ρ, Tes Prima MillerRabin.

Universitas Sumatera Utara

SIMULATION OF PRIVATE KEY SEARCHING ON RSA CRYPTOGRAPHY
ALGORITHM USING MODIFIED POLLARD Rho

ABSTRACT

RSA (Rivest, Shamir, Adleman) is asymmetric cryptography algorithm which is use a
pair of key, public key consist of e and n and private key usually called d. This
Algorithm was categorized as safe cryptography algorithm, because it has long key
length. The longer the key, the harder to break. To test the security of RSA Algorithm,
Pollard ρ method was used to factorize n. This method was choosen to find prime
factor from a big number which use constant amount of memory. Modification was
made by adding polynomial function options that can be used on Pollard ρ method
such as: x2 + 12x + 11, x2 + 2x + 23, 3x2 + 4x + 1 and x2 – x + 1. Miller-Rabin prime
test was used on generating RSA key. The test began by encrypting a message, finding

the key and decrypting the message using the obtained key. Testing began on the 4digit to 32-digit value of n on increment 4. The average time it tooks to find the keys
from 4-digit value of n was 0.0007 second, 8-digit value of n was 0.0031 second,
12-digit value of n was 0.012 second, 16-digit value of n was 0.0626 second, 20digit value of n was 0.577 second, 24-digit value of n was 6.414 seconds, 28-digit
value of n was 1 minute 31.733 seconds, 32-digit value of n was 21 minutes 27.560
seconds. Generally speaking, the time to break the key will increase if the value of n is
bigger.
Keyword: Cryptography, RSA, Pollard ρ, Pollard ρ Modification, Miller-Rabin
prime test.

Universitas Sumatera Utara

DAFTAR ISI

Halaman
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran

ii
iii
iv
v
vi
vii
ix
x
xi

Bab I Pendahuluan
1.1 Latar Belakang
1.2 Perumusan Masalah
1.3 Batasan Masalah
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metode Penelitian
1.7 Diagram Alir Sistem
1.8 Sistematika Penulisan

1
2
2
3
3
4
5
6

Bab II Tinjauan Pustaka
2.1 Kriptografi
2.1.1 Sistem Kriptografi
2.2 Sistem Kriptografi RSA
2.2.1 Algoritma RSA
2.3 Algorotma Miller-Rabin
2.4 Algoritma Euclid GCD
2.5 Metode Pollard ρ
2.5.1 Modifikasi Pollard ρ
2.5.2 Fungsi Polynomial
2.5.3 Faktorisasi Kunci RSA dengan Metode Pollard ρ
2.6 Tinjauan Penelitian yang Relevan

7
7
8
9
10
11
11
13
14
14
16

Bab III Analisis dan Perancangan Sistem
3.1 Analisis Permasalahan
3.2 Analisis Kebutuhan Sistem
3.2.1 Analisis Kebutuhan Fungsional Sistem
3.2.2 Analisis Kebutuhan Non-Fungsional Sistem
3.3 Pemodelan
3.3.1 Pemodelan dengan Menggunakan Use Case Diagram
3.3.1.1 Use Case Encrypt
3.3.1.2 Use Case Decrypt
3.3.2 Pemodelan dengan Menggunakan Activity Diagram

17
17
17
18
18
18
19
20
22

Universitas Sumatera Utara

3.3.2.1 Activity Diagram Encrypt
3.3.2.2 Activity Diagram Decrypt
3.3.3 Pemodelan dengan Menggunakan Sequence Diagram
3.3.3.1 Sequence Diagram Encrypt
3.3.3.2 Sequence Diagram Decrypt
3.4 Perancangan Sistem
3.4.1 Flowchart Sistem
3.4.1.1 Flowchart Gambaran Umum Sistem
3.4.1.2 Flowchart Proses Pembangkitan Kunci
3.4.1.3 Flowchart Proses Enkripsi Pesan
3.4.1.4 Flowchart Proses Faktorisasi Pollard ρ
3.4.1.5 Flowchart Proses Dekripsi Pesan
3.4.2 Rancangan Antar Muka
3.4.2.1 Antar Muka Form Cover
3.4.2.2 Antar Muka Form Menu Utama
3.4.2.2.1 RSA Cryptosystem
3.4.2.2.2 RSA Hack With Pollard

22
23
24
24
24
25
25
25
26
26
27
28
29
29
30
30
32

Bab IV Implementasi dan Pengujian
4.1 Analisis Sistem
4.1.1 Analisis Algoritma RSA
4.1.1.1 Proses Pembangkitan Kunci Algoritma RSA
4.1.1.2 Proses Enkripsi dengan Algoritma RSA
4.1.1.3 Proses Dekripsi dengan Algoritma RSA
4.1.2 Analisis Metode Pollard ρ
4.2 Implementasi Sistem
4.2.1 Form Utama
4.2.2 Form RSA Hack With Pollard Rho
4.2.2.1 RSA Cryptosystem
4.2.2.2 RSA Hack With Pollard
4.3 Pengujian Sistem
4.3.1 Hasil Pengujian Sistem
4.3.2 Grafik Waktu Terhadap Jumlah Digit Nilai n
4.3.3 Perbandingan Grafik Waktu dan Tahap

35
35
35
40
41
42
43
44
44
44
45
46
47
58
60

Bab V Kesimpulan dan Saran
5.1 Kesimpulan
5.2 Saran

63
64

Daftar Pustaka

65

Universitas Sumatera Utara

DAFTAR TABEL

Halaman
2.1 Daftar Fungsi Polynomial
3.1 Spesifikasi Use Case Encrypt
3.2 Spesifikasi Use Case Decrypt
4.1 Proses Pencarian Nilai d
4.2 Tabel ASCII
4.3 Pengujian Enkripsi Pesan dengan Nilai n Sebanyak 4 Digit
4.4 Pengujian Pemecahan Kunci dengan Nilai n Sebanyak 4 Digit
4.5 Pengujian Enkripsi Pesan dengan Nilai n Sebanyak 8 Digit
4.6 Pengujian Pemecahan Kunci dengan Nilai n Sebanyak 8 Digit
4.7 Pengujian Enkripsi Pesan dengan Nilai n Sebanyak 12 Digit
4.8 Pengujian Pemecahan Kunci dengan Nilai n Sebanyak 12 Digit
4.9 Pengujian Enkripsi Pesan dengan Nilai n Sebanyak 16 Digit
4.10 Pengujian Pemecahan Kunci dengan Nilai n Sebanyak 16 Digit
4.11 Pengujian Enkripsi Pesan dengan Nilai n Sebanyak 20 Digit
4.12 Pengujian Pemecahan Kunci dengan Nilai n Sebanyak 20 Digit
4.13 Pengujian Enkripsi Pesan dengan Nilai n Sebanyak 24 Digit
4.14 Pengujian Pemecahan Kunci dengan Nilai n Sebanyak 24 Digit
4.15 Pengujian Enkripsi Pesan dengan Nilai n Sebanyak 28 Digit
4.16 Pengujian Pemecahan Kunci dengan Nilai n Sebanyak 28 Digit
4.17 Pengujian Enkripsi Pesan dengan Nilai n Sebanyak 32 Digit
4.18 Pengujian Pemecahan Kunci dengan Nilai n Sebanyak 32 Digit
4.19 Waktu Rata-rata Enkripsi dan Pemecahan Kunci
4.20 Perbandingan Waktu dan Tahap Rata-rata Pemecahan Kunci

14
19
21
36
40
47
47
48
49
50
50
51
51
52
53
54
54
55
56
57
57
58
60

Universitas Sumatera Utara

DAFTAR GAMBAR

Halaman
1.1 Diagram Alir Sistem
2.1 Sistem Kriptografi Konvensional
2.2 Sistem Kriptografi dengan Kunci Publik RSA
2.3 Illustrasi Metode Pollard ρ
3.1 Use Case Diagram yang akan Dikembangkan
3.2 Activity Diagram untuk Proses Encrypt
3.3 Activity Diagram untuk Proses Decrypt
3.4 Sequence Diagram Proses Encrypt
3.5 Sequence Diagram Proses Decrypt
3.6 Flowchart Gambaran Umum Sistem
3.7 Flowchart Proses Pembangkitan Kunci
3.8 Flowchart Proses Enkripsi Pesan
3.9 Flowchart Proses Faktorisasi Pollard ρ
3.10 Flowchart Proses Dekripsi Pesan
3.11 Rancangan Form Cover
3.12 Rancangan Form Menu Utama Bagian RSA Cryptosystem
3.13 Rancangan Form Menu Utama Bagian RSA Hack With Pollard
4.1 Implementasi Form Utama
4.2 Tab RSA Cryptosystem
4.3 Tab RSA Hack With Pollard
4.4 Grafik Waktu Enkripsi Terhadap Jumlah Digit Nilai n
4.5 Grafik Waktu Pemecahan Kunci Terhadap Jumlah Digit Nilai n
4.6 Grafik Perbandingan Waktu Pemecahan Kunci Terhadap Jumlah Digit n
4.7 Grafik Perbandingan Tahap Pemecahan Kunci Terhadap Jumlah Digit n

5
8
9
12
19
22
23
24
24
25
26
26
27
28
29
30
32
44
45
46
59
59
61
62

Universitas Sumatera Utara

DAFTAR LAMPIRAN

Halaman
A. Listing Program
B. Curiculum Vitae

67
82

Universitas Sumatera Utara