Analisis Dan Perancangan Sistem Autentikasi Pengguna Pada Web Menggunakan Metode Multiple-Key Rsa

ANALISIS DAN PERANCANGAN SISTEM AUTENTIKASIPENGGUNA PADA WEB MENGGUNAKAN METODE

  MULTIPLE-KEY RSA SKRIPSI FAUZANA S 091401031 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN

  2013 ANALISIS DAN PERANCANGAN SISTEM AUTENTIKASI PENGGUNA PADA WEB MENGGUNAKAN METODE

MULTIPLE-KEY RSA

  SKRIPSI Diajukanuntukmelengkapitugasakhirdanmemenuhisyaratmemperoleh ijazahSarjanaIlmu

  Komputer FAUZANA S

  091401031 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN

  2013

  

PERSETUJUAN

  Judul : ANALISIS DAN PERANCANGAN SISTEM AUTENTIKASI PENGGUNA PADA WEB MENGGUNAKAN METODE

MULTIPLE-KEY RSA

  Kategori : SKRIPSI Nama : FAUZANA S Nomor Induk Mahasiswa : 091401031 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

  UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 13 Juni 2013

  Komisi Pembimbing : Pembimbing 2 Pembimbing 1 M. Andri Budiman, ST, M.Comp.Sc, MEM Maya Silvi Lydia, B.Sc, M.Sc NIP.197510082008011011 NIP.197401272002121001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP.196203171991031001

  

PERNYATAAN

  ANALISIS DAN PERANCANGAN SISTEM AUTENTIKASI PENGGUNA PADA WEB MENGGUNAKAN METODE

MULTIPLE-KEY RSA

  SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

  Medan, 12 Juni2013 Fauzana S 091401031

  

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. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1IlmuKomputer Universitas Sumatera Utara dan Dosen Pembimbing.

  3. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Pembimbing.

  4. Bapak Syahriol Sitorus, S.Si, MITdan Ibu Dian Wirdasari, S.Si, M.Kom selaku Dosen Pembanding.

  5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruhtenaga pengajar dan pegawai diProgram Studi S1Ilmu Komputer Fasilkom-TIUSU.

  6. Ayahanda Sudirman Chaniago dan ibunda Farni Fachruddin, serta kakanda Muhammad Hasief yang selalu memberikan kasih sayang dan dukungannya kepada penulis.

  7. Rekan-rekan kuliah, khususnya Fithri Rizqi Khairani Nasution dan Murni Novita Sari, serta teman-teman ca8in, Zulwita Hariyati, Fany Fairina Nadyaningrum, Nurul Ulfah Primadini, Uswatun Hasanah, Annissa Fadilla, AuliaAkbar Harahap, dan Idris Siddiq yang selalu memberikan semangat dan dorongan kepada penulisselama menyelesaikan skripsi ini.

  Semoga Allah SWT melimpahkan berkahkepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.Akhirnya, semoga skripsi ini bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara.

  Medan, 12 Juni 2013 Penulis

  

ABSTRAK

  Sistem berbasis web dengan banyak pengguna memerlukan proses autentikasi untuk pemberian akses karena setiap pengguna sistem memiliki peran yang berbeda-beda satu sama lainnya. Proses autentikasi dilakukan untuk memeriksa identitas pengguna berdasarkan nama pengguna dan kata sandi. Salah satu mekanisme yang digunakan untuk proses autentikasi ini adalah Multiple-KeyRSA. Algoritma ini membangkitkan satu kunci utama dari seluruh kunci-kunci lainnya. Kunci-kunci dibangkitkan dengan syarat bahwa kunci yang akan dibangkitkan merupakan bilangan ganjil dan relatif prima terhadap kunci-kunci yang telah dibangkitkan sebelumnya. Pembangkitan kunci menggunakan konsep Strong Prime yang diimplementasikan dengan algoritma Gordon. Untuk membangkitkan bilangan prima, bilangan dibangkitkan secara acak dan diuji menggunakan algoritma Miller-Rabin. Implementasi sistem menggunakan bahasa pemrograman Python 2.7, framework Flask dan database MongoDB. Sistem diuji dengan kata sandi sepanjang 8 karakter, user sebanyak 2 hingga 10 pengguna dan panjang kunci maksimum 4096 bit dengan interval 512 bit. Hasil penelitian menunjukkan bahwa untuk setiap panjang kunci berbanding lurus terhadap kata sandi yang dienkripsi. Selain itu, setiap bit kunci yang dibangkitkan menggunakan algoritma Gordon akan memiliki digit yang lebih panjang dari yang diharapkan. Rata-rata keseluruhan proses enkripsi adalah 0.404 detik dan dekripsi adalah 0.517 detik dengan kompleksitas waktu enkripsi maupun dekripsi pada kasus terbaik dan rata-rata ialah

  2

  3

  ) dan pada kasus terburukialah ). Kompleksitas waktu algoritma Ο(log( ) Ο(log( )

3 Miller-Rabin ialah

  Ο( log ), dengan = banyaknya nilai yang diuji atau | | =

  3

  jumlah digit . Kompleksitas waktu algoritma Gordon ialah Ο(| | log ).

  Kata Kunci: Kriptografi, Multiple-Key RSA, Strong Prime, Miller-Rabin, Gordon.

  

ANALYSIS AND DESIGN OF USER AUTHENTICATIONSYSTEM

ON THE WEB USING MULTIPLE KEYRSA

ABSTRACT

  Web-based system with many users requires authentication process for granting user acces because each user has different role. Authentication process is performed to verify the identity of the user based on username and password. One mechanism that is used for the authentication process is Multiple-Key RSA. These algorithms generate a main key from all other keys. The keys are generated such that the next key is odd number and coprime to the keys that had been generated previously. Key generation use the concept of a Strong Prime that implemented with Gordon algorithm. A number randomly generated and tested using the Miller-Rabin algorithm to generate prime number. System is implemented using Python 2.7 programming language, Flask framework and MongoDB database. The system was tested with

  8 characterspassword, with 2 up to 10 users and 4096 bitsmaximum key length with 512 bit interval. The results show that for each key length and encrypted password is linear ratio. Additionally and occasionally, every bit key generated using algorithms Gordon islonger than expected. Overall average is 0.404 second for encryption process and the

  2

  decryption is 0.517 second with )time complexity of encryption and Ο(log( )

  3

  decryption in best and average caseand worst case is ). Time complexity of Ο(log( )

3 Miller-Rabin algorithm is

  Ο( log ), with k = number of tested values or | | =

  3

  numberofdigits. Gordon algorithm time complexity is Ο(| | log ).

  Keyword: Cryptography, Multiple-Key RSA,Strong Prime, Miller-Rabin, Gordon.

DAFTAR ISI

  2.4 Sistem Kriptografi RSA

  7

  2.3 Teori Bilangan Integer

  8

  2.3.1 Faktor Persekutuan Terbesar

  8

  2.3.2 Algoritma Euclid dan Extended Euclid

  8

  2.3.3 Invers Modulo

  9

  2.3.4

  ϕ˗Euler

  9

  2.3.5Eksponensial Modulo

  10

  10

  7

  2.4.1 Pembangkitan kunci RSA

  10

  2.4.2 Enkripsi RSA

  11

  2.4.3 Dekripsi RSA

  11

  2.5Sistem Kriptografi Multiple-KeyRSA

  11

  2.6 Algoritma Miller-Rabin

  13

  2.7Strong Prime

  14

  2.8 Penelitian yang Relevan

  14

  2.2.3 Sistem Kriptografi Kunci Publik

  Halaman Persetujuan ii

  Pernyataan iii

  1.4Tujuan Penelitian

  Penghargaan iv

  Abstrak v

  Abstract vi

  Daftar Isi vii

  Daftar Tabel ix

  Daftar Gambar x

  Daftar Lampiran xi

  Bab I Pendahuluan

  1.1 Latar Belakang

  1

  1.2 Rumusan Masalah

  2

  1.3 Batasan Masalah

  2

  2

  6

  2.1.1 Definisi Kriptografi

  2.2.1 Sistem Kriptografi Klasik (Simetris)

  6

  2.2 Sistem Kriptografi

  5

  2.1.2 Tujuan Kriptografi

  5

  5

  1.5 Manfaat Penelitian

  2.1 Kriptografi

  3 BabII Landasan Teori

  1.7 Sistematika Penulisan

  3

  1.6 Metodologi Penelitian

  2

  2.2.2 Sistem Kriptografi Modern (Asimetris) Bab III Analisis dan Perancangan

  3.1 Analisis Sistem

  15

  3.1.1 Analisis Masalah

  15

  3.1.2 Analisis Kebutuhan

  16

  3.1.2.1Kebutuhan Fungsional

  17

  3.1.2.2Kebutuhan Nonfungsional

  18

  3.1.3Analisis Proses

  18

  3.2 Perancangan Sistem

  19

  3.2.1 Flowchart

  19

  3.2.1.1 Flowchart Pembangkitan Kunci

  19

  3.2.1.2Flowchart Algoritma Miller-Rabin

  21

  3.2.1.3Flowchart Algoritma Gordon

  22

  3.2.2 Data Flow Diagram (DFD)

  23

  3.2.2.1 DFD Level 0

  23

  3.2.2.2DFD Level 1

  22

  3.2.2.3DFD Level 2 Proses 1

  24

  3.2.2.4DFD Level 2 Proses 2

  25

  3.2.2.5DFD Level 2 Proses 4

  25

  3.2.3Kamus Data

  26

  3.2.4Mockup

  27

  3.2.4.1 Index Page

  27

  3.2.4.2Status Page

  28

  3.2.4.3Setting Page

  28

  3.2.4.4Reset Page

  28

  3.2.4.5System Page

  29 Bab IV Implementasi dan Pengujian

  4.1 Implementasi

  30

  4.1.1 Index Page

  30

  4.1.2 Status Page

  31

  4.1.3Setting Page

  32

  4.1.4 System Page

  33

  4.1.5 Reset Page

  34

  4.2 Pengujian

  35

  4.2.1 Skenario Enkripsi

  36

  4.2.2 Skenario Pembangkitan Kunci dan Proses Dekripsi

  36

  4.2.3Pengujian dan Analisis Hasil Enkripsi dan Dekripsi

  37

  4.2.4Pengujian dan Analisis Waktu Eksekusi Miller-Rabin Primality Test

  40

  4.2.5Pengujian dan Analisis Waktu Eksekusi Gordon Strong Prime

  41

  4.2.6Pengujian dan Analisis Waktu Eksekusi Pembangkitan Kunci

  43 Bab V Kesimpulan dan Saran

  5.1 Kesimpulan

  45

  5.2Saran

  46 Daftar Pustaka

  47

  

DAFTAR TABEL

  

  

  

  

  

  

  

  

  Halaman

  

  

  

  

  

  

Tabel 3.1 Kamus Data Keys

  

  

DAFTAR GAMBAR

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  Halaman

  

  

  

  

  

  

  

  

  

  

  

Gambar 2.1 Skema Sistem Kriptografi Klasik