33
1 Perancangan Algoritma Kriptografi Block Cipher 256 Bit Berbasis Pola Huruf B, M, E, W Artikel Ilmiah Peneliti: Dervyn A. M. Latupeirissa (672012137) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga November 2016

Perancangan Algoritma Kriptografi Block Cipher 256 Bit ......1 Perancangan Algoritma Kriptografi Block Cipher 256 Bit Berbasis Pola Huruf B, M, E, W Artikel Ilmiah Peneliti: Dervyn

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    Perancangan Algoritma Kriptografi Block Cipher 256 Bit

    Berbasis Pola Huruf B, M, E, W

    Artikel Ilmiah

    Peneliti:

    Dervyn A. M. Latupeirissa (672012137)

    Magdalena A. Ineke Pakereng, M.Kom.

    Program Studi Teknik Informatika

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Salatiga

    November 2016

  • 2

    Perancangan Algoritma Kriptografi Block Cipher 256 Bit

    Berbasis Pola Huruf B, M, E, W

    Artikel Ilmiah

    Diajukan kepada

    Fakultas Teknologi Informasi

    untuk memperoleh Gelar Sarjana Komputer

    Peneliti:

    Dervyn A. M. Latupeirissa (672012137)

    Magdalena A. Ineke Pakereng, M.Kom.

    Program Studi Teknik Informatika

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Salatiga

    November 2016

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

    Perancangan Algoritma Kriptografi Block Cipher 256 Bit

    Berbasis Pola Huruf B, M, E, W

    Dervyn A. M. Latupeirissa1, Magdalena A. InekePakereng

    2

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

    E-mail: [email protected], [email protected]

    2

    Abstract Cryptography is the science of maintaining the confidentiality of the data.

    Cryptography has important role in securing the data, so that cryptography should be

    developed. In this study designed Cryptographic Algorithm Block Cipher 256 Bit Patterns

    Based Letters B, M, E, W, which has 20 (twenty) rounds in the encryption process in

    which the Plaintext transformed using the substitution tables of S-Box AES and the taking

    patterns of Plaintext for each process is using pattern based on letters B, M, E, W.

    Cryptographic Algorithm Block Cipher 256 Bit Patterns Based on Letters B, M, E, W can

    produce a ciphertext that is random with the Avalanche Effect testing which has reached

    50,78125%, so this algorithm can be used as an alternative in security data.

    Keywords: Block Cipher, Cryptography, Letters B M E W Pattern, S-Box AES

    Abstrak Kriptografi adalah ilmu untuk menjaga kerahasiaan data. Kriptografi sangat

    berperan penting dalam mengamankan data, sehingga kriptografi perlu terus

    dikembangkan. Dalam penelitian ini dirancang Algoritma Kriptografi Block Cipher 256

    Bit Berbasis Pola Huruf B, M, E, W yang memiliki 20 (dua puluh) putaran pada proses

    enkripsi dimana Plaintext awal ditransformasi dengan menggunakan tabel substitusi S-

    Box AES dan pola pengambilan Plaintext untuk setiap proses menggunakan pola huruf B,

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

    dapat menghasilkan Ciphertext yang acak dengan pengujian Avalanche Effect yang sudah

    mencapai 50,78125% sehingga algoritma ini dapat digunakan sebagai alternatif dalam

    pengamanan data.

    Kata Kunci: Block Cipher, Kriptografi, Pola Huruf B M E W, S-Box AES

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

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

    mailto:[email protected]

  • 9

    1. Pendahuluan

    Seiring berkembangnya teknologi informasi saat ini, keamanan data dalam

    proses pengiriman perlu ditingkatkan. Salah satu cara yang sangat membantu

    adalah dengan menggunakan teknik enkripsi dan dekripsi data. Teknik

    pengamanan data menggunakan enkripsi dan dekripsi dikenal dengan nama

    kriptografi, sebagai sebuah ilmu atau seni untuk mengamankan pesan atau data

    dengan cara menyamarkan pesan tersebut sehingga hanya dapat dibaca oleh

    pengirim dan penerima pesan. Penerapan kriptografi pada komputer dapat

    menyamarkan pesan yang berupa file teks, gambar, suara, gambar bergerak dan

    lain-lain [1].

    Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan data [2].

    Kriptografi sangat berperan penting dalam keamanan informasi saat ini, mulai dari

    percakapan melalui telepon genggam, transaksi di bank, sampai aktivasi peluru

    kendali pun menggunakan kriptografi [3]. Semakin baik algoritma dan kunci yang

    dibuat, semakin baik juga kerahasiaan informasi itu terjaga.

    Dalam kriptografi pesan asli yang dimengerti isinya atau maknanya

    dinamakan plaintext. Sedangkan pesan yang tidak dimengerti yang merupakan

    hasil transformasi dari plaintext disebut ciphertext [4]. Tranformasi artinya suatu

    proses yang dilakukan untuk mengubah plaintext tersebut menjadi ciphertext.

    Proses ini biasanya disebut dengan proses enkripsi. Sedangkan proses yang

    dilakukan untuk mengubah ciphertext menjadi plaintext biasanya disebut dengan

    dekripsi [5].

    Salah satu algoritma dalam kriptografi adalah algoritma Block Cipher.

    Block cipher merupakan algoritma kriptografi simetris yang mengenkripsi satu

    block plaintext dengan jumlah bit tertentu dan menghasilkan block ciphertext

    dengan jumlah bit yang sama. Pada umumnya, setiap block plaintext yang

    diproses berukuran 64 bit. Namun, seiring dengan kemajuan teknologi, ukuran

    block plaintext berkembang menjadi 128 bit, 256 bit bahkan menjadi 512 bit [6].

    Block cipher mengenkripsi plaintext dan mendekripsi ciphertext secara block per

    block (block adalah kumpulan bit), yaitu satu block dienkripsi atau didekripsi per

    satuan waktu [1].

    Algoritma yang digunakan dalam penelitian ini adalah algoritma block

    cipher 256 bit dengan menggunakan pola huruf B, M, E, W dan dikombinasikan

    dengan tabel substitusi S-Box dari algoritma kriptografi AES (Advanced

    Encryption Standard). Pada penelitian ini block plaintext yang berukuran 256 bit

    atau sama dengan 32 byte disubstitusi dengan tabel substitusi S-Box, kemudian

    dienkripsi sebanyak 20 putaran dengan menggunakan pola huruf B, M, E, W

    sebagai pola pengambilan plaintext. Setiap putaran enkripsi memiliki 4 proses

    plaintext dan kunci (key) yang kemudian di-XOR dan menghasilkan block

    ciphertext yang akan digunakan untuk putaran selanjutnya. Setelah menghasilkan

    ciphertext terakhir pada putaran ke 20, maka dilakukan proses dekripsi untuk

    mengembalikan ciphertext akhir menjadi plaintext awal.

  • 10

    2. Tinjauan Pustaka

    Penelitian sebelumnya digunakan sebagai acuan dalam penelitian yang

    dilakukan. Penelitian pertama berjudul “Perancangan Kriptografi Block Cipher

    dengan Langkah Kuda” yang membahas tentang kriptografi block cipher dengan

    langkah kuda lari dan langkah kuda jalan. Algoritma langkah kuda lari dan

    langkah jalan dapat membuktikan bahwa pola ini dapat menghasilkan kriptografi

    simetris dan dapat memenuhi lima-tuple (Five-tuple). Penelitian ini dapat

    membandingkan proses keacakan dan proses nilai diferensiasi antara KS dengan

    AES-128. Hasil perbandingan dengan AES-128, rancangan berbasis langkah kuda

    lebih cepat 0.94869906 ms [7].

    Penelitian kedua berjudul “Penggunaan Motif Kain Tenun Timor Dan

    Linear Congruential Generator (LCG) Dalam Merancang Dan

    Mengimplementasikan Algoritma Kriptografi Cipher Block” yang membahas

    tentang algoritma Kain Tenun Timor (KTT) dan linear congruential generator

    (LCG) sebagai pembangkit kunci. Perancangan algoritma kriptografi berbasis

    motif kain tenun timor dan linear congruential generator adalah suatu rancangan

    algoritma kriptografi cipher block yang beroperasi dalam bentuk bit, dan termasuk

    dalam teknik kriptografi kunci simetris. Hasil dari perancangan algoritma

    kriptografi ini dapat digunakan untuk mengenkripsi dan mendekripsi teks yang

    kemudian diimplementasikan ke dalam bentuk aplikasi [8].

    Penelitian ketiga berjudul “Perancangan Algoritma Kriptografi Block

    Cipher 256 Bit Berbasis pada Pola Tuangan Air”. Penelitian ini menjelaskan

    tentang pola penuangan air yang dikombinasikan dengan tabel substitusi S-Box

    AES pada akhir proses enkripsi yang menghasilkan Ciphertext akhir (C) yang

    acak [9].

    Berdasarkan penelitian-penelitian yang sudah ada terkait perancangan

    algoritma kriptografi simetris block cipher maka dilakukan penelitian yang

    berjudul “Perancangan Algoritma Kriptografi Block Cipher 256 Bit Berbasis Pada

    Pola Huruf B, M, E, W”. Perbedaan penelitian ini dengan penelitian sebelumnya

    adalah jumlah data yang diproses adalah sebanyak 256 bit dan kombinasi

    menggunakan tabel substitusi S-Box AES dimana plaintext awal pada setiap

    putaran akan disubstitusi terlebih dahulu dengan tabel substitusi S-Box AES

    kemudian dienkripsi dengan pola huruf B, M, E, W sebagai pola pengambilan,

    dan juga dibuat kombinasi sebanyak 24 kombinasi yang terdiri dari kombinasi A,

    B, C, D yang memiliki masing-masing 6 kombinasi berbeda dan bertujuan untuk

    mencari korelasi terendah sebagai pola yang paling optimal.

  • 11

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

    Misalkan block plaintext (P) yang berukuran n bit

    npppP ,,, 21 (1) Block ciphertext (C) maka block C adalah

    ncccC ,,, 21 (2) Kunci (K) maka kunci adalah

    nkkkK ,,, 21 (3) Sehingga proses enkripsi adalah

    CPEk (4) Proses dekripsi adalah

    PCDk (C) = P (5)

    Sebuah kriptografi dapat dikatakan sebagai suatu teknik kriptografi, harus

    melalui uji kriptosistem terlebih dahulu yaitu diuji dengan metode Stinson.

    Sebuah sistem akan dikatakan sebagai sistem kriptografi jika memenuhi lima-

    tuple (Five tuple) [10]:

    1. P adalah himpunan berhingga dari plaintext, 2. C adalah himpunan berhingga dari ciphertext, 3. K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci, 4. Untuk setiap , terdapat aturan enkripsi dan berkorespodensi

    dengan aturan dekripsi Setiap dan adalah

    fungsi sedemikian hingga ( ( )) untuk setiap plaintext

    Untuk menguji nilai algoritma yang dirancang memiliki hasil ciphertext

    yang acak dari plaintext maka digunakan Persamaan 6, dimana variable X

    merupakan plaintext dan Y merupakan ciphertext.

    – ( ) ( )

    √ – ( ) – ( ) (6)

  • 12

    Dimana:

    n = Banyaknya pasangan data X dan Y

    Σx = Total jumlah dari variabel X

    Σy = Total jumlah dari variabel Y

    Σx2

    = Kuadrat dari total jumlah variabel X

    Σy2

    = Kuadrat dari total jumlah variabel Y

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

    Panduan umum dalam menentukan kriteria korelasi ditunjukkan pada

    Tabel 1. Tabel 1 Kriteria Korelasi [9]

    R (-/+) Kriteria Korelasi

    0 Tidak ada korelasi

    0 – 0,5 Korelasi lemah

    0,5 – 0,8 Korelasi sedang

    0,8 – 1 Korelasi kuat/erat

    1 Korelasi sempurna

    3. Metode dan Perancangan Algoritma

    Tahapan yang dilakukan dalam penelitian ini, terdiri dari 5 (lima) tahapan,

    yaitu: (1) Pengumpulan Bahan, (2) Analisis Masalah, (3) Perancangan

    Kriptografi, (4) Uji Kriptografi, dan (5) Penulisan Laporan.

    Gambar 2 Tahapan Penelitian

    Tahapan penelitian pada Gambar 2 dapat dijelaskan sebagai berikut:

    Tahap pertama: Identifikasi masalah merupakan tahapan awal dalam melakukan

    penelitian untuk melihat masalah-masalah keamanan informasi yang berkaitan

    Pengumpulan Bahan

    Analisis Masalah

    Perancangan Algoritma

    Pengujian Algoritma

    Penulisan Laporan

  • 13

    dengan kriptografi dan akan digunakan sebagai perumusan masalah serta tujuan

    dari penelitian ini. Adapun rumusan masalah yang akan dibahas pada

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

    yaitu: 1) Plaintext dan kunci dibatasi maksimal 32 karakter; 2) Block-block

    menggunakan block 16x16 (256-bit); 3) dalam perancangan kriptografi pola

    pengambilan bit pada plaintext berbasis pada pola huruf B, M, E, W. Tahap

    kedua: Kajian pustaka dilakukan dengan mengumpulkan referensi dari buku,

    jurnal, atau sumber lain yang berguna dalam perancangan kriptografi; Tahap

    ketiga: Merancang algoritma kriptografi Block Cipher 256 bit berbasis pola huruf

    B, M, E, W, yang dikombinasikan dengan XOR dan menggunakan tabel substitusi

    S-Box untuk substitusi bit pada plaintext awal; Tahap keempat: Setelah rancangan

    kriptografi dibuat dibutuhkan pengujian algoritma. Pengujian dilakukan dengan

    cara manual dimana plaintext diubah ke dalam bit untuk melakukan proses

    enkripsi; Tahap kelima: penulisan laporan dari hasil penelitian yang dilakukan

    mengenai proses perancangan algoritma kriptografi Block Cipher 256 bit berbasis

    pola huruf B, M, E, W. Adapun batasan masalah dalam penelitian ini yaitu: 1)

    Proses enkripsi hanya dilakukan pada teks; 2) Pola Huruf B, M, E, W digunakan

    pada pola pengambilan bit plaintext; 3) Jumlah plaintext dan kunci dibatasi yaitu

    menampung 32 karakter serta proses putaran terdiri dari 20 putaran; 4) Panjang

    block adalah 256-bit.

    Dalam perancangan algoritma kriptografi Block Cipher 256 bit berbasis

    pola huruf B, M, E, W, dilakukan dalam 1 (satu) proses enkripsi dimana plaintext

    disubstitusikan menggunakan tabel substitusi S-Box AES terlebih dahulu dan

    kemudian dilakukan proses enkripsi. Setiap proses enkripsi terdiri dari 4 (empat)

    proses plaintext (P) dan 4 (empat) proses kunci (K) dan dilakukan sebanyak 20

    putaran.

  • 14

    Gambar 3 Rancangan Alur Enkripsi

    Gambar 3 merupakan rancangan alur proses enkripsi. Langkah-langkah

    alur proses enkripsi dapat dijelaskan sebagai berikut: a) Menyiapkan plaintext; b)

    Mengubah plaintext menjadi biner sesuai dalam tabel ASCII; c) Melakukan

    substitusi dari bilangan biner plaintext ke bilangan hexa dengan menggunakan

    tabel substitusi S-Box AES yang kemudian akan menghasilkan bilangan biner

    untuk Plaintext 1 (P1); d) Dalam rancangan enkripsi plaintext dan kunci melewati

    4 (empat) proses pada setiap putaran: 1) Putaran pertama Plaintext 1 (P1)

    melakukan transformasi dengan pola huruf ‘B’ sebagai pola pengambilan

    plaintext dan di-XOR dengan Kunci 1 (K1) menghasilkan Plaintext 2 (P2); 2)

    Plaintext 2 (P2) melakukan transformasi dengan pola huruf ‘W’ sebagai pola

    pengambilan plaintext dan di-XOR dengan Kunci 2 (K2) menghasilkan Plaintext

    Plaintext (P)

    Subtitusi S-Box

    P1

    P2

    P3

    P4

    K1

    K2

    K3

    K4

    Kunci (K)

    Ciphertext

    Putaran 1

    Plaintext (P)

    Subtitusi S-Box

    P1

    P2

    P3

    P4

    K1

    K2

    K3

    K4

    Kunci (K)

    P5

    Putaran 20

  • 15

    3 (P3); 3) Plaintext 3 (P3) melakukan transformasi dengan pola huruf ‘E’ sebagai

    pola pengambilan plaintext dan di-XOR dengan Kunci 3 (K3) menghasilkan

    Plaintext 4 (P4); 4) Plaintext 4 (P4) melakukan transformasi dengan pola huruf

    ‘M’ sebagai pola pengambilan plaintext dan di-XOR dengan Kunci 4 (K4)

    menghasilkan Plaintext 5 (P5); 5) Plaintext 5 (P5) masuk pada putaran kedua

    sebagai Plaintext awal (P) dengan alur proses yang sama dengan putaran pertama,

    dan tahapan tersebut akan berlanjut sampai putaran ke 20 yang menghasilkan

    Ciphertext akhir.

    4. Hasil dan Pembahasan

    Bagian ini akan membahas secara rinci mengenai perancangan algoritma

    kriptografi Block Cipher 256 bit berbasis pola huruf B, M, E, W. Bagian ini juga

    akan membahas tentang proses enkripsi dan dekripsi.

    Pada perancangan algoritma kriptografi block cipher 256 bit yang berbasis

    pada pola huruf B, M, E, W ini, dilakukan 24 kombinasi yang terdiri dari

    kombinasi A, B, C, dan D yang di dalamnya terdapat 4 proses plaintext dan 4

    proses kunci. Masing-masing kombinasi terdiri dari 6 kombinasi berbeda,

    misalnya kombinasi A: A-B-C-D, A-B-D-C, A-C-D-B, A-C-B-D, A-D-B-C, A-D-

    C-B, kombinasi B: B-C-D-A, B-C-A-D, B-D-A-C, B-D-C-A, B-A-C-D, B-A-D-

    C, dan seterusnya hingga kombinasi D.

    Berdasarkan 24 kombinasi tersebut, dicari kombinasi dengan pola yang

    paling optimal yaitu kombinasi yang memiliki nilai korelasi yang paling rendah,

    yang ditunjukkan dalam Tabel 2.

    Tabel 2 Nilai Korelasi Setiap Kombinasi

    Kombinasi Nilai Korelasi

    A-B-C-D -0,2738841

    A-B-D-C -0,0648996

    A-C-D-B -0,1043288

    A-C-B-D -0,4085639

    A-D-C-B -0,1741447

    A-D-B-C 0,00552308

    B-C-D-A 0,13132261

    B-C-A-D -0,0620167

    B-D-A-C 0,03699943

    B-D-C-A -0,0605758

    B-A-C-D 0,17862312

    B-A-D-C 0,12512971

    C-D-A-B 0,00728983

    C-D-B-A -0,4436243

    C-A-B-D -0,0126208

    C-A-D-B -0,0259342

    C-B-D-A 0,06478748

    C-B-A-D -0,4578454

    D-A-B-C 0,05298948

    D-A-C-B 0,11374595

    D-B-C-A 0,08817973

    D-B-A-C 0,03187632

    D-C-A-B 0,17342495

  • 16

    D-C-B-A 0,43040603

    Nilai korelasi tidak terpaut pada nilai positif dan negatifnya. Nilai korelasi

    terbaik adalah yang paling dekat dengan angka 0. Jadi pada Tabel 2 dapat dilihat

    bahwa kombinasi dengan nilai korelasi terkecil adalah kombinasi A-D-C-B

    dengan nilai korelasi 0,00552308, sehingga pola yang paling optimal yang didapat

    dari kombinasi tersebut adalah pola huruf B, W, E, M yang digunakan sebagai

    pola pengambilan plaintext pada proses enkripsi, yang dapat dilihat pada Gambar

    4.

    Gambar 4 Pola Pengambilan Plaintext

    Pada Gambar 4 dapat dijelaskan bahwa pola pengambilan plaintext 1 atau

    pola A berbentuk sama seperti huruf ‘B’. Setiap kolom yang membentuk huruf B

    terdiri dari 16 bit (4x4) yang dihubungkan dengan garis anak panah yang

    berwarna kuning dengan titik kuning sebagai titik awal. Proses

    pengambilan bit pada kolom yang berbentuk huruf B ini dimulai dari titik hitam

    sebagai titik awal pengambilan bit dan diikuti dengan garis anak panah yang

    berwanra hitam . Setelah pengambilan 16 bit pada kolom huruf B

    pertama selesai, maka dilanjutkan ke kolom berikutnya sesuai dengan garis anak

    panah yang ada. Proses ini berlanjut hingga proses pengambilan bit pada plaintext

    1 selesai dengan total sebanyak 256 bit. Kemudian dilanjutkan dengan pola huruf

    dan arah yang berbeda sesuai pada Gambar 4 untuk proses pengambilan bit pada

    plaintext 2, plaintext 3, dan plaintext 4.

    Pada bagian sebelumnya sudah dibahas bahwa perancangan algoritma

    kriptografi block cipher berbasis pola huruf B, M, E, W ini dilakukan sebanyak 20

    putaran untuk proses enkripsi yang masing-masing putaran terdiri dari 4 proses

    dan akan menghasilkan ciphertext pada putaran terakhir. Rancangan proses

    enkripsi dapat dilihat pada Gambar 5. Pertama, Plaintext (P) dikonversi menjadi

  • 17

    ASCII yang kemudian diubah menjadi bilangan biner. Bilangan biner kemudian

    dikonversi menjadi bilangan hexa untuk disubstitusikan dengan tabel substitusi S-

    Box AES. Setelah disubstitusi, bilangan hexa kembali dikonversi menjadi

    bilangan biner yang tentunya berbeda dengan yang sebelumnya. Pada proses 1

    plaintext, pemasukan bit dilakukan secara horizontal dari arah kiri ke kanan

    hingga memenuhi kolom matriks 16x16. Kemudian pengambilan bit dilakukan

    sesuai dengan pola huruf B yang menghasilkan Plaintext 1 (P1). Proses

    pemasukan dan pengambilan bit pada kunci berbeda dengan plaintext, karena

    proses kunci tanpa melalui substitusi S-Box. Proses 1 kunci memiliki pola yang

    berbeda dengan pola plaintext dan akan menghasilkan Kunci 1 (K1). Plaintext 1

    (P1) di-XOR dengan Kunci 1 (K1) dan menghasilkan Ciphertext 1 (C1).

    Kemudian Ciphertext 1 (C1) digunakan untuk proses selanjutnya dengan pola

    yang berbeda tanpa melakukan substitusi S-Box dan akan menghasilkan Plaintext

    2 (P2) yang kemudian di-XOR dengan Kunci 2 (K2) dan menghasilkan Ciphertext

    2 (C2). Proses ini berlangsung hingga putaran pertama selesai dan menghasilkan

    Ciphertext 4 (C4) yang digunakan sebagai Plaintext awal (P) pada putaran ke 2

    dan mengikuti proses dan skema yang sama pada putaran yang pertama hingga

    putaran yang ke 20 dan akan menghasilkan Ciphertext 4 (C4) yang digunakan

    sebagai ciphertext akhir.

  • 18

    Gambar 5 Rancangan Proses Enkripsi

    Gambar 5 menjelaskan tentang rancangan proses enkripsi pada putaran 1

    hingga putaran ke 20 yang akan menghasilkan ciphertext akhir.

    Plaintext

    ASCII

    Biner

    S-Box

    Proses 1

    Pemasukan Bit

    Pengambilan Bit

    P1

    Putaran 1

    Kunci

    Proses 1

    Pemasukan Bit

    Pengambilan Bit

    K1

    C1

    Proses 4

    Pemasukan Bit

    Pengambilan Bit

    P4

    Proses 4

    Pemasukan Bit

    Pengambilan Bit

    K4

    C4

    Putaran 20

    Ciphertext

  • 19

    Gambar 6 Tabel Substitusi S-Box

    Sebelum masuk dalam proses pemasukan dan pengambilan bit plaintext,

    pertama-tama Plaintext awal (P) melalui sebuah proses transformasi yaitu bit awal

    pada plaintext disubstitusikan terlebih dahulu dengan menggunakan tabel

    substitusi S-Box yang dapat dilihat pada Gambar 6. Tahap pertama sebelum

    substitusi terlebih dahulu mengkonversi nilai bit menjadi bilangan hexa. Cara

    pensubstitusian adalah sebagai berikut: misalkan byte yang akan disubstitusi

    adalah S[r,c] = xy, dimana xy merupakan nilai digit hexa dari S[r,c], maka hasil

    substitusinya dinyatakan dengan S’[r,c] yang adalah nilai yang didapat dari

    perpotongan baris x dan kolom y dalam S-Box. Misalkan S[r,c] = 65, maka S’[r,c]

    = 45. Setelah melakukan proses substitusi, bilangan hexa kembali dikonversi

    menjadi biner yang kemudian dimasukkan ke dalam pola pemasukan plaintext

    yang dibahas pada Gambar 7.

    Gambar 7 Pola Pemasukan Bit Plaintext 1 (P1)

    Gambar 7 menjelaskan proses pemasukan bit plaintext pada proses 1 yang

    dilakukan secara horizontal dari arah kiri ke kanan secara berurutan ke bawah.

  • 20

    Proses pengambilan bit berbeda dengan proses pemasukan bit, yaitu

    menggunakan pola huruf B yang dapat dilihat pada Gambar 8.

    Gambar 8 Pola Pengambilan Bit Plaintext 1 (P1)

    Proses pengambilan bit pada matriks dimulai dari kolom 4x4 yang

    berbentuk huruf B yang berada di bagian kanan bawah. Setelah itu, pengambilan

    bit pada kolom 4x4 berikutnya sesuai dengan arah panah yang ditunjukkan pada

    Gambar 8. Hasil pengambilan bit dapat dilihat pada Gambar 9.

    Gambar 9 Hasil Pengambilan Bit Plaintext 1 (P1)

    Hasil pengambilan bit Plaintext 1 (P1) diurutkan secara horizontal mulai

    dari kiri ke kanan secara berurutan ke bawah. Untuk pemasukan dan pengambilan

    bit pada kunci dilakukan dengan pola yang berbeda dapat dilihat pada Gambar 10.

  • 21

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

    Alur proses pemasukan bit pada Kunci 1 (K1) sama dengan alur proses

    pengambilan bit pada Plaintext 1 (P1), yaitu pada matriks kolom 4x4 dengan titik

    kuning sebagai titik awal dan diikuti dengan arah panah berwarna kuning. Pada

    kolom 4x4 dalam matriks, bit dimasukkan pertama pada kolom yang memiliki

    titik berwarna hitam kemudian diikuti dengan kolom yang dilintasi olah garis arah

    panah berwarna hitam. Setelah itu diikuti dengan kolom yang memiliki angka 1,

    2, 3 dan 4. Setelah kolom matriks 4x4 pertama telah terisi, maka akan berpindah

    pada kolom matriks 4x4 berikutnya sesuai dengan garis arah panah berwarna

    kuning. Proses yang sama juga dilakukan untuk pengambilan bit Kunci 1 (K1).

    Proses pemasukan bit kunci dapat dilihat pada Gambar 11.

    Gambar 11 Pola Pemasukan Bit Kunci 1 (K1)

    Pola pemasukan bit kunci pada Gambar 11 dilakukan sesuai dengan pola

    pemasukan bit kunci pada proses Kunci 1 (K1), sedangkan pola pengambilan bit

    dapat dilihat pada Gambar 12.

  • 22

    Gambar 12 Pola Pengambilan Bit Kunci 1 (K1)

    Setelah proses pengambilan bit selesai, maka akan didapat hasil

    pengambilan bit Kunci 1 (K1) yang dapat dilihat pada Gambar 13.

    Gambar 13 Hasil Pengambilan Bit Kunci 1 (K1)

    Hasil pengambilan bit Kunci 1 (K1) diurutkan secara horizontal dari arah

    kiri ke kanan berurutan ke bawah. Hasil pengambilan bit Kunci 1 (K1) dapat

    dilihat pada Gambar 13. Hasil K1 di-XOR dengan P1 dan akan menghasilkan

    Ciphertext 1 (C1)

    C1 = P1⨁K1 (7)

    Pada bagian ini akan dibahas mengenai proses dekripsi. Proses dekripsi

    merupakan kebalikan dari proses enkripsi atau suatu proses untuk mengembalikan

    ciphertext menjadi plaintext awal. Pada proses dekripsi, pola pengambilan bit

    ciphertext berubah menjadi pola pemasukan ciphertext namun memiliki arah yang

    berbeda. Dapat dilihat pada Gambar 14.

  • 23

    Gambar 14 Pola Pemasukan Ciphertext

    Pada kolom 16 bit (4x4) dapat dilihat bahwa garis anak panah yang

    berwarna hitam pada pola pemasukan bit ciphertext pada proses dekripsi memiliki

    arah yang berlawanan dengan pola pengambilan bit ciphertext pada proses

    enkripsi, namun memiliki bentuk atau pola yang sama untuk setiap proses.

    Sebelumnya telah dibahas bahwa pola dekripsi merupakan kebalikan dari pola

    enkripsi sehingga pola pengambilan ciphertext pada pola enkripsi dijadikan

    sebagai pola pemasukan ciphertext pada pola dekripsi, hanya saja arahnya yang

    berbeda.

    Pada proses dekripsi digunakan kunci dan proses kunci dengan urutan

    yang sama dengan yang digunakan pada proses enkripsi, dapat dilihat pada

    Gambar 10, Gambar 11, Gambar 12 dan Gambar 13 pada bagian sebelumnya.

  • 24

    Gambar 15 Rancangan Proses Dekripsi

    Putaran 20

    Ciphertext 4

    ASCII

    BINER

    Kunci 4

    BINER

    Transposisi Terbalik

    Pola Pemasukan Plaintext 4

    Proses 4

    C3

    Ciphertext 1 Kunci 1

    BINER

    Transposisi Terbalik

    Pola Pemasukan Plaintext 1

    Proses 1

    Pola Pengambilan Plaintext 1

    HEXA

    S-Box

    BINER

    ASCII

    CHAR

    Plaintext

    Putaran 1

  • 25

    Gambar 15 menjelaskan rancangan proses dekripsi dari putaran 20 hingga

    putaran 1 yang mengembalikan ciphertext akhir menjadi plaintext awal, dan yang

    dikerjakan lebih dulu adalah proses 4 secara berurutan hingga proses 1.

    Gambar 16 Transposisi Terbalik Dari Hasil XOR C1 dan K1

    Gambar 16 dimisalkan sebagai hasil transposisi bit terbalik dari hasil XOR

    C1 dan K1.

    Gambar 17 Pola Pemasukan Ciphertext 1 (P1)

    Pola pemasukan ciphertext pada proses dekripsi memiliki bentuk yang

    sama dengan pola pengambilan ciphertext pada proses enkripsi yaitu berbentuk

    huruf B pada setiap bagian kolom 16 bit atau 4x4 yang setiap kolom dihubungkan

    secara berurutan menggunakan garis putus-putus berwarna hitam.

  • 26

    Gambar 18 Hasil Pemasukan Ciphertext 1 (C1)

    Setelah proses pemasukan bit selesai, maka didapat hasil pemasukan bit

    plaintext yang ditunjukkan pada Gambar 18.

    Gambar 19 Hasil Pengambilan Ciphertext 1 (C1)

    Gambar 19 menjelaskan pola pengambilan plaintext yang dilakukan secara

    horizontal dari kiri ke kanan secara berurutan dari atas ke bawah.

  • 27

    Tabel 3 Algoritma Proses Enkripsi dan Dekripsi

    Proses Enkripsi Proses Dekripsi Masukkan Plaintext

    Plaintext diubah ke ASCII

    ASCII diubah ke BINER

    BINER diubah ke HEXA

    HEXA disubstitusi menggunakan tabel Substitusi

    S-Box AES

    Hasil HEXA diubah ke BINER

    BINER dimasukan ke kolom P1 menggunakan

    pola pemasukan Plaintext 1

    Bit P1 ditransposisikan menggunakan pola huruf

    B (pola pengambilan plaintext 1)

    P1 dan K1 di-XOR menghasilkan C1

    C1 diubah ke BINER

    BINER dimasukan ke kolom P2 menggunakan

    pola pemasukan Plaintext 2

    Bit P2 ditransposisikan menggunakan pola huruf

    W (pola pengambilan plaintext 2)

    P2 dan K2 di-XOR menghasilkan C2

    C2 diubah ke BINER

    BINER dimasukan ke kolom P3 menggunakan

    pola pemasukan Plaintext 3

    Bit P3 ditransposisikan menggunakan pola huruf

    E (pola pengambilan plaintext 3)

    P3 dan K3 di-XOR menghasilkan C3

    C3 diubah ke BINER

    BINER dimasukkan ke kolom P4 menggunakan

    pola pemasukan Plaintext 4

    Bit P4 ditransposisikan menggunakan pola huruf

    M (pola pengambilan plaintext 4)

    P4 dan K4 di-XOR menghasilkan C4

    C4 diubah ke BINER

    BINER diubah ke ASCII

    Masukkan C4

    C4 diubah ke ASCII

    ASCII diubah ke BINER

    Bit C4 di-XOR dengan K4

    Hasil XOR ditransposisikan terbalik

    Hasil transposisi ditransposisi kembali menggunakan

    pola huruf M dengan arah sebaliknya (pola

    pemasukan plaintext 4) menghasilkan P4

    Bit P4 ditransposisikan menggunakan pola

    pengambilan Plaintext 4 menghasilkan C3

    Bit C3 di-XOR dengan K3

    Hasil XOR ditransposisikan terbalik

    Hasil transposisi ditransposisi kembali menggunakan

    pola huruf E dengan arah sebaliknya (pola

    pemasukan plaintext 3) menghasilkan P3

    Bit P3 ditransposisikan menggunakan pola

    pengambilan Plaintext 3 menghasilkan C2

    Bit C2 di-XOR dengan K2

    Hasil XOR ditransposisikan terbalik

    Hasil transposisi ditransposisi kembali menggunakan

    pola huruf W dengan arah sebaliknya (pola

    pemasukan plaintext 2) menghasilkan P2

    Bit P2 ditransposisikan menggunakan pola

    pengambilan Plaintext 2 menghasilkan C1

    Bit C1 di-XOR dengan K1

    Hasil XOR ditransposisikan terbalik

    Hasil transposisi ditransposisi kembali menggunakan

    pola huruf B dengan arah sebaliknya (pola

    pemasukan plaintext 1) menghasilkan P1

    Bit P1 ditransposisikan menggunakan pola

    pengambilan Plaintext 1

    BINER diubah ke HEXA

    HEXA diinvers dengan menggunakan tabel substitusi

    S-Box AES

    HEXA diubah ke BINER

    BINER diubah ke ASCII

    ASCII diubah ke CHAR menghasilkan Plaintext

    Tabel 3 merupakan algoritma proses enkripsi dan dekripsi dari

    perancangan yang dibuat. Proses enkripsi menhasilkan Ciphertext 4 (C4)

    sedangkan proses dekripsi menghasilkan Plaintext awal (P).

    Algoritma proses Kunci (Key) :

    1. Masukkan Kunci 2. Kunci diubah ke ASCII 3. ASCII diubah ke BINER 4. Bit BINER dimasukkan ke kolom K1 menggunakan pola masuk Kunci 1 5. Bit K1 ditransposisikan dengan pola pengambilan Kunci 1

  • 28

    6. Hasil transposisi K1 dimasukkan ke kolom K2 menggunakan pola masuk Kunci 2

    7. Bit K2 ditransposisikan dengan pola pengambilan Kunci 2 8. Hasil transposisi K2 dimasukkan ke kolom K3 menggunakan pola masuk

    Kunci 3

    9. Bit K3 ditransposisikan dengan pola pengambilan Kunci 3 10. Hasil transposisi K3 dimasukkan ke kolom K4 menggunakan pola masuk

    Kunci 4

    11. Bit K4 ditransposisikan dengan pola pengambilan Kunci 4

    Pseudocode proses Enkripsi dan Dekripsi, dijelaskan sebagai berikut:

    Proses Enkripsi (Program ini dilakukan untuk mengenkripsi data)

    Kamus P,K,P1,P2,P3,P4,K1,K2,K3,K4, = integer C1,C2,C3,C4 = integer

    Start Putaran = 1 Input P Read P P to ASCII ASCII to BINER BINER to HEXA HEXA substitusi menggunakan S-Box HEXA to BINER Print BINER P Output P C1

  • 29

    Print C3 C4

  • 30

    Read C1 C1 to ASCII ASCII to BINER P1

  • 31

    tetapi jika mendekati 0 maka plaintext dan ciphertext tidak memiliki nilai yang

    berhubungan.

    Pengujian avalanche effect dilakukan untuk mengetahui perbedaan bit

    ciphertext dari setiap putaran dengan cara merubah 1 karakter pada plaintext dari

    DISASTER menjadi DISASTEX dengan kunci yang sama SRIRAMSR, dapat

    dilihat pada Tabel 5.

    Tabel 5 Hasil Pengujian Avalanche Effect

    Putaran Avalanche Effect

    1 1,5625

    2 6,25

    3 19,921875

    4 40,234375

    5 46,484375

    6 39,84375

    7 42,1875

    8 42,1875

    9 43,359375

    10 43,359375

    11 42,578,125

    12 50,78125

    13 48,828125

    14 45,703125

    15 44,140625

    16 46,484375

    17 46,875

    18 45,703125

    19 38,28125

    20 38,671875

    Berdasarkan data pada Tabel 5 dapat dilihat bahwa perubahan 1 karakter

    pada plaintext memiliki dampak yang sangat besar terhadap perubahan bit pada

    ciphertext setiap putaran.

  • 32

    Gambar 14 Grafik Avalanche Effect

    Pada data yang ada dalam grafik di atas dapat dilihat bahwa hasil

    pengujian avalanche effect tertinggi adalah 50,78125%. Dengan demikian,

    perubahan 1 karakter pada plaintext memiliki dampak yang signifikan pada

    ciphertext karena nilai avalanche effect sudah mencapai lebih dari 50%.

    5. Simpulan

    Berdasarkan penelitian dan pengujian terhadap perancangan algoritma

    kriptografi block cipher berbasis pola huruf B, M, E, W, maka dapat disimpulkan:

    1) pola huruf B, M, E, W dapat digunakan sebagai pola pengambilan plaintext dan

    menghasilkan ciphertext yang acak dan jauh berbeda dengan plaintext; 2)

    perubahan input pada 1 karakter plaintext sangat berpengaruh pada hasil

    ciphertext di setiap putaran; 3) pengujian nilai korelasi pada setiap proses putaran

    memiliki hubungan korelasi yang lemah sehingga dapat dikatakan bahwa

    perancangan algoritma kriptografi block cipher berbasis pada pola huruf B, M, E,

    W dapat menyamarkan plaintext dengan baik; 4) algoritma kriptografi block

    cipher 256 bit berbasis pola huruf B, M, E, W terdiri dari 20 putaran untuk setiap

    proses enkripsi, dimana setiap putaran terdiri dari 4 proses dan plaintext awal pada

    setiap putaran disubstitusi menggunakan tabel substitusi S-Box AES dan mampu

    menghasilkan enkripsi yang acak dengan nilai avalanche effect sebesar

    50,78125% sehingga dapat diterapkan untuk mengamankan data atau informasi

    berupa teks.

    0

    10

    20

    30

    40

    50

    60

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

    AVALANCHE EFFECT

    AVALANCHE EFFECT

  • 33

    6. Daftar Pustaka

    [1] http://repository.usu.ac.id/bitstream/123456789/55583/5/Chapter%20I.pdf

    , diakses pada 17 November 2016.

    [2] Schneier, B., 1996, Applied Cryptography, Second Editor, New York:

    John Wiley and Sons.

    [3] Munir,R., 2006, Kriptografi, Bandung: Informatika

    [4] Pakereng, M. A. I., 2010, Kriptografi Dengan Algoritma Genetika,

    Salatiga: Widya Sari.

    [5] Dipanegara, A., 2011, New Concept Hacking. Jakarta: Agogos Publishig.

    [6] https://cryptobounce.wordpress.com/tag/kriptografi-simetrik/, diakses

    pada 17 November 2016.

    [7] Bili, D. D. Pakereng, M. A. I., Wowor, A.D., 2015, Perancangan

    Kriptografi Block Cipher Dengan Langkah Kuda. Salatiga: Jurusan Teknik

    Informatika Universitas Kristen Satya Wacana.

    [8] Mone, A., Pakereng, M. A. I., Wowor, A. D., 2015, Penggunaan Motif

    Kain Tenun Timor Dan Linear Congruential Generator (LCG) Dalam

    Merancang Dan Mengimplementasikan Algoritma Kriptografi Cipher

    Block. Salatiga : Jurusan Teknik Informatika Universitas Kristen Satya

    Wacana.

    [9] Tuhumury, F. Pakereng, M. A. I., Wowor, A. D., 2016, Perancangan

    Kriptografi Block Cipher Berbasis Pada Pola Tuangan Air. Salatiga:

    Jurusan Teknik Informatika Universitas Kristen Satya Wacana.

    [10] Stinson, D. R., 1995. Cryptography: Theory and Practice. CRC Press,

    Boca Raton, London, Tokyo.

    http://repository.usu.ac.id/bitstream/123456789/55583/5/Chapter%20I.pdfhttps://cryptobounce.wordpress.com/tag/kriptografi-simetrik/