pengaruh s-box pada perubahan ciphertext terhadap perancangan kriptografi … · 2018. 1. 12. · 2...
TRANSCRIPT
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
Salatiga
Desember 2016
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
Salatiga
Desember 2016
3
4
5
6
7
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: [email protected], [email protected]
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 Block Cipher 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 Block Cipher
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: Block Cipher, Kriptografi, Pola Huruf U, S-Box AES, Ciphertext
1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya
Wacana 2)Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga
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].
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 huruf U. Perbedaan penelitian ini dengan yang sebelumnya yaitu
pengaruh S-Box pada perubahan ciphertext terhadap perancangan kriptografi
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
fungsi sedemikian hingga 𝑑𝑘(𝑒𝑘(𝑥)) = 𝑥 untuk setiap plaintext 𝑥 𝜖 𝑷 [6].
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Σxy – (Σx) (Σy)
√{nΣx² – (Σx)²} {nΣy2² – (Σy)²} (6)
Dimana:
n = Banyaknya pasangan data X dan Y
Σx = Total jumlah dari variabel X
Σy = Total jumlah dari variabel Y
Σx2 = Kuadrat dari total jumlah variabel X
Σy2 = Kuadrat dari total jumlah variabel Y
Σxy = Hasil perkalian dari total jumlah variabel X dan variabel Y
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+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.
Dy
Dx=
(yb - ya )
(xa - xb ) (7)
dengan (xa, ya) sebagai titik pertama, dan titik berikutnya adalah (xb, yb).
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
I
PHPG
nnn )/)((
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
0,20 – 0,399 Rendah
0,40 – 0,599 Sedang
0,60 – 0,799 Kuat
0,80 – 1,000 Sangat Kuat
Merujuk pada Persamaan [8] maka secara matematis nilai r diperoleh dari
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
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
})(}{)({
)(
2222
yynxxn
yxxynr
Identifikasi Masalah
Pengumpulan Data
Perancangan Kriptografi
Pengujian Kriptografi
Penulisan Artikel Ilmiah
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
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)
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
Membagi block 64 Bit menjadi 8 bagian
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 Dilewati Pada Pola 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
Membagi block 64 Bit menjadi 8 bagian
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
Gambar 8 menjelaskan konsep dasar 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.
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,
Plaintext = FTI UKSW
Kunci 1 = FAKULTAS
Kunci 2 = M@IP2004
Kunci 3 = K0MPUT3R
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
NO. KOMBINASI
RATA - RATA
NO. KOMBINASI
RATA - RATA
PLAINTEXT BERUBAH
KUNCI BERUBAH
PLAINTEXT BERUBAH
KUNCI BERUBAH
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 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 S-
Box, proses kerja keseluruhan dapat dilihat pada Gambar 10.
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
S-Box di-XOR kemudian menghasilkan C1, dimana C1 dan K1 merupakan
patokan untuk pemasukan di proses 2; 4) Biner C1 dan K1 dimasukkan ke dalam
proses 2 dengan melakukan pemasukan dan pengambilan bit mengikuti pola lalu
menghasilkan P2 dan K2, P2 dan K2 di-XOR kemudian menghasilkan C2,
dimana C2 dan K2 merupakan patokan untuk pemasukan di proses 3; 5) biner C2
dan K2 dimasukkan ke dalam proses 3 dengan melakukan pemasukan dan
pengambilan bit mengikuti pola lalu menghasilkan P3 dan K3, P3 dan K3 di-XOR
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
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
C 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
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
D pada Plaintext
18. P1 ditransposisikan dari kolom matriks P1
dengan pola pemasukan bit proses D 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
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}
Kamus
P,K = String P1,P2,P3,P4,K1,K2,K3,K4,C1,C2,C3,C4 = byte
Start
C1 P1 ⊕ K1 Input P
Read P P to ASCII
ASCII to HEXA
HEXA to BINER Dari BINER = kolom matriks P1, masukkan BINER
P1 transposisi menggunakan pola pengambilan bit proses D
BINER = Tabel S-Box, masukkan HEXA
HEXA substitusi menggunakan S-Box
HEXA substitusi to BINER
Output P1
Input K Read K
K to ASCII
ASCII to HEXA HEXA to BINER
Dari BINER = kolom matriks K1, masukkan BINER
K1 transposisi menggunakan pola pengambilan bit proses A
22
BINER = Tabel S-Box, masukkan HEXA
HEXA substitusi menggunakan S-Box
HEXA substitusi to BINER
Output K1
Print C1
C1 = P2
C2 P2 ⊕ K2
Dari BINER = kolom matriks P2, masukkan BINER P2 transposisi menggunakan pola pengambilan bit proses A
Output P2
Dari BINER = kolom matriks K2, masukkan BINER
K2 transposisi menggunakan pola pengambilan bit proses B Output K2
Print C2
C2 = P3
C3 P3 ⊕ K3
Dari BINER = kolom matriks P3, masukkan BINER P3 transposisi menggunakan pola pengambilan bit proses C
Output P3
Dari BINER = kolom matriks K3, masukkan BINER
K3 transposisi menggunakan pola pengambilan bit proses C
Output K3 Print C3
C3 = P4
P4 transposisi menggunakan pola pengambilan bit proses B BINER = Tabel S-Box, masukkan HEXA
HEXA substitusi menggunakan S-Box
HEXA substitusi to BINER Output P4
C4 P4 ⊕ K4 Dari BINER = kolom matriks P4, masukkan BINER P4 transposisi menggunakan pola pengambilan bit proses B
Output P4
Dari BINER = kolom matriks K4, masukkan BINER
K4 transposisi menggunakan pola pengambilan bit proses D
BINER = Tabel S-Box, masukkan HEXA
HEXA substitusi menggunakan S-Box
HEXA substitusi to BINER
Output K4
Print C4
C4 = Ciphertext
Repeat
End
Proses Dekripsi
{Program ini digunakan untuk melakukan proses dekripsi data} Kamus
P,K = String
C,P1,P2,P3,P4,K1,K2,K3,K4,C1,C2,C3,C4 = byte
Start
K2 Transposisi K1 Input K
Read K
K to ASCII ASCII to HEXA
HEXA = Tabel S-Box, masukkan HEXA HEXA substitusi menggunakan S-Box
HEXA substitusi to BINER
Dari BINER = kolom matriks K1, masukkan BINER K1 transposisi menggunakan pola pemasukan bit proses A
Output K2
K3 Transposisi K2 K2 transposisi menggunakan pola pemasukan bit proses B
Output K3
23
K4 Transposisi K3
K3 transposisi menggunakan pola pemasukan bit proses C
Output K4
K4 di substitusikan dengan S-Box Hasil substitusi S-Box diubah ke BINER
BINER ditransposisikan menggunakan pola pemasukan bit proses D
Hasil transposisi = K4
P4 C4 ⊕ K4 Input C
Read C
C diubah ke BINER Biner disubstitusi dengan inverse S-Box
Hasil substitusi diubah ke BINER Biner hasil substitusi = kolom matriks P4, masukkan BINER sesuai pola pengambilan bit proses B
C4 transposisi menggunakan pola pemasukan bit proses B
C4 ⊕ K4 Print P4
P4 = C3
P3 C3 ⊕ K3
Dari BINER C3 = kolom matriks P3, masukkan BINER sesuai pola pengambilan bit proses C
C3 transposisi menggunakan pola pemasukan bit proses C
C3 ⊕ K3
Print P3 P3 = C2
P2 C2 ⊕ K3 Dari BINER C2 = kolom matriks P2, masukkan BINER sesuai pola pengambilan bit proses A C2 transposisi menggunakan pola pemasukan bit proses A
C2 ⊕ K2 Print P2
P2 = C1
P1 C1 ⊕ K1 Biner C1 XOR K1 disubstitusi dengan inverse S-Box
Hasil substitusi diubah ke BINER
BINER hasil substitusi = kolom matriks P1, masukkan BINER sesuai pola pengambilan bit proses D C1 transposisi menggunakan pola pemasukan bit proses D
C1 ⊕ K1 Print P1
P1 to ASCII Repeat
ASCII to CHAR
End
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
9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32 25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56 49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64 57 58 59 60 61 62 63 64
Pemasukan Bit pada Pola C Pengambilan Bit pada Pola C
C3
S-Box
P3
P1
C2
P4
C4
P2
S-Box
K3
C1
K2 C2
K1
K4
25
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32 25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56 49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64 57 58 59 60 61 62 63 64
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)
dan Kunci 1 (K1) dalam hal ini P1 = Plaintext C dan K1 = Kunci A, dimana P1
dan K1 hasil substitusi ke tabel S-Box lalu di-XOR-kan sehingga menghasilkan
Ciphertext 2 (C2).
C2 = P1 ⨁ K1 (11)
C2 kemudian dibagi menjadi 8 bit menjadi 8 bagian kemudian dikonversi ke
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
27 19 11 3 4 12 20 28 3 11 19 27 28 20 12 4
29 21 13 5 4 14 22 30 5 13 21 29 30 22 14 6
31 23 15 7 8 16 24 32 7 15 23 31 32 24 16 8
57 49 41 33 34 42 50 58 33 41 49 57 58 50 42 34
59 51 43 35 36 44 52 60 35 43 51 59 60 52 44 36
61 53 45 37 38 46 54 62 37 45 53 61 62 54 46 38
63 55 47 39 40 48 56 64 39 47 55 63 64 56 48 40
Hasil dari proses Pengambilan Bit Plaintext C Hasil dari proses Pengambilan Bit Kunci A
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,562546,875 45,3125 43,75
35,9375
56,2562,5
1 2 3 4 5 6 7 8 9
GRAFIK AVALANCHE EFFECT
JUMLAH PERUBAHAN BIT
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 Putaran 1 1CA2B91BD1768087
Putaran 2 19A24527A1D57A74
Putaran 3 69BEB45E8B014BBE
Putaran 4 B83BBF87C3C79D23
Putaran 5 BF1B48231C3D5A03
Putaran 6 1352216BA083FFA3
Putaran 7 9511F82812BEBEFC
Putaran 8 FAFE13A2DE9BAAF1
Putaran 9 16D7C8B48CC7BAF0
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
Korelasi
Putaran 1 0,702231917
Putaran 2 0,577557095
Putaran 3 0,287139836
Putaran 4 -0,169139568
Putaran 5 -0,085226693
Putaran 6 0,298943886
Putaran 7 0,274951161
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
JUMLAH PERUBAHAN BIT
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 18 Grafik 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
FTI UKSW 90F6AAE9BE7D4E87
29
5. Simpulan
Berdasarkan penelitian yang dilakukan, dapat disimpulkan bahwa
“Pengaruh S-Box Advance 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 Cipher 64-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.
[8] Dafid. 2006. Kriptografi Kunci Simetris Dengan Menggunakan Algoritma
Crypton, STMIK MDP Palembang.