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