• Tidak ada hasil yang ditemukan

BAB V PROTOKOL PEMILIHAN ELEKTRONIK DENGAN MENGGUNAKAN PASANGAN BILINEAR

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB V PROTOKOL PEMILIHAN ELEKTRONIK DENGAN MENGGUNAKAN PASANGAN BILINEAR"

Copied!
19
0
0

Teks penuh

(1)

33

BAB V

PROTOKOL PEMILIHAN ELEKTRONIK DENGAN MENGGUNAKAN PASANGAN BILINEAR

Dalam Protokol ini ada 3 user yang terlibat, yaitu :

1. 𝑃: Pollster. Pollster atau pengumpul suara adalah satu set perangkat keras dan perangkat lunak yang melaluinya pemilih dapat „mencoblos‟ kartu suara.

2. 𝑉: Validator. Sebuah server yang bertugas untuk, pertama, mencek keabsahan dari pemilih 𝑃 dan kemudian memvalidasi kartu suara yang telah „dicoblos‟.

3. 𝑇: 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 : 𝑄𝐼𝐷 dan 𝑆𝐼𝐷 = 𝑠𝑄𝐼𝐷, dimana 𝑠 adalah rahasia dari KGC. Lalu KGC mengirimkan 𝑄𝐼𝐷 dan 𝑆𝐼𝐷 kepada masing-masing user dengan menggunakan jalur yang aman. Dengan demikian P akan mendapat 𝑄𝑃 dan 𝑆𝑃, 𝑉 akan mendapatkan 𝑄𝑉 dan 𝑆𝑉, lalu 𝑇 mendapatkan 𝑄𝑇 dan 𝑆𝑇. Kemudian,

𝑃 menghitung : 𝑘𝑃𝑉 = 𝑒(𝑆𝑃, 𝑄𝑉) dan 𝑘𝑃𝑇 = 𝑒(𝑆𝑃, 𝑄𝑇), 𝑉 menghitung : 𝑘𝑉𝑃 = 𝑒(𝑆𝑉, 𝑄𝑃) dan 𝑘𝑉𝑇 = 𝑒(𝑆𝑉, 𝑄𝑇), 𝑇 menghitung : 𝑘𝑇𝑃 = 𝑒(𝑆𝑇, 𝑄𝑃) dan 𝑘𝑇𝑉 = 𝑒(𝑆𝑇, 𝑄𝑉).

karena sifat bilinear dari pasangan bilinear dimana :

𝑒 𝑎𝑃, 𝑏𝑄 = 𝑒(𝑃, 𝑄)𝑎𝑏, untuk sebarang 𝑎, 𝑏 ∈ ℤ dan 𝑃, 𝑄 ∈ 𝐺1

maka,

𝑘𝑃𝑉 = 𝑒 𝑆𝑃, 𝑄𝑉 = 𝑒 𝑠𝑄𝑃, 𝑄𝑉 = 𝑒(𝑄𝑃, 𝑄𝑉)𝑠 = 𝑒 𝑄𝑃, 𝑠𝑄𝑉 = 𝑒 𝑄𝑃, 𝑆𝑉 = 𝑘𝑉𝑃 , 𝑘𝑃𝑇 = 𝑘𝑇𝑃 dan

(2)

34 𝑘𝑉𝑇 = 𝑘𝑇𝑉.

KGC juga mengumumkan kepada publik fungsi kurva eliptik yang dipakai dalam perhitungan pasangan bilinear, beserta fungsi hash 𝐻 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 𝑘𝑃𝐶𝐶 = 𝐻(𝑒(𝑐1𝑂, 𝑐2𝑂)),

dengan 𝐻 adalah fungsi hash yang dipakai dalam protokol dan 𝑐1, 𝑐2 dipilih secara acak oleh 𝑃. 𝑂 adalah pembangun 𝐺1.

- Lalu 𝑃 mengirimkan

𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑉 dan 𝐻(𝑘𝑃𝐶𝐶) ke validator 𝑉.

Keterangan Terima Hitung Kirim ke 𝑽

Kartu suara dicoblos - 𝐵 -

Pilih random - 𝑐1. 𝑐2 -

Hitung 𝑘𝑃𝐶𝐶 - 𝑘𝑃𝐶𝐶 = 𝑒(𝑐1𝑂, 𝑐2𝑂) -

Tanda tangan - 𝐵 + 𝑘𝑃𝐶𝐶 -

Kunci dengan 𝑘𝑃𝑉 - 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑉 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑉

Hash 𝑘𝑃𝐶𝐶 - 𝐻(𝑘𝑃𝐶𝐶) 𝐻(𝑘𝑃𝐶𝐶)

Tabel 4.1 Tabel transaksi data pada langkah satu.

(3)

35 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 𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑉 dan 𝐻(𝑘𝑃𝐶𝐶) dari 𝑃 lalu membuka 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑉 dengan menambahkannya 𝑘𝑉𝑃 sehingga menjadi 𝐵 + 𝑘𝑃𝐶𝐶.

- Lalu 𝑉 menandatanganinya dengan memilih secara acak 𝑟𝑉 dan menambahkan 𝐻(𝑟𝑉) ke (𝐵 + 𝑘𝑃𝐶𝐶) sehingga menjadi 𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻(𝑟𝑉) lalu menguncinya dengan 𝑘𝑃𝑉 menjadi (𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 + 𝑘𝑉𝑃). Lalu mengirimkan :

𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻 𝑟𝑉 + 𝑘𝑉𝑃, 𝑟𝑉+ 𝑘𝑉𝑇 dan 𝐻 𝑘𝑃𝐶𝐶 + 𝑘𝑉𝑇 ke 𝑃.

Keterangan Terima dari 𝑽 Hitung Kirim ke 𝑷

𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑉 - -

𝐻(𝑘𝑃𝐶𝐶) - -

Buka kunci 𝑘𝑃𝑉 - 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑉+ 𝑘𝑉𝑃 -

- 𝐵 + 𝑘𝑃𝐶𝐶 -

Pilih sebarang integer 𝑟𝑉 - 𝑟𝑉 -

Digest 𝑟𝑉 - 𝐻(𝑟𝑉) -

Tanda tangan - 𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻(𝑟𝑉) -

Kunci dengan 𝑘𝑉𝑃 - 𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻 𝑟𝑉 + 𝑘𝑉𝑃 𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻 𝑟𝑉 + 𝑘𝑉𝑃

Kunci 𝑟𝑉dengan 𝑘𝑉𝑇 - 𝑟𝑉+ 𝑘𝑉𝑇 𝑟𝑉+ 𝑘𝑉𝑇

Kunci digest 𝑕𝑃𝐶𝐶dengan

𝑘𝑉𝑇 - 𝐻(𝑘𝑃𝐶𝐶) + 𝑘𝑉𝑇 𝐻(𝑘𝑃𝐶𝐶) + 𝑘𝑉𝑇

Tabel 4.2 Tabel transaksi data pada langkah dua.

(4)

36 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 (𝐵 + 𝑕𝑃𝐶𝐶 + 𝐻 𝑟𝑉 + 𝑘𝑉𝑃), (𝑟𝑉+ 𝑘𝑉𝑇) dan (𝐻 𝑘𝑃𝐶𝐶 + 𝑘𝑉𝑇) dari 𝑉. 𝑃 lalu membuka (𝐵 + 𝑕𝑃𝐶𝐶 + 𝐻 𝑟𝑉 + 𝑘𝑉𝑃) dengan 𝑘𝑃𝑉 mendapatkan (𝐵 + 𝑕𝑃𝐶𝐶 + 𝐻 𝑟𝑉 ).

- 𝑃 menghitung (𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑇) lalu mengirimkan :

𝑟𝑉+ 𝑘𝑉𝑇, 𝐻(𝑘𝑃𝐶𝐶) + 𝑘𝑉𝑇, 𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 dan

𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 ke 𝑇.

Keterangan Terima dari 𝑽 Hitung Kirim ke 𝑻

𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻 𝑟𝑉 + 𝑘𝑉𝑃

- -

𝑟𝑉+ 𝑘𝑉𝑇 - 𝑟𝑉+ 𝑘𝑉𝑇

𝐻(𝑘𝑃𝐶𝐶) + 𝑘𝑉𝑇 - 𝐻(𝑘𝑃𝐶𝐶) + 𝑘𝑉𝑇

Buka

𝐵 + 𝑕𝑃𝐶𝐶+ 𝐻 𝑟𝑉 + 𝑘𝑉𝑃 dengan

menggunakan 𝑘𝑃𝑉

- 𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻 𝑟𝑉

+ 𝑘𝑉𝑃+ 𝑘𝑃𝑉

-

- 𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻 𝑟𝑉 𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻 𝑟𝑉

- 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑇 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑇

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 :

(5)

37 - 𝑇 menerima (𝑟𝑉+ 𝑘𝑉𝑇), (𝐻(𝑘𝑃𝐶𝐶) + 𝑘𝑉𝑇), (𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 ) dan (𝐵 +

𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑇) dari 𝑃.

- 𝑇 membuka (𝑟𝑉+ 𝑘𝑉𝑇) dengan menambahkan 𝑘𝑇𝑉 dan mendapatkan 𝑟𝑉.

- 𝑇 menghitung 𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 + 𝐻 𝑟𝑉 + 𝑘𝑇𝑃 dan memberi nama 𝑀1 pada hasilnya, yaitu (𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑇𝑃).

- Lalu 𝑇 juga menambah 𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 yang diterima dari 𝑃 dengan (𝑘𝑇𝑃 + 𝑘𝑇𝑃) dan memberi hasilnya nama 𝑀2.

- 𝑇 membandingkan nilai 𝑀1 dan 𝑀2, jika nilainya sama berarti tidak ada serangan yang terjadi maka 𝑇 menerbitkan sebuah nomor 𝑟𝑒𝑐# yang berkorespondensi secara unik dengan nilai 𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 yang dikirim 𝑃 ke 𝑇 pada langkah tiga.

- 𝑇 mengirim

𝑟𝑒𝑐# dan 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑇𝑃 ke 𝑃

Keterangan Terima dari 𝑷 Hitung Kirim ke 𝑷

𝑟𝑉+ 𝑘𝑉𝑇 𝐻(𝑕𝑃𝐶𝐶) + 𝑘𝑉𝑇 𝐵 + 𝑕𝑃𝐶𝐶+ 𝐻 𝑟𝑉 𝐵 + 𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇 𝐻(𝐵 + 𝑕𝑃𝐶𝐶+ 𝐻 𝑟𝑉 ), 𝐻(𝐵 + 𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇) Membuka 𝑟𝑉+ 𝑘𝑉𝑇

dengan 𝑘𝑇𝑉

𝑟𝑉+ 𝑘𝑉𝑇+ 𝑘𝑇𝑉

𝑟𝑉 𝐻(𝑟𝑉) Memeriksa apakah

𝐵 + 𝑕𝑃𝐶𝐶+ 𝐻 𝑟𝑉 + 𝐻 𝑟𝑉 + 𝑘𝑇𝑃 sama dengan 𝐵 + 𝑕𝑃𝐶𝐶+

(6)

38 𝑘𝑃𝑇+ 𝑘𝑇𝑃+ 𝑘𝑇𝑃

Jika sama, 𝑇 menerbitkan nomor rec

𝑅𝑒𝑐# 𝑅𝑒𝑐#

𝐵 + 𝑕𝑃𝐶𝐶+ 𝑘𝑇𝑃

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 𝑟𝑒𝑐#, 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑇𝑃 dari 𝑇, 𝑃 memeriksa apakah nilai 𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃 + 𝑘𝑃𝑇 dengan (𝐵 + 𝑘𝑃𝐶𝐶). Jika sama, maka

- 𝑃 mengirim :

𝑟𝑒𝑐# dan 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 ke 𝑇.

Keterangan Terima dari 𝑻 Hitung Kirim ke 𝑻

𝑅𝑒𝑐# 𝑅𝑒𝑐#

𝐵 + 𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇 𝐻(𝐵 + 𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇) Cek apakah

𝐵 + 𝑕𝑃𝐶𝐶+ 𝑘𝑇𝑃+ 𝑘𝑃𝑇 sama dengan 𝐵 + 𝑕𝑃𝐶𝐶

Jika sama, 𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇 𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇

Tabel 4.5 Tabel transaksi data pada langkah lima.

4.2.6. Langkah Enam : Penghitungan

Tallier membuka surat suara dan memasukkannya ke penampungan suara.

Secara rinci :

(7)

39 - 𝑇 menerima 𝑟𝑒𝑐# dan 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 dari 𝑃.

- 𝑇 membuka 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 yang didapatkannya dari langkah lima dengan menggunakan 𝑘𝑇𝑃 dan mendapatkan 𝑘𝑃𝐶𝐶.

- 𝑇 kemudian membuka 𝐻 𝑘𝑃𝐶𝐶 + 𝑘𝑉𝑇 dari langkah tiga dengan menggunakan 𝑘𝑇𝑉 dan mendapatkan 𝐻(𝑘𝑃𝐶𝐶).

- 𝑇 kemudian membandingkan hash dari 𝑘𝑃𝐶𝐶 dengan 𝐻(𝑘𝑃𝐶𝐶).

- Jika sama, 𝑇 menggunakan 𝑘𝑃𝐶𝐶 yang didapatkannya dari langkah di atas untuk membuka (𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃) yang dikirimkannya ke 𝑃 pada langkah lima.

Dengan cara menambahkannya dengan (𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃). Maka 𝑇 mendapatkan 𝐵 yang murni.

- 𝑇 menambahkan suara 𝐵 ke tempat penampungan suara.

Keterangan Terima dari 𝑻 Hitung Kirim ke 𝑻

𝑅𝑒𝑐#

𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇

𝐻(𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇) Membuka

𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇 dengan 𝑘𝑇𝑃

𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇+ 𝑘𝑇𝑃

𝑕𝑃𝐶𝐶 𝐻(𝑕𝑃𝐶𝐶) Ambil

𝐻 𝑕𝑃𝐶𝐶 + 𝑘𝑉𝑇 dari langkah tiga, kemudian buka dengan 𝑘𝑇𝑉

𝐻 𝑕𝑃𝐶𝐶 + 𝑘𝑉𝑇+ 𝑘𝑇𝑉

Cek apakah digest dari

𝑕𝑃𝐶𝐶 sama dengan 𝐻 𝑕𝑃𝐶𝐶 + 𝑘𝑉𝑇+ 𝑘𝑇𝑉

Jika sama 𝐵 + 𝑕𝑃𝐶𝐶+ 𝑘𝑇𝑃

+ 𝑕𝑃𝐶𝐶+ 𝑘𝑇𝑃 𝐵

Tabel 4.6 Tabel transaksi data pada langkah enam.

(8)

40 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 :

𝑘𝑃𝑉 = 𝑘𝑉𝑃 = 29ab0d7da05ffc3f1b3f97ac10e2092694aadbb7d, 𝑘𝑃𝑇 = 𝑘𝑇𝑃 = 3f0eba16286a2d57ea0991168d4994637e8343e36, 𝑘𝑇𝑉 = 𝑘𝑉𝑇 = 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 𝐸: 𝑦2+ 𝑥𝑦 = 𝑥3+ 𝑥2+ 𝑏, atas lapangan 𝐺𝐹(2163), dengan

𝑏 = 20a601907b8c953ca1481eb10512f78744a3205fd.

Kurva di atas adalah kurva yang dikeluarkan oleh NIST, sebuah lembaga standar Amerika Serikat. Penulis memilih kurva atas lapangan 𝐺𝐹(2163) dengan alasan kemudahan perhitungan. Karena kurva tersebut adalah kurva yang paling sederhana.

 Generator yang digunakan :

𝐺𝑥 = 3f0eba16286a2d57ea0991168d4994637e8343e36 𝐺𝑦 = 0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1.

(9)

41 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.

(10)

42 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.

(11)

43 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.

(12)

44 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

𝐵 = 00000000000000000000000000000000000000002, lalu 𝑃 menghitung

𝑘𝑃𝐶𝐶 = adeeefff000111122233344455556667777888999 kemudian 𝑃 mengirimkan

𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑉 = 8445e282a05eed2d390ca3e845b76f41e3d2532e6 𝐻 𝑘𝑃𝐶𝐶 = 02b1c0063aa674d150fa5aa7f70e3906c53f735bb ke validator 𝑉.

2. Langkah Dua : Administrasi

𝑉 menerima (𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑉) dan 𝐻(𝑘𝑃𝐶𝐶) dari 𝑃. 𝑉 lalu memilih bilangan bulat random

𝑟𝑉 = 0122233344455566667778889999aaabbbccccddd.

menghitung

𝐻 𝑟𝑉 = 0a2d808f4721d6cd116dbf40026c2d2e92dec5c24.

dan mengirimkan

(13)

45 𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 + 𝑘𝑉𝑃

= 8e68620de77f3be028611ca847db426f710c96ec2 𝑟𝑉 + 𝑘𝑉𝑇 = 34d2aa5b4745556568ff2416fcafadf5080f0fb0b dan 𝐻 𝑘𝑃𝐶𝐶 + 𝑘𝑉𝑇 = 36636𝑎5𝑑7𝑑𝑒321𝑏438057𝑒𝑏10𝑏𝑎194𝑓3𝑐𝑑307𝑐𝑒𝑏0.

ke 𝑃.

3. Langkah Tiga : Pemilihan

Setelah mendapatkan (𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 + 𝑘𝑉𝑃), (𝑟𝑉+ 𝑘𝑉𝑇) dan (𝐻 𝑘𝑃𝐶𝐶 + 𝑘𝑉𝑇). 𝑃 kemudian mengirim :

𝑟𝑉 + 𝑘𝑉𝑇 = 34d2aa5b4745556568ff2416fcafadf5080f0fb0b, 𝐻 𝑘𝑃𝐶𝐶 + 𝑘𝑉𝑇 = 36636𝑎5𝑑7𝑑𝑒321𝑏438057𝑒𝑏10𝑏𝑎194𝑓3𝑐𝑑307𝑐𝑒𝑏0, 𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 = a7c36f704720c7df335e8b0457394b49e5a64d5bf dan

𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 = 92e055e9286b3c45c83aa552d81cf20409fbcb7ad.

ke 𝑇.

4. Langkah 4 : Pengumpulan

𝑇 menerima (𝑟𝑉+ 𝑘𝑉𝑇), (𝐻(𝑘𝑃𝐶𝐶) + 𝑘𝑉𝑇), (𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 ) dan (𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑃𝑇) dari 𝑃. 𝑇 lalu membuka (𝑟𝑉+ 𝑘𝑉𝑇) mendapatkan

𝑟𝑉 = 0122233344455566667778889999aaabbbccccddd.

Kemudian 𝑇 memeriksa apakah nilai

𝑀1 = 𝐵 + 𝑘𝑃𝐶𝐶 + 𝐻 𝑟𝑉 + 𝐻 𝑟𝑉 + 𝑘𝑇𝑃 dan 𝑀2 = (𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 + 𝑘𝑇𝑃 + 𝑘𝑇𝑃) sama. Jika sama 𝑇 menerbitkan nomor 𝑟𝑒𝑐# = P000001 dan memasangkan

𝑟𝑒𝑐# = P000001 dan

𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃 = 92e055e9286b3c45c83aa552d81cf20409fbcb7ad

ke dalam data base. sehingga nantinya untuk setiap 𝑟𝑒𝑐# berpasangan dengan 𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃 tertentu. Lalu mengirim 𝑟𝑒𝑐# = P000001 dan 𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃 ke 𝑃.

(14)

46 5. Langkah Lima : Membuka Kartu Suara

Setelah menerima 𝑟𝑒𝑐#, 𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑇𝑃 dari 𝑇, 𝑃 memeriksa apakah nilai 𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃 + 𝑘𝑃𝑇 dengan (𝐵 + 𝑘𝑃𝐶𝐶). Jika sama, maka 𝑃 mengirim :

𝑟𝑒𝑐# dan

𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 = 92e055e9286b3c45c83aa552d81cf20409fbcb7af ke 𝑇.

6. Langkah Enam : Penghitungan

𝑇 menerima 𝑟𝑒𝑐# dan 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 dari 𝑃. 𝑇 membuka 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 yang didapatkannya dari langkah lima dengan menggunakan 𝑘𝑇𝑃 dan mendapatkan 𝑘𝑃𝐶𝐶. 𝑇 kemudian membuka 𝐻 𝑘𝑃𝐶𝐶 + 𝑘𝑉𝑇 dari langkah tiga dengan menggunakan 𝑘𝑇𝑉 dan mendapatkan 𝐻(𝑘𝑃𝐶𝐶). 𝑇 kemudian membandingkan hash dari 𝑘𝑃𝐶𝐶 dengan 𝐻(𝑘𝑃𝐶𝐶). Jika sama, 𝑇 menggunakan 𝑘𝑃𝐶𝐶 yang didapatkannya dari langkah di atas untuk membuka (𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑇𝑃) yang dikirimkannya ke 𝑃 pada langkah lima. Dengan cara menambahkannya dengan (𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃).

𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃 = 𝐵 =

00000000000000000000000000000000000000002.

Maka 𝑇 mendapatkan 𝐵 yang murni yang menyatakan pilihan Anton adalah calon nomer dua. Tetapi 𝑇 tidak mengetahui yang memilih adalah Anton karena ia tidak mendapatkan informasi apa-apa mengenai itu. Demikian juga dengan 𝑉 yang tidak mengetahui pilihan Anton, ia hanya mengetahui Anton sudah memilih. 𝑇 lalu menambahkan suara 𝐵 ke tempat penampungan suara. Seketika itu juga langka tiga pada antarmuka muncul.

(15)

47 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 𝑘𝑉𝑃 = 𝑘𝑃𝑉, tetapi ia tidak dapat menhitung 𝑘𝑃𝑇. Karena ia tidak memiliki kunci pribadi pemilih, 𝑆𝑃. Oleh karena itu validator tidak bisa menghitung (𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑃𝑇 + 𝐻 𝑟𝑉 + 𝑘𝑉𝑃) yang kemudian akan diteruskan ke tallier.

2. Dapatkah validator menggantikan surat suara yang sah?

Jawab :

Berdasarkan ID Based Cryptosystem, 𝑆𝐼𝐷 = 𝑠𝑄𝐼𝐷, jika validator ingin mengganti surat suara yang sah, ia harus mendapatkan 𝑆𝐼𝐷 milik pemilih, walaupun validator mengetahui 𝑄𝐼𝐷 milik pemilih tapi ia tidak mengetahui 𝑆𝐼𝐷nya. Untuk menghitung 𝑆𝐼𝐷 ia harus mengetahui 𝑠. Tapi itu tidak mungkin terjadi karena 𝑠 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 𝑆𝑉 agar ia dapat menghitung 𝑘𝑉𝑃 dan 𝑘𝑉𝑇, agar pada saat data dikirim data terebut benar saat dibuka, jika tidak maka data itu tidak akan diterima. Karena 𝑆𝑉 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.

(16)

48 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 𝐵, surat suara yang sah, dengan 𝐵𝑃 (surat suara palsu), maka pada saat yang sama ia harus bisa membuat 𝐵𝑃 dan 𝑘𝑃𝐶𝐶𝑃 (kunci 𝑘𝑃𝐶𝐶 palsu) untuk memenuhi 𝐵𝑃 + 𝑘𝑃𝐶𝐶𝑃 = 𝐵 + 𝑘𝑃𝐶𝐶. Hal ini dilakukan karena tallier memeriksa kesamaan dari

𝐵 + 𝑘𝑃𝐶𝐶+ 𝐻 𝑟𝑉 + 𝑘𝑇𝑃 + 𝐻(𝑟𝑉) dan

𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃,

dan ia juga akan memeriksa apakan nilai hash dari 𝑘𝑃𝐶𝐶 yang didapat dengan menambahkan 𝑘𝑇𝑃 ke (𝑕𝑃𝐶𝐶+ 𝑘𝑃𝑇) yang didapat pada langkah 5 sama dengan nilai 𝐻(𝑘𝑃𝐶𝐶) yang didapat dari (𝐻 𝑘𝑃𝐶𝐶 + 𝑘𝑉𝑇) yang ditambahkan dengan 𝑘𝑇𝑉. Ini menyatakan bahwa untuk nilai 𝑘𝑃𝐶𝐶 tertentu, terdapat nilai 𝐵 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 𝐵, menjadi 𝐵𝑃 (𝐵 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 𝑟𝑒𝑐# dan memasangkannya dengan nilai (𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑇𝑃) serta menyimpannya di data base. Oleh karena itu, pemilih pemilih dapat memperlihatkan (𝐵 + 𝑘𝑃𝐶𝐶 + 𝑘𝑇𝑃) yang telah disimpan itu sebagai pembuktian jika tallier telah menggantikan 𝐵 menjadi 𝐵𝑃 dengan membandingkan apakah nilai 𝐵 yang didapat dengan menambahkan (𝐵 + 𝑘𝑃𝐶𝐶+ 𝑘𝑇𝑃) dengan 𝑘𝑃𝑇 + 𝑘𝑃𝐶𝐶 sama dengan 𝐵 yang telah dipilih oleh pemilih.

(17)

49

BAB V

KESIMPULAN DAN SARAN

5.2. Kesimpulan

Keberhasilan dari protokol ini adalah apakah protokol ini memenuhi syarat- syarat 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 masing- masing 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

(18)

50 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 serangan- serangan 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.

(19)

51 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?

Gambar

Tabel 4.1 Tabel transaksi data pada langkah satu.
Tabel 4.2 Tabel transaksi data pada langkah dua.
Tabel 4.3 Tabel transaksi data pada langkah tiga.
Tabel 4.4 Tabel transaksi data pada langkah empat.
+5

Referensi

Dokumen terkait

331 Sofitel Bali Nusa Dua Beach Resort Kawasan Pariwisata BTDC, Lot N5 Nusa Dua Badung General Manager 332 KAP. Lasmono Dipokusumo dan Rekan

بيرجتلا لصف يدعب رابتخا طسوتلما ةميق 93،22 نم لصفا ، 32،192 ةميق مكحتلا لصفب ، لصف و مكحتلا لصف ينب ةملها قورفلا كانه نا جاتنتسلااف ،طسوتلما ا اذهو .بيرجتلا

Tabel 2 menunjukkan hubungan antara peubah pengamatan dengan nilai koefisien korelasi positif (korelasi searah) berturut-turut yaitu Fe akar dengan Mn-akar (korelasi

Peraturan Bupati Bantul Nomor 121 Tahun 2016 tentang tentang Kedudukan, Susunan Organisasi, Tugas dan Fungsi, Serta Tata Kerja Dinas Pekerjaan Umum, Perumahan dan

(Lembaran Daerah Provinsi Jawa Tengah Tahun 2001 Nomor 26 ) sebagaimana telah diubah dengan Peraturan Daerah Provinsi Jawa Tengan Nomor 3 Tahun 2006 tentang Perubahan Atas Peraturan

Untuk melakukan analisis terhadap kebijakan yang diambil pemerintah Korea Utara untuk membatalkan perjanjian reunifikasi Korea maka teori yang digunakan penulis pada penelitian

Kompresi citra dilakukan dengan mengurangi jumlah bit yang dibutuhkan untuk merepresentasikan suatu citra dengan mengambil keuntungan dari bit-bit ekstra (

Dengan segala potensi sumber mata air, panas bumi, hingga hasil hutan non kayu yang telah menjadi tumpuan hidup warga tentu sangat disayangkan jika potensi tersebut justru