1
Pengaruh
S-Box
Pada Perubahan
Ciphertext
Terhadap
Perancangan Kriptografi
Block Cipher
64 Bit
Berbasis Pola Huruf U
Artikel Ilmiah
Peneliti:
Feliks Abedyoga Chandra P (672011158) Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
2
Pengaruh
S-Box
Pada Perubahan
Ciphertext
Terhadap
Perancangan Kriptografi
Block Cipher
64 Bit
Berbasis Pola Huruf U
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti:
Feliks Abedyoga Chandra (672011158) Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
8
Pengaruh
S-Box
Pada Perubahan
Ciphertext
Terhadap
Perancangan Kriptografi
Block Cipher
64 Bit
Berbasis Pola Huruf U
Feliks Abedyoga Chandra.P1, Magdalena A. InekePakereng2 Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
E-mail: 672011158@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 64 Bit Patterns Based Letters U, which has 9 (nine) rounds in the encryption and decryption process in which thre is an influence on the S-Box AES Ciphertext significant changes, compared without use S-Box . Cryptographic Algorithm Block Cipher 64 Bit Patterns Based on Letters U can produce a ciphertext that is random with the Avalanche Effect testing which has reached 62,5 %, so this algorithm can be used as an alternative in security data.
Keywords: Block Cipher, Cryptography, Letters U Pattern, S-Box Aes, Ciphertext
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 64 Bit berbasis Pola Huruf U yang memiliki 9 (sembilan) putaran pada proses enkripsi dan dekripsi dimana terdapat pengaruh S-Box AES pada perubahan Ciphertext yang signifikan, dibandingkan tanpa menggunakan S-Box. Algoritma Kriptografi BlockCipher
64 Bit berbasis Pola Huruf U dapat menghasilkan Ciphertext yang acak dengan pengujian
Avalanche Effect yang sudah mencapai 62,5% sehingga algoritma ini dapat digunakan sebagai alternatif dalam pengamanan data.
Kata Kunci: BlockCipher, Kriptografi, Pola Huruf U, S-Box AES, Ciphertext
1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya
Wacana
9 1. Pendahuluan
Jumlah pertukaran informasi yang ada pada saat ini sangatlah banyak dan jumlah ini terus meningkat mengingat semakin banyaknya media pertukaran informasi seperti media sosial. Hal ini tentunya meningkatkan kebutuhan akan keamanan informasi. Keamanan informasi dapat diperoleh melalui penerapan kriptografi. Kriptografi (dalam konteks ini adalah block cipher) dapat memberikan
security property seperti confidentiality, integrity, authentication dan non-repudiation [1].
Komponen dari block cipher adalah S-Box. S-Box berfungsi seperti cipher
substitusi. Selain itu, S-Box adalah komponen block cipher yang menghasilkan
confusion dan diffusion. Confusion dan diffusion adalah salah satu karakteristik dari suatu block cipher yang memiliki tingkat keamanan yang baik. Block cipher
seperti AES memiliki S-Box yang didesain untuk menghasilkan karakteristik seperti transformasi non-linear agar menghasilkan keamanan yang baik [2].
Penelitian ini merancang sebuah algoritma kriptografi dengan pendekatan
block cipher berbasis 64 bit dengan pola huruf U, huruf U digunakan sebagai pola pengambilan bit-bit sebanyak 8 bit dan pada penelitian ini semua bit (64 bit) akan terlewati pola huruf U, dimana juga terdapat pengaruh S-Box pada perubahan
ciphertext. Pola huruf U digunakan karena dapat memenuhi bit-bit pada blok-blok yang ada yaitu 64 bit serta adanya transposisi pada pola huruf U itu sendiri. Pada algoritma block cipher yang dirancang menggunakan skema transposisi dengan pola huruf U sebagai alur pengambilan bit, dikombinasi dengan pola horizontal dan vertikal sebagai alur pemasukan bit pada sebuah kotak matriks. Skema subtitusi dengan menggunakan S-Box Advance Encryption Standard (AES) sebagai peningkatan perubahan Ciphertext. Kriptografi yang digunakan dalam penelitian ini bersifat simetris dengan menggunakan satu kunci untuk proses enkripsi dan dekripsi, digunakan kriptografi simetris karena tidak membutuhkan proses komputasi yang rumit untuk proses enkripsi dan dekripsi.
2. Tinjauan Pustaka
Penelitian sebelumnya yang menjadi acuan dalam penelitian yang dilakukan, dijelaskan sebagai berikut, yang pertama adalah “Perancangan Algoritma pada Kriptografi Block Cipher dengan Teknik Langkah Kuda”. Penelitian ini membahas tetang perancangan kriptografi block cipher berbasis 64 bit menggunakan pendekatan teknik langkah kuda sebagai metode pemasukan bit
plaintext pada blok matriks [3].
Penelitian kedua berjudul “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 [4].
10
block cipher 64 Bit dengan urutan proses sebanyak 9 kali. Pada penelitian ini proses enkripsi dan dekripsi dilakukan sebanyak 9 putaran.
Pada bagian ini akan membahas teori pendukung yang digunakan dalam perancangan algoritma kriptografi block cipher 64 Bit berbasis pola huruf U. 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 blok dan setiap bloknya biasanya terdiri dari 64 Bit atau lebih. Pada block cipher, hasil enkripsi berupa blok 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 [5].
Gambar 1 Skema Proses Enkripsi-Dekripsi Pada Block Cipher [5]
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)
Proses dekripsi adalah
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 akan 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
11
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.
� =
√
{nΣx² – Σx ²} {nΣynΣxy – Σx Σy2²– Σy ²}(6)
Σxy = Hasil perkalian dari total jumlah variabel X dan variabel Y
Untuk mengetahui nilai keacakan 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+1dimana 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.
Apabila terdapat n data maka untuk menentukan rata-rata dari diferensiasi data dapat dicari untuk melihat tren dari setiap data rataan diferensiasi (Rd) untuk
melihat diberikan pada Persamaan 8.
(8)
Untuk mencari nilai keacakan data dari plaintext dan cipherteks
menggunakan Persamaan 9, 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
12
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 symbol “r”. Nilai koefisien
“r” akan selalu berada di antara -1 sampai +1 sehingga diperoleh persamaan [7], untuk memudahkan menentukan kuat lemahnya hubungan antara variabel yang diuji maka dapat digunakan Tabel 1.
Tabel 1 Klasifikasi Koefisien Korelasi [8]
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 [8].
(10)
3. Metode dan Perancangan Algoritma
13
Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut, Tahap Identifikasi Masalah : Pada tahapan ini dilakukan analisis terhadap permasalahan yang ada, terkait dengan proses perancangan kriptografi berbasis pola huruf U; 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 huruf U, untuk pembuatan kunci, proses enkripsi dan proses dekripsinya yang dikombinasikan dengan XOR dan menggunakan tabel S-Box untuk subtitusi byte; Tahap Pengujian Kriptografi : Pada tahap ini dilakukan pengujian terhadap kriptografi yang telah dibuat. Pengujian dilakukan dengan analisis pengaruh S-Box pada perubahan ciphertext, dampak tanpa menggunakan S-Box; Tahap Penulisan Artikel Ilmiah : Dalam tahap terakhir ini dilakukan penulisan artikel tentang Pengaruh S-Box Advance Encryption Standard (AES) pada perubahan
Ciphertext terhadap perancangan kriptografi Block Cipher 64 Bit berbasis Pola Huruf U. Adapun batasan masalah dalam penelitian ini yaitu: 1) Proses enkripsi hanya dilakukan pada teks; 2) Pola huruf U digunakan pada proses transposisi
plaintext; 3) Jumlah plaintext dan kunci dibatasi yaitu menampung 8 karakter serta proses putaran terdiri dari 9 putaran; 4) Panjang block adalah 64 Bit.
Dalam penelitian ini perancangan algoritma kriptografi Block Cipher 64 Bit berbasis pola teknik huruf U, dilakukan 4 (empat) proses untuk 1 (satu) putaran enkripsi. Enkripsi sendiri dilakukan dalam 9 putaran yang ditunjukkan pada Gambar 3.
Gambar 3 Rancangan Alur Proses Enkripsi
14
Putaran pertama Plaintext 1 (P1) melakukan transformasi dengan pola huruf U, 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 huruf U dan di-XOR dengan Kunci 2 (K2) menghasilkan Plaintext 3 (P3); 3) Plaintext 3 (P3) melakukan transformasi dengan pola huruf U 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-9 yang menghasilkan Ciphertext (C).
4. Hasil dan Pembahasan
Dalam bagian ini akan membahas mengenai “Pengaruh S-Box Advance Encryption Standard (AES) pada Perubahan Ciphertext terhadap Perancangan
Kriptografi Block Cipher 64 Bit Berbasis Pola Huruf U secara terperinci”.
Dalam algoritma ini pola huruf U digunakan untuk proses pengambilan bit di dalam matriks Plaintext. Pembuatan pola perubahan huruf U dapat dilihat dalam Gambar 4, Gambar 5, dan Gambar 6.
Gambar 4 Pembuatan Pola huruf U
Gambar 4 menjelaskan bagaimana membuat pola huruf U dengan cara blok 64 Bit dibagi menjadi 8 bagian seperti pewarnaan pada area di Gambar 4.
Gambar 5 Pola huruf U
15
Gambar 5 menjelaskan mengenai pengambilan bit pada pola huruf U dengan mengikuti arah anak panah pada pola huruf U, adapun cara pengambilan bit-bit tersebut akan dijelaskan pada Gambar 6.
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 Huruf U
Gambar 6 menjelaskan tentang pengambilan bit-bit yang terlewati pada pola perubahan huruf U seperti penjelasan sebelumnya di Gambar 5. Cara pengambilan bit-bit tersebut mengikuti arah anak panah pada Gambar 6.
Sebelum memasuki penjelasan lebih detail lagi tentang cara kerja proses keseluruhan, seperti yang sudah dijelaskan sebelumnya mengenai pengaruh S-Box
pada perubahan ciphertext terhadap perancangan kriptografi block cipher 64 Bit berbasis pola huruf U, di dalam penelitian ini cara untuk mengetahui pengaruh S-Box pada perubahan ciphertext adalah sebagai berikut. Pertama, pola pemasukan
Pengambilan Bit pada Pola A
Membagi block 64 Bit menjadi 8 bagian
16
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 diinisialkan 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 kunci ABCD. Hasil 24 kombinasi dari plaintext
ABCD dapat dilihat di Gambar 7.
Gambar 7 Hasil 24 Kombinasi Plaintext dan Kunci ABCD
Setelah mendapatkan hasil kombinasi, setiap hasil kombinasi plaintext dan kunci ABCD dimasukkan ke dalam konsep kerja dasar enkripsi algoritma kriptografi block cipher dengan metode transposisi, konsep kerja dasar enkripsi algoritma kriptogafi blok cipher dengan metode transposisi dapat dilihat pada Gambar 8.
Gambar 8 Konsep Dasar Enkripisi
17
Gambar 9 Konsep Dasar Dekripsi
Gambar 9 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.
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 = J@RING4N
Plaintext 3 = 5AL4T!6@ Kunci tetap = FAKULTAS
2. Plaintext tetap dan kunci berubah,
18
Berdasarkan hasil pengujian korelasi dengan menggunakan contoh
plaintext dan kunci tersebut maka hasil rata-rata korelasi terbaik yang akan digunakan sebagai acuan perancangan dalam proses enkripsi dan proses untuk melihat pengaruh perubahan ciphertext dengan menggunakan tabel S-Box. Dimana setiap hasil korelasi diabsolutkan atau diubah ke bilangan positif, karena hasil korelasi tidak selamanya positif melainkan ada juga yang negatif. Dimana dalam penentuan korelasi nilai yang positif dan negatif hanya menentukan posisi dari korelasi antara kiri atau kanan.
Tabel 2 Rata-Rata Korelasi 1 ABCD 0,345819995 0,442582243 13 CABD 0,361441592 0,271467919 2 ABDC 0,392503715 0,261545098 14 CADB 0,427350128 0,28351408 3 ACBD 0,420333635 0,47437292 15 CBDA 0,292253115 0,160940278 4 ACDB 0,156661449 0,378269764 16 CBAD 0,195977329 0,151012344 5 ADBC 0,304770162 0,216076967 17 CDAB 0,433727098 0,215512586 6 ADCB 0,378998716 0,472949269 18 CDBA 0,511419531 0,439929578 7 BACD 0,300619042 0,356825649 19 DABC 0,336338589 0,51781479 8 BADC 0,429474879 0,377749738 20 DACB 0,211573296 0,036459765 9 BCAD 0,098811672 0,233899086 21 DBAC 0,424834298 0,295738553 10 BCDA 0,339426835 0,3828354 22 DBCA 0,419370831 0,223414378 11 BDAC 0,038804614 0,246384562 23 DCAB 0,214971081 0,318147766 12 BDCA 0,273201034 0,481796799 24 DCBA 0,253460207 0,490130303
KORELASI TERBAIK 0,036459765
Tabel 2 menjelaskan tentang hasil rata–rata korelasi yang terbaik dari hasil rata-rata korelasi kombinasi plaintext dan kunci ABCD.
Setelah mendapatkan urutan proses yang terbaik dari pengujian hasil rata-rata korelasi dan didapatkan rata-rata-rata-rata hasil korelasi terbaik yaitu 0.036459765 dengan urutan proses plaintext DACB yang sudah dimasukkan ke dalam konsep kerja dasar enkripsi algoritma kriptografi block chiper (Gambar 8) dan digabungkan dengan S-Box (Gambar 3) yang berfungsi untuk mengetahui perubahan ciphertext yang terjadi jika menggunakan S-Box dan tanpa 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 62,5 % dengan total perubahan jumlah bit sebanyak 20 perubahan bit [4].
Sehingga plaintext dan kunci tersebut yang menjadi acuan dalam penelitian ini untuk mengetahui perubahan ciphertext yang terjadi jika menggunakan S-Box dan tanpa S-Box pada perancangan kriptografi Block Cipher
64 Bit Berbasis Pola Huruf U. Seperti yang sudah dijelaskan sebelumnya urutan
kombinasi proses plaintext dan kunci ABCD dimasukkan ke dalam konsep kerja
dasar enkripsi kriptografi block chiper dan digabungkan dengan tabel substitusi
19
Gambar 10 Proses Enkripsi Setelah Digabungakan dengan Tabel S-Box.
Gambar 10 menjelaskan tentang proses enkripsi keseluruhan gabungan antara konsep dasar enkripsi algoritma kriptografi block cipher menggunakan metode transposisi dengan tabel substitusi S-Box, dengan langkah kerja sebagai berikut : 1) Menyiapkan Plaintext dan Kunci; 2) Plaintext dan kunci sebelum dimasukkan dalam proses 1, karakter Plaintext dan Kunci dikonversi ke ASCII, ASCII ke HEXA, HEXA ke Biner; 3) Biner Plaintext dan Kunci dimasukkan ke dalam proses 1, selanjutnya menjadi pemasukan dan mengambilan bit mengikuti pola lalu menghasilkan P1 dan K1 kemudian disubstitusikan dengan menggunakan table S-Box, P1 dan K1 hasil substitusi dengan menggunakan tabel
20
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 3 Algoritma Proses Enkripsi dan Dekripsi
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 D pada Plaintext
6. Bit P1 ditransposisikan dari kolom matriks P1 dengan pola pengambilan bit poroses D 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 A pada Plaintext
11. Bit P2 ditransposisikan dari kolom matriks P2 dengan pola pengambilan bit proses A 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 C pada Plaintext
15. Bit P3 ditransposisikan dari kolom matriks P3 dengan pola pengambilan bit proses C 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 B pada Plaintext
19. Bit P4 ditransposisikan dari kolom matriks P4 dengan pola pengambilan bit proses B 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
Proses Dekripsi 1. Masukkan Ciphertext
2. Nilai Ciphertext diubah ke Biner 3. Biner C4 di-XOR-kan dengan K4
4. Hasil XOR Ciphertext dan K4 di substitusikan dengan S-Box kemudian dimasukkan ke kolom matriks P4 menggunakan pola pengambilan bit proses B pada Plaintext
5. P4 ditransposisikan dari kolom matriks P4 dengan pola pemasukan bit proses B pada Plaintext
9. P3 ditransposisikan dari kolom matriks P3 dengan pola pemasukan bit proses C 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 A pada Plaintext
13. P2 ditransposisikan dari kolom matriks P2 dengan pola pemasukan bit proses A pada Plaintext
18. P1 ditransposisikan dari kolom matriks P1 dengan pola pemasukan bit proses D pada Plaintext
19. P1 = Plaintext
21
Tabel 3 merupakan algoritma proses enkripsi dan dekripsi. Proses enkripsi dari
Plaintext menjadi Ciphertext sedangkan proses dekripsi dari Ciphertext menjadi karakter semula (karakter input).
Algoritma proses kunci (Key), adalah sebagai berikut :
1. Masukkan 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
13.Hasil transposisi K3 dimasukkan ke kolom matriks K4 menggunakan pola pemasukan bit proses D 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 dekripsi, dijelaskan sebagai berikut :
Proses Enkripsi
{Program ini digunakan untuk melakukan proses enkripsi data}
22
{Program ini digunakan untuk melakukan proses dekripsi data}
23
Biner hasil substitusi = kolom matriks P4, masukkan BINER sesuai pola pengambilan bit proses B C4 transposisi menggunakan pola pemasukan bit proses B
24
XOR
XOR
XOR
XOR
Gambar 11 Skema Proses Dekripsi
Gambar 11 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 huruf U 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 huruf U.
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 12 Proses Pemasukan Bit dan Pengambilan Bit pada Plaintext
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Pemasukan Bit pada Pola C Pengambilan Bit pada Pola C
25
Pemasukan Bit pada Pola A Pengambilan Bit pada Pola A
Gambar 12 menjelaskan tentang proses 1 pada plaintext, dimana pemasukan bit secara horisontal dari kanan ke kiri seperti gambar di sebelah kiri dan pengambilan bit mengikuti pola huruf U terbalik seperti gambar sebelah kanan, dalam pembuatan pola huruf U terbalik ini dibagi menjadi 8 bagian dan pengambilan bit diambil sebanyak 8 bit.
Gambar 13 Proses pemasukan Bit dan Pengambilan Bit pada Kunci
Gambar 13 menjelaskan tentang proses 1 pada plaintext, dimana pemasukan bit secara horisontal kiri ke kanan seperti gambar di sebelah kiri dan pengambilan bit mengikuti pola huruf U seperti gambar sebelah kanan, dalam pembuatan pola huruf U ini dibagi menjadi 8 bagian seperti Gambar 4, dan pengambilan bit diambil sebanyak 8 bit.
Gambar 14 Hasil dari Pengambilan Plaintext C dan Kunci A
Gambar 14 menjelaskan tentang hasil dari pengambilan Plaintext 1 (P1) bilangan heksadesimal kemudian diubah ke biner kemudian bit biner dimasukkan ke kolom matriks P1 menggunakan pola pemasukan bit proses C pada plaintext
bit P1 ditransposisikan dari kolom matriks P1 dengan pola pengambilan bit proses C pada plaintext nilai pengambilan bit P1 dan K1 disubstitusikan dengan tabel S-Box dan di XOR dengan K1 yang telah melalui proses substitusi dengan tabel
S-25 17 9 1 2 10 18 26 1 9 17 25 26 18 10 2
26
Box. Hasil XOR dari P1 dan K1 yang menjadi patokan untuk pemasukan dan pengambilan di proses berikutnya.
Gambar 15 Tabel Substitusi S-Box AES
Gambar 15, 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 terpakai 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 62,5 % dan tanpa menggunakan tabel substitusi S-Box mendapatkan hasil Avalanche Effect sebesar 1,5625 % dengan jumlah perubahan bit sebanyak 9 perubahan, dimana pada pengujian Avalanche Effect ini menggunakan key DISASTER dan DISCSTER sebagai plaintext untuk mendapatkan perbandingan perubahan ciphertext jika menggunakan urutan kombinasi yang telah digabungkan dengan tabel substitusi S-Box dan tanpa menggunakan tabel substitusi S-Box. Untuk lebih jelas hasilnya dapat dilihat pada Gambar 16 dan Gambar 17.
Gambar 16 Hasil Avalanche Effect dengan S-Box
25
53,125 51,5625
46,875 45,3125 43,75
35,9375 56,25
62,5
1 2 3 4 5 6 7 8 9
GRAFIK AVALANCHE EFFECT
27
Gambar 17 Hasil Avalanche Effect tanpa S-Box
Untuk pengujian algoritma dengan menggunakan tabel substitusi S-Box
karena sangat berpengaruh pada perubahan ciphertext kemudian dilakukan dengan mengambil plaintext FTI UKSW dan kunci FAKULTAS. Setelah melewati proses 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 9 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.
Tabel 5 Nilai korelasi Setiap Putaran
Putaran Nilai
1,5625 1,5625 1,5625 1,5625 1,5625 1,5625 1,5625 1,5625 1,5625
1 2 3 4 5 6 7 8 9
GRAFIK AVALANCHE EFFECT
28
Putaran 8 0,257960499 Putaran 9 0,160002971
Pada Tabel 5 terlihat beberapa putaran memiliki nilai kolerasi lemah dan yang lainnya tidak memiliki korelasi yang signifikan. Sehingga dapat disimpulkan bahwa algoritma kriptografi block cipher 64 bit berbasis pola huruf U dapat menghasilkan hasil enkripsi yang acak. Untuk melihat lebih jelasnya keterikatan antara plaintext dan ciphertext dapat dilihat pada Gambar 17.
Gambar 18Grafik 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
Input Output
F 6F25F34A16FAB731
FT 6AAFE4795FA8BC80
FTI BF12CDCA56279DF4
FTI F3BCDD2D7B541425
FTI U 51325E7B41DEFC87
FTI UK E937E85B6534886F
FTI UKS D92D58F76D6565FB
FTI UKSW 16D7C8B48CC7BAF0
Berdasarkan hasil pengujian pada Tabel 6 dapat dilihat bahwa setiap penambahan karakter pada input membuat perubahan signifikan pada output. Adapun pada Tabel 7 dapat dilihat bahwa setiap penambahan karakter pada input
tidak membuat perubahan signifikan pada output.
Tabel 7 Hasil Pengujian Perbedaan Output tanpa S-Box
Input Output
F 30DA08CEF746496B
FT B0DA0ACEF646496B
FTI B0DA2ACAF64E4D4B
FTI B0FA2ACAF64E4D4B
FTI U B0FA2AC8F64F4F0B
FTI UK B0FAAAC9B64D4E8B
FTI UKS 90FEAAC9B66D4E83
29 5. Simpulan
Berdasarkan penelitian yang dilakukan, dapat disimpulkan bahwa
“Pengaruh S-BoxAdvance Encryption Standard (AES) Pada Perubahan Ciphertext
Terhadap Perancangan Kriptografi Block Cipher 64-Bit Berbasis Pola Huruf U”
mendapatkan hasil ciphertext yang acak dengan pengujian avalanche effect yang
sudah mencapai 62,5% sehingga algoritma ini dapat digunakan sebagai alternatif
dalam pengamanan data dan dapat melakukan enkripsi dan memenuhi konsep
five-tuple Stinson sehingga dapat dikatakan sebagai sistem kriptografi. Selain itu perubahan 1 karakter dapat membuat perubahan signifikan pada ciphertext karena adanya tabel substitusi S-Box yang dipasang pada proses sesudah pengambilan Bit pada Proses 1 (P1) dan Kunci 1 (K1) dan sesudah pengambilan bit Proses 4 (P4) dan Kunci 4 (K4) setiap putaran, adapun pada pengujian korelasi setiap putaran memiliki nilai korelasi lemah sehingga dapat disimpulkan “Pengaruh S-Box
Advance Encryption Standard (AES) Pada Perubahan Ciphertext Terhadap
Perancangan Kriptografi Block Cipher 64-Bit Berbasis Pola Huruf U” dapat
menghasilkan output enkripsi yang acak. “Pengaruh Perubahan Ciphertext
Dengan Menggunakan S-Box Advance Encryption Standard (AES) Terhadap
Perancangan Kriptografi Block Cipher64-Bit Berbasis pada Pola Huruf U”dapat
menghasilkan enkripsi yang acak sehingga dapat diterapkan untuk mengamankan data atau informasi berupa teks. Dalam pengujian avalanche effect pun menunjukan begitu besar pengaruh S-Box di dalam proses enkripsi dibandingkan tanpa menggunakan S-Box.
6. Daftar Pustaka
[1] Ramadhanus, A., dan Firdaus, F. 2015. Blackfish : Block cipher dengan Key-Dependent S-Box dan P-Box, Bandung : Institut Teknologi Bandung. [2] FIPS PUB 46-3, “Data Encryption Standard (DES)”, National Institute of
Standards and Technology, U.S. Department of Commerce. 1999.
[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] Ramanujam, S., Karuppiah, M. 2011. Designing an algorithm with high Avalanche Effect. IJCSNS International Journal
[5] Munir, R. 2006. Kriptografi, Bandung: Informatika.
[6] Stinson, D. R. 1995. Cryptography : Theory and Practice. CRC Press, Boca Raton, London, Tokyo.
[7] Sugiyono. 2009. Metode Penelitian Bisnis (Pendekatan Kuantitatif, Kualitatif, dan R&D), Alfabeta, Bandung.