Teknik Hacking Kunci Algoritma Rivest Shamir Adleman (Rsa) 512-Bit Dengan Menggunakan Metode Difference Of Squares

  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 2013

  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 Penulis

  

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.

  Keyword: RSA, Factorization, Difference of Squares, Cryptanalysis, Hacking.

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

  1 Latar Belakang

  1.2

  3 Perumusan Masalah

  1.3

  3 Batasan Masalah

  1.4

  4 Tujuan Penelitian

  1.5

  4 Manfaat Penelitian

  1.6

  5 Sistematika Penulisan

  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

  12 Skema Pertukaran Kunci Deffie-Hellman

  2.6

  13 Algortima Rivest Shamir Adleman (RSA)

  2.7

  14 Fungsi Totien Euler φ

  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

  17 Metode Kriptanalisis pada RSA

2.11.1 Serangan pada algoritma RSA 17

  2.14 Faktorisasi fermat 20

  2.15 Metode difference of squares 20

  2.16 Fermat’s Little Theorem 21

Bab III Analisis dan Perancangan Sistem

  3.1 Analisis Sistem

  4.1.3 Tampilan Aplikasi 52

  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.1 Form Splash Screen

  3.4.5 Flowchart Proses Dekripsi Algoritma RSA 46

  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 Pustaka

  3.5 Perancangan Antarmuka sistem

  

3.4.4 Flowchart Proses Enkripsi Algoritma RSA 46

  22

  29

  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

  3.2.3 Sequence Diagram

  45

  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

  83

  DAFTAR TABEL Nomor Nama Tabel Halaman Tabel

  3.1 Kebutuhan non-fungsional sistem

  25 DokumentasiNaratifProses Enkripsi Algoritma RSA

  3.2

  30 Dokumentasi Naratif Proses Dekripsi Algoritma RSA

  3.3

  32 DokumentasiNaratif Use Case Proses Hacking Algoritma RSA

  3.4

  34 Perbandingan antara waktu eksekusi program dengan panjang

  4.1 59 kunci Algoritma RSA

  Perbandingan waktu eksekusi dengan ukuran file Algoritma RSA

  4.2

  63 Uji coba proses hacking algoritma RSA berdasarkan panjang

  4.3 67 kunci secara acak

  Pengujian proses hacking kunci rentang 1-10 digit dari nilai kunci

  4.4 69 p dan q pada beberapa kali pengujian

  Pengujian pengaruh selisih p dan q kunci terhadap lamanya

  4.5 72 proses pemecahan kunci (dimana selisih = 5)

  Pengujian pengaruh selisih p dan q kunci terhadap lamanya

  4.6 74 proses pemecahan kunci (dimana selisih = 900)

  Pengujian pengaruh selisih p dan q kunci terhadap lamanya

  4.7 76 proses pemecahan kunci (dimana selisih = 90000)

  Perbandingan selisih kunci dengan lamanya waktu eksekusi

  4.8 77 dengan panjang kunci konstan = 8 digit

  DAFTAR GAMBAR

  Nomor Gambar Nama Gambar Halaman

  28

  38

  37

  36

  35

  33

  31

  23

  40

  11

  11

  10

  Perbandingan lamanya waktu eksekusi proses generate kunci Algoritma RSA terhadap panjang kunci (dalam digit) Perbandingan lamanya waktu eksekusi proses enkripsi

  

Plaintext untuk uji coba proses enkripsi dekripsi algoritma RSA

  Proses uji coba sistem aplikasi Algoritma RSA

  39

  42

  Rancangan Interface Splash Screen Rancangan Antarmuka Aplikasi Penerapan Algortima RSA Rancangan Antarmuka Aplikasi Hacking Algoritma RSA Rancangan Interface Form Tentang

  52

  60

  58

  57

  56

  55

  53

  50

  43

  49

  48

  47

  46

  46

  45

  44

  Form Splash Screen Form Aplikasi Algoritma RSA Form Aplikasi Hacking Algoritma RSA Form Tentang

  Proses enkripsi RSA Proses dekripsi RSA

  2.1

  3.6

  3.12

  3.11

  3.10

  3.9

  3.8

  3.7

  3.5

  3.14

  3.4

  3.3

  3.2

  3.1

  2.3

  2.2

  3.13

  3.15

  Proses Umum Algoritma RSA Proses Pembentukan Kunci Algoritma RSA Faktorisasi Bilangan n Dengan Metode Difference of Squares

  4.5

  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

  4.10 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

  4.9

  4.8

  4.7

  4.6

  4.4

  3.16

  4.3

  4.2

  4.1

  3.20

  3.19

  3.18

  3.17

  61 Algoritma RSA terhadap panjang kunci (dalam digit)

  62

  4.11 Perbandingan lamanya waktu eksekusi proses dekripsi

  4.12 Algoritma RSA terhadap panjang kunci (dalam digit)

  4.13

  64 Perbandingan Ukuran file (dalam Kb) dengan lama waktu eksekusi (dalam digit)

  4.14 Proses uji coba aplikasi hacking algoritma RSA

  65 Grafik perbandingan waktu hacking dengan panjang kunci Grafik perbandingan rata-rata panjang kunci antara 1-10 digit

  4.15 68 dengan lamanya waktu hacking

  71

  4.16 Grafik perbandingan pengaruh selisih kunci dengan lama waktu eksekusi dimana (selisih = 5)

  4.17 Grafik perbandingan pengaruh selisih kunci dengan lama waktu eksekusi dimana (selisih = 900)

  73 Grafik perbandingan pengaruh selisih kunci dengan lama waktu eksekusi dimana (selisih = 90000) Grafik perbandingan Selisih kunci P dan Q dengan lamanya

  75 waktu eksekusi sistem dengan panjang kunci konstan (n = 8 digit)

  77

  78 DAFTAR LAMPIRAN Halaman

  A. Listing Program A-1

  B. Daftar Riwayat Hidup B-1