• Tidak ada hasil yang ditemukan

Perancangan Keamanan Informasi Sistem Pemungutan Suara Elektronik (E-Voting) Menggunakan Kombinasi Algoritma AES Dan RSA

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Keamanan Informasi Sistem Pemungutan Suara Elektronik (E-Voting) Menggunakan Kombinasi Algoritma AES Dan RSA"

Copied!
102
0
0

Teks penuh

(1)

PERANCANGAN KEAMANAN INFORMASI SISTEM PEMUNGUTAN SUARA ELEKTRONIK (E-VOTING) MENGGUNAKAN KOMBINASI

ALGORITMA AES DAN RSA

SKRIPSI

FAHRY ROZY SIREGAR 101402045

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

PERANCANGAN KEAMANAN INFORMASI SISTEM PEMUNGUTAN SUARA ELEKTRONIK (E-VOTING) MENGGUNAKAN KOMBINASI

ALGORITMA AES DAN RSA

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

FAHRY ROZY SIREGAR 101402045

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PERANCANGAN KEAMANAN INFORMASI

SISTEM PEMUNGUTAN SUARA ELEKTRONIK (E-VOTING) MENGGUNAKAN KOMBINASI ALGORITMA AES DAN RSA

Kategori : SKRIPSI

Nama : FAHRY ROZY SIREGAR

Nomor Induk Mahasiswa : 101402045

Program Studi : S1 TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Erna Budhiarti Nababan, M.IT M. Andri Budiman, ST., M.Comp.Sc., M.E.M.

NIP. 19751008 200801 1 011

Diketahui/disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

(4)

PERNYATAAN

PERANCANGAN KEAMANAN INFORMASI SISTEM PEMUNGUTAN SUARA ELEKTRONIK (E-VOTING) MENGGUNAKAN KOMBINASI

ALGORITMA AES DAN RSA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan,

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Kuasa yang telah melimpahkan berkat dan rahmatNya sehingga penulis dapat menyelesaikan skripsi ini. Penulis sangat menyadari bahwa Tuhanlah yang sangat berperan membantu dan mengingatkan disaat penulis jatuh ataupun terlena selama mengerjakan skripsi ini.

Dalam menyelesaikan skripsi ini penulis menyadari banyak mendapatkan bantuan dari berbagai pihak baik bantuan secara materi maupun moril. Pada kesempatan ini dengan segala kerendahan hati, penulis ingin mengucapkan terima kasih yang sedalam-dalamnya kepada:

1. Kedua orang tua penulis, yaitu ayahanda Alm. M. Yusuf Shirot Siregar dan ibunda tercinta Nurhayati, karena berkat dukungan dan kesabarannya baik secara moril maupun materil sehingga penulis dapat menyelesaikan skripsi ini. Kepada saudara kandung, Herry M Siregar dan Irfan Abdillah Siregar yang juga memberikan dukungan kepada penulis.

2. Kepada Bapak M. Andri Budiman S.T., M.Comp.Sc., M.E.M. dan Ibu Dr. Erna Budhiarti, M.IT selaku dosen pembimbing penulis yang telah memberikan saran dan masukan serta bersedia meluangkan waktu, tenaga dan pikiran untuk membantu penulis dalam menyelesaikan skripsi ini.

3. Kepada dosen penguji saya Ibu Sarah Purnamawati, S.T., M.Sc dan Bapak Sajadin Sembiring, S.Si., M.Comp.Sc yang banyak memberikan masukan. 4. Ketua dan Sekretaris Jurusan Bapak Anggia Muchtar, S.T., MM.IT dan Bapak

M. Fadly Syahputra,B.Sc.,M.Sc.IT.

5. Seluruh Dosen dan staff program studi Teknologi Informasi Universitas Sumatera Utara.

6. Sahabat - sahabat terdekat saya selama mengecap bangku perkuliahan di jurusan Teknologi Informasi 2010 yang tergabung dalam Group Foya : Ovy, Dian Bunda, Dian Pomta, Desy, Edgar, Muslim, Akira, Baim, Eka, Galih, Fezan, Heri, Chairul, dan Joko, dan seluruh teman-teman sejawat yang tidak dapat disebutkan satu persatu. Terima kasih atas bantuan kalian, teman.

Penulis menyadari bahwa hasil penulisan skripsi ini masih banyak kesalahan dan jauh dari sempurna. Oleh karena itu, kritik dan saran dari pembaca sangatlah penulis harapkan bagi perbaikan dan kesempurnaan di masa yang akan datang. Penulis mohon maaf apabila terdapat kekurangan dan kesalahan dalam penulisan skripsi ini.

(6)

ABSTRAK

Voting atau pemungutan suara dilakukan untuk mengambil sikap dan keputusan menyangkut hal kepemimpinan dan lain - lain. Namun voting dengan cara konvensional yang biasa dilakukan dinilai kurang efektif karena memakan waktu dan biaya yang cukup besar, serta rentan terhadap kesalahan dalam pemilihan dan penghitungan suara. E-Voting merupakan alternatif untuk melakukan pemungutan suara secara lebih mudah dan efektif karena membutuhkan waktu yang singkat, murah, dan dapat meminimalisir kesalahan. Akan tetapi e-voting memiliki celah terkait persoalan keamanan yang menimbulkan peluang kecurangan manipulasi terhadap data dan informasi yang digunakan. Atas dasar hal ini, kriptografi dimanfaatkan untuk mengatasi celah tersebut sekaligus meningkatkan kemanan dan menjaga keaslian informasi. Metode yang diajukan adalah dengan menggunakan kombinasi algoritma AES dan RSA untuk mengamankan data dan informasi pada sistem e-voting, dan menjaga keaslian data dan informasi menggunakan digital signature dengan hash SHA-1. Pada penelitian ini ditunjukkan bahwa kombinasi algoritma AES dan RSA mampu menutupi celah manipulasi dan meningkatkan keamanan informasi pada sistem e-voting, serta penggunaan digital signature dapat menjaga keaslian data dan informasi yang digunakan.

(7)

DESIGNING INFORMATION SECURITY FOR ELECTRONIC VOTING

(E-VOTING) SYSTEM USING A COMBINATION OF

AES AND RSA ALGORITHM

ABSTRACT

Voting are often used to take decisions and actions regarding leadership issues, etc. However the conventional ballot voting system is considered less efective due to the amount of time and money it costs, and prone to errors in voting and calculation. Electronic voting (e-voting) could be an alternative to make voting easier and more effective because it only takes a short time, inexpensive, and able to minimize errors. But e-voting has a gap and security issues related to fraud of data and information manipulation. Cryptography, in this case, can be used to cover the gap and increase the security, and also maintain the authenticity of the information. This thesis describes how the AES and RSA algorithm in securing e-voting information, as well as maintaining its authenticity with digital signatures using SHA-1. In this study shows that the combination of AES and RSA algorithm is able to cover the security gap of manipulation and improve the information security in e-voting systems, as well as the use of digital signatures to maintain the authenticity of the data and information.

(8)

DAFTAR ISI

(9)

2.5 Algoritma Kriptografi RSA

2.6 Konsep Dasar Perhitungan Matematis 2.6.1 Fungsi Totient Euler ϕ

2.6.2 Algoritma Euclidean 2.6.3 Metode Fast Exponentiation 2.7 Cara Kerja Algoritma RSA

2.7.1 Proses Pembentukan Kunci RSA 2.7.2 Proses Enkripsi RSA

2.7.3 Proses Dekripsi RSA

2.8 Tanda Tangan Digital (Digital Signature) 2.9 Penelitian Terdahulu

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis dan Perancangan Keamanan Informasi Sistem e-Voting 3.1.1 Enkripsi Data Jumlah Suara menggunakan Algoritma RSA 3.1.2 Enkripsi Database menggunakan Algoritma AES

3.1.3 Enkripsi Kunci Algoritma AES menggunakan Algoritma RSA

3.1.4 Tanda Tangan Digital dengan SHA-1 3.1.5 Verifikasi Tanda Tangan Digital

3.1.6 Dekripsi Data Jumlah Suara menggunakan Algoritma RSA 3.1.7 Dekripsi Database menggunakan Algoritma AES

3.1.8 Dekripsi Kunci Algoritma AES menggunakan Algoritma RSA

3.2 Analisis dan Perancangan Sistem e-Voting

3.2.1 Dekripsi Database menggunakan Algoritma AES

3.2.2 Dekripsi Kunci Algoritma AES menggunakan Algoritma RSA

BAB 4 IMPLEMENTASI DAN PENGUJIAN PERANGKAT LUNAK 4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak yang

Digunakan

(10)

4.2 Pengujian Sistem

4.2.1 Pengujian Pada Sisi Administrator 4.2.2 Pengujian Pada Sisi Operator 4.2.3 Pengujian Pada Sisi Voter

4.2.4 Pengujian Pada Sisi Pengguna (Anonymous) 4.3 Analisis Keamanan Informasi Sistem

4.3.1 Hasil Enkripsi Data Jumlah Suara Analisis Keaslian 4.3.2 Hasil Enkripsi Database

4.3.3 Hasil Enkripsi Kunci Algoritma AES 4.3.4 Hasil Tanda Tangan Digital dan Verifikasi 4.3.5 Hasil Dekripsi Kunci Algoritma AES 4.3.6 Hasil Dekripsi Database

4.3.7 Hasil Dekripsi Data Jumlah Suara

56

(11)

DAFTAR TABEL

Hal. Tabel 2.1 Tabel Perbandingan Beberapa Cipher

Tabel 2.2 Tabel Perbandingan Panjang Kunci AES Tabel 2.3 S-Box Algoritma AES

Tabel 2.4 Inverse S-Box Algoritma AES

Tabel 2.5 Tabel Proses Mencari Kunci Privat RSA (d)

(12)

DAFTAR GAMBAR

Hal. Gambar 2.1 Skema enkripsi dan dekripsi pada kunci simetrik

Gambar 2.2 Skema enkripsi dan dekripsi pada kunci asimetrik Gambar 2.3 Ilustrasi transformasi SubByte ke dalam S-Box Gambar 2.4 Ilustrasi transformasi ShiftRows

Gambar 2.5 Ilustrasi transformasi MixColoumn Gambar 2.6 Ilustrasi transformasi AddRoundKey Gambar 2.7 Alur proses enkripsi algoritma AES Gambar 2.8 Alur proses dekripsi algoritma AES Gambar 2.9 Skema proses tanda tangan digital

Gambar 3.1 Arsitektur umum perancangan keamanan informasi pada sistem e-voting

Gambar 3.2 Proses enkripsi data jumlah suara Gambar 3.3 Proses enkripsi database

Gambar 3.4 Proses enkripsi kunci algoritma AES Gambar 3.5 Proses tanda tangan digital

Gambar 3.6 Verifikasi tanda tangan digital Gambar 3.7 Proses dekripsi data jumlah suara Gambar 3.8 Proses dekripsi database

Gambar 3.9 Proses dekripsi kunci algoritma AES

Gambar 3.10 Arsitektur penggunaan perangkat lunak e-voting Gambar 3.11 Flowchart proses registrasi mahasiswa

Gambar 3.12 Flowchart proses login voter Gambar 3.13 Flowchart proses pilih kandidat Gambar 3.14 Flowchart proses cek pilihan suara

Gambar 3.15 Flowchart proses login administrator/operator Gambar 3.16 Flowchart proses rekapitulasi suara di TPS Gambar 3.17 Flowchart proses rekapitulasi suara di KPU Gambar 3.18 Flowchart proses lihat hasil voting

(13)

Gambar 4.1 Tampilan halaman login administrator Gambar 4.2 Tampilan halaman panel administrator Gambar 4.3 Tampilan halaman manajemen database Gambar 4.4 Tampilan halaman olah data pemilih Gambar 4.5 Tampilan halaman olah data kandidat Gambar 4.6 Tampilan halaman olah data operator

Gambar 4.7 Tampilan halaman olah pertanyaan keamanan Gambar 4.8 Tampilan halaman manajemen TPS

Gambar 4.9 Tampilan halaman distribusi database Gambar 4.10 Tampilan halaman manajemen kunci Gambar 4.11 Tampilan halaman olah data pemilih Gambar 4.12 Tampilan halaman lihat hasil voting Gambar 4.13 Tampilan halaman rekap hasil suara Gambar 4.14 Tampilan halaman login operator Gambar 4.15 Tampilan halaman panel operator Gambar 4.16 Tampilan halaman login pemilih Gambar 4.17 Tampilan halaman pemilihan

Gambar 4.18 Tampilan halaman beranda website KPU Gambar 4.19 Tampilan halaman pendaftaran

Gambar 4.20 Tampilan halaman cek suara pemilihan Gambar 4.21 Tampilan halaman lihat hasil voting Gambar 4.22 Hasil enkripsi data jumlah suara Gambar 4.23 Hasil enkripsi database

Gambar 4.24 Nilai Hex ciphertext database Gambar 4.25 Hasil enkripsi kunci algoritma AES Gambar 4.26 Nilai Hex ciphertext kunci AES Gambar 4.27 Tanda tangan digital kunci valid Gambar 4.28 Tanda tangan digital database valid Gambar 4.29 Digital signature kunci tidak valid Gambar 4.30 Digital signature kunci tidak valid Gambar 4.31 Hasil dekripsi kunci algoritma AES Gambar 4.32 Hasil dekripsi database

(14)

Gambar 4.33 Pembuatan fungsi view pada database Gambar 4.34 Hasil penghitungan rekapitulasi total Gambar 4.35 Hasil pengitungan suara dari TPS

(15)

ABSTRAK

Voting atau pemungutan suara dilakukan untuk mengambil sikap dan keputusan menyangkut hal kepemimpinan dan lain - lain. Namun voting dengan cara konvensional yang biasa dilakukan dinilai kurang efektif karena memakan waktu dan biaya yang cukup besar, serta rentan terhadap kesalahan dalam pemilihan dan penghitungan suara. E-Voting merupakan alternatif untuk melakukan pemungutan suara secara lebih mudah dan efektif karena membutuhkan waktu yang singkat, murah, dan dapat meminimalisir kesalahan. Akan tetapi e-voting memiliki celah terkait persoalan keamanan yang menimbulkan peluang kecurangan manipulasi terhadap data dan informasi yang digunakan. Atas dasar hal ini, kriptografi dimanfaatkan untuk mengatasi celah tersebut sekaligus meningkatkan kemanan dan menjaga keaslian informasi. Metode yang diajukan adalah dengan menggunakan kombinasi algoritma AES dan RSA untuk mengamankan data dan informasi pada sistem e-voting, dan menjaga keaslian data dan informasi menggunakan digital signature dengan hash SHA-1. Pada penelitian ini ditunjukkan bahwa kombinasi algoritma AES dan RSA mampu menutupi celah manipulasi dan meningkatkan keamanan informasi pada sistem e-voting, serta penggunaan digital signature dapat menjaga keaslian data dan informasi yang digunakan.

(16)

DESIGNING INFORMATION SECURITY FOR ELECTRONIC VOTING

(E-VOTING) SYSTEM USING A COMBINATION OF

AES AND RSA ALGORITHM

ABSTRACT

Voting are often used to take decisions and actions regarding leadership issues, etc. However the conventional ballot voting system is considered less efective due to the amount of time and money it costs, and prone to errors in voting and calculation. Electronic voting (e-voting) could be an alternative to make voting easier and more effective because it only takes a short time, inexpensive, and able to minimize errors. But e-voting has a gap and security issues related to fraud of data and information manipulation. Cryptography, in this case, can be used to cover the gap and increase the security, and also maintain the authenticity of the information. This thesis describes how the AES and RSA algorithm in securing e-voting information, as well as maintaining its authenticity with digital signatures using SHA-1. In this study shows that the combination of AES and RSA algorithm is able to cover the security gap of manipulation and improve the information security in e-voting systems, as well as the use of digital signatures to maintain the authenticity of the data and information.

(17)

BAB I

PENDAHULUAN

Bab ini menjelaskan rincian hal yang menjadi dasar penulisan skripsi ini mulai dari latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat, dan sistematika penulisan.

1.1.Latar Belakang

Voting atau pemungutan suara sering digunakan oleh lembaga-lembaga atau organisasi-organisasi baik skala besar seperti sebuah negara maupun kecil seperti sebuah perkumpulan atau himpunan untuk mengambil sikap dan keputusan dalam hal kepemimpinan dan lain - lain. Pemungutan suara yang biasa dilakukan oleh masyarakat pada umumnya adalah pemungutan suara secara manual dengan menggunakan kertas. Penggunaan pemungutan suara dengan cara seperti ini untuk organisasi skala cukup besar yang melibatkan banyak orang dinilai kurang efektif baik dari segi biaya, tata kelola, maupun waktu.

(18)
(19)

Menurut Direktur Program Sistem Pemilu Elektronik BPPT, Andrari Grahitandaru, berdasarkan hasil uji coba pemungutan suara elektronik (e-voting) di Bali menunjukkan, sistem ini layak diterapkan, hemat biaya lebih dari 60 persen, serta mempersingkat dan memudahkan proses permilihan (Kompas, 2014). Cara pemilihan atau pemungutan suara ini juga menyingkat waktu, hanya butuh 20 detik untuk memberikan suara.

Namun, di sisi lain pada pelaksanaan pemilu dengan menggunakan Sistem Pemilu Eletronik (e-voting) juga memiliki celah keamanan yang dapat memungkinkan seseorang untuk melakukan manipulasi pada data hasil pemilihan suara. Keamanan sistem sebagai permasalahan mendasar pada sistem e-voting (Pardede, 2012) :

1. e-voting merupakan sebuah kesatuan sistem yang memiliki kebergantungan tinggi satu sama lain

2. Pemanfaatan TI membuka peluang bagi siapa saja untuk melakukan serangan terhadap sistem voting .

3. Sistem e-voting yang berbentuk digital rentan terhadap manipulasi apabila tidak disertai dengan metode pengamanan yang baik

Oleh karena itu e-voting membutuhkan metode pengamanan yang dapat menjamin kemanan data hasil pemilihan suara pada sistem e-voting. Kriptografi dipilih sebagai metode yang digunakan untuk mengamankan dan menjaga kerahasiaan informasi sehingga pihak yang tidak berhak tidak dapat mengakses informasi tersebut. Selain itu, kriptografi juga dapat digunakan untuk otentikasi dan menjaga keaslian pesan/informasi.

Penelitian sebelumnya pernah membahas mengenai keamanan informasi dalam sistem e-voting menggunakan kriptografi RSA (Pardede, 2012). Kelebihan algoritma asimetrik RSA ini terletak pada tingkat kesulitan dalam memfaktorkan bilangan menjadi bilangan prima. Namun memiliki kelemahan untuk mengenkripsi data dengan ukuran yang besar.

(20)

Selain itu dalam penerimaan file hasil rekapitulasi suara juga perlu dilakukan validasi agar dapat diketahui pengirim asli dari dokumen hasil suara yang diterima.

Untuk menutupi kelemahan algoritma tersebut, penulis akan melengkapinya dengan algoritma simetrik AES untuk mengenkripsi dokumen hasil suara yang berukuran cukup besar. Algoritma AES memiliki beberapa kelebihan diantaranya, pada setiap putaran algoritma menghasilkan kunci (subkey) yang berbeda sehingga memiliki tingkat keamanan yang baik, kecepatan melakukan proses enkripsi dan dekripsi file baik berukuran kecil maupun besar, serta penggunaan memori yang relatif efisien. Selanjutnya untuk menjaga keamanan proses distribusi kunci digunakan kembali enkripsi dengan algoritma RSA 2048-bit yang memiliki kompleksitas yang sangat rumit untuk diretas, serta menerapkan digital signature dengan menggunakan SHA-1 untuk menjaga otentikasi keaslian file.

1.2.Rumusan Masalah

Berdasarkan uraian latar belakang permasalahan yang mengutarakan kerawanan terkait celah keamanan pada sistem pemungutan suara elektronik (e-voting) yang memungkinkan seseorang untuk melakukan manipulasi data, maka dibutuhkan suatu metode pengamanan informasi yang dapat memberikan keamanan sehingga data dan informasi yang ada dalam sistem dapat terjaga keutuhan dan keasliannya.

1.3.Batasan Masalah

Untuk lebih mengarahkan usaha pembahasan masalah yang telah ditetapkan, dilakukan pembatasan masalah dan asumsi, yakni :

1. Sistem hanya berupa simulasi dimana data yang digunakan di dalamnya tidak menggunakan data sebenarnya.

2. Pemungutan suara diasumsikan pada Pemilihan Presiden Mahasiswa Universitas Sumatera Utara.

3. Sistem tidak membahas tata cara jalur pendistribusian file kunci dan dokumen.

(21)

5. Masalah non-teknis seperti pemadaman listrik, bencana alam, dan lain-lain diabaikan selama pemilihan umum berlangsung.

6. Sistem yang dibangun menggunakan sistem client-server jaringan lokal (LAN) dengan asumsi dilakukan di setiap tempat pemungutan suara (TPS).

1.4.Tujuan

Untuk mengamanankan data dan informasi dalam penggunaan sistem pemungutan suara elektronik (e-voting) dengan menerapkan kombinasi algoritma AES dan RSA, serta untuk menjaga keaslian data dan informasi dengan tanda tangan digital menggunakan hash SHA-1.

1.5.Manfaat Penelitian

Penulisan skripsi ini diharapkan mempunyai manfaat yang baik dan berguna , antara lain:

1. Sistem e-voting yang dibangun dapat diterapkan pada pemilihan-pemilihan umum yang menggunakan cara pemungutan suara, baik bersifat kenegaraan maupun institusional, seperti pemilihan presiden, kepala daerah, ataupun pemilihan presiden universitas.

2. Meminimalisir biaya anggaran pelaksanaan pemilihan dengan pemungutan suara.

3. Memudahkan dan mempercepat waktu proses penghitungan suara yang dilakukan pada pemilihan umum.

4. Memudahkan pengguna untuk melakukan voting tanpa khawatir data pemilihannya tidak sesuai dengan hasil voting.

5. Membantu menjamin keamanan dan keaslian informasi serta mencegah terjadinya manipulasi data pemilihan suara.

(22)

1.6. Sistematika Penulisan

Sistematika penulisan skripsi ini dibagi menjadi lima bagian utama sebagai berikut :

BAB I : Pendahuluan

Bab ini berisikan konsep dasar untuk penyusunan penelitian yang terdiri dari latar belakang penelitian yang dilaksanakan, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, serta sistematika penulisan.

BAB II : Landasan Teori

Pada bab ini membahas beberapa teori-teori penunjang yang akan mendukung pembahasan pada bab selanjutnya. Teori mengenai voting, e-voting, serta algoritma kriptografi yang digunakan akan dibahas pada bab ini.

BAB III : Analisis dan Perancangan Perangkat Lunak

Bab ini membahas mengenai analisis permasalahan dalam penerapan keamanan informasi dalam sistem e-voting. Pada bab ini dijabarkan arsitektur umum, proses yang dilakukan serta cara kerja algoritma yang digunakan.

BAB IV : Implementasi dan Pengujian Perangkat Lunak

Bab ini berisi pembahasan tentang implementasi dari perancangan penerapan yang telah dijabarkan pada bab 3. Selain itu, hasil yang didapatkan dari pengujian keamanan informasi yang dilakukan terhadap implementasi yang dilakukan juga dijabarkan pada bab ini.

BAB V : Kesimpulan dan Saran

(23)

BAB II

LANDASAN TEORI

Bab ini menjelaskan teori dan konsep yang menjadi landasan materi dari sistem yang akan dibuat. Beberapa teori dan konsep yang akan dibahas antara lain pembahasan konsep dasar voting, e-voting, konsep dasar kriptografi, cara kerja algoritma AES, cara kerja algoritma RSA, cara kerja tanda tangan digital (digital signature), dan penelitian terdahulu.

2.1. Voting

Voting atau pemungutan suara yang biasa dilakukan dengan cara manual oleh masyarakat dalam mengambil sikap dan keputusannya menentukan pemimpin sering menimbulkan permasalahan-permasalah yang disebabkan oleh human error maupun sistemik. Berikut ini adalah beberapa permasalahan yang timbul dalam pelaksanaan voting di Indonesia selama ini:

1. Banyak terjadi kesalahan dalam proses pendaftaran pemilih. Konsep penggunaan banyak kartu identitas menyebabkan banyaknya pemilih yang memiliki kartu suara lebih dari satu buah. Keadaan ini seringkali dimanfaatkan oleh pihak-pihak tertentu untuk meningkatkan jumlah suara pilihannya sehingga dapat memenangkan voting tersebut.

2. Pemilih salah dalam memberi tanda pada kertas suara, karena ketentuan keabsahan penandaan yang kurang jelas, sehingga banyak kartu suara yang dinyatakan tidak sah. Pada tahapan verifikasi keabsahan dari kartu suara, sering terjadi kontroversi peraturan dan menyebabkan konflik.

(24)
(25)

4. Penyebab lainnya adalah kesulitan untuk memeriksa keabsahan dari sebuah kartu suara, sehingga pengumpulan tidak berjalan sesuai dengan rencana. 5. Proses penghitungan suara yang dilakukan di setiap daerah berjalan lambat

karena proses tersebut harus menunggu semua kartu suara terkumpul terlebih dahulu. Keterlambatan yang terjadi pada proses pengumpulan, akan berimbas kepada proses penghitungan suara. Lebih jauh lagi, proses tabulasi dan pengumuman hasil perhitungan akan meleset dari perkiraan sebelumnya. 6. Keterlambatan dalam proses tabulasi hasil penghitungan suara dari daerah.

Kendala utama dari proses tabulasi ini adalah kurangnya variasi metode pengumpulan hasil penghitungan suara. Hal ini disebabkan oleh masih lemahnya infrastruktur teknologi komunikasi di daerah. Oleh karena itu, seringkali pusat tabulasi harus menunggu data penghitungan yang dikirimkan dari daerah dalam jangka waktu yang lama. Akibat dari hal tersebut, maka pengumuman hasil voting akan memakan waktu yang lama.

7. Permasalahan yang terpenting adalah kurang terjaminnya kerahasiaan dari pilihan yang dibuat oleh seseorang. Banyak pemilih mengalami tekanan dan ancaman dari pihak tertentu untuk memberikan suara mereka kepada pihak tertentu. Lebih buruk lagi, terjadi “jual-beli suara“ di kalangan masyarakat tertentu, sehingga hasil voting tidak mewakili kepentingan seluruh golongan masyarakat.

2.2. E-Voting

(26)

menimbulkan kerawanan (Agustina & Kurniati, 2009). Kerawanan ini terkait dengan keamanan informasinya. Berikut beberapa requirement dasar pada e-voting (Schneier, 1996):

1. Tidak ada seorang pun yang dapat mengetahui pilihan orang lain.

2. Setiap orang dapat memastikan dan memverifikasi pilihannya telah masuk ke rekapitulasi akhir pemilihan dengan benar sesuai pilihannya.

3. Hanya orang yang sah dan terdaftar yang dapat memberikan suara/pemilih 4. Tidak seorangpun dapat menduplikasi suara orang lain tanpa diketahui. 5. Tidak ada pemilih/voter yang dapat memilih lebih dari satu kali.

6. Sistem harus dapat menyimpan dan menghitung suara yang diberikan oleh pemilih/voter dengan benar dan akurat.

7. Prosedur pemilihan dalam sistem harus dapat dengan mudah dimengerti dan digunakan oleh pengguna.

E-Voting merupakan teknologi yang relatif baru untuk mendukung pelaksanaan pesta demokrasi dan telah diterapkan di sejumlah negara (Kahani, 2005). Penerapan e-voting dengan berbagai model dan dalam 10 tahun terakhir tidak hanya di Amerika, tetapi negara-negara lain juga mengadopsi sistem ini (Gefen et al., 2005). Sejumlah negara yang telah menerapkan e-voting yaitu Brazil (sejak 1990 dan tahun 1998 merupakan proses e-voting terbesar karena melibatkan 60 juta pemilih), Inggris (sejak tahun 2002 sebagian telah menerapkan dan mulai tahun 2011 digunakan secara nasional), Australia (mulai digunakan tahun 2001), Selandia Baru (mulai tahun 2006), Jepang (sejak tahun 2002), Irlandia (dipersiapkan sejak tahun 1998 dan mulai diujicoba tahun 2002 dan mulai diterapkan secara nasional tahun 2004), Swiss (sejak tahun 1998) dan Lithuania. Menurut Hajjar et al. (2006) bahwa pertimbangan diterapkannya e-voting adalah karena kecepatan dan akurasi.

Di Indonesia sendiri, penggunaan e-voting telah dilakukan Nopember – Desember 2009 pada 31 kepala dusun (banjar) yang ada di 18 desa/kelurahan di Jembrana – Bali yaitu menggunakan kartu identitas dengan chip dan komputer layar sentuh sebagai sarana pemungutan suara.

(27)

system juga harus diperhatikan seperti ditegaskan oleh Zamora, et.al. (2005). Artinya, jika kerahasiaan dan keamanan terpenuhi, maka e-voting sangatlah tepat digunakan. Berikut sejumlah aspek manfaat dari penerapan e-voting adalah (Zafar & Pilkzaer, 2007).

1. Biaya

Terkait sumber daya dan investasi yang lebih hemat dibanding dengan sistem tradisional yang ribet, kompleks dan tidak efisien.

2. Waktu

Terkait waktu pelaksanaan pemilihan yang lebih cepat dan kalkulasi hasil yang lebih tepat dibandingkan sistem yang tradisional.

3. Hasil

Terkait dengan hasil kalkulasi yang lebih tepat dan akurat serta minimalisasi terjadinya kasus human error selama sistem yang dibangun terjamin dari berbagai ancaman kejahatan.

4. Transparansi

Terkait dengan transparansi dari semua proses karena semua dilakukan oleh suatu sistem yang otomatis dan real time online.

2.3. Kriptografi

Kriptografi (cryptography) berasal dari bahasa Yunani yaitu cryptos yang berarti secret yaitu rahasia dan graphein artinya writing yaitu tulisan (Agustina & Kurniati, 2009). Sehingga kriptografi berarti secret writing yaitu tulisan rahasia. Dan arti sebenarnya dari kriptografi itu adalah ilmu yang mempelajari tentang bagaimana menjaga kerahasiaan suatu pesan, agar isi pesan yang disampaikan tersebut aman sampai ke penerima pesan (Ariyus, 2008).

Tujuan kriptografi adalah melindungi data dari ancaman yang disengaja atau tidak disengaja. Dewasa ini ancaman bertambah karena semakin meluasnya akses melalui internet atau teknologi bergerak. Aspek - aspek keamanan data dalam kriptografi adalah sebagai berikut (Kurniawan, 2004).

1. Confidentiality / Privacy

(28)

daftar gaji, data nasabah dan lainnya. Aspek keamanan data menjadi sangat sensitif dalam e-commerce dan militer. Serangan dalam aspek ini antara lain dilakukan dengan penyadapan, misalnya sniffer atau logger.

2. Integrity

Memastikan bahwa informasi yang dikirim melalui jaringan tidak mengalami modifikasi oleh pihak yang tidak berhak. Serangan dapat berupa pengubahan data oleh orang yang tidak berhak, misalnya dengan spoofing yaitu virus yang dapat mengubah berkas.

3. Availability

Informasi harus tersedia ketika dibutuhkan. Serangan dapat berupa meniadakan layanan (Denial of Service/DoS attack) atau menghambat layanan dengan membuat server lambat.

4. Non-repudiation

Pengirim tidak dapat menyangkal bahwa yang bersangkutan telah melakukan transaksi tersebut.

5. Authentication

Meyakinkan keaslian data, sumber data, orang yang mengakses data, dan server yang digunakan. Beberapa cara yang dapat digunakan untuk membuktikan keaslian data antara lain dengan what you have (misalnya kartu identitas), what you know (misalnya password atau PIN) dan what you are (misalnya dengan biometric identity). Serangan dapat dilakukan dengan menggunakan identitas palsu, terminal palsu ataupun situs gadungan.

6. Access Control

Aspek ini berhubungan dengan mekanisme pengaturan akses ke informasi, untuk mengatur siapa yang boleh melakukan apa. Membutuhkan adanya klasifikasi data, misalnya umum (public), pribadi (private), rahasia (confidential) atau sangat rahasia (top secret).

7. Accountability

(29)

Di dalam kriptografi juga akan sering ditemukan berbagai istilah atau terminologi. Berikut beberapa istilah yang penting untuk diketahui :

1. Pesan, plaintext, dan ciphertext

Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plaintext atau teks jelas (cleartext) (Schneier, 1996). Pesan dapat berupa data atau informasi yang dikirim (melalui

kurir, saluran telekomunikasi, dsb.) atau yang disimpan di dalam media

perekaman (kertas, storage, dan sebagainya). Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara/bunyi (audio), dan video, atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya

oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat

dipahami (enkripsi). Bentuk pesan yang tersandi disebut ciphertext. Proses pembalikan dimana ciphertext diubah kembali menjadi plaintext di sebut dekripsi (Stamp, 2007).

2. Entitas, pengirim, penerima, dan penyusup

Entitas atau peserta adalah orang atau sesuatu yang mengirim, menerima, atau memanipulasi informasi. Entitas bisa berupa orang, terminal komputer, kartu kredit, dan sebagainya. Jadi, orang bisa bertukar pesan dengan orang lainnya (contoh: Alice berkomunikasi dengan Bob) sedangkan di dalam jaringan komputer, mesin (komputer) berkomunikasi dengan mesin (contoh: mesin ATM berkomunikasi dengan komputer server di bank). Pengirim adalah entitas dalam komunikasi yang mengirimkan informasi kepada entitas lainnya lainnya. Penerima adalah entitas dalam komunikasi yang diharapkan menerima informasi. Penyusup (adversary) adalah entitas diluar pengirim dan penerima yang mencoba untuk membobol keamanan informasi. Penyusup biasanya bertindak seolah-olah sebagai pengirim yang sah ataupun penerima yang sah. 3. Enkripsi dan dekripsi

(30)

dan dekripsi dapat diterapkan baik pada pesan yang dikirim maupun pada pesan yang tersimpan.

4. Cipher dan kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchiphering dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan dechipering.

Berdasarkan kunci yang digunakan, algoritma kriptografi dapat dibedakan atas dua golongan yaitu algoritma kunci simetrik dan algoritma kunci asimetrik.

2.3.1. Kunci Simetrik

Kunci Simetrik yang sering disebut algoritma konvensional adalah algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsinya (Schneier, 1996). Dari gambar 2.2 ini terlihat bahwa untuk mengenkripsi dan mendekripsinya pesan hanya menggunakan satu buah kunci saja (K) saja :

Encryption Decryption

Plaintext Ciphertext Plaintext

Key Key

Gambar 2.1 Skema enkripsi dan dekripsi kunci simetrik (Schneier, 1996)

Untuk menjaga kerahasiaan pesan antar komunikan pada kriptografi ini dibutuhkan sebuah kunci untuk tiap pasangan komunikan. Sehingga untuk n komunikan jumlah kunci yang dibutuhkan adalah:

( −1)

2

(31)

4 (4 −1) = 4 (3) = 6 kunci untuk setiap pasangan.

2 2

Kunci - kunci yang diperoleh untuk setiap pasangan komunikan antara lain adalah kunci pasangan komunikan A – B, A – C, A – D, B – C, B – D, dan C – D.

Beberapa algoritma yang memakai kunci simetrik adalah Data Encryption Standard (DES), RC2, RC4, RC5, RC6, International Data Encryption Algorithm (IDEA), Advanced Encryption Standard (AES), One Time Pad (OTP), Blowfish, dan lain sebagainya.

2.3.2. Kunci Asimetrik

Kriptografi kunci simetrik sering disebut dengan kunci publik karena menggunakan kunci yang berbeda untuk enkripsi dan dekripsi. Kriptografi ini memiliki dua kunci (e dan d). Seperti yang diuraikan Menezes (1997), kunci e dibuat untuk umum sehingga disebut kunci publik, sementara kunci d tetap disimpan aman dan rahasia sehingga disebut kunci privat. Demi keamanan maka harusnya menghitung d menjadi lebih sulit bila e diketahui. Skema kriptografi kunci simetri dapat dilihat pada gambar 2.3.

Encryption Decryption

Plaintext Ciphertext Plaintext

Public Key Private Key

Gambar 2.2 Skema enkripsi dan dekripsi kunci asimetrik (Schneier, 1996)

Kriptografi kunci publik dapat dianalogikan seperti kotak surat yang terkunci dan memiliki lubang untuk memasukkan surat. Kotak surat diletakkan di depan rumah pemiliknya. Setiap orang dapat memasukkan surat ke dalam kotak tersebut, tetapi hanya pemilik kotak yang dapat membuka kotak dan membaca suratnya karena hanya ia yang memiliki kuncinya.

(32)

2.3.3. Perbandingan Algoritma Simetrik dan Algoritma Asimetrik

Baik kriptografi simetrik maupun kriptografi asimetrik (kunci publik), keduanya mempunyai kelebihan dan kelemahan.

a. Kelebihan kriptografi simetrik:

1. Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi membutuhkan waktu yang singkat.

2. Ukuran kunci simetri relatif pendek.

3. Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher yang lebih kuat.

4. Otentikasi pengirim pesan langsung diketahui dari ciphertext yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.

b. Kelemahan kriptografi simetrik:

1. Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga kerahasisan kunci ini.

2. Kunci harus sering diubah, mungkin pada setiap sesi komunikasi. c. Kelebihan kriptografi kunci asimetrik (Munir, 2006):

1. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomuniaksi (namun, otentikasi kunci publik juga tetap harus terjamin). Tidak ada kebutuhan mengirim kunci privat sebagaimana pada kunci simetrik.

2. Pasangan kunci publik maupun privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.

3. Dapat digunakan untuk mengamankan pengiriman kunci simetrik.

(33)

d. Kelemahan kriptografi kunci asimetrik (Munir, 2006):

1. Enkripsi dan dekripsi data pada umumnya berjalan lebih lambat daripada kunci simetrik, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan operasi perpangkatan yang besar pula.

2. Ukuran ciphertext lebih besar daripada plaintext (bisa dua sampai empat kali ukuran plaintext).

3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetrik.

4. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, maka ciphertext yang dihasilkan tidak memberikan informasi mengenai otentikasi pengirim.

2.4. Algoritma Kriptografi AES

Sejak tahun 1976, Data Encryption Standard (DES) dipilih sebagai standar kriptografi yang dipakai pada pemerintahan Amerika Serikat. Namun pada tahun 1990, panjang kunci DES dianggap terlalu pendek, dan pada tahun 1998 DES berhasil dipecahkan dalam waktu 96 hari, kemudian di tahun 1999 dapat dipecahkan dalam waktu 22 hari. Karena alasan tersebut maka kemudian diadakan kompetisi oleh NIST (National Institute of Standard and Technology) untuk mencari pengganti DES. NIST mengundang peserta dari seluruh dunia untuk berpartisipasi dengan mengajukan algoritma baru untuk menggantikan DES (Ariyus, 2008). Pada tahun 1997 ada 21 pelamar dan 6 dari mereka gugur karena tidak masuk dalam kriteria pemilihan. Konferensi umum pun diselenggarakan untuk menilai keamanan algoritma yang diusulkan. Pada Agustus 1998, dipilih 5 kandidat untuk seleksi akhir, yaitu :

1. Rijndael (dari John Daemen dan Vincent Rijmen – Belgia, 86 suara)

2. Serpent (dari Ross Anderson, Eli Biham, dan Lars Knudsen – Inggris, Israel dan Norwegia, 59 suara)

3. Twofish (dari tim yang diketuai oleh Bruce Schneier – USA, 31 suara) 4. RC6 (dari Laboratorium RSA – USA, 23 suara)

(34)

Kriteria penilaian yang dikemukakan NIST didasarkan pada 3 kriteria utama berikut (Nechvatal, 2000) .

1. Aspek keamanan.

Keamanan merupakan aspek terpenting dalam penilaian yang mengacu pada ketahanan algoritma terhadap serangan, kompleksitas penghitungan matematis, output yang dihasilkan, dan perbandingan aspek keamanan satu sama lain.

2. Aspek biaya.

Aspek biaya mengacu pada lisensi, efisiensi komputasional di berbagai platform, dan kebutuhan memory sesuai dengan tujuan NIST yang menginginkan agar algoritma AES dapat digunakan secara luas dan bebas tanpa harus membayar royalti, dan juga murah untuk diimplementasikan pada smart card yang memiliki ukuran memori kecil.

3. Aspek implementasi dan karakteristik algoritma.

Aspek ini mengacu pada fleksibilitas, kesesuaian terhadap perangkat lunak maupun keras, serta kesederhanaan algoritma.

Pada bulan Oktober 2000, NIST mengumumkan untuk memilih Rinjdael, kemudian pada bulan November 2001, Rinjdael ditetapkan sebagai AES, dan diharapkan menjadi standard kriptografi yang dominan paling sedikit selama 10 tahun. Terhitung pada 26 Mei 2002 AES telah menjadi standard dalam kriptografi kunci simetrik modern.

Berikut disertakan tabel perbandingan algoritma Rijndael (AES) dengan beberapa algoritma lain (Munir, 2006).

Tabel 2.1 Tabel Perbandingan Beberapa Cipher

Cipher Pembuat Keterangan

DES IBM Too weak to use now

Tripple DES IBM Second best choice

GOST Uni Soviet Good

RC4 Ronald Rivest Some keys are weak

RC5 Ronald Rivest Good but patented

(35)

Tabel 2.1 Tabel Perbandingan Beberapa Cipher (lanjutan)

Cipher Pembuat Keterangan

Twofish Brue Schneier Very strong, widely used

Blowfish Brue Schneier Old and slow

IDEA Massey dan Xuejia Good but patented

Pada algoritma AES, jumlah blok input, blok output, dan state adalah 128-bit. Dengan besar data 128-bit, berarti Nb = 4 (Nb = panjang blok plaintext dibagi 32 dan Nk = panjang kunci dibagi 32) yang menunjukkan panjang data tiap baris adalah 4 byte. Dengan blok input atau blok data sebesar 128-bit, key yang digunakan pada algoritma AES tidak harus mempunyai besar yang sama dengan blok input. Cipherkey pada algoritma AES dapat menggunakan kunci dengan panjang 128-bit, 192-bit, atau 256-bit. Perbedaan panjang kunci akan mempengaruhi jumlah round yang akan diimplementasikan pada algoritma AES ini. Berikut adalah tabel yang memperlihatkan jumlah round (Nr) yang harus diimplementasikan pada masing-masing panjang kunci (Daemen & Rijmen, 1999).

Tabel 2.2 Tabel Perbandingan panjang kunci AES.

Jumlah Key (Nk) Besar Blok (Nb) Jumlah Round (Nr)

AES – 128 4 4 10

AES – 192 6 4 12

AES – 256 8 4 14

2.4.1. Proses Enkripsi AES

Langkah-langkah enkripsi untuk algoritma rijndael: a. Mengekspansi kunci (Key Expansion)

Pada algoritma Rijndael proses pertama yang dilalui adalah mengekspansi kunci. Kunci hasil ekspansi ini disebut dengan RoundKey yang kemudian digunakan pada tiap-tiap putaran transformasi.

(36)

c. Melakukan transformasi putaran sebanyak Nr kali sebagai berikut: 1. SubByte

Proses mensubstitusi plaintext yang telah diekspansi ke dalam S-Box.

Gambar 2.3 Ilustrasi transformasi SubByte (Daemen & Rijmen, 1999)

Tabel 2.3 S-Box Algoritma AES

| 0 1 2 3 4 5 6 7 8 9 a b c d e f ---|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|

00 |63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76 10 |ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0 20 |b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15 30 |04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75 40 |09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84 50 |53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf 60 |d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8 70 |51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2 80 |cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73 90 |60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db a0 |e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79 b0 |e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08 c0 |ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a d0 |70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e e0 |e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df f0 |8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16

2. Shiftrow

Rotasi yang dilakukan mulai baris kedua hingga baris ke-4 ke kanan

(37)

3. MixClolumn

State yang dihasilkan dari proses ShiftRow di-XOR-kan dengan matriks yang telah ditentukan. Matriks tersebut adalah:

02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02

Ilustrasi hasil state yang telah di-XOR dengan matriks dapat dilihat pada gambar .

Gambar 2.5 Ilustrasi transformasi MixColoumn(Daemen & Rijmen, 1999)

4. AddRoundKey

Hasil dari MixColumn di-XOR-kan dengan RoundKey masing-masing

putaran. RoundKey diperoleh pada proses ekspansi kunci. Secara garis

besar setiap proses dapat dilihat pada gambar 2.7.

(38)

Plaintext

KeyAddition

SubByte ShiftRow MixColoumn AddRoundKey

SubByte ShiftRow AddRoundKey

Ciphertext 9 putaran

Gambar 2.7 Alur proses enkripsi algoritma AES, key 128-bit (Stallings, 2003)

2.4.2 Proses Dekripsi AES

Langkah-langkah dekripsi untuk algoritma Rijndael:

a. Pada proses dekripsi yang diketahui hanyalah kunci, kunci yang ada diekspansi dahulu, prosesnya sama dengan enkripsi dengan tujuan agar diperoleh RoundKey.

b. Ciphertext di-XOR-kan dengan RoundKey terakhir yang diperoleh dari proses Key Schedule. Proses ini disebut Inverse of AddRoundKey.

(39)

d. Ciphertext yang dihasilkan dari proses Invers of ShiftRow kemudian ditransformasikan ke dalam kotak Inverse S-Box yang telah ditentukan. Proses ini dinamakan inverse of SubBytes.

e. Ciphertext yang telah ditransformasikan kemudian di XOR kan dengan matriks yang telah ditentukan. Matriks tersebut adalah sebagai berikut:

0e 0b 0d 09 09 0e 0b 0d 0d 09 0e 0b 0b 0d 09 0e

Pada putaran pertama dalam proses dekripsi ini proses Inverse of MixColumn ini diabaikan.

f. Hasil dari Inverse of MixColumn ini di-XOR-kan dengan RoundKey putaran selanjutnya. Begitu seterusnya hingga putaran terakhir.

Tabel 2.4 Inverse S-BoxAlgoritma AES

(40)

Ciphertext

AddRoundKey InvShiftRow

InvSubByte

AddRoundKey InvMixColoumn

InvShiftRow InvSubByte

KeyAddition

Plaintext 9 putaran

Gambar 2.8 Alur proses dekripsi algoritma AES, key 128-bit (Stallings, 2003)

2.5. Algoritma Kriptografi RSA

Algoritma kriptografi RSA ditemukan oleh tiga orang yang kemudian nama-nama mereka disingkat menjadi RSA. Ketiga penemu itu adalah Ron Riverst, Adi Shamir, dan Leonard Adleman. RSA dibuat di MIT pada tahun 1977 dan dipatenkan oleh MIT (Massachussets Institute of Technology) pada tahun 1983. Sejak 21 September tahun 2000, paten tersebut berakhir, sehingga saat ini semua orang dapat menggunakannya dengan bebas (Brian, 2000). RSA merupakan algoritma kriptografi asimetrik yang paling mudah untuk diimplementasikan dan dimengerti (Ariyus, 2008).

(41)

didesain sesuai fungsinya sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci yang digunakan untuk dekripsi. Algoritma RSA disebut kunci publik karena kunci enkripsi dapat dibuat publik yang berarti semua orang boleh mengetahuinya, namun hanya orang tertentu (si penerima pesan sekaligus pemilik kunci dekripsi yang merupakan pasangan kunci publik) yang dapat melakukan dekripsi terhadap pesan tersebut. Keamanan algoritma RSA didasarkan pada sulitnya memfaktorkan bilangan besar menjadi faktor-faktor primanya (Sulistyanto, 2004). Secara umum ada beberapa besaran-besaran yang harus diperhatikan dalam algoritma RSA, yaitu :

1. p dan q adalah bilangan prima (rahasia)

2. n = p.q (tidak rahasia)

3. (n) = (p-1)(q-1) (rahasia)

4. e (kunci enkripsi) (tidak rahasia)

5. d (kunci dekripsi) (rahasia)

6. m (plaintext) (tidak rahasia)

7. c (ciphertext) (rahasia)

2.6. Konsep Dasar Perhitungan Matematis

Dalam setiap proses pada algoritma RSA terdapat perhitungan matematis. Pada proses

pembangkitan kunci dibutuhkan perhitungan untuk menentukan nilai Totient n dan perhitungan dengan algoritma Euclidean untuk menentukan nilai dua buah bilangan yang

relatif prima. Sedangkan pada proses enkripsi dan dekripsi dilakukan perhitungan menggunakan metode Fast Exponentiation.

2.6.1. Fungsi Totient Euler ϕ

Fungsi Totient Euler ϕ atau biasa disebut dengan fungsi Euler merupakan salah satu fungsi yang dipakai dalam perhitungan matematis pada algoritma RSA. Fungsi Euler mendefinisikan ϕ (n) untuk n ≥ 1 yang menyatakan jumlah bilangan bulat positif < n yang relatif prima dengan n (Munir, 2006). Dua bilangan bulat a dan b dikatakan relatif prima jika gcd(a,b) = 1 (pembagi bersama terbesar dari a dan b adalah 1).

Jika n = pq (p dan q bilangan prima)

(42)

Contoh : ϕ (15) = ϕ (3) ϕ (5) = 2x4 = 8 buah bilangan bulat yang relatif prima terhadap 15, yaitu 1,2,4,7,8,11,13,14.

2.6.2. Algoritma Euclidean

Algoritma ini digunakan untuk mencari nilai pembagi persekutuan terbesar (PBB) dari dua bilangan bulat (Munir, 2006). Algoritma ini didasarkan pada pernyataan bahwa ada dua buah bilangan bulat tak negatif yakni m dan n dimana nilai m n. Adapun tahap-tahap pada algoritma Euclidean adalah:

1. Jika n = 0 maka m adalah PBB(m, n); stop.

Jikalau tidak (yaitu n ≠ 0) lanjutkan ke langkah nomor 2. 2. Bagilah m dengan n dan misalkan sisanya adalah r.

3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah nomor 1.

Algoritma Euclidean dapat digunakan untuk mencari dua buah bilangan bulat yang relatif prima. Dua buah bilangan bulat dikatakan relatif prima jika GCD dari kedua bilangan bernilai 1.

Contoh : menghitung nilai GCD(100, 64) dan GCD(43, 19). 100 mod 64 43 mod 19

64 = 1 . 36 + 28 43 = 2 . 19 + 5 36 = 1 . 28 + 8 19 = 3 . 5 + 4 28 = 2 . 8 + 4 5 = 1 . 4 + 1 8 = 2 . 4 + 0 4 = 4 . 1 + 0

Nilai GCD(100, 64) = 4 Nilai GCD(43, 19) = 1 GCD(100, 64) ≠ 1

2.6.3. Metode Fast Exponentiation

Metode ini digunakan untuk menghitung operasi pemangkatan besar bilangan bulat modulo dengan cepat (Munir, 2006). Metode ini berdasarkan pada pernyataan berikut ini:

ab mod m = [(a mod m)(b mod m)] mod m

(43)

Untuk lebih jelasnya mengenai langkah-langkah metode fast exponentiation dapat dilihat pada contoh berikut.

Sebagai ilustrasi, untuk menghitung 1504283 mod 2077 dapat dilakukan sebagai berikut.

15041 = 1504 (mod 2077) 15042 = 163 (mod 2077)

15044 = 1632 (mod 2077) = 1645 (mod 2077) 15048 = 16452 (mod 2077) = 1771 (mod 2077) 150416 = 17712 (mod 2077) = 171 (mod 2077) 150432 = 1712 (mod 2077) = 163 (mod 2077) 150464 = 1632 (mod 2077) = 1645 (mod 2077) 1504128 = 16452 (mod 2077) = 1771 (mod 2077) 1504256 = 17712 (mod 2077) = 171 (mod 2077)

Maka,

1504283 mod 2077 = 1504(1+2+8+16+256) mod 2077

= 15041 . 15042. 15048 . 150416 . 1504256 mod 2077

= [(15041 mod 2077) . (15042 mod 2077) . (15048 mod 2077) . (150416 mod 2077). (1504256 mod 2077)] mod 2077

= [(1504 mod 2077) . (163 mod 2077) . (1771 mod 2077) . (171 mod 2077) . (171 mod 2077) ] mod 2077

= [ 1504 . 163 . 1771 . 171 . 171 ] mod 2077 = [ 66 . 1771 . 171 . 171 ] mod 2077

(44)

2.7. Cara Kerja Algoritma RSA

Skema algoritma kunci publik sandi RSA terdiri dari tiga proses yaitu, proses pembentukan kunci, proses enkripsi, dan proses dekripsi (Mollin, 2002).

2.7.1. Proses Pembentukan Kunci RSA

1. Memilih dua bilangan prima yang diberi simbol sebagai p dan q.

2. Menghitung nilai n = p.q ( n p , karena jika n = p , maka nilai n = p2 dan akan mudah mendapatkan nilai n).

3. Hitung ϕ (n) = (p-1) (q-1).

4. Memilih kunci publik e yang relatif prima terhadap ϕ (n)

5. Bangkitkan kunci privat dengan persamaan �.e ≡ 1 ( o� ϕ ( )), dimana 1<�<ϕ ( )

Hasil dari algoritma di atas adalah :

a. Kunci publik adalah pasangan (e, n) b. Kunci privat adalah pasangan (d, n)

2.7.2. Proses Enkripsi RSA

1. Ambil kunci publik penerima pesan (e) ,dan modulus (n).

2. Plaintext dinyatakan dengan blok-blok m1, m2, .., sedemikian sehingga setiap blok merepresentasikan nilai [0, n-1].

3. Setiap blok mi dienkripsikan menjadi blok ci dengan rumus Ci = mie mod n

2.7.3. Proses Dekripsi RSA

Setiap blok chiperteks Ci didekripsikan kembali menjadi blok mi dengan rumus :

mi = Cid mod n

(45)

1. Pilih dua bilangan prima yakni p = 10477 dan q = 53887 2. Hitung nilai n = p.q , sehingga nilai n = 564574099

3. Hitung ϕ (n) = (p-1)(q-1), sehingga nilai ϕ (n) = (10477-1)(53887-1) adalah 564509736

4. Kemudian bangkitkan kunci publik (e), dimana nilai e relatif prima terhadap ϕ (n) Nilai GCD(ϕ (n), e) harus bernilai 1. Nilai e yang relatif prima dengan 564509736 adalah 5.

5. Hitung kunci privat (d) dengan menggunakan persamaan �.e ( o�ϕ ( ) ≡ 1.

Tabel 2.5 Tabel Proses Mencari Kunci Privat RSA (d) Nilai d Persamaan (.e) oϕ ( ) Hasil

1 (1 . 5) mod 564509736 5

2 (2 . 5) mod 5645509736 10

... ... ... 451607789 (451607789 . 5) mod 5645509736 1

Maka, nilai dari kunci privat (d) yang diperoleh adalah 451607789.

6. Fahry mengirimkan pesan kepada Rozy. Pesan yang akan dikirimkan adalah: m = SKRIPSI

atau dalam desimal (kode ASCII) adalah : 83758273808373

Kemudian nilai di atas akan dipecah-pecah menjadi blok-blok m. Nilai m haruslah masih dalam [0, 564574099-1]

m1 = 83 m5 = 80

m2 = 75 m6 = 83

m3 = 82 m7 = 73

(46)

Fahry telah mengetahui kunci publik Rozy adalah e = 5 dan n = 564574099. Fahry dapat mengenkripsikan pesan sebagai berikut :

Jadi ciphertext yang akan dihasilkan adalah: 551596049

114750479 319953838 379349296 453929505 551596049 379349296

7. Maka pesan yang telah terenkripsi tersebut akan dikirimkan kepada Rozy, yang mana Rozy sudah mempunyai kunci privat d = 451607789

8. Setelah itu ciphertext akan didekripsikan oleh Rozy sebagai berikut : m1 = 551596049 . 451607789 mod 564574099 = 83

m2 = 114750479 . 451607789 mod 564574099 = 75

m3 = 319953838 . 451607789 mod 564574099 = 82

m4 = 379349296 . 451607789 mod 564574099 = 73

m5 = 453929505 . 451607789 mod 564574099 = 80

m6 = 551596049 . 451607789 mod 564574099 = 83

m7 = 379349296 . 451607789 mod 564574099 = 73

maka akan dihasilkan kembali : m = 83758273808373

Yang dalam pengkodean ASCII dapat dibaca sebagai berikut : m = SKRIPSI

C1 = 835 mod 564574099 = 551596049

C2 = 755 mod 564574099 = 114750479

C3 = 825 mod 564574099 = 319953838

C4 = 735 mod 564574099 = 379349296

C5 = 805 mod 564574099 = 453929505

C6 = 835 mod 564574099 = 551596049

(47)

2.8. Tanda Tangan Digital (Digital Signature)

Tanda tangan digital (digital signature) adalah mekanisme otentikasi yang mengijinkan pemilik pesan membubuhkan sebuah sandi pada pesannya yang bertindak sebagai tanda tangan. Tanda tangan dibentuk dengan mengambil nilai hash dari pesan dan mengenkripsi nilai hash pesan tersebut dengan kunci privat pemilik pesan.

Jika dalam proses pengiriman pesan saluran komunikasi yang digunakan sudah aman dan kunci hanya diketahui oleh pihak yang berhak, sekarang masalahnya siapa yang menjamin bahwa pesan yang dikirim memang berasal dari orang yang berhak. Atau bagaimana meyakinkan pihak yang akan menerima kiriman data bahwa memang benar-benar berasal dari pengirim aslinya. Untuk mengatasi validitas pengiriman tersebutlah digunakan teknologi tanda tangan digital.

Tanda tangan digital berfungsi untuk melakukan validasi terhadap setiap data yang dikirim. Dalam pengiriman data, walaupun saluran komunikasi yang digunakan sudah sangat aman, tentu saja perlu diperhatikan validitasnya. Validitas tersebut berkaitan dengan pertanyaan apakah data yang sampai ke penerima dalam keadaan utuh dengan aslinya saat dikirim tanpa sedikitpun adanya gangguan-gangguan dari pihak lain. Teknik yang umum digunakan untuk membentuk tanda-tangan digital adalah dengan fungsi hash dan melibatkan algoritma kriptografi kunci-publik (Munir, 2004). Fungsi tersebut akan menghasilkan sebuah kombinasi karakter yang unik yang disebut dengan message digest.

(48)

Gambar 2.9 Skema proses tanda tangan digital (Munir, 2005)

Mekanisme kerja untuk menghasilkan tanda tangan digital tersebut adalah sebagai berikut:

1. Proses hashing algorithm akan mengambil nilai hash dari pesan yang akan dikirim dan menghasilkan message digest. Kemudian message digest tersebut dienkripsi mengunakan kunci privat dan menghasilkan tanda tangan digital. 2. Kemudian tanda tangan digital tersebut dikirimkan bersama isi pesan tersebut. 3. Sesampainya di penerima, akan dilakukan proses hashing algorithm terhadap pesan tersebut seperti yang dilakukan saat pengiriman. Dari proses tersebut menghasilkan message digest sekunder (MD‟).

4. Secara paralel digital signature yang diterima tadi langsung didekripsi oleh kunci publik. Hasil dekripsi tersebut akan memunculkan message digest yang serupa seperti message digest sebelum dienkripsi oleh pengirim pesan. Message digest disebut message digest primer (MD).

(49)

message digest primer. Segera mekanisme tanda tangan digital tersebut akan menyampaikan peringatan bahwa telah terjadi pengubahan isi pesan.

SHA-1 menerima masukkan berupa pesan dengan ukuran maksimum adalah 264-bit dan menghasilkan message digest yang panjangnya 160 bit, lebih panjang dari yang dihasilkan oleh MD5 yaitu 128-bit. Langkah-langkah proses 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. Pengelolaan pesan dalam blok berukuran 512 bit.

Mula-mula pesan diberi tambahan untuk membuat panjangnya menjadi kelipatan 512-bit (L x 512). Jumlah bit data asal adalah K bit. Tambahkan bit „1‟ kemudian tambahkan bit „0‟ secukupnya sampai 64-bit kurangnya dari kelipatan 512 (512 - 64 = 448), yang disebut juga sebagai kongruen dengan 448 (mod 512). Akhirnya tambahkan 64-bit yang menyatakan panjang pesan sebelum diberi tambahan. Pesan dibagi-bagi menjadi blok-blok berukuran 512-bit dan setiap blok diolah. Keluaran setiap blok digabungkan dengan keluaran blok berikutnya. Sehingga akhirnya diperoleh digest. Pengubahan satu huruf dapat menghasilkan cipher yang jauh berbeda.

Contoh enkripsi SHA:

Plaintext : “I heard you crying loud all the way accross the town” Ciphertext : eaeb1b86f6e41c1b40d7c288f6d7fbff3f948a6e

Menghilangkan huruf “d” pada kata “heard”

Plaintext: “I hear you crying loud all the way accross the town” akan menghasilkan:

Ciphertext : d9aee3365c0ef380f4021fd618b4d4ea3ad9e5a4

(50)

2.9. Penelitian Terdahulu

(51)

BAB III

ANALISIS DAN PERANCANGAN

Bab ini menjelaskan analisis keamanan informasi sistem e-voting dengan menerapkan kombinasi algoritma AES dan RSA, analisis kebutuhan sistem e-voting yang akan dibangun, serta perancangannya. Dan tindakan yang dilakukan pada tahap perancangan adalah mengubah model analisis ke model perancangan.

3.1. Analisis dan Perancangan Keamanan Informasi Sistem e-Voting

(52)
(53)

dan kunci algoritma AES telah diterima oleh administrator di KPU selaku penerima yang berhak, berkas tersebut diotentikasi keaslian sumbernya dengan memverifikasi tanda tangan digital, lalu membukanya dengan menggunakan algoritma RSA untuk mendekripsi kunci dari algoritma AES, selanjutnya kunci algoritma AES yang telah didekripsi ini digunakan kembali untuk mendekripsi berkas database yang memuat sejumlah informasi mengenai hasil pelaksanaan pemungutan suara di masing - masing TPS. Setiap tahapan proses yang dilakukan akan dijelaskan dengan lebih terperinci pada bagian selanjutnya. kunci privat RSA dan hash

SHA-1

Gambar 3.1. Arsitektur umum perancangan keamanan informasi sistem e-voting

3.1.1. Enkripsi Data Jumlah Suara menggunakan Algoritma RSA

(54)

merupakan faktor penentu pemenang pemungutan suara. Oleh sebab itu, data jumlah suara ini harus diamankan dari pihak yang ingin memanipulasi jumlah suara untuk kepentingan pihak - pihak tertentu. Metode pengamanan yang diajukan adalah menyamarkan jumlah yang sebenarnya ke dalam bentuk ciphertext melalui proses enkripsi dengan algoritma RSA. Namun sebelum data jumlah suara ini dapat dienkripsi di setiap TPS, KPU selaku pihak penyelenggara pemungutan suara harus membuat kunci enkripsi dari algoritma RSA terlebih dahulu. Adapun langkah-langkah yang dilakukan dalam proses pembuatan kunci algoritma RSA pada sistem e-voting ini adalah sebagai berikut:

1. Memilih secara acak p dan q, dimana p dan q adalah bilangan prima dan nilai p dan q tidak sama.

2. Menghitung n= p.q

3. Menghitung ϕ (n) = (p-1)(q-1)

4. Memilih dan menghitung kunci publik e yang relatif prima terhadap ϕ (n) dengan rumus GCD (ϕ (n), e) = 1, dimana 1 < e < ϕ (n) .

5. Membangkitkan kunci privat d dengan persamaan d.e = 1 (mod ϕ (n)) , dimana d yang merupakan bilangan bulat positif.

6. Didapat kunci publik = {e, n} 7. Didapat kunci privat = {d, n}

Setelah kunci berhasil dibuat barulah proses enkripsi dapat dilakukan. Proses enkripsi pada sistem e-voting ini dilakukakan dengan langkah - langkah berikut.

4. Ambil kunci publik (e) ,dan modulus (n). 5. Pisahkan setiap karakter dari plaintext.

6. Setiap karakter dari plaintext dikonversikan ke dalam bentuk nilai desimal ASCII sehingga menghasilkan nilai Pi, dimana P merupakan plaintext yang

telah dikonversikan dan i merupakan indeks karakter plaintext.

7. Setiap nilai ASCII plaintext (Pi) dienkripsikan menjadi ciphertext (Ci) dengan

persamaan Ci = Pie mod n

(55)

Sebagai contoh akan diselesaikan proses enkripsi dengan data jumlah suara yang berjumlah 2857. Untuk melakukan enkripsi ini, kunci algoritma RSA harus terlebih dahulu dibuat dengan langkah - langkah berikut.

1. Dipilih kedua bilangan p = 31 dan q = 67

4. Pilih sebuah bilangan kunci publik e dengan menghitung GCD (ϕ (n), e). a. Pilih bilangan e = 4 dan memeriksanya dengan persamaan

GCD(1980, 4)

1980 mod 4 = 0, maka GCD(1980, 4) = 4 sehingga 4 tidak relatif prima 1980 dan tidak dapat digunakan sebagai kunci publik.

b. Pilih bilangan e = 7 dan memeriksanya dengan persamaan

(56)

1. Ambil kunci publik (e = 7) dan modulus (n = 2077)

2. Pisahkan kararakter data jumlah suara yang bernilai 2857 menjadi 2-8-5-7 3. Konversikan setiap karakter data jumlah suara

P1 =2 → ASCII = 50

5. Ciphertext yang dihasilkan dari proses enkripsi adalah 348583111127 Berikut gambar 3.2. yang menunjukkan proses enkripsi data jumlah suara.

Jumlah suara per indeks

per indeks karakter (Ci)

Jumlah suara (P)

Ciphertext jumlah suara (C)

Gambar 3.2. Proses enkripsi data jumlah suara

3.1.2. Enkripsi Database menggunakan Algoritma AES

(57)

Berikut langkah-langkah yang dilakukan dilakukan pada proses enkripsi database dengan menggunakan algoritma AES128-bit kunci:

1. Masukkan 16 bilangan heksadesimal ke dalam matriks berukuran 4x4 sebagai kunci.

2. Konversikan setiap karakter yang tersimpan dalam database yang akan dienkripsi ke nilai ASCII.

3. Konversikan nilai ASCII tersebut ke dalam heksadesimal.

4. Mengelompokkan setiap karakter yang telah diubah ke heksadesimal tersebut menjadi 128-bit tiap bagiannya.

5. Mengambil setiap 128-bit untuk dikelompokkan kembali menjadi 16 bagian dengan 8-bit (1 byte) tiap bagiannya dan memasukkan tiap bagian tersebut pada sel matriks berukuran 4x4.

6. Lakukan ekspansi kunci dengan langkah AddRoundKey.

7. Lakukan langkah SubBytes dengan cara menstubstitusi setiap byte yang telah diekspansi ke dalam tabel S-Box.

8. Lakukan langkah ShiftRows dengan melakukan rotasi hasil SubByte ke arah kanan mulai baris ke-2 hingga baris ke-4.

9. Lakukan langkah MixColumns dengan melakukan operasi XOR pada hasil transformasi ShiftRow menggunakan matriks RCON yang merupakan nilai konstanta pada algoritma AES.

10. Lakukan langkah AddRoundKey. 11. Ulangi langkah 7-10 sebanyak 9 kali.

12. Jika langkah 11 sudah dilakukan, maka lakukan langkah SubByte untuk memperoleh kunci ke-10.

13. Lakukan kembali langkah ShiftRows.

14. Lakukan langkah AddRoundKey pada kunci ke-10 untuk mendapatkan ciphertext.

(58)

AddRoundKey

Gambar 3.3. Proses enkripsi database

3.1.3. Enkripsi Kunci Algoritma AES menggunakan Algoritma RSA

(59)

Enkripsi

Gambar 3.4. Proses enkripsi kunci algoritma AES

3.1.4. Tanda Tangan Digital dengan SHA-1

Keaslian informasi yang diperoleh merupakan hal penting dalam proses rekapitulasi menggunakan sistem e-voting ini. Keaslian informasi berkaitan dengan pertanyaan apakah informasi yang dikirimkan dan diterima oleh KPU adalah informasi asli yang bersumber dari TPS dan tidak mengalami perubahan sedikit pun pada saat pengirimannya. Atas dasar hal ini, tanda tangan digital disisipkan ke setiap file yang akan didistribusikan ke KPU untuk menjaga keaslian dan keutuhan informasi tersebut.

Teknik yang digunakan dalam pembuatan tanda tangan digital dalam sistem e-voting ini adalah menggunakan fungsi hash SHA-1 untuk menghasilkan message digest dan menyisipkannya ke dalam file dengan algoritma RSA dan seperti yang dapat dilihat pada gambar 3.5.

Ciphertext database /

(60)

3.1.5. Verifikasi Tanda Tangan Digital

Verifikasi tanda tangan digital digunakan untuk mengetahui dan memverifikasi keaslian dari setiap file yang diterima oleh KPU. Apabila file yang diterima adalah file yang telah mengalami perubahan pada saat proses pengirimannya baik perubahan nama maupun perubahan isi, maka nilai message digest yang dihasilkan oleh fungsi hash SHA-1 file tersebut akan berbedadengan nilai message digest pada tanda tangan digital yang telah disisipkan, sehingga akan mengindikasikan adanya perubahan isi ataupun kandungan informasi. Proses verifikasi tanda tangan digital ini dapat dilihat pada gambar 3.6.

Gambar 3.6. Verifikasi tanda tangan digital

3.1.6. Dekripsi Data Jumlah Suara menggunakan Algoritma RSA

(61)

ASCII, C merupakan ciphertext data jumlah suara, i menunjukkan indeks, d dan n merupakan nilai dari kunci privat algoritma RSA. Hasil dekripsi yang berupa nilai ASCII kemudian dikonversikan kembali ke bentuk semulanya berdasarkan nilai pada tabel ASCII. Sebagai contoh akan diselesaikan dekripsi ciphertext data jumlah suara yang telah dienkripsi pada contoh sebelumnya. Langkah - langkah dalam proses dekripsi ciphertext data jumlah suara adalah sebagai berikut.

1. Ambil kunci publik (d = 283) dan modulus (n = 2077)

2. Pisahkan kararakter ciphertext data jumlah suara sesuai dengan indeksnya menjadi 348-583-111-127

3. P1 = 348283 mod 2077 → 50

P2 = 583283 mod 2077 → 56

P3 = 111283 mod 2077 → 51

P4 = 127283 mod 2077 → 55

6. Konversikan setiap karakter data jumlah suara P1 =50 → ASCII = 2

P2 = 56 → ASCII = 8

P3 = 51 → ASCII = 5

P4 = 55 → ASCII = 7

4. Gabungkan kembali hasil dari proses dekripsi sehingga didapat plaintext 2857 Berikut gambar 3.7. yang menunjukkan proses dekripsi ciphertext data jumlah suara.

Dekripsi Pi = Cid mod n

Pià ASCII

Indeks ciphertext jumlah suara (Ci)

Plaintext jumlah suara (P) Ciphertext jumlah suara (C)

Gambar

Tabel 2.3 S-Box Algoritma AES
Gambar 2.9 Skema proses tanda tangan digital (Munir, 2005)
Gambar 3.10. Arsitektur penggunaan sistem e-voting
Gambar 3.11. Flowchart proses registrasi mahasiswa
+7

Referensi

Dokumen terkait

Hal ini didukung oleh kenyataan di lapangan bahwa nilai-nilai yang dianut seperti: organisasi yang membutuhkan inovasi baru dalam rangka mengikuti perkembangan lingkungan

Sistematika penulisan yang digunakan dalam penelitian ini terdiri dari 5 bab yang masing-masing terbagi menjadi beberapa sub bab, hal ini dilakukan agar dapat mencapai

Kalau nilai merupakan pandangan tentang baik-buruknya sesuatu, maka norma merupakan ukuran yang digunakan oleh masyarakat apakah tindakan yang dilakukan oleh

Berdasarkan struktur berpikir subjek peneliti perlu memperbaiki kesalahan berpikir logis yaitu subjek menganggap bahwa untuk menentukan luas daerah yang diarsir

Kebijakan-kebijakan yang telah ditetapkan tentunya akan melahirkan program-program sebagai kumpulan kegiatan-kegiatan nyata dan terpadu serta berkesinambungan guna

Dalam menjalankan fungsinya, Biro ini selalu bekerja sama dengan Bagian Penyehatan Teknik ( gezondmakingswerken). Pada tahun 1929, Biro Malaria Pusat mulai mendirikan

Dengan memperhatikan adanya masalah dalam uji mutu tembakau dan potensi e-nose sebagai instrument uji mutu, maka tujuan dari penelitian ini adalah untuk membuat sebuah

Dari Usamah bin Zaid Radhiyallahu Anhu , ia berkata, “ Aku berkata kepada Rasulullah Shallallahu Alaihi wasallam, wahai Rasulullah, aku tidak pernah melihat engkau banyak berpuasa