-
Perancangan Kriptografi Block Cipher
Berbasis Pada Teknik Anyaman Dasar Tunggal
Artikel Ilmiah
Peneliti :
Shelta Claudia Putri (672008293)
M. A. Ineke Pakereng, M.Kom.
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Mei 2015
-
Perancangan Kriptografi Block Cipher
Berbasis Pada Teknik Anyaman Dasar Tunggal
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
Untuk memperoleh gelar Sarjana Komputer
Peneliti :
Shelta Claudia Putri (672008293)
M. A. Ineke Pakereng, M.Kom.
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Mei 2015
-
Perancangan Kriptografi Block Cipher
Berbasis Pada Teknik Anyaman Dasar Tunggal
1
Shelta Claudia Putri, 2M. A. Ineke Pakereng,
3Alz Danny Wowor
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email: [email protected],
[email protected],
[email protected]
Abstract
The cryptography use to increase secure of the data and keep
should be updating,
because a lot of cryptographic has been released and already
solved by the cryptanalysis.
This research based is how to create cryptographic block cipher
on a Anyaman Dasar
Tunggal method where that method use a pattern for to encryption
the data. This
research results can be use an alternative for secure the data
and also a new
cryptographic method.
Keywords : Cryptography, Block Cipher Cryptography, Anyaman
Dasar Tunggal.
Abstrak
Kriptografi yang digunakan untuk meningkatkan keamanan data
harus selalu
diperbaharui, dikarenakan banyak kriptografi yang dipublish dan
sudah dipecahkan oleh
kriptanalisis. Penelitian ini merancang sebuah kriptografi block
cipher berbasis pada
teknik anyaman dasar tunggal dimana teknik tersebut digunakan
menjadi pola dalam
mengenkripsi data. Hasil dari penelitian ini dapat dipakai
sebagai alternatif untuk
mengamankan data dan juga sebagai teknik kriptografi baru.
Kata Kunci : Kriptografi, Kriptografi Block Cipher, Anyaman
Dasar Tunggal.
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.
-
1
1. Pendahuluan
Proses pengiriman dan pertukaran informasi atau data dilakukan
melalui
perangkat digital karena itu faktor keamanan diperlukan agar
dalam proses
tersebut tidak terjadi pencurian maupun manipulasi data oleh
pihak yang tidak
bertanggung jawab. Untuk menjaga kerahasiaan dan keamanan data,
maka
diperlukan sebuah metode pengamanan, yaitu kriptografi. Terdapat
banyak teknik
kriptografi yang bisa digunakan, salah satunya adalah block
cipher, yang
merupakan suatu algoritma yang input dan output-nya berupa satu
block, dan
setiap block terdiri dari beberapa bit [1].
Kriptografi digunakan dalam kehidupan sehari-hari. Contoh
penerapan
kriptografi yang banyak digunakan, adalah kartu cerdas dan
transaksi Anjungan
Tunai Mandiri (ATM). Kartu cerdas dapat melayani banyak fungsi,
mulai dari
otentikasi sampai penyimpanan data. Banyak peralatan mobile yang
menggunakan
kartu cerdas untuk otentikasi. Namun kartu cerdas tidak menjamin
keamanan
secara total. Jika perangkat mobile hilang, sertifikat digital
dan kunci privat di
dalam kartu cerdas berpotensi diakses oleh pencuri. Selain kartu
cerdas, contoh
lain dari kegunaan kriptografi adalah transaksi melalui ATM.
Dalam melakukan
transaksi kartu ATM diberi kode PIN (Personal Information
Number) yang
berasosiasi dengan kartu tersebut. PIN diperlukan untuk keamanan
dalam proses
transaksi agar data pengguna tidak disalahgunakan oleh pihak
yang tidak
bertanggung jawab [2].
Munir [2], menjelaskan bahwa kriptografi DES digunakan sebagai
alat
pengamanan PIN di berbagai bank di Indonesia. Karena menggunakan
DES maka
rata-rata PIN berjumlah 4 atau 6 karakter, yang kemudian
di-padding
(ditambahkan karakter NULL) sampai 8 dan memenuhi ukuran kunci
pada DES
yang sebanding dengan 64 bit. Penggunaan DES sebagai pengamanan
sangat
berisiko karena keberadaan DES sudah diganti oleh AES, selain
itu kriptografi
tersebut sudah dipecahkan dengan teknik differential
cryptanalysis oleh
kriptanalis Eli Biham dan Adi Shamir [3]. Kondisi penggunaan DES
di berbagai
bank menujukkan bahwa sangat kurang metode kriptografi baru yang
dapat
digunakan untuk mengamankan berbagai informasi penting.
Penelitian ini merancang algoritma ayaman dasar tunggal dan
kemudian
digunakan untuk merancang kriptografi blok cipher. Anyaman Dasar
Tunggal
(ADT) merupakan salah satu dari sekian banyak anyaman yang ada,
yang
biasanya diterapkan pada pembuatan tikar, ancak, atau yang
lainnya. ADT
digunakan sebagai pola atau alur untuk menempatkan bit-bit dalam
sebuah blok
dengan yang dikombinasikan dengan operasi-operasi
kriptografi.
Tujuan penelitian ini adalah merancang algoritma kriptografi
simetris yang
berbasis pada Anyaman Dasar Tunggal. Kemudian algoritma tersebut
digunakan
dalam rancangan kriptografi block cipher, dan ini selanjutnya
akan dibandingkan
dengan kriptografi AES.
2. Tinjauan Pustaka
Bagian ini membahas tentang pustaka terkait dengan penelitian
yang telah
dilakukan sebelumnya. Pustaka-pustaka tersebut akan digunakan
sebagai
-
2
pembanding atau sebagai acuan. Adapun bagian kedua membahas
teori dasar yang
digunakan dalam penelitian ini.
Kajian yang pertama membahas penelitian terdahulu dengan
judul
“Perancangan Algoritma pada Kriptografi Block Cipher dengan
Teknik Langkah
Kuda dalam Permainan Catur”. Penelitian ini membahas tentang
bagaimana
merancang kriptografi simetris berbasis block cipher dengan
menggunakan teknik
langkah kuda dalam permainan catur sebagai pola pengambilan bit
di dalam kotak
8×8. Proses enkripsi dilakukan sebanyak empat putaran untuk
menghasilkan
cipherteks [4]. Kesamaan penelitian di atas dengan penelitian
ini adalah sama-
sama merupakan kriptografi simetris berbasis block cipher.
Penelitian di atas
dijadikan dasar dan acuan untuk membuat kriptografi baru.
Penelitian yang kedua berjudul “Studi dan Analisis Algoritma
Rivest Code 6
(RC6) dalam Enkripsi/Dekripsi Data”. Dalam penelitian ini
dibahas proses
enkripsi dan dekripsi dengan algoritma RC6. RC6 memecah block
128 bit menjadi
4 buah block 32 bit, menjadi A, B, C, D. Byte yang pertama dari
plainteks atau
cipherteks ditempatkan pada byte A, sedangkan byte yang
terakhirnya
ditempatkan pada byte D. Dalam prosesnya akan didapatkan (A, B,
C, D) = (B, C,
D, A) yang diartikan bahwa nilai yang terletak pada sisi kanan
berasal dari
register disisi kiri. Algoritma RC6 menggunakan 44 buah sub
kunci yang
dibangkitkan dari kunci dan dinamakan dengan S[0] hingga S[43].
Masing-
masing sub kunci panjangnya 32 bit [5]. Kesamaan penelitian
kedua dengan
penelitian ini adalah sama-sama menggunakan kunci simetris dan
berbasis block
cipher.
AES (Advanced Encryption Standard) adalah teknik enkripsi yang
dijadikan
standard FIPS oleh NIST (Nasional Institute of Standards and
Technology) tahun
2001. AES menjadi standard melalui proses seleksi. Dari beberapa
teknik enkripsi
yang dicalonkan untuk menjadi AES, yang terpilih adalah enkripsi
Rijndael.
Teknik enkripsi ini termasuk jenis block cipher [6]. Rijndael
mendukung panjang
kunci 128 bit sampai 256 bit dengan step 32 bit. Panjang kunci
dan ukuran blok
dapat dipilih secara independen. Karena AES menetapkan panjang
kunci adalah
128, 192, dan 256, maka dikenal AES-128, AES-192, dan AES-256
[7]. AES
digunakan sebagai pembanding dalam penelitian ini, dan AES yang
digunakan
adalah AES-128 karena merupakan standard pengamanan yang dipakai
saat ini.
Yang akan dibandingkan adalah nilai keacakan dan juga
diferensiasi data.
Selanjutnya, teori-teori dasar yang akan dibahas dalam
penelitian ini
meliputi:
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga
kerahasiaan
berita. Selain pengertian tersebut terdapat pula pengertian ilmu
yang mempelajari
teknik-teknik matematika yang berhubungan dengan aspek keamanan
informasi
seperti kerahasiaan data, keabsahan data, integritas data, serta
autentikasi data [2].
ada berbagai macam teknik kriptografi, salah satu diantaranya
adalah block
cipher.
Block cipher mengenkripsi pesan dengan cara merangkai bit-bit
plainteks
yang kemudian dibagi menjadi blok dengan panjang yang sama
[8][9]. Skema
enkripsi dan dekripsi dengan block cipher digambarkan pada
Gambar 1.
-
4
dikeringkan dan lembut. Ada beberapa jenis anyaman salah satunya
ada anyaman
tunggal. Agung [13], mengatakan anyaman tunggal adalah anyaman
dengan
aturan satu lembar lusi (iratan bilah bambu arah melintang)
ditimpa dengan satu
lembar pakan (iratan bilah bambu arah membujur). Contoh anyaman
dapat
ditunjukkan pada Gambar 2.
Gambar 2 Contoh Anyaman
Gambar 2 merupakan hasil anyaman, dimana dalam proses menganyam
tikar
2 bahan dari daun pandan saling ditimpa yaitu arah menyimpang
(iratan) dan juga
arah membujur (pakan). Pada baris pertama (ganjil) bilah
melintang masuk kesatu
bilah membujur sehingga menjadi pola tersembunyi (tidak tampak),
sedangkan
pada baris kedua (genap) iratan bilah membujur masuk ke satu
bilah melintang
sehingga menjadikan pola timbul (tampak), proses tersebut
berulang sampai
anyaman selesai sehingga membuat pola timbul dan
tersembunyi.
Untuk memenuhi ukuran blok 8×8 yang sebanding dengan 64 bit,
perancangan ini menggunakan padding. Proses padding adalah
proses
penambahan byte-byte dummy berupa karakter NULL pada byte-byte
sisa yang
masih kosong pada blok terakhir plainteks, sehingga ukurannya
menjadi sama
dengan ukuran blok penyandian [14].
Perancangan ini juga menggunakan transposisi bit. Menurut Munir
[2], pada
algoritma Columnar Transposition, huruf-huruf di dalam plaintext
tetap sama
namun urutannya diubah. Algoritma ini melakukan transpose
terhadap rangkaian
karakter di dalam teks. Nama lain untuk metode ini adalah
permutasi atau
pengacakan (scrambling) karena transpose setiap karakter di
dalam teks sama
dengan mempermutasikan karakter-karakter tersebut.
Pada penelitian ini, pengujian rancangan kritografi dilakukan
dengan mencari
nilai keacakan dan diferensiasi data. Nilai keacakan digunakan
untuk mengetahui
besarnya algoritma kriptografi yang dirancang mampu mengacak
plainteks yang
dimasukkan. Cara mencari nilai keacakan dirumuskan [15].
)6(i
iii
p
cpY
Dimana Yi sebagai nilai keacakan ke-i, dan secara berturut-turut
pi dan ci adalah
nilai plainteks dan cipherteks ke-i. Nilai keacakan dilihat pada
bilangan cipherteks
yang dihasilkan oleh algoritma tertentu. Penelitian ini tidak
membandingkan
ukuran blok dengan AES. Nilai acak dibangun dari selisih
perbandingan plainteks
-
5
dengan cipherteks terhadap plainteks. Karena selisih pada
pembilang pada
persamaan (6) berarti menunjukkan jarak dari plainteks, walaupun
dirasiokan
terhadap plainteks kembali. Kemungkinan yang muncul pada nilai
keacakan dapat
bertanda positif atau negatif. Negatif berarti selisih
perbandingan nilai cipherteks
lebih besar dibandingankan dengan nilai plainteks, sedangkan
positif berarti
selisih perbandingan nilai cipherteks lebih kecil dibandingkan
dengan nilai
plainteks.
Penggunaan jarak dapat dipandang sebagai suatu keacakan apabila
metode
Brute Force Attack (BFA) sebagai standar kriptanalis digunakan
untuk membobol
algoritma yang ada. Teknik BFA dilakukan dengan mencoba semua
kemungkinan
kunci atau angka untuk menemukan relasi yang berkorespondensi
satu satu (one
to one) antara plainteks dan cipherteks. Setiap plainteks yang
dimasukkan sudah
pasti diketahui desimalnya, kriptanalis akan mencoba setiap
bilangan yang lebih
besar atau yang lebih kecil dari bilangan plainteks dan akan
membesar atau
mengecil secara terus menerus. Contohnya plainteks dengan nilai
desimal 72
(karakter H) kriptanalis akan mencoba bilangan di bawah dan di
atas plainteks
misalnya 71, 73, 70, 74 secara terus menerus sampai menemukan
kecocokan hasil
bilangan dengan plainteks tersebut, sehingga apabila semakin
jauh nilai cipherteks
dari plainteks berarti akan memerlukan banyak waktu dan proses
untuk
menemukan relasi dengan cipherteks atau bahkan menemukan
plainteks.
Sedangkan diferensiasi data digunakan untuk mencari perbandingan
selisih
anatar dua titik. Dalam kalkulus, metode ini sering disebut
sebagai turunan atau
kemiringan dari data.
Jika diberikan kumpulan data ((x1,y1), (x2,y2), (x3,y3), …,
(xn,yn)) dengan syarat bahwa xi < xi+1 dimana i = 1…n. Data
tersebut dapat divisualisasikan ke
dalam koordinat Cartesius untuk setiap x sebagai variabel bebas,
y atau ditulis
sebagai f(x) sebagai variabel tak bebas. Untuk menentukan
diferensiasi data pada
dua titik maka persamaan yang dapat dibentuk sebagai berikut
:
)7()(
)(
ba
ab
xx
yy
x
y
dengan (xa, ya) sebagai titik pertama, dan titik berikutnya
adalah (xb, yb). Apabila
terdapat n data maka untuk menentukan rata-rata dari
diferensiasi data dapat di
cari untuk melihat tren dari setiap data Rataan diferensiasi
(Rd) untuk melihat
diberikan pada Persamaan (2).
(8)
-
6
3. Metode Penelitian
Dalam perancangan kriptografi block cipher berbasis pada ADT
terdiri dari
beberapa tahapan dalam penyusunan penelitian. Tahapan tersebut
ditunjukkan
pada Gambar 3.
Gambar 3 Tahapan Penelitian
Tahapan penelitian tersebut dapat dijelaskan sebagai
berikut.
1. Identifikasi dan Perumusan Masalah; Mengidentifikasi masalah
yang ada tentang kelemahan kriptografi yang sudah dibuat
sebelumnya, kemudian
merumuskannya dalam perancangan algoritma kriptografi block
cipher
dengan teknik ADT dengan tujuan membuat kriptografi baru.
2. Analisis Kebutuhan; Menganalisis kebutuhan perancangan
algoritma kriptografi baru yang digunakan untuk mengamankan
data.
3. Pengumpulan Bahan; Meliputi pengumpulan referensi yang
berkaitan dengan pembuatan algoritma kriptografi baru, seperti
mencari alur untuk
teks dan kunci yang berhubungan dengan proses enkripsi dan
dekripsi.
4. Perancangan Algoritma; Memilih alur anyaman yang digunakan
dalam perancangan algoritma.
5. Pembuatan Kriptografi; Menerapkan alur ADT ke dalam block
cipher dengan ukuran block 8×8.
6. Uji Kriptografi; Melakukan pengujian algoritma ADT dengan
cara penghitungan secara manual. Penghitungan dilakukan dengan
-
7
memasukkan plainteks dan kunci serta melakukan proses enkripsi
dan
dekripsi. Jika teks tidak kembali saat proses dekripsi, maka
dilakukan
pengecekan kembali algoritma yang dibuat (kembali ke Tahap
5).
7. Uji Kriptosistem; Melakukan pengujian algoritma yang dibuat
dengan metode 5-tuple Stinson, kemudian dilakukan analisa untuk
melihat apakah
algoritma ADT sudah memenuhi metode Stinson.
8. Penulisan Laporan; Yaitu mendokumentasikan proses penelitian
yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan,
yang
menjadi laporan hasil penelitian.
Tahapan penelitian ini menjelaskan proses perancangan
kriptografi block
cipher dengan teknik ADT. Hasil dari rancangan kriptografi ini
akan diuji dengan
aturan Stinson. Batasan masalah dari penelitian ini adalah:
1. Penelitian ini hanya membahas teknik Anyaman Dasar Tunggal
sebagai algoritma.
2. Jumlah plainteks dan kunci sama hanya menampung 8 karakter.
3. Panjang bloknya adalah 64 bit. 4. Tidak membahas teknik
transposisi secara mendalam. 5. Panjang kunci mempunyai panjang
maksimal 8 karakter. 6. Penelitian ini tidak menguji kriptanalisis
terhadap rancangan kriptografi.
Rancangan Umum perancangan kriptografi
Rancangan kriptografi block cipher dengan alur Anyaman Dasar
Tunggal
(ADT), dibuat dengan 5 putaran. ADT sama seperti kriptografi
lainnya yang
menerima inputan plainteks dan kunci. Dimisalkan plainteks
adalah P dan kunci
adalah, K maka dapat dinyatakan K ={x1,x2,x3…..xn}, n|8, n ∈
Z+.
Kedua inputan tersebut akan diproses XOR dan geser mengikuti
pola
anyaman. Setiap putaran terdapat proses untuk plainteks dan
kunci, dimana Proses
i, 8,,2,1 i dan Proses Key i, 8,,2,1 i . Gambar rancangan
umum
kriptografi dapat dilihat pada Gambar 4.
-
8
Gambar 4 Rancangan Umum Kriptografi Blok Cipher Berbasis
Anyaman Dasar Tunggal
Rancangan kriptografi ini dibuat dalam kotak ukuran 8×8. Dimana
untuk satu
putarannya, tiap pemasukan plainteks dan kunci masing-masing
berjumlah 8
karakter.
k1 k2 k3 k4 k5 k6 k7 k8
k9 k10 k11 k12 k13 k14 k15 k16
k17 k18 k19 k20 k21 k22 k23 k24
k25 k26 k27 k28 k29 k30 k31 k32
k33 k34 k35 k36 k37 k38 k39 k40
k41 k42 k43 k44 k45 k46 k47 k48
k49 k50 k51 k52 k53 k54 k55 k56
k57 k58 k59 k60 k61 k62 k63 k64
Gambar 5 Contoh Kotak 64-Bit
Kotak 64-bit dirancang untuk memasukan 64 bit data plainteks
lalu
memprosesnya sampai menghasilkan Pn, dimana n = 1, 2, ..., 5.
Pada kotak 64-bit
data plainteks di Gambar 5, kotak berwarna biru yang
mengadaptasi dari pola
timbul pada anyaman mewakili proses XOR pada baris ganjil,
sedangkan kotak
berwarna merah muda yang mengadaptasi dari pola timbul pada
anyaman dan
-
9
mewakili proses XOR pada baris genap. Selain proses XOR,
terdapat juga proses
geser bit yang diwakili oleh kotak berwarna putih yang
mengadaptasi dari pola
tenggelam pada anyaman. Proses pada perancangan ini juga
menggunakan teknik
transposisi bit seperti yang sudah dijelaskan didasar teori.
Setelah masuk pada
proses transposisi, kemudian masuk ke proses anyaman.
Hasil dan Pembahasan
Pada bagian Hasil dan Pembahasan ini, akan dijelaskan proses
perancangan
alur ADT menjadi sebuah algoritma yang akan digunakan dalam
kriptografi block
cipher. Seperti yang telah dijelaskan pada bagian sebelumnya
tentang cara
menganyam dimana bahan yang masuk secara melintang akan saling
timpa
dengan bahan yang masuk secara membujur, cara tersebut
diterapkan dalam
proses pengacakan bit dengan mengacu pola anyaman itu sendiri.
Plainteks dan
kunci akan bertemu dan berproses XOR, dimana pada baris ganjil
dan genap
pertemuan antara plainteks dan kunci berada di kotak yang
berbeda, sehingga
dihasilkan pola anyaman yang timbul dan tenggelam. Proses
anyaman pada baris
ganjil ditunjukkan pada Gambar 6 dan proses anyaman pada baris
genap
ditunjukan Gambar 7.
k1 k2 k3 k4 k5 k6 k7 k8
Gambar 6 Pemasukan Bit Baris Ganjil
Gambar 6 menunjukkan 8 bit (satu karakter) yang berada dibaris
ganjil,
dimana 8 bit yang masuk akan di-XOR dengan bit-bit karakter
kunci yang berada
di kolom ganjil juga. Bit-bit karakter yang masuk akan terkena
kunci di kotak
ganjil berwarna biru (k1, k3, k5, k7) yang menggambarkan pola
timbul pada
anyaman, selanjutnya terjadi proses geser bit di kotak genap
berwarna (k2, k4, k6,
k8) dimana kotak berwarna putih menggambarkan pola tenggelan
pada anyaman.
.
k9 k10 k11 k12 k13 k14 k15 k16
Gambar 7 Pemasukan Bit Baris Genap
Hal yang sama juga berlaku pada baris genap, dimana karakter
yang berada di
baris ini akan di-XOR dengan bit-bit karakter kunci yang berada
di kotak genap
berwarna merah muda (k10, k12, k16, k18) yang menggambarkan pola
timbul pada
anyaman, lalu dilakukan geser bit pada kotak ganjil berwana
putih yang
menggambarkan pola tenggelam pada anyaman (k9, k11, k13, k15),
seperti terlihat
pada Gambar 7 sehingga membentuk alur anyaman dasar tunggal.
Proses tersebut berlaku juga pada putaran selanjutnya dimana
karakter pada
tiap baris akan dikenakan 4 kali XOR dengan kunci yang berada di
setiap kotak
kunci dan 4 kali geser bit dengan aturan geser yang berbeda.
-
11
Sebagai contoh, terdapat 10 karakter plainteks, maka n = 10 dan
10 < 8m.
Sehingga kelipatan delapan terkecil yang lebih besar dari 10
adalah 16 (8m; m =
2), jadi jumlah karakter yang akan di padding adalah (16 – 10) =
6 karakter. Hal
yang sama juga pada kunci, misalkan diinputkan hanya 5 karakter
sehingga perlu
di padding sebanyak (8 – 5) = 3 karakter untuk memenuhi panjang
ukuran blok
cipher.
Hasil dari proses transposisi dimasukkan ke dalam proses
anyaman, dimana
dalam proses anyaman terdapat perlakuan XOR dan geser bit. Dalam
satu proses
putaran, terdapat 2 perlakuan yang berbeda. Untuk baris ganjil
atau karakter yang
berada di urutan ganjil proses dilakukan seperti pada Gambar 6,
sedangkan untuk
baris genap atau karakter yang berada di urutan genap proses
dilakukan seperti
pada Gambar 7.
Proses generate kunci pada proses 2, 3, 4, dan 5 dilakukan
dengan cara
menggeser bit dari putaran sebelumnya kearah kanan, dimana
pergeseran bit
dilakukan sesuai dengan aturan yang tetap.
Contoh perhitungan manual
Untuk membuktikan proses enkripsi alur ADT dilakukan dengan
dua
pengujian penghitungan secara manual, menggunakan plainteks yang
berbeda.
Pengujian pertama proses enkripsi-dekripsi dilakukan dengan
menggunakan
contoh plainteks “Dr3@mBoy” dengan kunci “f4cEBo0k”. Penggunaan
plainteks
tersebut karena sudah terdapat huruf kapital, huruf kecil, dan
simbol di dalamnya.
Yang akan ditunjukkan pada penelitian ini adalah proses ke 1.
Proses pada putaran
2, 3, 4, dan 5 sama, hanya berbeda perubahan kunci karena proses
generate kunci
dari putaran sebelumnya, serta perbedaan pergeseran pada setiap
putarannya.
Plainteks “Dr3@mBoy” terdiri dari 8 karakter. Setelah memenuhi
syarat
kelipatan 8, maka langkah selanjutnya karakter diubah ke dalam
biner dan
dilakukan proses transposisi. Biner dari hasil proses
transposisi dapat dilihat pada
Tabel 1.
Tabel 1 Tabel Hasil Transposisi
No Desimal Hexa Biner Karakter
1 105 69 01101001 i
2 6 06 00000110 ACK
3 101 65 01100101 e
4 114 72 01110010 r
5 36 24 00100100 $
6 119 77 01110111 w
7 64 40 01000000 @
8 66 42 01000010 B
-
12
Dari Tabel 1, selanjutnya masuk ke proses anyaman. Terdapat lima
proses
dalam proses anyaman. Alur anyaman pada proses 1, ditunjukkan
pada Gambar 9.
Gambar 9 Alur Anyaman Proses 1
Proses pada putaran 1 mempunyai dua perlakuan yang berbeda,
yaitu
perlakuan untuk baris ganjil dan baris genap. Pada baris ganjil
(contohnya pada
karakter “i” dengan nilai desimal 105 dan nilai biner 01101001)
dikenakan kunci
“fcB0” dengan nilai biner 01100110 01100011 01000010 00110000 .
Karakter “i”
di-XOR dengan kunci “f”, kemudian 2 bit akhir hasil dari XOR
tersebut digeser 2
kearah kiri. Hasil geser pertama di-XOR lagi dengan kunci “c ”,
2 bit akhir hasil
dari XOR tersebut digeser lagi kearah kiri. Proses ini berulang
sampai 2 bit hasil
dari XOR kunci “0” digeser kearah kiri sehingga menghasilkan
karakter “ ª ”
dengan nilai biner 10101010 dan nilai hexa AA.
Proses pada baris genap (contohnya pada karakter “ACK” dengan
nilai
desimal 6 dan nilai biner 00000110) dikenakan kunci “4eok”. 1
bit akhir karakter
“ACK” digeser kearah kiri, hasil geser tersebut kemudian di-XOR
dengan kunci
“4”. 1 bit akhir dari hasil XOR tersebut digeser lagi kearah
kiri, kemudian di-XOR
lagi dengan kunci ”e”. Proses tersebut berulang sampai hasil
geser 1 bit akhir
kearah kiri di-XOR dengan kunci “k” sehingga menghasilkan
karakter “k” dengan
nilai biner 01101011 dan nilai hexa 6B. Untuk karakter
selanjutnya (pada baris
ganjil dan genap) mendapatkan perlakuan yang sama sehingga pada
proses 1
mendapatkan hasil akhir 10101010 01101011 10100110 00101100
11100111
01111100 10000011 00101111.
Adapun proses pada putaran 2, 3, 4, dan 5 hampir sama seperti
pada proses
putaran 1, yang membedakan tiap putaran adalah kunci yang
di-generate dengan
cara menggeser bit setiap karakter dari proses sebelumnya dan
pergeseran bit yang
berbeda pada tiap putarannya. Setelah dilakukan proses putaran
sebanyak lima
kali, maka dihasilkan cipherteks dengan nilai desimal dari
cipherteks 147, 48, 183,
106, 9, 43, 254, 20, dan nilai hexa 93, 30, B7, 6A, 09, 2B, FD,
14.
-
13
Pengujian kedua dilakukan dengan menggunakan bit simetris,
dengan
contoh karakter “ZZZZZZZZZZZZZZZZ” dengan menggunakan kunci
yang
sama dengan pengujian pertama. Berdasarkan proses pengujian yang
ditunjukkan
pada Gambar 8, diperoleh cipherteks “ßgÃyé ÇœßgÃyé Çœ” dengan
nilai desimal
dari cipherteks 223, 103, 195, 121, 233, 24, 199, 156, 223, 103,
195, 121, 233, 24,
199, 156 dan nilai hexa DF, 67, C3, 79, E9, 18, C7, 9C, DF, 67,
C3, 79, E9, 18,
C7, 9C. Hasil dari pengujian kedua tereksplisitkan pada grafik
Gambar 10.
Gambar 10 Grafik Cipherteks pengujian kedua
Sedangkan pada proses dekripsi, berlaku kebalikan dari proses
enkripsi yang
ditunjukkan pada Gambar 8. Proses dekripsi dilakukan dengan
membalik alur
antara baris ganjil dan baris genap, dimana pada baris ganjil
dikenakan proses
seperti yang sudah dijelaskan pada Gambar 6, dengan membalik
alur dari kanan
ke kiri. Hal yang sama berlaku juga pada baris genap seperti
yang ditunjukkan
pada Gambar 7. Setelah itu dilanjutkan dengan mengembalikan bit
pada hasil
transposisi ke urutan bit-bit semula yang menghasilkan plainteks
awal.
Setelah dilakukan pengujian secara manual, langkah selanjutnya
adalah
menguji algoritma kriptografi ADT sebagai kriptosistem. Untuk
menguji
kriptografi sebagai sebuah kriptosistem, dilakukan pengujian
dengan
menggunakan teknik five tuple yaitu P,C,K,E,D. Sebuah
kriptografi dapat
dikatakan sebagai kriptosistem jika memenuhi :
- P adalah himpunan berhingga dari plainteks. Dalam perancangan
ini menggunakan 256 karakter ASCII Maka himpunan plainteks pada
perancangan kriptografi Anyaman Dasar Tunggal adalah
himpunan
berhingga.
- C adalah himpunan berhingga dari cipherteks. Cipherteks yang
dihasilkan pada perancangan kriptografi Anyaman Dasar Tunggal
merupakan elemen
0
50
100
150
200
250
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Plainteks ADT AES-128
-
14
bit (bilangan 0 dan 1). Karena himpunan cipherteks hanya * +,
maka cipherteks pada kriptografi yang dirancang adalah himpunan
berhingga.
- K merupakan ruang kunci (keyspace), adalah himpunan berhingga
dari kunci karena jumlah kunci dibatasi sebanyak 8 karakter dalam
256
karakter ASCII. Maka dari itu kunci yang digunakan juga
himpunan
berhingga.
- Untuk setiap k K, terdapat aturan enkripsi E dan
berkorespodensi dengan aturan dekripsi . Setiap dan
adalah fungsi sedemikian hingga ( ( )) untuk setiap plainteks .
Dari kondisi ke-4 ini secara menyeluruh terdapat kunci yang dapat
melakukan proses enkripsi sehingga merubah plainteks menjadi
cipherteks
dan begitupun sebaliknya, dapat melakukan proses dekripsi
sehingga bisa
merubah cipherteks menjadi plainteks kembali. Pengujian ini
menunjukkan bahwa jika rancangan kriptografi dapat melakukan
proses
enkripsi dan dekripsi, maka telah memenuhi dua dari 5-tuple
Stinson
untuk sebuah kriptosistem.
Selanjutnya, dilakukan pengujian dengan plainteks “AXA Tower,
28th”
dengan kunci yang sama untuk membandingkan keacakan antara
algoritma ADT
dengan AES-128 yang merupakan acuan standar keamanan data, dan
juga
dilakukan pengujian untuk membandingkan keacakan antara
algoritma ADT,
AES-128, dan Langkah Kuda Catur (LKC). Perbandingan antara ADT
dengan
AES ditunjukkan pada Gambar 11.
Gambar 11 Perbandingan Keacakan Algoritma ADT dengan AES-128
Pada Gambar 11 dapat dilihat bahwa algoritma ADT menghasilkan
grafik
cipherteks yang fluktuatif, begitu juga dengan AES-128. Tetapi
bentuk fluktiatif
dari kedua algoritma tersebut berbeda, seperti yang dijelaskan
pada dasar teori
bahwa dengan nilai cipherteks berada di atas plainteks
mempersulit serangan
Brute For Attack (BFA). Hasil nilai cipherteks tersebut kemudian
dibandingan
dengan nilai keacakan AES-128 yang cenderung mematahkan diantara
plainteks.
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Plainteks ADT AES-128
-
15
Dari persamaan (6) diperoleh nilai keacakan ADT terhadap sumbu y
sebesar -
0,831397248, sedangkan nilai keacakan AES terhadap sumbu y
adalah sebesar -
0,475877108. Perbandingan nilai keacakan antara ADT terhadap AES
adalah
sebesar -0,654054133. Dari segi nilai keacakan algoritma yang
dirancang lebih
baik daripada AES-128.
Pengujian selanjutnya adalah melihat nilai diferensiasi dari
algoritma yang
dibuat. Nilai diferensiasi dapat diperoleh dengan menggunakan
persamaan (8).
Algoritma ADT memiliki nilai diferensiasi sebesar -8,5,
sedangkan untuk nilai
diferensiasi AES adalah sebesar -7,595833333. Dari Gambar 11
dapat dilihat
bahwa kedua algoritma cenderung fluktuatif dengan berada di atas
dan di bawah
plainteks. Hal tersebut menunjukkan bahwa nilai plainteks lebih
kecil daripada
nilai cipherteks.
Pengujian selanjutnya adalah menguji keacakan antara algoritma
ADT, AES-
128, dan LKC. Hasil perbandingan antara ketiga algoritma
tersebut ditunjukkan
pada Gambar 12.
Gambar 12 Perbandingan Keacakan Algoritma ADT, AES-128, dan
LKC
Pengujian algoritma yang ketiga seperti pengujian pada Gambar
11, namun
yang membedakan adalah penambahan algoritma LKC untuk
membandingkan
keacakannya. Pada Gambar 12 dapat dilihat bahwa algoritma LKC
cenderung
berada di atas plainteks dibandingkan dengan algoritma ADT dan
AES-128.
4. Simpulan
Kesimpulan yang diperoleh dari penelitian ini, bahwa
Perancangan
Kriptografi Block Cipher Berbasis Pada Teknik Anyaman Dasar
Tunggal dapat
melakukan proses enkripsi dan dekripsi sehingga bisa dikatakan
sebagai sebuah
teknik kriptografi. Selain itu perancangan ini juga sudah
memenuhi 5-tuple
sehingga dapat dikatakan sebagai sistem kriptografi. Hasil
keacakan ADT
terhadap AES-128 adalah sebesar 38%.
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Plainteks ADT AES-128 LKC
-
16
5. Daftar Pustaka
[1] Ariyus, Dony, 2006, Kriptografi Keamanan Data Dan
Komunikasi. Yogyakarta. Graha Ilmu.
[2] Munir, Renaldi, 2006, Kriptografi. Bandung. Informatika. [3]
Biham, E., & Shamir, A., 1990, Differential Cryptanalysis of
DES like
Cryptosystem, Rehovod: Department of Apllied Mathematics,
The
Weizmann Institude of Science.
[4] Setiawan, Adi, N., dkk, 2015, Perancangan Algoritma pada
Kriptografi Block Cipher dengan Teknik Langkah Kuda dalam Permainan
Catur.
Prosiding Seminar Teknik Informatika & Sistem Informasi.
Bandung.
[5] Prayudi, Yudi., Halik, Idham. 2005. Studi dan Analisis
Algoritma Rivest Code 6 (RC6) dalam Enkripsi/Dekripsi Data. Seminar
Nasional Aplikasi
Teknologi Informasi 2005 (SNATI 2005). Yogyakarta.
[6] Kromodimoeljo, Sentot., 2010. Teori dan Aplikasi
Kriptografi. Jakarta: SPK IT Consulting.
[7] Daemen Joan-Vincent Rijmen., 2001. The Design of Rijndael
AES-The Advanced Encryption Standard. New York : Springer
[8] Buchmann, Johannes, A., 2000. Introduction to Cryptography,
Springer-Verlag, Inc : New York
[9] Forouzan, Behrouz, A., 2008, Cryptography and Network
Security, New York: McGraw-Hill.
[10] Stinson, D.R. 1995. Cryptography Theory and Practice.
Florida: CRC Press, Inc.
[11] Arief, F.,2012. Pengertian Anyaman- Seni Menganyam,
Yogyakarta :Balai Pustaka
[12] Kamus Besar Bahasa Indonesia. http://kbbi.web.id/anyam
(diakses, 12 Maret 2015).
[13] Agung. 2012. Jurnal Penelitian PendidikanVol. 13 No. 1,
April 2012. [14] Dafid., 2006. Kriptografi Kunci Simetris Dengan
Menggunakan Algoritma
Crypton. @lgoritma Jurnal Ilmiah STMIK GI MDP. Palembang.
Volume
2 nomor 3 Oktober.
[15] Lewandouw, V.B,. Wowor A.D,. 2015. Desain Algoritma Kubus
Rubik dalam Perancangan Kriptografi Simetris. Prosiding Seminar
Teknik
Informatika & Sistem Informasi. Bandung.
[16] Nayuki, 2014, AES Cipher Internal in Excel,
(http://nayuki.eigenstate.org/page/aes-cipher-internals-in-excel),
(diakses 2
Februari 2015).