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
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,
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.
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
Universal Exponent Factoring diperoleh θ (|n|4). Dapat disimpulkan dari segi waktu pemecahan kunci, tingkat keamanan akan meningkat bila kunci yang digunakan menggunakan bilangan dengan digit yang besar.
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 method we have θ (|n|4). 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
Halaman
Persetujuan ii
Pernyataan iii
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
1.4 Batasan Masalah 2
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
2.5 Algoritma RSA 10
2.6 Fermat’s Little Theorem 14 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.2 Perancangan Sistem 25
3.2.1 Flowchart 25
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 Halaman
2.1
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
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1
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
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
B. Daftar Bilangan Prima B-1