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. 3. Proses pengumpulan kartu suara yang berjalan lambat, karena perbedaan kecepatan pelaksanaan pemungutan suara di masing-masing tempat pemilihan.
Universitas Sumatera Utara
Universitas Sumatera Utara
7
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 E-Voting yaitu suatu metode pemungutan suara dan penghitungan suara dalam pemilihan umum dengan menggunakan perangkat elektronik (Priyono & Dihan, 2010). Proses pendaftaran pemilih, pelaksanaan pemilihan, penghitungan suara, dan pengiriman hasil suara dilakukan secara elektronik atau digital (Rokhman, 2011). Pilihan teknologi yang digunakan dalam implementasi dari e-voting sangat bervariasi, seperti penggunaan smart card untuk otentikasi pemilih, penggunaan internet sebagai pemungutan suara, penggunaan touch screen sebagai pengganti kartu suara, dan masih banyak variasi teknologi yang digunakan (Azhari, 2005). Penggunaan teknologi ini di satu sisi memberikan banyak kemudahan dan kecepatan, namun di sisi lain
Universitas Sumatera Utara
8
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. Penerapan e-voting akan membuat pesta demokrasi menjadi semakin efisien dan efektif dan hasilnya lebih cepat diketahui kurang dari 24 jam (Indriastuti & Wahyudi, 2010). Tetapi pentingnya kerahasiaan dan keamanan electronic election
Universitas Sumatera Utara
9
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 Merupakan usaha untuk menjaga kerahasiaan data. Data hanya boleh diakses oleh orang yang berwenang. Contohnya data-data pribadi, data-data bisnis,
Universitas Sumatera Utara
10
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 Dapat dipertanggungjawabkan melalui mekanisme logging dan audit. Adanya kebijakan dan prosedur (policy and procedures).
Universitas Sumatera Utara
11
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 Proses menyandikan plaintext menjadi ciphertext disebut enkripsi (encyption) atau enciphering (standar nama menurut ISO 7498-2). Sedangkan proses mengembalikan ciphertext menjadi plaintext semula dinamakan dekripsi (decryption) atau deciphering (standar nama menurut ISO 7498-2). Enkripsi
Universitas Sumatera Utara
12
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 : Key
Plaintext
Key
Ciphertext
Encryption
Decryption
Plaintext
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 Contoh kasus yang melibatkan 4 komunikan A, B, C, dan D. Maka untuk berkomunikasi satu sama lain dengan aman, dibutuhkan pasangan kunci sebanyak :
Universitas Sumatera Utara
13
4 (4 β1) 2
=
4 (3)
= 6 kunci untuk setiap pasangan.
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. Public Key
Plaintext
Encryption
Private Key
Ciphertext
Decryption
Plaintext
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. Beberapa algoritma yang memakai kunci asimetri adalah Digital Signature Algorithm (DSA), RSA, ElGamal, Diffie-Hellman, Elliptic Curve Cryptography (ECC), Schnoor, Kriptografi Quantum, Diffie-Helman, dan lain sebagainya.
Universitas Sumatera Utara
14
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. 4. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan digital pada pesan.
Universitas Sumatera Utara
15
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) 5. MARS (dari IBM, 31 suara)
Universitas Sumatera Utara
16
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
Rijndael (AES)
Daemen dan Rijmen
Best choice
Universitas Sumatera Utara
17
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 masingmasing 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. b. Melakukan penjumlahan bit antara blok plaintext dengan kunci yang terekspansi.
Universitas Sumatera Utara
18
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
Gambar 2.4 Ilustrasi transformasi ShiftRows (Daemen & Rijmen, 1999)
Universitas Sumatera Utara
19
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.
Gambar 2.6 Ilustrasi transformasi AddRoundKey (Daemen & Rijmen, 1999)
Universitas Sumatera Utara
20
Plaintext
KeyAddition
9 putaran
SubByte ShiftRow MixColoumn AddRoundKey
SubByte ShiftRow AddRoundKey
Ciphertext
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. c. Ciphertext hasil yang berasal dari proses AddRoundKey digeser baris keduanya ke kanan 1 langkah, baris ketiga 2 langkah ke kanan, dan seterusnya hingga baris keempat=3 langkah ke kanan. Proses ini disebut dengan Inverse of ShiftRow.
Universitas Sumatera Utara
21
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-Box Algoritma AES | 0 1 2 3 4 5 6 7 8 9 a b c d e f ---|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--| 00 |52 09 6a d5 30 36 a5 38 bf 40 a3 9e 81 f3 d7 fb 10 |7c e3 39 82 9b 2f ff 87 34 8e 43 44 c4 de e9 cb 20 |54 7b 94 32 a6 c2 23 3d ee 4c 95 0b 42 fa c3 4e 30 |08 2e a1 66 28 d9 24 b2 76 5b a2 49 6d 8b d1 25 40 |72 f8 f6 64 86 68 98 16 d4 a4 5c cc 5d 65 b6 92 50 |6c 70 48 50 fd ed b9 da 5e 15 46 57 a7 8d 9d 84 60 |90 d8 ab 00 8c bc d3 0a f7 e4 58 05 b8 b3 45 06 70 |d0 2c 1e 8f ca 3f 0f 02 c1 af bd 03 01 13 8a 6b 80 |3a 91 11 41 4f 67 dc ea 97 f2 cf ce f0 b4 e6 73 90 |96 ac 74 22 e7 ad 35 85 e2 f9 37 e8 1c 75 df 6e a0 |47 f1 1a 71 1d 29 c5 89 6f b7 62 0e aa 18 be 1b b0 |fc 56 3e 4b c6 d2 79 20 9a db c0 fe 78 cd 5a f4 c0 |1f dd a8 33 88 07 c7 31 b1 12 10 59 27 80 ec 5f d0 |60 51 7f a9 19 b5 4a 0d 2d e5 7a 9f 93 c9 9c ef e0 |a0 e0 3b 4d ae 2a f5 b0 c8 eb bb 3c 83 53 99 61 f0 |17 2b 04 7e ba 77 d6 26 e1 69 14 63 55 21 0c 7d
Universitas Sumatera Utara
22
Ciphertext
AddRoundKey InvShiftRow InvSubByte
9 putaran
AddRoundKey InvMixColoumn InvShiftRow InvSubByte
KeyAddition
Plaintext
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). Algoritma kriptografi RSA merupakan algoritma yang termasuk dalam kategori algoritma asimetri atau algoritma kunci publik. Algoritma kriptografi RSA
Universitas Sumatera Utara
23
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) maka Ο (n) = Ο (p ). Ο (q) = (p-1)(q-1)
Universitas Sumatera Utara
24
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 (abc....) mod m = [(a mod m)(b mod m)(c mod m)....] mod m
Universitas Sumatera Utara
25
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 = [ 574 . 171 . 171 ] mod 2077 = [ 535 . 171 ] mod 2077 = [ 97 ] mod 2077 Jadi, nilai dari 1504283 mod 2077 = 97
Universitas Sumatera Utara
26
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 = Ci d mod n Ketiga proses yang telah dibahas yakni pembangkitan kunci, enkripsi, dan dekripsi dapat dicontohkan sebagai berikut :
Universitas Sumatera Utara
27
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 . 5) mod 5645509736
1
451607789
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 m4 = 73
Universitas Sumatera Utara
28
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 C7 = 735 mod 564574099 = 379349296 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
Universitas Sumatera Utara
29
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. Keunikannya adalah jika di tengah perjalanan data mengalami modifikasi, penghapusan maupun di sadap diam-diam oleh hacker walaupun hanya 1 karakter saja, maka message digest yang berada si penerima akan berbeda dengan yang dikirimkan pada awalnya. Keunikan lainnya adalah message digest tersebut tidak bisa dikembalikan lagi ke dalam bentuk awal seperti sebelum disentuh dengan fungsi algoritma, sehingga disebutlah sebagai one-way hash. Berikut skema proses tanda tangan digital dapat dilihat pada gambar 2.9.
Universitas Sumatera Utara
30
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). 5. Proses selanjutnya adalah membandingkan message digest primer dengan message digest sekunder. Jika saja saat diperjalanan ada hacker yang mengubah isi pesan, maka message digest sekunder akan berbeda dengan
Universitas Sumatera Utara
31
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 Dari hasil ciphertext terakhir yang diperoleh terdapat perbedaan yang berarti pesan sudah diubah.
Universitas Sumatera Utara
32
2.9. Penelitian Terdahulu Terdapat beberapa penelitian terdahulu yang berkaitan dengan penggunaan kriptografi sebagai metode pengamanan sistem pemungutan suara elektronik (e-voting). Beberapa penelitian terdahulu dalam penelitian ini akan dijadikan sebagai bahan acuan agar peneliti dapat memperoleh informasi mengenai topik pembahasan penelitian yang akan dilakukan. Pada tahun 2012, Polin melakukan penelitian terkait keamanan informasi pada e-voting secara online dengan menggunakan algoritma kriptografi kunci publik. Algoritma kunci publik yang digunakan Polin adalah algoritma RSA yang memiliki kelebihan dalam tingkat kerumitan memfaktorkan bilangan enkripsi, namun tingkat kerumitan yang digunakan Polin masih relatif rendah dikarenakan keterbatasan bahasa pemrograman yang digunakannya untuk membangun sistem e-voting. Dyah Ayu pada tahun 2014 menerapkan digital signature pada sistem e-voting dengan arsitektur rancangan sistem yang lebih kompleks, namun pembatasan masalah yang dibahas Dyah Ayu hanya pada otentikasi keaslian pertukaran data dan informasi yang digunakan. Di tahun yang sama penggunaan kombinasi algoritma kunci simetrik dan asimetrik (publik) diajukan oleh Rojali. Kunci simetrik yang digunakan Rojali adalah algoritma AES, sedangkan kunci asimetrik yang digunakan adalah RSA. Kombinasi keduanya mampu melindungi data dan informasi dengan baik, serta memiliki ketahanan terhadap berbagai serangan keamanan informasi. Namun, terkait penggunaan algoritma yang memiliki tingkat kerumitan dalam memfaktorkan bilangan yang digunakan oleh Rojali masih relatif rendah, mengakibatkan kemanan sistem e-voting yang dibangun belum optimal. Hal ini diakui Rojali yang didukung pernyataan dari beberapa ahli bahwa untuk menerapkan keamanan informasi yang efektif dengan algoritma RSA digunakan kunci dengan panjang minimal 1024-bit.
Universitas Sumatera Utara