PENGUJIAN TINGKAT KEAMANAN RSA DENGAN METODE UNIVERSAL EXPONENT FACTORING DRAFT SKRIPSI FITHRI RIZQI KHAIRANI NASUTION 091401025
PENGUJIAN TINGKAT KEAMANAN RSA DENGAN METODE
UNIVERSAL EXPONENT FACTORING
DRAFT SKRIPSI
FITHRI RIZQI KHAIRANI NASUTION
091401025
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013 PENGUJIAN TINGKAT KEAMANAN RSA DENGAN METODE
UNIVERSAL EXPONENT FACTORING
SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana
Komputer FITHRI RIZQI KHAIRANI NASUTION
091401025 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2013
PERSETUJUAN
Judul : PENGUJIAN TINGKAT KEAMANAN RSA DENGAN METODE UNIVERSAL EXPONENT
FACTORING
Kategori : SKRIPSI Nama : FITHRI RIZQI KHAIRANI NASUTION Nomor Induk Mahasiswa : 091401025 Program Studi : SARJANA (S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI Diluluskan di Medan, 27 Agustus 2013
Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Amer Sharif,S.Si,M.Kom M. Andri Budiman, ST, M.Comp.Sc, MEM NIP. - NIP. 197510082008011011 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP.196203171991031001
PERNYATAAN
PENGUJIAN TINGKAT KEAMANAN RSA DENGAN METODE UNIVERSAL
EXPONENT FACTORING
SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Agustus 2013 Fithri Rizqi Khairani Nasution 091401025
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 Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
2. Bapak M. Andri Budiman, ST, M.CompSc, MEM selaku Dosen Pembimbing 3.
Bapak Amer Sharef, S.Si, M. Kom selaku Dosen Pembimbing.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1IlmuKomputer Universitas Sumatera Utara dan Dosen Pembanding.
5. Bapak Ade Candra S.T, M.Kom selaku Dosen Pembanding.
6. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
7. Ayahanda Drs. Khairuddin Nasution dan ibunda Serliani Lubis, abangda Muhammad Sai Al-Arafah Nasution, S.T dan adinda Rizqi Fadhilah Nasution serta seluruh keluarga besar yang selalu memberikan kasih sayang dan dukungannya kepada penulis.
8. Seluruh sahabat dan teman-teman S1 ilmu Komputer khususnya stambuk 2009, terutama kepada Ismail Fata Lubis, Fauzana S, Dewi Ayu Pratami, Pocut Rizky, Nadya Soraya Hardiyana, Lydia Andiny, Murni Novita Sari yang selalu memberikan semangat dan dorongan kepada penulis selama menyelesaikan skripsi ini.
9. Rekan-rekan Demisioner Imilkom 2012-2013 yang telah memberikan banyak dukungan dan ilmu kepada penulis.
10. Sahabat tersayang kak Dianatul Habibah, Saidah Hoiriyah, Puspita dan Hanifah yang selalu memberikan motivasi dan dukungan kepada penulis.
11. Rekan-rekan di Kost 15 Gang Sipirok, Endang Lestari, Kak hafsah, Kak Lisda, Cici, Fitri dan semua yang tidak dapat disebutkan namanya satu per satu.
12. Pihak-pihak yang terlibat langsung maupun tidak langsung yang membantu penyelesaian laporan ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, Agustus 2013 Penulis
ABSTRAK
Algoritma RSA(Rivest, Shamir, Adleman) adalah salah satu algoritma kriptografi asimetris yang paling umum digunakan. Kelebihan dari algoritma ini adalah sulitnya menemukan faktor bilangan prima yang digunakan. Untuk menguji keamanan dari algoritma RSA ini digunakan metode Universal Exponent Factoring. Metode ini bekerja dengan memperoleh input bilangan n yang akan difaktorkan. Bilangan prima yang diperoleh akan diuji dengan Fermat’s Little Theorem. Sistem diuji dengan mengenkripsi pesan, memecahkan kunci serta mendekripsi pesan. Pengujian dimulai dari 3 digit nilai n sampai 10 digit nilai n. Dari pengujian didapat grafik yang menunjukkan panjang nilai n berbanding lurus dengan waktu yang dibutuhkan untuk enkripsi dan pemecahan kunci. Dari pengujian pemecahan kunci untuk nilai n sebanyak 6 digit waktu rata-rata adalah 3.39931717 detik, untuk nilai n sebanyak 7 digit waktu rata-rata adalah 42.7710719 detik, untuk nilai n sebanyak 8 digit waktu rata-rata adalah 8 menit 42. 5008628 detik, untuk nilai n sebanyak 9 digit waktu rata- rata adalah 52 menit 13.528554 detik, untuk nilai n sebanyak 10 digit waktu rata-rata adalah 2 jam 25 menit 35.70644 detik. Sementara untuk kompleksitas dari metode
4 Universal Exponent Factoring diperoleh θ (|n| ). Dapat disimpulkan dari segi waktu
pemecahan kunci, tingkat keamanan akan meningkat bila kunci yang digunakan menggunakan bilangan dengan digit yang besar.
Kata Kunci
: Kriptografi, RSA, Universal Exponent Factoring, Fermat’s Little Theorem, Kompleksitas waktu.
RSA SECURITY LEVEL TESTING WITH UNIVERSAL EXPONENT
FACTORING
ABSTRACT
RSA (Rivest, Shamir, Adleman) is one of the asymmetric cryptography algorithm most commonly used. The advantage of this algorithm is the difficulty in determining the prime factors used. To test the security of the RSA algorithm, we use Universal Exponent Factoring method. This method works by obtaining input number n. The primes obtained are tested by Fermat's Little Theorem. The system was tested by encrypting a message, obtaining the key and decrypting the message using the obtained key. Testing began on the 3-digit to 10-digit value of n. Testing resulted in a graph which indicated that the length of the value of n is proportional to the time required for encryption and obtained the key. The average time was took to obtain a key from 6-digit value of n was 3.39931717 seconds, for a 7-digit value of n the average time was 42.7710719 seconds, for a 8-digit value of n the average time was 8 minutes 42. 5008628 seconds, for a 9-digit value of n the average time was 52 minutes 13.528554 seconds, for a 10-digit value of n the average time was 2 hours 25 minutes 35.70644 seconds. And for the complexity of the Universal Exponent Factoring
4
method we have θ (|n| ). We may conclude that the security level will increase if the key used have more digits.
Keyword : Cryptography, RSA, Universal Exponent Factoring, Fermat’s Little
Theorem, time complexity.DAFTAR ISI
3.1.2.3 Pemodelan Persyaratan dengan Use Case
2.7 Metode Universal Exponent Factoring
14
2.8 Penelitian Terdahulu
15 Bab III Analisis dan Perancangan
3.1 Analisis Sistem
18
3.1.1 Analisis Masalah
18
3.1.2 Analisis Kebutuhan
19
3.1.2.1 Analisis Fungsional
19
3.1.2.2 Analisis Nonfungsional
20
20
2.6 Fermat’s Little Theorem
3.1.3 Analisis Sistem Proses
24
3.2 Perancangan Sistem
25
3.2.1 Flowchart
25
3.2.1.1 Flowchart Gambaran Umum
25
3.2.1.2 Flowchart Proses Enkripsi
26
3.2.1.3 Flowchart Pemecahan Kunci
28
3.2.1.4 Flowchart Pengujian Bilangan Prima
29
14
Halaman Persetujuan ii
Pernyataan iii
1.4 Batasan Masalah
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xii
Bab I Pendahuluan
1.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Tujuan Penelitian
2
2
2.5 Algoritma RSA
1.5 Manfaat Penelitian
3
1.6 Metode Penelitian
4
1.7 Sistematika Penulisan
4 Bab II Landasan Teori
2.1 Kriptografi
6
2.2 Tujuan Kriptografi
7
2.3 Ancaman Kriptografi
8
2.4 Kriptografi Asimetris
9
10
3.2.1.5 Flowchart Proses Dekripsi
30
3.2.2 Rancangan Antar Muka
31
3.2.2.1 Antar Muka Mainform
31
3.2.2.2 Antar Muka Form Dekripsi
32
3.2.2.3 Antar Muka Pemecahan Kunci dan Dekripsi
33
3.2.3 Tahapan Sistem
35
3.2.3.1 Tahapan Algoritma RSA untuk Enkripsi
35
3.2.3.2 Pemecahan Kunci Menggunakan Metode Universal Exponent Factoring
38
3.2.3.3 Tahapan Algoritma RSA untuk Dekripsi
39 Bab IV Implementasi dan Pengujian
4.1 Implementasi
42
4.1.1 Mainform
42
4.1.2 Form Enkripsi
43
4.1.3 Form Pemecahan Kunci dan Dekripsi
44
4.2 Pengujian
44
4.2.1 Pengujian Proses Enkripsi
45
4.2.2 Pengujian Pemecahan Kunci dan Dekripsi
46
4.2.3 Pengujian Pemecahan Kunci
47
4.2.4 Grafik Hubungan Panjang Nilai n terhadap Waktu
56
4.3 Perhitungan Kompleksitas Metode Universal Exponent Factoring
58 Bab V Kesimpulan dan Saran
5.1 Kesimpulan
61
5.2 Saran
62 Daftar Pustaka
63
DAFTAR TABEL
Nomor Tabel Nama Tabel Halaman51
14
21
22
45
48
48
49
49
50
50
51
13
52
52
53
53
54
54
55
55
56
57
13
4.20 Tabel Encoding Base 64 Tabel Enkripsi Pesan Tabel Dekripsi Pesan Spesifikasi Use Case Enkripsi Spesifikasi Use Case Pemecahan Kunci dan Dekripsi Tabel Enkripsi Pengujian Sistem Pengujian Enkripsi Pesan dengan nilai n sebanyak 3 digit Pengujian Pemecahan Kunci dengan nilai n sebanyak 3 digit Pengujian Enkripsi Pesan dengan nilai n sebanyak 4 digit Pengujian Pemecahan Kunci dengan nilai n sebanyak 4 digit Pengujian Enkripsi Pesan dengan nilai n sebanyak 5 digit Pengujian Pemecahan Kunci dengan nilai n sebanyak 5 digit Pengujian Enkripsi Pesan dengan nilai n sebanyak 6 digit Pengujian Pemecahan Kunci dengan nilai n sebanyak 6 digit Pengujian Enkripsi Pesan dengan nilai n sebanyak 7 digit Pengujian Pemecahan Kunci dengan nilai n sebanyak 7 digit Pengujian Enkripsi Pesan dengan nilai n sebanyak 8 digit Pengujian Pemecahan Kunci dengan nilai n sebanyak 8 digit Pengujian Enkripsi Pesan dengan nilai n sebanyak 9 digit Pengujian Pemecahan Kunci dengan nilai n sebanyak 9 digit Pengujian Enkripsi Pesan dengan nilai n sebanyak 10 digit Pengujian Pemecahan Kunci dengan nilai n sebanyak 10 digit Waktu Rata-rata Enkripsi Waktu Rata-rata Pemecahan Kunci Perhitungan Running Time
2.1
4.7
2.2
2.3
3.1
3.2
4.1
4.2
4.3
4.4
4.5
4.6
4.8
4.19
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
59
DAFTAR GAMBAR
Nomor Gambar Nama Gambar Halaman29
11
19
21
22
23
24
25
26
27
28
30
6
31
32
34
42
43
43
44
46
46
47
57
10
4.9 Sistem Kriptografi Konvensional Pertukaran Kunci Deffie-Hellman Sistem Kriptografi dengan Kunci Publik RSA Diagram Ishikawa untuk Analisa Masalah Use Case Diagram Sistem Activity Diagram untuk Proses Enkripsi Activity Diagram untuk Proses Pemecahan Kunci dan Dekripsi Sequence Diagram Proses Enkripsi Sequence Diagram Proses Pemecahan Kunci dan Dekripsi Gambaran Umum Sistem Flowchart untuk Proses Enkripsi Flowchart untuk Proses Pemecahan Kunci Flowchart Pengujian Bilangan Prima Flowchart untuk Proses Dekripsi Pesan Rancangan Form Login Rancangan Form Enkripsi Rancangan Form Pemecahan Kunci dan Dekripsi Mainform Form Enkripsi Pesan Dialog Box Bilangan Bukan Prima Form Pemecahan Kunci dan Dekripsi Form Enkripsi Pengujian Pesan Ciphertext Hasil Enkripsi Pengujian Sistem Form Pemecahan Kunci pada Pengujian Grafik Hubungan Panjang Nilai n terhadap Waktu Enkripsi Grafik Hubungan Panjang Nilai n terhadap Waktu Pemecahan Kunci
2.1
3.9
2.2
2.3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.10
4.8
3.11
3.12
3.13
3.14
4.1
4.2
4.3
4.4
4.5
4.6
4.7
58