• Tidak ada hasil yang ditemukan

The Development of Voting Result Data Transfer to the Central Tabulating Facilities.

N/A
N/A
Protected

Academic year: 2017

Membagikan "The Development of Voting Result Data Transfer to the Central Tabulating Facilities."

Copied!
62
0
0

Teks penuh

(1)

PENGEMBANGAN SISTEM PENGIRIMAN SUARA

VOTER

MENUJU

CENTRAL TABULATING FACILITIES

(CTF)

MEDRIA KUSUMA DEWI HARDHIENATA

DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

(2)

PENGEMBANGAN SISTEM PENGIRIMAN SUARA

VOTER

MENUJU

CENTRAL TABULATING FACILITIES

(CTF)

MEDRIA KUSUMA DEWI HARDHIENATA

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

(3)

ABSTRACT

MEDRIA KUSUMA DEWI HARDHIENATA.The Development of Voting Result Data Transfer to the Central Tabulating Facilities. Under the direction of SRI NURDIATI and SUGI GURITMAN.

Advances in election voting process nowadays has triggered the application of virtualization technique in several countries. Most studies raised concern about Online Voting which provides cost saving and convinience. The voting system using virtual network technology aims to reduce considerable calculation time as well as necessary human resources. Despite this, Indonesia still performs voting during election manually. Therefore, this research is performed to study the application of small scale Online Voting at the Department of Computer Science, Bogor Agricultural University as well as studying its further possibility for applying this technique in larger scales. Considering the complexity in building a complete secure online election voting process, this research is focused only in developing a system to send vote from voterto Central Tabulating Facilities (CTF) by implementing a modified secure election protocol with Two Central Facilities. It is also conducted to implement earlier research recommendations to make the system more secure as well as how to integrate an election voting system from a single host into multiple hosts by using Java Web Start

Technology.

(4)

Judul :Pengembangan Sistem Pengiriman Suara Voter Menuju Central Tabulating Facilities (CTF) Nama :Medria K.D.Hardhienata

NIM :G64052475

Menyetujui:

Pembimbing I, Pembimbing II,

Dr. Ir. Sri Nurdiati, M.Sc Dr. Sugi Guritman

NIP 19601126 198601 2 001 NIP 19620927 199203 1 004

Mengetahui,

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor

Dr. Drh. Hasim, DEA NIP 19610328 198601 1 002

(5)

RIWAYAT HIDUP

Medria Kusuma Dewi Hardhienata dilahirkan di kota Stuttgart, Jerman Barat, pada tanggal 22 Agustus 1986 dari pasangan Ibu Sri Setyaningsih dan Bapak Soewarto Hardhienata. Pada tahun 2005 penulis lulus dari Sekolah Menengah Atas (SMA) Negeri 1 Bogor dan diterima di Program Studi Ilmu Komputer Institut Pertanian Bogor melalui jalur Seleksi Masuk Penerimaan Mahasiswa (SPMB). Penulis aktif berpartisipasi dalam National University English Debate Championship yang diselenggarakan pada tanggal 24-26 April 2007 dan berhasil meraih juara Third Runner Up.

(6)

PRAKATA

Rasa syukur penulis ucapkan kepada Allah SWT yang telah memberikan anugerah dan rahmat-Nya hingga proses pembuatan skripsi ini dapat terselesaikan dengan lancar. Skripsi berjudul “Pengembangan Sistem Pengiriman Suara Voter Menuju Central Tabulating Facilities (CTF)” ini berangkat dari sebuah mimpi bahwa suatu saat pemilu di Indonesia dapat terselenggara secara virtual.

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 yang tidak terhingga kepada: 1 Ayah dan Ibu, Soewarto Hardhienata dan Sri Setyaningsih, kedua orang yang menjadi sumber

kekuatan untuk tetap maju dan melangkah. Terimakasih pula penulis ucapkan kepada kakak, Hendradi Hardhienata, yang selalu mengajarkan untuk tidak cepat menyerah dan menyadarkan bahwa mempelajari ilmu pengetahuan dimulai dari mencintai ilmu pengetahuan itu sendiri. Terimakasih pula kepada Faridah Handayasari, kakak perempuan penulis yang telah memotivasi agar dapat menyelesaikan skripsi tepat waktu.

2 Ibu Dr. Ir. Sri Nurdiati, MSc selaku pembimbing pertama yang telah memberi arahan, bimbingan serta motivasi untuk menyelesaikan skripsi ini.

3 Bapak Dr. Sugi Guritman selaku pembimbing kedua yang telah menumbuhkan rasa kecintaan akan ilmu kriptografi dan mencetuskan pemikiran awal untuk mengerjakan penelitian Online Voting.

4 Bapak Irman Hermadi S.Kom, MS selaku pembimbing akademik yang telah membimbing dan menjadi tempat penulis berkonsultasi dan bertanya.

5 Orang-orang yang telah menemani hingga semester demi semester perkuliahan dapat terlewati dan membantu penulis dalam melewati masa-masa sulit, Rizqi Baihaqi Ahmadi, sahabat terbaik yang pernah ada, orang yang mengajarkan untuk tidak pernah menyerah dan terus berjuang serta Rinjani Yusni Maharjanti, sahabat yang selalu menemani di saat-saat pengerjaan skripsi. Tidak lupa penulis ucapkan terimakasih kepada sahabat, Nida, rekan seperjuangan dalam projek Online Voting, Dina, Uud, dan Fajri, serta sahabat-sahabat yang pernah bekerja bersama-sama dalam satu tim hebat Ferdian Faisal, Noviana Putri, Fitri, dan Abie Rafdi. Skripsi ini juga penulis persembahkan untuk sahabat-sahabat program studi Ilmu Komputer Angkatan 42, Mirna, Lena, Adet, Prita, Nila, Huda, Indra, Ijun, Nano, Regi, organisasi yang telah membesarkan penulis, Komunitas Film FOKERZ dan HIMALKOM, serta sahabat-sahabat yang tidak bisa penulis sebutkan satu persatu, terimakasih atas segalanya.

6 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. Terimakasih juga penulis ucapkan kepada segenap staf administrasi dan perpustakaan Departemen Ilmu Komputer yang telah membantu hingga skripsi ini dapat terselesaikan. Terimakasih 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, Agustus 2009

(7)

iv DAFTAR ISI

Halaman

DAFTAR GAMBAR ... v 

DAFTAR LAMPIRAN ... v 

PENDAHULUAN ... 6 

Latar Belakang ... 6 

Tujuan ... 6 

Ruang Lingkup ... 6 

TINJAUAN PUSTAKA ... 2 

Protokol ... 2 

Kriptografi ... 2 

Kunci Publik (Public Key) ... 2 

Kunci Simetri (Session Key) ... 2 

Algoritme RSA ... 2 

Secure Hash Algorithm (SHA)-1 ... 3 

Jaringan Feistel ... 3 

Blowfish ... 3 

Nonce ... 5 

Java Web Start ... 5 

Certificate Authority (CA) ... 5 

Central Legitimization Agency (CLA) ... 5 

Central Tabulating Facilities (CTF) ... 5 

METODE PENELITIAN ... 6 

Ancaman (Threats) ... 6 

Kebijakan (Policy) ... 6 

Spesifikasi (Specification) ... 6 

Perancangan (Design) ... 6 

Implementasi (Implementation) ... 7 

Pengujian (Testing) ... 7 

HASIL DAN PEMBAHASAN ... 8 

Ancaman (Threats) ... 8 

Kebijakan (Policy) ... 8 

Spesifikasi (Specification) ... 9 

Perancangan (Design) ... 9 

Perancangan Sistem Secara Umum ... 9 

Perancangan Pengembangan Sistem ... 11 

Implementasi ... 13 

Pengujian ... 17 

KESIMPULAN DAN SARAN ... 19 

Kesimpulan ... 19 

Saran ... 19 

DAFTAR PUSTAKA ... 20 

(8)

v DAFTAR GAMBAR

Halaman

1 Enkripsi dan Dekripsi ... 2 

2 Jaringan Feistel ... 3 

3 Fungsi f Blowfish ... 4 

4 Blowfish ... 4 

5 TheSecurity Life Cycle ... 6 

6 Proses Komunikasi Voter – CTF untuk Fungsionalitas Permintaan Kandidat ... 10 

7 Proses Komunikasi Voter – CTF untuk Fungsionalitas Permintaan Melakukan Pemilihan (vote) . 10  8 Proses Komunikasi Voter – CTF untuk Fungsionalitas Melakukan Verifikasi Pilihan ... 11 

9 Jaringan Wireless Online Voting dengan Topologi Infrastruktur ... 12 

10 Diagram Alir Pengiriman dan Penerimaan Kunci Simetri Voter ... 12 

11 Diagram Alir Pengiriman dan Penerimaan Kunci Simetri CTF ... 13 

12 Pengaturan Java Web Start pada project properties window menu Run ... 13 

13 Pengaturan Java Web Start pada project properties window menu Application Web Start ... 14 

14 Situs IPB Online Voting Centre (Bagian 1) ... 14 

15 Situs IPB Online Voting Centre (Bagian 2) ... 14 

16 Tampilan Antamuka Online Voting ... 14 

17 Berkas launch.jnlp untuk memunculkan aplikasi Online Voting ... 14 

DAFTAR LAMPIRAN Halaman 1 Implementasi GenerateRandomKeys.java ... 22 

2 Implementasi Voter.java untuk Fungsi do_CTF ... 28

3 Implementasi CTF.java untuk Fungsi Main ... 35 

4 Black Box Testing ... 40 

(9)

vi PENDAHULUAN

Latar Belakang

Pemilihan Umum (Pemilu) merupakan suatu kegiatan yang lazim dilakukan di berbagai negara untuk memilih kandidat yang akan menempati jabatan politik tertentu. Kegiatan ini dilakukan tidak hanya dalam skala nasional, pada lingkungan yang lebih khusus seperti kampus misalnya kegiatan ini pun sering kali dilakukan untuk melakukan pemilu berskala kecil seperti pemilihan rektor, dekan, maupun berbagai ketua badan kegiatan mahasiswa. Seiring dengan kemajuan teknologi, proses pemunggutan suara dalam pemilu di negara-negara maju kini mulai berkembang ke arah virtualisasi. Pemilu untuk memilih presiden Amerika Serikat pada bulan November 2008 lalu pun telah berhasil diselenggarakan dengan penghitungan electoral vote yang sangat cepat berkat bantuan teknologi maju. Hanya dalam hitungan jam hasil pemungutan suara dari seluruh negara bagian negara ini dapat diketahui oleh seluruh dunia.

Di Indonesia sendiri pemilu umumnya masih dilakukan dengan cara konvensional. Pemilihan dilakukan melalui pencontrengan pada kartu pemilih serta identifikasi pemilih secara manual. Tidak jarang kegiatan ini menghabiskan waktu yang cukup lama dalam penghitungan suara akhir. Peluang dalam melakukan kecurangan dalam pemilu yang diselenggarakan secara konvensional pun kadang tidak dapat dihindari.

Pada tahun 2001, Dan DuFeu dan Jon Harris (2001) melakukan penelitian dengan mendeskripsikan bagaimana online election system bekerja. Penelitian ini mengimplementasikan pembangunan Central Legitimization Agency (CLA) dan Central Tabulating Facilities (CTF) untuk menerapkan pemilu yang aman. Selanjutnya beberapa penelitian mengenai topik serupa kian terbuka lebar. Pada tahun 2005, Sireesha, Janga dan So-In Chakchai (2005) melakukan penelitian dengan memodifikasi protokol secure election dengan Two Central Facilities. Dengan lahirnya berbagai penelitian dalam bidang election system, penelitian ini diharapkan dapat terus menyempurnakan sistem online voting yang telah ada.

Dengan kemajuan jaringan teknologi dan teknik kriptografi saat ini penyelenggaraan pemilihan kandidat dengan cara virtual khususnya dalam lingkup kampus di Indonesia

bukanlah hal yang mustahil dilakukan. Meski demikian, pemilihan suara dengan komputerisasi hanya dapat dilakukan jika protokol menjamin bahwa privasi individu dapat dilindungi dan berbagai bentuk kecurangan dengan teknologi ini dapat dicegah. Hal inilah yang mendorong adanya keinginan untuk terus menyempurnakan serta mengembangkan sebuah protokol keamanan virtual dengan protokol Two Central Facilities. Protokol ini dipilih karena termasuk sebagai 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).

Tujuan

Terdapat dua tujuan utama dari penelitian ini. Pertama, penelitian dilakukan untuk mengembangkan sistem pengiriman suara dari

voter menuju Central Tabulating Facilities

(CTF) dengan protokol Two Central Facilities

yang telah ada serta penyempurnaan beberapa kekurangan pada protokol sesuai rekomendasi dari penelitian sebelumnya. Kedua, penelitian dilakukan untuk membuat model simulasi guna melihat apakah sistem ini dimungkinkan untuk diimplementasikan pada pemilu yang diadakan di lingkungan kampus Institut Pertanian Bogor (IPB).

Ruang Lingkup

(10)

2 TINJAUAN PUSTAKA

Protokol

Suatu protokol menurut Schneier (1996) adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang agar dapat menyelesaikan suatu tugas.

Protokol memiliki berbagai karakteristik seperti :

1 Protokol memiliki urutan dari awal hingga akhir.

2 Setiap langkah harus dilaksanakan secara bergilir.

3 Suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai dilakukan.

4 Diperlukan dua pihak atau lebih untuk melaksanakan protokol.

5 Protokol harus mencapai dan memberikan suatu hasil.

6 Setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan dalam protokol.

7 Setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya.

8 Protokol tidak boleh menimbulkan kerancuan (ambigu) dan tidak boleh timbul kesalahpahaman.

9 Protokol harus lengkap, harus terdapat aksi yang spesifik untuk setiap kemungkinan situasi.

Kriptografi

Kriptografi menurut Schneier (1996) adalah seni dan ilmu untuk menjaga keamanan pesan. Beberapa istilah menurut Kurniawan (2008) 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 dari

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

Gambar 1 Enkripsi dan Dekripsi.

Kunci Publik (Public Key)

Kunci Publik (Public Key) adalah kunci yang dirancang sedemikian sehingga kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan pada proses dekripsi (Schneier 1996).

Kunci Simetri (Session Key)

Kunci Simetri (Session Key) adalah kunci yang dirancang sedemikian sehingga kunci yang digunakan untuk enkripsi sama dengan kunci yang digunakan pada proses dekripsi (Schneier 1996).

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 p dan q bilangan prima (rahasia)

Deskripsi sederhana dari algoritme RSA dijelaskan sebagai berikut, diberikan Nilai N, dimana N adalah :

dengan p dan q adalah dua bilangan prima besar dengan ukuran yang sama.

(11)

PENGEMBANGAN SISTEM PENGIRIMAN SUARA

VOTER

MENUJU

CENTRAL TABULATING FACILITIES

(CTF)

MEDRIA KUSUMA DEWI HARDHIENATA

DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

(12)

PENGEMBANGAN SISTEM PENGIRIMAN SUARA

VOTER

MENUJU

CENTRAL TABULATING FACILITIES

(CTF)

MEDRIA KUSUMA DEWI HARDHIENATA

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

(13)

ABSTRACT

MEDRIA KUSUMA DEWI HARDHIENATA.The Development of Voting Result Data Transfer to the Central Tabulating Facilities. Under the direction of SRI NURDIATI and SUGI GURITMAN.

Advances in election voting process nowadays has triggered the application of virtualization technique in several countries. Most studies raised concern about Online Voting which provides cost saving and convinience. The voting system using virtual network technology aims to reduce considerable calculation time as well as necessary human resources. Despite this, Indonesia still performs voting during election manually. Therefore, this research is performed to study the application of small scale Online Voting at the Department of Computer Science, Bogor Agricultural University as well as studying its further possibility for applying this technique in larger scales. Considering the complexity in building a complete secure online election voting process, this research is focused only in developing a system to send vote from voterto Central Tabulating Facilities (CTF) by implementing a modified secure election protocol with Two Central Facilities. It is also conducted to implement earlier research recommendations to make the system more secure as well as how to integrate an election voting system from a single host into multiple hosts by using Java Web Start

Technology.

(14)

Judul :Pengembangan Sistem Pengiriman Suara Voter Menuju Central Tabulating Facilities (CTF) Nama :Medria K.D.Hardhienata

NIM :G64052475

Menyetujui:

Pembimbing I, Pembimbing II,

Dr. Ir. Sri Nurdiati, M.Sc Dr. Sugi Guritman

NIP 19601126 198601 2 001 NIP 19620927 199203 1 004

Mengetahui,

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor

Dr. Drh. Hasim, DEA NIP 19610328 198601 1 002

(15)

RIWAYAT HIDUP

Medria Kusuma Dewi Hardhienata dilahirkan di kota Stuttgart, Jerman Barat, pada tanggal 22 Agustus 1986 dari pasangan Ibu Sri Setyaningsih dan Bapak Soewarto Hardhienata. Pada tahun 2005 penulis lulus dari Sekolah Menengah Atas (SMA) Negeri 1 Bogor dan diterima di Program Studi Ilmu Komputer Institut Pertanian Bogor melalui jalur Seleksi Masuk Penerimaan Mahasiswa (SPMB). Penulis aktif berpartisipasi dalam National University English Debate Championship yang diselenggarakan pada tanggal 24-26 April 2007 dan berhasil meraih juara Third Runner Up.

(16)

PRAKATA

Rasa syukur penulis ucapkan kepada Allah SWT yang telah memberikan anugerah dan rahmat-Nya hingga proses pembuatan skripsi ini dapat terselesaikan dengan lancar. Skripsi berjudul “Pengembangan Sistem Pengiriman Suara Voter Menuju Central Tabulating Facilities (CTF)” ini berangkat dari sebuah mimpi bahwa suatu saat pemilu di Indonesia dapat terselenggara secara virtual.

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 yang tidak terhingga kepada: 1 Ayah dan Ibu, Soewarto Hardhienata dan Sri Setyaningsih, kedua orang yang menjadi sumber

kekuatan untuk tetap maju dan melangkah. Terimakasih pula penulis ucapkan kepada kakak, Hendradi Hardhienata, yang selalu mengajarkan untuk tidak cepat menyerah dan menyadarkan bahwa mempelajari ilmu pengetahuan dimulai dari mencintai ilmu pengetahuan itu sendiri. Terimakasih pula kepada Faridah Handayasari, kakak perempuan penulis yang telah memotivasi agar dapat menyelesaikan skripsi tepat waktu.

2 Ibu Dr. Ir. Sri Nurdiati, MSc selaku pembimbing pertama yang telah memberi arahan, bimbingan serta motivasi untuk menyelesaikan skripsi ini.

3 Bapak Dr. Sugi Guritman selaku pembimbing kedua yang telah menumbuhkan rasa kecintaan akan ilmu kriptografi dan mencetuskan pemikiran awal untuk mengerjakan penelitian Online Voting.

4 Bapak Irman Hermadi S.Kom, MS selaku pembimbing akademik yang telah membimbing dan menjadi tempat penulis berkonsultasi dan bertanya.

5 Orang-orang yang telah menemani hingga semester demi semester perkuliahan dapat terlewati dan membantu penulis dalam melewati masa-masa sulit, Rizqi Baihaqi Ahmadi, sahabat terbaik yang pernah ada, orang yang mengajarkan untuk tidak pernah menyerah dan terus berjuang serta Rinjani Yusni Maharjanti, sahabat yang selalu menemani di saat-saat pengerjaan skripsi. Tidak lupa penulis ucapkan terimakasih kepada sahabat, Nida, rekan seperjuangan dalam projek Online Voting, Dina, Uud, dan Fajri, serta sahabat-sahabat yang pernah bekerja bersama-sama dalam satu tim hebat Ferdian Faisal, Noviana Putri, Fitri, dan Abie Rafdi. Skripsi ini juga penulis persembahkan untuk sahabat-sahabat program studi Ilmu Komputer Angkatan 42, Mirna, Lena, Adet, Prita, Nila, Huda, Indra, Ijun, Nano, Regi, organisasi yang telah membesarkan penulis, Komunitas Film FOKERZ dan HIMALKOM, serta sahabat-sahabat yang tidak bisa penulis sebutkan satu persatu, terimakasih atas segalanya.

6 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. Terimakasih juga penulis ucapkan kepada segenap staf administrasi dan perpustakaan Departemen Ilmu Komputer yang telah membantu hingga skripsi ini dapat terselesaikan. Terimakasih 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, Agustus 2009

(17)

iv DAFTAR ISI

Halaman

DAFTAR GAMBAR ... v 

DAFTAR LAMPIRAN ... v 

PENDAHULUAN ... 6 

Latar Belakang ... 6 

Tujuan ... 6 

Ruang Lingkup ... 6 

TINJAUAN PUSTAKA ... 2 

Protokol ... 2 

Kriptografi ... 2 

Kunci Publik (Public Key) ... 2 

Kunci Simetri (Session Key) ... 2 

Algoritme RSA ... 2 

Secure Hash Algorithm (SHA)-1 ... 3 

Jaringan Feistel ... 3 

Blowfish ... 3 

Nonce ... 5 

Java Web Start ... 5 

Certificate Authority (CA) ... 5 

Central Legitimization Agency (CLA) ... 5 

Central Tabulating Facilities (CTF) ... 5 

METODE PENELITIAN ... 6 

Ancaman (Threats) ... 6 

Kebijakan (Policy) ... 6 

Spesifikasi (Specification) ... 6 

Perancangan (Design) ... 6 

Implementasi (Implementation) ... 7 

Pengujian (Testing) ... 7 

HASIL DAN PEMBAHASAN ... 8 

Ancaman (Threats) ... 8 

Kebijakan (Policy) ... 8 

Spesifikasi (Specification) ... 9 

Perancangan (Design) ... 9 

Perancangan Sistem Secara Umum ... 9 

Perancangan Pengembangan Sistem ... 11 

Implementasi ... 13 

Pengujian ... 17 

KESIMPULAN DAN SARAN ... 19 

Kesimpulan ... 19 

Saran ... 19 

DAFTAR PUSTAKA ... 20 

(18)

v DAFTAR GAMBAR

Halaman

1 Enkripsi dan Dekripsi ... 2 

2 Jaringan Feistel ... 3 

3 Fungsi f Blowfish ... 4 

4 Blowfish ... 4 

5 TheSecurity Life Cycle ... 6 

6 Proses Komunikasi Voter – CTF untuk Fungsionalitas Permintaan Kandidat ... 10 

7 Proses Komunikasi Voter – CTF untuk Fungsionalitas Permintaan Melakukan Pemilihan (vote) . 10  8 Proses Komunikasi Voter – CTF untuk Fungsionalitas Melakukan Verifikasi Pilihan ... 11 

9 Jaringan Wireless Online Voting dengan Topologi Infrastruktur ... 12 

10 Diagram Alir Pengiriman dan Penerimaan Kunci Simetri Voter ... 12 

11 Diagram Alir Pengiriman dan Penerimaan Kunci Simetri CTF ... 13 

12 Pengaturan Java Web Start pada project properties window menu Run ... 13 

13 Pengaturan Java Web Start pada project properties window menu Application Web Start ... 14 

14 Situs IPB Online Voting Centre (Bagian 1) ... 14 

15 Situs IPB Online Voting Centre (Bagian 2) ... 14 

16 Tampilan Antamuka Online Voting ... 14 

17 Berkas launch.jnlp untuk memunculkan aplikasi Online Voting ... 14 

DAFTAR LAMPIRAN Halaman 1 Implementasi GenerateRandomKeys.java ... 22 

2 Implementasi Voter.java untuk Fungsi do_CTF ... 28

3 Implementasi CTF.java untuk Fungsi Main ... 35 

4 Black Box Testing ... 40 

(19)

vi PENDAHULUAN

Latar Belakang

Pemilihan Umum (Pemilu) merupakan suatu kegiatan yang lazim dilakukan di berbagai negara untuk memilih kandidat yang akan menempati jabatan politik tertentu. Kegiatan ini dilakukan tidak hanya dalam skala nasional, pada lingkungan yang lebih khusus seperti kampus misalnya kegiatan ini pun sering kali dilakukan untuk melakukan pemilu berskala kecil seperti pemilihan rektor, dekan, maupun berbagai ketua badan kegiatan mahasiswa. Seiring dengan kemajuan teknologi, proses pemunggutan suara dalam pemilu di negara-negara maju kini mulai berkembang ke arah virtualisasi. Pemilu untuk memilih presiden Amerika Serikat pada bulan November 2008 lalu pun telah berhasil diselenggarakan dengan penghitungan electoral vote yang sangat cepat berkat bantuan teknologi maju. Hanya dalam hitungan jam hasil pemungutan suara dari seluruh negara bagian negara ini dapat diketahui oleh seluruh dunia.

Di Indonesia sendiri pemilu umumnya masih dilakukan dengan cara konvensional. Pemilihan dilakukan melalui pencontrengan pada kartu pemilih serta identifikasi pemilih secara manual. Tidak jarang kegiatan ini menghabiskan waktu yang cukup lama dalam penghitungan suara akhir. Peluang dalam melakukan kecurangan dalam pemilu yang diselenggarakan secara konvensional pun kadang tidak dapat dihindari.

Pada tahun 2001, Dan DuFeu dan Jon Harris (2001) melakukan penelitian dengan mendeskripsikan bagaimana online election system bekerja. Penelitian ini mengimplementasikan pembangunan Central Legitimization Agency (CLA) dan Central Tabulating Facilities (CTF) untuk menerapkan pemilu yang aman. Selanjutnya beberapa penelitian mengenai topik serupa kian terbuka lebar. Pada tahun 2005, Sireesha, Janga dan So-In Chakchai (2005) melakukan penelitian dengan memodifikasi protokol secure election dengan Two Central Facilities. Dengan lahirnya berbagai penelitian dalam bidang election system, penelitian ini diharapkan dapat terus menyempurnakan sistem online voting yang telah ada.

Dengan kemajuan jaringan teknologi dan teknik kriptografi saat ini penyelenggaraan pemilihan kandidat dengan cara virtual khususnya dalam lingkup kampus di Indonesia

bukanlah hal yang mustahil dilakukan. Meski demikian, pemilihan suara dengan komputerisasi hanya dapat dilakukan jika protokol menjamin bahwa privasi individu dapat dilindungi dan berbagai bentuk kecurangan dengan teknologi ini dapat dicegah. Hal inilah yang mendorong adanya keinginan untuk terus menyempurnakan serta mengembangkan sebuah protokol keamanan virtual dengan protokol Two Central Facilities. Protokol ini dipilih karena termasuk sebagai 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).

Tujuan

Terdapat dua tujuan utama dari penelitian ini. Pertama, penelitian dilakukan untuk mengembangkan sistem pengiriman suara dari

voter menuju Central Tabulating Facilities

(CTF) dengan protokol Two Central Facilities

yang telah ada serta penyempurnaan beberapa kekurangan pada protokol sesuai rekomendasi dari penelitian sebelumnya. Kedua, penelitian dilakukan untuk membuat model simulasi guna melihat apakah sistem ini dimungkinkan untuk diimplementasikan pada pemilu yang diadakan di lingkungan kampus Institut Pertanian Bogor (IPB).

Ruang Lingkup

(20)

2 TINJAUAN PUSTAKA

Protokol

Suatu protokol menurut Schneier (1996) adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang agar dapat menyelesaikan suatu tugas.

Protokol memiliki berbagai karakteristik seperti :

1 Protokol memiliki urutan dari awal hingga akhir.

2 Setiap langkah harus dilaksanakan secara bergilir.

3 Suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai dilakukan.

4 Diperlukan dua pihak atau lebih untuk melaksanakan protokol.

5 Protokol harus mencapai dan memberikan suatu hasil.

6 Setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan dalam protokol.

7 Setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya.

8 Protokol tidak boleh menimbulkan kerancuan (ambigu) dan tidak boleh timbul kesalahpahaman.

9 Protokol harus lengkap, harus terdapat aksi yang spesifik untuk setiap kemungkinan situasi.

Kriptografi

Kriptografi menurut Schneier (1996) adalah seni dan ilmu untuk menjaga keamanan pesan. Beberapa istilah menurut Kurniawan (2008) 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 dari

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

Gambar 1 Enkripsi dan Dekripsi.

Kunci Publik (Public Key)

Kunci Publik (Public Key) adalah kunci yang dirancang sedemikian sehingga kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan pada proses dekripsi (Schneier 1996).

Kunci Simetri (Session Key)

Kunci Simetri (Session Key) adalah kunci yang dirancang sedemikian sehingga kunci yang digunakan untuk enkripsi sama dengan kunci yang digunakan pada proses dekripsi (Schneier 1996).

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 p dan q bilangan prima (rahasia)

Deskripsi sederhana dari algoritme RSA dijelaskan sebagai berikut, diberikan Nilai N, dimana N adalah :

dengan p dan q adalah dua bilangan prima besar dengan ukuran yang sama.

(21)

3 Diberikan nilai e dan d dengan ketentuan

sebagai berikut :

N adalah RSA modulus, e adalah encryption exponent, dan d adalah decryption exponent. (N,e) adalah kunci publik yang digunakan untuk enkripsi pesan. (N,d) adalah 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 dengan

Cd= Med= M (mod N) (Boneh 1999).

Secure Hash Algorithm (SHA)-1

SHA adalah fungsi hash satu-arah yang dibuat oleh NIST. Fungsi hash SHA yang paling umum digunakan adalah SHA-1 yang telah diimplementasikan di dalam berbagai aplikasi dan protokol keamanan. SHA-1 menerima masukan berupa pesan dengan ukuran maksimum 64 bit dan menghasilkan message digest yang panjangnya 160 bit, lebih panjang dari message digest yang dihasilkan oleh MD5 yang hanya 128 bit.

Langkah-langkah pembuatan message digest

dengan SHA-1 secara garis besar adalah sebagai berikut:

1 Penambahan bit-bit pengganjal (padding bits).

2 Penambahan nilai panjang pesan semula. 3 Inisialisasi penyangga (buffer) MD.

4 Pengolahan pesan dalam blok berukuran 512 bit.

(Munir 2006). Jaringan Feistel

Hampir semua algoritme cipher blok bekerja dalam model jaringan Feistel. Jaringan Feistel

ditemukan oleh Horst Feistel tahun 1970. Model jaringan Feistel adalah sebagai berikut:

1 Bagi blok yang panjangnya n bit menjadi dua bagian, kiri (L) dan kanan (R), yang masing-masing panjangnya n/2 (hal ini mensyaratkan n harus genap).

2 Definisikan cipher blok berulang dimana hasil dari putaran ke-i ditentukan dari hasil putaran sebelumnya (lihat Gambar 2), yaitu :

Li = Ri+1 terdapat fungsi substitusi, permutasi, dan/atau ekspansi, kompresi) (Munir 2006).

Gambar 2 Jaringan Feistel. Blowfish

Blowfish merupakan blok cipher 64-bit dengan panjang kunci variabel. Algoritme ini terdiri dari dua bagian: ekspansi kunci dan enkripsi data. Ekspansi kunci mengubah kunci yang dapat mencapai 448 bit menjadi beberapa

array subkunci (subkey) dengan total 4168 byte.

Blowfish dikembangkan untuk memenuhi kriteria perancangan sebagai berikut:

a) Cepat, pada implementasi yang optimal

Blowfish dapat mencapai kecepatan 26 clock cycle per-byte.

b) Kompak, Blowfish dapat berjalan pada memori kurang dari 5 KB.

c) Sederhana, Blowfish hanya menggunakan operasi yang sederhana: penambahan (addition), XOR, dan penelusuran tabel (table lookup) pada operand 32 bit. Rancangannya mudah untuk dianalisis yang membuatnya resisten terhadap kesalahan implementasi.

d) Keamanan yang variabel, panjang kunci

Blowfish dapat bervariasi dan dapat mencapai 448 bit (56 byte).

Enkripsi data terdiri dari iterasi fungsi sederhana sebanyak 16 kali. Setiap putaran terdiri atas permutasi kunci-dependent dan substitusi kunci- dan data-dependent. Semua operasi adalah penambahan dan XOR pada variable 32-bit. Tambahan operasi lainnya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran.

(22)

4

Blowfish menggunakan subkunci yang besar. Kunci ini harus dihitung sebelum enkripsi atau dekripsi data. Array P terdiri dari delapan belas 32-bit subkunci:

P1,P2, . . . ,P18

Empat 32-bit S-box masing-masing mempunyai 256 entri:

S1,0, S1,1, . . . , S1,255 S2,0, S2,1, . . . , S2,255 S3,0, S3,1, . . . , S3,255 S4,0, S4,1, . . . , S4,255

Metode selengkapnya untuk menghitung subkunci ini akan dijelaskan pada bagian di bawah ini. Blowfish merupakan algoritme yang menerapkan jaringan Feistel (Feistel network) yang terdiri atas 16 putaran. Input merupakan elemen 64 bit, X. Untuk memulai enkripsi :

Kombinasikan kembali XL dan XR

Fungsi F adalah sebagai berikut:

Bagi XL, menjadi empat bagian 8-bit: a, b,

Proses fungsi f dan enkripsi Blowfish dapat dilihat pada Gambar 3 dan 4.

Dekripsi sama persis dengan enkripsi, kecuali P1, P2, . . . , P18 digunakan pada urutan yang terbalik. Subkunci dihitung menggunakan algoritme Blowfish sebagai berikut:

1 Pertama-tama inisialisasi P-array dan kemudian empat S-box secara berurutan dengan string yang tetap. String ini terdiri digit heksadesimal dari pi.

2 XOR P1 dengan 32 bit pertama kunci, XOR P2 dengan 32 bit kedua dari kunci dan seterusnya untuk setiap bit dari kunci (sampai P18). Ulangi terhadap bit kunci sampai seluruh P-array di XOR dengan bit kunci.

3 Lakukan enkripsi pada semua string nol dengan algoritme Blowfish dengan menggunakan subkunci seperti dijelaskan pada langkah (1) dan (2).

4 Ganti P1 dan P2 dengan keluaran dari langkah (3)

5 Lakukan enkripsi pada keluaran dari langkah (3) dengan algoritme Blowfish

dengan subkunci yang sudah dimodifikasi. 6 Ganti P3 dan P4 dengan keluaran dari

langkah (5).

7 Lanjutkan proses tersebut, ganti seluruh elemen dari P-array, dan kemudian seluruh keempat S-box berurutan, dengan keluaran yang berubah secara kontinyu dari algoritme

Blowfish. (Schneier 1996).

Gambar 3 Fungsi f Blowfish.

(23)

5 Nonce

Dalam bidang teknik keamanan, Nonce merupakan kepanjangan dari number used once

(nomor yang digunakan hanya sekali). Umumnya bilangan ini berupa bilangan acak atau semi-acak yang digunakan dalam protokol otentikasi untuk memastikan bahwa komunikasi lama tidak dapat digunakan ulang dalam serangan balasan (replay attacks) (Ross 2001). Java Web Start

Java Web Start menyediakan kekuatan dalam menampilkan fitur lengkap aplikasi Java dalam satu kali klik. Pengguna dapat mengunduh dan menampilkan aplikasi, seperti tampilan program yang lengkap atau komunikasi klien dalam internet tanpa prosedur instalasi yang rumit. Sekali pengguna mengakses Java Web Start, aplikasi akan terintegrasi dengan desktop pengguna. Sebagai tambahan Java Web Start juga dapat melayani pengguna dengan mengatur versi Java Runtime Environment dan secara otomatis melakukan

update versi aplikasi (Sun Microsystem 2005). Certificate Authority (CA)

Fungsi Utama dari Certificate Authority

(CA) adalah menghasilkan, memublikasikan, dan menghapus certificate public key dari user identity, bisa personal maupun lembaga. Contoh CA, yaitu verisign (Kurniawan 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 otentikasi dan otorisasi pemilih. Setiap pemilih akan mengirim sebuah pesan aman kepada CLA untuk meminta sebuah ValidationID. CLA akan membangkitkan ValidationID, mendaftarkannya secara aman kepada Central Tabulating Facilities, dan mengembalikannya secara aman kepada pemilih. ValidationID bernilai kompleks sehingga secara komputasi tidak dimungkinkan seorang penyerang untuk memproduksi sebuah ID yang valid. CLA memiliki daftar sejumlah

ValidationID yang valid serta daftar identifikasi pemilih dari setiap ValidationID untuk mencegah seseorang memiliki lebih dari satu

ValidationID (Dan DuFeu and Jon 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) Mengizinkan pengguna untuk meminta sertifikasi daftar kandidat.

b) Menerima secure Validation ID yang telah disertifikasi dan ditandatangani dari CLA. c) Menerima permintaan secure vote dari

pemilih yang berwenang (dengan Validation ID).

d) Secara aman mengembalikan nama kandidat terpilih sebagai verifikasi atas permintaan pemilih.

e) Mengizinkan pemilih untuk meminta sertifikasi hasil pemilihan.

Dalam rangka otorisasi pemilih, CTF melakukan pengecekan ValidationID dengan daftar yang diterima dari CLA. Jika

(24)

6 METODE PENELITIAN

Penelitian ini dikembangkan dengan metode

Security Life Cycle. Berdasarkan Bishop (2003) 6 tahap utama yang diterapkan dalam

Security Life Cycle di antaranya: (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 5. Oleh karena keterbatasan waktu, penelitian ini difokuskan dari tahap (1) hingga (5) serta disempurnakan dengan tahap pengujian.

Gambar 5 The Security Life Cycle. Ancaman (Threats)

Sebuah ancaman (threats) adalah kekerasan potensial dalam suatu sistem keamanan. Di dalam konteks pemilu, terdapat banyak sekali serangan yang mengancam pertukaran informasi yang terkirim dan diterima oleh voter dan server. Peran kriptografi sangat dibutuhkan untuk melindungi sistem pemilu, termasuk pada saat suara voter dikirim kepada CTF. Oleh karenanya, sistem pemilu yang akan dibangun harus dipersiapkan agar mampu melindungi sistem dari ancaman-ancaman yang mungkin terjadi. Dalam penelitian ini berbagai ancaman yang dapat timbul pada saat suara

voter dikirim menuju CTF akan dianalisis dalam 4 kelas besar 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.

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 requirementsecure voting yang ditulis dalam buku karangan Schneier (1996).

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. Pada konteks penelitian kali ini spesifikasi yang digunakan adalah spesifikasi informal 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 pengiriman suara

voter menuju CTF mencakup perancangan pengembangan sistem komunikasi antara voter

dan CTF dari mulai perancangan proses pengiriman kunci agar lebih aman hingga proses pengiriman suara voter menuju CTF.

(25)

7 pada penelitian ini dapat dibagi menjadi dua

bagian yakni :

1 perancangan Online Voting dengan Java Web Start , dan

2 perancangan pengiriman kunci simetri. Implementasi (Implementation)

Pada tahap ini hasil analisis dan perancangan akan diimplementasikan menjadi sistem dengan lingkungan implementasi sebagai berikut:

a) Platform: Java 1.4 (Platform independent & inbuilt security features)

b) GUI: Java Swing

c) RSA (2048 bits): Enkripsi kunci publik d) Blowfish (56 bits): Enkripsi kunci simetri e) SHA-1 (160 bits): signature/Hashing

f) Nonce and Nonce+1: untuk mengembalikan pesan.

g) CA : Transmisi kunci publik secara aman.

Pengujian (Testing)

Tahap Pengujian dilakukan untuk menguji apakah sistem yang dibangun memberi hasil keluaran seperti yang diharapkan. Pengujian pada penelitian ini dilakukan dengan metode

(26)

8 HASIL DAN PEMBAHASAN

Ancaman (Threats)

Seiring dengan kemajuan teknologi komunikasi saat ini, ancaman terhadap pengiriman data yang bersifat rahasia seperti hasil pilihan voter menuju CTF menjadi hal yang sangat penting untuk diperhatikan dalam pembangunan sistem Online Voting. Keamanan komunikasi antara voter dan CTF sangat diperlukan untuk menjaga tingkat kepercayaan

voter kepada instansi atau lembaga yang menyelenggarakan pemilu. Oleh karena itu pembangunan sistem IPB Online Voting harus dimulai dari analisis mengenai berbagai ancaman yang mungkin menyerang sistem komunikasi data.

Salah satu bagian yang akan dikembangkan dalam sistem IPB Online Voting adalah pengamanan pengiriman kunci simetri. Kunci ini digunakan sebagai media pengaman komunikasi antara voter dan CTF saat pengiriman daftar kandidat, hasil pilihan voter

maupun hasil verifikasi suara dilakukan. Oleh karenanya, berbagai ancaman yang akan dianalisis dalam penelitian ini difokuskan pada penanggulangan ancaman yang dapat menyerang pengiriman kunci simetri dari voter

menuju CTF. Berbagai ancaman yang dapat timbul saat proses pengiriman kunci simetri berlangsung diantaranya:

a) Pengintaian (snooping), yakni penahanan informasi oleh pihak yang tidak berwenang. Secara sederhana ancaman ini dapat didefinisikan bahwa terdapat suatu entitas yang tidak memiliki otoritas ikut mendengar atau membaca komunikasi sistem informasi yang bersifat rahasia. Dalam konteks pengamanan pengiriman kunci simetri, ancaman ini berarti bahwa terdapat entitas yang tidak berwenang dan berhasil mendengar komunikasi pengiriman kunci simetri dari voter menuju CTF. Ancaman jenis ini tergolong ke dalam kelas

disclosure. Snooping merupakan salah satu contoh serangan pasif dimana penyerang tidak terlibat langsung dalam komunikasi antara voter dan CTF, namun menyadap pertukaran pesan antara kedua entitas. Tujuan penyerangan ini adalah untuk mendapatkan informasi yang dapat digunakan oleh kriptanalis. Ancaman

snooping dapat diatasi menggunakan layanan keamanan pesan kerahasiaan (confidentiality).

b) Modifikasi atau pengubahan (modification oralternation) yakni pengubahan informasi yang dilakukan oleh pihak penyerang. Jika kunci simetri yang dibangkitkan oleh voter

telah diubah, maka CTF akan menerima kiriman kunci simetri berbeda yang dianggap benar oleh CTF. Ancaman ini pada akhirnya mengarah ke dalam kelas

deception. Ancaman modifikasi yang mungkin terjadi dalam pengiriman suara

voter menuju CTF di antaranya kunci simertri yang dikirimkan oleh pemilih telah diubah oleh penyerang saat kunci dikirimkan kepada CTF. Hal ini menyebabkan komunikasi antara voter dan CTF 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 (masquering) yakni 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 pemilih akan mengirimkan kunci simetri kepada CTF untuk melakukan komunikasi, pihak yang menerima kunci tersebut bukanlah CTF melainkan server lain yang mengaku sebagai CTF. Untuk menangani ancaman ini konsep otentifikasi (authentication) dapat digunakan untuk mencegah serangan ini.

Masquerading termasuk ancaman dalam kelas deception dan usurpation.

Kebijakan (Policy)

Kebijakan yang diterapkan dalam membangun IPB Online Voting mengacu pada buku Schneier (1996) mengenai syarat-syarat penyelenggaraan sistem pemilihan umum yang aman. Menurut Scheneier secure voting yang dibangun secara komputerisasi akan digunakan jika terdapat protokol yang menjamin :

1 privasi individu, dan

(27)

9 Suatu protokol yang ideal harus memiliki 6

persyaratan sebagai berikut :

1 Hanya pemilih yang berhak yang dapat memberikan suara (otentifikasi);

2 Tidak boleh memberikan lebih dari satu suara;

3 Tidak boleh menentukan orang lain harus memilih untuk siapa;

4 Tidak ada yang bisa menduplikasi suara orang lain;

5 Tidak boleh mengubah pilihan orang lain; 6 Setiap pemilih dapat memastikan bahwa

suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir.

Spesifikasi (Specification)

Secara Umum sistem pengiriman suara voter

menuju CTF yang dibangun dapat memenuhi spesifikasi umum sebagai berikut:

• Hanya pemilih yang berhak yang dapat memberikan suara (otentifikasi).

o Terdapat validationID yang acak dan unik untuk setiap voter.

o Secara komputasional infeasible untuk seorang penyerang untuk menebak pasangan kunci dan validationID yang

valid.

o Hanya CTF yang dapat memasukkan hasil pilihan.

• Tidak boleh menentukan orang lain harus memilih untuk siapa.

o Semua transaksi aman dan

ditandatangani untuk mencegah orang lain menangkap pesan.

• Tidak boleh memberikan lebih dari satu suara.

o Jika voter telah melakukan pemilihan dan kembali melakukan pemilihan maka CTF akan mengembalikan pesan “Telah terjadi duplikasi Suara”. CTF tidak mengetahui ID validasi voter namun hanya nilai Hash yang dihasilkan oleh ID validasi tersebut. Hal ini menyebabkan CTF dapat mengetahui jika terjadi duplikasi.

• Tidak ada yang bisa menduplikasi suara orang lain.

o Diasumsikan bahwa terdapat saluran aman lain untuk mengirim ID pengguna dan password secara langsung untuk setiap voter, sehingga orang lain selain voter yang dimaksud tidak dapat mengetahui

password voter lain.

• Tidak boleh mengubah pilihan orang lain

o Diberikan ID validasi yang unik dan aman sehingga orang lain tidak dapat mengganti pilihan voter lain termasuk CTF.

• Setiap pemilih dapat memastikan bahwa suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir.

o Jika seorang voter memasukkan pilihan, CTF akan menghitung kandidat yang telah dipilih oleh voter

dan mengembalikan hasil penghitungan sementara. Hal ini menyebabkan voter dapat memastikan bahwa pilihannya benar telah dihitung oleh CTF.

Secara khusus spesifikasi tambahan yang dikembangkan dalam penelitian ini adalah bahwa sistem menjamin agar voter dapat melakukan komunikasi secara lebih aman dengan CTF karena kunci simetri kini telah dilengkapi dengan penghitungan Nonce untuk menghindari serangan balasan (replay attack)

dan nilai Hash untuk menjamin integritas pesan. Perancangan (Design)

Perancangan sistem Online Voting terbagi menjadi dua bagian yakni perancangan sistem secara umum dan khusus. Perancangan secara umum membahas keseluruhan komunikasi yang dilakukan antara voter dengan CTF, sedangkan perancangan secara khusus difokuskan untuk membahas secara lebih rinci mengenai pengembangan sistem.

Perancangan Sistem Secara Umum

Secara umum CTF melayani 3 fungsionalitas agar dapat berkomunikasi dengan

voter yakni permintaan daftar kandidat (Request Candidate), melakukan voting (Vote), dan melihat dan memverifikasi hasil yang sudah dipilih (Request My Vote).

Proses permintaan daftar kandidat (Request Candidate) dari voter menuju CTF dilakukan melalui langkah-langkah sebagai berikut: 1 Voter meminta daftar kandidat dari CTF. 2 CTF mengirimkan kunci publik CTF

(kunci publik RSA) dan sertifikat.

3 Voter membaca kunci publik CTF dan memverifikasi sertifikat dengan kunci publik CA.

4 Voter membangkitkan kunci simetri

Blowfish.

(28)

10 6 Voter mengirimkan permintaan Daftar

Kandidat kepada CTF dengan symmetric cipher.

7 CTF mendekripsi kunci simetri dengan kunci privat RSA dan mendekripsi pesan dengan kunci simetri.

8 Dengan kunci simetri CTF mengenkripsi daftar kandidat dan mengirimkan kepada

voter.

9 CTF menandatangani daftar kandidat dan mengirimkannya kepada voter.

10 Voter mendekripsi daftar kandidat dan memverifikasi tanda tangan CTF.

Proses komunikasi antara voter dengan CTF untuk fungsionalitas permintaan kandidat dapat dilihat pada Gambar 6.

Gambar 6 Proses Komunikasi Voter – CTF untuk Fungsionalitas Permintaan Kandidat.

Fungsionalitas kedua yang dilayani oleh CTF adalah permintaan voter untuk melakukan pemilihan (vote). Langkah-langkah komunikasi yang dilakukan untuk memenuhi fungsionalitas yang kedua adalah:

1 Voter meminta untuk melakukan pemilihan (voting).

2 CTF mengirimkan kunci publik RSA bersama sertifikat.

3 Voter membaca kunci publik RSA dan memverifikasi sertifikat dengan kunci publik RSA dan memverifikasi sertifikat dengan kunci publik CA.

4 Voter membangkitkan kunci simetri

Blowfish.

5 Voter mengenkripsi kunci simetri tersebut dengan kunci publik CTF dan mengirimkannya kepada CTF.

6 Voter mengirimkan pesan yang terdiri dari VOTE, validationID, kandidat CTF menggunakan symmetric cipher.

7 CTF mendekripsi kunci simetri dengan kunci publik RSA, dan mendekripsi pesan dengan kunci simetri.

8 CTF melakukan pemeriksaan apakah

validationID valid. Jika ya, maka suara dihitung dan dimasukkan ke dalam kotak suara.

9 CTF mengirimkan konfirmasi kandidat kepada voter.

10 Menggunakan kunci simetri CTF

mengirimkan pesan kepada voter

pernyataan “OK” dan menandatanganinya. 11 Voter mendekripsi pesan dengan kunci

publik dan memverifikasi sertifikat. Proses komunikasi antara voter dengan CTF untuk fungsionalitas melakukan pemilihan (vote) dapat dilihat pada Gambar 7.

Voter CTF

1. Permintaan Melakukan Pemilihan(Vote)

2. Kunci publik RSA bersama sertifikat

Membaca kunci publik CTF dan menverifikasi

3. Kunci Simetri Blowfish di enkripsi dengan kunci

publik CTF

4. Voter mengirimkan pesan yang terdiri dari VOTE, ID

validasi, kandidat CTF menggunakan symmetric

cipher

CTF mendekripsi kunci simetri dengan kunci privat RSA dan mendekripsi pesan

dengan kunci simetri

CTF melakukan pemeriksaan apakah ID validasi

valid. Jika ya, maka suara dihitung dan dimasukkan ke dalam kotak suara. 5. Pesan pernyataan “OK”

dan tanda tangan CTF yang telah dienkripsi dengan kunci

simetri untuk Fungsionalitas Permintaan Melakukan

Pemilihan (vote).

(29)

11 komunikasi yang dilakukan untuk memenuhi

fungsionalitas yang ketiga adalah:

1 Voter meminta untuk melakukan verifikasi terhadap pilihannya.

2 CTF mengirimkan kunci publik RSA bersama sertifikat.

3 Voter membaca kunci publik RSA dan memverifikasi sertifikat dengan kunci publik RSA dan memverifikasi sertifikat dengan kunci publik CA.

4 Voter membangkitkan kunci simetri

Blowfish.

5 Voter mengenkripsi kunci simetri tersebut dengan kunci publik CTF dan mengirimkannya kepada CTF.

6 Voter mengirimkan pesan meminta hasil menggunakan symmetric cipher.

7 CTF mendekripsi kunci simetri dengan kunci publik RSA dan mendekripsi pesan dengan kunci simetri.

8 Menggunakan kunci simetri CTF,

mengenkripsi hasil voting kepada voter. 9 Voter mendekripsi hasil pemilihan dengan

kunci publik dan memverifikasi tanda tangan.

Proses komunikasi antara voter dengan CTF untuk fungsionalitas verifikasi hasil pilihan dapat dilihat pada Gambar 8.

Gambar 8 Proses Komunikasi Voter – CTF untuk Fungsionalitas Melakukan Verifikasi

Pilihan.

Area pengembangan sistem selanjutnya dilakukan pada proses nomor tiga dari Gambar 6, 7, dan 8. Untuk memperjelas ruang lingkup pengembangan sistem maka penulisan proses nomor tiga diberi warna merah dan terletak di dalam lingkaran bergaris putus-putus untuk membedakan dengan proses lainnya.

Perancangan Pengembangan Sistem

1 Perancangan Online Voting dengan Java Web Start

Pemilu Online Voting dirancang dengan model topologi infrastruktur dimana komunikasi antara voter, CLA, dan CTF dijembatani oleh wireless acces point. Gambar 9 menunjukkan rancangan topologi pemilu

online. Sistem Online Voting dirancang dengan mengadopsi cara kerja protokol Two Central Facilities. Oleh karenanya perancangan Java Web Start dimulai dengan memisahkan CLA dan CTF ke dalam dua server yang berbeda. Selanjutnya dilakukan pendistribusian kunci-kunci antara voter, CLA dan CTF. Pada penelitian sebelumnya program Online Voting

diimplementasikan untuk single host sehingga kunci-kunci milik voter, CLA, dan CTF berada pada satu berkas yang sama. Pada penelitian ini program Online Voting dikembangkan agar dapat diimplementasikan menjadi multiple host. Agar dapat mempermudah voter dalam menjalankan program ini, dilakukan konversi dari aplikasi berbasis desktop menjadi basis web

dengan teknologi Java Web Start. CLA yang berfungsi untuk memverifikasi voter bertindak sebagai server pertama sehingga berkas aplikasi pemilu online yang harus diunduh oleh voter

(30)

12

Gambar 9 Jaringan Wireless Online Voting

dengan Topologi Infrastruktur.

2 Perancangan pengiriman kunci simetri Program Online Voting yang dibangun oleh Sireesha, Janga dan So-In Chakchai pada

awalnya dirancang dengan mengimplementasikan 1024 RSA sehingga

enkripsi dilakukan hanya terhadap kunci simetri. Penelitian ini dirancang agar dapat menambah faktor keamanan sistem sehingga sistem yang baru kini menggunakan 2048 RSA. Dengan peningkatan ini, nilai Nonce dan SHA-1

dapat dikombinasikan bersama dengan kunci simetri agar proses pengiriman kunci menjadi lebih aman.

Hasil perancangan pengiriman kunci simetri dari voter menuju CTF dijelaskan sebagai berikut:

1 Inisialisasi key generator dilakukan dari 1024 menjadi 2048 RSA.

2 Voter membangkitkan kunci simetri dengan algoritme Blowfish.

3 Kunci simetri dikirim melalui 2 paket : a) Paket yang pertama berisi kunci simetri

yang kemudian dienkripsi dan dikirimkan dari voter menuju CTF. b) Paket kedua berisi kunci simetri yang

digabungkan dengan nilai Nonce dan nilai Hash dari kombinasi kunci simetri dan Nonce.

4 Kunci simetri pada paket pertama kemudian dienkripsi dengan algoritme RSA dan dikirimkan ke CTF.

5 Untuk memperkuat faktor keamanan pengiriman kunci voter mengirimkan paket kedua kepada CTF.

6 Selanjutnya jika semua proses verifikasi berhasil dilewati, voter akan menerima

balasan paket dari CTF berupa pesan, nilai

Hash, dan Nonce Balasan.

7 Voter akan melakukan pemeriksaan nilai

Hash.

8 Jika Nilai Hash valid maka pemeriksaan dilanjutkan dengan memeriksa nilai Nonce.

Diagram alir pengiriman dan penerimaan kunci simetri oleh voter dapat dilihat pada Gambar 10.

Mulai

Membangkitkan objek 

pasangan kunci simetri 

dengan algoritme Blowfish

Kunci Simetri dan Nonce

Kunci Simetri +

Nonce

Mencari nilai Hash dari Kunci Mengirim Cipher

Text (1) ke CTF Menerima Pesan 1 yang dienkripsi dengan Kunci

Gambar 10 Diagram Alir Pengiriman dan Penerimaan Kunci Simetri Voter.

Hasil perancangan pengiriman kunci simetri dari CTF menuju voter dijelaskan sebagai berikut:

1 CTF mendapatkan kiriman paket pertama dari voter.

(31)

13 3 CTF kemudian menerima paket kedua dari

voter.

4 CTF mendekripsi paket kedua dan mendapatkan pesan nilai Nonce dan Hash

dari kunci simetri yang dikirim pada paket pertama.

5 CTF memeriksa nilai Hash yang dikirimkan. Jika nilai Hash tidak valid

maka sistem dihentikan. Jika valid, maka CTF melakukan pemeriksaan terhadap nilai Nonce.

6 Jika nilai Nonce tidak valid maka sistem dihentikan, jika nilai Nonce valid maka CTF akan mengirimkan Nonce balasan ke

voter. Nilai Nonce balasan dienkripsi dan dikirimkan bersama dengan pesan konfirmasi CTF serta nilai Hash dari pesan. Diagram alir pengiriman dan penerimaan kunci simetri oleh CTF dapat dilihat pada Gambar 11.

Gambar 11 Diagram Alir Pengiriman dan Penerimaan Kunci Simetri CTF. Implementasi

1. Implementasi Online Voting dengan Java Web Start

Perubahan aplikasi Online Voting dari basis

desktop menjadi basis web diolah dengan menggunakan teknologi Java Web Start dengan Netbeans 6. Pengaturan Java Web Start

dilakukan pada project properties program

Online Voting. Pada window tersebut menu

Run dipilih dan pada field Main Class kelas utama yang dipilih adalah kelas Voter.java. Kelas ini dipilih karena kelas Voter

mengandung semua fungsi utama yang diperlukan oleh voter untuk menjalankan program Online Voting dari komputer voter. Selanjutnya pengaturan konfigurasi diubah menjadi Web Start. Konfigurasi Java Web Start

dapat dilihat pada Gambar 12 dan 13.

Pada saat dilakukan build pada project Online Voting, Java Web Start akan menghasilkan 3 berkas, yakni berkas aplikasi bertipe jar, berkas launch bertipe html, serta berkas launch bertipe jnlp. Berkas aplikasi bertipe jar berisi semua kelas dan berkas lain yang dibutuhkan voter untuk menjalankan aplikasi voting. Berkas-berkas yang dibungkus ke dalam satu berkas bertipe jar di antaranya kelas User Interface.Java,Voter.Java, Voter.private, Voter.public, serta CA Public. Berkas launch bertipe jnlp digunakan untuk memudahkan voter dalam menjalankan program

Online Voting. Dengan berkas ini voter hanya perlu menekan sebuah link dan mendapatkan aplikasi Online Voting berjalan di luar browser. Berkas launch bertipe html tidak diperlukan untuk menjalankan program Online Voting

karena fungsi untuk menjalankan program dari

browser telah diintegrasikan dengan situs IPB

Online Voting. Tampilan antarmuka Situs IPB

Online Voting dapat dilihat pada Gambar 14 dan 15.

Voter dapat menjalankan program Online Voting dengan cara mengunduh Voter.rar dari situs IPB Online Votng. Selanjutnya hasil unduhan diekstrak ke dalam direktori C pada komputer voter. Langkah terakhir dilakukan dengan menjalankan berkas launch.jnlp.

Jika prosedur menjalankan aplikasi Voting

telah dilakukan dengan benar maka tampilan antarmuka Online Voting akan muncul seperti yang terlihat pada Gambar 16. Berkas launch

bertipe .jnlp dapat dilihat pada Gambar 17.

Gambar 12 Pengaturan Java Web Start pada

(32)

14 Gambar 13 Pengaturan Java Web Start pada

project properties window menu Application Web Start.

Gambar 14 Situs IPB Online Voting Centre

(Bagian 1).

Gambar 15 Situs IPB Online Voting Centre

(Bagian 2).

Gambar 16 Tampilan antamuka Online Voting.

<?xml version="1.0" encoding="UTF-8"?>

<jnlp spec="1.0+"

codebase="file:/C:/Voter/ " href="launch.jnlp">

<information>

<title>OnlineVoting</title>

<vendor>Matt</vendor>

<description>OnlineVoting</description>

<description

kind="short">OnlineVoting</description>

<homepage href=""/>

<offline-allowed/>

</information>

<security>

<all-permissions/>

</security>

<resources>

<j2se version="1.5+"/>

<jar href="OnlineVoting.jar" main="true" download="eager"/>

</resources>

<application-desc main-class="Voter">

<argument>localhost</argument>

<argument>localhost</argument>

</application-desc>

</jnlp>

Gambar 17 Berkas launch.jnlp untuk memunculkan aplikasi Online Voting. 2.Implementasi Pengiriman Kunci Simetri

Untuk mengembangkan 1024 RSA menjadi 2048 RSA, hal pertama yang dilakukan adalah membuat inisialisasi pada Kelas GenerateRandomKeys.java. Hasil pemrograman untuk kelas GenerateRandomKeys dapat dilihat pada Lampiran 1.

Selanjutnya untuk memulai komunikasi antara voter dengan CTF, voter membangkirkan kunci simetri dengan algoritme Blowfish seperti yang ditujukkan pada pemrograman berikut :

KeyGenerator kg =

KeyGenerator.getInstance("Blowfish");

SecretKey symmetricKey = kg.generateKey();

(33)

15 Cipher cipher =

Cipher.getInstance("RSA");

Voter selanjutnya mengirimkan algoritme kunci simetri serta panjang kunci simetri kepada CTF. Hal ini diperlukan agar CTF dapat membangun kunci yang sama seperti kunci simetri yang dimiliki voter. Pemrograman untuk membangun kunci simetri dapat dilihat pada coding di bawah ini:

ByteArrayOutputStream keyBytes = new ByteArrayOutputStream();

DataOutputStream keyStream = new

DataOutputStream(keyBytes);

byte [] encodedKey = symmetricKey.getEncoded();

System.out.println("ini isi encoded Key:"+ encodedKey);

Selanjutnya kunci simetri dienkripsi menggunakan algoritme RSA dan dikirimkan menuju CTF dengan pemrograman yang dituliskan di bawah ini :

Setelah paket pertama selesai dikirimkan,

voter mengirimkan paket kedua yang berisi kunci simetri, Nonce serta nilai Hash. Kunci simetri yang dibangkitkan oleh algoritme

Blowfish memiliki tipe data byte. Nilai Nonce kemudian dibangkitkan dan selanjutnya digabungkan dengan kunci simetri dengan pemrograman sebagai berikut :

iNonce3 = nctf.nextInt(maxNonce+1);

AddNonce2=test2+" "+iNonce3;

Untuk menjaga integritas pesan yang nantinya akan dikirimkan ke CTF, maka langkah selanjutnya adalah mencari nilai Hash

dari pesan.

byte [] test3=AddNonce2.getBytes();

byte [] theDigest2=digestIt(test3);

String decode64AddNonce2 = displayBase64(digestIt(theDigest2));

Nilai kunci simetri, Nonce, dan nilai Hash

digabungkan menjadi paket 2 dan kemudian dikirimkan ke CTF:

String inputAddNonce2=AddNonce2+"

Setelah serangkaian proses di atas selesai dilakukan, langkah selanjutnya adalah voter

menunggu kiriman paket balasan dari CTF. Jika verifikasi pada CTF berhasil dilakukan maka

voter akan mendapatkan paket dan mendekripsinya serta melakukan pemeriksaan pada nilai Nonce yang dikirimkan untuk memastikan bahwa benar CTF telah menerima kunci simetri dari voter. Pemrograman untuk langkah ini dituliskan sebagai berikut:

Cipher cipherstream =

Cipher.getInstance("Blowfish");

cipherstream.init(Cipher.DECRYPT_MODE, symmetricKey);

byte[] decryptedKs =

cipherstream.doFinal((byte[])input.readO bject());

System.out.println("5.Voter Client menerima pesan pertama dengan Ks :"+decryptedKs.toString());

decryptedString = new

String(decryptedKs);

int idx = 0; int tokenCount;

String words[] = new String [500];

StringTokenizer st = new

StringTokenizer(decryptedString);

tokenCount = st.countTokens();

while (st.hasMoreTokens()) { words[idx] = st.nextToken(); idx++; }

// check CTF signature

String CheckSHA1 = words[0];

byte [] dataBuffer1 =

CheckSHA1.getBytes();

byte [] theDigest1 =

digestIt(dataBuffer1);

String decode64 =

Gambar

Gambar 1 Enkripsi dan Dekripsi.
Gambar 1 Enkripsi dan Dekripsi.
Gambar 2 Jaringan Feistel.
Gambar 3 Fungsi f Blowfish.
+7

Referensi

Dokumen terkait

• Mewujudkan peningkatan produksi tanaman perkebunan secara berkelanjutan. • Mewujudkan pelayanan prima dan berkualitas dibidang manajemen dan kesekretariatan. • Mewujudkan

Visi Program Studi Teknik Sipil Fakultas Teknik Universitas Santo Thomas Sumatera Utara dirumuskan sesuai dengan kebutuhan stakeholder yang berorientasi pada

Between January 2007 and December 2008, 3635 patients aged ⱖ 45 years in the secondary prevention period of an ischaemic stroke were enrolled in the OPTIC registry from 245 sites in

Analisis laporan keuangan akan memberikan hasil yang terbaik jika digunakan dalam suatu kombinasi untuk menunjukan suatu perubahan kondisi keuangan atau kinerja operasional

variabel bebas secara bersama-sama terhadap variabel terikat. Untuk mengetahui pengaruh gabungan variabel bebas terhadap. variabel terikat dilakukan dengan

Sistem pencahayaan pada setiap ruang sudah sesuai dengan Feng Shui aliran bentuk, dari segi pencahayaan alami (lampu) dan buatan (matahari), khususnya cahaya matahari

Before CSS3 transitions, when style properties of DOM elements were changed, web browsers applied new styles immediately after the operation, so the effects were rendered

Hasil penelitian menunjukkan film Bulu Mata pada tahap pra produksi yaitu melakukan perencanaan ide dengan pegiat film lain serta pihak Suara Kita, bagaimana memfokuskan