i
Perancangan Kriptografi Block Cipher
Menggunakan Pola Formasi Tari Reog Ponorogo
Artikel Ilmiah
Peneliti :
Yogie Aldy Rinaldi (672013177)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
September 2017
ii
Perancangan Kriptografi Block Cipher
Menggunakan Pola Formasi Tari Reog Ponorogo
Artikel Ilmiah
Diajukan Kepada
Fakultas Teknologi Informasi
Untuk Memperoleh Gelar Sarjana Komputer
Peneliti :
Yogie Aldy Rinaldi (672013177)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
September 2017
iii
iv
v
vi
vii
1
Perancangan Kriptografi Block Cipher
Menggunakan Pola Formasi Tari Reog Ponorogo
1Yogie Aldy R, 2Magdalena A. Ineke Pakereng
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1)[email protected], 2) [email protected]
Abstract In this research, the design of block cipher cryptography using the pattern of reog
ponorogo dance formation. Based on the result of 24 pattern combinations, the pattern
with the best correlation value will be used in the design of encryption and decryption
process. This cryptography is designed using 4 20-round processes, where the 2nd and
4th processes are transformed using the S-Box table to obtain more random Ciphertext.
Testing is also done using Avalanche Effect and Correlation value where the character
changes reach 52.5%, so it can be used in securing the data.
Keywords: Cryptography, Block Cipher, 24 Combination, Encryption,
Decryption, Pattern of Reog Ponorogo Formation, Correlation, Avalanche effect
Abstrak Pada penelitian ini dilakukan perancangan kriptografi block cipher menggunakan pola
formasi tari reog ponorogo. Berdasar hasil 24 kombinasi pola didapatkan pola dengan
nilai korelasi terbaik yang akan digunakan dalam perancangan proses enkripsi dan
dekripsi. Kriptografi ini dirancang menggunakan 4 proses 20 putaran, dimana proses ke-2
dan ke-4 ditransformasikan menggunakan tabel S-Box untuk mendapatkan Ciphertext
yang lebih acak. Pengujian juga dilakukan menggunakan Avalanche Effect dan nilai
Korelasi dimana terjadi perubahan karakter mencapai 52,5%, sehingga dapat digunakan
dalam mengamankan data.
Kata Kunci: Kriptografi, Block Cipher, 24 Kombinasi, Enkripsi, Dekripsi, Pola Formasi
Tari Reog Ponorogo, Korelasi, Avalanche effect
1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas
Kristen Satya Wacana. 2)Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.
2
1. Pendahuluan
Teknik kriptografi yang sudah ada telah banyak dipecahkan, karena itu
diperlukan teknik kriptografi baru. Algoritma pada perancangan kriptografi dalam
penelitian yang dilakukan adalah algoritma berbasis Block Cipher 64 bit dengan
pola formasi tari reog ponorogo yang dikombinasikan dengan tabel substitusi atau
S-Box. Block Cipher adalah algoritma enkripsi yang membagi plaintext yang akan
dikirimkan dengan jumlah bit tertentu (block), dan setiap block akan dienkripsi
dengan proses yang sama untuk menghasilkan ciphertext. Sedangkan pola formasi
tari reog ponorogo digunakan sebagai pola transposisi untuk pengambilan maupun
pemasukan bit plaintext pada setiap blok matriks. Plaintext akan dimasukkan ke
dalam blok-blok dimana setiap blok berjumlah 64 bit, terdapat 24 (dua puluh
empat) putaran kombinasi dan 20 (dua puluh) putaran enkripsi dan dekripsi
dimana setiap putaran terdapat 4 (empat) proses untuk proses plaintext maupun
proses kunci (key). Hasil dari proses plaintext akan di-XOR dengan kunci untuk
menghasilkan Ciphertext yang kemudian byte-nya akan dikombinasikan dengan
S-Box untuk menghasilkan Avalanche Effect yang besar. Berdasarkan latar
belakang masalah maka dilakukan penelitian yang membahas tentang
perancangan kriptografi block cipher menggunakan pola formasi tari reog
ponorogo.
2. Tinjauan Pustaka
Penelitian-penelitian yang membahas tentang block cipher dan menjadi
acuan dalam penelitian yang dilakukan dijelaskan sebagai berikut, penelitian
pertama adalah Perancangan Kriptografi Block Cipher Berbasis Pola Ikan
Berenang, yang membahas tentang perancangan kriptografi baru menggunakan
prinsip S-BOX, iterated cipher dan jaringan fiestel yang dilakukan sebanyak 15
(lima belas) putaran adalah 0.217007 dan diuji menggunakan avalanche effect dan
nilai terkecil adalah 9.375 dan nilai terbesar adalah 53.12 [1].
Penelitian kedua adalah Perancangan Kriptografi Block Cipher
Menggunakan Pola Batik Tasikmalaya, penelitian ini menggunakan 24 (dua puluh
empat) putaran kombinasi dan 5 (lima) putaran proses enkripsi dan dekripsi
menghasilkan pengujian avalanche effect yang dilakukan pun menunjukkan
bahwa proses enkripsi di setiap putaran memiliki perubahan yang mencapai
50,78125% [2].
Berdasarkan penelitian-penelitian yang sudah ada terkait perancangan
kriptografi simetris block cipher maka dilakukan penelitian tentang perancangan
kriptografi block cipher menggunakan pola formasi tari reog ponorogo. Pada
penelitian ini proses kombinasi 24 (dua puluh empat) putaran, setelah
mendapatkan nilai korelasi terendah dilakukan proses enkripsi dan dekripsi
dimana setiap proses tersebut dilakukan dalam 20 (dua puluh) putaran dimana
setiap putaran terdapat 4 (empat) proses plaintext maupun proses kunci. Hasil dari
proses plaintext akan di-XOR dengan kunci untuk menghasilkan ciphertext yang
kemudian byte-nya akan dikombinasikan dengan S-Box untuk penelitian ini
adalah S-Box algoritma AES (Advanced Encryption Standart). Skema proses
enkripsi dan dekripsi block cipher secara umum ditunjukkan pada Gambar 1.
3
Gambar 1 Skema Proses Enkripsi-Dekripsi Pada Block Cipher
Misalkan blok plaintext (P) yang berukuran n bit
npppP ,,, 21
(1)
Blok ciphertext (C) maka blok 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 system kriptografi terdiri dari 5-tuple (Five Tuple) (P,C,K,E,D) yang
memenuhi kondisi :
1. P adalah himpunan berhingga dari plaintext.
2. C adalah himpunan berhingga dari ciphertext.
3. K merupakan ruang kunci (Keyspace), himpunan berhingga dari kunci.
4. Untuk setiap k K, terdapat aturan enkripsi ekE dan berkorespodensi
dengan aturan dekripsi dkD. Setiap ek : P → C dan dk : C → P adalah
fungsi sedemikian hingga dk(ek(x)) = x untuk setiap plaintext x ∊P. [3]
Dalam pengujian menggunakan korelasi yang merupakan teknik statistik
untuk mengukur kekuatan hubungan antar dua variabel dan untuk mengetahui
bentuk hubungan antara dua variabel tersebut dengan hasil yang bersifat
kuantitatif. Kekuatan hubungan antar dua variabel itu disebut dengan koefisien
korelasi. Untuk menentukan kuat atau lemahnya hubungan antara variabel yang
diuji, dapat digunakan Tabel 1. Koefisien korelasi yang ditunjukkan pada Tabel 1
berguna untuk menunjukkan tingkat hubungan antara data awal dan hasil enkripsi,
jika nilai korelasi mendekati 0 maka memiliki tingkat hubungan yang rendah dan
menunjukkan perubahan yang signifikan antara plaintext dan ciphertext.
4
Tabel 1 Klasifikasi Koefisien Korelasi [4]
Interval Koefisien Tingkat Hubungan
0,00 – 0,199 Sangat Rendah
0,20 – 0,399 Rendah
0,40 – 0,599 Sedang
0,60 – 0,799 Kuat
0,80 – 1,000 Sangat Kuat
3. Metode Penelitian
Tahapan penelitian yang digunakan dalam penelitian ini dapat dibagi
kedalam 5 (lima) tahapan yaitu : (1) tahap identifikasi masalah, (2) tahap
pengumpulan data, (3) tahap perancangan kriptografi, (4) tahap pengujian
kriptografi, (5) tahap penulisan artikel.
Gambar 2 Tahapan Penelitian
Gambar 2 menjelaskan Tahapan penelitian dijelaskan sebagai berikut.
Identifikasi masalah, pada tahapan ini dilakukan analisis terhadap permasalahan
yang ada, terkait dengan proses perancangan kriptografi block cipher 64 bit
menggunakan pola formasi tari reog ponorogo. Tahap pengumpulan data, dalam
tahapan ini dilakukan pengumpulan data serta sumber mengenai pembahasan
terkait penelitian tersebut. Tahap perancangan kriptografi, pada tahap ini
dilakukan perancangan kriptografi block cipher menggunakan pola formasi tari
reog ponorogo untuk pembuatan kunci, proses enkripsi dan dekripsi yang
dikombinasikan dengan XOR. Pengujian kriptografi, pada tahap ini dilakukan
pengujian kriptografi yang telah dibuat pada 24 (dua puluh empat) kombinasi dan
diambil nilai korelasi terendah, nilai korelasi terendah digunakan dalam proses
pembuatan enkripsi dan dekripsi yang menghasilkan avalanche effect terkecil dan
terbesar. Tahap penulisan artikel, dalam tahap terakhir ini dilakukan penulisan
Pengumpulan Data
Identifikasi Masalah
Penulisan Artikel
Pengujian Kriptografi
Perancangan Kriptografi
5
artikel mengenai proses perancangan kriptografi block cipher menggunakan pola
formasi tari reog ponorogo.
Dalam perancangan kriptografi block cipher menggunakan formasi tari
reog ponorogo ini dilakukan 2 (dua) proses yaitu proses enkripsi dan proses
dekripsi dimana masing-masing proses memiliki 20 (dua puluh) putaran yang
terdapat 4 (empat) proses.
Gambar 3 Proses Enkripsi
Gambar 3 menjelaskan proses enkripsi. Langkah-langkah proses enkripsi
dijelaskan sebagai berikut :
1. Melihat tabel korelasi yang terbaik.
2. Menyiapkan plaintext dan kunci.
3. Mengubah plaintext dan kunci menjadi biner dalam tabel ASCII.
4. Dalam pembuatan enkripsi melewati 4 (empat) putaran.
5. Putaran pertama plaintext 1 diproses dengan pola formasi tari reog ponorogo
dan di-XOR dengan kunci 1 menghasilkan ciphertext 1.
6. C1 ditransformasikan dengan pola menjadi P2 dan di-XOR dengan K2
menghasilkan ciphertext 2.
7. P2 melakukan transformasi dengan pola formasi tari reog ponorogo dan
dilakukan proses perumusan menggunakan tabel substitusi S-Box kemudian
baru di-XOR dengan K2 sehingga menghasilkan plaintext.
8. C2 ditransformasikan dengan pola formasi tari reog ponorogo menjadi P3 dan
di-XOR dengan K3 menghasilkan ciphertext C3.
9. P4 melakukan transformasi dengan pengambilan pola formasi tari reog
ponorogo.
6
10. Proses perumusan dengan menggunakan tabel S-Box, dengan proses alur
yang sama seperti yang dilakukan pada Gambar 3 secara berulang hingga ke
putaran 20 (dua puluh).
Gambar 4 Proses Dekripsi
Gambar 4 menjelaskan langkah-langkah proses pemasukan dekripsi
dijelaskan sebagai berikut :
1. C4 didapatkan atau diambil dari tabel biner input dekripsi.
2. K4 didapatkan dari enkripsi K4 pada proses enkripsi 20 (dua puluh).
3. C4 dan K4 di-XOR menjadi P4 kemudian dirumuskan dalam tabel S-Box
menjadi tabel P4 dan K4.
4. P4 dan K4 diinputkan dari bilangan biner yang sudah dirumuskan sesuai pola
formasi tari reog ponorogo.
5. Proses tersebut dilakukan berulang sampai proses P1 dan K1.
6. Tetapi pada proses P1 dan K1 dirumuskan menjadi ciphertext diambil dari P1.
7. Gambar 4 proses dan alur dilakukan secara berulang sampai dekripsi 20 (dua
puluh).
7
4. Hasil dan Pembahasan
Dalam bagian ini akan dibahas algoritma perancangan kriptografi block
cipher menggunakan pola formasi tari reog ponorogo secara lebih detail. Pola
formasi tari reog ponorogo digunakan sebagai pola pengambilan bit dalam
plaintext dan kunci.
Gambar 5 Tari Reog Ponorogo [4]
Gambar 5 menjelaskan pola formasi tari reog ponorogo digunakan sebagai
pola pengambilan pada setiap bit dalam matriks plaintext.
Gambar 6 Pola Berbasis Tari Reog Ponorogo
Gambar 6 menjelaskan pola (A-B-C-D) pola formasi tari reog ponorogo,
pola-pola tersebut menunjukkan cara pengambilan yang berbeda berdasarkan apa
yang sudah digambarkan seperti pola pada Gambar 6, setelah melewati beberapa
proses pengujian mencari nilai korelasi terbaik. Pengujian menggunakan contoh
plaintext AldYpL3n menggunakan kunci G4raMb0y.
Berdasarkan hasil pengujian maka didapatkan nilai korelasi terbaik yang
selanjutnya akan digunakan sebagai acuan pada proses enkripsi dan dekripsi.
8
Tabel 2 Rata-Rata Korelasi
NO POLA RATA-RATA NO POLA RATA-RATA
1 A-B-C-D 0,710926686 13 C-A-B-D 0,081527061
2 A-B-D-C 0,261434554 14 C-A-D-B 0,480918213
3 A-C-B-D 0,107479787 15 C-B-A-D 0,070337886
4 A-C-D-B 0,43010085 16 C-B-D-A 0,40729696 5 A-D-B-C 0,669095426 17 C-D-A-B 0,373899988
6 A-D-C-B 0,208069305 18 C-D-B-A 0,279427398
7 B-A-C-B 0,363171866 19 D-A-B-C 0,182662019 8 B-A-D-C 0,117298883 20 D-A-C-B 0,307187332
9 B-C-A-D 0,221093131 21 D-B-A-C 0,274668677 10 B-C-D-A 0,597702536 22 D-B-C-A 0,137385495
11 B-D-A-C 0,108987048 23 D-C-A-B 0,321318643 12 B-D-C-A 0,721764051 24 D-C-B-A 0,502182916
Pada Tabel 2 menjelaskan hasil kombinasi pola dan mendapatkan nilai
korelasi terbaik pada kombinasi pola C-B-A-D sebesar 0,070337886, yang
ditandai dengan huruf warna merah. Kombinasi C-B-A-D akan digunakan dalam
proses enkripsi hingga putaran ke 20 (dua puluh) untuk menghasilkan ciphertext.
Perancangan kriptografi ini dilakukan sebanyak 20 (dua puluh) putaran
dan setiap putaran mempunyai 4 (empat) proses untuk mendapatkan hasil akhir
yaitu ciphertext. Proses plaintext dan kunci diubah ke dalam bentuk ASCII
kemudian dirubah ke dalam kolom matriks 6x6 dan pola pengambilan
menggunakan pola formasi tari reog ponorogo. Mengubah plaintext dan kunci
akan melewati 4 (empat) proses dalam setiap putaran, plaintext 1 (P1) diproses
dengan pola formasi tari reog ponorogo dan di-XOR dengan kunci 1
menghasilkan ciphertext 1 (C1), C1 ditransformasikan dengan pola menjadi P2
dan di-XOR dengan K2 menghasilkan C2, (P2) melakukan transformasi dengan
pola formasi tari reog ponorogo dan dilakukan proses perumusan menggunakan
tabel substitusi S-Box kemudian baru di-XOR dengan K2 sehingga menghasilkan
plaintext, C2 ditransformasikan dengan pola menjadi P3 dan di-XOR dengan K3
menghasilkan C3 kemudian (P4) melakukan transformasi proses perumusan
menggunakan tabel substitusi S-Box lalu di-XOR dengan K4, melalui perumusan
menghasilkan P4, plaintex (4) dengan alur proses yang sama dengan putaran
pertama, dan tahapan tersebut akan berlanjut sampai putaran ke 20 (dua puluh)
yang menghasilkan ciphertext.
Untuk menjelaskan secara detail proses pemasukan bit dalam matriks
maka diambil proses 1 pada putaran 1 sebagai contoh. Misalkan angka 1
merupakan inisialisasi setiap bit yang merupakan hasil konversi plaintext maka
urutan bit adalah sebagai berikut 1,2,3,4,.......64
9
Gambar 7 Proses Pemasukan Kunci dan Plaintext
Gambar 7 menjelaskan proses pemasukan bit karakter plaintext dan kunci
dimasukkan secara berurutan dengan mengisi blok plaintext terlebih dahulu lalu
kemudian blok kunci sesuai arah panah yang dijelaskan.
Gambar 8 Pola Pengambilan dan Transpose Plaintext dan Kunci Proses 1
Gambar 8 menjelaskan pola pengambilan dan transpose plaintext dan
kunci. Bit diambil setiap 8 bit mengikuti urutan angka (1,2,3,4,...8), pada Gambar
8 dengan urutan sesuai nomor. Kemudian dimasukkan kembali ke dalam kolom
matriks baris pertama dari kiri ke kanan. Dari proses tersebut menghasilkan P1
dan K1, kemudian K1 di-XOR menghasilkan C1.
Gambar 9 Pola Pengambilan dan Transpose Plaintext dan Kunci Proses 2
Gambar 9 menjelaskan pola pengambilan dan transpose plaintext dan
kunci. Bit diambil setiap 8 bit mengikuti urutan angka (1,2,3,4,...8) pada Gambar
9 dengan urutan sesuai nomor, kemudian dimasukkan kembali ke dalam kolom
10
matriks baris pertama dari kiri ke kanan. Dengan alur proses plaintext
menggunakan tabel S-Box kemudian ditransformasikan menjadi P2 dan K2.
Setelah itu dimasukkan kembali ke dalam baris matriks kolom pertama dari
bawah ke atas, baris kedua dari atas ke bawah, dan untuk kolom selanjutnya
mengikuti urutan angka pada Gambar 9. Setelah itu P2 dan K2 di-XOR
menghasilkan C2.
Gambar 10 Pola Pengambilan dan Transpose Plaintext dan Kunci Proses 3
Gambar 10 menjelaskan proses pola transpose plaintext dan kunci proses
3, hasil dari XOR C2 yang ditransformasikan ke dalam P3 diambil setiap 8 bit
mengikuti urutan angka (1,2,3,4,...8), pada Gambar 10 dengan urutan nomor
(1,2,3,....8), disubstitusi ke dalam S-Box, dari tabel S-Box disubstitusi menjadi P3
dan K3, kemudian di-XOR menghasilkan C3.
Gambar 11 Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 3
Gambar 11 menjelaskan pola pengambilan dan transpose plaintext dan
kunci. Diambil setiap 8 bit mengikuti urutan angka pada Gambar 11 dengan
urutan nomor (1,2,3,4,...8), kemudian dimasukkan kembali ke dalam kolom
matriks baris pertama dari kiri ke kanan dengan alur proses plaintext
menggunakan tabel S-Box kemudian ditransformasikan menjadi P4 dan K4.
Setelah itu dimasukkan kembali ke dalam baris matriks kolom pertama dari
bawah ke atas, kolom kedua dari atas ke bawah dan untuk kolom selanjutnya
mengikuti urutan angka pada Gambar 11. Kemudian P4 dan K4 di-XOR
menghasilkan C4, proses putaran pertama selesai, untuk proses tersebut dilakukan
secara berulang hingga proses ke 20 (dua puluh) untuk mendapatkan ciphertext.
11
Gambar 12 Tabel Substitusi S-Box AES
Gambar 12 merupakan tabel substitusi yang digunakan dalam proses
enkripsi. Cara pensubstitusian adalah sebagai berikut: untuk setiap byte pada
array state, misalkan S[r, c] = xy, yang dalam hal ini xy adalah digit heksadesimal
dari nilai S[r, c], maka nilai substitusinya, dinyatakan dengan S’[r, c], adalah
elemen di dalam S-Box yang merupakan perpotongan baris x dengan kolom
dengan kolom y. Misalnya S[0, 0] = 19, maka S’[0, 0] = d4.
Untuk pengujian algoritma dilakukan dengan mengambil plaintext adalah
AldYpL3n dan kunci adalah G4raMb0y. Setelah melewati proses enkripsi yang
telah dijabarkan sebelumnya maka mendapatkan ciphertext yang telah dikonversi
ke dalam nilai hexadecimal.
Tabel 3 Hasil Ciphertext Setiap Putaran
Putaran Hasil Hexadecimal Putaran Hasil Hexadecimal
1 BEEBB683E581F7C8 11 39F4387D7AB7AEE
2 7E23F973B1F3CD9F 12 437BD18BE8964117
3 1F1795ADA061A13B 13 93A37518F405FB4
4 91C92B3AA01C57FA 14 C7DEFF6CEEF3DD78
5 8E564C294F279816 15 D8781F7D3739527
6 A23A4F0C49D3FA1 16 3BBF03111B822AE
7 2A1A985A50FBD3CA 17 B96EA48197CF1CA
8 B788A02221C9EC75 18 4B2CE27024A574DD
9 E23B1136753D3350 19 E067A15A7F365A98
10 C4F5F63791A904A 20 D0D682422F86D2B
Tabel 3 merupakan hasil enkripsi dari setiap putaran, hasil pada putaran ke
20 (dua puluh) merupakan final ciphertext.
12
Tabel 4 Algoritma Enkripsi dan Dekripsi Proses Enkripsi Proses Dekripsi
1. Masukkan plaintext 1. Masukkan C4
2. Plaintext dirubah ke ASCII 2. C4 dirubah ke ASCII
3. ASCII diubah ke BINER 3. ASCII diubah ke BINER
4. Bit BINER dimasukkan ke kolom
matriks P1 dengan pola pemasukan
proses 1
4. Bit BINER dimasukkan ke kolom
matriks C4 dengan pola pemasukan
5. Bit pada kolom matriks diambil
menggunakan pola pengambilan.
5. Masukkan bit K4 menggunakan pola
pemasukan
6. Bit pengambilan dimasukkan lagi ke
dalam matriks untuk mendapatkan
hasil akhir P1
6. C4 di XOR dengan K4
7. P1 di XOR dengan K1 menghasilkan
C1
7. Bit P4 diubah ke BINER
8. C1 = P2 diambil menggunakan pola
pemasukan
8. BINER diubah ke HEX
9. P2 diproses dengan pola pengambilan
proses 2
9. HEX ditransformasikan dengan tabel
S-BOX
10. P2 ditransforrmasikan menggunakan S-
BOX
10. Hasil konversi diubah ke BINER
11. Hasil HEX diubah menjadi BINER 11. BINER P4 dimasukkan ke kolom
matriks dengan pola pengambilan
12. Hasil BINER dimasukkan dalam
matriks P2
12. P4=C3
13. P2 di XOR dengan K2 menghasilkan
C2
13. BINER dimasukkan ke kolom C3
menggunakan pola masuk
14. C2 = P3 diambil dengan pola
pemasukan awal
14. Masukan bit K3 menggunakan pola
pemasukan
15. P3 diproses dengan pola pengambilan
proses 3
16. P3 dan K3 di XOR menghasilkan C3
17. C3 = P4 diambil dengan menggunakan
pola pemasukan
18. P4 ditransformasikan menggunakan S-
BOX
19. Hasil HEX diubah menjadi BINER
20. Hasil BINER dimasukkan dalam
matriks P4
21. P4 di XOR dengan K4 menghasilkan
C4
15. C3 di XOR dengan K3 menghasilkan
P3
16. P3 dubah ke BINER
17. BINER diubah ke HEX
18. Hasil HEX ditransformasikan dengan
tabel S-BOX
19. Hasil konversi diubah menjadi BINER
20. BINER P3 dimasukkan ke kolom
matriks dengan pola pengambilan
21. P3=C2
22. BINER dimasukkan ke kolom C2
menggunakan pola masuk
23. Masukkan bit K2 menggunakan pola
pemasukan
22. BINER dirubah menjadi DEC
23. DEC diubah menjadi HEX, sebagai
ciphertext
24. C2 di XOR dengan K2 menghasilkan
P2
25. P2 diproses dengan pola pengambilan
26. Bit pengambilan dimasukkan lagi ke
dalam kolom matriks P2
27. P2=C1
28. C1 di XOR dengan K1 menghasilkan
P1
29. P1 diproses dengan pola pengambilan
30. Bit pengambilan dimasukkan lagi ke
dalam kolom matriks P1
31. Hasil akhir pemasukan bit diproses
dengan pola pengambilan
32. Hasil akhir BINER P1 diubah ke DEC
33. DEC diubah ke HEX
34. HEX diubah ke CHAR, sebagai
plaintext
13
Tabel 4 merupakan algoritma proses enkripsi dan dekripsi secara
menyeluruh. Proses enkripsi menghasilkan C4 (ciphertext), dan proses dekripsi
menghasilkan P1 (plaintext) awal, algoritma proses kunci dijelaskan sebagai
berikut :
1. Masukkan kunci.
2. Kunci diubah ke ASCII.
3. ASCII diubah ke biner.
4. Bir biner dimasukkan ke kolom K1 menggunakan pola masuk kunci.
5. Bit kunci di transposisikan dengan pola kunci C.
6. Transposisi K1 = K2.
7. K2 di transposisikan menggunakan pola kunci B.
8. Transposisi k2 = k3.
9. K3 ditransposisikan menggunakan pola kunci A.
10. Transposisi K3 = K4.
11. K4 ditransposisikan menggunakan pola kunci D.
Proses Enkripsi
{Program ini digunakan untuk melakukan proses enkripsi data}
Kamus
P,K,P1,K1,P2,K2,P3,K3,P4,K4 = integer
C1,C2,C3,C4 = integer
Start
C1 <- P1 ⊕ K1 Input P
Read P P to ASCII
ASCII to BINER
Dari BINER = blok matriks P1, masukkan BINER P1 menggunakan Pola pemasukan awal
Dari blok matriks P1 = BINER, ambil bit P1 dengan pola formasi tarian reog ponorogo C
Dari BINER = blok matriks P1, masukkan BINER
P1 dengan pola pemasukan proses 1 Output P1
Input K Read K
K to ASCII
ASCII to BINER Dari BINER = blok matriks K1, masukkan BINER
K1 menggunakan Pola pemasukan awal
Dari blok matriks K1 = BINER, ambil bit K1 K1 dengan pola pengambilan C
Dari BINER = blok matriks K1, masukkan BINER
K1 dengan pola pemasukan proses 1 Output K1
Print C1
C1 = P2
C2 <- P2 ⊕ K2
Dari C1 = blok matriks P2, masukkan C1 P3 menggunakan Pola pemasukan awal
Dari blok matriks P2 = BINER, ambil bit
P2 dengan pola formasi tarian reog ponorogo B BINER to HEXA
Dari HEXA = Tabel S-box, masukkan HEXA HEXA konversi menggunakan S-box
14
Print BINER S-box
Dari BINER = blok matriks P2, masukkan BINER P2 menggunakan pola pemasukan proses 2
Output P2
Dari K1 = blok matriks K2, masukkan K1 Dari blok matriks K2 = BINER, ambil bit K2
K3 dengan pola pengambilan B
Dari BINER = blok matriks K2, masukkan BINER K2 K2 menggunakan pola pemasukan proses
Output K2
Print C2 C2 = P3
C3 <- P3 ⊕ K3 Dari C2 = blok matriks P3, masukkan C2
P2 menggunakan Pola pemasukan awal Dari blok matriks P3 = BINER, ambil bit
P3 dengan pola formasi tarian reog ponorogo A
Dari BINER = blok matriks P3, masukkan BINER P3 dengan pola pemasukan proses 3
Output P2
Input K
Read K
K to ASCII ASCII to BINER
Dari BINER = blok matriks K3, masukkan BINER
K1 menggunakan Pola pemasukan awal Dari blok matriks K3 = BINER, ambil bit K3
K3 dengan pola pengambilan A
Dari BINER = blok matriks K3, masukkan BINER K3 dengan pola pemasukan proses 3
Output K3
Print C3 C3 = P4
C4 <- P4 ⊕ K4
Dari C3 = blok matrik P4, masukkan C3
P4 menggunakan Pola pemasukan awal Dari blok matriks P4 = BINER, ambil bit
P4 dengan pola formasi tarian reog ponorogo D
BINER to HEXA Dari HEXA = Tabel S-box, masukkan HEXA
HEXA konversi menggunakan S-box
Print BINER S-box Dari BINER = blok matriks P4, masukkan BINER
P3 menggunakan pola pemasukan proses 4
Output P4 Dari K3 = blok matriks K4, masukkan K3
Dari blok matriks K4 = BINER, ambil bit K4
K4 dengan pola pengambilan D Dari BINER = blok matriks K4, masukkan BINER K4
K4 menggunakan pola pemasukan proses 4
Output K4 Print C4
Repeat
End
Proses Dekripsi
{Program ini digunakan untuk melakukan proses dekripsi data}
Kamus P,K,P1,K1,P2,K2,P3,K3,P4,K4 = integer
C1,C2,C3,C4 = integer
Start
Input K
Read K K to ASCII
ASCII to BINER
Dari BINER = blok matriks K1, masukkan BINER
15
K1 menggunakan Pola pemasukan awal
Dari blok matriks K1 = BINER , ambil bit K1 K1 dengan pola formasi tarian reog ponorogo D
Dari BINER = blok matriks K1, masukkan BINER K1
Output K1 K1 = K2
Dari K1 = blok matriks K2, masukkan Bit
K1 dengan pola pemasukan awal Dari blok matriks K2 = BINER, ambil bit
K2 dengan pola pengambilan A
Dari BINER = blok matriks K2, masukkan BINER K2
Output K2
K2 = K3 Dari K2 = blok matriks K3, masukkan Bit K2
K2 dengan pola pemasukan awal
Dari blok matriks K3 = BINER, ambil bit K3 K3 dengan pola pengambilan B
Dari BINER = blok matriks K3, masukkan BINER K3
Output K3 K3 = K4
Dari K3 = blok matriks K4, masukkan K3
Dari blok matriks K4 = BINER, ambil bit K4 K4 dengan pola pengambilan C
Dari BINER = blok matriks K4, masukkan BINER K4
Output K4
P4 <- C4 ⊕ K4 Input C
Read C
C4 to ASCII ASCII to BINER
Dari BINER = blok matriks C4, masukkan BINER
C4 ⊕ K4 Print P4 Dari blok matriks P4 = BINER, ambil bit P4
Dari BINER P4 = blok matrik P4, masukkan BINER
Menggunakan pola pengambilan D Output P4
P4 = C3
P3 <- C3 ⊕ K3 Dari P4 = blok matriks C3, masukkan BINER
C3 ⊕ K3 Print P3 Dari blok matriks P2 = BINER, ambil bit P2 BINER to HEXA
Dari HEXA = Tabel S-Box, masukkan HEXA
HEXA ditranformasi menggunakan S-Box Dari BINER P2 = blok matriks P2, masukkan BINER
Menggunakan pola pengambilan A
P3 = C2
P2 <- C2 ⊕ K2 Dari P3 = blok matriks C2, masukkan BINER
C2 ⊕ K2 Print P2
Dari blok matriks P4 = BINER, ambil bit P4
Dari BINER P4 = blok matrik P4, masukkan BINER Menggunakan pola pengambilan B
Output P2 P2 = C1
P1 <- C1 ⊕ K1 Dari P2 = blok matriks C1, masukkan BINER
C1 ⊕ K1 Print P1
Dari blok matriks P1 = BINER, ambil bit P1 BINER to HEXA
Dari HEXA = Tabel S-Box, masukkan HEXA
HEXA ditranformasi menggunakan S-Box Dari BINER P1 = blok matriks P1, masukkan BINER
Menggunakan pola pengambilan C
16
Output P1
P1 to BINER BINER to ASCII
ASCII to CHAR
Print P
End
Pengujian korelasi digunakan untuk mengukur seberapa acak
perbandingan antara hasil enkripsi (ciphertext) dan plaintext. Nilai korelasi sendiri
berkisar 1 sampai -1, dimana jika nilai korelasi mendekati 1 maka plaintext dan
ciphertext memiliki hubungan yang sangat kuat tetapi jika mendekati 0 maka
plaintext dan ciphertext memiliki hubungan yang tidak kuat .
Nilai korelasi kuat dan lemah pada Tabel 5 berpengaruh pada hasil
enkripsi, jika nilai korelasi kuat, maka hasilnya kurang baik sehingga kurang
memenuhi syarat untuk dijadikan sebagai algoritma kriptografi.
Tabel 5 Nilai Korelasi Setiap Putaran
Putaran Korelasi Putaran Korelasi
1 0,339768226 11 0,295631258 2 0,35968373 12 0,063195592 3 0,741141577 13 0,489281446 4 0,058242284 14 0,255643902 5 0,916235961 15 0,099068975 6 0,437657269 16 0,049533894 7 0,287958408 17 0,276401202 8 0,331721684 18 0,81856248 9 0,538348595 19 0,901131833 10 0,080109205 20 0,460222079
Tabel 5 menunjukkan setiap putaran memiliki nilai korelasi lemah
sehingga dapat disimpulkan bahwa algoritma kriptografi block cipher
menggunakan formasi tari reog ponorogo ini dapat menghasilkan nilai korelasi
enkripsi 0,049533894.
Gambar 13 Grafik Perbandingan Plaintext dan Ciphertext
17
Gambar 13 menjelaskan bahwa antara putaran 1 (satu) dan 20 (dua puluh)
memiliki perbedaan antara plaintext dan ciphertext. Pengujian avalanche effect
dilakukan untuk mengetahui perubahan bit yang ada ketika plaintext diubah.
Pengujian dilakukan dengan merubah karakter yang terdapat pada plaintext awal,
sehinggga akan menghasilkan perbedaan dalam setiap putaran.
Tabel 6 Tabel Presentase Avalanche Effect
Putaran Presentase Putaran presentase
1 37,5 11 53,125 2 56,25 12 60,9375 3 40,625 13 57,8125 4 51,5625 14 46,875 5 56,25 15 54,6875 6 51,5625 16 57,8125 7 42,1875 17 67,1875 8 56,25 18 53,125 9 56,25 19 57,8125
10 50 20 42,1875 Rata-Rata 52,5
Gambar 14 Grafik Avalanche effect
Gambar 14 menjelaskan hasil dari pengujian avalanche effect pada
penelitian ini plaintext awal adalah AldYpL3n yang kemudian diubah menjadi
y0gi3aLd. Terjadi perubahan bit pada setiap putarannya, pada putaran ke-17
(tujuh belas) terdapat perubahan bit yang paling besar yaitu 67,18 tetapi pada
putaran ke-1 (satu) terjadi perubahan bit paling rendah yaitu 37,5. Berdasarkan
hasil putaran ke-1 (satu) sampai putaran ke-20 (dua puluh) dapat disimpulkan
hasil rata-rata pengujian avalanche effect sebesar 52,5%.
18
Pada penelitian perancangan kriptografi block cipher menggunakan pola
formasi tari reog ponorogo, pada pengujian avalanche effect diperoleh nilai rata-
rata sebesar 52,5% dan pada penelitian Perancangan Kriptografi Block Cipher
Menggunakan Pola Batik Tasikmalaya menunjukkan bahwa dalam pengujian
avalanche effect memiliki perubahan yang mencapai 50,78125%. berdasarkan
hasil tersebut dapat disimpulkan bahwa perancangan kriptografi block cipher
menggunakan pola formasi tari reog ponorogo yang menghasilkan perubahan bit
yang besar sehingga dapat dijadikan acuan dalam pengamanan data
19
5. Simpulan
Berdasarkan penelitian yang telah dilakukan tentang perancangan
kriptografi block cipher menggunakan pola formasi tari reog ponorogo dapat
disimpulkan, bahwa pola formasi tari reog ponorogo dapat digunakan sebagi pola
pengambilan plaintext yang menghasilkan ciphertext. Pada pengujian avalanche
effect diperoleh nilai rata-rata 52,5%. Berdasarkan pengujian ini perancangan
kriptografi block cipher menggunakan pola formasi tari reog ponorogo dapat
digunakan sebagai alternatif dalam pengamanan data.
6. Daftar Pustaka
[1] Guntoro, Pakereng, M. A. I, 2016 “Perancangan Kriptografi Block Cipher
Berbasis Pola ikan Berenang”. Teknik Informatika, Fakultas Teknologi
Informasi, Universitas Kristen Satya Wacana.
[2] Yusuf, I. Safano, Pakereng, M. A. I, 2017 “Perancangan Kriptografi Block
Cipher menggunakan Pola Batik Tasikmalaya”. Teknik Informatika, Fakultas
Teknologi Informasi, Universitas Kristen Satya wacana.
[3] Munir, R., 2006, Kriptografi, Bandung: Informatika.
[4] Rifka, S, https://plus.google.com/113808133258531405880/posts/ diambil
pada tanggal 7 Agustus 2017 pukul 14.12 WIB.
20