Artikel Ilmiah Feliks
Artikel Ilmiah Feliks
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
1
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].
2
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.
Dy (yb - ya )
= (7)
Dx (xa - xb )
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)
(9)
G
(( Pn H n ) / Pn )
I
3
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.
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].
n xy x ( y )
r (10)
{n x 2 ( x ) 2 }{n y 2 ( y 2 )}
Identifikasi Masalah
Pengumpulan Data
Perancangan Kriptografi
Pengujian Kriptografi
4
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.
5
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).
6
Pengambilan Bit
Pengambilan Bit pada
padaPola
PolaA A
7
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.
8
Gambar 9 Konsep Dasar Dekripsi
9
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 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.
10
Gambar 10 Proses Enkripsi Setelah Digabungakan dengan Tabel S-Box.
11
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.
12
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
13
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
C4 P4 ⊕ K4
Dari BINER = kolom matriks P4, masukkan BINER
P4 transposisi menggunakan pola pengambilan bit proses B
Output P4
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
14
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
15
P1 S-Box K1
XOR
P2 C1
XOR
C2 K2
C2 P3
XOR
C3 K3
P4 S-Box
XOR
C4 K4
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
Gambar 12 Proses Pemasukan Bit dan Pengambilan Bit pada Plaintext
16
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.
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
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
Gambar 14 Hasil dari Pengambilan Plaintext C dan Kunci A
C2 = P1 ⨁ K1 (11)
17
Box. Hasil XOR dari P1 dan K1 yang menjadi patokan untuk pemasukan dan
pengambilan di proses berikutnya.
25
1 2 3 4 5 6 7 8 9
18
GRAFIK AVALANCHE EFFECT
1 2 3 4 5 6 7 8 9
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
19
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.
Input Output
F 6F25F34A16FAB731
FT 6AAFE4795FA8BC80
FTI BF12CDCA56279DF4
FTI F3BCDD2D7B541425
FTI U 51325E7B41DEFC87
FTI UK E937E85B6534886F
FTI UKS D92D58F76D6565FB
FTI UKSW 16D7C8B48CC7BAF0
Input Output
F 30DA08CEF746496B
FT B0DA0ACEF646496B
FTI B0DA2ACAF64E4D4B
FTI B0FA2ACAF64E4D4B
FTI U B0FA2AC8F64F4F0B
FTI UK B0FAAAC9B64D4E8B
FTI UKS 90FEAAC9B66D4E83
FTI UKSW 90F6AAE9BE7D4E87
20
5. Simpulan
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.
21