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 Halaman

  51

  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 Halaman

  29

  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