Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher 64 bit Berbasis Pola Ekor Burung Murai Batu

  Perancangan Kriptografi Block Cipher 64 bit Berbasis Pola Ekor Burung Murai Batu Artikel Ilmiah Peneliti : Dewi Ryandita (672013155) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga September 2017

  Perancangan Kriptografi Block Cipher 64 bit Berbasis Pola Ekor Burung Murai Batu Artikel Ilmiah Diajukan Kepada Fakultas Teknologi Informasi Untuk Memperoleh Gelar Sarjana Komputer Peneliti : Dewi Ryandita (672013155) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga September 2017

  Perancangan Kriptografi Block Cipher 64 bit

Berbasis Pola Ekor Burung Murai Batu

1 2 Dewi Ryandita , Magdalena A. Ineke Pakereng

  

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

1 2 E-mail: 672013155@student.uksw.edu , ineke.pakereng@staff.uksw.edu

  

Abstract

Cryptography is the science and art of keeping secrecy. To improve the security level then

cryptography needs to be developed. In this research designed Block Cipher Cryptography

64 bit Based Pattern of Stone Mermaid Tail to create new cryptography. Cryptography is

designed using 4 processes, 24 combinations which then the result of the lowest correlation

value is used to create encryption and decryption where each round there are 4 processes

for plaintext process and key process, where process 3 and 4 is transformed using table S-

Box to get more random Ciphertext. Testing is also done using Avalanche Effect and

Correlation value where the character change reaches 50,625%, so it can be used as

alternative in securing data.

  

Keywords:Cryptography, Block Cipher, Tailed Pattern of Stone Mermaid, Correlation, S-

Box, Avalanche Effect.

  

Abstrak

Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan. Untuk meningkatkan tingkat

keamanannya maka kriptografi perlu dikembangkan. Dalam penelitian ini dirancang

Kriptografi Block Cipher 64 bit Berbasis Pola Ekor Burung Murai Batu untuk membuat

kriptografi baru. Kriptografi ini dirancang menggunakan 4 proses, 24 kombinasi yang

kemudian hasil dari nilai korelasi terendah digunakan untuk membuat enkripsi dan dekripsi

dimana setiap putaran terdapat 4 proses untuk proses plaintext maupun proses kunci,

dimana proses ke 3 dan ke 4 ditransformasikan menggunakan tabel S-Box untuk

mendapatkan Ciphertext yang lebih acak. Pengujianjuga dilakukan menggunakan

Avalanche Effect dan nilai Korelasi dimana terjadi perubahan karakter mencapai 50,625%,

sehingga dapat digunakan sebagai alternatif dalam mengamankan data.

  

Kata Kunci : Kriptografi, Block Cipher, Pola Ekor Burung Murai Batu, Korelasi, S-Box,

Avalanche Effect .

  1)

Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi,

2) Universitas Kristen Satya Wacana.

  Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.

  1. Pendahuluan

  Penggunaan perangkat teknologi saat ini bisa dikatakan wajib mengingat kecepatan waktu merupakan tujuan utama baik dalam hal berkomunikasi atau berbagi informasi mulai dari yang sifatnya rahasia maupun yang sifatnya umum. Seiring dengan kemajuan tersebut tingkat kejahatan di era teknologi juga semakin meningkat dan berkembang, sehingga sangat perlu diperhatikan lagi segi keamanannya pada saat melakukan komunikasi atau hal-hal lain terutama yang bersifat rahasia.Meskipun tidak mungkin membuat keamanan yang sempurna setidaknya dapat dibuat serumit dan sesulit mungkin. Salah satu cara untuk meningkatkan keamanan terhadap data atau file yaitu dengan menggunakan metode kriptografi.Kriptografi berguna untuk membuat pesan atau informasi yang jelas(plaintext) menjadi pesan atau informasi yang tidak dapat dimengerti(chipertext). Kriptografi yang digunakan dalam penelitian ini bersifat simetris dengan menggunakan satu kunci untuk proses enkripsi dan dekripsi, digunakan kriptografi simetris karena tidak membutuhkan proses komputasi yang rumit untuk proses enkripsi dan dekripsi.

  Algoritma pada perancangan kriptografi dalam penelitian ini adalah algoritma berbasis Block Cipher 64 bit dengan pola ekor burung murai batu yang dikombinasikan dengan tabel substitusi atau S-Box. Block Cipher adalah algoritma enkripsi yang membagi plaintext yang akan dikirimkan dengan jumlah bit tertentu (block), dan setiap block akan dienkripsi dengan proses yang sama untuk menghasilkan ciphertext. Sedangkan pola ekor burung murai batu digunakan sebagai pola pengambilan bit, pola pemasukan bit dibuat secara vertikal dan horisontal.Pola ekor burung murai batu digunakan sebagai pola dalam pengambilan bit karena memiliki bentuk yang unik sehingga menambah keacakan

  

plaintext .Plaintext akan dimasukkan ke dalam blok-blok dimana setiap blok

  berjumlah 64 bit,terdapat 24 putaran kombinasi dan 20 putaran enkripsi dan dekripsi dimana setiap putaran terdapat 4 proses untuk proses plaintext maupun proses kunci (key). Hasil dari proses plaintext akan di-XOR dengan kunci untuk menghasilkan Ciphertext yang kemudian byte-nya akan dikombinasikan dengan S-

  

Box untuk menghasilkan Avalanche Effect yang besar. S-Boxyang digunakan

dalam penelitian ini adalah S-Box algoritma AES (Advanced Encryption Standard).

  Berdasarkan latar belakang masalah maka dilakukan penelitian yang membahas tentang perancangan Kriptografi Block Cipher 64 bitBerbasis Pola Ekor Burung Murai Batu.

  2. Tinjauan Pustaka

  Penelitian yang membahas perancangan kriptografi block ciphertelah banyak dilakukan. Penelitian pertama adalahKriptografi Block Cipher 256 Bit Berbasis Pola Teknik Tarian Dansa Tali,membahas tentang perancangan kriptografi block cipher yang menghasilkan Ciphertext yang acak. Kriptografi

  

Block Cipher 256 Bit ini memiliki 5 (lima) putaran proses enkripsi dimana hasil

  dari proses ke-2 dan ke-3 ditransformasi menggunakan tabel substitusi S-Box sehingga menghasilkan Ciphertext yang lebih acak pada pengujianAvalanche Effect yang sudah mencapai 50%sehingga dapat digunakan sebagai alternatif dalam pengamanan data[1].

  Penelitian kedua adalah Perancangan Kriptografi Block Cipher Berbasis Pola Ikan Berenang,membahas tentang algoritma yang dikembangkan berdasarkan prinsip block cipher dengan ukuran blok 64 bit. Penelitian ini membuat kriptografi baru dengan prinsip kriptografi yaitu kotak – s, iterated cipherdan jaringan feistel. 4 proses yang diulang sebanyak 15 kali memberikan hasil yang paling efektif dari 20 putaran.Pengujian dalam penelitian ini menggunakan avalanche effect dan nilai

  • – korelasi. Hasil yang diperoleh dari penelitian ini bahwa penggunaan proses kotak s, iterated cipher dan jaringan feistel menghasilkan rata
  • –rata 43% dan korelasi dari 15 putaran menghasilkan nilai 0.21708[2].

  Penelitian ketiga adalahPerancangan Kriptografi Block Cipher 64 byte

  • Berbasis Pola LaunchpadThe Chainsmokers - Closer (Launchpad Pro Cover)

  

YouTube ,membahas tentang perancangan algoritma kriptografi Block Cipher 64

byte. Penelitian ini melakukan 24 proses kombinasi menghasilkan hasil korelasi

  yang terendah akan dilanjutkan ke proses 20 putaran enkripsi dan 20 putaran deskripsi. Algoritma ini mengacu pada prinsip-prinsip kriptografi dengan mengimplementasi operasi tranposisi, jaringan feistel dan substitusi tabel S-Box. Pengujian dilakukan dengan Avalanche Effect yang sudah mencapai 49,53125% dan korelasi dari 20 putaran menghasilkan nilai -0,035714691[3].

  Penelitian-penelitian yang sudah ada terkait perancangan algoritmakriptografi simetris block cipher menjadi acuan dalam membentuk ide untuk merancang penelitian baru tentang perancangan Kriptografi Block Cipher 64

  

bit Berbasis Pola Ekor Burung Murai Batu. Pada penelitian ini dilakukan proses

  kombinasi pola24putaran, setelah mendapatkan kombinasi pola dengannilai korelasi terendah maka kombinasi pola tersebut digunakan dalam proses 20 putaran enkripsi dan dekripsi dimana setiap putaran terdapat 4 proses untuk proses plaintext maupun proses kunci (key). Hasil dari proses plaintext akan di-XOR dengan kunci untuk menghasilkan Ciphertext yang kemudian byte-nya akan dikombinasikan dengan S-Box untuk menghasilkan Avalanche Effect yang besar.S-Boxyang digunakan dalam penelitian ini adalah S-Box algoritma AES (Advanced Encryption Standard ).

  Skema proses enkripsi dan dekripsi block cipher secara umum ditunjukkan pada Gambar 1.

  Gambar 1 Skema Proses Enkripsi-Dekripsi Pada Block Cipher [4]

  Misalkan blok plaintext (P) yang berukuran n bit

  P p , p , , p  

  (1)

   

  1 2 n

  Blok ciphertext (C) maka blok C adalah

  Cc , c , , c

  (2)

   

  1 2 n

  Kunci (K) maka kunci adalah

  Kk , k ,  , k  

  (3)

  1 2 n

  Sehingga proses enkripsi adalah

  E PC  

  (4)

  k

  Proses dekripsi adalah

  D C P

    (C) = P

  (5)

  k

  Sebuah kriptografi dapat dikatakan sebagai suatu teknik kriptografi, harus melalui uji kriptosistem terlebih dahulu yaitu diuji dengan metode Stinson. Sebuah sistem akan dikatakan sebagai sistem kriptografi jika memenuhi 5 (lima)-tuple (Five tuple)[5]: 1.

   P adalah himpunan berhingga dari plaintext, 2. C adalah himpunan berhingga dari ciphertext, 3.

cK merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci,

  

4. , terdapat aturan enkripsi dan berkorespodensi dengan

Untuk setiap

  aturan dekripsi Setiap dan adalah fungsi

  . ∶ ⟶ ∶ ⟶

  sedemikian hingga untuk setiap plaintext

  ( )) = ( .

  Untuk menguji nilai algoritma yang dirancang memiliki hasil ciphertext yang acak dari plaintext maka digunakan Persamaan 6, dimana variable X merupakan plaintext dan Y merupakan ciphertext. nΣxy – (Σx) (Σy)

  (6)

  = {nΣx² – (Σx)²} {nΣy² – ( Σy )²}

  √

  Dimana: n = Banyaknya pasangan data X dan Y Σx = Total jumlah dari variabel X Σy = Total jumlah dari variabel Y

  2

  = Kuadrat dari total jumlah variabel X Σx

  2

  = Kuadrat dari total jumlah variabel Y Σy Σxy = Hasil perkalian dari total jumlah variabel X dan variabelY

  Untuk memudahkan menentukan kuat lemahnya hubungan antara variabel yang diuji maka dapat digunakan Tabel 1 [6].

  

Tabel 1 Klasifikasi Koefisien Korelasi [6]

Interval Koefisien Tingkat Hubungan

0,00 Sangat Rendah

  • – 0,199

  Rendah 0,20 – 0,399

0,40 Sedang

  • – 0,599 0,60

  Kuat

  • – 0,799

  Sangat Kuat 0,80 – 1,000

  Tahapan Penelitian yang digunakan dalam penelitian ini dapat dibagi ke dalam 5 (lima) tahapan yaitu: (1) tahap identifikasi masalah, (2) tahap pengumpulan data, (3) tahap perancangan kriptografi, (4) tahap pengujian kriptografi, (5) tahap penulisan artikel.

  Identifikasi Masalah Pengumpulan Data Perancangan Kriptografi Pengujian Kriptografi Penulisan Artikel

Gambar 2 Tahapan Penelitian

  Tahapan Penelitian pada Gambar 2, dapat dijelaskan sebagai berikut; Tahap

  

Identifikasi Masalah : Pada tahapan ini dilakukan analisis terhadap permasalahan

  yang ada, terkait dengan proses perancangan Kriptografi Block Cipher 64

  

bit Berbasis Pola Ekor Burung Murai Batu. Tahap Pengumpulan Data : Dalam

  tahapan ini dilakukan pengumpulan data serta sumber mengenai pembahasan terkait penelitian tersebut.Tahap Perancangan Kriptografi : Pada tahap ini akan dilakukan perancangan Kriptografi Block Cipher 64 bitBerbasis Pola Ekor Burung Murai Batu.Untuk pembuatan kunci, proses enkripsi dan proses dekripsi dikombinasikan dengan XOR, kemudian hasil dari XOR tersebut dikombinasikan dengan tabel S-Box.Tahap Pengujian Kriptografi : Pada tahap ini dilakukan pengujian terhadap kriptografi yang telah dibuat. Pengujian proses 24 kombinasi yang akan menghasilkan nilai korelasi terendah,kemudian dilakukan proses enkripsi dan dekripsi,yang terakhir yaitu mencari avalanche effect terbesar.

  

Penulisan Artikel Ilmiah : Dalam tahap terakhir ini dilakukan penulisan artikel

  mengenai prosesPerancangan Kriptografi BlockChiper 64 bit berbasis Pola Ekor Burung Murai Batu.

  Dalam perancangan kriptografi block cipher 64 bit menggunakan pola ekor burung murai batu ini dilakukan dua proses yaitu proses enkripsi dan proses dekripsi. Enkripsi dan dekripsi itu sendiri dilakukan dalam 20 putaran yang di setiap putarannya terdapat 4 proses.

  Gambar 3 merupakan rancangan alur proses enkripsi. Langkah-langkah alur proses enkripsi dapat dijabarkan sebagai berikut: a) Menyiapkan plaintext;

  b) Mengubah plaintext menjadi biner sesuai dalam tabel ASCII,

  c) Dalam rancangan enkripsi plaintext dan kunci akan melewati empat proses pada setiap putaran;Putaran pertama Plaintext 1 (P1) melakukan transformasi dengan pola ekor burung murai batu dan di-XOR dengan Kunci 1 (K1) menghasilkan

  (P2), Plaintext 2 (P2) melakukan transformasi dengan pola ekor

  Plaintext 2

  burung murai batudan di-XOR dengan Kunci 2 (K2) menghasilkan Plaintext 3 (P3), Plaintext 3 (P3) melakukan transformasi dengan pola ekor burung murai batu dan dilakukan proses perumusan menggunakan tabel substitusi S-Box kemudian baru di-XOR dengan Kunci 3 (K3) sehingga menghasilkan Plaintext 4 (P4), Plaintext 4 (P4) melakukan transformasi dengan pola ekor burung murai batu dan dilakukan proses perumusan menggunakan tabel substitusi S-Box kemudian baru di-XOR dengan Kunci 4 (K4) menghasilkan Plaintext 5 (P5),

  Plaintext 5 (P5) masuk pada putaran kedua sebagai Plaintext awal (P) dengan

  alur proses yang sama dengan putaran pertama, dan tahapan tersebut akan berlanjut sampai putaran ke-20 yang menghasilkan Ciphertext akhir.

  Gambar 3 Proses Alur Enkripsi

  Gambar 4 merupakan rancangan alur proses dekripsi. Langkah-langkah alur proses dekripsi dapat dijabarkan sebagai berikut : a) Menyiapkan ciphertext dan kunci.

  b) Mengubah ciphertext dan kunci menjadi biner sesuai dalam tabel ASCII.

  c) Dalam perancangan dekripsi, ciphertext dan kunci akan melewati empat proses pada setiap putaran; Putaran pertama Ciphertext (D) diproses dengan pola dan di-XOR dengan Kunci 20 (K20) menghasilkan P20. Kemudian diproses menggunakan S-Box, dan mendapatkan hasil akhir 20, P20 ditransformasikan dengan pola menjadi C19 kemudian di-XOR dengan K19 dan diproses dengan pola menjadi C18 kemudian di-XOR dengan K18, mendapatkan hasil akhir P18, P18 ditransformasikan dengan pola menjadi C17 kemudian di-XOR dengan K17, akan menghasilkan P17. Kemudianmasuk pada putaran kedua, P17 ditransformasikan menjadi C16 kemudian dilakukan proses yang sama dengan putaran pertama, dan dilakukan sampai putaran ke-20 hingga menghasilkan Plaintext .

  Gambar 4 Proses Alur Dekripsi Dalam bagian ini akan membahas mengenai algoritma perancangan kriptografi block cipher 64 bit berbasis pola ekor burung murai batu secara terperinci. Gambar pola ekor burung murai batu yang digunakan untuk merancang kriptografi dapat ditunjukkan pada Gambar 5.

  Gambar 5 Ekor Burung Murai Batu [7]

  Dalam algoritma ini pola ekor burung murai batu digunakan untuk proses pengambilan bit di dalam matriks plaintext. Ekor Burung Murai Batu ini memiliki pola seperti yang ditunjukkan dalam Gambar 6.

  

Gambar 6Pola Berbasis Ekor Burung Murai Batu

  Pada Gambar 6 terdapat 4 (empat) pola ekor burung murai batu dimana pada pola-pola tersebut dapat dijelaskan bahwa pengambilan bit dilakukan dengan yang bewarna abu-abu(1, 2, 3, ...8), selanjutnya mengikuti sesuai angka pada Gambar 6. Pola B kebalikan dari Pola A(8, 7, 6, ...1),selanjutnya mengikuti sesuai pada Gambar 6. Pola C diambil dari pola gambar luar yang bewarna putih (1, 2, 3, ...8), selanjutnya mengikuti sesuai pada Gambar 6. Pola D diambil dari gambar pola bagian tengah baris ke-3 kolom ke-4 sampai kolom ke-7 (1, 2, 3, 4) dan pada baris ke-6 kolom ke-4 sampai kolom ke-7 (5, 6, 7, 8), selanjutnya mengikuti sesuai pada Gambar 6.

  Berdasarkan pola-pola yang sudah dirancang, dilakukan pengujian korelasi atau nilai keterikatan antara plaintext dan ciphertext dengan mengkombinasikan urutan pola untuk mendapatkan nilai rata-rata korelasi terbaik. Pengujian dilakukan dengan menggunakan plaintext

  “Ryand1t4” dan menggunakan kunci “Ayyu2510”.Berdasarkan hasil pengujian korelasi dengan menggunakan contoh

  

plaintext dankunci tersebut maka kombinasi pola hasil rata-rata terbaik yang akan

digunakan sebagai acuan perancangan dalam proses enkripsi dan dekripsi.

  

Tabel 2 Rata-Rata Korelasi

RATA-RATA NILAI KORELASI

POLA RATA-RATA POLA RATA-RATA

  

A-B-C-D 0.026245498 C-A-B-D 0.653067496

A-B-D-C 0.164967709 C-A-D-B 0.062790278

A-C-B-D 0.012748346 C-B-A-D 0.218810669

A-C-D-B 0.289443359 C-B-D-A 0.567643652

A-D-B-C 0.4167294 C-D-A-B 0.072403631

A-D-C-B 0.229680096 C-D-B-A 0.367559344

  0.043286825 0.524697202

  0.140709426 0.178249882

  

B-C-D-A 0.601491566 D-B-C-A 0.598273935

B-D-A-C 0.026245498 D-C-A-B 0.16716055

  Pada Tabel 2 menunjukkan hasil kombinasi pola dan mendapatkan nilai korelasi terbaik pada kombinasi polaA-C-B-D sebesar 0.012748346 . Kombinasi polaA-C-B-Dyang akan digunakanuntuk melanjutkan proses enkripsi hingga putaran ke-20 untuk menghasilkan ciphertext.

  Perancangan algoritma kriptografi Block Cipher 64 bit berbasis polaekor burung murai batu dilakukan dengan 20 putaran untuk mendapatkan ciphertext dan dalam setiap putaran terdapat 4(empat) proses. Proses enkripsi secara umum dapat dilihat pada Gambar 7. Proses pertama plaintext dan kunci dikonversi menjadi ASCII kemudian diubah ke bilangan biner. Plaintext kemudian dimasukkan ke dalam kolom matriks 8x8 menggunakan pola pemasukan bit dan dilakukan pengambilan dengan pola ekor burung murai batu. Kemudian hasil dari XOR ketiga dan keempat tersebut ditransformasikan menggunakan S-Boxyang kemudian diulang terus-menerus hingga putaran ke-20 untuk menghasilkan ciphertext.

  Gambar 7Rancangan Proses Enkripsi

  Untuk menjelaskan secara detailproses pemasukan bit dalam matriks maka diambil proses ke-1 pada putaran ke-1 sebagai contoh. Misalkan angka 1 merupakan inisialisasi setiap bit yang merupakan hasil konversi plaintext makaurutan bit adalah sebagai berikut 1, 2, 3, 4

  , …..64.

  

Gambar 8Pola Pemasukan Bit Plaintext dan Kunci (Key)

  Gambar 8 menjelaskan pola pemasukan bit plaintext dan kunci. Setiap 8 bit dari setiap karakter plaintext dan kunci dimasukkan pada setiap blok yang dimulai dari bagian kiri terlebih dahulu kemudian ke kanan mengikuti garis anak panah dan juga sesuai dengan urutan angka seperti pada Gambar 8.

  

Gambar 9Pola Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 1

  Gambar 9merupakan prosespengambilandan transpose pada proses 1,untuk

  

plaintext dan kuncidilakukan dengan alur proses yang sama. Bit diambil setiap 8 bit

  mengikuti urutan angka (1, 2, 3, 4, ...64) pada Gambar 9. Kemudian dimasukkan kembali ke dalam kolom matriks baris pertama (1, 2, 3, ...8),baris kedua (16, 15, 14, ...9), dan untuk baris selanjutnya mengikuti anak panah dan urutan angka pada Gambar 9. Dari proses tersebut menghasilkan P1 dan K1. Setelah itu P1 dan K1 akan di-XOR-kan menghasilkan C1.

  

Gambar 10Pola Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 2

  Gambar 10merupakan proses pengambilan dan transpose pada proses 2,untuk plaintext dan kuncidilakukan dengan alur proses yang sama. Hasil dari

  XOR C1 yang ditransformasikan ke dalam P2 diambil setiap 8 bit mengikuti urutan angka (1, 2, 3, 4, ...64) pada Gambar 10. Sedangkan untuk K2 didapat dari transformasi K1.Kemudian dimasukkan kembali ke dalam kolom matriks baris pertama (8, 7, 6, ...1),baris kedua (9, 10, 11, ...16), dan untuk baris selanjutnya mengikuti anak panah dan urutan angka pada Gambar 10. Setelah itu P2 dan K2 akan di-XOR-kan menghasilkan C2.

  

Gambar 11Pola Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 3

  Gambar 11merupakan proses pengambilan dan transpose pada proses 3,untuk plaintext dan kuncidilakukan dengan alur proses yang berbeda, karena untuk proses plaintext menggunakan tabel S-Box dan untuk kuncinya tidak menggunakan tabel S-Box. Hasil dari XOR C2 yang ditransformasikan ke dalam P3 diambil setiap 8 bit mengikuti urutan angka (1, 2, 3, 4, ...64) pada Gambar 11.

  Sedangkan untuk K3 didapat dari tansformasi K2. Kemudian P3 diproses menggunakan S-Box,setelah itu dimasukkan kembali ke dalam baris matriks kolom pertama (1, 2, 3, ...8), kolom kedua (16, 15, 14, ...9), dan untuk kolom selanjutnya mengikuti anak panah dan urutan angka pada Gambar 11. Setelah itu P3 dan K3 akan di-XOR-kan menghasilkan C3.

  

Gambar 12Pola Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 4

  Gambar 12 merupakan proses pengambilan dan transpose pada proses 4 atau proses terakhir, untuk plaintext dan kuncidilakukan dengan alur proses yang berbeda, karena untuk proses plaintext menggunakan tabel S-Box dan untuk kuncinya tidak menggunakan tabel S-Box. Hasil dari XOR C3 yang ditransformasikan ke dalam P4 diambil setiap 8 bit mengikuti urutan angka (1, 2, 3, 4, ...64) pada Gambar 12. Sedangkan untuk K4 didapat dari tansformasi K3. Kemudian P4 diproses menggunakan S-Box, setelah itu dimasukkan kembali ke dalam baris matriks kolom pertama (8, 7, 6, ..1), kolom kedua (9, 10, 11, ...16), dan untuk kolom selanjutnya mengikuti anak panah dan urutan angka pada Gambar 12. Setelah itu P4 dan K4 akan di-XOR-kan menghasilkan C4. Proses putaran 1 telah selesai, dan dilakukan proses yang sama secara terus-menerus hingga putaran ke 20 untuk mendapatkan Ciphertext.

  

Gambar 13Tabel Substitusi S-Box AES

  Gambar 13 merupakan tabel substitusi S-Box yang digunakan dalam proses enkripsi. Cara pensubstitusian adalah sebagai berikut: untuk setiap byte pada array

  

state , misalkan S[r, c] = xy, yang dalam hal ini xy adalah digit heksadesimal dari

  nilai S[r, c], maka nilai substitusinya dinyatakan dengan S ’[r, c], adalah elemen di dalam S-Box yang merupakan perpotongan baris x dengan kolom y.Misalnya S[0, 0] = 19, maka S’[0, 0] = d4.

  Untuk pengujian algoritma dilakukan dengan mengambil plaintext adalah Ryand1t4 dan kunci adalah Ayyu2510. Setelah melewati proses enkripsi yang telah dijabarkan sebelumnya maka mendapatkan ciphertext yang telah dikonversi ke dalam nilai hexadecimal.

  1DE1EA3D6A1AEFFC

  20 509925CD5E434439 Tabel 3 merupakan hasil enkripsi dari setiap putaran. Hasil dari putaran 20 merupakan final ciphertext.

  45D9D1D0295E226C

  10

  2C79316CE85ADC5

  19

  3B95DBF706099BD

  9

  25BDCD646B493C

  18

  72E44940198740A2

  8

  17 C615AEC65FE96594

  7

  Tabel 3 Hasil Ciphertext Setiap Putaran

  6 FB7E7C372E83DA6 16 1273F15D72C66A33

  5 42701C992F30ABE1 15 302E68CE2B0D8AE

  5FADAF757578CB65

  14

  13A03ECD631EA360

  4

  13 A99CBB3396D63CB

  3 DBDAA5C1A9115CE1

  12 CEA93E24E583B1C6

  2 A585591575E83F51

  11 AD1AD395562362E7

  1 D21F91B121675320

  Putaran Hasil Hexadecimal Putaran Hasil Hexadecimal

  Gambar 14Rancangan Proses Dekripsi Gambar 14 menjelaskan alur dekripsi. Proses dekripsi adalah proses merubah ciphertext menjadi plaintext awal. Dekripsi dilakukan sama seperti enkripsi, tetapi dekripsi dimulai dari putaran ke-20 menuju putaran ke 1 untuk mendapatkan plaintext awal. Pola pengambilan pada proses enkripsi akan menjadi pola pemasukan pada proses dekripsi, sedangkan pola pemasukan pada enkripsi akan digunakan sebagai pola pengambilan pada dekripsi. Proses dekripsi dimulai dari memasukkan ciphertext ke kolom matriks C4 kemudian di-XOR-kan dengan K4 dan pada proses tersebut akan menghasilkan P4. Kemudian P4 ditransformasikan dengan S-Box untuk mendapatkan hasil akhir P4, P4 digunakan sebagaiC3,lalu C3 di-XOR-kan dengan K3 dan menghasilkan P3, P3 ditransformasikan dengan S-Box untuk mendapatkan hasil akhir P3, P3 digunakan sebagai C2, lalu C2 di-XOR-kan dengan K2 menghasilkan C1, C1 kemudian di-

  XOR-kan dengan K1 untuk menghasilkan P1, proses itu dilakukan berulang-ulang sebanyak 20 putaran sesuai dengan banyaknya putaran enkripsi dan hasil akhir dari dekripsi putaran ke-20 adalah plaintext awal.

  14. Masukkan bit K3 menggunakan pola masukan

  10. Hasil konversi diubah ke BINER 11. C2 diubah ke DEC 11.

  BINER P4 dimasukkan ke kolom matriks dengan pola pengambilan

  12. DEC diubah ke HEX 12.

  P4=C3 13. Hasil HEX diubah menjadi BINER 13.

  BINER dimasukkan ke kolom C3 menggunakan pola masuk

  14. Hasil BINER dimasukkan ke blok matriks P2

  15. C2=P3 diambil dengan pola pemasukan awal 15.

  9. HEX ditransformasikan dengan tabel S-BOX

  C3 di XOR dengan K3 menghasilkan P3

  16. P3 diproses dengan pola pengambilan proses 3

  16. P3diubah ke BINER 17. BINER diubah menjadi DEC 17.

  BINER diubah ke HEX 18. DEC diubah menjadi HEX 18.

  Hasil HEX ditransformasikan dengan tabel S-BOX

  19. HEX ditransformasikan menggunakan S-BOX 19.

  Hasil konversi diubah menjadi BINER 20. Hasil HEX diubah menjadi BINER 20.

  10. P2 di XOR dengan K2 menghasilkan C2

  9. P2 diproses dengan pola pengambilan proses 2

  

Tabel 4 Algoritma Enkripsi dan Dekripsi

Proses Enkripsi Proses Dekripsi

  4. Bit BINER dimasukkan ke kolom matriks P1 dengan pola pemasukan proses 1 4.

  1. Masukkan plaintext 1.

  Masukkan C4

  2. Plaintext dirubah ke ASCII 2.

  C4dirubah ke ASCII

  3. ASCII diubah ke BINER 3.

  ASCII diubah ke BINER

  Bit BINER dimasukkan ke kolom matriks C4 dengan pola pemasukan

  8. BINER diubah ke HEX

  5. Bit pada kolom matriks diambil menggunakan pola pengambilan.

  5. Masukkan bit K4 menggunakan pola masukan

  6. Bit pengambilan dimasukkan lagi kedalam matriks untuk mendapatkan hasil akhir P1 6.

  C4 di XOR dengan K4

  7. P1 di XOR dengan K1 menghasilkan C1

  7. Bit P4 diubah ke BINER

  8. C1=P2 diambil menggunakan pola pemasukan

  BINER P3 dimasukkan ke kolom matriks dengan pola pengambilan

  21.

  21. Hasil BINER dimasukkan ke blok P3=C2 matriks P3

  22.

  22. P3 di XOR dengan K3 menghasilkan BINER dimasukkan ke kolom C2 C3 menggunakan pola masuk 23. diambil dengan pola 23.

  C3=P4 Masukkan bit K2 menggunakan pola pemasukan awal masukan

  24.

  24. P4 diproses dengan pola pengambilan C2 di XOR dengan K2 menghasilkan proses 4 P2

  25.

  25. BINER diubah menjadi DEC P2 diproses dengan pola pengambilan 26.

  26. DEC diubah menjadi HEX Bit pengambilan dimasukkan lagi kedalam kolom matriks P2 27. ditransformasikan 27.

  HEX P2=C1 menggunakan S-BOX

  28.

  28. Hasil HEX diubah menjadi BINER C1 di XOR dengan K1 menghasilkan

  29. P1 Hasil BINER dimasukkan ke blok matriks P4 29.

  P1 diproses dengan pola pengambilan 30.

  30. P4 di XOR dengan K4 menghasilkan Bit pengambilan dimasukkan lagi C4 kedalam kolom matriks P1

  31.

  31. C4 diubah ke DEC Hasil akhir pemasukan bit diproses

32. dengan pola pengambilan

DEC diubah ke HEX, sebagai ciphertext 32.

  Hasil akhir BINER P1 diubah ke DEC 33. DEC diubah ke HEX 34. HEX diubah ke CHAR, sebagai plaintext

  Tabel 4 merupakan algoritma proses enkripsi dan dekripsi secara menyeluruh. Proses enkripsi menghasilkan C4 (Cipertext), dan proses dekripsi menghasilkan P1 (Plaintext) awal.

  Algoritma proses Kunci (key), dijelaskan sebagai berkut: 1. Masukkan Kunci 2.

  Kunci diubah ke ASCII 3. ASCII diubah ke BINER 4. Bit BINER dimasukkan ke kolom K1 menggunakan pola masuk Kunci 5. Bit Kunci ditransposisikan dengan pola Kunci A 6. Transposisi K1 = K2 7. K2 ditransposisikan menggunakan pola Kunci C 8. Transposisi K2 = K3 9. K3 ditransposisikan menggunakan pola Kunci B 10.

  Transposisi K3 = K4 11. K4 ditransposisikan menggunakan pola Kunci D

  Proses Enkripsi {Program ini digunakan untuk melakukan proses enkripsi data} Kamus P,K,P1,K1,P2,K2,P3,K3,P4,K4 = integer C1,C2,C3,C4 = integer Start

  C1 <- P1 ⊕ K1 Input P Read P

  P to ASCII ASCII to BINER Dari BINER = blok matriks P1, masukkan BINER P1 menggunakan Pola pemasukan awal

  Dari blok matriks P1 = BINER, ambil bit P1 dengan Pola Ekor Burung Murai Batu A Dari BINER = blok matriks P1, masukkan BINER

  P1 dengan pola pemasukan proses 1 Output P1 Input K Read K

  K to ASCII ASCII to BINER

Dari BINER = blok matriks K1, masukkan BINER

K1 menggunakan Pola pemasukan awal

  Dari blok matriks K1 = BINER, ambil bit K1 K1 dengan pola pengambilan A Dari BINER = blok matriks K1, masukkan BINER K1 dengan pola pemasukan proses 1

  Output K1 Print C1 C1 = P2 C2 <- P2

  ⊕ K2 Dari C1 = blok matriks P2, masukkan C1 P2 menggunakan Pola pemasukan awal Dari blok matriks P2 = BINER, ambil bit

  P2 dengan Pola Ekor Burung Murai BatuC Dari BINER = blok matriks P2, masukkan BINER P2 dengan pola pemasukan proses 2 Output P2

  Input K Read K K to ASCII ASCII to BINER

Dari BINER = blok matriks K2, masukkan BINER

K1 menggunakan Pola pemasukan awal

  Dari blok matriks K2 = BINER, ambil bit K2

K2 dengan pola pengambilan C

Dari BINER = blok matriks K2, masukkan BINER K2 dengan pola pemasukan proses 2

  Output K2 Print C2 C2 = P3 C3 <- P3

  ⊕ K3 Dari C2 = blok matriks P3, masukkan C2 P3 menggunakan Pola pemasukan awal Dari blok matriks P3 = BINER, ambil bit

  P3 dengan Pola Ekor Burung Murai Batu B BINER to HEXA Dari HEXA = Tabel S-box, masukkan HEXA HEXA konversi menggunakan S-box

  Print BINER S-box Dari BINER = blok matriks P3, masukkan BINER P3 menggunakan pola pemasukan proses 3 Output P3 Dari K2 = blok matriks K3, masukkan K2 Dari blok matriks K3 = BINER, ambil bit K3

  K3 dengan pola pengambilan B Dari BINER = blok matriks K3, masukkan BINER K3 K3 menggunakan pola pemasukan proses 3 Output K3

  Print C3 C3 = P4 C4 <- P4 ⊕ K4

  Dari C3 = blok matrik P4, masukkan C3 P4 menggunakan Pola pemasukan awal Dari blok matriks P4 = BINER, ambil bit P4 dengan Pola Ekor Burung Murai Batu D

  BINER to HEXA Dari HEXA = Tabel S-box, masukkan HEXA HEXA konversi menggunakan S-box Print BINER S-box

  Dari BINER = blok matriks P4, masukkan BINER P3 menggunakan pola pemasukan proses 4

  Output P4 Dari K3 = blok matriks K4, masukkan K3

Dari blok matriks K4 = BINER, ambil bit K4

K4 dengan pola pengambilan D

  Dari BINER = blok matriks K4, masukkan BINER K4 K4 menggunakan pola pemasukan proses 4 Output K4 Print C4

  Repeat End Proses Dekripsi {Program ini digunakan untuk melakukan proses dekripsi data} Kamus P,K,P1,K1,P2,K2,P3,K3,P4,K4 = integer C1,C2,C3,C4 = integer Start

  Input K Read K K to ASCII ASCII to BINER Dari BINER = blok matriks K1, masukkan BINER K1 menggunakan Pola pemasukan awal

  Dari blok matriks K1 = BINER , ambil bit K1 K1 dengan Pola Ekor Burung Murai BatuD Dari BINER = blok matriks K1, masukkan BINER K1 Output K1

  K1 = K2 Dari K1 = blok matriks K2, masukkan Bit K1 dengan pola pemasukan awal

Dari blok matriks K2 = BINER, ambil bit

  K2 dengan pola pengambilan B Dari BINER = blok matriks K2, masukkan BINER K2 Output K2 K2 = K3

  Dari K2 = blok matriks K3, masukkan Bit K2 K2 dengan pola pemasukan awal

Dari blok matriks K3 = BINER, ambil bit K3

K3 dengan pola pengambilan C

  Dari BINER = blok matriks K3, masukkan BINER K3 Output K3 K3 = K4 Dari K3 = blok matriks K4, masukkan K3

  

Dari blok matriks K4 = BINER, ambil bit K4

K4 dengan pola pengambilan A Dari BINER = blok matriks K4, masukkan BINER K4 Output K4

  P4 <- C4 ⊕ K4 Input C Read C

  C4 to ASCII ASCII to BINER Dari BINER = blok matriks C4, masukkan BINER C4

  ⊕ K4 Print P4 Dari blok matriks P4 = BINER, ambil bit P4 BINER to HEXA

  

Dari HEXA = Tabel S-Box, masukkan HEXA

HEXA ditranformasi menggunakan S-Box

Dari BINER P4 = blok matriks P4, masukkan BINER Menggunakan pola pengambilan D

  Output P4 P4 = C3 P3 <- C3 ⊕ K3 Dari P4 = blok matriks C3, masukkan BINER C3

  ⊕ K3 Dari blok matriks P3 = BINER, ambil bit P3 BINER to HEXA Dari HEXA = Tabel S-Box, masukkan HEXA HEXA ditranformasi menggunakan S-Box

  Dari BINER P3 = blok matriks P3, masukkan BINER

Menggunakan pola pengambilan B

Output P3 P3 = C2

  P2 <- C2 ⊕ K2 Dari P3 = blok matriks C2, masukkan BINER C2

  ⊕ K2 Print P2 Dari blok matriks P2 = BINER, ambil bit P2 Dari BINER P2 = blok matrik P2, masukkan BINER

  

Menggunakan pola pengambilan C

Output P2 P2 = C1 P1 <- C1

  ⊕ K1 Dari P2 = blok matriks C1, masukkan BINER C1 ⊕ K1

  Print P1 Dari blok matriks P1 = BINER, ambil bit P1 Dari BINER P1 = blok matrik P1, masukkan BINER Menggunakan pola pengambilan A

  Output P1 P1 to BINER BINER to ASCII ASCII to CHAR Print P End

  Pengujian korelasi digunakan untuk mengukur seberapa acak perbandingan antara hasil enkripsi (ciphertext) dan plaintext. Nilai korelasi sendiri berkisar 1 sampai -1, dimana jika nilai korelasi mendekati 1 maka plaintext dan ciphertext memiliki hubungan yang sangat kuat, tetapi jika mendekati 0 maka plaintext dan

  ciphertext memiliki hubungan yang tidak kuat atau lemah.

  Jumlah putaran ideal tidak dapat ditentukan, karena proses enkripsi atau pengacakan dari setiap pola berbeda-beda dan setiap pola memiliki kelemahan masing-masing. Tetapi jika putaran semakin banyak maka hasil enkripsi semakin baik.

  Nilai korelasi kuat dan lemah pada Tabel 5 berpengaruh pada hasil enkripsi, jika nilai korelasi kuat, maka hasilnya kurang baik sehingga kurang memenuhi syarat untuk dijadikan sebagai algoritma kriptografi.

  

Tabel 5 Nilai Korelasi Setiap Putaran

Putaran Korelasi Putaran Korelasi

  7 0.267132186

  Gambar 15 menunjukkan bahwa antara putaran satu dengan putaran yang lain memiliki perbedaan yang signifikan antara plaintext dan ciphertext. Pengujian

  

Gambar 15 Grafik Perbandingan Plaintext dan Ciphertext

  Pada Tabel 5 terlihat setiap putaran memiliki nilai korelasi lemah sehingga dapat disimpulkan bahwa algoritma kriptografi block cipher 64 bit berbasis pola ekor burung murai batu ini dapat menghasilkan nilai korelasi enkripsi acak yang dapat dibuat dalam bentuk grafik pada Gambar 15.

  20 0.5143265

  10 0.284510726

  19 0.588089526

  9 0.15547317

  18 0.835704713

  8 0.203605568

  17 0.619950605

  16 0.000782535

  1 0.012748346

  6 0.217936228

  15 0.178184785

  5 0.010608295

  14 0.630025898

  4 0.690570092

  13 0.432729172

  3 0.262900019

  12 0.171688111

  2 0.531230097

  11 0.254702133

  

Avalanche Effect dilakukan untuk mengetahui perubahan bit yang ada ketika

plaintext diubah. Pengujian dilakukan dengan merubah karakter yang terdapat pada

plaintext awal, sehingga akan menghasilkan perbedaan pada setiap

putaran.Presentase setiap putaran dapat dilihat pada Tabel 6.

  

Tabel 6 Tabel Presentase Avalanche Effect

Putaran Banyak Bit Presentase (%) Putaran Banyak Bit Presentase (%)

  20 29 45,3125

  17 28 43,75

  8 28 43,75

  18 33 51,5625

  9 31 48,4375

  19 27 42,1875

  10 37 57,8125

  Rata-rata

  50

  50,625 Korelasi pola A-C-B-D merupakan pola terbaik dari korelasi pola yang lain, karena kombinasi pola A-C-B-D memiliki nilai korelasi lemah sebesar

  0.012748346 (yang paling mendekati 0).

  Yang menyebabkan hasil presentase nilai acak rata-rata 50% adalah, setiap putaran pada pengujian avalanche effectdariputaran pertama sampai putaran ke-20 yaitu banyaknya bit.

  

Gambar 16 Grafik Avalanche Effect

  Gambar 16 yaitu hasil dari pengujian Avalanche Effect, pada penelitian ini

  

plaintext awal adalah Ryand1t4 yang kemudian diubah menjadi cHoch01n. Terjadi

  7 33 51,5625

  32

  1 35 54,6875

  13 30 46,875

  11 36 56,25

  2 31 48,4375

  12

  32

  50

  3 36 56,25

  4 38 59,375

  16

  14

  32

  50

  5 30 46,875

  15 35 54,6875

  6 35 54,6875

  perubahan bit pada setiap putarannya,pada putaran ke-4 perubahan bitnya terjadi cukup besar yaitu 59,375%dengan arti pada putaran ini terjadi perubahan bit yang baik, tetapi juga terjadi perubahan bit yang kecil pada putaran ke 19 yaitu sebesar

  [6] Dafid, 2006, Kriptografi Kunci Simetris Dengan Menggunakan Algoritma Crypton, STMIK MDP Palembang. [7] diambil pada tangggal 5September 2017 pukul 18.56 WIB.

  Kriptografi Block Cipher 256 Bit Berbasis Pola Teknik Tarian Dansa Tali Dari Maluku”. Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.

  [4] Munir, R., 2006, Kriptografi, Bandung: Informatika. [5] Stinson, D. R., 1995, Cryptography: Theory and Practice. CRC Press, Boca Raton, London, Tokyo.

  Cipher 64 byteBerbasis Pola LaunchpadThe Chainsmokers - Closer (Launchpad Pro Cover)

  Dinata, S. K., Pakereng, M. A. I., 2017 “Perancangan Kriptografi Block

  Berbasis Pola Ikan Berenang”. Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana. [3]

  Cipher

  [2] Guntoro, Pakereng, M. A. I., 2016 “Perancangan Kriptografi Block

  Encryption Standard (AES) Terhadap Avalanche Effect Pada Perancangan

  42,1875%ini berarti perubahan bitnya kurang baik. Berdasarkan hasilputaran pertama sampai dengan putaran ke-20 dapat disimpulkan bahwa rata-rata hasil pengujian Avalanche Effect ini yaitu sebesar 50,625% .

  [1] Tomasoa, E.L., Pakereng, M. A. I., 2016 “Pengaruh S-Box Advanced

  6. Daftar Pustaka

  

avalanche effect yang dilakukan menunjukkan proses enkripsi disetiap putaran

memiliki perubahan rata-rata sebesar 50,625% .

Dokumen yang terkait

Institutional Repository | Satya Wacana Christian University: Penerapan Finite State Automata pada Proses Transaksi Via ATM

0 3 18

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher Menggunakan Pola Pangkat Ajun Inspektur Polisi

0 0 27

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher 64 bit Menggunakan Pola Kesenian Drumblek

0 0 29

Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Website Sistem Informasi Tugas Akhir FTI UKSW Menggunakan Teknologi SOAP Web Service

1 4 26

Institutional Repository | Satya Wacana Christian University: Perancangan Modul Korwil Menggunakan Platform PEGA System di PT. Asuransi Sinarmas Jakarta

0 2 24

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher 256-bit Berbasis Pola Batik Totogan Banyuwangi

0 0 28

Institutional Repository | Satya Wacana Christian University: Analisis Perbandingan Algoritma Depth First Search dengan Algoritma Dijkstra dalam Menentukan Jalur Terpendek Tempat Wisata di Kota Surakarta

0 0 19

Institutional Repository | Satya Wacana Christian University: Implementasi dan Perancangan Sistem Pembayaran Pajak Parkir di Dinas Perhubungan (Dishub) Kota Salatiga

0 1 29

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher Menggunakan Pola Tari Purisari Pati

0 0 28

Institutional Repository | Satya Wacana Christian University: Penerapan Finite State Automata pada Permainan Kartu Domino atau Permainan Gaple

0 0 24