Pengaruh Perubahan
Ciphertext
Terhadap Perancangan
Kriptografi
Block Cipher
64 Bit Berbasis Pola Ikatan Jimbe
Dengan Menggunakan Kombinasi
S-Box
Artikel Ilmiah
Peneliti :
Abrio Johan Leodrian (672011060) Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Pengaruh Perubahan
Ciphertext
Terhadap Perancangan
Kriptografi
Block Cipher
64 Bit Berbasis Pola Ikatan Jimbe
Dengan Menggunakan Kombinasi
S-Box
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi
Untuk memperoleh gelar Sarjana Komputer
Peneliti :
Abrio Johan Leodrian (672011060) Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Pengaruh Perubahan Ciphertext Terhadap
Perancangan Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe Dengan Menggunakan Kombinasi S-box
1)
Abrio Johan Leodrian, 2)Magdalena A. Ineke Pakereng
Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
E-mail: 1) 672011060@student.uksw.edu, 2) ineke.pakereng@staff.uksw.edu
Abstract
Cryptography is the science which used to secure data. To opimize the level of the security, the crypthography needs to be developed. In this research, the
researcher design an Block Cipher 64-bit Cryptography with Loop Pattern base that produce random Ciphertext. Block Cipher 64-bit Crypthography with Loop Pattern base have 20 cycle of enscription process, which the result of the cycle will be transform using S-Box subtitution table. After the transformation process, the result will be more random Ciphertext in Avalanche Effect trial which is already reached 56.25% point. This crypthography can be an alternative options to secure data.
Keywords: Block Cipher, Cryptography,Bonding Patterns Jimbe, S-Box AES
Abstrak
Kriptografi merupakan ilmu yang digunakan untuk mengamankan data. Untuk meningkatkan tingkat keamanannya maka kriptografi perlu dikembangkan. Dalam penelitian ini dirancang Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe yang menghasilkan Ciphertext yang acak. Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe memiliki 20 (dua puluh) putaran proses enkripsi dimana hasil dari proses ke-20 ditransformasi menggunakan tabel substitusi S-Box sehingga menghasilkan Ciphertext yang lebih acak pada pengujian Avalanche Effect yang sudah mencapai 56.25% sehingga dapat digunakan sebagai alternatif dalam pengamanan data.
Kata Kunci: Block Cipher, Kriptografi, Pola Ikatan Jimbe, S-Box AES
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
2)
1. Pendahuluan
Keamanan data merupakan hal yang terpenting dalam berkomunikasi khususnya dalam komunikasi data seperti berkomunikasi melalui social media, email,pesan dan lain–lain. Komunikasi data melibatkan pertukaran pesan antara dua entitas, yaitu pengirim dan penerima. Dalam proses pertukaran data, data dapat saja diubah, disisipkan atau dihilangkan oleh pihak yang tidak bertanggung jawab, sehingga dibutuhkan keamanan data yang baik dalam menjaga kerahasiaan informasi tersbut. Dalam teknik kriptografi untuk mengamankan data terdapat teknik enkripsi dan hasil enkripsi dikenal dengan Ciphertext. Ciphertext merupakan perubahan dari bentuk data asli ke dalam bentuk data acak yang tidak diketahui oleh orang lain selain pengirim dan penerima.
Dalam kriptografi terdapat dua konsep utama yaitu enkripsi yang merupakan proses mengubah data yang dikirim (Plaintext) menjadi data acak (Ciphertext) dan deksripsi yang merupakan kebalikan dari enkripsi dimana ciphertext diubah kembali menjadi plaintext. Secara umum terdapat 3 (tiga) jenis algortima di dalam kriptografi modern, yaitu simetris, asimetris, dan fungsi hash (One Way Fuction) [1]. Salah satu ukuran untuk menentukan kekuatan algoritma kriptografi adalah Avalanche Effect-nya. Algoritma yang baik memiliki Avalanche Effect tinggi. Avalanche Effect merupakan perubahan jumlah bit, apabila plaintext diubah sehingga menghasilkan perubahan ciphertext yang signifikan.
Penelitian ini merancang sebuah algoritma kriptografi dengan pendekatan block cipher yang berbasis 64 bit dengan pola ikatan jimbe, pola ikatan jimbe digunakan karena pemasukan bit yang acak dan berliku-liku. Dimana juga terdapat proses optimasi untuk mendapatkan sebuah urutan proses yang terbaik. Pada algoritma block cipher yang dirancang menggunakan skema transposisi dengan pola ikatan jimbe sebagai alur pemasukan bit, dikombinasi dengan pola horizontal sebagai alur pengambilan bit pada sebuah kotak matriks. S-Box Advance Encryption Standard (AES digunakan sebagai skema substitusi sebagai peningkatan terhadap perubahan Ciphertext dan Peningkatan Avalanche Effect. Kriptografi simetris digunakan dalam penelitian ini dengan menggunakan satu kunci untuk proses enkripsi dan dekripsi, digunakan karena tidak membutuhkan proses komputasi yang rumit pada proses enkripsi dan dekripsi.
2. Tinjauan Pustaka
Penelitian sebelumnya yang menjadi acuan dalam penelitian yang dilakukan, dijelaskan sebagai berikut, yang pertama adalah “Designing an algorithm with high Avalanche Effect”. Penelitian ini membahas tetang perancangan kriptografi block cipher berbasis 64 bit menggunakan gabungan kriptografi klasik dengan kirptogafi moderen untuk peningkatan Avalanche Effect [2].
teknik langkah kuda sebagai metode pemasukan bit plaintext pada blok matriks [3].
Berdasarkan penelitian-penelitian yang pernah dilakukan terkait perancangan kriptografi block cipher berbasis pola dan pengembangan block cipher dengan S-Box, maka dirancang sebuah kriptografi block cipher 64 Bit berbasis pola Ikatan Jimbe. Perbedaan penelitian ini dengan yang sebelumnya yaitu “Pengaruh Perubahan Ciphertext Terhadap Perancangan Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe Dengan Menggunakan Kombinasi S-Box” dengan urutan proses sebanyak 20 kali. Pada penelitian ini proses enkripsi dan dekripsi dilakukan sebanyak 20 putaran.
Pada bagian ini juga dibahas teori pendukung yang digunakan dalam perancangan algoritma kriptografi block cipher 64 Bit berbasis pola Ikatan Jimbe. Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi.
Salah satu metode dalam kriptografi modern yaitu block cipher. Block cipher merupakan algoritma simetris yang mempunyai input dan output yang berupa block dan setiap bloknya biasanya terdiri dari 64 bit atau lebih. Pada block cipher, hasil enkripsi berupa block ciphertext biasanya mempunyai ukuran yang sama dengan block plaintext. Dekripsi pada block cipher dilakukan dengan cara yang sama seperti pada proses enkripsi. Secara umum dapat dilihat pada Gambar 1.
Gambar 1 Skema Proses Enkripsi-Dekripsi Pada Block Cipher [4]
Misalkan block plaintext (P) yang berukuran n bit
P = (P1,P2,…,Pn) (1)
Blok ciphertext (C) maka blok C adalah
C = (C1,C2,…,Cn) (2)
Kunci (K) maka kunci adalah
K = (K1,K2,…,K3) (3)
Sehingga proses enkripsi adalah
Ek(P) = C (4)
Dk(C) = P (C) P (5) Sebuah kriptografi dapat dikatakan sebagai suatu teknik kriptografi, harus melalui uji kriptosistem terlebih dahulu yaitu diuji dengan metode Stinson. Sebuah sistem dikatakan sebagai sistem kriptografi jika memenuhi lima tupel (Five tuple):
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 k ϵ K, terdapat aturan enkripsi ek ϵ E dan berkorespodensi
dengan aturan dekripsi dk ϵ D. Setiap � ∶ � ⟶ � dan � ∶ � ⟶ � adalah fungsi sedemikian hingga �( � � ) = � untuk setiap plaintext � � �.
Penguji nilai algoritma yang dirancang memiliki hasil ciphertext yang acak dari plaintext maka digunakan Persamaan 6, dimana variable X merupakan plaintext dan Y merupakan ciphertext.
= Kuadrat dari total jumlah variabel X Σy2
= Kuadrat dari total jumlah variabel Y
Σxy = Hasil perkalian dari total jumlah variabel X dan variabel Y
Keacakan nilai diketahui dari hasil enkripsi antara ciphertext dengan plaintext digunakan diferensiasi data, dimana perbandingan selisih antara dua titik dalam kalkulus, Metode ini sering disebut sebagai turunan atau kemiringan dari data. Jika diberikan 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 dan y atau kadang ditulis sebagai f(x) sebagai variabel tak bebas. Untuk menentukan diferensiasi data pada dua titik maka persamaan yang dapat dibentuk terlihat pada Persamaan 7.
D y D x =
(yb- ya)
(8)
Persamaan 9 digunakan untuk mencari nilai keacakan data dari plaintext dan ciphertext, dapat dijelaskan bahwa G merupakan rata-rata untuk hasil plaintext (P) dikurangi ciphertext (H) dibagi dengan plaintext (P) untuk n adalah indeks dari plaintext dan ciphertext.
(9)
Pengujian statistika menggunakan korelasi yang merupakan suatu teknik statistik yang dipergunakan untuk mengukur kekuatan hubungan dua variabel dan juga untuk mengetahui bentuk hubungan antara dua variabel tersebut dengan hasil yang sifatnya kuantitatif. Kekuatan hubungan antara dua variabel biasanya disebut dengan koefisien korelasi dan dilambangkan dengan simbol “r”. Nilai koefisien r akan selalu berada di antara -1 sampai +1, sehingga diperoleh Persamaan -1 < r < + 1 [5], untuk memudahkan menentukan kuat lemahnya hubungan antara variabel yang diuji maka dapat digunakan Tabel 1.
Tabel 1 Klasifikasi Koefisien Korelasi [5]
Interval Koefisien Tingkat Hubungan
0,00 – 0,199 Sangat Rendah jumlah nilai selisih perkalian antara x dan y dengan hasil perkalian jumlah total x dan y dibagi dengan hasil akar dari selisih untuk perkalian jumlah x kuadrat dengan kuadrat pangkat dua untuk jumlah total x dengan selisih jumlah y kuadrat dengan kuadrat pangkat dua untuk jumlah total y dimana x sebagai plaintext dan y sebagai ciphertext sehingga dapat diperoleh Persamaan 10 [6].
(10)
3. Metode dan Perancangan Algoritma
Tahapan penelitian yang digunakan dalam penelitian ini dapat dibagi ke dalam 5 (lima) tahap yaitu: (1) tahap identifikasi masalah, (2) tahap pengumpulan
data, (3) tahap perancangan kriptografi, (4) tahap pengujian kriptografi, (5) tahap penulisan artikel ilmiah.
Gambar 2 Tahapan Penelitian
Tahapan penelitian pada Gambar.2, dapat dijelaskan sebagai berikut, Tahap Identifikasi Masalah : Pada tahap ini dilakukan analisis terhadap permasalahan yang ada, terkait dengan proses perancangan kriptografi berbasis pola Ikatan Jimbe; Tahap Pengumpulan Data : Dalam tahapan ini dilakukan pengumpulan terhadap data dari jurnal-jurnal terkait, buku, serta sumber mengenai pembahasan terkait penelitian tersebut; Tahap Perancangan Kriptografi Pada tahap ini akan dilakukan perancangan kriptografi berbasis pola Ikatan Jimbe, untuk pembuatan kunci, proses enkripsi dan proses dekripsinya yang dikombinasikan dengan XOR dan menggunakan tabel S-Box untuk substitusi byte; Tahap Pengujian Kriptografi : Pada tahap ini dilakukan pengujian terhadap kriptografi yang telah dibuat. Pengujian dilakukan dengan analisis pengaruh Perubahan Ciphertext dengan menggunakan kombinasi S-Box; Tahap Penulisan Artikel Ilmiah : Dalam tahap terakhir ini dilakukan penulisan artikel tentang “Pengaruh Perubahan Ciphertext Terhadap Perancangan Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe Dengan Menggunakan Kombinasi S-Box”. Adapun batasan masalah dalam penelitian ini yaitu: 1) Proses enkripsi hanya dilakukan pada teks; 2) Pola Ikatan Jimbe digunakan pada proses transposisi plaintext; 3) Jumlah plaintext dan kunci dibatasi yaitu menampung 8 karakter serta proses putaran terdiri dari 20 putaran; 4) Panjang block adalah 64 Bit.
Dalam penelitian ini perancangan algoritma kriptografi ”Pengaruh Perubahan Ciphertext Terhadap Perancangan Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe Dengan Menggunakan Kombinasi S-Box”, dilakukan 4 (empat) proses untuk 1 (satu) putaran enkripsi. Enkripsi sendiri dilakukan dalam 20 putaran yang ditunjukkan pada Gambar 3.
Identifikasi Masalah
Pengumpulan Data
Perancangan Kriptografi
Pengujian Kriptografi
Gambar 3 Rancangan Alur Proses Enkripsi
Gambar 3 merupakan rancangan alur proses enkripsi. Langkah-langkah alur proses enkripsi dapat dijabarkan sebagai berikut: a) Menyiapkan plaintext; b) Mengubah plaintext menjadi biner sesuai dalam tabel ASCII; c) Dalam rancangan enkripsi plaintext dan kunci akan melewati empat proses pada setiap putaran sesudah melewati putaran plaintext dan kunci disubstitusikan ke tabel S-BOX: 1) Putaran pertama Plaintext 1 (P1) melakukan transformasi dengan pola Ikatan Jimbe, dan disubstitusikan ke tabel S-BOX di-XOR dengan Kunci 1 (K1) yang telah disubstitusikan ke tabel S-BOX menghasilkan Plaintext 2 (P2); 2) Plaintext 2 (P2) melakukan transformasi dengan pola Ikatan Jimbe dan di-XOR dengan Kunci 2 (K2) menghasilkan Plaintext 3 (P3); 3) Plaintext 3 (P3) melakukan transformasi dengan pola Ikatan Jimbe dan di-XOR dengan Kunci 3 (K3) menghasilkan Plaintext 4 (P4); 4) Plaintext 4 (P4) disubstitusikan ke tabel S-BOX di-XOR dengan Kunci 4 (K4) yang telah disubstitusikan ke tabel S-BOX hasil XOR substitusi P4 dan K4 kemudian menghasilkan Plaintext 5 (P5); 5) Plaintext 5 (P5) masuk pada putaran selanjutnya dengan alur proses yang sama dengan putaran pertama, dan tahapan tersebut akan berlanjut sampai putaran ke-20 yang menghasilkan Ciphertext (C).
4. Hasil dan Pembahasan
Dalam bagian ini akan membahas mengenai “Pengaruh Perubahan Ciphertext Terhadap Perancangan Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe Dengan Menggunakan Kombinasi S-Box dengan terperinci”.
Gambar 4 Pembuatan Pola Ikatan Jimbe
Gambar 4 menjelaskan pembuatan pola ikatan jimbe dengan cara membagi blok 64 Bit menjadi 3 bagian seperti pewarnaan pada area di Gambar 4.
Gambar 5 Pola Ikatan Jimbe
Pengambilan Bit pada Pola A
Pengambilan Bit pada Pola B
Pengambilan Bit pada Pola C
Pengambilan Bit pada Pola D
Gambar 6 Pengambilan Bit yang DilewatiPadaPola Ikatan Jimbe
Gambar 6. Adapun bit–bit yang tidak terlewati pola dan cara pengambilan bit–bit tersebut akan dijelaskan pada Gambar 7.
Gambar 7 Pengambilan Bit Yang DilewatiPadaPola Ikatan Jimbe
Sebelum memasuki penjelasan lebih terperinci lagi tentang cara kerja proses keseluruhan, seperti yang sudah dijelaskan sebelumnya mengenai “Pengaruh Perubahan Ciphertext Terhadap Perancangan Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe Dengan Menggunakan Kombinasi S-Box”, di dalam penelitian ini cara untuk mengetahui pengaruh perubahan ciphertext dengan menggunakan kombinasi S-Box adalah sebagai berikut. Pertama, pola pemasukan bit dan pengambilan bit pada plaintext untuk pola A (proses 1), pola B (proses 2), pola C (proses 3), dan pola D (proses 4). Pola-pola atau proses-proses tersebut diinisialisasikan A, B, C, D begitupun pada pola atau proses pemasukan bit dan pengambilan bit pada kunci diinisialisasikan dengan A, B, C, D. Kedua, setelah selesai menginisialisasikan dari masing-masing proses plaintext dan kunci, hasil inisialisasi dikombinasikan dengan ketentuan hasil kombinasi tidak memiliki perulangan proses yang sama, contoh hasil kombinasi plaintext dan kunci ABCD yang memiliki perulangan proses yang sama yaitu ABCB, dimana proses B merupakan hasil kombinasi yang memiliki perulangan proses. Tidak adanya perulangan proses dari setiap kombinasi, dapat menghasilkan kombinasi plaintext sebanyak 24 kombinasi dan hasil kombinasi kunci sebanyak 24 kombinasi yang sama yaitu ABCD. Hasil 24 kombinasi dari plaintext ABCD dapat dilihat pada Gambar 8.
Gambar 8 Hasil 24 Kombinasi Plaintext dan Kunci ABCD
Gambar 9 Konsep Dasar Proses Enkripisi
Gambar 9 menjelaskan konsep dasar proses enkripsi algoritma kriptografi dengan langkah sebagai berikut : 1) P1 xor K1 = C1, C1 merupakan patokan untuk pemasukan bit di P2 dan K1 merupakan patokan untuk pemasukan bit di K2; 2) Proses selanjutnya dilakukan dengan cara yang sama seperti cara kerja proses pada langkah 1, sampai menghasilkan C4, dimana C4 = P4 xor K4.
Gambar 10 menjelaskan konsep dasar dekripsi algoritma kriptografi dengan langkah sebagai berikut : 1) C4 = P4 xor K4, C4 merupakan patokan untuk pemasukan bit di P3 dan K4 merupakan patokan untuk pemasukan bit di K3; 2) Proses selanjutnya dilakukan dengan cara yang sama seperti cara kerja proses pada langkah 1, sampai menghasilkan C1, dimana P1 xor K1 = ASCII.
Setelah memahami konsep dasar enkripsi dan dekripsi pada Gambar 9 dan Gambar 10, maka untuk memahami penjelasan sebelumnya tentang hasil dari masing-masing kombinasi plaintext dan kunci dimasukkan ke dalam konsep kerja dasar enkripsi algoritma kriptografi block cipher. Dalam penelititan ini mengangkat sebuah contoh yaitu, ADBC adalah salah satu hasil kombinasi plaintext sebagai urutan proses plaintext dan ABCD adalah hasil kombinasi kunci sebagai urutan proses kunci apabila hasil kombinasi tersebut dimasukkan ke dalam konsep kerja dasar enkripsi algoritma kriptografi block cipher, akan menjadi sebagai berikut : kombinasi plaintext ADBC, A = P1, D = P2, B = P3, dan C = P4. Kombinasi kunci ABCD, A = K1, B = K2, C = K3, D = K4. Setelah selesai memasukkan semua hasil kombinasi dari plaintext dan kunci ABCD, dilakukan pengujian korelasi atau nilai keterikatan antara plaintext dan ciphertext untuk mendapatkan urutan proses yang terbaik dengan cara sebagai berikut : 1. Plaintext berubah dan kunci tetap,
Plaintext 1 = FTI UKSW Plaintext 2 = 1N0V@T!V Plaintext 3 = F4KULT@5 Kunci tetap = R130MAIP
2. Plaintext tetap dan kunci berubah, Plaintext = FTI UKSW
Kunci 1 = R130MAIP Kunci 2 = J4R!NG@N Kunci 3 = S@L4T1G4
Gambar 11 Rata-Rata Korelasi
Gambar 11 menjelaskan tentang hasil rata–rata korelasi yang terbaik dari hasil rata-rata korelasi kombinasi plaintext dan kunci ABCD.
Setelah mendapatkan rata-rata hasil korelasi terbaik yaitu 0,095322338 dengan urutan proses plaintext ADBC yang sudah dimasukkan ke dalam konsep kerja dasar enkripsi algoritma kriptografi block cipher (Gambar 9) dan digabungkan dengan S-Box (Gambar 3) yang berfungsi untuk mengetahui perubahan ciphertext yang terjadi jika menggunakan S-Box. Dalam penelitian ini untuk mengetahui perubahan ciphertext menggunakan plaintext DISASTER dan melakukan perbandingan menggunakan perubahan plaintext menjadi DISCSTER dengan kunci tetap atau sama yaitu SRIRAMSR, karena perbandingan antara plaintext DISASTER dan DISCSTER dengan menggunakan kunci yang sama yaitu SRIRAMSR mendapatkan hasil Avalanche Effect sebesar 56,25 % dengan total perubahan jumlah bit sebanyak 20 perubahan bit [2].
Sehingga plaintext tersebut yang menjadi acuan dalam penelitian ini untuk mengetahui perubahan ciphertext yang terjadi jika menggunakan S-Box pada “Pengaruh Perubahan Ciphertext Terhadap Perancangan Kriptografi Block Cipher 64 Bit Berbasis Pola Ikatan Jimbe Dengan Menggunakan Kombinasi S-Box”. Seperti yang sudah dijelaskan sebelumnya urutan kombinasi proses plaintext
Gambar 12 Proses Enkripsi Setelah Digabungkan dengan Tabel S-Box
kemudian menghasilkan C3, dimana C3 dan K3 merupakan patokan untuk pemasukan di proses 4; 6) Biner C3 dan K3 dimasukkan ke dalam proses 4 dengan melakukan pemasukan dan pengambilan bit mengikuti pola lalu disubstitusikan ke dalam tabel substitusi S-Box menghasilkan P4 dan K4, P4 dan K4 hasil substitusi dengan menggunakan tabel S-Box di-XOR kemudian menghasilkan C4, dimana biner C4 dikonversi ke dalam Hexa. Untuk proses putaran berikutnya melakukan hal yang sama mengikuti langkah kerja dari 1 – 6, dimana hasil substitusi dari C4 dan K4 menjadi patokan untuk putaran berikutnya.
Tabel 2 Algoritma Proses Enkripsi
Proses Enkripsi
1. Masukkan Plaintext
2. Plaintext diubah ke ASCII 3. ASCII diubah ke HEXA 4. Nilai HEXA diubah ke BINER
5. Bit Biner dimasukkan ke kolom matriks P1 menggunakan pola pemasukan bit proses A pada Plaintext
6. Bit P1 ditransposisikan dari kolom matriks P1 dengan pola pengambilan bit proses A pada Plaintext
7. Nilai pengambilan bit P1 disubstitusikan dengan tabel S-Box
8. Hasil substitusi S-Box P1 di-XOR dengan hasil substitusi S-Box K1 menghasilkan C1 9. C1 = P2
10. Bit Biner dimasukkan ke kolom matriks P2 menggunakan pola pemasukan bit proses D pada Plaintext
11. Bit P2 ditransposisikan dari kolom matriks P2 dengan pola pengambilan bit proses D pada Plaintext
12. P2 di-XOR dengan K2 menghasilkan C2 13. C2 = P3
14. Bit Biner dimasukkan ke kolom matriks P3 menggunakan pola pemasukan bit proses B pada Plaintext
15. Bit P3 ditransposisikan dari kolom matriks P3 dengan pola pengambilan bit proses B pada Plaintext
16. P3 di-XOR dengan K3 menghasilkan C3 17. C3 = P4
18. Bit Biner dimasukkan ke kolom matriks P4 menggunakan pola bit pemasukan proses C pada Plaintext
19. Bit P4 ditransposisikan dari kolom matriks P4 dengan pola pengambilan bit proses C pada Plaintext
20. Nilai pengambilan bit P4 disubstitusikan dengan tabel S-Box
21. Hasil substitusi S-Box P4 di-XOR dengan hasil subtitusi S-Box K4 menghasilkan C4, hasil C4 merupakan nilai Biner
22. Biner C4 diubah ke HEXA
Tabel 2 menjelaskan tentang algoritma proses enkripsi dari Plaintext menjadi Ciphertext.
Tabel 3 Algoritma Proses Dekripsi
Proses Dekripsi
1. Masukkan Ciphertext
2. Nilai Ciphertext diubah ke Biner 3. Biner C4 di-XOR-kan dengan K4
5. P4 ditransposisikan dari kolom matriks P4 dengan pola pemasukan bit proses C pada
Plaintext
6. P4 = C3
7. C3 di-XOR dengan K3
8. Bit Biner hasil XOR antara C3 dan K3 dimasukkan ke kolom matriks P3 menggunakan pola pengambilan bit proses B pada Plaintext
9. P3 ditransposisikan dari kolom matriks P3 dengan pola pemasukan bit proses B pada
Plaintext
10. P3 = C2
11. C2 di-XOR dengan K2
12. Bit Biner hasil XOR C2 dan K2 dimasukkan ke kolom matriks P2 menggunakan pola pengambilan bit proses D pada Plaintext
13. P2 ditransposisikan dari kolom matriks P2 dengan pola pemasukan bit proses D pada
Plaintext
14. P2 = C1
15. C1 di-XOR dengan K1
16. Nilai XOR C1 dan K1 disubstitusikan dengan tabel S-Box
17. Hasil substitusi diubah ke Biner dimasukkan ke kolom matriks P1 menggunakan pola pengambilan bit proses A pada Plaintext
18. P1 ditransposisikan dari kolom matriks P1 dengan pola pemasukan bit proses A pada
Plaintext
19. P1 = Plaintext
20. Hasil Plaintext dalam bentuk biner 21. Biner Plaintext diubah ke dalam ASCII 22. Nilai ASCII diubah ke dalam karakter
Tabel 3 menjelaskan tentang proses dekripsi dari Ciphertext menjadi karakter semula (karakter input).
Algoritma proses kunci (Key), adalah sebagai berikut : 1. Masukan Kunci
2. Kunci diubah ke ASCII 3. ASCII diubah ke HEXA 4. HEXA diubah ke Biner
5. Bit Kunci dimasukkan ke kolom matriks K1 menggunakan pola pemasukan bit proses A pada Kunci
6. Bit Kunci ditransposisikan dari kolom matriks K1 menggunakan pola pengambilan bit proses A pada Kunci
7. HEXA disubstitusikan dengan tabel S-Box 8. Hasil substitusi diubah ke dalam BINER
9. Hasil transposisi K1 dimasukkan ke kolom matriks K2 menggunakan pola pemasukan bit proses B pada Kunci
10. Bit K2 ditransposisikan dari kolom matriks K2 menggunakan pola pengambilan bit proses B pada Kunci
11. Hasil transposisi K2 dimasukkan ke kolom matriks K3 menggunakan pola pemasukan bit proses C pada Kunci
12. Bit K3 ditransposisikan dari kolom matriks K3 menggunakan pola pengambilan bit proses C pada Kunci
14. Bit K4 ditransposisikan dari kolom matriks K4 menggunakan pola pengambilan bit proses D pada Kunci
15. HEXA disubstitusikan dengan tabel S-Box 16. Hasil substitusi diubah ke dalam BINER
Pseudocode proses enkripsi dan proses dekripsi, dijelaskan sebagai berikut :
Proses Enkripsi
{Program ini digunakan untuk melakukan proses enkripsi data}
Output P3
{Program ini digunakan untuk melakukan proses dekripsi data}
XOR
XOR
XOR
XOR
Gambar 13 Skema Proses Dekripsi
Gambar 13 menjelaskan alur proses pengembalian ciphertext ke plaintext. Pola yang digunakan sebagai pola pengambilan bit pada proses enkripsi akan digunakan sebagai pola pemasukan pada proses dekripsi. Sebaliknya pola pemasukan yang digunakan pada proses enkripsi akan digunakan sebagai pola pengambilan proses dekripsi sehingga dapat dikatakan pola ikatan Jimbe digunakan sebagai pola pemasukan bit pada proses dekripsi.
Proses dekripsi dimulai dengan memasukkan ciphertext pada kolom matriks C4 kemudian di-XOR dengan K4 hasil proses kunci pada proses keempat. Hasil XOR kemudian ditransposisikan menggunakan pola ikatan Jimbe.
Untuk menjelaskan secara detail proses pemasukan bit dan pengambilan 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.
Gambar 14 Proses Pemasukan Bit dan Pengambilan Bit pada Plaintext
Gambar 14 menjelaskan tentang proses 1 pada plaintext, dimana pemasukan bit dari atas ke bawah seperti gambar di sebelah kiri dan pengambilan bit mengikuti pola Ikatan Jimbe terbalik seperti gambar sebelah kanan, dalam
C3
S-Box
P3 P1
C2
P4 C4 P2
S-Box K3 C1
K2 C2
K1
pembuatan pola Ikatan Jimbe ini dibagi menjadi 3 (tiga) bagian dan pengambilan bit diambil sebanyak 8 bit.
Gambar 15 Proses Pemasukan Bit dan Pengambilan Bit pada Kunci
Gambar 15 menjelaskan tentang proses 1 pada plaintext, dimana pemasukan bit dari atas ke bawah seperti gambar di sebelah kiri dan pengambilan bit mengikuti pola Ikatan Jimbe terbalik seperti gambar sebelah kanan, dalam pembuatan pola Ikatan Jimbe ini dibagi menjadi 3 (tiga) bagian dan pengambilan bit diambil sebanyak 8 bit.
Gambar 16 Hasil dari Pengambilan Plaintext A dan Kunci A
Gambar 16 menjelaskan tentang hasil dari pengambilan Plaintext 1 (P1) dan Kunci 1 (K1), dimana P1 dan K1 hasil substitusi ke tabel S-Box lalu di-XOR-kan sehingga menghasildi-XOR-kan Ciphertext 2 (C2).
C4 = P4 ⨁K4 (11)
Gambar 17 Tabel Substitusi S-Box AES
Gambar.17, merupakan tabel substitusi S-Box 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 hexadecimal 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 y.Misalnya S[0, 0] = 19, hasil perpotongannya adalah S’[0, 0] = d4.
Urutan kombinasi pada Gambar 10 merupakan urutan kombinasi yang digunakan dalam perancangan kriptografi pada penelitian ini. Dalam pengaruh perubahan ciphertext jika menggunakan urutan kombinasi yang telah digabungkan dengan tabel substitusi S-Box dan tanpa menggunakan tabel substitusi S-Box mendapatkan hasil Avalanche Effect sebesar 56,25 % dan tanpa menggunakan tabel substitusi S-Box mendapatkan hasil Avalanche Effect sebesar 1,5625 % dengan jumlah perubahan bit sebanyak 20 perubahan, untuk lebih jelas hasilnya dapat dilihat pada Gambar 18 dan Gambar 19.
Gambar 18 Grafik Hasil Avalanche Effect dengan S-Box
enkripsi yang telah dijabarkan sebelumnya maka mendapatkan ciphertext yang telah dikonversi ke dalam nilai hexadecimal, dapat dilihat pada Tabel.4.
Tabel 4 Hasil Setiap Putaran
Putaran Ciphertext
Tabel 4 merupakan hasil enkripsi dari setiap putaran. Hasil dari putaran 20 merupakan final ciphertext. Nilai korelasi antara plaintext dan ciphertext dapat digunakan untuk mengukur seberapa acak hasil enkripsi (ciphertext) dengan plaintext. Nilai korelasi sendiri berkisar -1 sampai +1, dimana jika nilai kolerasi mendekati 1 maka plaintext dan ciphertext memiliki nilai yang sangat berhubung, tetapi jika mendekati 0 maka plaintext dan ciphertext tidak memiliki nilai yang berhubungan.
Putaran 12 yang lainnya tidak memiliki korelasi yang signifikan. Sehingga dapat disimpulkan bahwa algoritma kriptografi block cipher 64 bit berbasis pola Ikatan Jimbe dapat menghasilkan hasil enkripsi yang acak. Untuk melihat lebih jelasnya keterikatan antara plaintext dan ciphertext dapat dilihat pada Gambar 17.
Gambar 19 Grafik Nilai Korelasi
Pengujian perbedaan output dalam pengaruh perubahan ciphertext jika salah satu karakter input ditambahkan atau dihapus, dapat dilihat pada Tabel 6.
Tabel 6 Hasil Pengujian Perbedaan Output dengan S-Box
5. Simpulan
Berdasarkan penelitian yang dilakukan, dapat disimpulkan bahwa hasil penelitian memenuhi konsep kriptografi yaitu proses enkripsi dan dekripsi, serta konsep five-tuple Stinson, sehingga dapat dikatakan sebagai sistem kriptografi. Selain itu perubahan 1 (satu) karakter dapat membuat perubahan signifikan pada ciphertext karena adanya tabel substitusi S-Box yang dipasang pada Proses 1 (P1) dan Kunci 1 (K1) sebelum proses kedua dan sesudah pengambilan bit Proses 4 (P4) dan Kunci 4 (K4) terakhir setiap putaran. Adapun pada pengujian korelasi setiap putaran memiliki nilai korelasi lemah sehingga dapat disimpulkan bahwa algoritma dapat menghasilkan output enkripsi yang acak. Hasil penelitian juga menunjukkan proses enkripsi yang acak, sehingga dapat diterapkan untuk mengamankan data atau informasi berupa teks. Pengujian Avalanche Effect mencapai 56.25% sehingga dapat digunakan sebagai alternatif dalam pengamanan data. INI
6. Daftar Pustaka
[1] Dipanegara, A., 2011. New Concept Hacking. Jakarta: Agogos Publishig [2] Ramanujam, Sriram, Karuppiah, Marimuthu, 2011.
Designing an algorithm with high Avalanche Effect. IJCSNS International Journal.
[3] 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.
[4] Munir, R., 2006. Kriptografi, Bandung: Informatika.
[5] Sugiyono, 2009. “Metode Penelitian Bisnis (Pendekatan Kuantitatif, Kualitatif, dan R&D), Alfabeta, Bandung.