BAB V PROTOKOL PEMILIHAN ELEKTRONIK DENGAN MENGGUNAKAN PASANGAN BILINEAR

dokumen-dokumen yang mirip
BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

BAB IV KURVA ELIPTIK DAN ID BASED CRYPTOSYSTEM

Metode Autentikasi melalui Saluran Komunikasi yang Tidak Aman

Protokol Kriptografi

Digital Signature Algorithm (DSA)

Pada sistem terdistribusi, security berfungsi untuk: pengambilan informasi oleh penerima yang tidak berhak

TINJAUAN PUSTAKA 2.1 Pemilihan Umum (Pemilu) 2.2 Pemungutan Suara

PENGGUNAAN DIGITAL SIGNATURE DALAM SURAT ELEKTRONIK DENGAN MENYISIPKANNYA PADA DIGITIZED SIGNATURE

BAB III ANALISIS III.1 Analisis Perbandingan terhadap Sistem Lain

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

Elliptic Curve Cryptography (Ecc) Pada Proses Pertukaran Kunci Publik Diffie-Hellman. Metrilitna Br Sembiring 1

TUGAS DIGITAL SIGNATURE

Bab 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI

PENDAHULUAN TINJAUAN PUSTAKA. diimplementasikan pada jaringan telekomunikasi di Indonesia. Latar Belakang

BAB III ANALISIS. 3.1 Otentikasi Perangkat dengan Kriptografi Kunci-Publik

Gambar 2 Tahapan metode penelitian. HASIL DAN PEMBAHASAN

Aplikasi Laporan Keuangan Akuntansi Bulog-Jakarta Menggunakan Algoritma MD5 dan RSA

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pengamanan Sistem Login Aplikasi Menggunakan Protokol ID Based Diffie-Hellman Key Agreement

Bab 3 Metode dan Perancangan Sistem

PROTOTYPE DAN PENGUJIAN

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER

Perancangan Sistem Keamanan Alternatif E-KTP Menggunakan Berbagai Algoritma Kriptografi

Kebutuhan ini muncul karena sumber tersebut digunakan secara bersama

BAB 3 ANALISIS DAN PERANCANGAN. utuh ke dalam bagian-bagian komponennya dengan maksud untuk

PETUNJUK TEKNIS PENGGUNAAN LPSE KAB. LUWU

Teknik-teknik Kriptografi untuk Menangkal Praktek Phishing

BAB V IMPLEMENTASI DAN PEMBAHASAN. menggunakan sistem pendaftaran siswa baru dan pembagian kelas pada SMK

BAB V IMPLEMENTASI DAN PEMBAHASAN. menggunakan Aplikasi Penerimaan dan Pembayaran Siswa/Siswi Baru yaitu: Software yang mendukung aplikasi ini, yaitu:

PERANCANGAN PERANGKAT LUNAK SIMULASI PENGAMANAN TANDA TANGAN DENGAN MENGUNAKAN METODE SCHNORR AUTHENTICATION DAN DIGITAL SIGNATURE SCHEME

HASIL DAN PEMBAHASAN. 2 Perangkat keras: Prosesor AMD Athlon II 245 2,9 GHz; Memori 2046 MB; HDD 160 GB. Client:

Studi dan Analisis Penggunaan Secure Cookies Berbasis Kriptografi Kunci Publik untuk Aplikasi ecommerce

Keamanan Sistem Komputer. Authentication, Hash Function, Digital Signatures, Quantum Cryptography

Penerapan digital signature pada social media twitter

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

User Guide Front-End 2011

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB V IMPLEMENTASI DAN PEMBAHASAN. dibutuhkan Hardware dan software untuk menggunakan program Sistem Informasi

BAB I PENDAHULUAN 1.1 Latar Belakang

Implementasi Lingkungan Pengembangan Pengujian Sistem HASIL DAN PEMBAHASAN Analisis Sistem

Lalu akan masuk ke Tampilan Beranda Aplikasi SIMUPK seperti tampilan berikut,

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

BAB III ANALISIS DAN PEMODELAN PERANGKAT LUNAK

ANALISIS KEAMANAN PROTOKOL PADA INFRASTRUKTUR KUNCI PUBLIK

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB IV HASIL DAN UJI COBA

SISTEM KEAMANAN DATA PADA WEB SERVICE MENGGUNAKAN XML ENCRYPTION

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

Implementasi ( Implementation Kebijakan (Policy) Pengujian HASIL DAN PEMBAHASAN Spesifikasi ( Specification Perancangan ( Design

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

MAKALAH DIGITAL SIGNATURE. Disusun Untuk Memenuhi Tugas Mata Kuliah Sekuriti Komputer. Disusun oleh : NAMA : FAUZAN BEKTI NUGOHO NIM :

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

LEMBAGA SANDI NEGARA PERATURAN KEPALA LEMBAGA SANDI NEGARA NOMOR 6 TAHUN 2009 TENTANG

BAB IV HASIL DAN UJI COBA

BAB V IMPLEMENTASI DAN PEMBAHASAN. menggunakan Aplikasi Pendaftaran Atlet Pekan Olahraga Daerah yaitu: Software yang mendukung aplikasi ini, yaitu:

Pengembangan Fungsi Random pada Kriptografi Visual untuk Tanda Tangan Digital

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BUPATI KULON PROGO PERATURAN BUPATI KULON PROGO NOMOR : 47 TAHUN 2008 TENTANG PEDOMAN PELAKSANAAN PENGADAAN BARANG/JASA SECARA ELEKTRONIK

Penjualan Buku Online Toko Buku Gramedia Jember

Implementasi HMAC-SHA-3-Based One Time Password pada Skema Two-Factor Authentication

BAB III ANALISIS DAN PERANCANGAN

A. ADMIN. Form Login Admin

BAB I PENDAHULUAN. keamanannya. Oleh karena itu, dikembangkan metode - metode kriptografi file

BAB II LANDASAN TEORI

MUHAMMAD SYAIFUL FALAH

Berusaha melindungi data dan informasi dari orang yang tidak berada dalam ruang lingkupnya. b. Ketersediaan

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Skema Boneh-Franklin Identity-Based Encryption dan Identity-Based Mediated RSA

HASIL DAN PEMBAHASAN

BAB IV HASIL DAN PEMBAHASAN. perangkat lunak ini dibagi menjadi dua,yaitu kebutuhan hardware dan kebutuhan

PENGGUNAAN DIGITAL SIGNATURE PADA SMS MENGGUNAKAN ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM. Oleh: Yohanes Khosiawan ( )

Aplikasi Surat Keluar Masuk Versi 1.0

KRIPTOGRAFI MATERI KE-2

Selamat bergabung menjadi anggota laman

BAB IV HASIL DAN PEMBAHASAN

sebelumnya, yaitu hasil Aplikasi Pemesanan Kamar pada Hotel Relasi (php) yang bertujuan untuk membuat suatu aplikasi web pemasaran pada Hotel

BAB IV HASIL DAN UJI COBA

BAB V HASIL DAN PEMBAHASAN

BAB I PENDAHULUAN. Komputer yang terhubung dalam suatu jaringan dengan komputerkomputer

TATA CARA LELANG DENGAN KEHADIRAN PESERTA (KONVENSIONAL) Umum UANG JAMINAN

BAB V IMPLEMENTASI DAN PENGUJIAN Gambaran Umum Pembangunan Sistem. aplikasi ini yaitu menggunakan pemrograman prosedural yakni tidak seperti

Penerapan Digital Signature pada Dunia Internet

BAB VI PENGUJIAN. Pada bab ini akan dijelaskan proses serta hasil pengujian yang dilakukan terhadap

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

BAB V IMPLEMENTASI DAN PEMBAHASAN. menggunakan Aplikasi Pengelolaan Data Anak Tuna Grahita yaitu:

BAB I PENDAHULUAN. 1.1 Latar Belakang

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB IV. Hasil dan Pembahasan. Adapun hasil dari penelitian ini adalah sebuah website yang menampilkan produk-produk

Analisis Manajemen Kunci Pada Sistem Kriptografi Kunci Publik

BAB IV HASIL DAN UJI COBA

Apa itu tanda tangan digital?

BAB III ANALISIS MASALAH

Pemanfaatan dan Implementasi Library XMLSEC Untuk Keamanan Data Pada XML Encryption

Pendaftaran Ujian melalui E-AAMAI

Penerapan Kriptografi dalam Pengamanan Transaksi Internet Banking

BAB IV HASIL DAN UJI COBA

Analisis Penggunaan Fungsi Hash pada Activation Key untuk Autentikasi Pendaftaran Akun

Transkripsi:

BAB V PROTOKOL PEMILIHAN ELEKTRONIK DENGAN MENGGUNAKAN PASANGAN BILINEAR Dalam Protokol ini ada 3 user yang terlibat, yaitu : 1. P: Pollster. Pollster atau pengumpul suara adalah satu set perangkat keras dan perangkat lunak yang melaluinya pemilih dapat mencoblos kartu suara. 2. V: Validator. Sebuah server yang bertugas untuk, pertama, mencek keabsahan dari pemilih P dan kemudian memvalidasi kartu suara yang telah dicoblos. 3. T: Tallier. Sebuah server yang bertugas menghitung semua surat suara yang sah. 4.1. Tahap Awal Pada tahap ini Key Generator Center (KGC) mempublikasikan pasangan kunci public dan kunci private dari setiap user, yaitu : Q ID dan S ID = sq ID, dimana s adalah rahasia dari KGC. Lalu KGC mengirimkan Q ID dan S ID kepada masing-masing user dengan menggunakan jalur yang aman. Dengan demikian P akan mendapat Q P dan S P, V akan mendapatkan Q V dan S V, lalu T mendapatkan Q T dan S T. Kemudian, P menghitung : k PV = e(s P, Q V ) dan k PT = e(s P, Q T ), V menghitung : k VP = e(s V, Q P ) dan k VT = e(s V, Q T ), T menghitung : k TP = e(s T, Q P ) dan k TV = e(s T, Q V ). karena sifat bilinear dari pasangan bilinear dimana : e ap, bq = e(p, Q) ab, untuk sebarang a, b Z dan P, Q G 1 maka, k PV = e S P, Q V = e sq P, Q V = e(q P, Q V ) s = e Q P, sq V = e Q P, S V = k VP, k PT = k TP dan 33

k VT = k TV. KGC juga mengumumkan kepada publik fungsi kurva eliptik yang dipakai dalam perhitungan pasangan bilinear, beserta fungsi hash H yang dipakai dalam protokol. 4.2. Protokol 4.2.1. Langkah Satu : Persiapan Pada langkah ini, pemilih mengisi Surat suara, membungkus surat suara, lalu menguncinya untuk kemudian mendapatkan tanda tangan dari validator. Lalu mengirimnya ke validator. Secara rinci adalah sebagai berikut : - P menghitung k PCC = H(e(c 1 O, c 2 O)), dengan H adalah fungsi hash yang dipakai dalam protokol dan c 1, c 2 dipilih secara acak oleh P. O adalah pembangun G 1. - Lalu P mengirimkan ke validator V. B + k PCC + k PV dan H(k PCC ) Keterangan Terima Hitung Kirim ke V Kartu suara dicoblos - B - Pilih random - c 1. c 2 - Hitung k PCC - k PCC = e(c 1 O, c 2 O) - Tanda tangan - B + k PCC - Kunci dengan k PV - B + k PCC + k PV B + k PCC + k PV Hash k PCC - H(k PCC ) H(k PCC ) Tabel 4.1 Tabel transaksi data pada langkah satu. 34

4.2.2. Langkah Dua : Administrasi Pada tahap ini validator menandatangani pesan yang didalamnya tersembunyi surat suara yang telah dipilih oleh pemilih, lalu mengembalikannya kepada pemilih. Secara rinci : - Setelah menerima B + k PCC + k PV dan H(k PCC ) dari P lalu membuka B + k PCC + k PV dengan menambahkannya k VP sehingga menjadi B + k PCC. - Lalu V menandatanganinya dengan memilih secara acak r V dan menambahkan H(r V ) ke (B + k PCC ) sehingga menjadi B + k PCC + H(r V ) lalu menguncinya dengan k PV menjadi (B + k PCC + H r V + k VP ). Lalu mengirimkan : B + k PCC + H r V + k VP, r V + k VT dan ke P. H k PCC + k VT Keterangan Terima dari V Hitung Kirim ke P B + k PCC + k PV - - H(k PCC ) - - Buka kunci k PV - B + k PCC + k PV + k VP - - B + k PCC - Pilih sebarang integer r V - r V - Digest r V - H(r V ) - Tanda tangan - B + k PCC + H(r V ) - Kunci dengan k VP - B + k PCC + H r V + k VP B + k PCC + H r V + k VP Kunci r V dengan k VT - r V + k VT r V + k VT Kunci digest PCC dengan k VT - H(k PCC ) + k VT H(k PCC ) + k VT Tabel 4.2 Tabel transaksi data pada langkah dua. 35

4.2.3. Langkah Tiga : Pemilihan Pemilih membuka kunci dari validator untuk kemudian mengirimkan ke tallier. Dimana Tallier tidak boleh mengetahui identitas pemilih. Secara rinci : - Setelah menerima (B + PCC + H r V + k VP ), (r V + k VT ) dan (H k PCC + k VT ) dari V. P lalu membuka (B + PCC + H r V + k VP ) dengan k PV mendapatkan (B + PCC + H r V ). - P menghitung (B + k PCC + k PT ) lalu mengirimkan : r V + k VT, H(k PCC ) + k VT, B + k PCC + H r V dan ke T. B + k PCC + k PT Keterangan Terima dari V Hitung Kirim ke T B + k PCC + H r V + k VP - - r V + k VT - r V + k VT H(k PCC ) + k VT - H(k PCC ) + k VT Buka B + PCC + H r V + k VP dengan - B + k PCC + H r V + k VP + k PV - menggunakan k PV - B + k PCC + H r V B + k PCC + H r V - B + k PCC + k PT B + k PCC + k PT Tabel 4.3 Tabel transaksi data pada langkah tiga. 4.2.4. Langkah Empat : Pengumpulan Tallier menerbitkan nomor record yang unik bagi Pemilih. Dimana nomor itu unik dan berkorespondensi satu-satu dengan surat suara yang telah dikunci oleh pemilih dan ditandatangani oleh validator. Secara rinci : 36

- T menerima (r V + k VT ), (H(k PCC ) + k VT ), (B + k PCC + H r V ) dan (B + k PCC + k PT ) dari P. - T membuka (r V + k VT ) dengan menambahkan k TV dan mendapatkan r V. - T menghitung B + k PCC + H r V + H r V + k TP dan memberi nama M 1 pada hasilnya, yaitu (B + k PCC + k TP ). - Lalu T juga menambah B + k PCC + k PT yang diterima dari P dengan (k TP + k TP ) dan memberi hasilnya nama M 2. - T membandingkan nilai M 1 dan M 2, jika nilainya sama berarti tidak ada serangan yang terjadi maka T menerbitkan sebuah nomor rec# yang berkorespondensi secara unik dengan nilai B + k PCC + k PT yang dikirim P ke T pada langkah tiga. - T mengirim rec# dan ke P B + k PCC + k TP Keterangan Terima dari P Hitung Kirim ke P r V + k VT H( PCC ) + k VT B + PCC + H r V B + PCC + k PT H(B + PCC + H r V ), H(B + PCC + k PT ) Membuka r V + k VT dengan k TV r V + k VT + k TV r V H(r V ) Memeriksa apakah B + PCC + H r V + H r V + k TP sama dengan B + PCC + 37

k PT + k TP + k TP Jika sama, T menerbitkan nomor rec Rec# Rec# B + PCC + k TP Tabel 4.4 Tabel transaksi data pada langkah empat. 4.2.5. Langkah Lima : Membuka Kartu Suara Pemilih membuka surat suara dengan cara mengirimkan kunci yang dipakainya untuk mengunci surat suara di tahap awal. Secara rinci : - Setelah menerima rec#, B + k PCC + k TP dari T, P memeriksa apakah nilai B + k PCC + k TP + k PT dengan (B + k PCC ). Jika sama, maka - P mengirim : rec# dan ke T. k PCC + k PT Keterangan Terima dari T Hitung Kirim ke T Rec# Rec# B + PCC + k PT H(B + PCC + k PT ) Cek apakah B + PCC + k TP + k PT sama dengan B + PCC Jika sama, PCC + k PT PCC + k PT Tabel 4.5 Tabel transaksi data pada langkah lima. 4.2.6. Langkah Enam : Penghitungan Secara rinci : Tallier membuka surat suara dan memasukkannya ke penampungan suara. 38

- T menerima rec# dan k PCC + k PT dari P. - T membuka k PCC + k PT yang didapatkannya dari langkah lima dengan menggunakan k TP dan mendapatkan k PCC. - T kemudian membuka H k PCC + k VT dari langkah tiga dengan menggunakan k TV dan mendapatkan H(k PCC ). - T kemudian membandingkan hash dari k PCC dengan H(k PCC ). - Jika sama, T menggunakan k PCC yang didapatkannya dari langkah di atas untuk membuka (B + k PCC + k TP ) yang dikirimkannya ke P pada langkah lima. Dengan cara menambahkannya dengan (k PCC + k TP ). Maka T mendapatkan B yang murni. - T menambahkan suara B ke tempat penampungan suara. Keterangan Terima dari T Hitung Kirim ke T Rec# PCC + k PT H( PCC + k PT ) Membuka PCC + k PT dengan PCC + k PT + k TP k TP PCC H( PCC ) Ambil H PCC + k VT dari langkah tiga, kemudian H PCC + k VT + k TV buka dengan k TV Cek apakah digest dari PCC sama dengan H PCC + k VT + k TV Jika sama B + PCC + k TP + PCC + k TP B Tabel 4.6 Tabel transaksi data pada langkah enam. 39

4.3. Simulasi Protokol Simulasi Protokol ini memiliki batasan-batasan sebagai berikut : 1. Jalur yang digunakan aman dan tidak memiliki gangguan. Data yang dikirim sama dengan data yang diterima. 2. Simulasi pengiriman data tidak dilakukan melalui jaringan tapi merupakan contoh aliran data antar user saja yang diberikan dalam bentuk tabel. 3. Simulasi dilakukan untuk 10 orang penduduk saja. 4.3.1. Tahap Awal Pada tahap ini KGC mengirimkan pasangan kunci publik dan kunci pribadi masing masing user. Lalu masing-masing user menghitung kunci terhadap user yang lain. Adapun kunci-kunci itu adalah : k PV = k VP = 29ab0d7da05ffc3f1b3f97ac10e2092694aadbb7d, k PT = k TP = 3f0eba16286a2d57ea0991168d4994637e8343e36, k TV = k VT = 34d2aa5b4745556568ff2416fcafadf5080f0fb0b. Pada tahap ini KGC juga mengumumkan fungsi kurva eliptik yang dipakai dan juga fungsi hash yang dipakai. Dalam tugas akhir ini penulis memilih : 1. Fungsi kurva eliptik. Persamaan kurva eliptik E: y 2 + xy = x 3 + x 2 + b, atas lapangan GF(2 163 ), dengan b = 20a601907b8c953ca1481eb10512f78744a3205fd. Kurva di atas adalah kurva yang dikeluarkan oleh NIST, sebuah lembaga standar Amerika Serikat. Penulis memilih kurva atas lapangan GF(2 163 ) dengan alasan kemudahan perhitungan. Karena kurva tersebut adalah kurva yang paling sederhana. Generator yang digunakan : G x = 3f0eba16286a2d57ea0991168d4994637e8343e36 G y = 0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1. 40

2. Fungsi hash yang dipakai adalah SHA1 4.3.2. Antarmuka 1. Anton mendatangi Pollster lalu memasukkan nomer ID uniknya, dalam hal ini nomor KTP beserta passwordnya. Pemilih yang sah adalah pemilih yang sudah melakukan pendaftaran sebelum pemilihan umum diadakan. Jadi penduduk yang belum mendaftar tidak akan bisa melakukan pemilihan. Gambar 4.1. Halaman muka, dimana Pemilih memasukkan nomor ID dan password. Setelah memasukkan ID dan password, Anton mengklik tombol masuk. 2. Setelah Anton berhasil masuk, sistem akan membuka kartu suara tempat Anton melakukan pemilihan. 41

Gambar 4.2. Kartu suara. Anton lalu memilih dengan cara mengklik salah satu foto gambar calon. Misalkan Anton memilih calon dengan nomor urut 2, tampilannya adalah sebagai berikut : Gambar 4.3. Kartu suara yang telah diklik. 42

Jikalau Anton sudah yakin maka ia harus mengklik tombol Pilih. 3. Setelah Anton mengklik tombol Pilih, maka ia akan mendapatkan nomor record yang dapat digunakan untuk membuktikan pilihannya. Gambar 4.4. Konfirmasi telah memilih dan pemberitahuan nomor rec#. Dalam hal ini nomor rec Anton adalah P000001. Setelah konfirmasi, antarmuka akan kembali ke halaman untuk memasukkan nomor ID dan password. Untuk membuktikan suaranya Anton kembali memasukkan ID dan passwordnya. Karena ia sudah memilih maka Anton akan masuk ke halaman berikut : Gambar 4.5. Memasukkan nomor record. Antom memasukkan nomor recordnya yaitu P00001, lalu mengklik tombol Tampilkan. Maka akan muncul halaman yang menyatakan hasil pilihan Anton. 43

Gambar 4.6. Bukti Suara. 4.3.3. Transaksi Data Protokol yang diusulkan di Tugas Akhir ini terdapat di antara langkah dua dan tiga antar muka di atas. Setelah Anton mengklik tombol Pilih pada langkah dua, maka Protokol pun dimulai. 1. Langkah Satu : Persiapan Karena Anton memilih calon nomor dua maka B = 00000000000000000000000000000000000000002, lalu P menghitung k PCC = adeeefff000111122233344455556667777888999 kemudian P mengirimkan B + k PCC + k PV = 8445e282a05eed2d390ca3e845b76f41e3d2532e6 H k PCC = 02b1c0063aa674d150fa5aa7f70e3906c53f735bb ke validator V. 2. Langkah Dua : Administrasi V menerima (B + k PCC + k PV ) dan H(k PCC ) dari P. V lalu memilih bilangan bulat random r V = 0122233344455566667778889999aaabbbccccddd. menghitung H r V = 0a2d808f4721d6cd116dbf40026c2d2e92dec5c24. dan mengirimkan 44

B + k PCC + H r V + k VP = 8e68620de77f3be028611ca847db426f710c96ec2 r V + k VT = 34d2aa5b4745556568ff2416fcafadf5080f0fb0b dan H k PCC + k VT = 36636a5d7de321b438057eb10ba194f3cd307ceb0. ke P. 3. Langkah Tiga : Pemilihan Setelah mendapatkan (B + k PCC + H r V + k VP ), (r V + k VT ) dan (H k PCC + k VT ). P kemudian mengirim : r V + k VT = 34d2aa5b4745556568ff2416fcafadf5080f0fb0b, H k PCC + k VT = 36636a5d7de321b438057eb10ba194f3cd307ceb0, B + k PCC + H r V = a7c36f704720c7df335e8b0457394b49e5a64d5bf dan B + k PCC + k PT = 92e055e9286b3c45c83aa552d81cf20409fbcb7ad. ke T. 4. Langkah 4 : Pengumpulan T menerima (r V + k VT ), (H(k PCC ) + k VT ), (B + k PCC + H r V ) dan (B + k PCC + k PT ) dari P. T lalu membuka (r V + k VT ) mendapatkan r V = 0122233344455566667778889999aaabbbccccddd. Kemudian T memeriksa apakah nilai M 1 = B + k PCC + H r V + H r V + k TP dan M 2 = (B + k PCC + k PT + k TP + k TP ) sama. Jika sama T menerbitkan nomor rec# = P000001 dan memasangkan rec# = P000001 dan B + k PCC + k TP = 92e055e9286b3c45c83aa552d81cf20409fbcb7ad ke dalam data base. sehingga nantinya untuk setiap rec# berpasangan dengan B + k PCC + k TP tertentu. Lalu mengirim rec# = P000001 dan B + k PCC + k TP ke P. 45

5. Langkah Lima : Membuka Kartu Suara Setelah menerima rec#, B + k PCC + k TP dari T, P memeriksa apakah nilai B + k PCC + k TP + k PT dengan (B + k PCC ). Jika sama, maka P mengirim : ke T. rec# dan k PCC + k PT = 92e055e9286b3c45c83aa552d81cf20409fbcb7af 6. Langkah Enam : Penghitungan T menerima rec# dan k PCC + k PT dari P. T membuka k PCC + k PT yang didapatkannya dari langkah lima dengan menggunakan k TP dan mendapatkan k PCC. T kemudian membuka H k PCC + k VT dari langkah tiga dengan menggunakan k TV dan mendapatkan H(k PCC ). T kemudian membandingkan hash dari k PCC dengan H(k PCC ). Jika sama, T menggunakan k PCC yang didapatkannya dari langkah di atas untuk membuka (B + k PCC + k TP ) yang dikirimkannya ke P pada langkah lima. Dengan cara menambahkannya dengan (k PCC + k TP ). B + k PCC + k TP + k PCC + k TP = B = 00000000000000000000000000000000000000002. Maka T mendapatkan B yang murni yang menyatakan pilihan Anton adalah calon nomer dua. Tetapi T tidak mengetahui yang memilih adalah Anton karena ia tidak mendapatkan informasi apa-apa mengenai itu. Demikian juga dengan V yang tidak mengetahui pilihan Anton, ia hanya mengetahui Anton sudah memilih. T lalu menambahkan suara B ke tempat penampungan suara. Seketika itu juga langka tiga pada antarmuka muncul. 46

4.4. Serangan-serangan Yang Dapat Diatasi Dalam Protokol Ini. 1. Jika pemilih yang sah dan terdaftar tidak memilih atau abstain, dapatkah validator menggantikan surat suaranya? Jawab : Walaupun validator dapat menghitung k VP = k PV, tetapi ia tidak dapat menhitung k PT. Karena ia tidak memiliki kunci pribadi pemilih, S P. Oleh karena itu validator tidak bisa menghitung (B + k PCC + k PT + H r V + k VP ) yang kemudian akan diteruskan ke tallier. 2. Dapatkah validator menggantikan surat suara yang sah? Jawab : Berdasarkan ID Based Cryptosystem, S ID = sq ID, jika validator ingin mengganti surat suara yang sah, ia harus mendapatkan S ID milik pemilih, walaupun validator mengetahui Q ID milik pemilih tapi ia tidak mengetahui S ID nya. Untuk menghitung S ID ia harus mengetahui s. Tapi itu tidak mungkin terjadi karena s adalah rahasia dari KGC. 3. Dapatkah seseorang menggantikan validator dengan sukses? Jika seseorang ingin menggantikan validator untuk menggantikan tugasnya memvalidasi kartu suara, ia harus mendapatkan kunci pribadi validator S V agar ia dapat menghitung k VP dan k VT, agar pada saat data dikirim data terebut benar saat dibuka, jika tidak maka data itu tidak akan diterima. Karena S V rahasia dan hanya diketahui oleh validator maka hal ini mustahil dilakukan. 4. Dapatkah seseorang menggantikan tallier dengan sukses? Jawab : Sama halnya dengan validator di atas, penyerang akan mengalami kesulitan mendapatkan kunci pribadi dari tallier melalui jalur publik. Oleh karena itu serangan ini dapat disimpulkan gagal. 47

5. Jika pemilih tidak jujur, dan dia ingin mengklaim bahwa surat suara yang telah dipilih bukanlah surat suara yang telah dipilihnya. Dapatkah ia melakukan maksud yang tidak baik ini? Jawab : Hal ini tidak bisa dilakukan. Karena, jika pemilih ingin mengganti B, surat suara yang sah, dengan BP (surat suara palsu), maka pada saat yang sama ia harus bisa membuat BP dan k PCC P (kunci k PCC palsu) untuk memenuhi BP + k PCC P = B + k PCC. Hal ini dilakukan karena tallier memeriksa kesamaan dari dan B + k PCC + H r V + k TP + H(r V ) B + k PCC + k TP, dan ia juga akan memeriksa apakan nilai hash dari k PCC yang didapat dengan menambahkan k TP ke ( PCC + k PT ) yang didapat pada langkah 5 sama dengan nilai H(k PCC ) yang didapat dari (H k PCC + k VT ) yang ditambahkan dengan k TV. Ini menyatakan bahwa untuk nilai k PCC tertentu, terdapat nilai B tertentu yang sudah fix. Oleh karena itu surat suara yang telah dicoblos tidak bisa terganti dan serangan ini tidak akan berhasil. 6. Dapatkah tallier tidak jujur? Dengan kata lain, dia menggantikan surat suara B, menjadi BP (B yang palsu) ke perhitungan akhir? Jawab : Tidak bisa. Karena ketika tallier menambahkan surat suara yang telah dicoblos ke perhitungan akhir, berdasarkan langkah ke empat pada protokol, ia harus menerbitkan sebuah nomor rec# dan memasangkannya dengan nilai (B + k PCC + k TP ) serta menyimpannya di data base. Oleh karena itu, pemilih pemilih dapat memperlihatkan (B + k PCC + k TP ) yang telah disimpan itu sebagai pembuktian jika tallier telah menggantikan B menjadi BP dengan membandingkan apakah nilai B yang didapat dengan menambahkan (B + k PCC + k TP ) dengan k PT + k PCC sama dengan B yang telah dipilih oleh pemilih. 48

BAB V KESIMPULAN DAN SARAN 5.2. Kesimpulan Keberhasilan dari protokol ini adalah apakah protokol ini memenuhi syaratsyarat dari pemilihan elektronik itu sendiri. Jadi ada baiknya penulis mencoba mambahas masing-masing syarat dan apakah protokol ini memenuhi syarat-syarat tersebut. Adapun syarat-syarat itu adalah : 1. Privacy (Kerahasiaan) Kerahasiaan dalam protokol ini terjamin karena dalam protokol ini masingmasing user tidak mengetahui siapa memilih siapa. Karena validator hanya mengetahui bahwa pemilih sudah memilih tanpa mengetahui pilihannya. Sedangkan tallier mengetahui bahwa ada surat suara yang masuk tanpa mengetahui siapa yang memilihnya. 2. Eligiblity (Keabsahan). Eligiblity juga terakomodasi dengan baik dalam protokol ini karena pemilih yang tidak terdaftar akan ditolak sewaktu ia login ke sistem. Karena validator akan memeriksa ke data base apakah ia terdaftar atau tidak. 3. Uniqueness (Keunikan) Hal ini juga terakomodasi dengan baik, karena pada data base pemilih, validator akan segera membuat tanda pada pemilih yang sudah memilih. Jadi di saat dia masuk kembali dia akan terdeteksi sudah memilih. Hal ini dapat dianalogikan sebagai tinta yang dicelupkan di jari pemilih setelah melakukan pemilihan pada sistem konvensional. 4. Uncoercibility (Tanpa Paksaan) Dalam hal ini, sistem tidak bisa menjamin adanya paksaan atau tidak pada saat pemilih melakukan pemilihan. Jadi ini tergantung dari pemilih. 5. Receipt-freeness (Tidak ada tanda terima) Syarat ini juga terpenuhi. Dalam Protokol ini, sesaat setelah pemilih selesai memilih. Dia akan mendapatkan sebuah nomor rec# yang dapat dipakainya untuk membuktikan suaranya. Tapi ia tidak menerima suatu tanda terima yang 49

menunjukkan bahwa ia dengan nomor KTP dan nama tertentu telah memilih calon terntentu. Walaupun ia mencetak antarmuka saat dia menerima no rec#, itu tidak akan bisa dipakai sebagai bukti karena pada antarmuka itu tidak ditunjukkan bahwa seseorang dengan nomor KTP tertentu mendapatkan nomor rec# tertentu. 6. Fairness (Keadilan) Tidak terakomodasi dengan baik, karena dalam protokol ini tallier pasti mengetahui hasil perhitungan sementara. Tapi fairness dapat dijaga dengan cara menjaga admin dari server tallier agar menjaga integritasnya untuk tidak membocorkan hasil pemilihan umum selama pemilihan umum berlangsung. 7. Transparency (Transparan) Terjamin, karena pada saat pemilu berakhir semua pihak bisa melihat database yang ada pada Tallier dimana data base tersebut memiliki daftar nomor rec# dengan kartu suara yang terkunci. 8. Accuracy (Ketepatan) Berhasil dengan baik. Sesuai dengan yang telah dibahas dalam seranganserangan yang mungkin terjadi atas protokol ini, dapat dilihat bahwa untuk mengganti kartu suara adalah hal yang mustahil dilakukan. Demikian juga halnya untuk membatalkan kartu suara, karena untuk setiap kartu suara yang telah dicoblos terdapat nomor rec# yang unik. 9. Robustness (Kekokohan) Untuk menghalangi dan mempengaruhi jalannya pemilu seseorang haruslah bisa memecahkan kunci-kunci pribadi masing-masing user yang seperti sudah dibahas pada bab sebelumnya bahwa hal itu mustahil dilakukan. Berdasarkan syarat-syarat tersebut di atas, hanya 1 syarat yang tidak bisa dijamin oleh protokol ini, dan itupun lebih bersifat sosial daripada teknis oleh karena itu protokol ini dapat dinyatakan layak untuk diaplikasikan ke pemilihan umum yang sebenarnya. 50

5.2. Saran Dalam Kriptografi, disimpulkan bahwa semakin rumit suatu protokol maka semakin besar pula tingkat keamanan dari protokol tersebut. Sebagai analogi, dalam fungsi pasangan bilinear, semakin besar lapangan hingga tempat kita bekerja maka semakin sulit untuk memecahkan sistem kriptografinya, tapi di saat yang sama kita membutuhkan hardware yang semakin canggih dan ini berarti biaya yang besar. Oleh karena itu efektivitas haruslah juga tetap acuan dalam melakukan penelitaian mengenai hal ini di waktu yang akan datang karena dengan bertambahnya efektivitas maka biaya yang dikeluarkan untuk hardware juga relatif tidak banyak. Dengan kata lain kalau bisa lebih cepat, lebih murah dan juga lebih aman, kenapa tidak? 51