• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2019

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

Copied!
13
0
0

Teks penuh

(1)

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

(2)
(3)

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

(4)

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,

(5)

iii

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

(6)

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

(7)

v

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

Ο(log(𝑛𝑛)2) dan pada kasus terburukialah Ο(log(𝑛𝑛)3). Kompleksitas waktu algoritma Miller-Rabin ialah Ο(𝑘𝑘log3𝑛𝑛), dengan 𝑘𝑘= banyaknya nilai yang diuji atau |𝑛𝑛| = jumlah digit 𝑛𝑛. Kompleksitas waktu algoritma Gordon ialah Ο(|𝑛𝑛| log3𝑛𝑛).

(8)

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 decryption is 0.517 second with Ο(log(𝑛𝑛)2)time complexity of encryption and

decryption in best and average caseand worst case isΟ(log(𝑛𝑛)3). Time complexity of Miller-Rabin algorithm is Ο(𝑘𝑘log3𝑛𝑛), with k = number of tested values or |𝑛𝑛| = numberofdigits. Gordon algorithm time complexity is Ο(|𝑛𝑛| log3𝑛𝑛).

(9)

vii

Daftar Lampiran xi

Bab I Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4Tujuan Penelitian 2

1.5 Manfaat Penelitian 2

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 3

BabII Landasan Teori

2.1 Kriptografi 5

2.1.1 Definisi Kriptografi 5

2.1.2 Tujuan Kriptografi 5

2.2 Sistem Kriptografi 6

2.2.1 Sistem Kriptografi Klasik (Simetris) 6

2.2.2 Sistem Kriptografi Modern (Asimetris) 7

2.2.3 Sistem Kriptografi Kunci Publik 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

2.4 Sistem Kriptografi RSA 10

(10)

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.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

(11)

ix

DAFTAR TABEL

Halaman

Tabel 3.1 Kamus Data Keys 27

Tabel 3.2 Kamus Data User_log 27

Tabel 3.3 Kamus Data Users 28

Tabel 4.1 Enkripsi kata sandi 37

Tabel 4.2 Dekripsi kata sandi 37

Tabel 4.3 Pasangan Kata Sandi dan Kunci setiap User 38

Tabel 4.4 Panjang Ciphertext, Rata-rata lama eksekusi proses Enkripsi dan Dekripsi

untuk setiap Panjang Kunci 39

Tabel 4.5 Kode enkripsi pesan 39

Tabel 4.6 Kode dekripsi pesan 40

Tabel 4.7 Rata-rata lama eksekusi Miller-Rabin Primality Test untuk setiap Panjang

Kunci 42

Tabel 4.8 Kode algoritma Miller-Rabin 42

Tabel 4.9 Rata-rata lama eksekusi algoritma Gordon untuk setiap Panjang Kunci 43

Tabel 4.10 Kode Pembangkit Bilangan Prima 44

Tabel 4.11 Kode algoritma Gordon 44

Tabel 4.12 Rata-rata lama eksekusi Pembangkitan Kunci Multiple-Key RSA untuk

(12)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Skema Sistem Kriptografi Klasik 7

Gambar 2.2 Skema Sistem Kriptografi Kunci Publik 8

Gambar 3.1 Diagram Ishikawa Masalah Penelitian 17

Gambar 3.2 Flowchart Pembangkitan Kunci 21

Gambar 3.3 Flowchart A. Algoritma Miller-Rabin B. Fungsi Witness 22

Gambar 3.4 Flowchart Algoritma Gordon 23

Gambar 3.5 DFD Level 0 24

Gambar 3.6 DFD Level 1 25

Gambar 3.7 DFD Level 2 Proses 1 25

Gambar 3.8 DFD Level 2 Proses 2 26

Gambar 3.9 DFD Level 2 Proses 4 27

Gambar 3.10 Mockup Index page 28

Gambar 3.11 Mockup Status page 29

Gambar 3.12 Mockup Setting page 29

Gambar 3.14 Mockup System page 30

Gambar 4.1 Index Page 32

Gambar 4.2 Status Page 33

Gambar 4.3 Setting Page 34

Gambar 4.4 System Page 35

Gambar 4.5 Reset Page 36

Gambar 4.6 Grafik Panjang Kunci terhadap Panjang Kata Sandi Terenkripsi 39 Gambar 4.7 Grafik Panjang Kunci terhadap lama Proses Enkripsi 40 Gambar 4.8 Grafik Panjang Kunci terhadap lama Proses Dekripsi 40 Gambar 4.9 Grafik Panjang Kunci terhadap lama eksekusi

Miller-Rabin Primality Test untuk setiap Jumlah Pengguna 41 Gambar 4.10 Grafik Panjang Kunci terhadap lama eksekusi

algoritma Gordon untuk Setiap Jumlah Pengguna 43 Gambar 4.11 Grafik Panjang Kunci terhadap lama Pembangkitan Kunci

(13)

xi

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1

Referensi

Dokumen terkait

Program ini terdiri dari 5 page utama, yaitu: page index untuk melakukan login sebelum pengguna masuk ke sistem, page status sebagai gerbang setiap user sebelum

Puji dan syukur kehadirat Allah SWT yang dengan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer

Puji dan syukur kehadirat Allah SWT, yang hanya dengan rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar

Puji dan syukur kehadirat Allah SWT, yang hanya dengan rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar

Puji dan syukur penulis ucapkan kehadirat Allah SWT, karena rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar

Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah kepada penulis sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh

Puji syukur kehadirat Allah SWT yang telah memberikan Rahmat dan Hidayah kepada penulis sehingga penulis dapat menyelesaikan skripsi ini, sebagai syarat untuk memperoleh gelar

Puji dan syukur atas nikmat kepada Tuhan Yang Maha Esa sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana