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
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
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
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.
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.
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
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.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.3.1 Pseudo CodeDifference of Squares 39
3.3.2 Pseudo Code Algoritma RSA 40
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
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
Nomor
Gambar Nama Gambar Halaman
2.1
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 Algoritma RSA terhadap panjang kunci (dalam digit)
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
Halaman
A. Listing Program A-1