Perancangan Keamanan Informasi Sistem Pemungutan Suara Elektronik (E-Voting) Menggunakan Kombinasi Algoritma AES Dan RSA
PERANCANGAN KEAMANAN INFORMASI SISTEM PEMUNGUTAN SUARA ELEKTRONIK (E-VOTING) MENGGUNAKAN KOMBINASI
ALGORITMA AES DAN RSA SKRIPSI FAHRY ROZY SIREGAR 101402045
PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014 PERANCANGAN KEAMANAN INFORMASI SISTEM PEMUNGUTAN SUARA ELEKTRONIK (E-VOTING) MENGGUNAKAN KOMBINASI
ALGORITMA AES DAN RSA SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi FAHRY ROZY SIREGAR
101402045 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2014 PERSETUJUAN Judul : PERANCANGAN KEAMANAN INFORMASI
SISTEM PEMUNGUTAN SUARA ELEKTRONIK (E-VOTING) MENGGUNAKAN KOMBINASI
ALGORITMA AES DAN RSA Kategori : SKRIPSI Nama : FAHRY ROZY SIREGAR Nomor Induk Mahasiswa : 101402045 Program Studi : S1 TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dr. Erna Budhiarti Nababan, M.IT M. Andri Budiman, ST., M.Comp.Sc., M.E.M.
NIP. 19751008 200801 1 011 Diketahui/disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Muhammad Anggia Muchtar, ST., MM.IT NIP. 19800110 200801 1 010
PERNYATAAN
PERANCANGAN KEAMANAN INFORMASI SISTEM PEMUNGUTAN SUARA ELEKTRONIK (E-VOTING) MENGGUNAKAN KOMBINASI
ALGORITMA AES DAN RSA SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Fahry Rozy Siregar 101402045
PENGHARGAAN
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Kuasa yang telah melimpahkan berkat dan rahmatNya sehingga penulis dapat menyelesaikan skripsi ini. Penulis sangat menyadari bahwa Tuhanlah yang sangat berperan membantu dan mengingatkan disaat penulis jatuh ataupun terlena selama mengerjakan skripsi ini.
Dalam menyelesaikan skripsi ini penulis menyadari banyak mendapatkan bantuan dari berbagai pihak baik bantuan secara materi maupun moril. Pada kesempatan ini dengan segala kerendahan hati, penulis ingin mengucapkan terima kasih yang sedalam-dalamnya kepada:
1. Kedua orang tua penulis, yaitu ayahanda Alm. M. Yusuf Shirot Siregar dan ibunda tercinta Nurhayati, karena berkat dukungan dan kesabarannya baik secara moril maupun materil sehingga penulis dapat menyelesaikan skripsi ini. Kepada saudara kandung, Herry M Siregar dan Irfan Abdillah Siregar yang juga memberikan dukungan kepada penulis.
2. Kepada Bapak M. Andri Budiman S.T., M.Comp.Sc., M.E.M. dan Ibu Dr.
Erna Budhiarti, M.IT selaku dosen pembimbing penulis yang telah memberikan saran dan masukan serta bersedia meluangkan waktu, tenaga dan pikiran untuk membantu penulis dalam menyelesaikan skripsi ini.
3. Kepada dosen penguji saya Ibu Sarah Purnamawati, S.T., M.Sc dan Bapak Sajadin Sembiring, S.Si., M.Comp.Sc yang banyak memberikan masukan.
4. Ketua dan Sekretaris Jurusan Bapak Anggia Muchtar, S.T., MM.IT dan Bapak M. Fadly Syahputra,B.Sc.,M.Sc.IT.
5. Seluruh Dosen dan staff program studi Teknologi Informasi Universitas Sumatera Utara.
6. Sahabat - sahabat terdekat saya selama mengecap bangku perkuliahan di jurusan Teknologi Informasi 2010 yang tergabung dalam Group Foya : Ovy, Dian Bunda, Dian Pomta, Desy, Edgar, Muslim, Akira, Baim, Eka, Galih, Fezan, Heri, Chairul, dan Joko, dan seluruh teman-teman sejawat yang tidak dapat disebutkan satu persatu. Terima kasih atas bantuan kalian, teman.
Penulis menyadari bahwa hasil penulisan skripsi ini masih banyak kesalahan dan jauh dari sempurna. Oleh karena itu, kritik dan saran dari pembaca sangatlah penulis harapkan bagi perbaikan dan kesempurnaan di masa yang akan datang. Penulis mohon maaf apabila terdapat kekurangan dan kesalahan dalam penulisan skripsi ini.
Akhir kata, penulis ucapkan terima kasih kepada semua pihak yang terkait dalam penyelesaian skripsi ini yang tidak bisa disebutkan satu persatu, biarlah Tuhan yang membalas semua kebaikan kalian. Amin.
ABSTRAK
Voting atau pemungutan suara dilakukan untuk mengambil sikap dan keputusan
menyangkut hal kepemimpinan dan lain - lain. Namun voting dengan cara konvensional yang biasa dilakukan dinilai kurang efektif karena memakan waktu dan biaya yang cukup besar, serta rentan terhadap kesalahan dalam pemilihan dan penghitungan suara. E-Voting merupakan alternatif untuk melakukan pemungutan suara secara lebih mudah dan efektif karena membutuhkan waktu yang singkat, murah, dan dapat meminimalisir kesalahan. Akan tetapi e-voting memiliki celah terkait persoalan keamanan yang menimbulkan peluang kecurangan manipulasi terhadap data dan informasi yang digunakan. Atas dasar hal ini, kriptografi dimanfaatkan untuk mengatasi celah tersebut sekaligus meningkatkan kemanan dan menjaga keaslian informasi. Metode yang diajukan adalah dengan menggunakan kombinasi algoritma AES dan RSA untuk mengamankan data dan informasi pada sistem e-voting, dan menjaga keaslian data dan informasi menggunakan digital
signature dengan hash SHA-1. Pada penelitian ini ditunjukkan bahwa kombinasi
algoritma AES dan RSA mampu menutupi celah manipulasi dan meningkatkan keamanan informasi pada sistem e-voting, serta penggunaan digital signature dapat menjaga keaslian data dan informasi yang digunakan.
Kata Kunci : e-voting, kriptografi, kombinasi algoritma, AES, RSA, digital signature, SHA-1
DESIGNING INFORMATION SECURITY FOR ELECTRONIC VOTING
(E-VOTING) SYSTEM USING A COMBINATION OF
AES AND RSA ALGORITHM
ABSTRACT
Voting are often used to take decisions and actions regarding leadership issues, etc.However the conventional ballot voting system is considered less efective due to the amount of time and money it costs, and prone to errors in voting and calculation. Electronic voting (e-voting) could be an alternative to make voting easier and more effective because it only takes a short time, inexpensive, and able to minimize errors. But e-voting has a gap and security issues related to fraud of data and information manipulation. Cryptography, in this case, can be used to cover the gap and increase the security, and also maintain the authenticity of the information. This thesis describes how the AES and RSA algorithm in securing e-voting information, as well as maintaining its authenticity with digital signatures using SHA-1. In this study shows that the combination of AES and RSA algorithm is able to cover the security gap of manipulation and improve the information security in e-voting systems, as well as the use of digital signatures to maintain the authenticity of the data and information.
Keywords: e-voting, cryptography, algorithm combination, RSA, AES, digital signature, SHA-1
DAFTAR ISI
Hal.2.2 E-Voting
17
15
14
13
12
9
7
6
2.4.2 Proses Dekripsi AES
2.4.1 Proses Enkripsi AES
2.3.3 Perbandingan Kunci Simetrik dan Kunci Asimetrik
2.3.2 Kunci Asimetrik
2.3.1 Kunci Simetrik
2.3 Kriptografi
2.1 Voting
Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi ii iii iv v vi vii
1.4 Tujuan Peneletian
Daftar Tabel x
Daftar Gambar xi
BAB 1 PENDAHULUAN
1.1 Latar Belakang
1.2 Rumusan Masalah
1.3 Batasan Masalah
1.5 Manfaat Penelitian
5 BAB 2 LANDASAN TEORI
1.6 Sistematika Penulisan
1
3
3
4
4
20
2.5
22 Algoritma Kriptografi RSA
2.6
23 Konsep Dasar Perhitungan Matematis
2.6.1
23 Fungsi Totient Euler ϕ
2.6.2
24 Algoritma Euclidean
2.6.3
24 Metode Fast Exponentiation
2.7
26 Cara Kerja Algoritma RSA
2.7.1
26 Proses Pembentukan Kunci RSA
2.7.2
26 Proses Enkripsi RSA
2.7.3
26 Proses Dekripsi RSA
2.8
29 Tanda Tangan Digital (Digital Signature)
2.9
32 Penelitian Terdahulu
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
33
3.1
33 Analisis dan Perancangan Keamanan Informasi Sistem e-Voting
3.1.1
34 Enkripsi Data Jumlah Suara menggunakan Algoritma RSA
3.1.3
37 Enkripsi Kunci Algoritma AES menggunakan Algoritma RSA
39
3.1.4
40 Tanda Tangan Digital dengan SHA-1
3.1.5
41 Verifikasi Tanda Tangan Digital
3.1.6
42 Dekripsi Data Jumlah Suara menggunakan Algoritma RSA
3.1.7
43 Dekripsi Database menggunakan Algoritma AES
3.1.8
44 Dekripsi Kunci Algoritma AES menggunakan Algoritma RSA
3.2
44 Analisis dan Perancangan Sistem e-Voting
3.2.1
44 Dekripsi Database menggunakan Algoritma AES
3.2.2
46 Dekripsi Kunci Algoritma AES menggunakan Algoritma RSA
BAB 4 IMPLEMENTASI DAN PENGUJIAN PERANGKAT LUNAK
55
4.1
55 Spesifikasi Perangkat Keras dan Perangkat Lunak yang Digunakan
4.2
56 Pengujian Sistem
4.2.1
56 Pengujian Pada Sisi Administrator
4.2.2
63 Pengujian Pada Sisi Operator
4.2.3
65 Pengujian Pada Sisi Voter
4.2.4
66 Pengujian Pada Sisi Pengguna (Anonymous)
4.3
68 Analisis Keamanan Informasi Sistem
4.3.1
68 Hasil Enkripsi Data Jumlah Suara Analisis Keaslian
4.3.2
69 Hasil Enkripsi Database
4.3.3
70 Hasil Enkripsi Kunci Algoritma AES
4.3.4
71 Hasil Tanda Tangan Digital dan Verifikasi
4.3.5
73 Hasil Dekripsi Kunci Algoritma AES
4.3.6
73 Hasil Dekripsi Database
4.3.7
74 Hasil Dekripsi Data Jumlah Suara
BAB 5 KESIMPULAN DAN SARAN
75
5.1
75 Kesimpulan
5.2
75 Saran DAFTAR PUSTAKA
77 LAMPIRAN LISTING PROGRAM
80
DAFTAR TABEL
Hal.Tabel 2.1 Tabel Perbandingan Beberapa CipherTabel 2.2 Tabel Perbandingan Panjang Kunci AESTabel 2.3 S-Box Algoritma AESTabel 2.4 Inverse S-Box Algoritma AESTabel 2.5 Tabel Proses Mencari Kunci Privat RSA (d)16
17
18
21
27
DAFTAR GAMBAR
Hal.40
18
18
19
19
20
22
30
34
37
39
40
41
12
42
43
44
45
47
48
49
50
51
52
53
13
Gambar 3.18 Flowchart proses lihat hasil votingGambar 2.1 Skema enkripsi dan dekripsi pada kunci simetrikGambar 3.3 Proses enkripsi databaseGambar 2.2 Skema enkripsi dan dekripsi pada kunci asimetrikGambar 2.3 Ilustrasi transformasi SubByte ke dalam S-BoxGambar 2.4 Ilustrasi transformasi ShiftRowsGambar 2.5 Ilustrasi transformasi MixColoumnGambar 2.6 Ilustrasi transformasi AddRoundKeyGambar 2.7 Alur proses enkripsi algoritma AESGambar 2.8 Alur proses dekripsi algoritma AESGambar 2.9 Skema proses tanda tangan digitalGambar 3.1 Arsitektur umum perancangan keamanan informasi pada sisteme-voting
Gambar 3.2 Proses enkripsi data jumlah suaraGambar 3.4 Proses enkripsi kunci algoritma AESGambar 3.17 Flowchart proses rekapitulasi suara di KPUGambar 3.5 Proses tanda tangan digitalGambar 3.6 Verifikasi tanda tangan digitalGambar 3.7 Proses dekripsi data jumlah suaraGambar 3.8 Proses dekripsi databaseGambar 3.9 Proses dekripsi kunci algoritma AESGambar 3.10 Arsitektur penggunaan perangkat lunak e-votingGambar 3.11 Flowchart proses registrasi mahasiswaGambar 3.12 Flowchart proses login voterGambar 3.13 Flowchart proses pilih kandidatGambar 3.14 Flowchart proses cek pilihan suaraGambar 3.15 Flowchart proses login administrator/operatorGambar 3.16 Flowchart proses rekapitulasi suara di TPS54
Gambar 4.1 Tampilan halaman login administrator67
59
59
60
60
61
61
62
63
63
64
65
65
66
68
58
68
69
69
70
70
71
71
72
72
73
73
73
74
58
57
Gambar 4.2 Tampilan halaman panel administratorGambar 4.16 Tampilan halaman login pemilihGambar 4.3 Tampilan halaman manajemen databaseGambar 4.4 Tampilan halaman olah data pemilihGambar 4.5 Tampilan halaman olah data kandidatGambar 4.6 Tampilan halaman olah data operatorGambar 4.7 Tampilan halaman olah pertanyaan keamananGambar 4.8 Tampilan halaman manajemen TPSGambar 4.9 Tampilan halaman distribusi databaseGambar 4.10 Tampilan halaman manajemen kunciGambar 4.11 Tampilan halaman olah data pemilihGambar 4.12 Tampilan halaman lihat hasil votingGambar 4.13 Tampilan halaman rekap hasil suaraGambar 4.14 Tampilan halaman login operatorGambar 4.15 Tampilan halaman panel operatorGambar 4.17 Tampilan halaman pemilihanGambar 4.32 Hasil dekripsi databaseGambar 4.18 Tampilan halaman beranda website KPUGambar 4.19 Tampilan halaman pendaftaranGambar 4.20 Tampilan halaman cek suara pemilihanGambar 4.21 Tampilan halaman lihat hasil votingGambar 4.22 Hasil enkripsi data jumlah suaraGambar 4.23 Hasil enkripsi databaseGambar 4.24 Nilai Hex ciphertext databaseGambar 4.25 Hasil enkripsi kunci algoritma AESGambar 4.26 Nilai Hex ciphertext kunci AESGambar 4.27 Tanda tangan digital kunci validGambar 4.28 Tanda tangan digital database validGambar 4.29 Digital signature kunci tidak validGambar 4.30 Digital signature kunci tidak validGambar 4.31 Hasil dekripsi kunci algoritma AES74
Gambar 4.33 Pembuatan fungsi view pada databaseGambar 4.34 Hasil penghitungan rekapitulasi totalGambar 4.35 Hasil pengitungan suara dari TPS75
75
75