1 Desain dan Implementasi Efisiensi Bit Cipherteks: Suatu Pendekatan Komparasi Algoritma Huffman dan Rancangan Cipher Block dengan Transposisi Pola “DoTA 2” Artikel Ilmiah Peneliti : Jodha Dwiwira Buji (672010281) Magdalena A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Februari 2016
28
Embed
Desain dan Implementasi Efisiensi Bit Cipherteks: suatu ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Desain dan Implementasi Efisiensi Bit Cipherteks:
Suatu Pendekatan Komparasi
Algoritma Huffman dan Rancangan Cipher Block dengan
Transposisi Pola “DoTA 2”
Artikel Ilmiah
Peneliti :
Jodha Dwiwira Buji (672010281)
Magdalena A. Ineke Pakereng, M.Kom.
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Februari 2016
2
3
4
5
Desain dan Implementasi Efisiensi Bit Cipherteks:
Suatu Pendekatan Komparasi
Algoritma Huffman dan Rancangan Cipher Block dengan Transposisi Pola
“DoTA 2”
1Jodha Dwiwira Buji, 2 Magdalena A. Ineke Pakereng, 3Alz Danny Wowor
1 Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi Universitas Kristen Satya Wacana,
Salatiga. 2 Staff pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga. 3 Staff pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga.
6
1. Pendahuluan
Keamanan informasi sangat berpotensi menyebabkan kerugian baik di sisi
finansial maupun produktifitas sebuah organisasi atau instansi. Pentingnya suatu
informasi, berkaitan erat dengan pentingnya informasi tersebut dikirim dan diterima
oleh pihak-pihak yang berkepentingan. Informasi yang dimaksud adalah informasi
yang berupa teks. Teks merupakan kumpulan karakter-karakter atau string yang
menjadi satu kesatuan. Teks yang memuat banyak karakter didalamnya selalu
menimbulkan masalah pada media penyimpanan atau pada saat ditransmisikan
melalui jaringan.
Dalam komunikasi suatu informasi terdapat sebuah metode pengamanan data
yang dikenal dengan nama kriptografi. Kriptografi merupakan salah satu metode
pengamanan data yang dapat digunakan untuk menjaga kerahasian data, keaslian
data, serta keaslian pengirim. Metode ini bertujuan untuk mengubah data ke dalam
kode-kode tertentu agar informasi yang disimpan maupun ditransmisikan tidak
dapat dibaca oleh orang lain dan hanya dapat dibaca oleh pihak yang berhak.
Algoritma block cipher merupakan kriptografi simetris yang melakukan enkripsi
dan dekripsi dengan kunci yang sama [6].
Banyaknya suatu data teks dalam sebuah informasi membuat semua orang
berpikir untuk menemukan sebuah cara yang dapat digunakan untuk memampatkan
data teks. Pemampatan adalah proses pengubahan sekumpulan data menjadi suatu
bentuk kode untuk menghemat tempat penyimpanan dan waktu untuk transmisi
data. Tidak ada metode pemampatan yang paling efektif untuk semua jenis data.
Dalam penelitian ini metode pemampatan data teks yang diimplementasikan adalah
algoritma Huffman [3].
Penelitian kali ini meneliti tentang seberapa efesien bit cipherteks dari hasil
perbandingan dua proses menjadi satu antara algoritma Huffman dan rancangan
kriptografi block cipher dengan transposisi pola “DoTA 2”. Kombinasi dari
algoritma Huffman dan rancangan kriptografi block cipher baru ini dimaksudkan
untuk menghemat tempat dan waktu dalam penyimpanan atau transmisi data, serta
memberi keamanan terhadap data tersebut.
Akan dilakukan dua analisis statistik, pertama untuk membandingan setiap
pola rancangan dalam block cipher berdasarkan korelasi bit masukan dan bit
ambilan setiap pola juga perbandingan proses dalam block cipher berdasarkan
korelasi bit plainteks dan bit cipherteks setiap proses, kedua untuk membandingkan
kinerja setiap kombinasi algoritma Huffman dan rancangan block cipher
berdasarkan rasio/perbandingan ukuran bit cipherteks terhadap ukuran bit plainteks.
2. Tinjauan Pustaka
Penelitian pertama berjudul “Kriptografi Kunci Simetris Dengan
Menggunakan Algoritma Crypton”, menganalisis tentang kinerja Algoritma
Crypton dengan melakukan simulasi pada Personal Computer (PC) yang bertujuan
untuk menggunakan kunci simetris sebagai keamanan dalam enkripsi dan dekripsi
7
dalam perancangan algoritma baru. Kunci yang dimaksud untuk mengenkripsi dan
dekripsi adalah kunci private, dimana kunci dirahasiakan dari umum hanya
pengirim dan penerima yang dapat mengetahui kunci tersebut [1].
Penelitian kedua yang digunakan sebagai perbandingan dan sebagai acuan
dalam rancangan kriptografi block cipher baru ini yaitu “Perancangan dan
Implementasi Kriptografi Block Cipher Berbasis pada Bentuk Piramida dan Linear
Congruential Generator”. Penelitian ini membahas tentang perancangan algoritma
kriptografi block cipher, dengan proses enkripsi mengacak rangkaian biner plaintext
kedalam matriks 16×8(128bit) dengan menggunakan pola seperti bentuk piramida
sebagai pola pengambilan, yang dilakukan operasi matematika Exclusive OR
(XOR) dpada bilangan biner plainteks terhadap kunci yang telah dilakukan proses
pengacakan dengan pembangkit kunci Linear Congruential Generator. Enkripsi
pada algoritma ini dirancang dengan mempunyai 4 putaran sehingga menghasilkan
ciphertext [2].
Penelitian ketiga, “Studi Perbandingan Algoritma Huffman dan Lempel Ziv
Welch (LZW) Pada Pemampatan File Teks” [3], menjelaskan tentang kelebihan dan
kekurangan dari masing-masing algoritma baik itu Algoritma Huffman dan
Algoritma LZW dalam pemampatan teks. Algoritma Huffman merupakan metode
paling lama dan paling terkenal dalam pemampatan teks. Kerja algoritma mirip
dengan prinsip kerja dalam kode morse, dimana tiap karakter (simbol) dikodekan
hanya dengan rangkaian beberapa bit. Karakter yang sering muncul dikodekan
dengan rangkaian bit yang pendek dan karakter yang jarang muncul akan dikodekan
dengan rangkaian bit yang lebih panjang. Berdasarkan tipe peta kode yang
digunakan untuk mengubah pesan awal menjadi sekumpulan codeword, algoritma
Huffman termasuk kedalam kelas algoritma yang menggunakan metode statik [4].
Algoritma Huffman digunakan karena berdasarkan hasil penelitian ketiga
disimpulkan bahwa secara rata-rata Algoritma Huffman menghasilkan rasio file
hasil pemampatan yang terbaik daripada Algoritma LZW [3]. Algoritma Huffman
digunakan bertujuan untuk memampatkan sebuah teks pada sebuah file yang akan
dikombinasikan dengan kriptografi block cipher sehingga algoritma yang dirancang
dapat memiliki besaran data yang kecil dan aman.
Perbedaan mendasar dengan penelitian-penelitian sebelumnya adalah blok
berukuran 16×16 (256-bit) karena untuk meningkatkan tingkat kerumitan dari
peneletian sebelumnya yang berukuran 16×8 (128 bit). Blok berukuran 16×16 (256-
bit) digunakan untuk proses enkripsi-dekripsi pada plainteks dan cipherteks
menggunakan metode transposisi bit dengan rancangan pola “DoTA 2”. Perbedaan
selanjutnya pada penelitian ini adalah meneliti algoritma yang lebih efesien
dilakukan antara kombinasi enkripsi terlebih dahulu dilakukan selanjutnya
pemampatan Huffman atau sebaliknya dengan menganalisis statistik bit cipherteks.
Selanjutnya akan dibahas dasar-dasar teori yang digunakan sebagai dasar
untuk merancang kriptografi dalam penelitian ini. Kriptografi merupakan ilmu yang
mempelajari teknik-teknik yang berhubungan dengan aspek keamanan informasi
seperti kerahasiaan, integritas data, dan otentikasi [5].
8
Kriptografi memiliki dua konsep utama, yaitu enkripsi dan dekripsi. Enkripsi
adalah proses dimana plaintext dilakukan proses penyandian sehingga menjadi
ciphertext yang merubah pesan menjadi bentuk lain dengan tujuan tidak dapat
dibaca oleh orang lain selain pengirim dan penerima tanpa merubah isi pesan
tersebut, sedangkan dekripsi adalah proses mengembalikan ciphertext menjadi
plaintext.
Kriptografi dapat dibedakan menjadi kriptografi simetris (Symmetric-key
cryptography) dan kriptografi asimetris (Asummetric-key cryptography)
berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi. Sistem dari
kriptografi simetris mengibaratkan pengirim dan penerima pesan sudah berbagi
kunci yang sama sebelum melakukan pertukaran pesan (Gambar 1). Keamanan
sistem kriptografi terletak pada kerahasiaan kuncinya.
Gambar 1 Skema Kriptografi Kunci Simetris[6]
Sistem kriptografi dengan kunci asimetris memiliki kunci enkripsi dan kunci
dekripsi yang berbeda. Pada kriptografi ini, pengirim dan penerima memiliki
sepasang kunci, yaitu kunci publik dan kunci privat. Pengirim melakukan enkripsi
pesan menggunakan kunci publik milik penerima sehingga hanya penerima pesan
yang dapat melakukan dekripsi terhadap pesan tersebut, karena hanya penerima
yang mengetahui kunci privatnya (Gambar 2).
Gambar 2 Skema Kunci Kriptografi Kunci Asimetris[6]
Block cipher merupakan rangkaian bit plainteks yang dibagi menjadi blok-
blok dengan panjang yang sama, panjang bit yang umum dipakai adalah 64-bit atau
128-bit. Proses enkripsi yang digunakan dari hasil pengacakan pada blok bit
plainteks yang dilakukan dan menghasilkan blok bit cipherteks dengan ukuran yang
sama seperti enkripsi. Dekripsi digunakan kebalikan dari cara yang sama seperti
enkripsi.
9
Pemampatan (kompresi) adalah proses pengubahan sekumpulan data menjadi
bentuk kode dengan tujuan untuk menghemat kebutuhan tempat penyimpanan dan
waktu untuk transmisi data. Pemampatan hanya mungkin untuk dilakukan apabila
data yang direpresentasikan dalam bentuk normal mengandung informasi yang
tidak dibutuhkan. Ketika data tersebut sudah ditampilkan dalam format yang
seminimal mungkin, maka data tersebut sudah tidak akan bisa dimampatkan lagi.
Metode kompresi Huffman menggunakan metode symbolwise yang artinya
menghitung peluang kemunculan dari setiapi simbol dalam satu waktu, dimana
simbol yang lebih sering muncul diberi kode lebih pendek dibandingkan simbol
yang jarang muncul.
Pada awalnya David Huffman hanya melakukan encode karakter dengan
hanya menggunakan pohon biner biasa, namun setelah itu David Huffman
menemukan bahwa penggunaan Algoritma Greedy dapat membentuk kode prefiks
yang optimal. Pengguna Algoritma Greedy pada Algoritma Huffman adalah pada
pemilihan dua pohon dengan frekuensi terkecil dalam membuat pohon Huffman.
Algoritma Greedy ini digunakan pada pembentukan pohon Huffman agar
meminimumkan total cost yang dibutuhkan. Cost yang digunakan untuk
menggabungkan dua buah pohon pada akar setara dengan jumlah frekuensi dua
buah pohon yang digabungkan, oleh karena itu total cost pembentukan pohon
Huffman adalah jumlah total seluruh penggabungan. Penggabungan dua buah
pohon dilakukan disetiap langkah dan Algoritma Huffman selalu miliki dua buah
pohon yang mempunyai frekuensi terkecil untuk meminimumkan total cost seperti
pada Gambar 3 [3].
Gambar 3 Pohon Biner [3]
Masukan Algoritma Huffman berdasarkan daftar karakter-karakter yang
telah diurutkan didapatkan pada persamaan 1 dan berdasarkan frekuensinya
didapatkan pada persamaan 2. Keluaran dari Algoritma Huffman adalah berupa
kode string biner yang ditunjukkan pada persamaan 3 [6].
(1)
(2)
(3)
10
Algoritma pemampatan Huffman [6]:
1. Baca file teks yang akan dimampatkan.
2. Hitung frekuensi dari setiap karakter yang ada. Jenis karakter dan frekuensi
disimpan sebagai tree dalam sebuah list.
3. Selama list masih mempunyai node lebih dari satu maka:
a. Urutkan list berdasarkan frekuensinya, secara ascending.
b. Buat tree baru, kaki kiri diisi dengan node pertama list dan kaki
kanannya diisi dengan node kedua list. Karakter yang disimpan
berupa “a” dan frekuensinya merupakan jumlahan dari frekuensi
kedua kakinya.
4. Sebelum hasil pemampatan disimpan dalam file hasil, maka simpan terlebih
dahulu tree Huffmannya. Pertama simpan jumlah karakter keseluruhan.
Kemudian telusuri tree secara preorder, kaki kiri diberi kode “0” dan kaki
kanan diberi kode “1”. Setelah sampai pada leaf maka simpan karakter pada
leaf tersebut baru kemudian simpan deretan kode yang dihasilkan. Setiap
kode disimpan dengan dibatasi “a”. Setelah tree selesai disimpan, untuk
membatasi penyimpanan tree dengan hasil kompresi disisipkan “A”.
5. Telusuri tree secara preorder, kaki kiri diberi kode “0” dan kaki kanan
diberi kode “1”. Setelah sampai pada leaf makan deretan kode yang didapat
digunakan untuk mengkodekan karakter pada leaf tersebut. Setelah
penulusuran selesai maka akan didapatkan daftar karakter dan kode
binernya.
6. Baca setiap karakter pada file asal. Ubah setiap karakter menjadi kode biner
sehingga mendapatkan rangkaian biner untuk masuk ke proses enkripsi.
Permainan Defense of The Acient 2 (DoTA 2) memiliki pola yang tercipta
dari map dalam permainan ini. Dalam visualisasinya map ”DoTA 2” menunjukan
sebuah area berbentuk persegi yang memiliki jalan sebagai penghubung diantara
kedua sudut milik masing-masing tim (Gambar 4). Jalan tersebut menunjukan
adanya proses perpindahan atau transposisi dalam proses pertempuran antara dua
kubu. Terdapat tiga jalan yaitu mid, bot, dan top [7]. Jalannya permainan ini melalui
ketiga jalan tersebut membentuk sebuah pola yang unik. Hasil percobaan dari
beberapa pola-pola pada penelitian sebelumnya, pola ini memiliki nilai korelasi
yang lebih baik sehingga dapat diimplementasikan kedalam sebuah pola
pemasukan plaintext dan kunci. Hal inilah yang membuat pola transposisi dalam
permainan “DoTA 2” menjadi dasar pembuatan kriptografi block cipher dalam
penelitian ini. Dalam empat proses perputaran yang dilakukan memiliki empat arah
pola yang berbeda dikarenakan ketersediaan pola arah dalam permainan “DoTA 2”
tersebut hanya empat arah.
11
Gambar 4 Bentuk map DoTA 2 dan Jalan Dalam Permainan [7]
Sistem kriptografi adalah himpunan yang terdiri dari algoritma kriptografi,
semua plainteks dan cipherteks yang mungkin, dan kunci [5]. Sebuah kriptografi
dapat dikatakan sebagai sistem kriptografi jika memenuhi lima-tuple (five tuple) (P,
C, K, E, D) yang memenuhi kondisi [8]:
1. P adalah himpunan berhingga dari plaintext,
2. C adalah himpunan berhingga dari ciphertext,
3. K merupakan ruang kunci (keyspace), adalah himpunan berhingga kunci,
4. E adalah himpunan fungsi enkripsi CPk
e : ,
5. D adalah himpunan fungsi dekripsi PCk
d :.
Untuk setiap k ∊ K, terdapat aturan enkripsi ek ∊ E dan berkorespodensi dengan
aturan dekripsi kd D. Setiap P C dan C P adalah fungsi sedemikian
hingga xxed kk untuk setiap plainteks x P.
Dasar teori pada pengujian statistika dari penelitian ini menggunakan
korelasi, korelasi merupakan suatu teknik statistik yang dipergunakan untuk
mengukur kekuatan hubungan dua variabel dan juga untuk mengetahui bentuk
hubungan antara dua variabel tersebut dengan hasil yang sifatnya kuantatif.
Kekuatan hubungan antara dua variabel biasanya disebut dengan koefisien korelasi
dan dilambangkan dengan simbol “r”. Nilai koefisien akan selalu diantara -1
sampai +1 sehingga diperoleh persamaan 3 [9].
(3)
Merujuk pada persamaan (3) maka secara matematis nilai r diperoleh dari
jumlah nilai selisih perkalian antara x dan y dengan hasil perkalian jumlah total x
dan y dibagi dengan hasil akar dari selisih untuk perkalian jumlah x kuadrat dengan
kuadrat pangkat dua untuk jumlah total x dengan selisih jumlah y kuadrat dengan
12
kuadrat pangkat dua untuk total y dimana x sebagai plainteks dan y sebagai
cipherteks sehingga dapat diperoleh persamaan 4 [9].
(4)
Dasar teori pengujian kedua adalah untuk dapat mengukur besarnya
penyusutan suatu data menggunakan rasio pemampatan. Rasio pemampatan
merupakan perbandingan ukuran data setelah dilakukan pemampatan dengan data
semula yang ditunjukan dalam persentase (ditulis dalam %) sehingga didapat
diperoleh persamaan 5 [6].
(5)
3. Metode Penelitian dan Perancangan Sistem
Penelitian yang dilakukan diselesaian melalui beberapa tahapan penelitian
yang keseluruhan terbagi dalam lima tahapan, yaitu: (1) Identifikasi masalah dan
studi literatur, (2) Perancangan sistem, (3) Implementasi sistem, (4) Pengujian
sistem dan analisis hasil pengujian, dan (5) penulisan laporan.
Gambar 5 Langkah-langkah Penelitian
Langkah 1: Identifikasi masalah dan studi literatur, yaitu
mengidentifikasikan masalah-masalah yang akan dibahas, serta mendapatkan data
dan literatur yang terkait dengan perancangan dan implementasi algoritma
kriptografi berbasis pada kombinasi Teknik Permainan “DoTA 2” dan Metode
Kompresi Huffman;
13
Langkah 2: Perancangan sistem, yaitu langkah dimana membuat bagan
proses enkripsi dan dekripsi, juga membuat gambaran umum mengenai pembuatan
teknik kriptografi; Batasan masalah yang diberikan untuk tidak memperluas ruang
lingkup pembahasan dalam penelitian ini, yaitu;
1. Proses enkripsi dan dekripsi dilakukan terhadap file teks, seperti .txt.
2. Jumlah karakter kunci terbatas sebanyak 8 karakter.
3. Ukuran blok yang digunakan adalah 16×16 (256-bit).
4. Spesifikasi perangkat keras (hardware) : Processor Intel Core i5 1.60 GHz,