Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
1
Perancangan Algoritma Kriptografi Block Cipher 256 Bit
Berbasis Pola Huruf B, M, E, W
Artikel Ilmiah
Peneliti:
Dervyn A. M. Latupeirissa (672012137)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
2
Perancangan Algoritma Kriptografi Block Cipher 256 Bit
Berbasis Pola Huruf B, M, E, W
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti:
Dervyn A. M. Latupeirissa (672012137)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
3
4
5
6
7
8
Perancangan Algoritma Kriptografi Block Cipher 256 Bit
Berbasis Pola Huruf B, M, E, W
Dervyn A. M. Latupeirissa1, Magdalena A. InekePakereng
2
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
E-mail: [email protected], [email protected]
2
Abstract Cryptography is the science of maintaining the confidentiality of the data.
Cryptography has important role in securing the data, so that cryptography should be
developed. In this study designed Cryptographic Algorithm Block Cipher 256 Bit Patterns
Based Letters B, M, E, W, which has 20 (twenty) rounds in the encryption process in
which the Plaintext transformed using the substitution tables of S-Box AES and the taking
patterns of Plaintext for each process is using pattern based on letters B, M, E, W.
Cryptographic Algorithm Block Cipher 256 Bit Patterns Based on Letters B, M, E, W can
produce a ciphertext that is random with the Avalanche Effect testing which has reached
50,78125%, so this algorithm can be used as an alternative in security data.
Keywords: Block Cipher, Cryptography, Letters B M E W Pattern, S-Box AES
Abstrak Kriptografi adalah ilmu untuk menjaga kerahasiaan data. Kriptografi sangat
berperan penting dalam mengamankan data, sehingga kriptografi perlu terus
dikembangkan. Dalam penelitian ini dirancang Algoritma Kriptografi Block Cipher 256
Bit Berbasis Pola Huruf B, M, E, W yang memiliki 20 (dua puluh) putaran pada proses
enkripsi dimana Plaintext awal ditransformasi dengan menggunakan tabel substitusi S-
Box AES dan pola pengambilan Plaintext untuk setiap proses menggunakan pola huruf B,
M, E, W. Algoritma Kriptografi Block Cipher 256 Bit Berbasis Pola Huruf B, M, E, W
dapat menghasilkan Ciphertext yang acak dengan pengujian Avalanche Effect yang sudah
mencapai 50,78125% sehingga algoritma ini dapat digunakan sebagai alternatif dalam
pengamanan data.
Kata Kunci: Block Cipher, Kriptografi, Pola Huruf B M E W, S-Box AES
1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya
Wacana 2)Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga
mailto:[email protected]
9
1. Pendahuluan
Seiring berkembangnya teknologi informasi saat ini, keamanan data dalam
proses pengiriman perlu ditingkatkan. Salah satu cara yang sangat membantu
adalah dengan menggunakan teknik enkripsi dan dekripsi data. Teknik
pengamanan data menggunakan enkripsi dan dekripsi dikenal dengan nama
kriptografi, sebagai sebuah ilmu atau seni untuk mengamankan pesan atau data
dengan cara menyamarkan pesan tersebut sehingga hanya dapat dibaca oleh
pengirim dan penerima pesan. Penerapan kriptografi pada komputer dapat
menyamarkan pesan yang berupa file teks, gambar, suara, gambar bergerak dan
lain-lain [1].
Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan data [2].
Kriptografi sangat berperan penting dalam keamanan informasi saat ini, mulai dari
percakapan melalui telepon genggam, transaksi di bank, sampai aktivasi peluru
kendali pun menggunakan kriptografi [3]. Semakin baik algoritma dan kunci yang
dibuat, semakin baik juga kerahasiaan informasi itu terjaga.
Dalam kriptografi pesan asli yang dimengerti isinya atau maknanya
dinamakan plaintext. Sedangkan pesan yang tidak dimengerti yang merupakan
hasil transformasi dari plaintext disebut ciphertext [4]. Tranformasi artinya suatu
proses yang dilakukan untuk mengubah plaintext tersebut menjadi ciphertext.
Proses ini biasanya disebut dengan proses enkripsi. Sedangkan proses yang
dilakukan untuk mengubah ciphertext menjadi plaintext biasanya disebut dengan
dekripsi [5].
Salah satu algoritma dalam kriptografi adalah algoritma Block Cipher.
Block cipher merupakan algoritma kriptografi simetris yang mengenkripsi satu
block plaintext dengan jumlah bit tertentu dan menghasilkan block ciphertext
dengan jumlah bit yang sama. Pada umumnya, setiap block plaintext yang
diproses berukuran 64 bit. Namun, seiring dengan kemajuan teknologi, ukuran
block plaintext berkembang menjadi 128 bit, 256 bit bahkan menjadi 512 bit [6].
Block cipher mengenkripsi plaintext dan mendekripsi ciphertext secara block per
block (block adalah kumpulan bit), yaitu satu block dienkripsi atau didekripsi per
satuan waktu [1].
Algoritma yang digunakan dalam penelitian ini adalah algoritma block
cipher 256 bit dengan menggunakan pola huruf B, M, E, W dan dikombinasikan
dengan tabel substitusi S-Box dari algoritma kriptografi AES (Advanced
Encryption Standard). Pada penelitian ini block plaintext yang berukuran 256 bit
atau sama dengan 32 byte disubstitusi dengan tabel substitusi S-Box, kemudian
dienkripsi sebanyak 20 putaran dengan menggunakan pola huruf B, M, E, W
sebagai pola pengambilan plaintext. Setiap putaran enkripsi memiliki 4 proses
plaintext dan kunci (key) yang kemudian di-XOR dan menghasilkan block
ciphertext yang akan digunakan untuk putaran selanjutnya. Setelah menghasilkan
ciphertext terakhir pada putaran ke 20, maka dilakukan proses dekripsi untuk
mengembalikan ciphertext akhir menjadi plaintext awal.
10
2. Tinjauan Pustaka
Penelitian sebelumnya digunakan sebagai acuan dalam penelitian yang
dilakukan. Penelitian pertama berjudul “Perancangan Kriptografi Block Cipher
dengan Langkah Kuda” yang membahas tentang kriptografi block cipher dengan
langkah kuda lari dan langkah kuda jalan. Algoritma langkah kuda lari dan
langkah jalan dapat membuktikan bahwa pola ini dapat menghasilkan kriptografi
simetris dan dapat memenuhi lima-tuple (Five-tuple). Penelitian ini dapat
membandingkan proses keacakan dan proses nilai diferensiasi antara KS dengan
AES-128. Hasil perbandingan dengan AES-128, rancangan berbasis langkah kuda
lebih cepat 0.94869906 ms [7].
Penelitian kedua berjudul “Penggunaan Motif Kain Tenun Timor Dan
Linear Congruential Generator (LCG) Dalam Merancang Dan
Mengimplementasikan Algoritma Kriptografi Cipher Block” yang membahas
tentang algoritma Kain Tenun Timor (KTT) dan linear congruential generator
(LCG) sebagai pembangkit kunci. Perancangan algoritma kriptografi berbasis
motif kain tenun timor dan linear congruential generator adalah suatu rancangan
algoritma kriptografi cipher block yang beroperasi dalam bentuk bit, dan termasuk
dalam teknik kriptografi kunci simetris. Hasil dari perancangan algoritma
kriptografi ini dapat digunakan untuk mengenkripsi dan mendekripsi teks yang
kemudian diimplementasikan ke dalam bentuk aplikasi [8].
Penelitian ketiga berjudul “Perancangan Algoritma Kriptografi Block
Cipher 256 Bit Berbasis pada Pola Tuangan Air”. Penelitian ini menjelaskan
tentang pola penuangan air yang dikombinasikan dengan tabel substitusi S-Box
AES pada akhir proses enkripsi yang menghasilkan Ciphertext akhir (C) yang
acak [9].
Berdasarkan penelitian-penelitian yang sudah ada terkait perancangan
algoritma kriptografi simetris block cipher maka dilakukan penelitian yang
berjudul “Perancangan Algoritma Kriptografi Block Cipher 256 Bit Berbasis Pada
Pola Huruf B, M, E, W”. Perbedaan penelitian ini dengan penelitian sebelumnya
adalah jumlah data yang diproses adalah sebanyak 256 bit dan kombinasi
menggunakan tabel substitusi S-Box AES dimana plaintext awal pada setiap
putaran akan disubstitusi terlebih dahulu dengan tabel substitusi S-Box AES
kemudian dienkripsi dengan pola huruf B, M, E, W sebagai pola pengambilan,
dan juga dibuat kombinasi sebanyak 24 kombinasi yang terdiri dari kombinasi A,
B, C, D yang memiliki masing-masing 6 kombinasi berbeda dan bertujuan untuk
mencari korelasi terendah sebagai pola yang paling optimal.
11
Gambar 1 Skema Dasar Proses Enkripsi-Dekripsi Pada BlockCipher [3].
Misalkan block plaintext (P) yang berukuran n bit
npppP ,,, 21 (1) Block ciphertext (C) maka block C adalah
ncccC ,,, 21 (2) Kunci (K) maka kunci adalah
nkkkK ,,, 21 (3) Sehingga proses enkripsi adalah
CPEk (4) Proses dekripsi adalah
PCDk (C) = P (5)
Sebuah kriptografi dapat dikatakan sebagai suatu teknik kriptografi, harus
melalui uji kriptosistem terlebih dahulu yaitu diuji dengan metode Stinson.
Sebuah sistem akan dikatakan sebagai sistem kriptografi jika memenuhi lima-
tuple (Five tuple) [10]:
1. P adalah himpunan berhingga dari plaintext, 2. C adalah himpunan berhingga dari ciphertext, 3. K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci, 4. Untuk setiap , terdapat aturan enkripsi dan berkorespodensi
dengan aturan dekripsi Setiap dan adalah
fungsi sedemikian hingga ( ( )) untuk setiap plaintext
Untuk menguji nilai algoritma yang dirancang memiliki hasil ciphertext
yang acak dari plaintext maka digunakan Persamaan 6, dimana variable X
merupakan plaintext dan Y merupakan ciphertext.
– ( ) ( )
√ – ( ) – ( ) (6)
12
Dimana:
n = Banyaknya pasangan data X dan Y
Σx = Total jumlah dari variabel X
Σy = Total jumlah dari variabel Y
Σx2
= Kuadrat dari total jumlah variabel X
Σy2
= Kuadrat dari total jumlah variabel Y
Σxy = Hasil perkalian dari total jumlah variabel X dan variabel Y
Panduan umum dalam menentukan kriteria korelasi ditunjukkan pada
Tabel 1. Tabel 1 Kriteria Korelasi [9]
R (-/+) Kriteria Korelasi
0 Tidak ada korelasi
0 – 0,5 Korelasi lemah
0,5 – 0,8 Korelasi sedang
0,8 – 1 Korelasi kuat/erat
1 Korelasi sempurna
3. Metode dan Perancangan Algoritma
Tahapan yang dilakukan dalam penelitian ini, terdiri dari 5 (lima) tahapan,
yaitu: (1) Pengumpulan Bahan, (2) Analisis Masalah, (3) Perancangan
Kriptografi, (4) Uji Kriptografi, dan (5) Penulisan Laporan.
Gambar 2 Tahapan Penelitian
Tahapan penelitian pada Gambar 2 dapat dijelaskan sebagai berikut:
Tahap pertama: Identifikasi masalah merupakan tahapan awal dalam melakukan
penelitian untuk melihat masalah-masalah keamanan informasi yang berkaitan
Pengumpulan Bahan
Analisis Masalah
Perancangan Algoritma
Pengujian Algoritma
Penulisan Laporan
13
dengan kriptografi dan akan digunakan sebagai perumusan masalah serta tujuan
dari penelitian ini. Adapun rumusan masalah yang akan dibahas pada
Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Huruf B, M, E, W,
yaitu: 1) Plaintext dan kunci dibatasi maksimal 32 karakter; 2) Block-block
menggunakan block 16x16 (256-bit); 3) dalam perancangan kriptografi pola
pengambilan bit pada plaintext berbasis pada pola huruf B, M, E, W. Tahap
kedua: Kajian pustaka dilakukan dengan mengumpulkan referensi dari buku,
jurnal, atau sumber lain yang berguna dalam perancangan kriptografi; Tahap
ketiga: Merancang algoritma kriptografi Block Cipher 256 bit berbasis pola huruf
B, M, E, W, yang dikombinasikan dengan XOR dan menggunakan tabel substitusi
S-Box untuk substitusi bit pada plaintext awal; Tahap keempat: Setelah rancangan
kriptografi dibuat dibutuhkan pengujian algoritma. Pengujian dilakukan dengan
cara manual dimana plaintext diubah ke dalam bit untuk melakukan proses
enkripsi; Tahap kelima: penulisan laporan dari hasil penelitian yang dilakukan
mengenai proses perancangan algoritma kriptografi Block Cipher 256 bit berbasis
pola huruf B, M, E, W. Adapun batasan masalah dalam penelitian ini yaitu: 1)
Proses enkripsi hanya dilakukan pada teks; 2) Pola Huruf B, M, E, W digunakan
pada pola pengambilan bit plaintext; 3) Jumlah plaintext dan kunci dibatasi yaitu
menampung 32 karakter serta proses putaran terdiri dari 20 putaran; 4) Panjang
block adalah 256-bit.
Dalam perancangan algoritma kriptografi Block Cipher 256 bit berbasis
pola huruf B, M, E, W, dilakukan dalam 1 (satu) proses enkripsi dimana plaintext
disubstitusikan menggunakan tabel substitusi S-Box AES terlebih dahulu dan
kemudian dilakukan proses enkripsi. Setiap proses enkripsi terdiri dari 4 (empat)
proses plaintext (P) dan 4 (empat) proses kunci (K) dan dilakukan sebanyak 20
putaran.
14
Gambar 3 Rancangan Alur Enkripsi
Gambar 3 merupakan rancangan alur proses enkripsi. Langkah-langkah
alur proses enkripsi dapat dijelaskan sebagai berikut: a) Menyiapkan plaintext; b)
Mengubah plaintext menjadi biner sesuai dalam tabel ASCII; c) Melakukan
substitusi dari bilangan biner plaintext ke bilangan hexa dengan menggunakan
tabel substitusi S-Box AES yang kemudian akan menghasilkan bilangan biner
untuk Plaintext 1 (P1); d) Dalam rancangan enkripsi plaintext dan kunci melewati
4 (empat) proses pada setiap putaran: 1) Putaran pertama Plaintext 1 (P1)
melakukan transformasi dengan pola huruf ‘B’ sebagai pola pengambilan
plaintext dan di-XOR dengan Kunci 1 (K1) menghasilkan Plaintext 2 (P2); 2)
Plaintext 2 (P2) melakukan transformasi dengan pola huruf ‘W’ sebagai pola
pengambilan plaintext dan di-XOR dengan Kunci 2 (K2) menghasilkan Plaintext
Plaintext (P)
Subtitusi S-Box
P1
P2
P3
P4
K1
K2
K3
K4
Kunci (K)
Ciphertext
Putaran 1
Plaintext (P)
Subtitusi S-Box
P1
P2
P3
P4
K1
K2
K3
K4
Kunci (K)
P5
Putaran 20
15
3 (P3); 3) Plaintext 3 (P3) melakukan transformasi dengan pola huruf ‘E’ sebagai
pola pengambilan plaintext dan di-XOR dengan Kunci 3 (K3) menghasilkan
Plaintext 4 (P4); 4) Plaintext 4 (P4) melakukan transformasi dengan pola huruf
‘M’ sebagai pola pengambilan plaintext dan di-XOR dengan Kunci 4 (K4)
menghasilkan Plaintext 5 (P5); 5) Plaintext 5 (P5) masuk pada putaran kedua
sebagai Plaintext awal (P) dengan alur proses yang sama dengan putaran pertama,
dan tahapan tersebut akan berlanjut sampai putaran ke 20 yang menghasilkan
Ciphertext akhir.
4. Hasil dan Pembahasan
Bagian ini akan membahas secara rinci mengenai perancangan algoritma
kriptografi Block Cipher 256 bit berbasis pola huruf B, M, E, W. Bagian ini juga
akan membahas tentang proses enkripsi dan dekripsi.
Pada perancangan algoritma kriptografi block cipher 256 bit yang berbasis
pada pola huruf B, M, E, W ini, dilakukan 24 kombinasi yang terdiri dari
kombinasi A, B, C, dan D yang di dalamnya terdapat 4 proses plaintext dan 4
proses kunci. Masing-masing kombinasi terdiri dari 6 kombinasi berbeda,
misalnya kombinasi A: A-B-C-D, A-B-D-C, A-C-D-B, A-C-B-D, A-D-B-C, A-D-
C-B, kombinasi B: B-C-D-A, B-C-A-D, B-D-A-C, B-D-C-A, B-A-C-D, B-A-D-
C, dan seterusnya hingga kombinasi D.
Berdasarkan 24 kombinasi tersebut, dicari kombinasi dengan pola yang
paling optimal yaitu kombinasi yang memiliki nilai korelasi yang paling rendah,
yang ditunjukkan dalam Tabel 2.
Tabel 2 Nilai Korelasi Setiap Kombinasi
Kombinasi Nilai Korelasi
A-B-C-D -0,2738841
A-B-D-C -0,0648996
A-C-D-B -0,1043288
A-C-B-D -0,4085639
A-D-C-B -0,1741447
A-D-B-C 0,00552308
B-C-D-A 0,13132261
B-C-A-D -0,0620167
B-D-A-C 0,03699943
B-D-C-A -0,0605758
B-A-C-D 0,17862312
B-A-D-C 0,12512971
C-D-A-B 0,00728983
C-D-B-A -0,4436243
C-A-B-D -0,0126208
C-A-D-B -0,0259342
C-B-D-A 0,06478748
C-B-A-D -0,4578454
D-A-B-C 0,05298948
D-A-C-B 0,11374595
D-B-C-A 0,08817973
D-B-A-C 0,03187632
D-C-A-B 0,17342495
16
D-C-B-A 0,43040603
Nilai korelasi tidak terpaut pada nilai positif dan negatifnya. Nilai korelasi
terbaik adalah yang paling dekat dengan angka 0. Jadi pada Tabel 2 dapat dilihat
bahwa kombinasi dengan nilai korelasi terkecil adalah kombinasi A-D-C-B
dengan nilai korelasi 0,00552308, sehingga pola yang paling optimal yang didapat
dari kombinasi tersebut adalah pola huruf B, W, E, M yang digunakan sebagai
pola pengambilan plaintext pada proses enkripsi, yang dapat dilihat pada Gambar
4.
Gambar 4 Pola Pengambilan Plaintext
Pada Gambar 4 dapat dijelaskan bahwa pola pengambilan plaintext 1 atau
pola A berbentuk sama seperti huruf ‘B’. Setiap kolom yang membentuk huruf B
terdiri dari 16 bit (4x4) yang dihubungkan dengan garis anak panah yang
berwarna kuning dengan titik kuning sebagai titik awal. Proses
pengambilan bit pada kolom yang berbentuk huruf B ini dimulai dari titik hitam
sebagai titik awal pengambilan bit dan diikuti dengan garis anak panah yang
berwanra hitam . Setelah pengambilan 16 bit pada kolom huruf B
pertama selesai, maka dilanjutkan ke kolom berikutnya sesuai dengan garis anak
panah yang ada. Proses ini berlanjut hingga proses pengambilan bit pada plaintext
1 selesai dengan total sebanyak 256 bit. Kemudian dilanjutkan dengan pola huruf
dan arah yang berbeda sesuai pada Gambar 4 untuk proses pengambilan bit pada
plaintext 2, plaintext 3, dan plaintext 4.
Pada bagian sebelumnya sudah dibahas bahwa perancangan algoritma
kriptografi block cipher berbasis pola huruf B, M, E, W ini dilakukan sebanyak 20
putaran untuk proses enkripsi yang masing-masing putaran terdiri dari 4 proses
dan akan menghasilkan ciphertext pada putaran terakhir. Rancangan proses
enkripsi dapat dilihat pada Gambar 5. Pertama, Plaintext (P) dikonversi menjadi
17
ASCII yang kemudian diubah menjadi bilangan biner. Bilangan biner kemudian
dikonversi menjadi bilangan hexa untuk disubstitusikan dengan tabel substitusi S-
Box AES. Setelah disubstitusi, bilangan hexa kembali dikonversi menjadi
bilangan biner yang tentunya berbeda dengan yang sebelumnya. Pada proses 1
plaintext, pemasukan bit dilakukan secara horizontal dari arah kiri ke kanan
hingga memenuhi kolom matriks 16x16. Kemudian pengambilan bit dilakukan
sesuai dengan pola huruf B yang menghasilkan Plaintext 1 (P1). Proses
pemasukan dan pengambilan bit pada kunci berbeda dengan plaintext, karena
proses kunci tanpa melalui substitusi S-Box. Proses 1 kunci memiliki pola yang
berbeda dengan pola plaintext dan akan menghasilkan Kunci 1 (K1). Plaintext 1
(P1) di-XOR dengan Kunci 1 (K1) dan menghasilkan Ciphertext 1 (C1).
Kemudian Ciphertext 1 (C1) digunakan untuk proses selanjutnya dengan pola
yang berbeda tanpa melakukan substitusi S-Box dan akan menghasilkan Plaintext
2 (P2) yang kemudian di-XOR dengan Kunci 2 (K2) dan menghasilkan Ciphertext
2 (C2). Proses ini berlangsung hingga putaran pertama selesai dan menghasilkan
Ciphertext 4 (C4) yang digunakan sebagai Plaintext awal (P) pada putaran ke 2
dan mengikuti proses dan skema yang sama pada putaran yang pertama hingga
putaran yang ke 20 dan akan menghasilkan Ciphertext 4 (C4) yang digunakan
sebagai ciphertext akhir.
18
Gambar 5 Rancangan Proses Enkripsi
Gambar 5 menjelaskan tentang rancangan proses enkripsi pada putaran 1
hingga putaran ke 20 yang akan menghasilkan ciphertext akhir.
Plaintext
ASCII
Biner
S-Box
Proses 1
Pemasukan Bit
Pengambilan Bit
P1
Putaran 1
Kunci
Proses 1
Pemasukan Bit
Pengambilan Bit
K1
C1
Proses 4
Pemasukan Bit
Pengambilan Bit
P4
Proses 4
Pemasukan Bit
Pengambilan Bit
K4
C4
Putaran 20
Ciphertext
19
Gambar 6 Tabel Substitusi S-Box
Sebelum masuk dalam proses pemasukan dan pengambilan bit plaintext,
pertama-tama Plaintext awal (P) melalui sebuah proses transformasi yaitu bit awal
pada plaintext disubstitusikan terlebih dahulu dengan menggunakan tabel
substitusi S-Box yang dapat dilihat pada Gambar 6. Tahap pertama sebelum
substitusi terlebih dahulu mengkonversi nilai bit menjadi bilangan hexa. Cara
pensubstitusian adalah sebagai berikut: misalkan byte yang akan disubstitusi
adalah S[r,c] = xy, dimana xy merupakan nilai digit hexa dari S[r,c], maka hasil
substitusinya dinyatakan dengan S’[r,c] yang adalah nilai yang didapat dari
perpotongan baris x dan kolom y dalam S-Box. Misalkan S[r,c] = 65, maka S’[r,c]
= 45. Setelah melakukan proses substitusi, bilangan hexa kembali dikonversi
menjadi biner yang kemudian dimasukkan ke dalam pola pemasukan plaintext
yang dibahas pada Gambar 7.
Gambar 7 Pola Pemasukan Bit Plaintext 1 (P1)
Gambar 7 menjelaskan proses pemasukan bit plaintext pada proses 1 yang
dilakukan secara horizontal dari arah kiri ke kanan secara berurutan ke bawah.
20
Proses pengambilan bit berbeda dengan proses pemasukan bit, yaitu
menggunakan pola huruf B yang dapat dilihat pada Gambar 8.
Gambar 8 Pola Pengambilan Bit Plaintext 1 (P1)
Proses pengambilan bit pada matriks dimulai dari kolom 4x4 yang
berbentuk huruf B yang berada di bagian kanan bawah. Setelah itu, pengambilan
bit pada kolom 4x4 berikutnya sesuai dengan arah panah yang ditunjukkan pada
Gambar 8. Hasil pengambilan bit dapat dilihat pada Gambar 9.
Gambar 9 Hasil Pengambilan Bit Plaintext 1 (P1)
Hasil pengambilan bit Plaintext 1 (P1) diurutkan secara horizontal mulai
dari kiri ke kanan secara berurutan ke bawah. Untuk pemasukan dan pengambilan
bit pada kunci dilakukan dengan pola yang berbeda dapat dilihat pada Gambar 10.
21
Gambar 10 Pola Pemasukan Dan Pola Pengambilan Bit Kunci 1 (K1)
Alur proses pemasukan bit pada Kunci 1 (K1) sama dengan alur proses
pengambilan bit pada Plaintext 1 (P1), yaitu pada matriks kolom 4x4 dengan titik
kuning sebagai titik awal dan diikuti dengan arah panah berwarna kuning. Pada
kolom 4x4 dalam matriks, bit dimasukkan pertama pada kolom yang memiliki
titik berwarna hitam kemudian diikuti dengan kolom yang dilintasi olah garis arah
panah berwarna hitam. Setelah itu diikuti dengan kolom yang memiliki angka 1,
2, 3 dan 4. Setelah kolom matriks 4x4 pertama telah terisi, maka akan berpindah
pada kolom matriks 4x4 berikutnya sesuai dengan garis arah panah berwarna
kuning. Proses yang sama juga dilakukan untuk pengambilan bit Kunci 1 (K1).
Proses pemasukan bit kunci dapat dilihat pada Gambar 11.
Gambar 11 Pola Pemasukan Bit Kunci 1 (K1)
Pola pemasukan bit kunci pada Gambar 11 dilakukan sesuai dengan pola
pemasukan bit kunci pada proses Kunci 1 (K1), sedangkan pola pengambilan bit
dapat dilihat pada Gambar 12.
22
Gambar 12 Pola Pengambilan Bit Kunci 1 (K1)
Setelah proses pengambilan bit selesai, maka akan didapat hasil
pengambilan bit Kunci 1 (K1) yang dapat dilihat pada Gambar 13.
Gambar 13 Hasil Pengambilan Bit Kunci 1 (K1)
Hasil pengambilan bit Kunci 1 (K1) diurutkan secara horizontal dari arah
kiri ke kanan berurutan ke bawah. Hasil pengambilan bit Kunci 1 (K1) dapat
dilihat pada Gambar 13. Hasil K1 di-XOR dengan P1 dan akan menghasilkan
Ciphertext 1 (C1)
C1 = P1⨁K1 (7)
Pada bagian ini akan dibahas mengenai proses dekripsi. Proses dekripsi
merupakan kebalikan dari proses enkripsi atau suatu proses untuk mengembalikan
ciphertext menjadi plaintext awal. Pada proses dekripsi, pola pengambilan bit
ciphertext berubah menjadi pola pemasukan ciphertext namun memiliki arah yang
berbeda. Dapat dilihat pada Gambar 14.
23
Gambar 14 Pola Pemasukan Ciphertext
Pada kolom 16 bit (4x4) dapat dilihat bahwa garis anak panah yang
berwarna hitam pada pola pemasukan bit ciphertext pada proses dekripsi memiliki
arah yang berlawanan dengan pola pengambilan bit ciphertext pada proses
enkripsi, namun memiliki bentuk atau pola yang sama untuk setiap proses.
Sebelumnya telah dibahas bahwa pola dekripsi merupakan kebalikan dari pola
enkripsi sehingga pola pengambilan ciphertext pada pola enkripsi dijadikan
sebagai pola pemasukan ciphertext pada pola dekripsi, hanya saja arahnya yang
berbeda.
Pada proses dekripsi digunakan kunci dan proses kunci dengan urutan
yang sama dengan yang digunakan pada proses enkripsi, dapat dilihat pada
Gambar 10, Gambar 11, Gambar 12 dan Gambar 13 pada bagian sebelumnya.
24
Gambar 15 Rancangan Proses Dekripsi
Putaran 20
Ciphertext 4
ASCII
BINER
Kunci 4
BINER
Transposisi Terbalik
Pola Pemasukan Plaintext 4
Proses 4
C3
Ciphertext 1 Kunci 1
BINER
Transposisi Terbalik
Pola Pemasukan Plaintext 1
Proses 1
Pola Pengambilan Plaintext 1
HEXA
S-Box
BINER
ASCII
CHAR
Plaintext
Putaran 1
25
Gambar 15 menjelaskan rancangan proses dekripsi dari putaran 20 hingga
putaran 1 yang mengembalikan ciphertext akhir menjadi plaintext awal, dan yang
dikerjakan lebih dulu adalah proses 4 secara berurutan hingga proses 1.
Gambar 16 Transposisi Terbalik Dari Hasil XOR C1 dan K1
Gambar 16 dimisalkan sebagai hasil transposisi bit terbalik dari hasil XOR
C1 dan K1.
Gambar 17 Pola Pemasukan Ciphertext 1 (P1)
Pola pemasukan ciphertext pada proses dekripsi memiliki bentuk yang
sama dengan pola pengambilan ciphertext pada proses enkripsi yaitu berbentuk
huruf B pada setiap bagian kolom 16 bit atau 4x4 yang setiap kolom dihubungkan
secara berurutan menggunakan garis putus-putus berwarna hitam.
26
Gambar 18 Hasil Pemasukan Ciphertext 1 (C1)
Setelah proses pemasukan bit selesai, maka didapat hasil pemasukan bit
plaintext yang ditunjukkan pada Gambar 18.
Gambar 19 Hasil Pengambilan Ciphertext 1 (C1)
Gambar 19 menjelaskan pola pengambilan plaintext yang dilakukan secara
horizontal dari kiri ke kanan secara berurutan dari atas ke bawah.
27
Tabel 3 Algoritma Proses Enkripsi dan Dekripsi
Proses Enkripsi Proses Dekripsi Masukkan Plaintext
Plaintext diubah ke ASCII
ASCII diubah ke BINER
BINER diubah ke HEXA
HEXA disubstitusi menggunakan tabel Substitusi
S-Box AES
Hasil HEXA diubah ke BINER
BINER dimasukan ke kolom P1 menggunakan
pola pemasukan Plaintext 1
Bit P1 ditransposisikan menggunakan pola huruf
B (pola pengambilan plaintext 1)
P1 dan K1 di-XOR menghasilkan C1
C1 diubah ke BINER
BINER dimasukan ke kolom P2 menggunakan
pola pemasukan Plaintext 2
Bit P2 ditransposisikan menggunakan pola huruf
W (pola pengambilan plaintext 2)
P2 dan K2 di-XOR menghasilkan C2
C2 diubah ke BINER
BINER dimasukan ke kolom P3 menggunakan
pola pemasukan Plaintext 3
Bit P3 ditransposisikan menggunakan pola huruf
E (pola pengambilan plaintext 3)
P3 dan K3 di-XOR menghasilkan C3
C3 diubah ke BINER
BINER dimasukkan ke kolom P4 menggunakan
pola pemasukan Plaintext 4
Bit P4 ditransposisikan menggunakan pola huruf
M (pola pengambilan plaintext 4)
P4 dan K4 di-XOR menghasilkan C4
C4 diubah ke BINER
BINER diubah ke ASCII
Masukkan C4
C4 diubah ke ASCII
ASCII diubah ke BINER
Bit C4 di-XOR dengan K4
Hasil XOR ditransposisikan terbalik
Hasil transposisi ditransposisi kembali menggunakan
pola huruf M dengan arah sebaliknya (pola
pemasukan plaintext 4) menghasilkan P4
Bit P4 ditransposisikan menggunakan pola
pengambilan Plaintext 4 menghasilkan C3
Bit C3 di-XOR dengan K3
Hasil XOR ditransposisikan terbalik
Hasil transposisi ditransposisi kembali menggunakan
pola huruf E dengan arah sebaliknya (pola
pemasukan plaintext 3) menghasilkan P3
Bit P3 ditransposisikan menggunakan pola
pengambilan Plaintext 3 menghasilkan C2
Bit C2 di-XOR dengan K2
Hasil XOR ditransposisikan terbalik
Hasil transposisi ditransposisi kembali menggunakan
pola huruf W dengan arah sebaliknya (pola
pemasukan plaintext 2) menghasilkan P2
Bit P2 ditransposisikan menggunakan pola
pengambilan Plaintext 2 menghasilkan C1
Bit C1 di-XOR dengan K1
Hasil XOR ditransposisikan terbalik
Hasil transposisi ditransposisi kembali menggunakan
pola huruf B dengan arah sebaliknya (pola
pemasukan plaintext 1) menghasilkan P1
Bit P1 ditransposisikan menggunakan pola
pengambilan Plaintext 1
BINER diubah ke HEXA
HEXA diinvers dengan menggunakan tabel substitusi
S-Box AES
HEXA diubah ke BINER
BINER diubah ke ASCII
ASCII diubah ke CHAR menghasilkan Plaintext
Tabel 3 merupakan algoritma proses enkripsi dan dekripsi dari
perancangan yang dibuat. Proses enkripsi menhasilkan Ciphertext 4 (C4)
sedangkan proses dekripsi menghasilkan Plaintext awal (P).
Algoritma proses Kunci (Key) :
1. Masukkan Kunci 2. Kunci diubah ke ASCII 3. ASCII diubah ke BINER 4. Bit BINER dimasukkan ke kolom K1 menggunakan pola masuk Kunci 1 5. Bit K1 ditransposisikan dengan pola pengambilan Kunci 1
28
6. Hasil transposisi K1 dimasukkan ke kolom K2 menggunakan pola masuk Kunci 2
7. Bit K2 ditransposisikan dengan pola pengambilan Kunci 2 8. Hasil transposisi K2 dimasukkan ke kolom K3 menggunakan pola masuk
Kunci 3
9. Bit K3 ditransposisikan dengan pola pengambilan Kunci 3 10. Hasil transposisi K3 dimasukkan ke kolom K4 menggunakan pola masuk
Kunci 4
11. Bit K4 ditransposisikan dengan pola pengambilan Kunci 4
Pseudocode proses Enkripsi dan Dekripsi, dijelaskan sebagai berikut:
Proses Enkripsi (Program ini dilakukan untuk mengenkripsi data)
Kamus P,K,P1,P2,P3,P4,K1,K2,K3,K4, = integer C1,C2,C3,C4 = integer
Start Putaran = 1 Input P Read P P to ASCII ASCII to BINER BINER to HEXA HEXA substitusi menggunakan S-Box HEXA to BINER Print BINER P Output P C1
29
Print C3 C4
30
Read C1 C1 to ASCII ASCII to BINER P1
31
tetapi jika mendekati 0 maka plaintext dan ciphertext tidak memiliki nilai yang
berhubungan.
Pengujian avalanche effect dilakukan untuk mengetahui perbedaan bit
ciphertext dari setiap putaran dengan cara merubah 1 karakter pada plaintext dari
DISASTER menjadi DISASTEX dengan kunci yang sama SRIRAMSR, dapat
dilihat pada Tabel 5.
Tabel 5 Hasil Pengujian Avalanche Effect
Putaran Avalanche Effect
1 1,5625
2 6,25
3 19,921875
4 40,234375
5 46,484375
6 39,84375
7 42,1875
8 42,1875
9 43,359375
10 43,359375
11 42,578,125
12 50,78125
13 48,828125
14 45,703125
15 44,140625
16 46,484375
17 46,875
18 45,703125
19 38,28125
20 38,671875
Berdasarkan data pada Tabel 5 dapat dilihat bahwa perubahan 1 karakter
pada plaintext memiliki dampak yang sangat besar terhadap perubahan bit pada
ciphertext setiap putaran.
32
Gambar 14 Grafik Avalanche Effect
Pada data yang ada dalam grafik di atas dapat dilihat bahwa hasil
pengujian avalanche effect tertinggi adalah 50,78125%. Dengan demikian,
perubahan 1 karakter pada plaintext memiliki dampak yang signifikan pada
ciphertext karena nilai avalanche effect sudah mencapai lebih dari 50%.
5. Simpulan
Berdasarkan penelitian dan pengujian terhadap perancangan algoritma
kriptografi block cipher berbasis pola huruf B, M, E, W, maka dapat disimpulkan:
1) pola huruf B, M, E, W dapat digunakan sebagai pola pengambilan plaintext dan
menghasilkan ciphertext yang acak dan jauh berbeda dengan plaintext; 2)
perubahan input pada 1 karakter plaintext sangat berpengaruh pada hasil
ciphertext di setiap putaran; 3) pengujian nilai korelasi pada setiap proses putaran
memiliki hubungan korelasi yang lemah sehingga dapat dikatakan bahwa
perancangan algoritma kriptografi block cipher berbasis pada pola huruf B, M, E,
W dapat menyamarkan plaintext dengan baik; 4) algoritma kriptografi block
cipher 256 bit berbasis pola huruf B, M, E, W terdiri dari 20 putaran untuk setiap
proses enkripsi, dimana setiap putaran terdiri dari 4 proses dan plaintext awal pada
setiap putaran disubstitusi menggunakan tabel substitusi S-Box AES dan mampu
menghasilkan enkripsi yang acak dengan nilai avalanche effect sebesar
50,78125% sehingga dapat diterapkan untuk mengamankan data atau informasi
berupa teks.
0
10
20
30
40
50
60
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
AVALANCHE EFFECT
AVALANCHE EFFECT
33
6. Daftar Pustaka
[1] http://repository.usu.ac.id/bitstream/123456789/55583/5/Chapter%20I.pdf
, diakses pada 17 November 2016.
[2] Schneier, B., 1996, Applied Cryptography, Second Editor, New York:
John Wiley and Sons.
[3] Munir,R., 2006, Kriptografi, Bandung: Informatika
[4] Pakereng, M. A. I., 2010, Kriptografi Dengan Algoritma Genetika,
Salatiga: Widya Sari.
[5] Dipanegara, A., 2011, New Concept Hacking. Jakarta: Agogos Publishig.
[6] https://cryptobounce.wordpress.com/tag/kriptografi-simetrik/, diakses
pada 17 November 2016.
[7] Bili, D. D. Pakereng, M. A. I., Wowor, A.D., 2015, Perancangan
Kriptografi Block Cipher Dengan Langkah Kuda. Salatiga: Jurusan Teknik
Informatika Universitas Kristen Satya Wacana.
[8] Mone, A., Pakereng, M. A. I., Wowor, A. D., 2015, Penggunaan Motif
Kain Tenun Timor Dan Linear Congruential Generator (LCG) Dalam
Merancang Dan Mengimplementasikan Algoritma Kriptografi Cipher
Block. Salatiga : Jurusan Teknik Informatika Universitas Kristen Satya
Wacana.
[9] Tuhumury, F. Pakereng, M. A. I., Wowor, A. D., 2016, Perancangan
Kriptografi Block Cipher Berbasis Pada Pola Tuangan Air. Salatiga:
Jurusan Teknik Informatika Universitas Kristen Satya Wacana.
[10] Stinson, D. R., 1995. Cryptography: Theory and Practice. CRC Press,
Boca Raton, London, Tokyo.
http://repository.usu.ac.id/bitstream/123456789/55583/5/Chapter%20I.pdfhttps://cryptobounce.wordpress.com/tag/kriptografi-simetrik/