Analisis dan Perancangan Sistem e-Voting

44 3.1.8. Dekripsi Kunci Algoritma AES menggunakan Algoritma RSA Kunci algoritma AES digunakan untuk mendekripsi ciphertext database yang berisi informasi dari seluruh proses pemungutan suara yang telah dilakukan. Namun, kunci algoritma AES yang dikirim merupakan ciphertext yang tidak dapat digunakan sebelum dirubah kembali ke dalam bentuk plaintext. Untuk dapat mengubahnya, ciphertext didekripsi menggunakan kunci privat yang dimiliki oleh KPU. Langkah - langkah yang dilakukan pada proses dekripsi data jumlah suara tidak jauh berbeda dengan langkah yang dilakukan pada proses dekripsi kunci alogirtma AES. seperti yang terlihat pada gambar 3.9. Dekripsi P i = C i d mod n P i à ASCII Indeks ciphertext kunci algoritma AES C i Plaintext kunci algoritma AES P Ciphertext kunci algoritma AES C Gambar 3.9. Proses dekripsi kunci algoritma AES

3.2. Analisis dan Perancangan Sistem e-Voting

3.2.1. Analisis Sistem e-Voting Sistem e-voting yang dibangun pada penelitian ini adalah sistem e-voting untuk pemilihan umum presiden mahasiswa universitas sumatera utara. Pada awalnya setiap user yang merupakan mahasiswa universitas sumatera utara harus mendaftarkan dirinya ke website KPU untuk memperoleh PIN dan akun pemilihan yang valid. Setelah mendapatkan PIN dan akun pemilihan yang valid, user akan mendapatkan haknya sebagai pemilih voter dan dapat melakukan pemungutan suara dengan cara memilih salah satu dari beberapa kandidat yang ditampilkan. Kemudian sistem secara otomatis akan membangkitkan pasangan kunci baik kunci publik untuk proses enkripsi pilihan suara pemilih dan kunci privat yang digunakan pada proses dekripsi dan verifikasi terhadap data pilihan suara. Selanjutnya sistem akan memberikan Universitas Sumatera Utara 45 sebuah print-out berupa dokumen yang berisikan kunci dekripsi yang tersebut kepada pemilih yang bersangkutan. Berikut gambar 3.10. yang menunjukkan arsitektur penggunaan sistem e-voting ini. KPU Operator Voter Voter Voter Server TPS Voter Voter Voter Voter Voter Voter Server TPS Operator Operator Server TPS Website KPU Gambar 3.10. Arsitektur penggunaan sistem e-voting Dalam perangkat lunak ini terdapat beberapa fungsi utama selama proses pemungutan suara, yaitu : 1. Membangkitkan kunci publik dan kunci privat RSA oleh administrator melalui aplikasi untuk KPU. 2. Membangkitkan kunci enkripsi dan dekripsi AES oleh operator melalui aplikasi untuk TPS. 3. Membangkitkan kunci publik dan kunci privat RSA secara otomatis untuk setiap voter melalui aplikasi untuk voter dan menggunakannya pada proses verifikasi dan pengecekan keaslian data pilihan suara melalui website yang disediakan oleh KPU. 4. Melakukan proses enkripsi pada jumlah suara secara otomatis melalui aplikasi untuk TPS dengan menggunakan kunci publik RSA yang dibuat KPU. Universitas Sumatera Utara 46 5. Mengirimkan jumlah suara yang telah diubah menjadi ciphertext secara otomatis ke dalam sistem database pemilihan melalui aplikasi untuk TPS. 6. Merekapitulasi dan menghitung jumlah suara pada masing - masing TPS secara otomatis melalui aplikasi untuk TPS. 7. Melakukan proses enkripsi file pada file database rekapitulasi yang digunakan di setiap TPS dengan kunci enkripsi AES oleh operator melalui aplikasi untuk TPS. 8. Memberikan tanda tangan digital pada setiap file yang telah dienkripsi dan akan didistribusikan oleh operator melalui aplikasi untuk TPS. 9. Melakukan verifikasi tanda tangan digital pada setiap file oleh administrator yang bersumber dari setiap TPS melalui aplikasi untuk KPU. 10. Melakukan proses dekripsi ciphertext database oleh administrator melalui aplikasi untuk KPU agar dapat menggunakan informasi tersimpan dalam database tersebut. 11. Melakukan proses dekripsi ciphertext data jumlah suara, sehingga data jumlah suara akan berubah menjadi plaintext kemudian dihitung di dalam sistem dan dicatat kedalam fungsi view pada sistem database oleh administrator melalui aplikasi untuk KPU. Beberapa batasan pada perangkat lunak yang dibangun adalah 1. Perangkat lunak tidak menangani tata cara penyebaran kunci dan file lainnya. 2. User harus mendaftarkan dirinya melalui website KPU untuk dapat menggunakan hak pilihnya. 3.2.2. Perancangan Sistem e-Voting Perancangan sistem e-voting yang akan dibangun dibuat berdasarkan analisis perangkat lunak. Perancangan ini direpresentasikan ke dalam diagram alur flowchart. Flowchart yang dibuat meliputi proses registrasi mahasiswa melalui website yang disediakan KPU, proses login voter melalui aplikasi untuk voter, proses pilih kandidat melalui aplikasi untuk voter, proses cek pilihan suara melalui website KPU, proses login administrator dan operator melalui aplikasi untuk TPS dan KPU, proses rekapitulasi TPS melalui aplikasi untuk TPS, proses rekapitulasi KPU melalui aplikasi untuk KPU, dan proses perhitungan hasil voting melalui aplikasi untuk administrator. Berikut merupakan flowchart dari sistem e-voting. Universitas Sumatera Utara 47 a. Flowchart proses registrasi mahasiswa dapat dilihat pada gambar 3.11. Mulai Ya Tidak Input data form pendaftaran Database Voter Memeriksa database voter Database Voter NIM sudah terdaftar Simpan data pemilih Selesai Output peringatan kesalahan Gambar 3.11. Flowchart proses registrasi mahasiswa Universitas Sumatera Utara 48 b. Flowchart proses login voter dapat dilihat pada gambar 3.12. Mulai Tidak Sudah memilih Tidak Input NIM dan PIN pada form login Ouput peringatan sudah memilih Memeriksa input NIM dan PIN Database Voter NIM dan PIN valid Output peringatan kesalahan Ya Memeriksa status pemilihan voter Database Votelog Ya Masuk ke sistem e-voting Gambar 3.12. Flowchart proses login voter Universitas Sumatera Utara 49 c. Flowchart proses pilih kandidat dapat dilihat pada gambar 3.13. Mulai Memilih Kandidat Kandidat belum memiliki jumlah suara Menambahkan suara Enkripsi jumlah suara dengan RSA dari KPU Simpan ciphertext jumlah suara ke database Mengambil jumlah suara yang telah dienkripsi Dekripsi Jumlah Suara dengan RSA dari KPU Enkripsi nama kandidat dengan RSA dari voter Simpan id voter dan ciphertext nama kandidat ke database Buat kunci RSA baru untuk setiap voter yang memilih Print-out kunci dekripsi untuk voter Selesai Ya Tidak Output hasil print- out kunci dekripsi dalam bentuk kertas Database Votecount Database Votecount Database Votelog Plaintext jumlah suara Ciphertext jumlah suara Ciphertext nama kandidat yang dipilih Gambar 3.13. Flowchart proses pilih kandidat Universitas Sumatera Utara 50 d. Flowchart proses cek pilihan suara dapat dilihat pada gambar 3.14. Mulai Data lengkap NIM yang dimasukkan valid Tidak Ya Ya Tidak Dekripsi nama kandidat yang dipilih dengan kunci dekripsi RSA yang dimasukkan voter Dekripsi berhasil Selesai Tidak Output hasil dekripsi nama kandidat yang dipilih Input NIM dan kunci pada form pengecekan suara Database Votelog Memeriksa NIM di database votelog Database Votelog Output pesan voter belum memilih Mengambil log pilihan voter Output pesan kesalahan Ya Gambar 3.14. Flowchart proses cek pilihan suara Universitas Sumatera Utara 51 e. Flowchart proses login administrator dan operator dapat dilihat pada gambar 3.15. Mulai Tidak Input Username dan PIN pada form login Memeriksa input Username dan PIN Database Staff Username dan PIN valid Output peringatan kesalahan Ya Masuk ke sistem e-voting Gambar 3.15. Flowchart proses login administratoroperator Universitas Sumatera Utara 52 f. Flowchart proses rekapitulasi suara di TPS dapat dilihat pada gambar 3.16. Mulai Membuat kunci RSA untuk integrasi ke tanda tangan digital Membuat Kunci Enkripsi - Dekripsi AES EkstrakEksport Database Enkripsi file plaintext database dengan menggunakan AES Buat tanda tangan digital untuk file database dengan kunci privat RSA yang dibuat TPS dan Hash SHA-1 Enkripsi file kunci AES dengan kunci enkripsi publik RSA yang diberikan KPU Buat tanda tangan digital untuk file kunci AES dengan kunci privat RSA yang dibuat TPS dan SHA-1 Selesai Ciphertext Database Tanda tangan digital database Ciphertext kunci AES Tanda tangan digital kunci AES Masukkan kunci enkripsi publik RSA yang diberikan KPU File kunci publik dan privat RSA TPS File plaintext kunci AES Hapus file plaintext database dengan metode Secure Delete Hapus file plaintext kunci AES dengan metode Secure Delete File plaintext database Gambar 3.16. Flowchart proses rekapitulasi suara di TPS Universitas Sumatera Utara 53 g. Flowchart proses rekapitulasi suara di KPU dapat dilihat pada gambar 3.17. Mulai Periksa validitas kecocokan tanda tangan dengan kunci AES Tanda tangan digital kunci valid Tidak Ya Periksa validitas kecocokan tanda tangan digital dengan database Tanda tangan digital database valid Lakukan proses dekripsi kunci AES menggunakan kunci privat RSA dari KPU Lakukan proses dekripsi database dengan kunci AES yang telah didekripsi Lakukan proses import database yang telah didekripsi Mengambil data votecount yang dienkripsi Dekripsi data menggunakan RSA Buatgantikan Vew hasil voting di database berdasarkan data votecount yang telah didekripsi Selesai Tidak Ya Masukkan kunci dekripsi privat RSA dari KPU Masukkan ciphertext kunci AES dari TPS Masukkan ciphertext database dari TPS Masukkan kunci publik RSA dari TPS untuk integrasi dengan tanda tangan digital Masukkan tanda tangan digital untuk kunci AES Masukkan tanda tangan digital untuk database Ya Plaintext kunci AES Plaintext Database Database Votecount View database hasil voting Gambar 3.17. Flowchart proses rekapitulasi suara di KPU Universitas Sumatera Utara 54 h. Flowchart proses lihat hasil voting dapat dilihat pada gambar 3.18. Mulai Memeriksa data view hasil voting di database Data ada Pesan kesalahan Menampilkan data hasil voting Selesai Ya Tidak View hasil voting database Gambar 3.18. Flowchart proses lihat hasil voting Universitas Sumatera Utara

BAB IV IMPLEMENTASI DAN PENGUJIAN