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

  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 ogi Informasi Universitas Kristen Satya Wacana Salatiga Mei 2015

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

  Universitas Kristen Satya Wacana Salatiga Mei 2015

  

Perancangan Kriptografi Block Cipher dengan

1) 2) 3)

Langkah Kuda

Duta Dairo Bili, Magdalena A. Ineke Pakereng, Alz Danny Wowor

  

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

1) 2) , 3)

Jl. Diponegoro 52-60, Salatiga 50771, Indonesia

Email: [email protected],

  [email protected]

  

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

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

  Plaintext Ciphertext Encryption

Gambar 1 Proses Enkripsi [4]

  Ciphertext Plaintext

Decryption

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.

   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

  P p p p p  

  (1)

  ( , , , , ) 1 2 3 m

  dimana p

  

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

  

  Cc , c , c , , cm1 2 3

  (2) yang dalam hal ini c adalah 0 atau 1 untuk i i = 1, 2, 3, … , m. Berdasarkan pada persamaan 1, apabila m blok merupakan hasil pembagian dari bit penyusun plainteks maka dapat dinyatakan sebagai

  P PP

  (3)

   , , ,  1 2 n untuk setiap blok plainteks P i , bit

  • – bit penyusunnya dapat dinyatakan sebagai vector 

  Pp , p , , p ii i im 1 2

  (4) Sehingga enkripsi dengan kunci K dinyatakan berturut

  • – turut dengan persamaan

  (5)

  E ( P )  C K

  dimana (C) merupakan cipherteks hasil dari proses enkripsi (E) dengan kunci (K) terhadap plainteks (P). sedangkan untuk dekripsi dapat dinyatakan dengan persamaan (6)

  D ( C )  P K

  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.

  1

  (7)

  ED

  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,

  k K, eE

  4. terdapat aturan enkripsi dan berkorespodensi dengan Untuk setiap  k

  dD.

  aturan dekripsi Setiap k P Cdan C Padalah fungsi sedemikian

   hingga de   xx untuk setiap plainteks xP . k k

  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 ((x 1 ,y 1 ), (x 2 ,y 2 ), (x 3 ,y 3 ), n ,y n )) dengan syarat bahwa

  …, (x

  x i <x i dimana i =

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

  D

  • y y

  (y ) b a

  = (8)

  D (x ) a b

  • x x

  dengan (x a , y a ) sebagai titik pertama, dan titik berikutnya adalah (x b , y b ). Apabila terdapat n data maka untuk menentukan rata-rata dari diferensiasi data dapat di cari untuk melihat tren dari setiap data Rataan diferensiasi (R ) untuk melihat diberikan pada Persamaan (2). d

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

  Pengumpulan Bahan Analisis Kebutuhan Perancangan Kriptografi Symmetric Uji Kriptografi 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.

  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)

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

   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 ={w ,w ,w }, n|8, n .

  1

  2 3 …..w n

  ∈ Z { }

  { } { } .

  .

  } {

  P lainteks ”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. 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 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 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 NILAI CIPHERTEKS PERUBAHAN KE- CIPHERTEKS HEXA

  1 P1 (00001000 01011010 8 90 137 75 82 88 18 08 5A 89 4B 52 58 12 10001001 01001011 144 90 01010010 01011000

  00010010 10010000)

  2 P2 (11011010 01111001 218 121 83 234 82 DA 79 53 EA 52 8D 01010011 11101010 141 12 253

  0C FD 01010010 10001101

  00001100 11111101)

  3 P3 (00001010 11010011 10 211 61 77 199 246

  0A D3 3D 4D C7 F6 00111101 01001101 224 3 E0 03 11000111 11110110 11100000 00000011)

  4 P4 (10000010 00100110 130 38 76 188 245 95 82 26 4C BC F5 5F 01001100 10111100 135 250

  87 FA 11110101 01011111 10000111 11111010)

  5 P5 (11111001 11010010 249 210 128 148 116 F9 D2 80 94 74 2E 8B 10000000 10010100 46 139 197 C5 01110100 00101110 10001011 11000101)

  6 P6 (01100001 11100000 97 224 161 139 40

  61 E0 A1 8B 28 AC 10100001 10001011 172 186 205 BA CD 00101000 10101100 10111010 11001101)

  7 C (11111011 10010010 251 146 211 9 10 246 FB 92 D3 09 0A F6 11010011 00001001 136 19 88 4F 00001010 11110110 10001000 01001111)

  

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 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. static long enkripsi(long src, long key) throws public

  UnsupportedEncodingException{ 2. map = new byte[][] { enkripsi_ProsesTeks1, byte[][] 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.

  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. 2 4 6 8 W-AES W-KS

  8 2 W-KS W-AES

  4 6

  • 2

  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. 1000 1200

  400 800 600 M-AES M-KS 200 1 69 7 13 5 20 27 3 1 34 40 9

7

47

54 5 3 61 68 1 74 9 81 7 88 5 95 3 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.

  1000 1200 800 200 400 600 M-KS M-AES

  1 69 7 13 5 20 27 3 34 1 9 40 7 47 5 54 3 61 1 68 9 74 81 7 88 5 95 3 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.

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

Dokumen yang terkait

Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Metode Weighted Product (WP) untuk Rekomendasi Pembelian Kamera

0 0 26

Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman Data File pada Client – Server Berbasis Algoritma Block Cipher menggunakan Teknik Transposisi dengan Prinsip One Time Pad (OTP)

0 0 28

Institutional Repository | Satya Wacana Christian University: Ekstraksi, Karakterisasi, dan Pemurnian Minyak Biji Gambas (Luffa acutangula Linn.) = Extraction, Characterization, and Purification of Ridge Gourd Seed Oil (Luffa acutangula Linn.)

0 0 20

Institutional Repository | Satya Wacana Christian University: Pengaruh Nisbah Pelarut dan Lama Waktu Ekstraksi terhadap Rendemen, Sifat Fisiko-Kimiawi, dan Komponen Penyusun Minyak Kuning Telur = The Effect of Solvent Ratio and Extraction Time on the Yiel

0 0 20

Karakteristik Isoterm Sorpsi Air dari Kerupuk Kedelai (Moisture Sorption Isotherm Characteristic of Soy Crackers) Oleh : Maulina Putri Nor Azizah 652013035 TUGAS AKHIR - Institutional Repository | Satya Wacana Christian University: Karakteristik Isoterm S

0 3 31

Institutional Repository | Satya Wacana Christian University: Pemanfaatan Sistem Informasi Geografis Pemetaan Tanaman pada Balai Taman Nasional Gn. Merbabu Desa Tajuk Berbasis Web (Studi Kasus :Komunitas TUK(Tanam Untuk Kehidupan))

0 1 26

Institutional Repository | Satya Wacana Christian University: Studi Kinetika Hidrolisis Asam Amilosa dan Amilopektin pada Tepung Mocaf Terasetilasi = Kinetic Study of Acid Hydrolysis of Amylose and Amylopectin from Acetylated Mocaf Flour

0 0 24

Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Manajemen Bandwidth dengan PCQ (Per Connection Queue) Meggunakan Metode HTB di Kantor Dinas Pendidikan (Studi kasus : Kantor Dinas Pendidikan Kota Salatiga)

0 0 22

Institutional Repository | Satya Wacana Christian University: Karakteristik Isoterm Sorpsi Air pada Tepung Ubi Jalar Terfermentasi dengan Angkak = Water Sorption Isotherm Characteristics of Fermented Sweet Potato Flour with Red Yeast Rice

0 6 28

Institutional Repository | Satya Wacana Christian University: Isolasi dan Deteksi Komponen Kimia Hasil Pemurnian Minyak Tempe Busuk = Isolation and Chemical Component’s Detection of Purified Overripe Tempe Oil

0 0 31