Pengembangan Sistem Autentikasi Voter pada Central Legitimization Agency Menggunakan Media Mifare Smart Card®

PENGEMBANGAN
REPRESENTASI SISTEM
WORD GRAPH
AUTENTIKASI
MENGGUNAKAN
VOTER
XML UNTUK
PADA CENTRAL
KATA SIFAT
LEGITIMIZATION
DALAM BAHASA
AGENCY
INDONESIA
MENGGUNAKAN MEDIA MIFARE SMART CARD®

ALFIAN
RIA ASTRIRATMA
PRAYANTA

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR
BOGOR
2012

PENGEMBANGAN SISTEM AUTENTIKASI VOTER
PADA CENTRAL LEGITIMIZATION AGENCY
MENGGUNAKAN MEDIA MIFARE SMART CARD®

ALFIAN PRAYANTA

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012


ABSTRACT
ALFIAN PRAYANTA. The Development of Voting Authentication in Central Legitimization Agency
Using Mifare Smart Card® Technology. Supervised by SUGI GURITMAN and SHELVIE NIDYA
NEYMAN.
Cryptography becomes one of the important things in the development of electronic voting
system. The voting system using internet network technology aims to reduce considerable calculation
time as well as necessary human resources. Securing lines of communication between voting
machines and servers is needed to communicate securely. The identity of the voters, which is used for
authentication voting process is stored in Mifare smart card called identity card. Every identity card
which contains unique identification and nomor induk kependudukan will be authenticated in Central
Legitimization Agency server. Card identity is hashed with SHA-2 and encrypted with session key to
assure that the integrity of data is not changed by others. Session key is distributed from CLA to
voting machines which are encrypted with asymmetric RSA algorithm. Only voting machines can
decrypt the ciphertext to get the session key as plaintext. The list of the voters who are allowed to vote
is stored in the CLA database. The decrypted plaintext must be identical to one of the voters in the
voters list, for the voter to be able to vote. Only one vote for each of the voters can be casted. If the
time limit is reached, CLA will distribute the vote count to the Central Tabulating Facilities.
Considering the complexity in building a complete secure online election voting process, this research
is only focused developing a system to authenticate the voter identity in CLA from identity card which

is stored in Mifare smart card.
Keywords: Central Legitimization Agency, Central Tabulating Facilities, electronic voting system,
Mifare Smart Card, Two Central Facilities Protocol, voter authentication.

Judul Skripsi
Nama
NIM

: Pengembangan Sistem Autentikasi Voter pada Central Legitimization Agency
Menggunakan Media Mifare Smart Card®
: Alfian Prayanta
: G64070087

Menyetujui:

Pembimbing I,

Pembimbing II,

Dr. Sugi Guritman

NIP. 19620927 199203 1 004

Shelvie N. Neyman, S.Kom, M.Si
NIP. 19770206 200501 2 002

Mengetahui:
Ketua Departemen Ilmu Komputer,

Dr. Ir. Agus Buono, M.Si, M.Kom
NIP. 19660702 199302 1 001

Tanggal Lulus :

RIWAYAT HIDUP
Alfian Prayanta, anak laki-laki dari dua bersaudara pasangan Bapak Drs. M. Salam, M.Si dan
Ibu Dra. Yernida, dilahirkan di Kota Jambi, Jambi pada Selasa, 14 Maret 1989. Pada tahun 2007,
penulis lulus dari Sekolah Menengah Atas (SMA) Negeri 1 Kota Jambi kemudian penulis menempuh
jalur Seleksi Penerimaan Mahasiswa Baru (SPMB) di Kota Jambi untuk masuk ke Institut Pertanian
Bogor sebagai mahasiswa Departemen Ilmu Komputer Angkatan 44.
Saat ini, penulis telah menyelesaikan Praktik Kerja Lapang di Balai Mesin Perkakas, Teknik

Produksi dan Otomasi – Badan Pengkajian dan Penerapan Teknologi. Pada Agustus 2010, penulis
tergabung ke dalam tim database dan juga tim algoritma dalam proyek Optimasi Peletakan dan
Pengambilan SLAB pada Pabrik Hot Strip Mill (HSM) PT. Krakatau Steel Indonesia. Penulis pernah
menjadi pengurus Komunitas Networking dan juga menjadi Ketua Komunitas Himpunan Mahasiswa
Ilmu Komputer (Himalkom), Institut Pertanian Bogor. Penulis pernah tergabung dalam oraganisasi
Badan Eksekutif Mahasiswa Keluarga Mahasiswa Institut Pertanian Bogor (BEM-KM IPB) Kabinet
Generasi Insiprasi periode 2010 sebagai staf Kementerian Pengembangan Sumber Daya Manusia.
Penulis juga pernah menjadi Manager Humas pada Leadership and Entrepreneurship School (LES).
Di kampus, penulis aktif menjadi asisten mata kuliah Basis Data, Rekayasa Perangkat Lunak, dan
Sistem Pakar pada tahun 2009 hingga 2011 di Departemen Ilmu Komputer Institut Pertanian Bogor.
.

PRAKATA
Rasa syukur penulis ucapkan kepada Allah subhanahu wa-ta'ala yang telah memberikan anugerah
dan rahmat-Nya hingga proses pembuatan skripsi ini dapat terselesaikan dengan lancar. Skripsi
berjudul “Pengembangan Sistem Autentikasi Voter pada Central Legitimization Agency
Menggunakan Media Mifare Smart Card” ini berangkat dari keinginan penulis yang ingin membantu
mewujudkan pemilu di Indonesia ke arah yang lebih baik secara elektronik menggunakan protokol
keamanan yang menjamin entitas dan proses didalamnya. Penelitian ini diharapkan dapat menjadi
sumbangan pemikiran yang nantinya dapat terus dikembangkan bagi penyelenggaraan pemilu secara

lebih luas di masa mendatang. Seiring dengan terselesaikannya skripsi ini, penulis ingin mengucapkan
terima kasih kepada:
1 Ayah dan Ibu, Muhammad Salam dan Yernida, kedua orang yang menjadi sumber kekuatan untuk
tetap maju dan melangkah. Terima kasih pula penulis ucapkan kepada kakak perempuan, Anggi
Pratiwi, yang selalu mengajarkan untuk tidak cepat menyerah dan menyadarkan bahwa
mempelajari ilmu pengetahuan dimulai dari mencintai ilmu pengetahuan itu sendiri.
2 Bapak Dr. Sugi Guritman selaku pembimbing pertama yang telah menumbuhkan rasa kecintaan
akan ilmu kriptografi dan mencetuskan pemikiran awal untuk mengerjakan penelitian e-voting.
3 Ibu Shelvie Nidya Neyman, S.Kom, M.Si selaku pembimbing kedua yang telah memberikan
memberi arahan, bimbingan, serta motivasi untuk menyelesaikan skripsi ini.
4 Ibu Dr. Ir. Sri Nurdiati, M.Sc selaku penguji yang telah memberikan motivasi spiritual, semangat
pantang menyerah, dan selaku Ibu yang dalam kesibukannya masih menyempatkan mendengarkan
cerita suka duka anak didiknya yang membutuhkan arahan, bimbingan, serta memberikan
dorongan moril dan perhatian kepada penulis.
5 KPU Kota Bogor dan Kominfo Kota Bogor yang telah membantu dan bekerja sama dalam
mendukung proses pengerjaan e-voting serta penyelenggaraan uji coba e-voting di Desa Cipaku,
Bogor pada bulan Juli 2011.
6 Teman-teman yang menemani dari awal menginjakkan kaki di IPB hingga semester akhir
perkuliahan dapat terlewati dan membantu penulis dalam tugas-tugas kelompok maupun pribadi,
Auzi Asfarian, Yuridis Kurniawan, Adi Gunarso, Dean Apriana Ramadhan, Laras Muatiara Diva,

Rani Dwijayanti, Ni Made Febriantini. Skripsi ini penulis persembahakan bagi teman-teman
seperjuangan NCC Fitrah, Erick, Aco, Trie, Gamma, Gema, dan Teguh. Tidak lupa penulis
ucapkan terimakasih kepada sahabat, Fitrah SFK, dan Gema Alief Utama, rekan seperjuangan
dalam usaha bersama kita CV Skylynx Tekomindo. Terima kasih untuk teman-teman yang sering
menghibur dengan permainan Dotanya, Aco, Bangun, Sayed, Gamma, Rilan, Raden, dan sahabatsahabat yang tidak bisa penulis sebutkan satu persatu, terimakasih atas segala pertolongan dan
bantuannya selama ini.
7 Rekan-rekan seperjuangan HIMALKOM 2009 dan BEM KM IPB 2010 Kabinet Generasi
Inspirasi yang telah memberikan dan mengajarkan rasa kekeluargaan, kebersamaan,
kepemimpinan, kemandirian, entrepreneurship, serta pelajaran berharga lainya yang tidak akan
pernah didapatkan dari ruang kuliah.
8 Seluruf staf pengajar Departemen Ilmu Komputer yang telah berbagi banyak ilmu, filosofi, dan
cerita-cerita luar biasa sehingga mempelajari ilmu komputer menjadi hal yang menyenangkan.
Terima kasih juga penulis ucapkan kepada segenap staf administrasi dan perpustakaan Departemen
Ilmu Komputer yang telah membantu hingga skripsi ini dapat terselesaikan. Terima kasih atas
bantuan semua pihak.
Akhir kata semoga karya ilmiah ini dapat bermanfaat dan memberi inspirasi bagi peneliti-peneliti
muda lainnya untuk terus berlomba menciptakan karya terbaik.

Bogor, Januari 2012


Alfian Prayanta

DAFTAR ISI

Halaman
DAFTAR GAMBAR ............................................................................................................................. vi
PENDAHULUAN
Latar Belakang .................................................................................................................................. 1
Tujuan ............................................................................................................................................... 2
Ruang Lingkup .................................................................................................................................. 2
Manfaat ............................................................................................................................................. 2
TINJAUAN PUSTAKA
Kriptografi ......................................................................................................................................... 2
Algoritme RSA ................................................................................................................................. 2
Algoritme AES .................................................................................................................................. 3
Secure Hash Algorithm (SHA)-2 ....................................................................................................... 3
Central Legitimization Agency (CLA) .............................................................................................. 3
Central Tabulating Facilities (CTF) ................................................................................................. 3
Mifare Smart Card dan Reader.......................................................................................................... 3
METODE PENELITIAN

Ancaman (Threats)............................................................................................................................ 4
Kebijakan (Policy) ............................................................................................................................ 5
Spesifikasi (Specification) ................................................................................................................. 5
Perancangan (Design) ....................................................................................................................... 5
Implementasi (Implementation) ........................................................................................................ 5
Pengujian (Testing) ........................................................................................................................... 5
HASIL DAN PEMBAHASAN
Ancaman (Threats)............................................................................................................................ 5
Kebijakan (Policy) ............................................................................................................................ 6
Spesifikasi (Specification) ................................................................................................................. 6
Perancangan (Design) ....................................................................................................................... 7
Implementasi ..................................................................................................................................... 9
Uji Keamanan Sistem ...................................................................................................................... 13
KESIMPULAN DAN SARAN
Kesimpulan ..................................................................................................................................... 15
Saran ............................................................................................................................................... 15
DAFTAR PUSTAKA ........................................................................................................................... 15

v


DAFTAR GAMBAR
Halaman
1
2
3
4
5
6
7
8
9
10

Protokol e-voting yang disesuaikan .......................................................................................... 1
Enkripsi dan dekripsi ...................................................................................................................... 2
Mifare smart card reader tipe ACR122U NFC ............................................................................. 4
The security life cycle ..................................................................................................................... 4
Diagram alir pengiriman kunci simetri AES dari CLA ................................................................. 8
Diagram alir pembacaan Card identity dari Mifare smart card ..................................................... 8
Diagram alir autentikasi Card identity pada CLA .......................................................................... 9

Mifare smart card klasik dengan kapasistas 1 kilobyte ................................................................ 11
Mifare smart card klasik dengan kapasistas 4 kilobyte ................................................................ 11
Tampilan program pembacaan card identity dari Mifare klasik ................................................... 12

vi

1

PENDAHULUAN
Latar Belakang
Pemilihan umum (pemilu) merupakan
bagian penting dalam sistem demokrasi
Indonesia. Sejak meraih kemerdekaan pada
tahun 1945, Indonesia tercatat telah 10 kali
menyelenggarakan pemilu. Secara umum,
terdapat 4 aspek yang dapat diamati dari
pemilu sebelumnya, yaitu sumber daya
manusia, biaya, waktu, dan keamanan.
Banyak kendala dan permasalahan yang
timbul pada penyelenggaraan pemilu hingga
tahun 2009 yang lalu. Pada tahun 2011, dialog
nasional yang diprakarsai oleh KPU yang
bertema “Menuju Pemilu Elektronik di
Indonesia” menyimpulkan beberapa masalah
yang ditimbulkan pemilu konvensional, yaitu:
 Banyak terjadi kesalahan dalam proses
pendataan dan pendaftaran pemilih.
 Pemilih salah dalam memberi tanda pada
kertas suara.
 Proses pengumpulan kartu suara yang
berjalan lambat.
 Kurang terjaminnya kerahasiaan dari
pilihan yang dibuat oleh seseorang.
 Keterlambatan dalam proses tabulasi hasil
perhitungan suara di daerah.

protokol, dengan tujuan untuk meningkatkan
keamanan sistem e-voting secara keseluruhan.
Penelitian-penelitian terdahulu memerlukan modifikasi dan penyesuaian jika ingin
diterapkan pada e-voting di Indonesia,
diantaranya
dengan
melakukan
penyempurnaan
serta
pengembangkan
protokol e-voting Two Central Facilities.
Protokol ini dipilih karena termasuk protokol
yang paling memenuhi sebagian besar
persyaratan untuk menjalankan secure
election dan memiliki tingkat keamanan yang
paling tinggi dibandingkan protokol-protokol
lain yang dijelaskan oleh Schneier (1996).
Mengingat protokol Two Central Facilities
tidak dapat secara langsung diterapkan pada
pemilu di Indonesia, penelitian ini akan
menyesuaikan protokol tersebut dengan
kebijakan dan kebutuhan sistem e-voting di
Indonesia. Secara spesifik, penelitian ini
menitikberatkan kepada proses autentikasi
voter pada server CLA yang merupakan
bagian dari protokol Two Central Facilities.
Ilustrasi protokol dapat dilihat pada Gambar 1
yang ditandai dengan garis berwarna merah.

Penelitian ini mencoba menawarkan solusi
untuk memecahkan permasalahan yang
ditimbulkan pada pemilu sebelumnya dengan
menggunakan sistem terotomatisasi (e-voting).
Sistem e-voting yang aman, efektif, dan
efisien
diperlukan
demi
suksesnya
penyelenggaraan pemilu sebagai tolak ukur
keberhasilan
penerapan
demokrasi
di
Indonesia. E-voting menawarkan beberapa
keunggulan dibandingkan sistem pemilu
konvensional,
diantaranya
mempercepat
perhitungan suara, memudahkan pengolahan
suara, memudahkan verifikasi, menghemat
biaya,
dan
meningkatkan
efektivitas
pelaksanaan pemilu.

Gambar 1 Protokol e-voting yang
disesuaikan.

Pada tahun 2001, DuFeu dan Harris
melakukan penelitian tentang sistem e-voting,
dengan
mengimplementasikan
Central
Legitimization Agency (CLA) dan Central
Tabulating Facilities (CTF) untuk pemilu
yang aman. Penelitian terkait selanjutnya pada
tahun 2005,
Sireesha dan Chakchai
melakukan penelitian dengan memodifikasi
sistem e-voting protokol Two Central
Facilities dengan menambahkan spesifikasi
pada entitas-entitas yang terlibat di dalam

Proses autentikasi voter mengirimkan
voter identity dari mesin voting menuju CLA
yang
secara
tidak
langsung
akan
membangkitkan validation ID pada CLA.
Voter identity akan yang didapat oleh CLA
akan diautentikasi. Jika voter identiy terdaftar,
sah, dan belum melakukan pemilihan, CLA
akan mengirimkan validation ID untuk voter
identity tersebut sebagai legitimasi untuk
melakukan pemilihan kandidat pada mesin
voting.

2

Tujuan
Tujuan utama dari penelitian ini untuk
mengembangkan sistem autentikasi voter pada
CLA dengan protokol Two Central Facilities
serta melakukan pembacaan card identity pada
Mifare smart card menggunakan Mifare smart
card reader yang dapat diterapkan pada evoting di Indonesia.
Ruang Lingkup
Ruang lingkup penelitian ini difokuskan
kepada pembacaan data dari media Mifare
smart card yang digunakan untuk autentikasi
voter pada CLA. Penelitian ini dimulai dari
proses pembacaan voter identity dari Mifare
smart card yang kemudian dikirimkan menuju
CLA untuk dilakukan proses autentikasi dan
selanjutnya pemberian legitimasi kepada
mesin voting untuk melakukan pemilihan.
Penelitian dilakukan bersama 2 rekan yang
lain, Fitrah Fajar dan Erik Priyanggodo, untuk
membuat model simulasi e-voting agar dapat
diimplementasikan secara menyeluruh. Proses
komunikasi antara mesin voting dan CTF
dikembangkan oleh Erik Priyanggodo,
sedangkan
protokol
e-voting
secara
keseluruhan dikembangkan dan dianalisis oleh
Fitrah Fajar.
Manfaat
Manfaat dari penelitian ini adalah
menghasilkan simulasi e-voting yang dapat
dijadikan acuan dan media sosialisasi untuk
penyelenggaran pemilu dengan sistem evoting di Indonesia.
TINJAUAN PUSTAKA
Kriptografi
Kriptografi, menurut Schneier (1996),
adalah seni dan ilmu untuk menjaga keamanan
pesan. Beberapa istilah menurut Schneier
yang sering digunakan dalam kriptografi,
antara lain:
a) Plaintext: Semua data yang belum diproses
melalui suatu algoritme kriptografi.
Plaintext dapat berupa teks, gambar, atau
bentuk lainnya.
b) Ciphertext: Hasil proses algoritme
kriptografi dari suatu plaintext.
c) Enkripsi: Proses pengubahan pesan
sedemikian
sehingga
isi
pesan
disembunyikan. Enkripsi juga dapat
dikatakan sebagai proses pengubahan
plaintext ke ciphertext, dengan algoritme
kriptografi tertentu.

d) Dekripsi: Proses pengubahan kembali dari
ciphertext ke plaintext dengan algoritme
kriptografi tertentu.
e) Cipher: Suatu algoritme kriptografi yang
dapat melakukan enkripsi dan dekripsi.
f) Key: Parameter kunci yang digunakan oleh
cipher dalam melakukan proses enkripsi
dan dekripsi.
g) Message digest: Ukuran byte kecil yang
menunjukkan ukuran plaintext.
h) Hash: Nama lain dari message digest.
Skema proses enkripsi dan dekripsi secara
umum dapat dilihat pada Gambar 2.
Plaintext

Original
Plaintext

Ciphertext
Enkripsi

Dekripsi

Gambar 2 Enkripsi dan dekripsi.
Algoritme RSA
Algoritme RSA dinamakan berdasarkan
nama tiga orang penemunya yakni Ron Rivest,
Adi Shamir, dan Leonard Adleman.
Keamanan algoritme RSA didapatkan dari
sulitnya memfaktorkan bilangan yang besar
menjadi faktor-faktor prima. Pemfaktoran
dilakukan untuk memperoleh kunci privat.
Algoritme RSA memiliki besaran-besaran
sebagai berikut:
1
2
3
4
5
6
7

p dan q bilangan prima
N = p. q
φ (N) =(p-1)(q-1)
e (kunci enkripsi)
d (kunci dekripsi)
m (plaintext)
c (ciphertext)

(rahasia)
(tidak rahasia)
(rahasia)
(tidak rahasia)
(rahasia)
(rahasia)
(tidak rahasia)

Deskripsi sederhana dari algoritme RSA
dijelaskan sebagai berikut, diberikan nilai N
yang untuk persamaan:
N=p.q
Dengan p dan q adalah dua bilangan prima
besar dengan ukuran yang sama. Diberikan
nilai e dan d dengan ketentuan sebagai
berikut:
ed = 1 mod φ (N) dan φ (N) = (p-1)(q-1)
N adalah RSA modulus, e adalah
encryption exponent, dan d adalah decryption
exponent. (N,e) adalah kunci publik yang

3

digunakan untuk enkripsi pesan. Kunci rahasia
atau kunci privat yang digunakan untuk
mendekripsi ciphertext atau pesan yang telah
dienkripsi ke pesan sebenarnya (Boneh 1999).
Pesan adalah bilangan integer M, untuk
mengenkripsi M menggunakan cara C = Me
mod N. Untuk mendekripsi ciphertext
digunakan perhitungan M = Cd mod N (Boneh
1999).
Algoritme AES
AES merupakan algoritme kriptografi
yang didesain untuk beroperasi pada blok
pesan 128 bit dan menggunakan tiga variasi
blok kunci dengan panjang 128 bit, 192 bit,
atau 256 bit. Penelitian ini menggunakan
algoritme AES dengan panjang kunci 128 bit.
Empat proses utama algoritme AES sebagai
berikut:
1. SubBytes (Transformasi Subtitusi Byte).
2. ShiftRows
(Transformasi
Pergeseran
Baris).
3. MixColumns (Transformasi Percampuran
Kolom).
4. AddRoundKey (Transformasi Penambahan
Kunci).
Struktur algoritme secara umum cukup
sederhana. Proses enkripsi dan dekripsi
diawali
proses
AddRoundKey
diikuti
sembilan round yang masing-masing tersusun
atas empat proses, dan diakhiri round
kesepuluh yang terdiri atas tiga proses yaitu
SubBytes, ShiftRows, dan AddRoundKey yang
menghasilkan ciphertext. (Stallings 2003).
Secure Hash Algorithm (SHA)-2
Untuk menghindari masalah keamanan
yang disebabkan oleh collision pada SHA-1,
dikembangkan
algoritme
penggantinya.
Algoritme SHA generasi selanjutnya disebut
juga algoritme SHA-2. Penelitian ini
menggunakan salah satu dari algoritme SHA-2
yaitu SHA-256. Algoritme SHA-256 dapat
digunakan untuk menghitung nilai message
digest dari sebuah pesan dengan panjang
maksimum
264
bit.
Algoritme
ini
menggunakan sebuah message schedule yang
terdiri atas 64 elemen 32-bit word, delapan
buah
variabel
32-bit,
dan
variabel
penyimpanan nilai hash 8 buah word 32-bit.
Hasil akhir dari algoritme SHA-256 adalah
sebuah message digest sepanjang 256-bit
(NIST Secure Hash Standard 2008).
Central Legitimization Agency (CLA)
Central Legitimization Agency (CLA)
merupakan sebuah badan yang bertugas untuk

melakukan sertifikasi pemilih. Fungsi utama
badan ini adalah untuk melakukan autentikasi
dan otorisasi pemilih. CLA akan memeriksa
apakah pemilih berhak atau tidak berhak
melakukan pemilihan. CLA juga menyimpan
daftar pemilih yang berhak melakukan
pemilihan pada database CLA. Mesin voting
akan mengirimkan identitas voter untuk
selanjutnya dilakukan proses autentikasi.
Hanya voter yang terdaftar dan belum
melakukan pemilihan yang dapat memberikan
suaranya. Pada saat pengiriman suara, CLA
akan
membangkitkan
Validation
ID,
mendaftarkannya secara aman kepada CTF,
dan mengembalikannya secara aman kepada
mesin voting. Validation ID bernilai kompleks
sehingga
secara
komputasi
tidak
dimungkinkan seorang penyerang untuk
memproduksi sebuah ID yang valid. CLA
memiliki daftar sejumlah Validation ID yang
valid serta daftar identifikasi pengiriman suara
dari setiap Validation ID untuk mencegah
pengiriman suara lebih dari satu kali (DuFeu
dan Harris 2001).
Central Tabulating Facilities (CTF)
Central Tabulating Facilities (CTF)
merupakan suatu badan yang bertugas
melakukan
penghitungan
suara.
CTF
menyediakan beberapa fungsionalitas sebagai
berikut:
a) Menerima secure Validation ID yang telah
disertifikasi oleh CLA.
b) Menerima suara dari mesin voting untuk
selanjutnya dilakukan proses perhitungan.
c) Mengizinkan mesin votinguntuk meminta
sertifikasi hasil perhitungan akhir.
Dalam rangka otorisasi pemilih, CTF
melakukan pengecekan Validation ID dengan
daftar yang diterima dari CLA. Jika Validation
ID valid, suara dari mesin voting akan
dimasukkan ke dalam kotak suara (DuFeu dan
Harris 2001).
Mifare Smart Card dan Reader
Mifare card adalah salah satu perangkat
penyimpanan, di mana memori dibagi menjadi
segmen-segmen dan blok dengan mekanisme
keamanan sederhana untuk kontrol akses.
Berkat kehandalan dan biayanya yang rendah,
Mifare card banyak digunakan untuk dompet
elektronik, kontrol akses, kartu identitas
perusahaan, transportasi, dan tiket stadion.
Salah satu varian Mifare card adalah
Mifare classic. Mifare Classic 1024 byte
menawarkan penyimpanan data yang dibagi

4

menjadi 16 sektor dan masing-masing sektor
dilindungi oleh dua kunci yang berbeda, yang
disebut A dan B. Setiap sektor pada Mifare
classic 1024 byte terdiri dari 3 blok data dan 1
blok trailer. Mifare Classic 4096 byte dibagi
menjadi empat puluh sektor, 32 sektor adalah
ukuran yang sama seperti Mifare classic 1K
dan delapan sektor sisanya adalah sektor yang
ukurannya empat kali lipat dari sektor pada
Mifare classic 1K.
Mifare smart card reader dapat
digunakan
untuk
melakukan
proses
pembacaan UID (Unique Identity) dan nilainilai dari blok diagram pada Mifare card,
seperti ditunjukkan pada Gambar 3.

Spesifikasi:
 Dimensions : 98 mm (L) x 65 mm (W) x
12.8 mm (H)
 Weight : 70 g
 Operating Temperature :0-50°C
 Operating Frequency: 13.56 MHz
 Operating System Support : Windows 98,
ME, 2000, XP, Vista, 7, Mac and Linux.
(Advanced Card Systems Limited 2008).
METODE PENELITIAN
Penelitian ini dikembangkan berdasarkan
metode Security Life Cycle dari Bishop
(2003). Terdapat 6 tahap utama didalamnya:
(1) Ancaman (Threats), (2) Kebijakan
(Policy), (3) Spesifikasi (Specification)(4)
Perancangan (Design), (5) Implementasi
(Implementation), serta (6) Operasi dan
Pemeliharaan (Operation and Maintenance).
Metode Security Life Cycle dapat dilihat pada
Gambar 4. Penelitian ini difokuskan dari tahap
(1) hingga (5).

Gambar 3 Mifare smart card reader
ACR122U NFC (Advanced
Card Systems Limited 2008).
Mifare card reader ACR122U NFC
merupakan smart card reader/writer yang
dikembangkan berdasarkan teknologi 13.56
MHz (RFID) contactless. Dengan kecepatan
akses hingga 424 kbps dan kecepatan USB
hingga 12 Mbps, ACR122U juga dapat
membaca dan menulis lebih cepat dan efisien.
Operasi kedekatan jarak ACR122U adalah
sampai 5 cm, tergantung pada tipe contactless
digunakan. Berikut adalah fitur dan spesifikasi
dari ACR122U:
Fitur :
 Read/write speed up to 424 kbps.
 Built-in antenna for contactless tag access,
with card reading distance of up to 50 mm
(depending on tag type).
 Built-in anti-collision feature (only 1 tag is
accessed at any time).

Gambar 4 The security life cycle (Bishop
2003).
Ancaman (Threats)
Sebuah ancaman (threat) adalah kekerasan
potensial dalam suatu sistem keamanan.
Dalam konteks pemilu, terdapat 4 kelas besar
serangan yang mengancam pertukaran
informasi yang dikirim dan diterima oleh
voter dan CLA, yakni:
a) Disclosure, yakni akses terhadap informasi
oleh pihak yang tidak berwenang.
b) Deception, yakni penerimaan data yang
salah.
c) Disruption,
yakni
gangguan
atau
pencegahan terhadap operasi yang benar.
d) Usurpation, yakni pengaturan beberapa
bagian dari sistem oleh pihak-pihak yang
tidak berwenang.

5

Kebijakan (Policy)
Kebijakan keamanan adalah pernyataan
atas apa yang diperbolehkan dan tidak
diperbolehkan dalam menjalankan sebuah
sistem. Metode, alat, atau prosedur untuk
melaksanakan kebijakan keamanan tersebut
dinamakan mekanisme keamanan. Sistem
pemilu yang rentan terhadap serangan
keamanan tentu membutuhkan kebijakan
tentang hal-hal yang diperbolehkan dan tidak
diperbolehkan dalam proses penyelenggaraan
pemilu secara online. Kebijakan yang dibuat
untuk menjalankan pemilu online dalam
penelitian ini mengacu pada requirement
secure voting Schneier (1996) dan kebijakan
KPU (Komisi Pemilihan Umum) Kota Bogor
dalam merancang sistem e-voting yang telah
untuk diujicobakan pada pemilihan ketua RW
kelurahan Cipaku, Bogor bulan Mei 2011.
Spesifikasi (Specification)
Spesifikasi adalah pernyataan baik formal
maupun informal mengenai fungsi sistem
yang diinginkan (Bishop 2003). Setelah
kebijakan pemilu dibuat, langkah selanjutnya
adalah menentukan spesifikasi sistem. Agar
dapat menjalankan mekanisme keamanan
sesuai dengan kebijakan, sistem pemilu online
membutuhkan berbagai spesifikasi keamanan
yang
menjelaskan
fungsi-fungsi
yang
dikerjakan sistem agar dapat menjalankan
kebijakan.
Perancangan (Design)
Tahap perancangan akan menerjemahkan
spesifikasi menjadi komponen-komponen
yang dapat
diimplementasikan.
Suatu
perancangan dikatakan
sesuai dengan
spesifikasi jika dalam semua kondisi,
rancangan
yang
telah
dibuat
tidak
mengizinkan
sistem
untuk
melanggar
spesifikasi.
Tahap perancangan sistem autentikasi evoting menggunakan media Mifare smart card
dimulai dari perancangan proses pengiriman
kunci simetri, pembacaan card identity lalu
dilakukan proses pengiriman card identity
menuju CLA untuk dilakukan proses
autentikasi. Secara garis besar perancangan
sistem tersebut dapat dibagi menjadi tiga
bagian, yakni:
1 Perancangan proses pengiriman kunci
simetri.
2 Perancangan pembacaan card identity dari
Mifare smart card.

3 Perancangan pengiriman card identity dari
mesin voting menuju CLA.
Implementasi (Implementation)
Pada tahap implementasi, hasil analisis dan
perancangan akan diimplementasikan menjadi
sistem dengan lingkungan implementasi
sebagai berikut:
1
2
3
4
5

Platform: Web-based PHP
RSA (2048 bits): Enkripsi kunci publik
AES (128 bits): Enkripsi kunci simetri
SHA-2 (256 bits): Hashing
VPN : Pengamanan jalur komunikasi.

Implementasi
e-voting
menggunakan
algoritme yang telah direkomendasikan oleh
lembaga NIST (National Institute of
Standards and Technology) di Amerika.
Uji Kinerja Sistem
Tahap uji kinerja sistem melakukan
pengujian terhadap serangan-serangan yang
telah didefinisikan sebelumnya. Direkayasa
sebuah entitas palsu untuk melakukan
penyamaran sebagai entitas pada protokol.
HASIL DAN PEMBAHASAN
Ancaman (Threats)
Pengembangan sistem e-voting melibatkan
banyak aspek teknis maupun non-teknis agar
bisa diimplementasikan dan digunakan secara
menyeluruh. Salah satu aspek penting yang
harus diperhitungkan adalah keamanan.
Pengembangan sistem ini dimulai dari analisis
ancaman yang dapat menyerang sistem evoting sehingga tidak bekerja secara
semestinya dan juga dapat mengakibatkan
terjadinya kebocoran data serta kecurangan
oleh pihak-pihak yang tidak bertanggung
jawab.
Komunikasi data antara mesin voting dan
CLA memerlukan proses pengamanan untuk
menjaga proses pengiriman card identity dari
mesin voting menuju CLA yang sebelumnya
melakukan proses pembacaan card identity
dari Mifare smart card. Proses pengaman ini
membutuhkan kunci simetri yang digunakan
untuk mengengkripsi card identiy yang akan
dikirim oleh mesin voting. Kunci simetri
berperan sebagai media pengaman komunikasi
antara mesin voting dan CLA pada saat proses
pengiriman card identity yang akan dilakukan
proses autentikasi. Ancaman yang dapat
menyerang kunci simetri ketika terjadi proses
komunikasi antara mesin voting dan CLA
adalah:

6

a) Pengintaian
(snooping)
merupakan
penahanan informasi yang didapat pada
saat proses komunikasi terjadi antara dua
atau lebih entitas yang dilakukan oleh
pihak yang tidak berwenang.Pengintaian
dalam kotenks sistem e-voting berarti
terdapat suatu entitas yang berhasil
mendengarkan komunikasi pengiriman
kunci simetri dari CLA menuju mesin
voting. Ancaman jenis ini tergolong ke
dalam
kelas
disclosure.
Snooping
merupakan salah satu contoh serangan
pasif. Pada Snooping, penyerang tidak
terlibat langsung dalam komunikasi antara
CLA dan mesin voting, namun menyadap
pertukaran pesan antara kedua entitas.
Tujuan penyerangan ini adalah untuk
mendapatkan informasi yang dapat
digunakan oleh kriptanalis atau pihakpihak yang tidak berwenang. Untuk itu,
diperlukan layanan keamanan pesan
kerahasiaan untuk menjaga kemanan pada
saat terjadi komunikasi kunci simetri
antara CLA dan mesin mesin voting.
b) Modifikasi atau pengubahan (modification
or alternation) pengubahan informasi yang
dilakukan oleh pihak penyerang (attacker).
Jika kunci simetri yang dibangkitkan oleh
CLA telah diubah, mesin voting akan
menerima kiriman kunci simetri berbeda
yang dianggap benar oleh mesin voting.
Ancaman ini pada akhirnya mengarah ke
dalam
kelas
deception.
Ancaman
modifikasi yang mungkin terjadi dalam
pengiriman card identity menuju CLA di
antaranya kunci simertri yang sebelumnya
dibangkitkan dan dikirimkan ke mesin
voting telah dirubah atau dirusak oleh
penyerang (attacker) saat kunci simetri
dikirimkan dari CLA menuju mesin
voting. Hal ini menyebabkan komunikasi
antara mesin voting dan CLA tidak dapat
dilakukan. Ancaman modifikasi terhadap
kunci
simetri
dapat
menyebabkan
terjadinya peningkatan ancaman disruption
dan usurpation.
Layanan keamanan
integritas (integrity) digunakan untuk
menanggulangi masalah ini.
c) Penyamaran (masquerading) merupakan
peniruan terhadap suatu entitas terhadap
entitas yang lain. Ancaman ini akan
mengumpan korban agar percaya bahwa
entitas yang berkomunikasi dengannya
adalah pihak yang benar, meski pada
kenyataannya pihak tersebuat adalah
penyerang
(attacker)
yang
bukan
merupakan pihak yang berwenang.

Sebagai contoh, saat CLA akan
mengirimkan kunci simetri kepada mesin
voting agar pemilih dapat melakukan vote
serta untuk keperluan komunikasi hasil
vote, pihak yang menerima kunci tersebut
bukanlah mesin voting melainkan entitas
lain yang mengaku sebagai mesin voting.
Untuk menangani ancaman ini konsep
autentikasi
(authentication)
dapat
digunakan untuk mencegah serangan ini.
Masquerading termasuk ancaman dalam
kelas deception dan usurpation.
Kebijakan (Policy)
Kebijakan
yang
diterapkan
dalam
membangun sistem e-voting mengacu pada
buku Schneier (1996). Secure voting yang
dibangun
secara
komputerisasi
dapat
digunakan jika terdapat protokol yang
menjamin dua hal dibawah ini, yaitu:
1 Privasi individu.
2 Pencegahan terhadap kecurangan.
Suatu protokol yang ideal harus memiliki
6 persyaratan berikut:
1 Hanya pemilih yang berhak yang dapat
memberikan suara (autentikasi);
2 Tidak ada yang dapat memberikan lebih
dari satu suara;
3 Tidak ada yang dapat menentukan orang
lain harus memilih untuk siapa;
4 Tidak ada yang dapat menduplikasi suara
orang lain;
5 Tidak ada yang dapat mengubah pilihan
orang lain;
6 Setiap pemilih dapat memastikan bahwa
suara mereka sudah dikirimkan dan
terhitung dalam penghitungan akhir.
Spesifikasi (Specification)
Terdapat asumsi dasar agar protokol yang
didefinisikan dapat berjalan, yaitu keamanan
VPN, RSA, dan realibility dari sistem. Secara
umum sistem autentikasi voter pada CLA
menggunakan media Mifare smart card yang
dibangun dapat memenuhi spesifikasi umum
sebagai berikut:
1 Hanya Mifare card yang terdaftar yang
diizinkan melakukan pemilihan.
 Terdapat UID dan NIK (Nomor Induk
Kependudukan) pada Mifare cardyang
bersifat unique
 Hanya UID dan NIK yang terdapat
pada CLA yang dapat melakukan
proses pemilihan.

7

2 Setiap pemilih yang telah melakukan
pemilihan
tidak
dapat
melakukan
pemilihan lagi.
 UID dan NIK dari Mifare card yang
telah melakukan pemilihan dicatat pada
CLA.
 Tidak dilakukan proses autentikasi
pada UID dan NIK yang telah berstatus
“2” yang berarti sudah melakukan
pemilihan sehingga setiap pemilih
hanya dapat memberikan satu suara.
3 Tidak ada yang dapat menentukan orang
lain harus memilih untuk siapa.
 VPN hanya mengizinkan entitas-entitas
yang telah didaftarkan pada VPN untuk
berkomunikasi dan menangkap pesan
sehingga hanya mesin voter yang telah
melakukan autentikasi card identity
yang dapat melakukan pemilihan tanpa
campur tangan entitas lain. Suara dari
voter langsung dihitung ke dalam suara
sementara tanpa dilakukan proses
pencatatan pemilihan.
4 Tidak ada yang dapat menduplikasi suara
orang lain.
 Setiap pemilih yang telah melakukan
vote akan ditandai dan suara yang
diberikan langsung dihitung ke dalam
perhitungan mesin voting tanpa melalui
perekaman data. Suara yang telah
diberikan untuk kandidat yang dipilih
langsung bertambah satu untuk setiap
pemilih yang memilih tanpa proses
pencatatan siapa yang memilih untuk
siapa. Tidak ada fasilitas untuk
mengetahui pilihan seseorang sehingga
duplikasi suara untuk kandidat tertentu
tidak dapat dilakukan.


Jika Mifare card yang telah digunakan
untuk pemilihan digunakan kembali
pada periode pemilu yang sama, maka
mesin voting akan mengembalikan
pesan ke layar bahwa “ID voter sudah
melakukan pemilihan”.

5 Tidak ada yang dapat mengubah pilihan
orang lain.
 Sebelum memilih, setiap mesin voting
akan membaca card identity yang
bersifat unique dari setiap Mifare card
yang digunakan. Card identity akan
diautentikasi
dan
dicek
status
pemilihannya apakah sudah memilih
atau belum. Setiap voter, mesin voting,
dan CLA tidak dapat mengetahui dan
mengganti pilihan setiap voter karena

hasil vote langsung dihitung ke dalam
mesin voting tanpa dilakukan proses
pencatatan.
6 Setiap pemilih dapat memastikan bahwa
suara mereka sudah dikirimkan dan
terhitung dalam penghitungan akhir.
 Setiap kali voter memberikan suara
kepada salah seorang kandidat, mesin
votingakan mencatat sementara hasil
voting dan menampilkan pesan “Anda
telah memilih kandidat nomor 1, 2,
atau 3”. Apabila pesan konfirmasi
pemilihan telah muncul ke layar,
protokol menjamin bahwa hasil
pemilihan telah tercatat di database.
 Sesuai dengan kebijakan KPU,
perhitungan suara hasil sementara tidak
diperlihatkan kepada voter karena
menyalahi peraturan yang ada.
Secara khusus terdapat spesifikasi
tambahan
yang
dikembangkan
dalam
penelitian ini. Sistem menjamin agar voter
dapat melakukan komunikasi secara lebih
aman dengan CLA karena kunci simetri yang
akan digunakan dibangkitkan secara acak oleh
CLA. Kunci simetri dikirimkan kepada mesin
voting menggunakan algoritme RSA. Mesin
voting hanya bisa menerima kunci simetri dari
CLA yang telah diautentikasi. Kunci simetri
yang diberikan hanya bisa didekripsi oleh
mesin voting, karena hanya pasangan kunci
publik yang diberikan kepada CLA dan
pasangan kunci privat disimpan oleh mesin
voting.
Perancangan (Design)
Secara umum sistem autentikasi voter
pada CLA melayani 3 fungsionalitas agar
CLA dapat berkomunikasi dengan mesin
voting yakni pengiriman kunci simetri AES,
pembacaan card identity dari Mifare smart
card, dan autentikasi card identity. Proses
pengiriman kunci simetri AES dari CLA
menuju mesin voting dilakukan melalui
langkah-langkah berikut:
1 Membangkitkan pasangan kunci publik
dan privat menggunakan algoritme RSA
dengan panjang kunci 2048 bit.
2 Mengirimkan pasangan kunci publik ke
CLA.
3 Membangkitkan
kunci
simetri
menggunakan algoritme AES dengan
panjang kunci 128 bit dan menerima
pasangan kunci publik dari mesin voting.
4 Melakukan enkripsi dengan plaintext
berupa kunci simetri menggunakan kunci

8

publik RSA yang didapat dari mesin
voting.
5 Mengirimkan hasil enkripsi kunci simetri
(ciphertext) ke mesin voting.
6 Menerima ciphertext dan melakukan
proses dekripsi menggunakan pasangan
kunci privat RSA yang sudah dibangkitkan
sebelumnya.
Diagram alir pengiriman kunci simetri
AES dari CLA dapat dilihat pada Gambar 5.
Mesin Voting

CLA

Mulai

Membangkitkan
pasangan
kunci publik

Diagram alir pembacaan card identity pada
mesin voting dari Mifare smart card dapat
dilihat pada Gambar 6.

Pasangan
kunci
publik
(N, E)

Pengiriman
pasangan kunci
publik ke CLA

Membangkitkan
kunci simetri
AES 128 bit

Mulai

String
Concatenation
(UID + NIK)

String
value
(40 hex)

Enkripsi (kunci
simetri AES)
menggunakan
RSA

Establish contex

NIK
(32 hex)

Pembacaan UID
dan NIK
berhasil

Mendaftarkan
mifare smart
card reader yang
tersedia

Membaca data
dari block
number

Selesai

Memilih mifare
smart card

Menentukan
target block
number

Pembacaan
mifare smart
card gagal

Ciphertext

Dekripsi
ciphertext
menggunakan
kunci privat
RSA

3 Memilih salah satu dari Mifare smart card
reader yang tersedia.
4 Mengatur waktu pengulangan pembacaan
menjadi 1 kali.
5 Memulai polling (meletakkan Mifare card
di atas Mifare smart card reader).
6 Membaca UID dari Mifare smart card
yang diletakkan (unique).
7 Melakukan authentication, input key untuk
mengakses block number.
8 Menentukan block number yang ingin
dibaca.
9 Membaca 32 (hexadecimal) karakter
sebagai NIK pada block number yang
dipilih.
10 Menggabungkan UID dan NIK menjadi
satu string (desktop based).
11 Mengirimkan string hasil penggabungan
ke mesin voting(web base).

Mengirimkan
ciphertext
ke mesin voting

Plaintext
(kunci
simetri
AES)

Ya

Mengatur waktu
pengulangan
pembacaan
(1 kali)

Key
= Key A?

Memulai
polling
(meletakkan
mifare smart
card)

Dekripsi ciphertext
Key
menggunakan kunci
authentication
privat RSA

Membaca UID
(unique)

UID
(8 hex)

Tidak

Key A

Selesai

Gambar 5 Diagram alir pengiriman kunci
simetri AES dari CLA.
Fungsionalitas kedua yang dilayani oleh
mesin voting adalah pembacaan card identity
dari Mifare smart card menggunakan Mifare
smart
card
reader.
Langkah-langkah
komunikasi yang dilakukan untuk memenuhi
fungsionalitas yang kedua adalah:
1 Menjalan proses establish context.
2 Mendaftarkan Mifare smart card reader
yang
telah
terkoneksi
dengan
komputer/mesin voting.

Gambar 6 Diagram alir pembacaan card
identity dari Mifare smart card.
Fungsionalitas ketiga yang dilayani oleh
mesin voting yaitu autentikasi card identity
yang telah dibaca Mifare smart card reader.
Hasil pembacaan value yang berupa string
UID dan NIK akan dikirim oleh mesin voting
menuju CLA untuk diautentikasi dan

9

dilakukan pengecekan status pemilihan. Jika
card identity yang sudah pernah digunakan
memilih digunakan kembali, maka sistem
akan mengembalikan pesan “ID VOTER
SUDAH MELAKUKAN PEMILIHAN” dan
jika card identity yang digunakan untuk
memilih bukan merupakan pemilih yang
terdaftar, sistem akan mengembalikan pesan
“ID VOTER TIDAK TERDAFTAR”. Apabila
card identity terdaftar dan belum melakukan
pemilihan maka sistem akan mengantarkan
kepada fungsionalitas melakukan voting.
Langkah-langkah yang dilakukan untuk
memenuhi fungsionalitas autentikasi card
identity adalah:
1 Membaca string UID dan NIK yang
dikirimkan oleh Mifare smart card reader
2 Menjalankan fungsi strtolower() untuk
melakukan konversi value dari string
menjadi lowercase.
3 Mengambil bit ke 0 sampai ke 7 untuk
disimpan sebagai string UID.
4 Melakukan hashing pada string gabungan
UID dan NIK dengan panjang 32 karakter
menggunakan sha-2 dengan panjang kunci
256 bit.
5 Melakukan
enkripsi
menggunakan
algoritme kunci simetri AES dengan
panjang kunci 128 terhadap UID dan NIK
hasil hashing.
6 Mengirimkan hasil enkripsi beserta string
UID menuju CLA untuk dilakukakan
proses autentikasi.
7 Menangkap ciphertext dari mesin voting.
8 Melakukan
dekripsi
ciphertext
menggunakan kunci simetri AES 128 bit.
9 Mengambil string value hasil hash dari
database CLA untuk UID yang sesuai.
10 Melakukan perbandingan antara plaintext
hasil dekripsi ciphertext yang berisi UID
dan NIK yang dikirimkan oleh mesin
voting dengan nilai hash yang tersimpan
pada database CLA untuk UID yang
sedang dilakukan proses autentikasi.
11 Menampilkan pesan “ID VOTER TIDAK
TERDAFTAR” apabila plaintext dan hash
dari database CLA tidak sama.
12 Menampilkan pesan “ID VOTER SUDAH
MELAKUKAN PEMILIHAN” apabila
plaintext dan hash dari database CLA
bernilai sama/identik dan status pada
database adalah 2.
13 Melakukan proses redirecting ke halaman
surat suara apabila plaintext dan hash dari
database CLA bernilai sama/identik dan
status pada database adalah 0.

Diagram alir autentikasi card identity pada
CLA dapat dilihat pada Gambar 7.
Mesin Voting

CLA

Mulai

Membaca string
(UID + NIK)
dari mifare card

Redirecting
halaman
“surat suara”

Update status
voter
Ya

UID dan
NIK
(upper
case)

Menjalankan
fungsi
strtolower()

Berhak
memilih?
Tidak

Selesai

Redirecting
halaman “tidak
berhak
memilih”

Cek status
pemilih

Tidak
Hash (UID +
NIK) SHA-2

Ya

256 bit
string
hasil hash

Plaintext
(UID +
NIK)

Enkripsi
hash string
AES 128 bit

Dekripsi
ciphertext
menggunakan
AES 128 bit

Ciphertext

Mengirimkan
ciphertext ke
CLA

NIK + UID
= hash ?

Hash

Gambar 7 Diagram alir autentikasi card
identity pada CLA.
Implementasi
1. Implementasi pengiriman kunci simetri
AES dari CLA menuju mesin voting
Proses awal pengiriman kunci simetri
diperlukan algoritme kunci asimetri RSA yang
digunakan untuk proses pengiriman kunci.
Pada penelitian ini, panjang kunci RSA yang
digunakan
adalah
2048
bit.
Untuk
menghasilkan
kunci
sepanjang
2048,
diperlukan proses pembangkitan pasangan
kunci dari 2 buah bilangan acak prima, yaitu p
dan q yang ditunjukkan kode pemrograman
berikut.

function do_genrsa() {
var rsa = new RSAKey();
var dr = document.rsatest;
rsa.generate(parseInt(dr.bits.value),dr
.e.value);
}



10

else



kemungkinan 0-9 :

Selanjutnya, pasangan kunci publik
disebarkan. Dalam penelitian ini, pasangan
kunci publik dikirimkan menuju CLA dengan
alamat menggunakan IP publik IPB
192.168.0.11 dalam Virtual Private Network
(VPN). Proses pengiriman menggunakan
fungsi POST pada pemrograman PHP dengan
mengirimkan pasangan kunci publik N dan E
ditunjukkan dengan kode pemrograman
berikut.

dr.n.value =
linebrk(rsa.n.toString(16),64);
}






Proses selanjutnya yaitu pembangkitan
kunci simetri AES. Pada penelitian ini,
panjang kunci simetri yang dibangkitkan
sepanjang 128 bit. Kunci yang dibangkitkan
dalam bentuk hexadecimal sehingga hanya
dibutuhkan 32 karakter hexadecimal karena 1
karakter
hexadecimal
direpresentasikan
dengan 4 bit. Kunci simetri AES yang
dibangkitkan
diperoleh
dengan
kode
pemrograman sebagai berikut.


Selanjutnya CLA melakukan enkripsi
kunci simetri AES menggunakan algoritme
RSA. CLA menggunakan pasangan kunci
publik RSA yaitu N (hasil kali bilangan acak
P dan Q) dan E untuk melakukan enkripsi
dengan plaintext kunci simetri AES 128 bit.
Hasil enkripsi berupa ciphertext dikirimkan
menuju mesin voting. Proses enkripsi simetri
dan pengiriman ciphertext ditunjukkan dengan
kode pemrograman berikut.

function do_encrypt() {
rsa.setPublic(document.rsatest.
n.value, document.rsatest.e.value);
var res =
rsa.encrypt(document.rsatest.plaintext.
value);
var after = new Date();
if(res) {
window.location.href =
"http://localhost/skrip/media.php?p=" +
res + "&module=deliverKey";