1
1. Pendahuluan
Keamanan informasi data adalah proses untuk melindungi data dari perusakan atau penyalahgunaan yang dilakukan oleh orang dalam atau di luar
sebuah organisasi. Informasi yang merupakan hasil pengolahan dari data, mempunyai nilai yang berbeda bagi setiap orang. Seringkali sebuah informasi
menjadi sangat berharga, dan tidak semua orang diperkenankan untuk mengetahuinya. Untuk itu perlu adanya kerahasiaan tentang informasi tersebut
demi mencegah akses terhadap data-data yang dianggap sensitif oleh orang-orang yang tidak berhak di dalam maupun di luar organisasi.
Karena alasan tersebut keamanan untuk menjaga kerahasiaan informasi harus diterapkan demi melindungi data organisasi yang telah tersimpan.
Teknologi informasi digunakan untuk menjaga keamanan informasi data. salah satunya yaitu penyimpanan data pada basis data menggunakan teknik kriptografi
yang diterapkan pada data tersebut. Dengan adanya teknologi informasi, Kantor Pelayanan dan Perbendaharaan Negara KPPN Ambon melakukan suatu
perubahan sistem dalam pengelolaan data gaji seluruh pegawai dengan mengkonversikan berkas-berkas gaji pegawai ke bentuk digital menggunakan
sistem perhitungan gaji berbasis Web Service, dan menyimpan data gaji ke dalam database agar tidak terjadi kehilangan data. Namun, pengelolaan data
menggunakan sistem perhitungan gaji masih terdapat permasalahan yang timbul, dimana berkas atau data-data pegawai yang telah dimasukan ke dalam database,
sering terjadi perubahan pada nominal gaji pegawai oleh pihak-pihak yang tidak bertanggung jawab, sehingga terjadi ketidaksesuaian perhitungan dengan
pengeluaran anggaran untuk pembayaran gaji Pegawai Negeri Sipil di KPPN Ambon.
Solusi untuk menangani masalah tersebut adalah dengan merancang sebuah sistem guna mengamankan data gaji pegawai dengan penerapan algoritma
kriptografi one time pad untuk meningkatkan keamanan basis data pada data gaji pegawai di KPPN Ambon. Skema enkripsi yang akan dibangun di sini
menerapkan teknik pada kriptografi klasik, yang menganut kerahasiaan pada kunci key. Kunci pada algoritma ini juga menggunakan teknik substitusi kode
geser Shif demi keamanan yang lebih baik.
2. Tinjauan Pustaka
Pada penelitian yang berjudul ”Pemanfaatan Kembali Kriptografi Klasik
dengan Melakukan Modifikasi Metode- Metode Kriptografi yang ada” dibahas
mengenai memanfaatkan karakter-karater ASCII kriptografi klasik masih dapat digunakan pada jaman sekarang. Hal ini dikarenakan, karakter ASCII memiliki
extended character yang berjumlah 128, sehingga jumlah total karakter yang dapat digunakan adalah 256. Dengan kata lain, jumlah kerumitan algoritma akan
meningkat karena kemungkinan-kemungkinan yang ada semakin besar daripada hanya menggunakan karakter alfabet yang berjumlah 26 [1].
Pada penelitian yang berjudul ”Algoritma Enkripsi One Time Pad untuk
Pengamanan Access Database Server Menggunakan Bahasa Pemrograman Visual Basic” memberikan gambaran tentang kegunaan algoritma yang terkenal
2
sederhana namun unbreakable. Di dalamnya memuat contoh aplikasi serta pengaplikasiannya sehingga dapat memberikan gambaran tentang kegunaan dari
kriptografi one time pad itu sendiri [2].
Berdasarkan penelitian terdahulu yang membahas tentang penerapan pemanfaatan kode algoritma klasik dan algoritma One Time Pad maka dilakukan
penelitian yang bertujuan untuk menerapkan Algoritma One Time Pad untuk Meningkatkan Keamanan Basis Data pada Data Gaji Pegawai, karena karakter
yang digunakan pada kriptografi One Time Pad adalah karakter ASCII American Standard Code for Information Interchange yaitu suatu standar internasional
dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal yang memungkinkan untuk memiliki tingkat kerumitan yang lebih besar
daripada karakter alfabet. Selain itu, penelitian ini juga akan menerapkan teknik substitusi Kode Geser Shift pada kunci yang digunakan untuk kriptografi One
Time Pad. Penggabungan ini dimaksudkan agar kriptografi ini memiliki tingkat kerumitan algoritma yang lebih daripada hanya menggunakan satu algoritma
kriptografi yang ada. Penggabungan ini akan diterapkan untuk menyimpan data gaji pegawai pada sistem.
Kriptografi cryptography berasal dari Bahasa Yunani yang terdiri dari dua suku kata
yaitu “cryptós” artinya menyembunyikan dan “gráphein” artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang
berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi [3].
Beberapa istilah yang sering digunakan di dalam kriptografi adalah plaintext, ciphertext, encrypt, decrypt, cipher, kunci, dan sistem kriptografi.
Plaintext adalah informasi yang dapat dibaca dan dimengerti maknanya. Ciphertext adalah informasi yang telah disandikan ke bentuk yang lain sehingga
maknanya tidak dapat dimengerti. Encrypt adalah proses menyandikan plaintext menjadi ciphertext. Decrypt adalah proses mengembalikan ciphertext menjadi
plaintext. Cipher adalah algoritma yang digunakan untuk melakukan transformasi plaintext ke ciphertext. Kunci adalah parameter yang diperlukan cipher untuk
transformasi encrypt dan decrypt. Sistem kriptografi adalah kumpulan yang terdiri atas algoritma kriptografi, semua plaintext dan ciphertext yang mungkin
serta kunci.
Teknik kriptografi yang dibahas dalam penelitian ini Algoritma One-Time Pad ditemukan oleh Mayor Joseph Mauborgne dan Gilbert Vernam pada tahun
1917. Algoritma One-Time Pad merupakan algoritma berjenis kunci simetris yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi
adalah sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher dimana cipher berasal dari hasil exlusive-or antara bit plaintext dan bit key
[2].
Metode One-Time Pad juga merupakan perbaikan dari kriptografi Caesar. One Time Pad menggunakan kunci yang panjangnya sama dengan plaintext-nya.
Suatu cara untuk mendekripsikan pesan yang telah dienkripsi adalah dengan mengetahui kunci yang digunakan. Enkripsi yang dilakukan oleh One Time Pad
ini sebenarnya sama dengan enkripsi Caesar, namun karena panjang kunci sama dengan plaintext-nya, maka setiap huruf pada plaintext akan mengalami
3
pergeseran yang berbeda. Sistem kerja enkripsi One Time Pad adalah setiap kali melakukan enkripsi, dibangkitkan kunci pad yang panjangnya sama dengan teks
yang akan dienkripsikan.
Berikut adalah contoh konsep sederhana yang dibangun oleh One Time Pad [4] :
Misalkan terdapat kunci k yang terdiri atas string bit k0k1…kN dan
digunakan untuk mengenkripsi plainteks m = m0m1…mN dengan melakukan
operasi XOR Ekslusif-OR per bitnya. Jadi, cipherteks c = c0c1..cN didapat dari Setiap kunci hanya digunakan satu kali dan kemudian dibuang. Karena
setiap kunci hanya digunakan satu kali dengan probabilitas yang sama dan hanya terdapat tepat satu kunci yang mengenkripsi m ke c, maka one-time pad
memiliki kerahasiaan yang sempurna. Sistem kerja dari metode ini juga membutuhkan pengetahuan di bidang logika matematika, khususnya meng-XOR-
kan operand satu dengan operand lainnya. Makna dari Ekslusif-OR adalah bahwa kalau kedua input sama maka nilai keluarannya adalah F false, tetapi bila kedua
input berbeda akan menghasilkan nilai T true [5].
Selain logika XOR juga dibutuhkan pemahaman dalam pengkonversian ASCII American Standard Codes for International Interchange menjadi biner.
Hal ini karena, setiap karakter yang dimasukkan akan dilihat bentuk ASCII nya kemudian diubah ke biner, hal ini juga berlaku untuk kunci yang digunakan.
Kemudian setelah mendapatkan nilai binernya, data baru akan di-XOR-kan. Tabel 1 adalah contoh biner dan XOR pada karakter.
Tabel 1
Contoh Penggunaan Biner dan XOR pada Karakter.
Hasil XOR dari Tabel 1 adalah 0010 0011 dimana bila diubah ke bentuk
bilangan desimal akan mendapatkan nilai 35, dan bentuk ASCII dari 35 adalah symbol pagar . Hasil dari nilai ini belum tentu selamanya berupa symbol pagar,
karena hal ini dapat berubah-rubah dari hasil XOR yang didapatkan.
Selain dapat digunakan per karakter kata, one time pad juga dapat digunakan pada kata ataupun kalimat. Berikut ini adalah contoh penggunaan
kriptografi one time pad pada suatu kata. Misalkan kata “NAMA” sebagai
masukan , sedangkan kunci menggunakan kata “bete”. Maka, “NAMA” di sini
akan diubah per karakter katanya menjadi nilai biner, sehingga didapat nilai sebagai berikut :
Karakter Nilai ASCII Biner Inputan A 65 0100 0001
Kunci b 98 0110 0010 Hasil XOR 0010 0011
�� = �� ⊕ �� , for � = , ,…,�
4
Masukan Kunci
Sehingga jika masukan “NAMA” dan kunci “bete” di-XOR-kan, maka akan didapat hasil XOR seperti pada Tabel 2
Tabel 2 Contoh penggunaan Biner dan XOR pada Kata.
Tabel 2 menjelaskan tentang penggunaan biner pada kata “NAMA” dan
kata kunci “bete”, kemudian hasil biner tersebut di-XOR-kan sehingga dapat diperoleh hasilnya. Apabila nilai biner dari Hasil XOR pada Tabel 2 dikembalikan
ke bentuk angka desimal, kemudian melihat bentuk ASCII dari angka desimal
tersebut maka diperoleh hasil ,9. Dengan kata lain, kata ”NAMA” yang dienkripsikan akan berubah menjadi “,9”.
Kunci pada penelitian ini juga menggunakan algoritma subtitusi kode geser. Teknik subtitusi kode geser shift dengan modulus 26 memberikan angka
ke setiap a lfabet seperti A↔0, B↔1....Z↔25 [6].
Contohnya, teks asli ”UNIVERSITAS” maka teks asli akan mendapatkan
angka ”20 13 8 21 4 17 18 8 19 0 18” sesuai dengan penomoran alfabet. Untuk mendapatkan teks-kode, harus mempunyai kunci. Sebagai contoh, kunci yang
diambil disini adalah 11, maka jumlahkan setiap angka dari teks asli dengan 11. Jika hasil penjumlahannya lebih dari 26, maka hasilnya dikurangi 26. Misalnya 20
+ 11 = 31
– 26 = 5. Setelah dijumlahkan, maka hasilnya adalah ”5 24 19 6 15 2 3 19 4 11 3”. Setelah dikonversikan maka akan menghasilkan teks-kode ”
F YTGPCDTELD” seperti pada Gambar 1.
A B
C D
E F
G H
I J
K L M
1 2
3 4
5 6
7 8
9 10 11 10 N
O P
Q R
S T
U V W X
Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
Gambar 1 Contoh Penomoran Ke Setiap Alfabet.
3. Metode dan Perancangan Sistem