1
Perancangan Algoritma Kriptografi
BlockCipher256 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
2
Perancangan Algoritma Kriptografi
BlockCipher256 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
8
Perancangan Algoritma Kriptografi
BlockCipher256 Bit
Berbasis Pola Huruf B, M, E, W
Dervyn A. M. Latupeirissa1, Magdalena A. InekePakereng2 Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
E-mail: 672012137@student.uksw.edu1, ineke.pakereng@staff.uksw.edu2
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 BlockCipher 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 BlockCipher 256 Bit Berbasis Pola Huruf B, M, E, W dapat menghasilkan Ciphertext yang acak dengan pengujian AvalancheEffect yang sudah mencapai 50,78125% sehingga algoritma ini dapat digunakan sebagai alternatif dalam pengamanan data.
Kata Kunci: BlockCipher, Kriptografi, Pola Huruf B M E W, S-Box AES
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
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].
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
11
Gambar 1 Skema Dasar Proses Enkripsi-Dekripsi Pada BlockCipher [3].
Misalkan block plaintext (P) yang berukuran n bit
p p pn
P
1,
2,
,
(1)Block ciphertext (C) maka block C adalah
c c cn
C
1,
2,
,
(2)Kunci (K) maka kunci adalah
k k kn
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.
12
= 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
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
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.
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
15
3 (P3); 3) Plaintext3 (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, 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
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.
17
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.
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)
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)
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)
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)
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.
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
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 Ciphertext1 (P1)
26
Gambar 18 Hasil Pemasukan Ciphertext1 (C1)
Setelah proses pemasukan bit selesai, maka didapat hasil pemasukan bit plaintext yang ditunjukkan pada Gambar 18.
Gambar 19 Hasil Pengambilan Ciphertext1 (C1)
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
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
HEXA substitusi menggunakan S-Box
HEXA to BINER Print BINER P Output P
C1 <- P1 XOR K1
P to kolom P1 menggunakan pola pemasukan Plaintext 1 Bit P1 ditransposisikan menggunakan pola huruf B Input K
Read K
K to ASCII ASCII to BINER
BINER to kolom K1 menggunakan pemasukan Kunci 1 Bit K1 diambil dengan pola pengambilan Kunci 1 Output K1 Bit P2 ditransposisikan menggunakan pola huruf W
Input K1
Read K1
K1 to ASCII ASCII to BINER
BINER to kolom K2 menggunakan pemasukan Kunci 2 Bit K2 diambil dengan pola pengambilan Kunci 2
Output K2 Bit P3 ditransposisikan menggunakan pola huruf E
Input K2
Read K2
K2 to ASCII ASCII to BINER
BINER to kolom K3 menggunakan pemasukan Kunci 3 Bit K2 diambil dengan pola pengambilan Kunci 3
29 Bit P4 ditransposisikan menggunakan pola huruf M
Input K3
Read K3
K3 to ASCII ASCII to BINER
BINER to kolom K4 menggunakan pemasukan Kunci 4 Bit K2 diambil dengan pola pengambilan Kunci 4
Output K4
(Program ini dilakukan untuk mendekripsi data)
Kamus
Hasil transposisi ditransposisi dengan pola huruf M dengan arah berlawanan Bit P4 ditransposisi dengan pola pemasukan Plaintext 4 to C3
Input K3
Hasil transposisi ditransposisi dengan pola huruf E dengan arah berlawanan Bit P4 ditransposisi dengan pola pemasukan Plaintext 3 to C2
Input K2
Hasil transposisi ditransposisi dengan pola huruf W dengan arah berlawanan Bit P2 ditransposisi dengan pola pemasukan Plaintext 2 to C1
30
Hasil transposisi ditransposisi dengan pola huruf B dengan arah berlawanan Bit P1 ditransposisi dengan pola pemasukan Plaintext 1 toS-Box
Input K
HEXA to invers substitusi S-Box
HEXA to BINER
Untuk pengujian algoritma dilakukan dengan mengambil plaintext adalah DISASTER dan kunci adalah SRIRAMSR. Setelah melewati proses enkripsi yang telah dijabarkan sebelumnya maka mendapatkan ciphertext dan nilai korelasi untuk setiap putaran yaitu sebagai berikut pada Tabel 4.
Tabel 4 Nilai Korelasi dan Ciphertext Setiap Putaran
Putaran Nilai Korelasi Ciphertext
1 -0,018170173 ðc»"}AÏu¡›B·+¨dbžÍœÕpB!ò'Ñ
2 -0,014301042 ‚±ÿÑ?ìéF¢&‘·}¥pVËõg-Ü•”k뤔
3 0,082198119 º>!-ž®`ÊàæàfÎ;+Øڙ㗠}/ [ü
4 0,308056299 ‹WFDaœ®Íï”ÁúlÝ[~23Mc—länïh#¶6
5 -0,027986955 Ttï^ï ³¬0uýϯa?eyƒö,’7•]°Ö’¾
6 0,078223171 qP•säb\L•®)aƒNý&8ïr@;i¶û@Sç"õ
7 -0148728709 úŸoÞ´ß×ÿ^••Ž‘¯þ¸'²æªún8‰k©œÏ
8 0,364237976 ‚kBMŒÉuãYetrQÔÂ_팄дöO='Æc?8ð
9 0,025144707 IeçÞ?nOp4æ.'ÈÅ5Ó¿–уfè÷S"z¶Fpµ
10 0,284765662 ìf×ýïÈ´PL<‡4ûŠ±•ÖO·b¸Ø³Ý˜Ö£Žñ
11 -0,02910602 Šzò;Õ•5Œa›Š@•2/^Ç¥£c=%S÷¢‹ÑäÊ
12 -0,021536329 ["L)ÀS»+Ù¡ò¬J±æ…ÜS·OɆ[/œ•ÖÉ~
13 -0,038047156 ìX³Å;¶å4Ã$ŒK!˜‹’!Îbû伬~k˜x
14 0,244251921 ±Lh•BPMÆD~¿#¬£DAÁ°TåàOÓ‚Çãs
15 0,092906958 G'¤qEš¶•ˆÞn¤+Áèб%=˶BÄh4l.·
16 -0,1770627S3 -è0e"ÑÞ,×€xzáf=E¬ùU®Á™ÉSP
17 -0,03751704 üŠ@•Á+¹·NFÃòàx¯‡ìz7¥×K²,
18 0,014152264 »•Ÿ<¹T<áiö•‰Ž…”THYRb–Îu÷º¯ $
19 0,273913363 ^ÈÇ/÷Vù™O 7…×›ø?õd•D"«p\ÌÐ*µ
20 -0,008633063 *k$ðæ?ábÝ dê×LjŽØùþ¿«a`ðà—Î6ÁkO
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
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 avalancheeffect sudah mencapai lebih dari 50%.
5. Simpulan
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.