Tinjauan Penelitian yang Relevan Analisis Sistem

2.8 Tinjauan Penelitian yang Relevan

Berikut adalah penelitian yang membahas seputar algoritma kriptografi ElGamal: a. Andrian. Y. 2013 membuat penelitian yang berfokus pada penggunaan elemen primitif dan elemen non-primitif pada kunci publik ElGamal. Hasil penelitian menunjukkan bahwa Elemen primitif maupun elemen non-primitif tidak mempengaruhi proses enkripsi, proses dekripsi, dan besarnya file hasil enkripsi. b. Asmar. N. D. 2008 membentuk sebuah sistem yang mengamankan data dan informasi dengan menggunakan Algoritma ElGamal. Hasil penelitian mengungkapkan bahwa Algoritma kriptografi asimetris seperti ElGamal sangat baik digunakan untuk mengatasi masalah distribusi kunci. c. Wijayanti. R. Y. 2013 membuat penelitian yang berfokus pada analisa metode pembangkitan bilangan prima yang lebih baik dalam membuat kunci pada algoritma ElGamal. Hasil penelitian mengungkapkan bahwa waktu enkripsi dengan menggunakan metode Lucas-Lehmer lebih cepat daripada metode Fermat. d. Putra, E. 2013 mengkaji bagaimana menyederhanakan perhitungan pada kriptografi kurva eliptik dan berusaha mempersingkat waktu proses tanpa mengurangi tingkat keamanan dengan menggunakan metode enkripsi Algoritma ElGamal, implementasi juga melibatkan pembangkitan kunci dengan metode pembangkitan bilangan prima Rabin-Miller. Hasil pengujian menunjukkan bahwa dengan membatasi nilai a dan b menjadi 1 pada fungsi kurva eliptik serta membatasi bilangan prima sebanyak dua digit, berhasil mempersingkat waktu proses, enkripsi juga berlangsung dengan baik dan cepat. Universitas Sumatera Utara BAB 3 ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem

Analisis sistem bertujuan untuk memecah sistem ke dalam komponen-komponen subsistem yang lebih kecil untuk mengetahui hubungan setiap komponen tersebut dalam mencapai tujuan. Whitten, 2007 3.1.1. Analisis Masalah Masalah yang diangkat dalam penulisan skripsi ini adalah pembuatan sistem kriptografi untuk merahasiakan pesan menggunakan algoritma ElGamal, dan pemecahan kunci privat menggunakan algoritma Silver-Pohlig-Hellman. Secara umum masalah dalam penelitian dapat dilihat pada Gambar 3.1 yang dirancang dalam bentuk Diagram Ishikawa. Gambar 3.1 Diagram Ishikawa Masalah Penelitian Skenario dari penggunaan sistem dimulai dari pemilik kunci membangkitkan kunci, lalu mendistribusikan kunci publik dan merahasiakan kunci privat. Kemudian pengirim pesan mengirimkan pesan yang telah dienkripsi menggunakan kunci publik yang diberikan oleh pemilik kunci. Kunci publik yang diberikan oleh pemilik kunci Universitas Sumatera Utara tidak hanya diketahui oleh pengirim pesan, namun juga pihak lain yang mencoba untuk mengetahui pesan yang akan dikirimkan dengan cara mencoba membongkar kunci privat dengan modal kunci publik yang tersedia menggunakan algoritma Silver- Pohlig-Hellman. Oleh karena itu sistem ini akan melakukan proses hacking pada kunci publik yang diketahui untuk menemukan kunci privat yang dirahasiakan. Setelah kunci privat berhasil diketahui, pesan terenkripsi akan didekripsi kembali ke bentuk awal. 3.1.2. Analisis Requirement Analisis requirement meliputi analisis functional requirement dan non fuctional requirement. Functional requirement mendeskripsikan fungsi-fungsi yang harus dilakukan oleh sebuah sistem untuk mencapai tujuan. Sedangkan non functional requirement mendeskripsikan fitur lain seperti karakteristik, batasan sistem, performa, dokumentasi dan yang lainnya agar sistem berjalan sukses. a. Analisis functional requirement Untuk dapat melakukan pencarian kunci privat menggunakan algoritma Silver-Pohlig- Hellman pada algoritma kriptografi ElGamal, functional requirement yang harus dipenuhi adalah perangkat lunak dapat: 1. Membangkitkan kunci mulai dari 4-digit sampai 16-digit bilangan prima. 2. Membaca masukan berupa file text sebagai kunci, plaintext dan ciphertext. 3. Melakukan enkripsi plaintext dengan kunci publik yang diberikan. 4. Memecahkan kunci privat berdasarkan kunci publik yang diberikan. 5. Mendekripsi ciphertext menjadi plaintext berdasarkan kunci privat yang diberikan. 6. Menyimpan Kunci, Plaintext dan ciphertext ke dalam file teks. 7. Menghitung berapa lama waktu yang dibutuhkan untuk pembangkitan kunci dan pemecahan kunci privat. b. Analisis non functional requirement Nonfunctional requirement yang harus dipenuhi oleh sistem adalah sebagai berikut: 1. Waktu pemrosesan kunci, enkripsi, dan dekripsi pesan dapat dilakukan dengan cepat. Universitas Sumatera Utara 2. Antarmuka sistem dapat dimengerti dan digunakan dengan mudah oleh pengguna. 3. Sistem yang dibangun memiliki panduan penggunaan. 3.1.3 Analisis Pemodelan Perangkat Lunak Pemodelan sistem bertujuan untuk menampilkan kebutuhan dari sebuah perangkat lunak. Salah satu jenis pemodelan kebutuhan sistem adalah model berbasis skenario, model ini menggambarkan spesifikasi kebutuhan perangkat lunak dari berbagai sudut pandang aktor di dalam perangkat lunak Pressman, 2010. Perangkat lunak yang akan dibangun di dalam penelitian ini dimodelkan dengan diagram Use Case. Use case mendeskripsikan suatu skenario penggunaan yang bersifat spesifik dalam bahasa yang jelas dari sudut pandang aktor dengan sistem Pressman, 2010. Aktor yang berinteraksi dengan sistem ini yaitu: pemilik kunci, pengenkripsi pesan, dan kriptanalis. Use case diagram yang menggambarkan interaksi aktor dengan sistem disajikan pada Gambar 3.2. Gambar 3.2 Use case diagram. Universitas Sumatera Utara Spesifikasi untuk use case Bangkitkan Kunci disajikan pada Tabel 3.1 Tabel 3.1 Spesifikasi Use Case Bangkitkan kunci. Use Case Bangkitkan Kunci Aktor Utama Pemilik Kunci Sasaran Konteks Membangkitkan kunci publik dan kunci privat yang nantinya akan digunakan untuk mengenkripsi dan mendekripsi pesan menggunakan algoritma kriptografi elgamal. Prakondisi . Pemicu Pengguna meng- klik tombol „Generate‟ Skenario penggunaan perangkat lunak 1. Pengguna memilih panjang kunci yang ingin dibangkitkan antara 4 sampai 16 digit. 2. Pengguna menekan tombol „Generate‟ 3. Perangkat lunak membangkitkan kunci publik dan kunci privat, lalu menampilkannya pada kolom „Kunci Publik‟ dan „Kunci Privat‟. 4. Jika pengguna mau meng-eksport kunci yang telah dibangkitkan, maka pengguna akan menekan tombol „Eksport‟ pada bagian kunci publik dan kunci privat. Prioritas Penting. Diagram aktivitas Diagram aktivitas dari use case Bangkitkan Kunci disajikan pada Gambar 3.3. Universitas Sumatera Utara Gambar 3.3. Diagram Aktivitas Bangkitkan Kunci Universitas Sumatera Utara Spesifikasi untuk use case Enkripsi Pesan disajikan pada Tabel 3.2. Tabel 3.2 Spesifikasi Use Case Enkripsi Pesan Use Case Enkripsi Pesan Aktor Utama Pengirim Pesan Sasaran Konteks Mengenkripsi pesan asli plaintext ke dalam ciphertext menggunakan kunci publik yang diperoleh dari pemilik kunci dan menampilkannya di kolom „Ciphertext‟. Prakondisi Pengguna memiliki kunci publik dan pesan yang akan dienkripsi. Pemicu Pengguna meng- klik tombol „Enkripsi‟. Skenario penggunaan perangkat lunak 1. Pengguna menginput kunci publik dengan cara meng-import atau mengetikkan secara manual ke kolom „Kunci Publik‟. 2. Pengguna menginput pesan ke kolom „Pesan‟ dengan cara meng-import atau mengetikkan secara manual. 3. Pengguna meng-klik tombol „Enkripsi‟ 4. Perangkat lunak mengenkripsi pesan ke dalam ciphertext dan menampilkannya pada kolom „Ciphertext‟ 5. Jika pengguna mau meng-eksport ciphertext yang telah didapat, maka pengguna akan menekan tombol „Eksport‟. Prioritas Menengah, akan diimplementasikan setelah fungsi „Bangkitkan Kunci‟ diimplementasikan. Diagram aktivitas Diagram aktivitas dari use case Enkripsi Pesan disajikan pada Gambar 3.4. Universitas Sumatera Utara Gambar 3.4 Diagram Aktivitas Enkripsi Pesan Universitas Sumatera Utara Spesifikasi untuk use case Dekripsi Pesan disajikan pada Tabel 3.3. Tabel 3.3 Spesifikasi Use Case Dekripsi Pesan Use Case Dekripsi Pesan Aktor Utama Pemilik Kunci Sasaran Konteks Mendekripsi ciphertext kembali menjadi pesan asli plaintext menggunakan kunci privat yang dimiliki oleh pemilik kunci dan menampilkannya di kolom „Plaintext‟. Prakondisi Pengguna memiliki kunci privat untuk ciphertext yang akan didekripsi. Pemicu Pengguna meng- klik tombol „Dekripsi‟. Skenario penggunaan perangkat lunak 1. Pengguna menginput kunci privat dengan cara meng-import atau mengetikkan secara manual ke kolom „Kunci Privat‟. 2. Pengguna menginput ciphertext ke kolom „Ciphertext dengan cara meng- import atau mengetikkan secara manual. 3. Pengguna meng-klik tombol „Dekripsi‟. 4. Perangkat lunak mendekripsi ciphertext kembali menjadi plaintext dan menampilkannya pada kolom „Plaintext‟ 5. Jika pengirim pesan mau meng-eksport plaintext yang telah didapat, maka pengirim pesan akan menekan tombol „Eksport‟. Prioritas Menengah, akan diimplementasikan setelah fungsi „Bangkitkan Kunci‟, dan „Enkripsi‟ diimplementasikan. Diagram aktivitas Diagram aktivitas dari use case Dekripsi Pesan disajikan pada Gambar 3.5. Universitas Sumatera Utara Gambar 3.5. Diagram Aktivitas Dekripsi Ciphertext Universitas Sumatera Utara Spesifikasi untuk use case Pecahkan Kunci Privat disajikan pada Tabel 3.4. Tabel 3.4 Spesifikasi Use Case Pecahkan Kunci Privat Use Case Pecahkan Kunci Privat Aktor Utama Kriptanalis Sasaran Konteks Menemukan kunci privat dari kunci publik yang telah diketahui. Prakondisi Pengguna memiliki kunci publik. Pemicu Pengguna meng- klik tombol „Hack‟. Skenario penggunaan perangkat lunak 1. Pengguna menginput kunci publik dengan cara meng-import atau mengetikkan secara manual ke kolom „Kunci Publik‟. 2. Pengguna mencoba menemukan kunci privat dengan meng- klik tombol „Hack‟. 3. Perangkat lunak mencoba menemukan kunci privat berdasarkan kunci publik yang diberikan. 4. Setelah kunci privat ditemukan, perangkat lunak akan menampilkannya pada kolom „Kunci Privat‟ dan menampilkan waktu yang dibutuhkan untuk pemecahan kunci pada label „Waktu pemecahan kunci‟. 5. Jika pengguna mau meng-eksport kunci privat yang telah ditemukan, maka pengguna akan menekan tombol „Eksport‟. Prioritas Menengah, akan diimplementasikan setelah fungsi „Bangkitkan Kunci‟ diimplementasikan. Diagram aktivitas Diagram aktivitas dari use case Pecahkan Kunci Privat disajikan pada Gambar 3.6. Universitas Sumatera Utara Gambar 3.6. Diagram Aktivitas Pecahkan Kunci Privat Universitas Sumatera Utara

3.2 Perancangan Perangkat Lunak