perancangan kriptografi block cipher dengan langkah...

25
Perancangan Kriptografi Block Cipher dengan Langkah Kuda Artikel Ilmiah Peneliti : Duta Dairo Bili (672010108) Magdalena A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Mei 2015

Upload: lamnga

Post on 19-Mar-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

Perancangan Kriptografi Block Cipher dengan

Langkah Kuda

Artikel Ilmiah

Peneliti :

Duta Dairo Bili (672010108)

Magdalena A. Ineke Pakereng, M.Kom.

Alz Danny Wowor, S.Si., M.Cs.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

Mei 2015

Page 2: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

Perancangan Kriptografi Block Cipher dengan

Langkah Kuda

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

Untuk memperoleh Gelar Sarjana Komputer

Peneliti :

Duta Dairo Bili (672010108)

Magdalena A. Ineke Pakereng, M.Kom.

Alz Danny Wowor, S.Si., M.Cs.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

Mei 2015

Page 3: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung
Page 4: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung
Page 5: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung
Page 6: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung
Page 7: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung
Page 8: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

1

Perancangan Kriptografi Block Cipher dengan

Langkah Kuda

1)Duta Dairo Bili, 2)Magdalena A. Ineke Pakereng,

3)Alz Danny Wowor

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50771, Indonesia

Email: 1) [email protected], 2) [email protected], 3)

[email protected]

Abstract

One way to maintain the security of data or information that is by using cryptographic

methods. This research article designing cryptographic block ciphers with steps running

horse and the horse steps street. The algorithm measures the horses run and step can

prove that this pattern could generate symmetric cryptography and can meet the five-tuple

(Five-tuple). This research compares the randomness and process value differentiation

between KS with AES-128. The comparison with the AES-128, draft horses move more

quickly based 0.94869906 ms.

Keywords: Block Cipher, Cryptography, Symmetric Key, Step horse.

Abstrak

Salah satu cara untuk menjaga keamanan data atau informasi yaitu dengan menggunakan

metode kriptografi. Tulisan penelitian ini merancang kriptografi blok 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.

Kata Kunci: Cipher Blok, Kriptografi, Kunci Simetris, Langkah Kuda.

1) Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen

Satya Wacana

2) Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga.

Page 9: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

2

1. Pendahuluan

Kriptografi sangat berhubungan dengan pengaman informasi, untuk itu menurut

terminologinya kriptografi merupakan ilmu dan seni untuk menjaga sistem pengaman

pesan untuk dikirim dari suatu tempat ke tempat yang lain. Keamanan dan kerahasiaan

dalam komunikasi data sangat diperlukan, sehingga dapat menjamin keamanan dan

kerahasiaan dalam berkomunikasi.

Algoritma kriptografi memiliki keunikan dengan karakter dan spesifikasi yang

berbeda-beda. Salah satunya adalah block cipher, algoritma ini melakukan enkripsi dan

dekripsi berdasarkan ukuran blok, yang biasanya ditentukan berdasarkan banyak karakter

atau banyak bit dari blok tersebut. Block cipher merupakan kriptografi yang banyak

digunakan sebagai teknik pengamanan di internet, sebagai contoh DES dan AES yang

menjadi standar keamanan untuk transfer data, transaksi keuangan, dan juga dalam

berkomunikasi. Selain itu juga teknik ini digunakan karena secara matematis tidak

memerlukan operasi yang kompleks dan algoritmanya lebih mudah untuk diimplementasi

diberbagai platform. Block cipher juga secara algoritma prosesnya memerlukan waktu dan

memori yang sedikit dibandingkan dengan kriptografi jenis yang lainnya [1].

Penelitian ini merancang kriptografi block cipher dengan menggunakan teknik

langkah kuda. Penggunaan langkah kuda yang dimaksud adalah langkah kuda jalan dan

juga langkah kuda lari. Keduanya langkah ini menghasilkan tapak yang unik dan berbeda,

oleh karena itu diadopsi dengan menempatkan bit yang sesuai dengan alur langkah kuda

dan menggabungkan dengan proses block cipher yang lain seperti subtitusi dan juga

transposisi.

Tujuan penelitian ini adalah dapat merancang algoritma langkah kuda lari dan

langkah kuda jalan yang kemudian digunakan dalam rancangan block cipher yang

selanjutnya diimplementasi menjadi sebuah aplikasi yang dapat digunakan secara otomatis

untuk melakukan proses enkripsi dan dekripsi.

2. Tinjauan Pustaka

Penelitian sebelumnya yang pertama adalah “Perancangan Kriptografi Kunci

Simetris Menggunakan Fungsi Bessel dan Fungsi Legendre”. Tulisan ini membahas

mengenai perancangan kriptografi simetris yang pada setiap prosesnya menggunakan

fungsi linier dan fungsi rasional yang dimana koefisien dari kudau fungsi tersbut

dibangkitkan menggunakan fungsi khusus yaitu fungsi Bessel dan fungsi Legendre.

Penelitian ini mampu mennghasilkan kunci dengan urutan bilangan desimal yang unik,

bahkan mapu menghasilkan bilangan irasional. Pembangkitan kunci ini menjadi kekuatan

dari karena hasil regenarasi dalam bilangan desimal. Regenerasi ini merupakan sesuatu

yang baru, karena sangat jarang kriptografi menggunakan kunci dari bilangan desimal[3].

Penenlitian ini dijadikan dasar terutama bagaiman membuat kripotgrafi simetris yang baru

berdasarkan regenerasi kunci, walaupun berbeda proses dalam meregenerasinya.

Penenlitian sebelumnya yang kedua dan digunakan sebagai acuan dalam merancang

kriptografi block cipher yang baru adalah penelitian dengan judul “Perancangan Algoritma

pada Kriptografi Block Cipher dengan Teknik Langkah Kuda Dalam Permainan Catur”.

Penelitian ini menggunakan teknik langkah kuda dalam permainan catur sebagai algoritma

untuk proses penempatan bit dan pengambilan bit dari kotak 64-bit. Penelitian ini

melakukan 4 putaran dimana setiap putaran melakukan proses untuk plainteks dan juga

Page 10: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

3

proses kunci. Hasil dari kedua proses tersebut akan dilakukan proses XOR sehingga pada

putaran ke empat akan mendapatkan cipherteks. Berbagai pengujian dilakukan terutama

untuk membuktikan sebagai kriptosistem dengan lima-tuple (Five-tuple) dari Stinson [2].

Penelitian sebelumnya yang ketiga berjudul Advanced Encryption Standard (AES)

Implementation. Penelitian tersebut menggunakan algoritma AES dengan panjang bit

yakni 128 bit untuk diimplementasikan pada aplikasi menggunakan bahasa pemrograman

“C” sebagai pengamanan data berupa pesan singkat, penelitian tersebut dilakukan terhadap

berbagai pesan singkat yang telah dienkripsi menggunakan kunci yang berbeda serta

ukuran panjang kunci yang berbeda – beda, modifikasi dilakukan di dalam source code

untuk membuktikan bahwa pesan yang dienkripsi terbukti lebih aman dengan tingkatan

keamanan yang lebih tinggi serta lebih aman terhadap serangan dari pengguna yang tidak

bertanggung jawab [6].

Penelitian-penelitian tersebut menjadi acuan dalam membentuk ide untuk merancang

kriptografi block cipher, merancang kunci simetris dan menjadi acuan perbandingan waktu

dan memori algoritma langkah kuda sandelwood dengan algoritma AES-128. Perbedaan

penelitian terdahulu yaitu penelitian ini menggunakan teknik langkah kaki kuda

sandelwood sebagai kriptografi block cipher. Penelitian yang akan dilakukan merupakan

algoritma block cipher yang memiliki fungsi padding pada proses enkripsi dan fungsi

unpadding pada kunci.

Secara umum proses enkripsi dan dekripsi dapat diperlihatkan pada diagram pada

Gambar 1 dan Gambar 2.

Gambar 1 Proses Enkripsi [4]

Gambar 2 Proses Dekripsi [4]

Gambar 1 dan Gambar 2 menunjukkan proses enkripsi dan proses dekripsi yang

dapat dijelaskan sebagai berikut : [4]

Plaintext adalah pesan atau informasi yang akan dikirimkan dalam format yang

mudah dibaca.

Data diacak dengan menggunakan fungsi atau Kunci Enkripsi (Encryption Key).

Cipherteks adalah pesan atau informasi yang sudah dienkripsi sehingga tidak dapat

dibaca dengan mudah.

Plaintext Ciphertext

Encryption

Ciphertext Plaintext

Decryption

Page 11: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

4

Proses pengacakan atau proses yang dilakukan untuk mengamankan sebuah pesan

(yang disebut plainteks) menjadi pesan yang tersembunyi (disebut cipherteks

adalah enkripsi (encryption).

Proses sebaliknya, untuk mengubah cipherteks menjadi plainteks, disebut dekripsi

(decryption).

Kunci yang digunakan pada tahap Dekripsi disebut Kunci Dekripsi (Decryption

Key).

Enkripsi data adalah proses menyembunyikan suatu informasi dengan membuat

informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Data yang

dikirimkan melalui media elektronik adalah data rahasia hasil enkripsi. Data asli dapat

diketahui oleh penerima menggunakan kunci rahasia yang sudah ditentukan. Dengan

menggunakan enkripsi dan dekripsi, data yang diolah dapat dihindarkan dari campur

tangan pihak-pihak yang tidak berhak atas isi data tersebut[3].

Rangkaian bit bit plainteks pada block cipher dibagi menjadi blok-blok dengan

pangjang sama biasanya 64-bit. Skema proses enkripsi-dekripsi block cipher scara umum

ditunjukan pada Gambar 3. [5]

Gambar 3 Skema Proses Enkripsi-Dekripsi Block Cipher

Pada Gambar 3 dapat dijelaskan bahwa enkripsi dilakukan terhadap blok bit

plainteks menggunakan bit – bit kunci (yang ukurannya sama dengan bit – bit plainteks).

Algoritma enkripsi menghasilkan blok cipherteks yang berukuran sama dengan blok

plainteks, sedangkan dekripsi dilakukan dengan cara yang serupa seperti enkripsi.

Misalkan blok plainteks (P) yang berukuran m bit dinyatakan dalam vector

),,,,( 321 mppppP (1)

dimana pi adalah 0 atau 1 untuk i = 1, 2, 3, … , m dan blok cipherteks (C) adalah

(2)

yang dalam hal ini ci adalah 0 atau 1 untuk i = 1, 2, 3, … , m.

Berdasarkan pada persamaan 1, apabila m blok merupakan hasil pembagian dari bit

penyusun plainteks maka dapat dinyatakan sebagai

nPPP ,,, 21 (3)

mccccC ,,,, 321

Page 12: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

5

untuk setiap blok plainteks Pi, bit – bit penyusunnya dapat dinyatakan sebagai vector

(4)

Sehingga enkripsi dengan kunci K dinyatakan berturut – turut dengan persamaan

(5)

dimana (C) merupakan cipherteks hasil dari proses enkripsi (E) dengan kunci (K) terhadap

plainteks (P). sedangkan untuk dekripsi dapat dinyatakan dengan persamaan

(6)

Dimana proses dekripsi (D) dengan kunci (K) terhadap cipherteks (C) menghasilkan

plainteks (P) sehingga dapat dinyatakan bahwa fungsi E haruslah fungsi yang

berkoresponden satu-ke-satu.

(7)

Operasi biner yang sering digunakan dalam cipher yang beroperasi dalam mode bit

adalah XOR atau exclusive-or[7]. Operator XOR dioperasikan pada dua bit dengan aturan

sebagai berikut.

0 0 = 0

0 1 = 1

1 0 = 1

1 1 = 0

Sistem kriptografi (cryptosystem) adalah himpunan yang terdiri dari algoritma

kriptografi, semua plainteks dan cipherteks yang mungkin, dan kunci [7]. Sebuah

kriptografi dapat dikatakan sebagai sebuah sistem kriptografi jika memenuhi lima-tuple

(five-tuple)(P, C, K, E, D)yang memenuhi kondisi [10]:

1. adalah himpunan berhingga dari plainteks,

2. adalah himpunan berhingga dari cipherteks,

3. merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci,

4. Untuk setiap k K, terdapat aturan enkripsi ke E dan berkorespodensi dengan

aturan dekripsi kd D. Setiap P Cdan C Padalah fungsi sedemikian

hingga xxed kk untuk setiap plainteks x P.

Untuk mengetahui nilai keacakan hasil enkripsi yakni cipherteks dengan plainteks

menggunakan differensiasi data yang pengertiannya yakni perbandingan selisih antara dua

titik. Dalam kalkulus, metode ini sering disebut sebagai turunan atau kemeringan dari data.

Jika diberikan kumpulan data ((x1,y1), (x2,y2), (x3,y3), …, (xn,yn)) dengan syarat bahwa

xi<xi+1 dimana i = 1…n. Data-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 sebagai berikut

imiii pppP ,,, 21

CPEK )(

PCDK )(

DE 1

Page 13: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

6

Dy

Dx=

(yb - ya )

(xa - xb )(8)

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 di cari untuk melihat

tren dari setiap data Rataan diferensiasi (Rd) untuk melihat diberikan pada Persamaan (2).

(9)

3. Metode Penelitian

Pada perancangan kriptografi simetris ini dibutuhkan tahap-tahap dalam menyusunan

penelitian. Tahap-tahap yang dibutuhkan yaitu: (1) Pengumpulan Bahan, (2) Analisis

Kebutuhan, (3) Perancangan Kriptografi, (4) Uji Kriptografi, dan (5) Penulisan Laporan.

Gambar 4 Tahapan Penelitian

Tahapan penelitian pada Gambar 4 dapat dijelaskan sebagai berikut. Tahap pertama:

Pengumpulan Bahan, pengumpulan bahan berupa data-data yang terkait dan yang

mendukung dengan perancangan kriptografi block cipher berbasis pada langkah kaki kuda

sandelwood; Tahap kedua: Analisis Kebutuhan yang meliputi kebutuhan apa saja yang

diperlukan untuk menyelesaikan penelitian ini; Tahap ketiga: Perancangan Sistem, yaitu

meliputi bagan proses pembuatan Enkripsi-Dekripsi dalam perancangan kriptografi block

cipher secara umum; Tahap keempat: Uji Kriptografi, yaitu dilakukan pengujian terhadap

sistem yang dibangun dengan tujuan untuk mengetahui apakah program tersebut berjalan

sesuai seperti yang diharapkan; Tahap kelima: yaitu mendokumentasikan proses penelitian

yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan yang akan menjadi

laporan hasil penelitian.

Analisis Kebutuhan

Perancangan Kriptografi Symmetric

Symmetric

Uji Kriptografi

Penulisan Laporan

Pengumpulan Bahan

Page 14: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

7

Dalam perancangan ini dilakukan dua (2) proses yaitu proses pertama enkripsi dan

proses kedua dekripsi. Proses enkripsi pada perancangan kriptografi berbasis langkah kuda

sandelwood dilakukan dengan melakukan putaran sebanyak enam (6) kali ditunjukkan

dalam Gambar 5.

Gambar 5 Rancangan Diagram Proses Enkripsi

Gambar 5 merupakan proses enkripsi pada perancangan kriptografi block cipher

berbasis pada langkah kaki kuda sandelwood. Tahap persiapan dan langkah-langkah proses

enkripsi perancangan kriptografi block cipher, dijelaskan sebagai berikut :

a) Menyiapkan plainteks.

Plainteks yang akan dienkripsi.

b) Dalam rancangan diagram proses enkripsi memiliki rumus untuk menghasilkan

plainteks dan menghasilkan kunci simetris:

Plainteks 1 (P1) melakukan pengurutan dengan melakukan alur proses kuda

lari dan di XOR Kunci 1 (K1) menghasilkan Plainteks 2 (P2)

Plainteks 2 (P2) melakukan pengurutan dengan melakukan alur proses kuda

lari dan di XOR Kunci 2 (K2) menghasilkan Plainteks 3 (P3)

Plainteks 3 (P3) melakukan pengurutan dengan melakukan alur proses kuda

lari dan di XOR Kunci 3 (K3) menghasilkan Plainteks 4 (P4)

Plainteks 4 (P4) melakukan pengurutan dengan melakukan alur proses kuda

lari dan di XOR Kunci 4 (K4) menghasilkan Plainteks 5 (P5)

Plainteks 5 (P5) melakukan pengurutan dengan melakukan alur proses kuda

lari dan di XOR Kunci 5 (K5) menghasilkan Plainteks 6 (P6)

Plainteks 6 (P6) melakukan pengurutan dengan melakukan alur proses kuda

lari dan di XOR Kunci 6 (K6) menghasilkan Cipherteks (P)

Page 15: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

8

Kunci 1 sampai dengan kunci 6 dihasilkan dari hasil perputaran matriks

atau hasil acak dari masing-masing kunci secara berurutan dengan

menggunakan proses alur kuda jalan.

Setelah dilakukan proses enkripsi dengan 6 proses plainteks, maka selanjutnya proses

dekripsi akan ditunjukan pada Gambar 5.

Gambar 6 Rancangan Diagram Proses Dekripsi

Gambar 6 merupakan proses dekripsi pada perancangan kriptografi block cipher

berbasis pada langkah kaki kuda sandelwood. Tahap persiapan dan langkah-langkah proses

dekripsi perancangan kriptografi block cipher, dijelaskan sebagai berikut :

a) Menyiapkan plainteks.

Plainteks yang akan dienkripsi.

b) Dalam rancangan diagram proses enkripsi memiliki rumus untuk menghasilkan

plainteks dan menghasilkan kunci simetris:

Cipherteks (C) melakukan pengurutan dengan melakukan alur proses kuda

lari dan di XOR Kunci 6 (K6) menghasilkan cipherteks 5 (C5)

Cipherteks 5 (C5) melakukan pengurutan dengan melakukan alur proses

kuda lari dan di XOR Kunci 5 (K5) menghasilkan cipherteks 4 (C4)

Cipherteks 4 (C4) melakukan pengurutan dengan melakukan alur proses

kuda lari dan di XOR Kunci 4 (K4) menghasilkan cipherteks 3 (C3)

Cipherteks 3 (C3) melakukan pengurutan dengan melakukan alur proses

kuda lari dan di XOR Kunci 3 (K3) menghasilkan cipherteks 2 (C2)

Cipherteks 2 (C2) melakukan pengurutan dengan melakukan alur proses

kuda lari dan di XOR Kunci 2 (K2) menghasilkan cipherteks 1 (C1)

Cipherteks 1(C1) melakukan pengurutan dengan melakukan alur proses

kuda lari dan di XOR Kunci 1 (K1) menghasilkan Plainteks (P)

Page 16: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

9

Kunci 1 sampai dengan kunci 6 dihasilkan dari hasil perputaran matriks

atau hasil acak dari masing-masing kunci secara berurutan dengan

menggunakan proses alur kuda jalan.

Rancangan Algoritma Kuda Lari

Proses enkripsi dan dekripsi pada langkah kuda sandelwood dibuktikan dengan

menggunakan contoh plainteks “DUTABILI”, dengan kunci “ALZDANNY”. Proses ke

enam langkah kuda sandelwood akan dijelaskan pada penelitian ini. Masing-masing proses

memiliki pengacakan matriks yang berbeda. Contohnya W adalah plainteks dan U adalah

kunci, sehingga dapat dituliskan W ={w1,w2,w3…..wn}, n|8, n ∈ Z+

.

{ } { } { } .

.

{ }

Plainteks ”DUTABILI” akan diubah ke dalam biner:

D = 01000100 = { } U = 01010101 = { } T = 01010100 = { } A = 01000001 = { } B = 01000010 ={ } I = 01001001 ={ } L = 01001100 = { } I = 01001001 = { }

Gambar 7 Rancangan Pola Enkripsi dan Dekripsi Langkah Kuda Lari

Gambar 7 menjelaskan proses pemasukan bit ke matriks dan diurutkan dengan

proses pola kuda lari pada masing-masing putaran tetapi memiliki urutan yang berbeda.

Page 17: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

10

Pada proses ini memiliki proses pengacakan yang menghasilkan plainteks dengan

melakukan proses XOR pada plainteks dan kunci tiap-tiap putaran. Langkah awal proses

dimulai dari t7 dan t15 sebagai kaki depan dan diikuti t8 dan t16 sebagai kaki belakang

dengan melewati 2 blok bit sebagai penanda berwarna hijau.

4. Hasil dan pembahasan

Pada bentuk hasil dan pembahasan akan dibahas terlebih dahulu proses enkripsi dan

proses dekripsi secara umum. Proses enkripsi dan dekripsi pada algoritma ini akan

melakukan enam kali proses dari proses pengacakan langkah kuda sandelwood yang

berbeda-beda, dapat dilihat pada Gambar 7.

Gambar 8 Rancangan Proses Enkripsi Secara Umum

Gambar 8 menjelaskan proses enkripsi dari pesan yang telah diubah menjadi kode

ASCII dan dimasukan dari bit ke matriks yang telah disiapkan dengan menggunakan pola

Page 18: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

11

langkah kuda lari. Pada pengambilan kode ASCII ke bit telah dilakukan proses padding,

pada proses teks 1 dari matriks terdapat proses pengurutan yang akan menghasilkan

plainteks 1 (P1). Algoritma ini memiliki rumus sendiri untuk mendapatkan plainteks 2

sampai dengan plainteks 6. Pada proses enkripsi akan dilakukan proses padding sehingga

mendapatkan hasil penambahan byte.

Pada proses pengambilan ASCII dan BIT pada bagan di atas terdapat proses

padding atau proses penghapusan penambahan byte dilakukan dengan teknik ANSI X.239.

Berikut contoh koding.

Kode Program 1 Proses Padding dan Unpadding

1. public static byte[] padding(byte[] msg){

2. if(8<1 || 8>255)throw new IllegalArgumentException("block size harus 1 ->

255.");

3. int numberToPad = 8-msg.length%8;

4. byte[] paddedMsg = new byte[msg.length+numberToPad];

5. System.arraycopy(msg, 0, paddedMsg, 0, msg.length);

6. for(int i = msg.length; i<(paddedMsg.length-2);i++)

paddedMsg[i] = 00;

paddedMsg[paddedMsg.length-1] = (byte)numberToPad;

7. return paddedMsg;

8. }

9. public static byte[] unPadding(byte[] msg){

int numberOfPad = (msg[msg.length-1]+256)%256;

10. byte[] answer = new byte[msg.length-numberOfPad];

11. System.arraycopy(msg, 0, answer, 0, answer.length);

12. return answer;

13. }

Kode program 1 merupakan perintah proses penghapusan penambahan byte dengan teknik

ANSI X.923, dan proses penghapusan penambahan byte dengan teknik ANSI X.923. untuk

menghilangkan padding hanya melihat block terakhir dan juga menghapus padding untuk

menambahkan array.

Gambar 9 Rancangan Alur Pengambilan dan Pemasukan Bit Proses Enkripsi Plainteks 6

Gambar 9 diutarakan dengan pengambilan blok bit berwarna kuning sebagai

langkah awal atau kaki depan yang diikuti dengan blok bit t8 dan t16 sebagai kaki

belakang. Proses pemasukan dilakukan dengan t7 dan t15 dari bawah bagian tengah setelah

Page 19: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

12

itu diikuti t8 dan t16 secara berurutan naik keatas. Blok bit berwarna hitam dan putih

merupakan sisa blok bit dari pola langkah kuda.

Pemasukan bit ditunjukkan pada arah panah merah yang dimulai dari bawah kolom

u1 sampai pada kolom u8 dan dilanjutkan arah panah hijau yang dimulai dari bawah kolom

u9, seterusnya dilanjutkan sampai kolom u64. Pada Gambar 11 dan Gambar 12,

ditunjukkan masuk bit kunci menggunakan alur langkah kuda jalan.

Gambar 10 Alur Masuk Bit Kunci Gambar 11 Penerapan Alur Masuk Bit Kunci

Pemasukan bit ditunjukkan pada arah panah merah yang dimulai dari atas kolom u1

sampai pada kolom u8 dan dilanjutkan arah panah hijau yang dimulai dari bawah kolom

u9, seterusnya dilanjutkan sampai kolom u64. Pada Gambar 13 dan Gambar 14,

ditunjukkan masuk bit kunci menggunakan alur langkah kuda jalan.

Gambar 12 Alur Ambil Bit Kunci Gambar 13 Penerapan Alur Ambil Bit Kunci

NO PLAINTEKS 1-6 & HASIL

CIPHERTEKS

NILAI CIPHERTEKS PERUBAHAN KE-

HEXA

1 P1 (00001000 01011010

10001001 01001011

01010010 01011000

00010010 10010000)

8 90 137 75 82 88 18

144

08 5A 89 4B 52 58 12

90

2 P2 (11011010 01111001

01010011 11101010

01010010 10001101

218 121 83 234 82

141 12 253

DA 79 53 EA 52 8D

0C FD

Page 20: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

13

00001100 11111101)

3 P3 (00001010 11010011

00111101 01001101

11000111 11110110

11100000 00000011)

10 211 61 77 199 246

224 3

0A D3 3D 4D C7 F6

E0 03

4 P4 (10000010 00100110

01001100 10111100

11110101 01011111

10000111 11111010)

130 38 76 188 245 95

135 250

82 26 4C BC F5 5F

87 FA

5 P5 (11111001 11010010

10000000 10010100

01110100 00101110

10001011 11000101)

249 210 128 148 116

46 139 197

F9 D2 80 94 74 2E 8B

C5

6 P6 (01100001 11100000

10100001 10001011

00101000 10101100

10111010 11001101)

97 224 161 139 40

172 186 205

61 E0 A1 8B 28 AC

BA CD

7 C (11111011 10010010

11010011 00001001

00001010 11110110

10001000 01001111)

251 146 211 9 10 246

136 19

FB 92 D3 09 0A F6

88 4F

Tabel 1 Hasil Perubahan Nilai dari Plainteks ke Cipherteks dan Hasil Hexa

Aplikasi yang dibangun akan melakukan proses enkripsi dan dekripsi pada data teks,

setelah dimasukkan sejumlah karakter sebagai kunci dengan batasan 8 karakter maka

proses enkripsi akan ditampilkan pada output text, dan langsung dilakukan proses dekripsi

dari output text tadi.

Untuk menguji perancangan kriptografi simetris ini sebagai sebuah teknik

kriptografi, dilakukan proses enkripsi-dekripsi. Proses dilakukan sesuai dengan langkah-

langkah yang telah dilakukan pada perancangan.

Berikut adalah persiapan-persiapan sebelum melakukan proses enkripsi-dekripsi

dilakukan :

a) Plainteks yang digunakan adalah “DUTABILI”

b) Menyiapkan kunci yaitu “ALZDANNY”

Setelah Tahap persiapan selesai dilakukan, kemudian melakukan proses enkripsi –

dekripsi.

a) Kembali pada proses enkripsi dari plainteks dan kunci tadi maka akan

menghasilkan nilai hexa “FB92D3090AF6884F”

b) Setelah menghasilkan hasil cipherteks, maka aplikasi akan menampilkan

lamanya proses enkripsi “0.000148472” detik.

c) Setelah menghasilkan hasil cipherteks, juga akan menampilkan perbedaan byte

sebanyak 8 byte.

Setelah cipherteks diketahui, maka selanjutnya adalah melakukan proses dekripsi,

hasil cipherteks yang didapatkan merupakan nilai hexa sebab kombinasi angka hexa terdari

Page 21: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

14

dari 1-9 karakter numerik dan A-F karakter aplhabet. Proses yang dilakukan sesuai dengan

langkah-langkah yang sudah dijelaskan pada tahap perancangan.

a) Cipherteks yang diperoleh pada proses enkripsi yaitu

" FB92D3090AF6884F "

b) Hasil dari cipherteks kemudian dimasukan ke dalam input text dan melakukan proses

dekripsi maka menghasilkan “DUTABILI”

c) Lamanya proses dekripsi yaitu “0.00013677” detik, dan perbedaan byte yaitu 8 b

Gambar 14 Tampilan Proses Enkripsi Gambar 15 Tampilan Proses Dekripsi

Gambar 14 dan Gambar 15 menjelaskan tampilan proses enkripsi dam proses

dekripsi dari text dan kunci tadi. Untuk memperoleh cipherteks maka harus diinputkan

plainteks serta kunci yang sudah ditentukan pada input teks. Dimana cipherteks yang

dihasilkan dari proses enkripsi digunakan dalam proses dekripsi untuk mengembalikan

pesan ke bentuk awal dengan memilih dekripsi agar diproses untuk memperoleh plainteks

kembali. Algoritma ini akan diuji menggunakan nilai waktu (Ms) dan memory (byte)

sehingga dapat melihat perbandingan pada hasil uji ini.

Kode Program 2 Proses Enkripsi

1. public static long enkripsi(long src, long key) throws

UnsupportedEncodingException{

2. byte[][] map = new byte[][] { enkripsi_ProsesTeks1,

enkripsi_ProsesTeks2,enkripsi_ProsesTeks3,enkripsi_ProsesTeks4,enkripsi_Pros

esTeks5,enkripsi_ProsesTeks6 };

3. for(int i=0; i<map.length; i++){

a. src = jalankan(Ambil, src);

src = jalankan(map[i], src);

key = jalankan(enkripsi_ProsesKey, key);

src = src^key;

4. }

5. return src;

6. }

Kode program 2 merupakan perintah untuk proses enkripsi.

Page 22: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

15

Kode Program 3 Proses Dekripsi

1. public static long dekripsi(long src, long key) throws

UnsupportedEncodingException{

2. byte[][] map = new byte[][] { dekripsi_ProsesTeks6, dekripsi_ProsesTeks5,

dekripsi_ProsesTeks4, dekripsi_ProsesTeks3, dekripsi_ProsesTeks2,

dekripsi_ProsesTeks1 };

3. for(int i=0;i<map.length;i++){

4. key = jalankan(enkripsi_ProsesKey, key);

5. }

6. for(int i=0; i<map.length; i++){

src = src^key;

key = jalankan(dekripsi_ProsesKey, key);

src = jalankan(map[i], src);

src = jalankan(Ambil, src);

7. }

8. return src;

9. }

Kode program 3 merupakan perintah untuk proses dekripsi.

Gambar 16 Grafik Perbandingan Waktu Enkripsi AES-128 dan KS (Kuda Sandelwood)

Pada Gambar 16 dapat dilihat bahwa waktu yang dihasilkan AES-128 dan KS

memberikan perbandingan dengan mendapatkan hasil waktu AES-128 lebih besar dari

waktu KS. Waktu yang dihasilkan KS berbanding lurus ke atas dikarenakan waktu yang

dihasilkan lebih cepat ketika semakin banyaknya karakter dimasukkan. Pada perbandingan

waktu AES-128 memiliki nilai rata-rata 3.0496286 dan nilai rata-rata KS yaitu sebesar

1.5410333.

0

2

4

6

8

W-AES

W-KS

Page 23: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

16

Gambar 17 Grafik Perbandingan Waktu Dekripsi AES-128 dan KS (Kuda Sandelwood)

Pada Gambar 17 dapat dilihat bahwa waktu dekripsi yang dihasilkan AES-128 dan

KS memberikan perbandingan dengan mendapatkan hasil waktu AES-128 lebih besar dari

waktu KS. Waktu yang dihasilkan lebih cepat ketika semakin banyaknya karakter

dimasukkan. Pada perbandingan waktu AES-128 memiliki nilai rata-rata 2.5210951 dan

nilai rata-rata KS yaitu sebesar 2.3165667.

Gambar 18 Grafik Perbandingan Memori Enkripsi AES-128 dan KS (Kuda Sandelwood)

Gambar 18 menunjukan kebutuhan memori terhadap karakter dalam proses

enkripsi pada kriptografi AES-128 dan KS sama-sama berbanding lurus. Artinya jika

semakin banyak karakter yang diinput maka semakin banyak pula memori yang

dibutuhkan untuk melakukan proses enkripsi. Analisis yang dapat dilakukan terhadap

grafik pada Gambar 14 secara detail adalah perbedaan memori yang diperlukan kedua

kriptografi. AES-128 membutuhkan memori lebih besar dari KS. Dikarenakan hal ini

selaras dengan rancangan algoritma AES-128 memiliki 10 putaran sedangkan KS

mempunyai paling sedikit 6 proses putaran. Pada perbandingan ini nilai rata-rata pada

memori AES-128 yaitu 532.26667 sedangkan nilai rata-rata memori KS yaitu 498.13333.

-2

0

2

4

6

8

W-AES

W-KS

0

200

400

600

800

1000

1200

1

69

137

205

273

341

409

477

545

613

681

749

817

885

953

M-AES

M-KS

Page 24: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

17

Gambar 19 Grafik Perbandingan Memori Dekripsi AES-128 dan KS (Kuda Sandelwood)

Gambar 19 menunjukan kebutuhan memori terhadap karakter dalam proses

enkripsi pada kriptografi AES-128 dan KS sama-sama berbanding lurus. Artinya jika

semakin banyak karakter yang diinput maka semakin banyak pula memori yang

dibutuhkan untuk melakukan proses dekripsi. Analisis yang dapat dilakukan terhadap

grafik ini secara detail adalah perbedaan memori yang diperlukan kedua kriptografi. AES-

128 membutuhkan memori lebih besar dari KS. Dikarenakan hal ini selaras dengan

rancangan algoritma AES-128 memiliki 10 putaran sedangkan KS mempunyai paling

sedikit 6 proses putaran. Pada perbandingan ini nilai rata-rata pada memori AES-128 yaitu

564.43333 sedangkan nilai rata-rata memori KS yaitu 498.13333.

5. Simpulan

Rancangan algoritma yang berbasis pada langkah kuda sandelwood dapat

diimplementasikan manjadi kriptografi block cipher yang telah memenuhi 5-tuple.

Rancangan kriptografi menjadi sebuah aplikasi yang dapat mengotomatisasi proses

perancangan kriptografi dengan inputan karakter sebagai plainteks. Aplikasi kriptografi

yang dirancang memerlukan rata-rata waktu sebanyak 0.34343 ms untuk proses enkripsi

dengan interval banyak karakter 1-10000, sedangkan proses dekripsi dengan interval yang

sama diperoleh waktu 0.1231231. Hasil perbandingan dengan AES, rancangan berbasis

langkah kuda lebih cepat 0.94869906 ms, sedangkan pada proses dekripsi 0.73215122 ms.

6. Daftar Pustaka

[1] Sabriyanto, & Virgono, A, 2008. Analisis Perbandingan Performansi Algoritma

Camellia dan AES (Advanced Encryption Standard) pada Block Cipher. Institut

Teknologi Bandung.

[2] Setiawan, A. S & Wowor, A. D, 2015. Perancangan Algoritma pada Kriptografi

Block Cipher dengan Teknik Langkah Kuda Dalam Permainan Catur. Salatiga:Jurnal

Setisi Universitas Kristen Satya Wacana.

[3] Gomies, F. E & Wowor, A. D, 2013. Perancangan Kriptografi Kunci Simetris

Menggunakan Fungsi Bessel dan Fungsi Legendre. Salatiga:Skripsi-S1 Sarjana

Universitas Kristen Satya Wacana.

[4] Munir, Rinaldi, 2006. Kriptografi, Bandung: Informatika.

0

200

400

600

800

1000

1200

1

69

137

205

273

341

409

477

545

613

681

749

817

885

953

M-AES

M-KS

Page 25: Perancangan Kriptografi Block Cipher dengan Langkah Kudarepository.uksw.edu/bitstream/123456789/15132/2/T1_672010108_Full... · Keduanya langkah ini menghasilkan tapak ... mendukung

18

[5] Setiawan, A. N & Wowow, A. D, 2015. Perancangan Algoritma pada Kriptografi

Block Cipher dengan Teknik Langkah Kuda dalam Permainan Catur. Salatiga:Jurnal

Setisi Universitas Kristen Satya Wacana.

[6] Wowor, Alz Danny, 2013, Modifikasi Kriptografi Hill Cipher Menggunakan Convert

Between Base, Universitas Kristen Satya Wacana.

[7] Widyaningrum, F & Suharsono, A & Henryranu, B. P, 2006. Implementasi dan

Analisis Aplikasi Transfer File Antar PC Menggunakan Algoritma RC4 128 Bit dan

AES 128 Bit. Institut Teknologi Bandung

[8] Van, C. A & Henk, 2002. Fundamentals of Cryptology. Kluwer Academic Publishers.

[9] Yin, Lisa Y, 2000. A Note on the Block Cipher Camellia. NTT Multimedia

Communication Laboratories Japan.

[10] J. Daemen and V. Rjimen, "AES Proposal: Rijndael", First Advanced Encryption

Standard (AES) Conference, California, Aug. 1998.