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