T1__Full text Institutional Repository | Satya Wacana Christian University: Perancangan Algoritma Transposisi Berbasis Permainan GiciGici sebagai Indeks Permutasi pada Block Cipher 256 Bit T1 Full text
Perancangan Algoritma Transposisi Berbasis Permainan Gici-Gici
Sebagai Indeks Permutasi pada Block Cipher 256 Bit
Artikel Ilmiah
Diajukan Kepada
Fakultas Teknologi Informasi
Untuk Memperoleh Gelar Sarjana Komputer
Peneliti :
Servantly Godlife Latuheru (672012194)
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
1
i
ii
iii
iv
1.
Pendahuluan
Berbicara tentang teknologi pada jaman sekarang ini tidak akan ada habisnya.
Teknologi berkembang pesat dan membawa perubahan besar bagi kehidupan manusia
serta mempunyai dampak baik maupun dampak buruk bagi manusia itu sendiri.
Seiring dengan perkembangan teknologi, banyak terjadi kasus penyalahgunaan
teknologi, pencurian data, dan pembobolan jaringan komputer yang dikarenakan
lemahnya tingkat keamanan dalam jaringan
Salah satu kasus yang terjadi, menurut laporan yang dirilis Reuters, sepanjang
tahun 2013 lalu sebanyak 70 juta data kartu kredit berhasil dicuri oleh seorang hacker
asal Rusia yang berhasil meretas sejumlah departement store barang-barang mewah.
pelaku kejahatan cyber ini disinyalir adalah seorang hacker remaja yang baru berusia
17 tahun [1]. Kasus serupa yang terjadi di Jepang yaitu pencurian data dari bank
Afrika Selatan dan menggunakannya untuk mencetak kurang lebih 1.600 kartu kredit
palsu. Kartu itu yang kemudian digunakan untuk menarik uang dalam jumlah
maksimal, yakni 100.000 yen yang dilakukan sampai 14 ribu kali transaksi. Polisi
menduga ada sekitar 100 orang yang terlibat dalam pencurian ini [2].
Kriptografi bertujuan agar pesan atau dokumen yang dikirim tidak dibaca oleh
orang yang tidak berhak dan pemalsuan pesan serta dokumen juga dapat dibuktikan
sehingga orang yang memberi pesan tidak dapat mengelak dari tanggung jawab telah
mengirim pesan tersebut [3]. Semakin baik algoritma dan kunci yang dibuat, semakin
baik juga kerahasiaan informasi itu terjaga. Namun pada penelitian-penelitian
sebelumnya, algoritma yang di rancang masih memiliki kelemahan sehingga dapat
dipecahkan oleh kriptanalisis.
Untuk menjawab masalah-masalah itulah, dikembangkan suatu algoritma
transposisi baru yang idenya diangkat dari sebuah permainan daerah Maluku yang
bernama Gici-Gici dengan tujuan untuk menyulitkan kriptanalisis. Algoritma
transposisi berbasis permainan gici-gici digunakan karena telah teruji keacakannya
dengan mengacu pada pengujian korelasi maupun avalanche effect.
2.
Tinjauan Pustaka
Penelitian sebelumnya yang pertama berjudul Designing an algorithm with
high Avalanche Effect membahas tentang pengujian nilai avalanche effect yang
mencapai hingga 70,31% dan dibandingkan dengan kriptografi klasik maupun
moderen seperti Playfair cipher, Vigenere Cipher, Caesar Cipher dll. Penelitian ini
digunakan sebagai acuan untuk penelitian yang dibuat dimana pengujian avalanche
effect menggunakan kalimat “DISASTER” sebagai plaintext dan “SRIRAMSR”
sebagai kunci[5].
Penelitian yang berjudul Perancangan Kriptografi Block Cipher dengan
Langkah Permainan Engklek yang membahas tentang perancangan algoritma
kriptografi Block cipher berbasis pada langkah permainan engklek. Penelitian ini
1
digunakan sebagai pembanding dengan penelitian yang dilakukan dimana pola
transposisi yang digunakan menggunakan langkah permainan Engklek (Gic-Gici)
yang berbeda. Perancangan Kriptografi Block Cipher dengan Langkah Permainan
Engklek meliputi pengujian kecepatan proses enkripsi dan dekripsi serta
implementasi algoritma permainan engklek ke dalam Aplikasi [6].
Berdasarkan penelitian-penelitian terkait kriptografi Block cipher, maka akan
dilakukan penelitian tentang perancangan kriptografi block cipher berbasis pola
permainan Gici-Gici. Pola transposisi yang digunakan dalam penelitian ini
merupakan pola transposisi baru yang diharapkan dapat memberikan kontribusi
dalam bidang kriptografi. Penelitian yang dilakukan ini membahas tentang analisis
kombinasi dan avalanche effect dimana enkripsi dan dekripsi menggunakan pola
permainan Gici-Gici sebagai pengacakan.
Selanjutnya akan dibahas dasar teori yang digunakan sebagai landasan untuk
merancang algoritma kriptografi dalam penelitan ini. Kriptografi adalah ilmu atau
seni untuk menjaga keamanan pesan, ketika suatu pesan ditransfer dari suatu tempat
ke tempat lain, isi dari pesan tersebut kemungkinan dapat disadap oleh pihak lain.
Untuk menjaga keamanan pesan, pesan tersebut dapat di-scramble, diacak atau
diubah menjadi kode yang tidak dapat dimengerti oleh orang lain. Tujuan Kriptografi
adalah: a) Confidentiality: untuk melindungi identitas pemakai atau isi pesan agar
tidak dapat dipakai oleh orang lain yang tidak berhak; b) Data Intergrity: untuk
melindungi pesan agar tidak diubah oleh orang lain; c) Authentication: untuk
menjamin keaslian data; d) Non-repudiation: membuktikan suatu pesan berasal dari
seseorang, apabila ia menyangkal mengirim pesan tersebut. Dalam dunia kriptografi,
pesan yang akan dirahasiakan disebut plaintext. Pesan yang sudah diacak disebut
ciphertext. Proses untuk mengkonversi plaintext menjadi ciphertext disebut enkripsi.
Proses untuk mengambil plaintext dari ciphertext disebut dekripsi. Algoritma
kriptografi (cipher) adalah fungsi-fungsi matematika yang digunakan untuk
melakukan enkripsi dan dekripsi, dan diperlukan kunci yaitu kode untuk melakukan
enkripsi dan dekripsi [7].
Block cipher adalah bentuk algoritma enkripsi kunci simetri yang
mentransformasikan satu block data tertentu dari plaintext ke dalam satu block data
ciphertext dengan panjang block yang sama. Transformasi ini berlangsung melalui
penggunaan kunci rahasia yang disediakan oleh pemakai. Dekripsi dilakukan dengan
menggunakan transformasi kebalikan terhadap block ciphertext menjadi satu block
plaintext dengan kunci dan panjang block yang sama. Panjang block tertentu disebut
ukuran block (block size) dimana ukuran block tersebut bervariasi misalnya 16 bit, 32
bit, 64 bit, 128 bit atau 256 bit tergantung dari teknik yang digunakan dan
perkembangan kemampuan mikroprosesor selanjutnya. Karena block plaintext yang
berbeda dipetakan ke block ciphertext yang berbeda, suatu block cipher secara efektif
menyediakan satu permutasi korespondensi satu ke banyak dari set pesan. Permutasi
berpengaruh pada saat enkripsi tertentu yang sudah pasti rahasia, karena permutasi
tersebut adalah fungsi dari kunci rahasia. Jika pengguna menggunakan satu block
2
cipher untuk mengenkrip satu pesan dengan panjang sembarang, pengguna
menggunakan teknik yang dikenal sebagai modus operasi untuk block cipher tersebut
[8].
Gambar 1 Tabel S-Box AES [9].
Gambar 1 merupakan tabel S-Box Advanced Encryption Standard (AES) yang
digunakan dalam perancangan kriptografi block cipher berbasis pada pola permainan
Gici-Gici. Cara pensubstitusian nilai hexadecimal yang didapat dari hasil XOR proses
2 dan proses 4 dapat dijelaskan sebagai berikut: misalkan byte yang akan disubstitusi
adalah S[r,c] = xy, dimana xy merupakan nilai digit hexadecimal dari S[r,c], maka
hasil substitusinya adalah invers dari S[r,c] yang didapat dari perpotongan baris x dan
kolom y pada tabel S-Box AES. Misalkan S[r,c] = 68, maka nilai hasil substitusinya
adalah 45.
Avalanche effect merupakan sebuah properti yang diinginkan dari setiap
algoritma enkripsi adalah bahwa perubahan kecil baik dalam plaintext atau kunci
harus menghasilkan perubahan yang signifikan dalam ciphertext. Jika perubahan
yang kecil, ini mungkin menyediakan cara untuk mengurangi ukuran plaintext atau
ruang kunci yang akan dicari [10].
Gici-Gici atau Engklek pada zaman dahulu hanya dimainkan oleh anak
perempuan, tapi pada masa perkembangannya tidak sedikit pula anak laki laki yang
memainkan permainan tradisional ini. Permainan Engkle dilakukan dilapangan
terbuka seperti di halaman rumah. Permainan engkle dilakukan ditanah dengan
sebelumnya telah digambar kotak-kotak persegi panjang. Pemain yang memainkan
permainan ini bisa terdiri dari perorangan maupun grup. Para pemain masing-masing
memiliki 1 pecahan genting yang disebut gacuk atau kreweng. Urutan pemain
dilakukan dengan cara diundi atau hom pim pah. Kemudian untuk melakukan
permainan ini mula-mula pemain akan melemparkan gacuk ke kotak no urut 1. Lalu
ia akan melompat ke kotak 2 dan seanjutnya dengan menggunakan sebelah kaki saja
3
tanpa boleh menyentuh garis atau menurunkan kaki satunya sampai menyentuh tanah.
Pemain yang telah melakukan engkle satu putaran tanpa melakukan kesalahan berhak
untuk mendapatkan atau memilih satu kotak yang akan dijadikan sebagai sawahnya.
Dan apabila sudah menjadi sawah salah satu pemain, maka pemain lainnya tidak
boleh menyentuh atau menginjak kotak tersebut. Sebaliknya pemain pemilik kotak
sawah tersebut boleh menginjak kotak tersebut dengan kedua kakinya. Pemain yang
berhasil memiliki kotak terbanyak sebagai sawahnya dinyatakan sebagai pemenang
dalam permainan tradisional engkle ini [11].
Analisis korelasi digunakan untuk melihat hubungan secara linier antara dua
peubah yang biasanya adalah X dan Y, secara umum diberikan pada Persamaan (1)
[12].
r
n xy - ( x )( y)
n x 2 x 2 n y 2 y 2
,
(1)
Dimana n adalah banyaknya karakter, Σx adalah total jumlah dari variabel x
(bilangan ASCII plainteks), Σy adalah total jumlah dari variabel y (bilangan ASCII
cipherteks), Σx2 adalah kuadrat dari total jumlah variable x, Σy2 adalah kuadrat dari
total jumlah variabel y, Σxy adalah hasil perkalian dari total jumlah variabel x dan
variabel y.
Panduan umum dalam menentukan kriteria kolerasi ditunjukkan pada Tabel 1
[13].
Tabel 1 Kriteria Korelasi
Nilai Korelasi
Kriteria Korelasi
0
Tidak ada korelasi
0.00-0.19
Korelasi sangat lemah
0.20-0.39
Korelasi lemah
0.40-0.59
Korelasi sedang
0.60-0.79
Korelasi kuat
0.80-1.0
Korelasi sangat kuat
4
3.
Metode dan Perancangan Algoritma
Perancangan Algoritma yang akan digunakan dalam penelitian ini dibagi ke
dalam 5 (lima) tahap yaitu: (1) Tahap Pengumpulan Bahan, (2) Tahap Analisis
Masalah, (3) Tahap Perancangan Algoritma, (4) Tahap Pengujian Algoritma, (5)
Penuliasan Laporan.
Pengumpulan
Bahan
Analisis Masalah
Perancangan
Algoritma
Penulisan
Laporan
Gambar 2 Tahapan Penelitian
Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut : Tahap
pertama : Pengumpulan bahan yaitu mencari pola yang akan digunakan dalam proses
perancangan kriptografi block cipher berbasis pada pola permainan Gici-Gici serta
mengumpulkan referensi yang mendukung; Tahap kedua : Analisis masalah tentang
perancangan kriptografi block cipher berbasis pola permainan Gici-Gici kemudian
dijadikan landasan perancangan algoritma baru perancangan kriptografi block cipher
berbasis pola permainan Gici-Gici. Rumusan masalah yang dibahas dalam
perancangan kriptografi block cipher berbasis pola permainan Gici-Gici, yaitu: 1)
Plaintext dan kunci dibatasi maksimal 32 karakter; 2) Block-block yang digunakan
pada perancangan kriptografi block cipher berbasis pada pola permainan Gici-Gici
menggunakan block 16 16 (256-bit); 3) Pola yang digunakan pada rancangan adalah
permainan Gici-Gici; Tahap ketiga : Perancangan algoritma : 1) Merancang
perancangan kriptografi block cipher berbasis pada pola permainan Gici-Gici 2)
Membuat rancangan enkripsi dan dekripsi yang diterapkan dalam block cipher
dengan ukuran block 16 16 (256-bit); Tahap keempat : Pengujian algoritma GiciGici dilakukan secara manual dari memasukkan plaintext, mengubah teks ke dalam
bit dan melakukan proses enkripsi sampai pada proses dekripsi; Tahap kelima :
5
Menulis laporan dari hasil penelitian yang sudah dilakukan dari tahap awal hingga
tahap akhir. Batasan masalah dalam penelitian ini yaitu : 1) Proses enkripsi dan
dekripsi hanya dilakukan pada teks; 2) Jumlah plaintext dan kunci dibatasi yaitu
menampung 32 karakter serta proses putaran terdiri dari 20 putaran; 3) Panjang block
adalah 256-bit.
Plaintext
N Putaran
Proses
Enkripsi
Sudah
memenuhi N
Putaran?
Belum
Sudah
Ciphertext
Gambar 3 Alur Proses Enkripsi
Gambar 3 merupakan alur proses enkripsi yang akan dilakukan dalam
penelitian ini. Proses enkripsi akan dijelaskan lebih mendalam pada bagian hasil dan
pembahasan tentang bagaimana sebuah proses dan putaran pada perancangan ini
dilakukan.
4.
Hasil dan Pembahasan
Bagian ini akan membahas secara lebih rinci mengenai perancangan
kriptografi block cipher berbasis pada pola permainan Gici-Gici. Bagian ini juga akan
membahas tentang proses enkripsi. Untuk menjelaskan secara details proses
6
pemasukkan bit dalam matriks maka diambil proses 1 sebagai contoh. Misalkan xn
merupakan inisialisasi setiap bit yang merupakan hasil konversi plaintext maka
urutan bit adalah sebagai berikut x1, x2, x3, x4, …..x256.
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
x13
x14
x15
x16
x17
x18
x19
x20
x21
x22
x23
x24
x25
x26
x27
x28
x29
x30
x31
x32
x33
x34
x35
x36
x37
x38
x39
x40
x41
x42
x43
x44
x45
x46
x47
x48
x49
x50
x51
x52
x53
x54
x55
x56
x57
x58
x59
x60
x61
x62
x63
x64
x65
x66
x67
x68
x69
x70
x71
x72
x73
x74
x75
x76
x77
x78
x79
x80
x81
x82
x83
x84
x85
x86
x87
x88
x89
x90
x91
x92
x93
x94
x95
x96
x97
x98
x99
x100 x101 x102 x103 x104 x105 x106 x107 x108 x109 x110 x111 x112
x113 x114 x115 x116 x117 x118 x119 x120 x121 x122 x123 x124 x125 x126 x127 x128
x129 x130 x131 x132 x133 x134 x135 x136 x137 x138 x139 x140 x141 x142 x143 x144
x145 x146 x147 x148 x149 x150 x151 x152 x153 x154 x155 x156 x157 x158 x159 x160
x161 x162 x163 x164 x165 x166 x167 x168 x169 x170 x171 x172 x173 x174 x175 x176
x177 x178 x179 x180 x181 x182 x183 x184 x185 x186 x187 x188 x189 x190 x191 x192
x193 x194 x195 x196 x197 x198 x199 x200 x201 x202 x203 x204 x205 x206 x207 x208
x209 x210 x211 x212 x213 x214 x215 x216 x217 x218 x219 x220 x221 x222 x223 x224
x225 x226 x227 x228 x229 x230 x231 x232 x233 x234 x235 x236 x237 x238 x239 x240
x241 x242 x243 x244 x245 x246 x247 x248 x249 x250 x251 x252 x253 x254 x255 x256
Gambar 4 Proses Pemasukkan Bit Plaintext
Proses 1 Dalam Matriks
Gambar 4 menggambarkan proses pemasukkan bit plaintext proses 1 ke dalam
matriks 256-bit. Tahap pertama memasukkan bit secara vertikal dari kolom pertama
yaitu x1 sampai dengan kolom x256.
Gambar 5 Proses Pengambilan Bit
Plaintext Proses 1
7
Gambar 5 menggambarkan proses pengambilan bit plaintext proses 1. Tahap
pertama pengambilan bit dari kolom berwarna hijau sampai berakhir pada kolom
berwarna merah. Di dalam matriks 256 bit terdiri dari beberapa pola 4x4 yang dapat
dijelaskan sebagai berikut: 1) Pengambilan bit dimulai dari tanda ( ) dan berakhir
pada angka empat (4); 2) perpindahan antar pola 4x4 dilakukan secara vertikal dan
berurutan. Hasil pengambilan bit plaintext proses 1 dapat dilihat pada Gambar 6.
x019 x020 x036 x035 x051 x050 x034 x033 x017 x018 x002 x003 x004 x052 x049 x001
x083 x084 x100 x099 x115 x114 x098 x097 x081 x082 x066 x067 x068 x116 x113 x065
x147 x148 x164 x163 x179 x178 x162 x161 x145 x146 x130 x131 x132 x180 x177 x129
x211 x212 x228 x227 x243 x242 x226 x225 x209 x210 x194 x195 x196 x244 x241 x193
x023 x024 x040 x039 x055 x054 x038 x037 x021 x022 x006 x007 x008 x056 x053 x005
x087 x088 x104 x103 x119 x118 x102 x101 x085 x086 x070 x071 x072 x120 x117 x069
x151 x152 x168 x167 x183 x182 x166 x165 x149 x150 x134 x135 x136 x184 x181 x133
x215 x216 x232 x231 x247 x246 x230 x229 x213 x214 x198 x199 x200 x248 x245 x197
x027 x028 x044 x043 x059 x058 x042 x041 x025 x026 x010 x011 x012 x060 x057 x009
x091 x092 x108 x107 x123 x122 x106 x105 x089 x090 x074 x075 x076 x124 x121 x073
x155 x156 x172 x171 x187 x186 x170 x169 x153 x154 x138 x139 x140 x188 x185 x137
x219 x220 x236 x235 x251 x250 x234 x233 x217 x218 x202 x203 x204 x252 x249 x201
x031 x032 x048 x047 x063 x062 x046 x045 x029 x030 x014 x015 x016 x064 x061 x013
x095 x096 x112 x111 x127 x126 x110 x109 x093 x094 x078 x079 x080 x128 x125 x077
x159 x160 x176 x175 x191 x190 x174 x173 x157 x158 x142 x143 x144 x192 x189 x141
x223 x224 x240 x239 x255 x254 x238 x237 x221 x222 x206 x207 x208 x256 x253 x205
Gambar 6 Hasil Pengambilan Bit Plaintext Proses 1
Gambar 6 merupakan hasil dari pengambilan bit plaintext proses 1, Hasil dari
pengambilan plaintext dan kunci kemudian di-XOR untuk menghasilkan ciphertext 2
(C2). Pola yang sama juga diterapkan pada proses yang lain dengan pola
Pengambilan dalam kolom 4×4 diputar sehingga menghasilkan nilai indeks yang
acak.
Tabel 2 Pengujian korelasi pada P-Box
P-Box/Plaintext
Plaintext 1
Plaintext 2
Plaintext 3
Average
P-Box 1
0.056456358
0.125233348
-0.201430567
-0.0065803
P-Box 2
0.035852632
-0.00815085
-0.141948888
-0.0380824
P-Box 3
0.026901223
0.125233348
-0.313895065
-0.0539202
P-Box 4
0.39899809
-0.00815085
0.03375831
0.14153518
Tabel 2 merupakan pengujian nilai korelasi dengan 3 plaintext berbeda pada
setiap P-Box yang dirancang. Dari hasil tersebut dapat dilihat bahwa semua permutasi
Box dapat dikatakan baik karena memiliki nilai korelasi mendekati 0 dan layak
8
untuk digunakan.
Plaintext
Kunci
P1
K1
P2
K2
18 Putaran
S-BOX
P3
K3
P4
K4
S-BOX
Sudah
memenuhi N
putaran ?
18 Putaran
Belum
Sudah
P5
STOP
Sudah
memenuhi N
putaran ?
Belum
Sudah
Ciphertext
Gambar 7 Algoritma Perancangan
Gambar 7 menunjukkan rancangan alur proses enkripsi pada perancangan
algoritma transposisi berbasis permainan Gici-Gici sebagai indeks permutasi pada
block cipher 256 bit. Dalam setiap putaran terdapat proses plaintext
(P - i, i = 1, 2, …, 5) dan proses kunci (K - i, i = 1, 2, …, 4) . Setiap hasil dari P-i dan K-i
di hubungkan menggunakan proses XOR dengan pengecualian pada P-5 karena
merupakan proses tambahan.
Setelah melewati proses enkripsi yang telah dijabarkan maka mendapatkan
ciphertext setiap putaran yang telah dikonversi ke dalam nilai hexadecimal. Hasil dari
9
putaran 18 merupakan final ciphertext. Proses enkripsi yang dilakukan telah melalu
tahap analisis kombinasi untuk mencari korelasi terbaik antara plaintext dan
ciphertext, nilai korelasi berkisar antara -1 sampai 1. Kombinasi yang mempunyai
nilai korelasi mendekati 0 (nol) dapat dikatakan baik karena plaintext dan ciphertext
mempunyai nilai yang tidak berhubungan. Jika nilai korelasi mendekati 1 maka
plaintext dan ciphertext mempunyai nilai yang sangat berhubungan. Analisis
kombinasi yang telah dirancang diuji lagi menggunakan tiga (3) plaintext berbeda
yaitu:
- AOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAO
- #F7! U|
Sebagai Indeks Permutasi pada Block Cipher 256 Bit
Artikel Ilmiah
Diajukan Kepada
Fakultas Teknologi Informasi
Untuk Memperoleh Gelar Sarjana Komputer
Peneliti :
Servantly Godlife Latuheru (672012194)
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
1
i
ii
iii
iv
1.
Pendahuluan
Berbicara tentang teknologi pada jaman sekarang ini tidak akan ada habisnya.
Teknologi berkembang pesat dan membawa perubahan besar bagi kehidupan manusia
serta mempunyai dampak baik maupun dampak buruk bagi manusia itu sendiri.
Seiring dengan perkembangan teknologi, banyak terjadi kasus penyalahgunaan
teknologi, pencurian data, dan pembobolan jaringan komputer yang dikarenakan
lemahnya tingkat keamanan dalam jaringan
Salah satu kasus yang terjadi, menurut laporan yang dirilis Reuters, sepanjang
tahun 2013 lalu sebanyak 70 juta data kartu kredit berhasil dicuri oleh seorang hacker
asal Rusia yang berhasil meretas sejumlah departement store barang-barang mewah.
pelaku kejahatan cyber ini disinyalir adalah seorang hacker remaja yang baru berusia
17 tahun [1]. Kasus serupa yang terjadi di Jepang yaitu pencurian data dari bank
Afrika Selatan dan menggunakannya untuk mencetak kurang lebih 1.600 kartu kredit
palsu. Kartu itu yang kemudian digunakan untuk menarik uang dalam jumlah
maksimal, yakni 100.000 yen yang dilakukan sampai 14 ribu kali transaksi. Polisi
menduga ada sekitar 100 orang yang terlibat dalam pencurian ini [2].
Kriptografi bertujuan agar pesan atau dokumen yang dikirim tidak dibaca oleh
orang yang tidak berhak dan pemalsuan pesan serta dokumen juga dapat dibuktikan
sehingga orang yang memberi pesan tidak dapat mengelak dari tanggung jawab telah
mengirim pesan tersebut [3]. Semakin baik algoritma dan kunci yang dibuat, semakin
baik juga kerahasiaan informasi itu terjaga. Namun pada penelitian-penelitian
sebelumnya, algoritma yang di rancang masih memiliki kelemahan sehingga dapat
dipecahkan oleh kriptanalisis.
Untuk menjawab masalah-masalah itulah, dikembangkan suatu algoritma
transposisi baru yang idenya diangkat dari sebuah permainan daerah Maluku yang
bernama Gici-Gici dengan tujuan untuk menyulitkan kriptanalisis. Algoritma
transposisi berbasis permainan gici-gici digunakan karena telah teruji keacakannya
dengan mengacu pada pengujian korelasi maupun avalanche effect.
2.
Tinjauan Pustaka
Penelitian sebelumnya yang pertama berjudul Designing an algorithm with
high Avalanche Effect membahas tentang pengujian nilai avalanche effect yang
mencapai hingga 70,31% dan dibandingkan dengan kriptografi klasik maupun
moderen seperti Playfair cipher, Vigenere Cipher, Caesar Cipher dll. Penelitian ini
digunakan sebagai acuan untuk penelitian yang dibuat dimana pengujian avalanche
effect menggunakan kalimat “DISASTER” sebagai plaintext dan “SRIRAMSR”
sebagai kunci[5].
Penelitian yang berjudul Perancangan Kriptografi Block Cipher dengan
Langkah Permainan Engklek yang membahas tentang perancangan algoritma
kriptografi Block cipher berbasis pada langkah permainan engklek. Penelitian ini
1
digunakan sebagai pembanding dengan penelitian yang dilakukan dimana pola
transposisi yang digunakan menggunakan langkah permainan Engklek (Gic-Gici)
yang berbeda. Perancangan Kriptografi Block Cipher dengan Langkah Permainan
Engklek meliputi pengujian kecepatan proses enkripsi dan dekripsi serta
implementasi algoritma permainan engklek ke dalam Aplikasi [6].
Berdasarkan penelitian-penelitian terkait kriptografi Block cipher, maka akan
dilakukan penelitian tentang perancangan kriptografi block cipher berbasis pola
permainan Gici-Gici. Pola transposisi yang digunakan dalam penelitian ini
merupakan pola transposisi baru yang diharapkan dapat memberikan kontribusi
dalam bidang kriptografi. Penelitian yang dilakukan ini membahas tentang analisis
kombinasi dan avalanche effect dimana enkripsi dan dekripsi menggunakan pola
permainan Gici-Gici sebagai pengacakan.
Selanjutnya akan dibahas dasar teori yang digunakan sebagai landasan untuk
merancang algoritma kriptografi dalam penelitan ini. Kriptografi adalah ilmu atau
seni untuk menjaga keamanan pesan, ketika suatu pesan ditransfer dari suatu tempat
ke tempat lain, isi dari pesan tersebut kemungkinan dapat disadap oleh pihak lain.
Untuk menjaga keamanan pesan, pesan tersebut dapat di-scramble, diacak atau
diubah menjadi kode yang tidak dapat dimengerti oleh orang lain. Tujuan Kriptografi
adalah: a) Confidentiality: untuk melindungi identitas pemakai atau isi pesan agar
tidak dapat dipakai oleh orang lain yang tidak berhak; b) Data Intergrity: untuk
melindungi pesan agar tidak diubah oleh orang lain; c) Authentication: untuk
menjamin keaslian data; d) Non-repudiation: membuktikan suatu pesan berasal dari
seseorang, apabila ia menyangkal mengirim pesan tersebut. Dalam dunia kriptografi,
pesan yang akan dirahasiakan disebut plaintext. Pesan yang sudah diacak disebut
ciphertext. Proses untuk mengkonversi plaintext menjadi ciphertext disebut enkripsi.
Proses untuk mengambil plaintext dari ciphertext disebut dekripsi. Algoritma
kriptografi (cipher) adalah fungsi-fungsi matematika yang digunakan untuk
melakukan enkripsi dan dekripsi, dan diperlukan kunci yaitu kode untuk melakukan
enkripsi dan dekripsi [7].
Block cipher adalah bentuk algoritma enkripsi kunci simetri yang
mentransformasikan satu block data tertentu dari plaintext ke dalam satu block data
ciphertext dengan panjang block yang sama. Transformasi ini berlangsung melalui
penggunaan kunci rahasia yang disediakan oleh pemakai. Dekripsi dilakukan dengan
menggunakan transformasi kebalikan terhadap block ciphertext menjadi satu block
plaintext dengan kunci dan panjang block yang sama. Panjang block tertentu disebut
ukuran block (block size) dimana ukuran block tersebut bervariasi misalnya 16 bit, 32
bit, 64 bit, 128 bit atau 256 bit tergantung dari teknik yang digunakan dan
perkembangan kemampuan mikroprosesor selanjutnya. Karena block plaintext yang
berbeda dipetakan ke block ciphertext yang berbeda, suatu block cipher secara efektif
menyediakan satu permutasi korespondensi satu ke banyak dari set pesan. Permutasi
berpengaruh pada saat enkripsi tertentu yang sudah pasti rahasia, karena permutasi
tersebut adalah fungsi dari kunci rahasia. Jika pengguna menggunakan satu block
2
cipher untuk mengenkrip satu pesan dengan panjang sembarang, pengguna
menggunakan teknik yang dikenal sebagai modus operasi untuk block cipher tersebut
[8].
Gambar 1 Tabel S-Box AES [9].
Gambar 1 merupakan tabel S-Box Advanced Encryption Standard (AES) yang
digunakan dalam perancangan kriptografi block cipher berbasis pada pola permainan
Gici-Gici. Cara pensubstitusian nilai hexadecimal yang didapat dari hasil XOR proses
2 dan proses 4 dapat dijelaskan sebagai berikut: misalkan byte yang akan disubstitusi
adalah S[r,c] = xy, dimana xy merupakan nilai digit hexadecimal dari S[r,c], maka
hasil substitusinya adalah invers dari S[r,c] yang didapat dari perpotongan baris x dan
kolom y pada tabel S-Box AES. Misalkan S[r,c] = 68, maka nilai hasil substitusinya
adalah 45.
Avalanche effect merupakan sebuah properti yang diinginkan dari setiap
algoritma enkripsi adalah bahwa perubahan kecil baik dalam plaintext atau kunci
harus menghasilkan perubahan yang signifikan dalam ciphertext. Jika perubahan
yang kecil, ini mungkin menyediakan cara untuk mengurangi ukuran plaintext atau
ruang kunci yang akan dicari [10].
Gici-Gici atau Engklek pada zaman dahulu hanya dimainkan oleh anak
perempuan, tapi pada masa perkembangannya tidak sedikit pula anak laki laki yang
memainkan permainan tradisional ini. Permainan Engkle dilakukan dilapangan
terbuka seperti di halaman rumah. Permainan engkle dilakukan ditanah dengan
sebelumnya telah digambar kotak-kotak persegi panjang. Pemain yang memainkan
permainan ini bisa terdiri dari perorangan maupun grup. Para pemain masing-masing
memiliki 1 pecahan genting yang disebut gacuk atau kreweng. Urutan pemain
dilakukan dengan cara diundi atau hom pim pah. Kemudian untuk melakukan
permainan ini mula-mula pemain akan melemparkan gacuk ke kotak no urut 1. Lalu
ia akan melompat ke kotak 2 dan seanjutnya dengan menggunakan sebelah kaki saja
3
tanpa boleh menyentuh garis atau menurunkan kaki satunya sampai menyentuh tanah.
Pemain yang telah melakukan engkle satu putaran tanpa melakukan kesalahan berhak
untuk mendapatkan atau memilih satu kotak yang akan dijadikan sebagai sawahnya.
Dan apabila sudah menjadi sawah salah satu pemain, maka pemain lainnya tidak
boleh menyentuh atau menginjak kotak tersebut. Sebaliknya pemain pemilik kotak
sawah tersebut boleh menginjak kotak tersebut dengan kedua kakinya. Pemain yang
berhasil memiliki kotak terbanyak sebagai sawahnya dinyatakan sebagai pemenang
dalam permainan tradisional engkle ini [11].
Analisis korelasi digunakan untuk melihat hubungan secara linier antara dua
peubah yang biasanya adalah X dan Y, secara umum diberikan pada Persamaan (1)
[12].
r
n xy - ( x )( y)
n x 2 x 2 n y 2 y 2
,
(1)
Dimana n adalah banyaknya karakter, Σx adalah total jumlah dari variabel x
(bilangan ASCII plainteks), Σy adalah total jumlah dari variabel y (bilangan ASCII
cipherteks), Σx2 adalah kuadrat dari total jumlah variable x, Σy2 adalah kuadrat dari
total jumlah variabel y, Σxy adalah hasil perkalian dari total jumlah variabel x dan
variabel y.
Panduan umum dalam menentukan kriteria kolerasi ditunjukkan pada Tabel 1
[13].
Tabel 1 Kriteria Korelasi
Nilai Korelasi
Kriteria Korelasi
0
Tidak ada korelasi
0.00-0.19
Korelasi sangat lemah
0.20-0.39
Korelasi lemah
0.40-0.59
Korelasi sedang
0.60-0.79
Korelasi kuat
0.80-1.0
Korelasi sangat kuat
4
3.
Metode dan Perancangan Algoritma
Perancangan Algoritma yang akan digunakan dalam penelitian ini dibagi ke
dalam 5 (lima) tahap yaitu: (1) Tahap Pengumpulan Bahan, (2) Tahap Analisis
Masalah, (3) Tahap Perancangan Algoritma, (4) Tahap Pengujian Algoritma, (5)
Penuliasan Laporan.
Pengumpulan
Bahan
Analisis Masalah
Perancangan
Algoritma
Penulisan
Laporan
Gambar 2 Tahapan Penelitian
Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut : Tahap
pertama : Pengumpulan bahan yaitu mencari pola yang akan digunakan dalam proses
perancangan kriptografi block cipher berbasis pada pola permainan Gici-Gici serta
mengumpulkan referensi yang mendukung; Tahap kedua : Analisis masalah tentang
perancangan kriptografi block cipher berbasis pola permainan Gici-Gici kemudian
dijadikan landasan perancangan algoritma baru perancangan kriptografi block cipher
berbasis pola permainan Gici-Gici. Rumusan masalah yang dibahas dalam
perancangan kriptografi block cipher berbasis pola permainan Gici-Gici, yaitu: 1)
Plaintext dan kunci dibatasi maksimal 32 karakter; 2) Block-block yang digunakan
pada perancangan kriptografi block cipher berbasis pada pola permainan Gici-Gici
menggunakan block 16 16 (256-bit); 3) Pola yang digunakan pada rancangan adalah
permainan Gici-Gici; Tahap ketiga : Perancangan algoritma : 1) Merancang
perancangan kriptografi block cipher berbasis pada pola permainan Gici-Gici 2)
Membuat rancangan enkripsi dan dekripsi yang diterapkan dalam block cipher
dengan ukuran block 16 16 (256-bit); Tahap keempat : Pengujian algoritma GiciGici dilakukan secara manual dari memasukkan plaintext, mengubah teks ke dalam
bit dan melakukan proses enkripsi sampai pada proses dekripsi; Tahap kelima :
5
Menulis laporan dari hasil penelitian yang sudah dilakukan dari tahap awal hingga
tahap akhir. Batasan masalah dalam penelitian ini yaitu : 1) Proses enkripsi dan
dekripsi hanya dilakukan pada teks; 2) Jumlah plaintext dan kunci dibatasi yaitu
menampung 32 karakter serta proses putaran terdiri dari 20 putaran; 3) Panjang block
adalah 256-bit.
Plaintext
N Putaran
Proses
Enkripsi
Sudah
memenuhi N
Putaran?
Belum
Sudah
Ciphertext
Gambar 3 Alur Proses Enkripsi
Gambar 3 merupakan alur proses enkripsi yang akan dilakukan dalam
penelitian ini. Proses enkripsi akan dijelaskan lebih mendalam pada bagian hasil dan
pembahasan tentang bagaimana sebuah proses dan putaran pada perancangan ini
dilakukan.
4.
Hasil dan Pembahasan
Bagian ini akan membahas secara lebih rinci mengenai perancangan
kriptografi block cipher berbasis pada pola permainan Gici-Gici. Bagian ini juga akan
membahas tentang proses enkripsi. Untuk menjelaskan secara details proses
6
pemasukkan bit dalam matriks maka diambil proses 1 sebagai contoh. Misalkan xn
merupakan inisialisasi setiap bit yang merupakan hasil konversi plaintext maka
urutan bit adalah sebagai berikut x1, x2, x3, x4, …..x256.
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
x13
x14
x15
x16
x17
x18
x19
x20
x21
x22
x23
x24
x25
x26
x27
x28
x29
x30
x31
x32
x33
x34
x35
x36
x37
x38
x39
x40
x41
x42
x43
x44
x45
x46
x47
x48
x49
x50
x51
x52
x53
x54
x55
x56
x57
x58
x59
x60
x61
x62
x63
x64
x65
x66
x67
x68
x69
x70
x71
x72
x73
x74
x75
x76
x77
x78
x79
x80
x81
x82
x83
x84
x85
x86
x87
x88
x89
x90
x91
x92
x93
x94
x95
x96
x97
x98
x99
x100 x101 x102 x103 x104 x105 x106 x107 x108 x109 x110 x111 x112
x113 x114 x115 x116 x117 x118 x119 x120 x121 x122 x123 x124 x125 x126 x127 x128
x129 x130 x131 x132 x133 x134 x135 x136 x137 x138 x139 x140 x141 x142 x143 x144
x145 x146 x147 x148 x149 x150 x151 x152 x153 x154 x155 x156 x157 x158 x159 x160
x161 x162 x163 x164 x165 x166 x167 x168 x169 x170 x171 x172 x173 x174 x175 x176
x177 x178 x179 x180 x181 x182 x183 x184 x185 x186 x187 x188 x189 x190 x191 x192
x193 x194 x195 x196 x197 x198 x199 x200 x201 x202 x203 x204 x205 x206 x207 x208
x209 x210 x211 x212 x213 x214 x215 x216 x217 x218 x219 x220 x221 x222 x223 x224
x225 x226 x227 x228 x229 x230 x231 x232 x233 x234 x235 x236 x237 x238 x239 x240
x241 x242 x243 x244 x245 x246 x247 x248 x249 x250 x251 x252 x253 x254 x255 x256
Gambar 4 Proses Pemasukkan Bit Plaintext
Proses 1 Dalam Matriks
Gambar 4 menggambarkan proses pemasukkan bit plaintext proses 1 ke dalam
matriks 256-bit. Tahap pertama memasukkan bit secara vertikal dari kolom pertama
yaitu x1 sampai dengan kolom x256.
Gambar 5 Proses Pengambilan Bit
Plaintext Proses 1
7
Gambar 5 menggambarkan proses pengambilan bit plaintext proses 1. Tahap
pertama pengambilan bit dari kolom berwarna hijau sampai berakhir pada kolom
berwarna merah. Di dalam matriks 256 bit terdiri dari beberapa pola 4x4 yang dapat
dijelaskan sebagai berikut: 1) Pengambilan bit dimulai dari tanda ( ) dan berakhir
pada angka empat (4); 2) perpindahan antar pola 4x4 dilakukan secara vertikal dan
berurutan. Hasil pengambilan bit plaintext proses 1 dapat dilihat pada Gambar 6.
x019 x020 x036 x035 x051 x050 x034 x033 x017 x018 x002 x003 x004 x052 x049 x001
x083 x084 x100 x099 x115 x114 x098 x097 x081 x082 x066 x067 x068 x116 x113 x065
x147 x148 x164 x163 x179 x178 x162 x161 x145 x146 x130 x131 x132 x180 x177 x129
x211 x212 x228 x227 x243 x242 x226 x225 x209 x210 x194 x195 x196 x244 x241 x193
x023 x024 x040 x039 x055 x054 x038 x037 x021 x022 x006 x007 x008 x056 x053 x005
x087 x088 x104 x103 x119 x118 x102 x101 x085 x086 x070 x071 x072 x120 x117 x069
x151 x152 x168 x167 x183 x182 x166 x165 x149 x150 x134 x135 x136 x184 x181 x133
x215 x216 x232 x231 x247 x246 x230 x229 x213 x214 x198 x199 x200 x248 x245 x197
x027 x028 x044 x043 x059 x058 x042 x041 x025 x026 x010 x011 x012 x060 x057 x009
x091 x092 x108 x107 x123 x122 x106 x105 x089 x090 x074 x075 x076 x124 x121 x073
x155 x156 x172 x171 x187 x186 x170 x169 x153 x154 x138 x139 x140 x188 x185 x137
x219 x220 x236 x235 x251 x250 x234 x233 x217 x218 x202 x203 x204 x252 x249 x201
x031 x032 x048 x047 x063 x062 x046 x045 x029 x030 x014 x015 x016 x064 x061 x013
x095 x096 x112 x111 x127 x126 x110 x109 x093 x094 x078 x079 x080 x128 x125 x077
x159 x160 x176 x175 x191 x190 x174 x173 x157 x158 x142 x143 x144 x192 x189 x141
x223 x224 x240 x239 x255 x254 x238 x237 x221 x222 x206 x207 x208 x256 x253 x205
Gambar 6 Hasil Pengambilan Bit Plaintext Proses 1
Gambar 6 merupakan hasil dari pengambilan bit plaintext proses 1, Hasil dari
pengambilan plaintext dan kunci kemudian di-XOR untuk menghasilkan ciphertext 2
(C2). Pola yang sama juga diterapkan pada proses yang lain dengan pola
Pengambilan dalam kolom 4×4 diputar sehingga menghasilkan nilai indeks yang
acak.
Tabel 2 Pengujian korelasi pada P-Box
P-Box/Plaintext
Plaintext 1
Plaintext 2
Plaintext 3
Average
P-Box 1
0.056456358
0.125233348
-0.201430567
-0.0065803
P-Box 2
0.035852632
-0.00815085
-0.141948888
-0.0380824
P-Box 3
0.026901223
0.125233348
-0.313895065
-0.0539202
P-Box 4
0.39899809
-0.00815085
0.03375831
0.14153518
Tabel 2 merupakan pengujian nilai korelasi dengan 3 plaintext berbeda pada
setiap P-Box yang dirancang. Dari hasil tersebut dapat dilihat bahwa semua permutasi
Box dapat dikatakan baik karena memiliki nilai korelasi mendekati 0 dan layak
8
untuk digunakan.
Plaintext
Kunci
P1
K1
P2
K2
18 Putaran
S-BOX
P3
K3
P4
K4
S-BOX
Sudah
memenuhi N
putaran ?
18 Putaran
Belum
Sudah
P5
STOP
Sudah
memenuhi N
putaran ?
Belum
Sudah
Ciphertext
Gambar 7 Algoritma Perancangan
Gambar 7 menunjukkan rancangan alur proses enkripsi pada perancangan
algoritma transposisi berbasis permainan Gici-Gici sebagai indeks permutasi pada
block cipher 256 bit. Dalam setiap putaran terdapat proses plaintext
(P - i, i = 1, 2, …, 5) dan proses kunci (K - i, i = 1, 2, …, 4) . Setiap hasil dari P-i dan K-i
di hubungkan menggunakan proses XOR dengan pengecualian pada P-5 karena
merupakan proses tambahan.
Setelah melewati proses enkripsi yang telah dijabarkan maka mendapatkan
ciphertext setiap putaran yang telah dikonversi ke dalam nilai hexadecimal. Hasil dari
9
putaran 18 merupakan final ciphertext. Proses enkripsi yang dilakukan telah melalu
tahap analisis kombinasi untuk mencari korelasi terbaik antara plaintext dan
ciphertext, nilai korelasi berkisar antara -1 sampai 1. Kombinasi yang mempunyai
nilai korelasi mendekati 0 (nol) dapat dikatakan baik karena plaintext dan ciphertext
mempunyai nilai yang tidak berhubungan. Jika nilai korelasi mendekati 1 maka
plaintext dan ciphertext mempunyai nilai yang sangat berhubungan. Analisis
kombinasi yang telah dirancang diuji lagi menggunakan tiga (3) plaintext berbeda
yaitu:
- AOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAO
- #F7! U|