T1__Full text Institutional Repository | Satya Wacana Christian University: Perancangan Algoritma Kriptografi Block Cipher 256 Bit Berbasis Pola Huruf B, M, E, W T1 Full text

Perancangan Algoritma Kriptografi Block Cipher 256 Bit
Berbasis Pola Huruf B, M, E, W

Artikel Ilmiah

Peneliti:
Dervyn A. M. Latupeirissa (672012137)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
1

Perancangan Algoritma Kriptografi Block Cipher 256 Bit
Berbasis Pola Huruf B, M, E, W

Artikel Ilmiah


Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer

Peneliti:
Dervyn A. M. Latupeirissa (672012137)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016

2

3

4


5

6

7

Perancangan Algoritma Kriptografi Block Cipher 256 Bit
Berbasis Pola Huruf B, M, E, W
Dervyn A. M. Latupeirissa1, Magdalena A. InekePakereng2
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
E-mail: 672012137@student.uksw.edu1, ineke.pakereng@staff.uksw.edu2

Abstract
Cryptography is the science of maintaining the confidentiality of the data.
Cryptography has important role in securing the data, so that cryptography should be
developed. In this study designed Cryptographic Algorithm Block Cipher 256 Bit Patterns
Based Letters B, M, E, W, which has 20 (twenty) rounds in the encryption process in
which the Plaintext transformed using the substitution tables of S-Box AES and the taking

patterns of Plaintext for each process is using pattern based on letters B, M, E, W.
Cryptographic Algorithm Block Cipher 256 Bit Patterns Based on Letters B, M, E, W can
produce a ciphertext that is random with the Avalanche Effect testing which has reached
50,78125%, so this algorithm can be used as an alternative in security data.
Keywords: Block Cipher, Cryptography, Letters B M E W Pattern, S-Box AES

Abstrak
Kriptografi adalah ilmu untuk menjaga kerahasiaan data. Kriptografi sangat
berperan penting dalam mengamankan data, sehingga kriptografi perlu terus
dikembangkan. Dalam penelitian ini dirancang Algoritma Kriptografi Block Cipher 256
Bit Berbasis Pola Huruf B, M, E, W yang memiliki 20 (dua puluh) putaran pada proses
enkripsi dimana Plaintext awal ditransformasi dengan menggunakan tabel substitusi SBox AES dan pola pengambilan Plaintext untuk setiap proses menggunakan pola huruf B,
M, E, W. Algoritma Kriptografi Block Cipher 256 Bit Berbasis Pola Huruf B, M, E, W
dapat menghasilkan Ciphertext yang acak dengan pengujian Avalanche Effect yang sudah
mencapai 50,78125% sehingga algoritma ini dapat digunakan sebagai alternatif dalam
pengamanan data.
Kata Kunci: Block Cipher , Kriptografi, Pola Huruf B M E W, S-Box AES

1)


Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya
Wacana
2)
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga

8

1.

Pendahuluan

Seiring berkembangnya teknologi informasi saat ini, keamanan data dalam
proses pengiriman perlu ditingkatkan. Salah satu cara yang sangat membantu
adalah dengan menggunakan teknik enkripsi dan dekripsi data. Teknik
pengamanan data menggunakan enkripsi dan dekripsi dikenal dengan nama
kriptografi, sebagai sebuah ilmu atau seni untuk mengamankan pesan atau data
dengan cara menyamarkan pesan tersebut sehingga hanya dapat dibaca oleh
pengirim dan penerima pesan. Penerapan kriptografi pada komputer dapat
menyamarkan pesan yang berupa file teks, gambar, suara, gambar bergerak dan
lain-lain [1].

Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan data [2].
Kriptografi sangat berperan penting dalam keamanan informasi saat ini, mulai dari
percakapan melalui telepon genggam, transaksi di bank, sampai aktivasi peluru
kendali pun menggunakan kriptografi [3]. Semakin baik algoritma dan kunci yang
dibuat, semakin baik juga kerahasiaan informasi itu terjaga.
Dalam kriptografi pesan asli yang dimengerti isinya atau maknanya
dinamakan plaintext. Sedangkan pesan yang tidak dimengerti yang merupakan
hasil transformasi dari plaintext disebut ciphertext [4]. Tranformasi artinya suatu
proses yang dilakukan untuk mengubah plaintext tersebut menjadi ciphertext.
Proses ini biasanya disebut dengan proses enkripsi. Sedangkan proses yang
dilakukan untuk mengubah ciphertext menjadi plaintext biasanya disebut dengan
dekripsi [5].
Salah satu algoritma dalam kriptografi adalah algoritma Block Cipher .
Block cipher merupakan algoritma kriptografi simetris yang mengenkripsi satu
block plaintext dengan jumlah bit tertentu dan menghasilkan block ciphertext
dengan jumlah bit yang sama. Pada umumnya, setiap block plaintext yang
diproses berukuran 64 bit. Namun, seiring dengan kemajuan teknologi, ukuran
block plaintext berkembang menjadi 128 bit, 256 bit bahkan menjadi 512 bit [6].
Block cipher mengenkripsi plaintext dan mendekripsi ciphertext secara block per
block (block adalah kumpulan bit), yaitu satu block dienkripsi atau didekripsi per

satuan waktu [1].
Algoritma yang digunakan dalam penelitian ini adalah algoritma block
cipher 256 bit dengan menggunakan pola huruf B, M, E, W dan dikombinasikan
dengan tabel substitusi S-Box dari algoritma kriptografi AES (Advanced
Encryption Standard). Pada penelitian ini block plaintext yang berukuran 256 bit
atau sama dengan 32 byte disubstitusi dengan tabel substitusi S-Box, kemudian
dienkripsi sebanyak 20 putaran dengan menggunakan pola huruf B, M, E, W
sebagai pola pengambilan plaintext. Setiap putaran enkripsi memiliki 4 proses
plaintext dan kunci (key) yang kemudian di-XOR dan menghasilkan block
ciphertext yang akan digunakan untuk putaran selanjutnya. Setelah menghasilkan
ciphertext terakhir pada putaran ke 20, maka dilakukan proses dekripsi untuk
mengembalikan ciphertext akhir menjadi plaintext awal.

9

2.

Tinjauan Pustaka

Penelitian sebelumnya digunakan sebagai acuan dalam penelitian yang

dilakukan. Penelitian pertama berjudul “Perancangan Kriptografi Block Cipher
dengan Langkah Kuda” yang membahas tentang kriptografi block cipher dengan
langkah kuda lari dan langkah kuda jalan. Algoritma langkah kuda lari dan
langkah jalan dapat membuktikan bahwa pola ini dapat menghasilkan kriptografi
simetris dan dapat memenuhi lima-tuple (Five-tuple). Penelitian ini dapat
membandingkan proses keacakan dan proses nilai diferensiasi antara KS dengan
AES-128. Hasil perbandingan dengan AES-128, rancangan berbasis langkah kuda
lebih cepat 0.94869906 ms [7].
Penelitian kedua berjudul “Penggunaan Motif Kain Tenun Timor Dan
Linear
Congruential
Generator
(LCG)
Dalam
Merancang
Dan
Mengimplementasikan Algoritma Kriptografi Cipher Block” yang membahas
tentang algoritma Kain Tenun Timor (KTT) dan linear congruential generator
(LCG) sebagai pembangkit kunci. Perancangan algoritma kriptografi berbasis
motif kain tenun timor dan linear congruential generator adalah suatu rancangan

algoritma kriptografi cipher block yang beroperasi dalam bentuk bit, dan termasuk
dalam teknik kriptografi kunci simetris. Hasil dari perancangan algoritma
kriptografi ini dapat digunakan untuk mengenkripsi dan mendekripsi teks yang
kemudian diimplementasikan ke dalam bentuk aplikasi [8].
Penelitian ketiga berjudul “Perancangan Algoritma Kriptografi Block
Cipher 256 Bit Berbasis pada Pola Tuangan Air”. Penelitian ini menjelaskan
tentang pola penuangan air yang dikombinasikan dengan tabel substitusi S-Box
AES pada akhir proses enkripsi yang menghasilkan Ciphertext akhir (C) yang
acak [9].
Berdasarkan penelitian-penelitian yang sudah ada terkait perancangan
algoritma kriptografi simetris block cipher maka dilakukan penelitian yang
berjudul “Perancangan Algoritma Kriptografi Block Cipher 256 Bit Berbasis Pada
Pola Huruf B, M, E, W”. Perbedaan penelitian ini dengan penelitian sebelumnya
adalah jumlah data yang diproses adalah sebanyak 256 bit dan kombinasi
menggunakan tabel substitusi S-Box AES dimana plaintext awal pada setiap
putaran akan disubstitusi terlebih dahulu dengan tabel substitusi S-Box AES
kemudian dienkripsi dengan pola huruf B, M, E, W sebagai pola pengambilan,
dan juga dibuat kombinasi sebanyak 24 kombinasi yang terdiri dari kombinasi A,
B, C, D yang memiliki masing-masing 6 kombinasi berbeda dan bertujuan untuk
mencari korelasi terendah sebagai pola yang paling optimal.


10

Gambar 1 Skema Dasar Proses Enkripsi-Dekripsi Pada BlockCipher [3].

P   p1, p2 ,, pn 

Misalkan block plaintext (P ) yang berukuran n bit
(1)

C  c1 , c2 ,, cn 

Block ciphertext (C) maka block C adalah

(2)

K  k1 , k2 ,, kn 

Kunci (K) maka kunci adalah
(3)


Ek P   C

Sehingga proses enkripsi adalah
(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 limatuple (Five tuple) [10]:
1. P adalah himpunan berhingga dari plaintext,
2. C adalah himpunan berhingga dari ciphertext,
3. K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci,
4. Untuk setiap
, terdapat aturan enkripsi
dan berkorespodensi

dengan aturan dekripsi
Setiap
dan
adalah
fungsi sedemikian hingga (
untuk setiap plaintext
)
Untuk menguji nilai algoritma yang dirancang memiliki hasil ciphertext
yang acak dari plaintext maka digunakan Persamaan 6, dimana variable X
merupakan plaintext dan Y merupakan ciphertext.








11

(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
Panduan umum dalam menentukan kriteria korelasi ditunjukkan pada
Tabel 1.
Tabel 1 Kriteria Korelasi [9]

R (-/+)
0
0 – 0,5
0,5 – 0,8
0,8 – 1
1

3.

Kriteria Korelasi
Tidak ada korelasi
Korelasi lemah
Korelasi sedang
Korelasi kuat/erat
Korelasi sempurna

Metode dan Perancangan Algoritma

Tahapan yang dilakukan dalam penelitian ini, terdiri dari 5 (lima) tahapan,
yaitu: (1) Pengumpulan Bahan, (2) Analisis Masalah, (3) Perancangan
Kriptografi, (4) Uji Kriptografi, dan (5) Penulisan Laporan.
Pengumpulan Bahan

Analisis Masalah

Perancangan Algoritma

Pengujian Algoritma

Penulisan Laporan
Gambar 2 Tahapan Penelitian

Tahapan penelitian pada Gambar 2 dapat dijelaskan sebagai berikut:
Tahap pertama : Identifikasi masalah merupakan tahapan awal dalam melakukan
penelitian untuk melihat masalah-masalah keamanan informasi yang berkaitan
12

dengan kriptografi dan akan digunakan sebagai perumusan masalah serta tujuan
dari penelitian ini. Adapun rumusan masalah yang akan dibahas pada
Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Huruf B, M, E, W,
yaitu: 1) Plaintext dan kunci dibatasi maksimal 32 karakter; 2) Block-block
menggunakan block 16x16 (256-bit); 3) dalam perancangan kriptografi pola
pengambilan bit pada plaintext berbasis pada pola huruf B, M, E, W. Tahap
kedua : Kajian pustaka dilakukan dengan mengumpulkan referensi dari buku,
jurnal, atau sumber lain yang berguna dalam perancangan kriptografi; Tahap
ketiga : Merancang algoritma kriptografi Block Cipher 256 bit berbasis pola huruf
B, M, E, W, yang dikombinasikan dengan XOR dan menggunakan tabel substitusi
S-Box untuk substitusi bit pada plaintext awal; Tahap keempat: Setelah rancangan
kriptografi dibuat dibutuhkan pengujian algoritma. Pengujian dilakukan dengan
cara manual dimana plaintext diubah ke dalam bit untuk melakukan proses
enkripsi; Tahap kelima : penulisan laporan dari hasil penelitian yang dilakukan
mengenai proses perancangan algoritma kriptografi Block Cipher 256 bit berbasis
pola huruf B, M, E, W. Adapun batasan masalah dalam penelitian ini yaitu: 1)
Proses enkripsi hanya dilakukan pada teks; 2) Pola Huruf B, M, E, W digunakan
pada pola pengambilan bit plaintext; 3) Jumlah plaintext dan kunci dibatasi yaitu
menampung 32 karakter serta proses putaran terdiri dari 20 putaran; 4) Panjang
block adalah 256-bit.
Dalam perancangan algoritma kriptografi Block Cipher 256 bit berbasis
pola huruf B, M, E, W, dilakukan dalam 1 (satu) proses enkripsi dimana plaintext
disubstitusikan menggunakan tabel substitusi S-Box AES terlebih dahulu dan
kemudian dilakukan proses enkripsi. Setiap proses enkripsi terdiri dari 4 (empat)
proses plaintext (P) dan 4 (empat) proses kunci (K) dan dilakukan sebanyak 20
putaran.

13

Putaran 1
Plaintext (P)

Kunci (K)

Subtitusi S-Box

P1

K1

P2

K2

P3

K3

P4

K4

P5

Putaran 20
Plaintext (P)

Kunci (K)

Subtitusi S-Box

P1

K1

P2

K2

P3

K3

P4

K4

Ciphertext

Gambar 3 Rancangan Alur Enkripsi

Gambar 3 merupakan rancangan alur proses enkripsi. Langkah-langkah
alur proses enkripsi dapat dijelaskan sebagai berikut: a) Menyiapkan plaintext; b)
Mengubah plaintext menjadi biner sesuai dalam tabel ASCII; c) Melakukan
substitusi dari bilangan biner plaintext ke bilangan hexa dengan menggunakan
tabel substitusi S-Box AES yang kemudian akan menghasilkan bilangan biner
untuk Plaintext 1 (P1); d) Dalam rancangan enkripsi plaintext dan kunci melewati
4 (empat) proses pada setiap putaran: 1) Putaran pertama Plaintext 1 (P1)
melakukan transformasi dengan pola huruf ‘B’ sebagai pola pengambilan
plaintext dan di-XOR dengan Kunci 1 (K1) menghasilkan Plaintext 2 (P2); 2)
Plaintext 2 (P2) melakukan transformasi dengan pola huruf ‘W’ sebagai pola
pengambilan plaintext dan di-XOR dengan Kunci 2 (K2) menghasilkan Plaintext
14

3 (P3); 3) Plaintext 3 (P3) melakukan transformasi dengan pola huruf ‘E’ sebagai
pola pengambilan plaintext dan di-XOR dengan Kunci 3 (K3) menghasilkan
Plaintext 4 (P4); 4) Plaintext 4 (P4) melakukan transformasi dengan pola huruf
‘M’ sebagai pola pengambilan plaintext dan di-XOR dengan Kunci 4 (K4)
menghasilkan Plaintext 5 (P5); 5) Plaintext 5 (P5) masuk pada putaran kedua
sebagai Plaintext awal (P) dengan alur proses yang sama dengan putaran pertama,
dan tahapan tersebut akan berlanjut sampai putaran ke 20 yang menghasilkan
Ciphertext akhir.
4.

Hasil dan Pembahasan

Bagian ini akan membahas secara rinci mengenai perancangan algoritma
kriptografi Block Cipher 256 bit berbasis pola huruf B, M, E, W. Bagian ini juga
akan membahas tentang proses enkripsi dan dekripsi.
Pada perancangan algoritma kriptografi block cipher 256 bit yang berbasis
pada pola huruf B, M, E, W ini, dilakukan 24 kombinasi yang terdiri dari
kombinasi A, B, C, dan D yang di dalamnya terdapat 4 proses plaintext dan 4
proses kunci. Masing-masing kombinasi terdiri dari 6 kombinasi berbeda,
misalnya kombinasi A: A-B-C-D, A-B-D-C, A-C-D-B, A-C-B-D, A-D-B-C, A-DC-B, kombinasi B: B-C-D-A, B-C-A-D, B-D-A-C, B-D-C-A, B-A-C-D, B-A-DC, dan seterusnya hingga kombinasi D.
Berdasarkan 24 kombinasi tersebut, dicari kombinasi dengan pola yang
paling optimal yaitu kombinasi yang memiliki nilai korelasi yang paling rendah,
yang ditunjukkan dalam Tabel 2.
Tabel 2 Nilai Korelasi Setiap Kombinasi
Kombinasi
A-B-C-D
A-B-D-C
A-C-D-B
A-C-B-D
A-D-C-B
A-D-B-C
B-C-D-A
B-C-A-D
B-D-A-C
B-D-C-A
B-A-C-D
B-A-D-C
C-D-A-B
C-D-B-A
C-A-B-D
C-A-D-B
C-B-D-A
C-B-A-D
D-A-B-C
D-A-C-B
D-B-C-A
D-B-A-C
D-C-A-B

Nilai Korelasi
-0,2738841
-0,0648996
-0,1043288
-0,4085639
-0,1741447
0,00552308
0,13132261
-0,0620167
0,03699943
-0,0605758
0,17862312
0,12512971
0,00728983
-0,4436243
-0,0126208
-0,0259342
0,06478748
-0,4578454
0,05298948
0,11374595
0,08817973
0,03187632
0,17342495

15

D-C-B-A

0,43040603

Nilai korelasi tidak terpaut pada nilai positif dan negatifnya. Nilai korelasi
terbaik adalah yang paling dekat dengan angka 0. Jadi pada Tabel 2 dapat dilihat
bahwa kombinasi dengan nilai korelasi terkecil adalah kombinasi A-D-C-B
dengan nilai korelasi 0,00552308, sehingga pola yang paling optimal yang didapat
dari kombinasi tersebut adalah pola huruf B, W, E, M yang digunakan sebagai
pola pengambilan plaintext pada proses enkripsi, yang dapat dilihat pada Gambar
4.

Gambar 4 Pola Pengambilan Plaintext

Pada Gambar 4 dapat dijelaskan bahwa pola pengambilan plaintext 1 atau
pola A berbentuk sama seperti huruf ‘B’. Setiap kolom yang membentuk huruf B
terdiri dari 16 bit (4x4) yang dihubungkan dengan garis anak panah yang
berwarna kuning
dengan titik kuning
sebagai titik awal. Proses
pengambilan bit pada kolom yang berbentuk huruf B ini dimulai dari titik hitam
sebagai titik awal pengambilan bit dan diikuti dengan garis anak panah yang
berwanra hitam
. Setelah pengambilan 16 bit pada kolom huruf B
pertama selesai, maka dilanjutkan ke kolom berikutnya sesuai dengan garis anak
panah yang ada. Proses ini berlanjut hingga proses pengambilan bit pada plaintext
1 selesai dengan total sebanyak 256 bit. Kemudian dilanjutkan dengan pola huruf
dan arah yang berbeda sesuai pada Gambar 4 untuk proses pengambilan bit pada
plaintext 2, plaintext 3, dan plaintext 4.
Pada bagian sebelumnya sudah dibahas bahwa perancangan algoritma
kriptografi block cipher berbasis pola huruf B, M, E, W ini dilakukan sebanyak 20
putaran untuk proses enkripsi yang masing-masing putaran terdiri dari 4 proses
dan akan menghasilkan ciphertext pada putaran terakhir. Rancangan proses
enkripsi dapat dilihat pada Gambar 5. Pertama, Plaintext (P) dikonversi menjadi
16

ASCII yang kemudian diubah menjadi bilangan biner. Bilangan biner kemudian
dikonversi menjadi bilangan hexa untuk disubstitusikan dengan tabel substitusi SBox AES. Setelah disubstitusi, bilangan hexa kembali dikonversi menjadi
bilangan biner yang tentunya berbeda dengan yang sebelumnya. Pada proses 1
plaintext, pemasukan bit dilakukan secara horizontal dari arah kiri ke kanan
hingga memenuhi kolom matriks 16x16. Kemudian pengambilan bit dilakukan
sesuai dengan pola huruf B yang menghasilkan Plaintext 1 (P1). Proses
pemasukan dan pengambilan bit pada kunci berbeda dengan plaintext, karena
proses kunci tanpa melalui substitusi S-Box. Proses 1 kunci memiliki pola yang
berbeda dengan pola plaintext dan akan menghasilkan Kunci 1 (K1). Plaintext 1
(P1) di-XOR dengan Kunci 1 (K1) dan menghasilkan Ciphertext 1 (C1).
Kemudian Ciphertext 1 (C1) digunakan untuk proses selanjutnya dengan pola
yang berbeda tanpa melakukan substitusi S-Box dan akan menghasilkan Plaintext
2 (P2) yang kemudian di-XOR dengan Kunci 2 (K2) dan menghasilkan Ciphertext
2 (C2). Proses ini berlangsung hingga putaran pertama selesai dan menghasilkan
Ciphertext 4 (C4) yang digunakan sebagai Plaintext awal (P) pada putaran ke 2
dan mengikuti proses dan skema yang sama pada putaran yang pertama hingga
putaran yang ke 20 dan akan menghasilkan Ciphertext 4 (C4) yang digunakan
sebagai ciphertext akhir.

17

Putaran 1
Plaintext

Kunci

ASCII
Biner
S-Box

Proses 1

Proses 1

Pemasukan Bit

Pemasukan Bit

Pengambilan Bit

Pengambilan Bit

P1

K1

C1

Proses 4

Proses 4

Pemasukan Bit

Pemasukan Bit

Pengambilan Bit

Pengambilan Bit

P4

K4

C4

Putaran 20
Ciphertext

Gambar 5 Rancangan Proses Enkripsi

Gambar 5 menjelaskan tentang rancangan proses enkripsi pada putaran 1
hingga putaran ke 20 yang akan menghasilkan ciphertext akhir.

18

Gambar 6 Tabel Substitusi S-Box

Sebelum masuk dalam proses pemasukan dan pengambilan bit plaintext,
pertama-tama Plaintext awal (P) melalui sebuah proses transformasi yaitu bit awal
pada plaintext disubstitusikan terlebih dahulu dengan menggunakan tabel
substitusi S-Box yang dapat dilihat pada Gambar 6. Tahap pertama sebelum
substitusi terlebih dahulu mengkonversi nilai bit menjadi bilangan hexa . Cara
pensubstitusian adalah sebagai berikut: misalkan byte yang akan disubstitusi
adalah S[r,c] = xy, dimana xy merupakan nilai digit hexa dari S[r,c], maka hasil
substitusinya dinyatakan dengan S’[r,c] yang adalah nilai yang didapat dari
perpotongan baris x dan kolom y dalam S-Box. Misalkan S[r,c] = 65, maka S’[r,c]
= 45. Setelah melakukan proses substitusi, bilangan hexa kembali dikonversi
menjadi biner yang kemudian dimasukkan ke dalam pola pemasukan plaintext
yang dibahas pada Gambar 7.

Gambar 7 Pola Pemasukan Bit Plaintext 1 (P1)

Gambar 7 menjelaskan proses pemasukan bit plaintext pada proses 1 yang
dilakukan secara horizontal dari arah kiri ke kanan secara berurutan ke bawah.
19

Proses pengambilan bit berbeda dengan proses pemasukan bit, yaitu
menggunakan pola huruf B yang dapat dilihat pada Gambar 8.

Gambar 8 Pola Pengambilan Bit Plaintext 1 (P1)

Proses pengambilan bit pada matriks dimulai dari kolom 4x4 yang
berbentuk huruf B yang berada di bagian kanan bawah. Setelah itu, pengambilan
bit pada kolom 4x4 berikutnya sesuai dengan arah panah yang ditunjukkan pada
Gambar 8. Hasil pengambilan bit dapat dilihat pada Gambar 9.

Gambar 9 Hasil Pengambilan Bit Plaintext 1 (P1)

Hasil pengambilan bit Plaintext 1 (P1) diurutkan secara horizontal mulai
dari kiri ke kanan secara berurutan ke bawah. Untuk pemasukan dan pengambilan
bit pada kunci dilakukan dengan pola yang berbeda dapat dilihat pada Gambar 10.

20

Gambar 10 Pola Pemasukan Dan Pola Pengambilan Bit Kunci 1 (K1)

Alur proses pemasukan bit pada Kunci 1 (K1) sama dengan alur proses
pengambilan bit pada Plaintext 1 (P1), yaitu pada matriks kolom 4x4 dengan titik
kuning sebagai titik awal dan diikuti dengan arah panah berwarna kuning. Pada
kolom 4x4 dalam matriks, bit dimasukkan pertama pada kolom yang memiliki
titik berwarna hitam kemudian diikuti dengan kolom yang dilintasi olah garis arah
panah berwarna hitam. Setelah itu diikuti dengan kolom yang memiliki angka 1,
2, 3 dan 4. Setelah kolom matriks 4x4 pertama telah terisi, maka akan berpindah
pada kolom matriks 4x4 berikutnya sesuai dengan garis arah panah berwarna
kuning. Proses yang sama juga dilakukan untuk pengambilan bit Kunci 1 (K1).
Proses pemasukan bit kunci dapat dilihat pada Gambar 11.

Gambar 11 Pola Pemasukan Bit Kunci 1 (K1)

Pola pemasukan bit kunci pada Gambar 11 dilakukan sesuai dengan pola
pemasukan bit kunci pada proses Kunci 1 (K1), sedangkan pola pengambilan bit
dapat dilihat pada Gambar 12.

21

Gambar 12 Pola Pengambilan Bit Kunci 1 (K1)

Setelah proses pengambilan bit selesai, maka akan didapat hasil
pengambilan bit Kunci 1 (K1) yang dapat dilihat pada Gambar 13.

Gambar 13 Hasil Pengambilan Bit Kunci 1 (K1)

Hasil pengambilan bit Kunci 1 (K1) diurutkan secara horizontal dari arah
kiri ke kanan berurutan ke bawah. Hasil pengambilan bit Kunci 1 (K1) dapat
dilihat pada Gambar 13. Hasil K1 di-XOR dengan P1 dan akan menghasilkan
Ciphertext 1 (C1)
(7)

C1 = P1⨁K1

Pada bagian ini akan dibahas mengenai proses dekripsi. Proses dekripsi
merupakan kebalikan dari proses enkripsi atau suatu proses untuk mengembalikan
ciphertext menjadi plaintext awal. Pada proses dekripsi, pola pengambilan bit
ciphertext berubah menjadi pola pemasukan ciphertext namun memiliki arah yang
berbeda. Dapat dilihat pada Gambar 14.

22

Gambar 14 Pola Pemasukan Ciphertext

Pada kolom 16 bit (4x4) dapat dilihat bahwa garis anak panah yang
berwarna hitam pada pola pemasukan bit ciphertext pada proses dekripsi memiliki
arah yang berlawanan dengan pola pengambilan bit ciphertext pada proses
enkripsi, namun memiliki bentuk atau pola yang sama untuk setiap proses.
Sebelumnya telah dibahas bahwa pola dekripsi merupakan kebalikan dari pola
enkripsi sehingga pola pengambilan ciphertext pada pola enkripsi dijadikan
sebagai pola pemasukan ciphertext pada pola dekripsi, hanya saja arahnya yang
berbeda.
Pada proses dekripsi digunakan kunci dan proses kunci dengan urutan
yang sama dengan yang digunakan pada proses enkripsi, dapat dilihat pada
Gambar 10, Gambar 11, Gambar 12 dan Gambar 13 pada bagian sebelumnya.

23

Putaran 20

Proses 4
Ciphertext 4

Kunci 4

ASCII
BINER

BINER

Transposisi Terbalik
Pola Pemasukan Plaintext 4

C3

Proses 1
Ciphertext 1

Kunci 1

BINER

Transposisi Terbalik
Pola Pemasukan Plaintext 1

Pola Pengambilan Plaintext 1
HEXA

S-Box
BINER
ASCII
CHAR

Plaintext

Putaran 1

Gambar 15 Rancangan Proses Dekripsi

24

Gambar 15 menjelaskan rancangan proses dekripsi dari putaran 20 hingga
putaran 1 yang mengembalikan ciphertext akhir menjadi plaintext awal, dan yang
dikerjakan lebih dulu adalah proses 4 secara berurutan hingga proses 1.

Gambar 16 Transposisi Terbalik Dari Hasil XOR C1 dan K1

Gambar 16 dimisalkan sebagai hasil transposisi bit terbalik dari hasil XOR
C1 dan K1.

Gambar 17 Pola Pemasukan Ciphertext 1 (P1)

Pola pemasukan ciphertext pada proses dekripsi memiliki bentuk yang
sama dengan pola pengambilan ciphertext pada proses enkripsi yaitu berbentuk
huruf B pada setiap bagian kolom 16 bit atau 4x4 yang setiap kolom dihubungkan
secara berurutan menggunakan garis putus-putus berwarna hitam.

25

Gambar 18 Hasil Pemasukan Ciphertext 1 (C1)

Setelah proses pemasukan bit selesai, maka didapat hasil pemasukan bit
plaintext yang ditunjukkan pada Gambar 18.

Gambar 19 Hasil Pengambilan Ciphertext 1 (C1)

Gambar 19 menjelaskan pola pengambilan plaintext yang dilakukan secara
horizontal dari kiri ke kanan secara berurutan dari atas ke bawah.

26

Tabel 3 Algoritma Proses Enkripsi dan Dekripsi

Proses Enkripsi

Proses Dekripsi

Masukkan Plaintext
Plaintext diubah ke ASCII
ASCII diubah ke BINER
BINER diubah ke HEXA
HEXA disubstitusi menggunakan tabel Substitusi
S-Box AES
Hasil HEXA diubah ke BINER

Masukkan C4
C4 diubah ke ASCII
ASCII diubah ke BINER
Bit C4 di-XOR dengan K4
Hasil XOR ditransposisikan terbalik
Hasil transposisi ditransposisi kembali menggunakan
pola huruf M dengan arah sebaliknya (pola
pemasukan plaintext 4) menghasilkan P4

BINER dimasukan ke kolom P1 menggunakan
pola pemasukan Plaintext 1
Bit P1 ditransposisikan menggunakan pola huruf
B (pola pengambilan plaintext 1)
P1 dan K1 di-XOR menghasilkan C1
C1 diubah ke BINER
BINER dimasukan ke kolom P2 menggunakan
pola pemasukan Plaintext 2
Bit P2 ditransposisikan menggunakan pola huruf
W (pola pengambilan plaintext 2)
P2 dan K2 di-XOR menghasilkan C2
C2 diubah ke BINER
BINER dimasukan ke kolom P3 menggunakan
pola pemasukan Plaintext 3
Bit P3 ditransposisikan menggunakan pola huruf
E (pola pengambilan plaintext 3)
P3 dan K3 di-XOR menghasilkan C3
C3 diubah ke BINER
BINER dimasukkan ke kolom P4 menggunakan
pola pemasukan Plaintext 4
Bit P4 ditransposisikan menggunakan pola huruf
M (pola pengambilan plaintext 4)
P4 dan K4 di-XOR menghasilkan C4
C4 diubah ke BINER
BINER diubah ke ASCII

Bit P4 ditransposisikan menggunakan pola
pengambilan Plaintext 4 menghasilkan C3
Bit C3 di-XOR dengan K3
Hasil XOR ditransposisikan terbalik
Hasil transposisi ditransposisi kembali menggunakan
pola huruf E dengan arah sebaliknya (pola
pemasukan plaintext 3) menghasilkan P3
Bit P3 ditransposisikan menggunakan pola
pengambilan Plaintext 3 menghasilkan C2
Bit C2 di-XOR dengan K2
Hasil XOR ditransposisikan terbalik
Hasil transposisi ditransposisi kembali menggunakan
pola huruf W dengan arah sebaliknya (pola
pemasukan plaintext 2) menghasilkan P2
Bit P2 ditransposisikan menggunakan pola
pengambilan Plaintext 2 menghasilkan C1
Bit C1 di-XOR dengan K1
Hasil XOR ditransposisikan terbalik
Hasil transposisi ditransposisi kembali menggunakan
pola huruf B dengan arah sebaliknya (pola
pemasukan plaintext 1) menghasilkan P1
Bit P1 ditransposisikan menggunakan pola
pengambilan Plaintext 1
BINER diubah ke HEXA
HEXA diinvers dengan menggunakan tabel substitusi
S-Box AES
HEXA diubah ke BINER
BINER diubah ke ASCII
ASCII diubah ke CHAR menghasilkan Plaintext

Tabel 3 merupakan algoritma proses enkripsi dan dekripsi dari
perancangan yang dibuat. Proses enkripsi menhasilkan Ciphertext 4 (C4)
sedangkan proses dekripsi menghasilkan Plaintext awal (P).
Algoritma proses Kunci (Key) :
1. Masukkan Kunci
2. Kunci diubah ke ASCII
3. ASCII diubah ke BINER
4. Bit BINER dimasukkan ke kolom K1 menggunakan pola masuk Kunci 1
5. Bit K1 ditransposisikan dengan pola pengambilan Kunci 1

27

6. Hasil transposisi K1 dimasukkan ke kolom K2 menggunakan pola masuk
Kunci 2
7. Bit K2 ditransposisikan dengan pola pengambilan Kunci 2
8. Hasil transposisi K2 dimasukkan ke kolom K3 menggunakan pola masuk
Kunci 3
9. Bit K3 ditransposisikan dengan pola pengambilan Kunci 3
10. Hasil transposisi K3 dimasukkan ke kolom K4 menggunakan pola masuk
Kunci 4
11. Bit K4 ditransposisikan dengan pola pengambilan Kunci 4
Pseudocode proses Enkripsi dan Dekripsi, dijelaskan sebagai berikut:
Proses Enkripsi
(Program ini dilakukan untuk mengenkripsi data)
Kamus
P,K,P1,P2,P3,P4,K1,K2,K3,K4, = integer
C1,C2,C3,C4 = integer
Start
Putaran = 1
Input P
Read P
P to ASCII
ASCII to BINER
BINER to HEXA
HEXA substitusi menggunakan S-Box
HEXA to BINER
Print BINER P
Output P
C1