• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher dengan Langkah Kuda

N/A
N/A
Protected

Academic year: 2018

Membagikan "Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher dengan Langkah Kuda"

Copied!
25
0
0

Teks penuh

(1)

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 Teknol

o

gi Informasi

Universitas Kristen Satya Wacana

(2)

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 Teknol

o

gi Informasi

Universitas Kristen Satya Wacana

(3)
(4)
(5)
(6)
(7)
(8)

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) 672010108@student.uksw.edu,2) ineke.pakereng@staff.uksw.edu, 3)

alzdanny.wowor@staff.uksw.edu

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 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

(9)

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.

(10)

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]

Gambar2 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

(11)

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

)

Berdasarkan pada persamaan 1, apabila m blok merupakan hasil pembagian dari bit penyusun plainteks maka dapat dinyatakan sebagai

P1,P2,,Pn

(3)

(12)

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 kK, terdapat aturan enkripsi ekE dan berkorespodensi dengan

aturan dekripsidkD. Setiap P Cdan C Padalah fungsi sedemikian

hinggadk

ek

 

x

x 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

(13)

6 D y

D x =

(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

Uji Kriptografi

(14)

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)

(15)

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.

Gambar6 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

(16)

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 = { }

Gambar7 Rancangan Pola Enkripsi dan Dekripsi Langkah Kuda Lari

(17)

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.

Gambar8 Rancangan Proses Enkripsi Secara Umum

(18)

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.

Gambar9 Rancangan Alur Pengambilan dan Pemasukan Bit Proses Enkripsi Plainteks 6

(19)

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.

Gambar10 Alur Masuk Bit Kunci Gambar11 PenerapanAlur 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.

Gambar12 Alur Ambil Bit Kunci Gambar13 PenerapanAlur 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

(20)

13

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.

(21)

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

Gambar14 Tampilan Proses Enkripsi Gambar15 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. }

(22)

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.

Gambar16 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

(23)

16

Gambar17 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.

Gambar18 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.

(24)

17

Gambar19 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.

(25)

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.

Gambar

Gambar 1 dan Gambar 2.
Gambar 3   Skema Proses Enkripsi-Dekripsi Block Cipher
Gambar 4 Tahapan Penelitian
Gambar 5 Rancangan Diagram Proses Enkripsi
+7

Referensi

Dokumen terkait

Berbeda dengan gurunya al-Shâdhilî yang tidak pernah merasa keberatan untuk berhubungan dengan para pejabat negara pada masanya jika ia merasa ada alasan yang

Haji kali ini, dan terakhirnya ini, kemudian mengantarkan dia pada puncak perjalanan spiritual yang diidamkannya, dia merasa tidak punya batas lagi dengan Allah swt..

PENERAPAN STRATEGI WRITING TO LEARN UNTUK MENINGKATKAN KEMAMPUAN KOGNITIF SISWA SMA PADA MATERI GERAK LURUS!. Universitas Pendidikan Indonesia | repository.upi.edu |

[r]

Yang dimaksud dengan kegiatan kunjungan rumah adalah semua kegiatan yang dilakukan untuk tindakan lanjut kegiatan jenis pelayanan : penyakit dalam, kesehatan anak (Termasuk.

Hasil penelitian menunjukkan 6 sampel dari 15 sampel sirup merah yang dijual di Banjarmasin Utara mengandung pemanis siklamat.. Hasil tersebut tidak melebihi ambang batas

Hasil analisis variabel secara individual dengan menggunakan regresi linear berganda maka diketahui bahwa Debt to Equity Ratio berpengaruh negatif dan tidak signifikan

(3) Tahap Analisis dan Interpretasi. Pada tahap ini, model harapan ideal yang telah divalidasikan, diinterpretasikan berdasarkan kerangka teoritik, norma-norma praktis yang