TEKNIK HACKING KUNCI ALGORITMA RIVEST SHAMIR ADLEMAN (RSA) 512-BIT DENGAN METODE DIFFERENCE OF SQUARES
SKRIPSI
MAHADI Z
091401065
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
TEKNIK HACKING KUNCI ALGORITMA RIVEST SHAMIR ADLEMAN (RSA) 512–BIT DENGAN METODE DIFFRENCE OF SQUARES
SKRIPSI
DiajukanuntukmelengkapitugasakhirdanmemenuhisyaratmencapaigelarSarjana Ilmu Komputer
MAHADI Z 091401065
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2013
PERSETUJUAN
Judul : TEKNIK HACKING KUNCI ALGORITMA RIVEST
SHAMIR ADLEMAN (RSA) 512-BIT DENGAN MENGGUNAKAN METODE DIFFERENCE OF SQUARES
Kategori : SKRIPSI
Nama : MAHADI Z
Nomor Induk Mahasiswa : 091401065
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI Diluluskan di
Medan, 27 Agustus 2013
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dian Rachmawati, S.Si, M.Kom M.Andri Budiman, ST, M.Comp.Sc, MEM NIP. 1983 0723 2009 1220 04 NIP. 1975 1008 2008 0110 11
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
PERNYATAAN
TEKNIK HACKING KUNCI ALGORITMA RIVEST SHAMIR ADLEMAN (RSA) 512-BIT DENGAN METODE DIFFRENCE OF SUARES
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, September 2013
MAHADI Z 091401065
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.
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 Akademik.
5. Bapak M. Andri Budiman, ST, M.CompSc, MEM, dan Ibu Dian
Rachmawati, S.Si, M.Kom Selaku Dosen Pembimbing.
6. Bapak Drs. James Peter Marbun M.Kom dan Bapak Syahriol Sitorus, S.Si, MIT Selaku Dosen Pembanding.
7. Semua dosen pada Departemen Ilmu Komputer FASILKOM-TIUSU, dan pegawai di Ilmu Komputer FASILKOM-TI USU.
8. Ayahanda Zakaria R dan ibunda Artuti, serta abangda Irwandi, kakanda Fauziah dan Rita Irmayani, serta adik-adik Rizky Hasan, Kurnia Ramadhan Mirza Arifin, Fahmi Idris dan Basyaruddin selalu memberikan kasih sayang dan dukungannya kepada penulis.
9. Rekan-rekan senior khususnya: abangda Suharsono S.Kom, Ridho Simanungkalit ST., Heri Wibowo S.Kom., Eko Verdianto S.Kom, Azizah Endarstati S.Kom, Zainuddin Siregar S.Kom dan yang lainya yang selalu memberikan semangat dan dorongan dan motivasi kepada penulisselama menyelesaikan skripsi ini.
10. Rekan-rekan kuliah: Isman Santoso, Mhd.Arisandy Pratama, Zuwarbi Wiranda Hsb, Basrah Nasution, Anton Gumala Putra, Budi Satria Mukhlis, Huzaifa yang selalu memberikan semangat dan dorongan, serta motivasi kepada penulisselama menyelesaikan skripsi ini.
11. Rekan-rekan junior: Aulia Akbar Harahap, Azizah Mei Sari S, Yayang Kurniati, Arifin, Almizfar, Eddo Affan dan lainya, yang selalu memberikan semangat dan dorongan kepada penulisselama menyelesaikan skripsi ini. 12. Rekan-rekan IKLC, Sobat Bumi Se-Indonesia, Ukmi Al-Khuwarizmi, Pema
Fasilkom-TI, IMILKOM dan lainya yang tidak bisa disebutkan satu persatu, yang selalu memberikan semangat dan dorongankepada penulisselama menyelesaikan skripsi ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, 27Agustus2013
ABSTRAK
Ukuran kunci pada penerapan algoritma Rivest Shamir Adleman (RSA) sangat menentukan keamanan pesan yang akan dirahasiakan. Semakin panjang ukuran kunci yang digunakan pada algoritma RSA, maka semakin sulit suatu metode kriptanalisis melakukan faktorisasi maupun bruce force attack terhadap pemecahan sepasang elemen kunci algoritma RSA. Sayangnya, semakin panjang ukuran kunci, semakin lama proses pengimplementasian algoritma ini. Celah inilah yang menjadi peluang bagi seorang hacker atau kriptanalisis untuk menemukan kombinasi angka melalui kunci publik algoritma RSA yang tidak dirahasiakan.Banyak metode yang digunakan untuk pemecahan kunci algoritma RSA, seperti trial and error, faktorisasi, serangan common modulus, dan sebagainya.Dalam penelitian ini penulis mencoba melakukan pemecahan kunci dengan menggunakan metode faktorisasi, tepatnya dengan menggunakan metode difference of squares. Pengimplementasian dilakukan menggunakan bahasa pemrograman Visual C# 2012, melalui beberapa uji coba sample menggunakan parameter waktu untuk menentukan efisiensi metode. Hasil pengujian menunjukan bahwa faktor selisih kunci dari nilai kunci p dan q, lebih berpengaruh dibandingkan ukuran panjang kunci.Hal ini diperkuat dari pengujian ukuran kunci sebesar 30 digit secara acak dengan selisih kunci pembentuknya yang besar memerlukan waktu sekitar 5 jam. Sementara untuk panjang kunci pada rentang 100 sampai 400 digit, dengan selisih kunci p dan q kecil dalam pengujian selisih 5, 900 dan 90000, waktu yang diperlukan sekitar 150 sampai 250 milisecond. Kata Kunci:RSA, Faktorisasi, Difference of Squares, Kriptanalisis, hacking.
ABSTRACT
Key size on the application of algorithms Rivest Shamir Adleman (RSA) is critical to message security that will be in secret. The longer of key size used in the RSA algorithm, the more difficult perform a factorization method and bruce force attack against splitting a pair of key elements of the RSA algorithm.Unfortunately, the longer the key size, the longer the process of implementing this algorithm. Thisgapcan be opportunity fora hackerorcryptanalysistofindcombinations of numbersthrough theRSApublic keyalgorithmsarenotsecret. Many methodsareusedtohacking of RSAkeyalgorithm, such astrial and error, factorization, commonmodulusattack, andso on. Inthis study the authorsattempt to crackkeyusingfactorizationmethod, preciselybyusing
thedifferenceofsquaresmethod. Implementationis doneusingthe
programminglanguageVisualC#2012,throughasampletestusingthe
timeparametertodeterminethe efficiency ofthe method. The test results showedthat
thekeyfactorofthe difference inthe value ofpandqkey, an
effectgreaterthanthelength ofthe key. This was confirmedfromtestingkey sizeof 30randomdigitswiththe keydifferenceof theconstituentwhichtakes about5hours. As for thekey lengthin the range of100 to400digits, with thekeydifference betweenpandqsmalldifferenceintest5, 900and90000around the timeit will take150to 250milliseconds.
DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak vi Abstract vii
Daftar Isi viii
Daftar Tabel ix Daftar Gambar x Daftar Lampiran xi Bab I Pendahuluan 1.1 Latar Belakang 1 1.2 Perumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 4 1.5 Manfaat Penelitian 4 1.6 Sistematika Penulisan 5 Bab II Landasan Teori 2.1 Sistem Keamanan 6
2.2 Craker, Hacker, dan Motif 8
2.3 Kriptografi 9
2.4 Cryptographic system ( cryptostem) 11
2.5 Skema Pertukaran Kunci Deffie-Hellman 12 2.6 Algortima Rivest Shamir Adleman (RSA) 13
2.7 Fungsi Totien Euler φ 14 2.8 Proses Pembuatan Kunci 14
2.9 Proses Enkripsi 15
2.10 Proses Dekripsi 16
2.11 RSA 512-Bit 17
2.12 Cryptanalysis 17
2.13 Metode Kriptanalisis pada RSA 17 2.11.1 Serangan pada algoritma RSA 17
2.14 Faktorisasi fermat 20
2.15 Metode difference of squares 20
3.1 Analisis Sistem 22
3.1.1 Analisis Masalah 22
3.1.2 Cause and Effect Diagram23
3.1.3 Analisis Kebutuhan sistem 24
3.1.3.1 Kebutuhan Fungsional Sistem 24
3.1.3.2 Kebutuhan Nonfungsional Sistem 25
3.2 Pemodelan 26
3.2.1Use Case Diagram 28
3.2.2 Activity Diagram 29
3.2.3 Sequence Diagram 36
3.3 Pseudo Code 38
3.3.1 Pseudo CodeDifference of Squares 39
3.3.2 Pseudo Code Algoritma RSA 40
3.3.3 Pseudo Code Fermat’s Little Teorem 41
3.4 Flowchart 42
3.4.1 Flowchart Gambaran Umum Pembentukan RSA Cryptosystem43
3.4.2 Flowchart Pembentukan Kunci Algortima RSA 44
3.4.3 Flowchart Metode Difference of Squares 45
3.4.4 Flowchart Proses Enkripsi Algoritma RSA 46 3.4.5 Flowchart Proses Dekripsi Algoritma RSA 46
3.5 Perancangan Antarmuka sistem 47
3.5.1 Rancangan Antarmuka Splash Screen 47 3.5.2
Rancangan Antarmuka Aplikasi Penerapan RSA 48
3.5.3 Rancangan Antarmuka Aplikasi Hacking Algoritma RSA 49
3.5.4 Rancangan Antarmuka Tentang 50
Bab IV Implementasi dan Pengujian
4.1 Implementasi Sistem 51
4.1.1 Spesifikasi kebutuhan Perangkat keras 51
4.1.2 Spesifikasi Kebutuhan Perangkat Lunak 52
4.1.3 Tampilan Aplikasi 52
4.1.3.1 Form Splash Screen 53
4.2.1.2 Form Penerapan Aplikasi RSA 53
4.2.1.3 FormImplementasiAplikasi Hacking Algoritma RSA554.2.1.4
Form Tentang 57
4.2 Pengujian 57
4.2.1 Pengujian Sistem Penerapan Algoritma RSA58
4.2.2 Pengujian Sistem Hacking algortima RSA 66
Bab V Kesimpulan dan Saran
5.1 Kesimpulan 80
5.2. Saran 82
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
3.1 3.2 3.3 3.4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
Kebutuhan non-fungsional sistem
DokumentasiNaratifProses Enkripsi Algoritma RSA Dokumentasi Naratif Proses Dekripsi Algoritma RSA
DokumentasiNaratif Use Case Proses Hacking Algoritma RSA Perbandingan antara waktu eksekusi program dengan panjang kunci Algoritma RSA
Perbandingan waktu eksekusi dengan ukuran file Algoritma RSA Uji coba proses hacking algoritma RSA berdasarkan panjang kunci secara acak
Pengujian proses hacking kunci rentang 1-10 digit dari nilai kunci p dan q pada beberapa kali pengujian
Pengujian pengaruh selisih p dan q kunci terhadap lamanya proses pemecahan kunci (dimana selisih = 5)
Pengujian pengaruh selisih p dan q kunci terhadap lamanya proses pemecahan kunci (dimana selisih = 900)
Pengujian pengaruh selisih p dan q kunci terhadap lamanya proses pemecahan kunci (dimana selisih = 90000)
Perbandingan selisih kunci dengan lamanya waktu eksekusi dengan panjang kunci konstan = 8 digit
25 30 32 34 59 63 67 69 72 74 76 77
Nomor
Gambar Nama Gambar Halaman
2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9
Proses enkripsi dan dekripsi algoritma RSA
Proses enkripsi dan dekripsi pada Symmetric Cryptosystem Proses enkripsi dan dekripsi pada Assymmetric Cryptosystem Analisis masalah aplikasi Hacking Algoritma RSA 512-Bit Interaksi aktor dengan sistem Pembuatan dan Hacking Agoritma RSA
Activity Diagram aplikasi enkripsi Algoritma RSA Activity Diagram aplikasi enkripsi Algoritma RSA Activity Diagram aplikasi Hacking Algoritma RSA Sequence Diagram aplikasi Enkripsi Algoritma RSA Sequence Diagram aplikasi Dekripsi Algoritma RSA Sequence Diagram aplikasi Hacking Algoritma RSA Pseudocode Metode difference of squares
Pseudocode Algoritma RSA
Pseudocode Fermat’s Little Teorm Proses Umum Algoritma RSA
Proses Pembentukan Kunci Algoritma RSA
Faktorisasi Bilangan n Dengan Metode Difference of Squares Proses enkripsi RSA
Proses dekripsi RSA
Rancangan Interface Splash Screen
Rancangan Antarmuka Aplikasi Penerapan Algortima RSA Rancangan Antarmuka Aplikasi Hacking Algoritma RSA Rancangan Interface Form Tentang
Form Splash Screen
Form Aplikasi Algoritma RSA
Form Aplikasi Hacking Algoritma RSA Form Tentang
Proses uji coba sistem aplikasi Algoritma RSA
Plaintext untuk uji coba proses enkripsi dekripsi algoritma RSA Perbandingan lamanya waktu eksekusi proses generate kunci
10 11 11 23 28 31 33 35 36 37 38 39 40 42 43 44 45 46 46 47 48 49 50 52 53 55 56 57 58 60 61
4.11 4.12 4.13 4.14 4.15 4.16 4.17
Algoritma RSA terhadap panjang kunci (dalam digit)
Perbandingan lamanya waktu eksekusi proses dekripsi Algoritma RSA terhadap panjang kunci (dalam digit)
Perbandingan Ukuran file (dalam Kb) dengan lama waktu eksekusi (dalam digit)
Proses uji coba aplikasi hacking algoritma RSA
Grafik perbandingan waktu hacking dengan panjang kunci Grafik perbandingan rata-rata panjang kunci antara 1-10 digit dengan lamanya waktu hacking
Grafik perbandingan pengaruh selisih kunci dengan lama waktu eksekusi dimana (selisih = 5)
Grafik perbandingan pengaruh selisih kunci dengan lama waktu eksekusi dimana (selisih = 900)
Grafik perbandingan pengaruh selisih kunci dengan lama waktu eksekusi dimana (selisih = 90000)
Grafik perbandingan Selisih kunci P dan Q dengan lamanya waktu eksekusi sistem dengan panjang kunci konstan (n = 8 digit) 62 64 65 68 71 73 75 77 78 DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1