Perancangan Kriptografi Block Cipher Berbasis pada Teknik Anyaman … · 2018. 5. 18. · Contoh...

25
Perancangan Kriptografi Block Cipher Berbasis Pada Teknik Anyaman Dasar Tunggal Artikel Ilmiah Peneliti : Shelta Claudia Putri (672008293) M. A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Mei 2015

Transcript of Perancangan Kriptografi Block Cipher Berbasis pada Teknik Anyaman … · 2018. 5. 18. · Contoh...

  • Perancangan Kriptografi Block Cipher

    Berbasis Pada Teknik Anyaman Dasar Tunggal

    Artikel Ilmiah

    Peneliti :

    Shelta Claudia Putri (672008293)

    M. A. Ineke Pakereng, M.Kom.

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

    Program Studi Teknik Informatika

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Salatiga

    Mei 2015

  • Perancangan Kriptografi Block Cipher

    Berbasis Pada Teknik Anyaman Dasar Tunggal

    Artikel Ilmiah

    Diajukan kepada

    Fakultas Teknologi Informasi

    Untuk memperoleh gelar Sarjana Komputer

    Peneliti :

    Shelta Claudia Putri (672008293)

    M. A. Ineke Pakereng, M.Kom.

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

    Program Studi Teknik Informatika

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Salatiga

    Mei 2015

  • Perancangan Kriptografi Block Cipher

    Berbasis Pada Teknik Anyaman Dasar Tunggal

    1

    Shelta Claudia Putri, 2M. A. Ineke Pakereng,

    3Alz Danny Wowor

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Jl. Diponegoro 52-60, Salatiga 50771, Indonesia

    Email: [email protected],

    [email protected],

    [email protected]

    Abstract

    The cryptography use to increase secure of the data and keep should be updating,

    because a lot of cryptographic has been released and already solved by the cryptanalysis.

    This research based is how to create cryptographic block cipher on a Anyaman Dasar

    Tunggal method where that method use a pattern for to encryption the data. This

    research results can be use an alternative for secure the data and also a new

    cryptographic method.

    Keywords : Cryptography, Block Cipher Cryptography, Anyaman Dasar Tunggal.

    Abstrak

    Kriptografi yang digunakan untuk meningkatkan keamanan data harus selalu

    diperbaharui, dikarenakan banyak kriptografi yang dipublish dan sudah dipecahkan oleh

    kriptanalisis. Penelitian ini merancang sebuah kriptografi block cipher berbasis pada

    teknik anyaman dasar tunggal dimana teknik tersebut digunakan menjadi pola dalam

    mengenkripsi data. Hasil dari penelitian ini dapat dipakai sebagai alternatif untuk

    mengamankan data dan juga sebagai teknik kriptografi baru.

    Kata Kunci : Kriptografi, Kriptografi Block Cipher, Anyaman Dasar Tunggal.

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

    Satya Wacana, Salatiga. 2 Staff pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga.

    3 Staff pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga.

  • 1

    1. Pendahuluan

    Proses pengiriman dan pertukaran informasi atau data dilakukan melalui

    perangkat digital karena itu faktor keamanan diperlukan agar dalam proses

    tersebut tidak terjadi pencurian maupun manipulasi data oleh pihak yang tidak

    bertanggung jawab. Untuk menjaga kerahasiaan dan keamanan data, maka

    diperlukan sebuah metode pengamanan, yaitu kriptografi. Terdapat banyak teknik

    kriptografi yang bisa digunakan, salah satunya adalah block cipher, yang

    merupakan suatu algoritma yang input dan output-nya berupa satu block, dan

    setiap block terdiri dari beberapa bit [1].

    Kriptografi digunakan dalam kehidupan sehari-hari. Contoh penerapan

    kriptografi yang banyak digunakan, adalah kartu cerdas dan transaksi Anjungan

    Tunai Mandiri (ATM). Kartu cerdas dapat melayani banyak fungsi, mulai dari

    otentikasi sampai penyimpanan data. Banyak peralatan mobile yang menggunakan

    kartu cerdas untuk otentikasi. Namun kartu cerdas tidak menjamin keamanan

    secara total. Jika perangkat mobile hilang, sertifikat digital dan kunci privat di

    dalam kartu cerdas berpotensi diakses oleh pencuri. Selain kartu cerdas, contoh

    lain dari kegunaan kriptografi adalah transaksi melalui ATM. Dalam melakukan

    transaksi kartu ATM diberi kode PIN (Personal Information Number) yang

    berasosiasi dengan kartu tersebut. PIN diperlukan untuk keamanan dalam proses

    transaksi agar data pengguna tidak disalahgunakan oleh pihak yang tidak

    bertanggung jawab [2].

    Munir [2], menjelaskan bahwa kriptografi DES digunakan sebagai alat

    pengamanan PIN di berbagai bank di Indonesia. Karena menggunakan DES maka

    rata-rata PIN berjumlah 4 atau 6 karakter, yang kemudian di-padding

    (ditambahkan karakter NULL) sampai 8 dan memenuhi ukuran kunci pada DES

    yang sebanding dengan 64 bit. Penggunaan DES sebagai pengamanan sangat

    berisiko karena keberadaan DES sudah diganti oleh AES, selain itu kriptografi

    tersebut sudah dipecahkan dengan teknik differential cryptanalysis oleh

    kriptanalis Eli Biham dan Adi Shamir [3]. Kondisi penggunaan DES di berbagai

    bank menujukkan bahwa sangat kurang metode kriptografi baru yang dapat

    digunakan untuk mengamankan berbagai informasi penting.

    Penelitian ini merancang algoritma ayaman dasar tunggal dan kemudian

    digunakan untuk merancang kriptografi blok cipher. Anyaman Dasar Tunggal

    (ADT) merupakan salah satu dari sekian banyak anyaman yang ada, yang

    biasanya diterapkan pada pembuatan tikar, ancak, atau yang lainnya. ADT

    digunakan sebagai pola atau alur untuk menempatkan bit-bit dalam sebuah blok

    dengan yang dikombinasikan dengan operasi-operasi kriptografi.

    Tujuan penelitian ini adalah merancang algoritma kriptografi simetris yang

    berbasis pada Anyaman Dasar Tunggal. Kemudian algoritma tersebut digunakan

    dalam rancangan kriptografi block cipher, dan ini selanjutnya akan dibandingkan

    dengan kriptografi AES.

    2. Tinjauan Pustaka

    Bagian ini membahas tentang pustaka terkait dengan penelitian yang telah

    dilakukan sebelumnya. Pustaka-pustaka tersebut akan digunakan sebagai

  • 2

    pembanding atau sebagai acuan. Adapun bagian kedua membahas teori dasar yang

    digunakan dalam penelitian ini.

    Kajian yang pertama membahas penelitian terdahulu dengan judul

    “Perancangan Algoritma pada Kriptografi Block Cipher dengan Teknik Langkah

    Kuda dalam Permainan Catur”. Penelitian ini membahas tentang bagaimana

    merancang kriptografi simetris berbasis block cipher dengan menggunakan teknik

    langkah kuda dalam permainan catur sebagai pola pengambilan bit di dalam kotak

    8×8. Proses enkripsi dilakukan sebanyak empat putaran untuk menghasilkan

    cipherteks [4]. Kesamaan penelitian di atas dengan penelitian ini adalah sama-

    sama merupakan kriptografi simetris berbasis block cipher. Penelitian di atas

    dijadikan dasar dan acuan untuk membuat kriptografi baru.

    Penelitian yang kedua berjudul “Studi dan Analisis Algoritma Rivest Code 6

    (RC6) dalam Enkripsi/Dekripsi Data”. Dalam penelitian ini dibahas proses

    enkripsi dan dekripsi dengan algoritma RC6. RC6 memecah block 128 bit menjadi

    4 buah block 32 bit, menjadi A, B, C, D. Byte yang pertama dari plainteks atau

    cipherteks ditempatkan pada byte A, sedangkan byte yang terakhirnya

    ditempatkan pada byte D. Dalam prosesnya akan didapatkan (A, B, C, D) = (B, C,

    D, A) yang diartikan bahwa nilai yang terletak pada sisi kanan berasal dari

    register disisi kiri. Algoritma RC6 menggunakan 44 buah sub kunci yang

    dibangkitkan dari kunci dan dinamakan dengan S[0] hingga S[43]. Masing-

    masing sub kunci panjangnya 32 bit [5]. Kesamaan penelitian kedua dengan

    penelitian ini adalah sama-sama menggunakan kunci simetris dan berbasis block

    cipher.

    AES (Advanced Encryption Standard) adalah teknik enkripsi yang dijadikan

    standard FIPS oleh NIST (Nasional Institute of Standards and Technology) tahun

    2001. AES menjadi standard melalui proses seleksi. Dari beberapa teknik enkripsi

    yang dicalonkan untuk menjadi AES, yang terpilih adalah enkripsi Rijndael.

    Teknik enkripsi ini termasuk jenis block cipher [6]. Rijndael mendukung panjang

    kunci 128 bit sampai 256 bit dengan step 32 bit. Panjang kunci dan ukuran blok

    dapat dipilih secara independen. Karena AES menetapkan panjang kunci adalah

    128, 192, dan 256, maka dikenal AES-128, AES-192, dan AES-256 [7]. AES

    digunakan sebagai pembanding dalam penelitian ini, dan AES yang digunakan

    adalah AES-128 karena merupakan standard pengamanan yang dipakai saat ini.

    Yang akan dibandingkan adalah nilai keacakan dan juga diferensiasi data.

    Selanjutnya, teori-teori dasar yang akan dibahas dalam penelitian ini

    meliputi:

    Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan

    berita. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari

    teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi

    seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [2].

    ada berbagai macam teknik kriptografi, salah satu diantaranya adalah block

    cipher.

    Block cipher mengenkripsi pesan dengan cara merangkai bit-bit plainteks

    yang kemudian dibagi menjadi blok dengan panjang yang sama [8][9]. Skema

    enkripsi dan dekripsi dengan block cipher digambarkan pada Gambar 1.

  • 4

    dikeringkan dan lembut. Ada beberapa jenis anyaman salah satunya ada anyaman

    tunggal. Agung [13], mengatakan anyaman tunggal adalah anyaman dengan

    aturan satu lembar lusi (iratan bilah bambu arah melintang) ditimpa dengan satu

    lembar pakan (iratan bilah bambu arah membujur). Contoh anyaman dapat

    ditunjukkan pada Gambar 2.

    Gambar 2 Contoh Anyaman

    Gambar 2 merupakan hasil anyaman, dimana dalam proses menganyam tikar

    2 bahan dari daun pandan saling ditimpa yaitu arah menyimpang (iratan) dan juga

    arah membujur (pakan). Pada baris pertama (ganjil) bilah melintang masuk kesatu

    bilah membujur sehingga menjadi pola tersembunyi (tidak tampak), sedangkan

    pada baris kedua (genap) iratan bilah membujur masuk ke satu bilah melintang

    sehingga menjadikan pola timbul (tampak), proses tersebut berulang sampai

    anyaman selesai sehingga membuat pola timbul dan tersembunyi.

    Untuk memenuhi ukuran blok 8×8 yang sebanding dengan 64 bit,

    perancangan ini menggunakan padding. Proses padding adalah proses

    penambahan byte-byte dummy berupa karakter NULL pada byte-byte sisa yang

    masih kosong pada blok terakhir plainteks, sehingga ukurannya menjadi sama

    dengan ukuran blok penyandian [14].

    Perancangan ini juga menggunakan transposisi bit. Menurut Munir [2], pada

    algoritma Columnar Transposition, huruf-huruf di dalam plaintext tetap sama

    namun urutannya diubah. Algoritma ini melakukan transpose terhadap rangkaian

    karakter di dalam teks. Nama lain untuk metode ini adalah permutasi atau

    pengacakan (scrambling) karena transpose setiap karakter di dalam teks sama

    dengan mempermutasikan karakter-karakter tersebut.

    Pada penelitian ini, pengujian rancangan kritografi dilakukan dengan mencari

    nilai keacakan dan diferensiasi data. Nilai keacakan digunakan untuk mengetahui

    besarnya algoritma kriptografi yang dirancang mampu mengacak plainteks yang

    dimasukkan. Cara mencari nilai keacakan dirumuskan [15].

    )6(i

    iii

    p

    cpY

    Dimana Yi sebagai nilai keacakan ke-i, dan secara berturut-turut pi dan ci adalah

    nilai plainteks dan cipherteks ke-i. Nilai keacakan dilihat pada bilangan cipherteks

    yang dihasilkan oleh algoritma tertentu. Penelitian ini tidak membandingkan

    ukuran blok dengan AES. Nilai acak dibangun dari selisih perbandingan plainteks

  • 5

    dengan cipherteks terhadap plainteks. Karena selisih pada pembilang pada

    persamaan (6) berarti menunjukkan jarak dari plainteks, walaupun dirasiokan

    terhadap plainteks kembali. Kemungkinan yang muncul pada nilai keacakan dapat

    bertanda positif atau negatif. Negatif berarti selisih perbandingan nilai cipherteks

    lebih besar dibandingankan dengan nilai plainteks, sedangkan positif berarti

    selisih perbandingan nilai cipherteks lebih kecil dibandingkan dengan nilai

    plainteks.

    Penggunaan jarak dapat dipandang sebagai suatu keacakan apabila metode

    Brute Force Attack (BFA) sebagai standar kriptanalis digunakan untuk membobol

    algoritma yang ada. Teknik BFA dilakukan dengan mencoba semua kemungkinan

    kunci atau angka untuk menemukan relasi yang berkorespondensi satu satu (one

    to one) antara plainteks dan cipherteks. Setiap plainteks yang dimasukkan sudah

    pasti diketahui desimalnya, kriptanalis akan mencoba setiap bilangan yang lebih

    besar atau yang lebih kecil dari bilangan plainteks dan akan membesar atau

    mengecil secara terus menerus. Contohnya plainteks dengan nilai desimal 72

    (karakter H) kriptanalis akan mencoba bilangan di bawah dan di atas plainteks

    misalnya 71, 73, 70, 74 secara terus menerus sampai menemukan kecocokan hasil

    bilangan dengan plainteks tersebut, sehingga apabila semakin jauh nilai cipherteks

    dari plainteks berarti akan memerlukan banyak waktu dan proses untuk

    menemukan relasi dengan cipherteks atau bahkan menemukan plainteks.

    Sedangkan diferensiasi data digunakan untuk mencari perbandingan selisih

    anatar dua titik. Dalam kalkulus, metode ini sering disebut sebagai turunan atau

    kemiringan dari data.

    Jika diberikan kumpulan data ((x1,y1), (x2,y2), (x3,y3), …, (xn,yn)) dengan syarat bahwa xi < xi+1 dimana i = 1…n. Data tersebut dapat divisualisasikan ke

    dalam koordinat Cartesius untuk setiap x sebagai variabel bebas, y atau ditulis

    sebagai f(x) sebagai variabel tak bebas. Untuk menentukan diferensiasi data pada

    dua titik maka persamaan yang dapat dibentuk sebagai berikut :

    )7()(

    )(

    ba

    ab

    xx

    yy

    x

    y

    dengan (xa, ya) sebagai titik pertama, dan titik berikutnya adalah (xb, yb). Apabila

    terdapat n data maka untuk menentukan rata-rata dari diferensiasi data dapat di

    cari untuk melihat tren dari setiap data Rataan diferensiasi (Rd) untuk melihat

    diberikan pada Persamaan (2).

    (8)

  • 6

    3. Metode Penelitian

    Dalam perancangan kriptografi block cipher berbasis pada ADT terdiri dari

    beberapa tahapan dalam penyusunan penelitian. Tahapan tersebut ditunjukkan

    pada Gambar 3.

    Gambar 3 Tahapan Penelitian

    Tahapan penelitian tersebut dapat dijelaskan sebagai berikut.

    1. Identifikasi dan Perumusan Masalah; Mengidentifikasi masalah yang ada tentang kelemahan kriptografi yang sudah dibuat sebelumnya, kemudian

    merumuskannya dalam perancangan algoritma kriptografi block cipher

    dengan teknik ADT dengan tujuan membuat kriptografi baru.

    2. Analisis Kebutuhan; Menganalisis kebutuhan perancangan algoritma kriptografi baru yang digunakan untuk mengamankan data.

    3. Pengumpulan Bahan; Meliputi pengumpulan referensi yang berkaitan dengan pembuatan algoritma kriptografi baru, seperti mencari alur untuk

    teks dan kunci yang berhubungan dengan proses enkripsi dan dekripsi.

    4. Perancangan Algoritma; Memilih alur anyaman yang digunakan dalam perancangan algoritma.

    5. Pembuatan Kriptografi; Menerapkan alur ADT ke dalam block cipher dengan ukuran block 8×8.

    6. Uji Kriptografi; Melakukan pengujian algoritma ADT dengan cara penghitungan secara manual. Penghitungan dilakukan dengan

  • 7

    memasukkan plainteks dan kunci serta melakukan proses enkripsi dan

    dekripsi. Jika teks tidak kembali saat proses dekripsi, maka dilakukan

    pengecekan kembali algoritma yang dibuat (kembali ke Tahap 5).

    7. Uji Kriptosistem; Melakukan pengujian algoritma yang dibuat dengan metode 5-tuple Stinson, kemudian dilakukan analisa untuk melihat apakah

    algoritma ADT sudah memenuhi metode Stinson.

    8. Penulisan Laporan; Yaitu mendokumentasikan proses penelitian yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan, yang

    menjadi laporan hasil penelitian.

    Tahapan penelitian ini menjelaskan proses perancangan kriptografi block

    cipher dengan teknik ADT. Hasil dari rancangan kriptografi ini akan diuji dengan

    aturan Stinson. Batasan masalah dari penelitian ini adalah:

    1. Penelitian ini hanya membahas teknik Anyaman Dasar Tunggal sebagai algoritma.

    2. Jumlah plainteks dan kunci sama hanya menampung 8 karakter. 3. Panjang bloknya adalah 64 bit. 4. Tidak membahas teknik transposisi secara mendalam. 5. Panjang kunci mempunyai panjang maksimal 8 karakter. 6. Penelitian ini tidak menguji kriptanalisis terhadap rancangan kriptografi.

    Rancangan Umum perancangan kriptografi

    Rancangan kriptografi block cipher dengan alur Anyaman Dasar Tunggal

    (ADT), dibuat dengan 5 putaran. ADT sama seperti kriptografi lainnya yang

    menerima inputan plainteks dan kunci. Dimisalkan plainteks adalah P dan kunci

    adalah, K maka dapat dinyatakan K ={x1,x2,x3…..xn}, n|8, n ∈ Z+.

    Kedua inputan tersebut akan diproses XOR dan geser mengikuti pola

    anyaman. Setiap putaran terdapat proses untuk plainteks dan kunci, dimana Proses

    i, 8,,2,1 i dan Proses Key i, 8,,2,1 i . Gambar rancangan umum

    kriptografi dapat dilihat pada Gambar 4.

  • 8

    Gambar 4 Rancangan Umum Kriptografi Blok Cipher Berbasis

    Anyaman Dasar Tunggal

    Rancangan kriptografi ini dibuat dalam kotak ukuran 8×8. Dimana untuk satu

    putarannya, tiap pemasukan plainteks dan kunci masing-masing berjumlah 8

    karakter.

    k1 k2 k3 k4 k5 k6 k7 k8

    k9 k10 k11 k12 k13 k14 k15 k16

    k17 k18 k19 k20 k21 k22 k23 k24

    k25 k26 k27 k28 k29 k30 k31 k32

    k33 k34 k35 k36 k37 k38 k39 k40

    k41 k42 k43 k44 k45 k46 k47 k48

    k49 k50 k51 k52 k53 k54 k55 k56

    k57 k58 k59 k60 k61 k62 k63 k64

    Gambar 5 Contoh Kotak 64-Bit

    Kotak 64-bit dirancang untuk memasukan 64 bit data plainteks lalu

    memprosesnya sampai menghasilkan Pn, dimana n = 1, 2, ..., 5. Pada kotak 64-bit

    data plainteks di Gambar 5, kotak berwarna biru yang mengadaptasi dari pola

    timbul pada anyaman mewakili proses XOR pada baris ganjil, sedangkan kotak

    berwarna merah muda yang mengadaptasi dari pola timbul pada anyaman dan

  • 9

    mewakili proses XOR pada baris genap. Selain proses XOR, terdapat juga proses

    geser bit yang diwakili oleh kotak berwarna putih yang mengadaptasi dari pola

    tenggelam pada anyaman. Proses pada perancangan ini juga menggunakan teknik

    transposisi bit seperti yang sudah dijelaskan didasar teori. Setelah masuk pada

    proses transposisi, kemudian masuk ke proses anyaman.

    Hasil dan Pembahasan

    Pada bagian Hasil dan Pembahasan ini, akan dijelaskan proses perancangan

    alur ADT menjadi sebuah algoritma yang akan digunakan dalam kriptografi block

    cipher. Seperti yang telah dijelaskan pada bagian sebelumnya tentang cara

    menganyam dimana bahan yang masuk secara melintang akan saling timpa

    dengan bahan yang masuk secara membujur, cara tersebut diterapkan dalam

    proses pengacakan bit dengan mengacu pola anyaman itu sendiri. Plainteks dan

    kunci akan bertemu dan berproses XOR, dimana pada baris ganjil dan genap

    pertemuan antara plainteks dan kunci berada di kotak yang berbeda, sehingga

    dihasilkan pola anyaman yang timbul dan tenggelam. Proses anyaman pada baris

    ganjil ditunjukkan pada Gambar 6 dan proses anyaman pada baris genap

    ditunjukan Gambar 7.

    k1 k2 k3 k4 k5 k6 k7 k8

    Gambar 6 Pemasukan Bit Baris Ganjil

    Gambar 6 menunjukkan 8 bit (satu karakter) yang berada dibaris ganjil,

    dimana 8 bit yang masuk akan di-XOR dengan bit-bit karakter kunci yang berada

    di kolom ganjil juga. Bit-bit karakter yang masuk akan terkena kunci di kotak

    ganjil berwarna biru (k1, k3, k5, k7) yang menggambarkan pola timbul pada

    anyaman, selanjutnya terjadi proses geser bit di kotak genap berwarna (k2, k4, k6,

    k8) dimana kotak berwarna putih menggambarkan pola tenggelan pada anyaman.

    .

    k9 k10 k11 k12 k13 k14 k15 k16

    Gambar 7 Pemasukan Bit Baris Genap

    Hal yang sama juga berlaku pada baris genap, dimana karakter yang berada di

    baris ini akan di-XOR dengan bit-bit karakter kunci yang berada di kotak genap

    berwarna merah muda (k10, k12, k16, k18) yang menggambarkan pola timbul pada

    anyaman, lalu dilakukan geser bit pada kotak ganjil berwana putih yang

    menggambarkan pola tenggelam pada anyaman (k9, k11, k13, k15), seperti terlihat

    pada Gambar 7 sehingga membentuk alur anyaman dasar tunggal.

    Proses tersebut berlaku juga pada putaran selanjutnya dimana karakter pada

    tiap baris akan dikenakan 4 kali XOR dengan kunci yang berada di setiap kotak

    kunci dan 4 kali geser bit dengan aturan geser yang berbeda.

  • 11

    Sebagai contoh, terdapat 10 karakter plainteks, maka n = 10 dan 10 < 8m.

    Sehingga kelipatan delapan terkecil yang lebih besar dari 10 adalah 16 (8m; m =

    2), jadi jumlah karakter yang akan di padding adalah (16 – 10) = 6 karakter. Hal

    yang sama juga pada kunci, misalkan diinputkan hanya 5 karakter sehingga perlu

    di padding sebanyak (8 – 5) = 3 karakter untuk memenuhi panjang ukuran blok

    cipher.

    Hasil dari proses transposisi dimasukkan ke dalam proses anyaman, dimana

    dalam proses anyaman terdapat perlakuan XOR dan geser bit. Dalam satu proses

    putaran, terdapat 2 perlakuan yang berbeda. Untuk baris ganjil atau karakter yang

    berada di urutan ganjil proses dilakukan seperti pada Gambar 6, sedangkan untuk

    baris genap atau karakter yang berada di urutan genap proses dilakukan seperti

    pada Gambar 7.

    Proses generate kunci pada proses 2, 3, 4, dan 5 dilakukan dengan cara

    menggeser bit dari putaran sebelumnya kearah kanan, dimana pergeseran bit

    dilakukan sesuai dengan aturan yang tetap.

    Contoh perhitungan manual

    Untuk membuktikan proses enkripsi alur ADT dilakukan dengan dua

    pengujian penghitungan secara manual, menggunakan plainteks yang berbeda.

    Pengujian pertama proses enkripsi-dekripsi dilakukan dengan menggunakan

    contoh plainteks “Dr3@mBoy” dengan kunci “f4cEBo0k”. Penggunaan plainteks

    tersebut karena sudah terdapat huruf kapital, huruf kecil, dan simbol di dalamnya.

    Yang akan ditunjukkan pada penelitian ini adalah proses ke 1. Proses pada putaran

    2, 3, 4, dan 5 sama, hanya berbeda perubahan kunci karena proses generate kunci

    dari putaran sebelumnya, serta perbedaan pergeseran pada setiap putarannya.

    Plainteks “Dr3@mBoy” terdiri dari 8 karakter. Setelah memenuhi syarat

    kelipatan 8, maka langkah selanjutnya karakter diubah ke dalam biner dan

    dilakukan proses transposisi. Biner dari hasil proses transposisi dapat dilihat pada

    Tabel 1.

    Tabel 1 Tabel Hasil Transposisi

    No Desimal Hexa Biner Karakter

    1 105 69 01101001 i

    2 6 06 00000110 ACK

    3 101 65 01100101 e

    4 114 72 01110010 r

    5 36 24 00100100 $

    6 119 77 01110111 w

    7 64 40 01000000 @

    8 66 42 01000010 B

  • 12

    Dari Tabel 1, selanjutnya masuk ke proses anyaman. Terdapat lima proses

    dalam proses anyaman. Alur anyaman pada proses 1, ditunjukkan pada Gambar 9.

    Gambar 9 Alur Anyaman Proses 1

    Proses pada putaran 1 mempunyai dua perlakuan yang berbeda, yaitu

    perlakuan untuk baris ganjil dan baris genap. Pada baris ganjil (contohnya pada

    karakter “i” dengan nilai desimal 105 dan nilai biner 01101001) dikenakan kunci

    “fcB0” dengan nilai biner 01100110 01100011 01000010 00110000 . Karakter “i”

    di-XOR dengan kunci “f”, kemudian 2 bit akhir hasil dari XOR tersebut digeser 2

    kearah kiri. Hasil geser pertama di-XOR lagi dengan kunci “c ”, 2 bit akhir hasil

    dari XOR tersebut digeser lagi kearah kiri. Proses ini berulang sampai 2 bit hasil

    dari XOR kunci “0” digeser kearah kiri sehingga menghasilkan karakter “ ª ”

    dengan nilai biner 10101010 dan nilai hexa AA.

    Proses pada baris genap (contohnya pada karakter “ACK” dengan nilai

    desimal 6 dan nilai biner 00000110) dikenakan kunci “4eok”. 1 bit akhir karakter

    “ACK” digeser kearah kiri, hasil geser tersebut kemudian di-XOR dengan kunci

    “4”. 1 bit akhir dari hasil XOR tersebut digeser lagi kearah kiri, kemudian di-XOR

    lagi dengan kunci ”e”. Proses tersebut berulang sampai hasil geser 1 bit akhir

    kearah kiri di-XOR dengan kunci “k” sehingga menghasilkan karakter “k” dengan

    nilai biner 01101011 dan nilai hexa 6B. Untuk karakter selanjutnya (pada baris

    ganjil dan genap) mendapatkan perlakuan yang sama sehingga pada proses 1

    mendapatkan hasil akhir 10101010 01101011 10100110 00101100 11100111

    01111100 10000011 00101111.

    Adapun proses pada putaran 2, 3, 4, dan 5 hampir sama seperti pada proses

    putaran 1, yang membedakan tiap putaran adalah kunci yang di-generate dengan

    cara menggeser bit setiap karakter dari proses sebelumnya dan pergeseran bit yang

    berbeda pada tiap putarannya. Setelah dilakukan proses putaran sebanyak lima

    kali, maka dihasilkan cipherteks dengan nilai desimal dari cipherteks 147, 48, 183,

    106, 9, 43, 254, 20, dan nilai hexa 93, 30, B7, 6A, 09, 2B, FD, 14.

  • 13

    Pengujian kedua dilakukan dengan menggunakan bit simetris, dengan

    contoh karakter “ZZZZZZZZZZZZZZZZ” dengan menggunakan kunci yang

    sama dengan pengujian pertama. Berdasarkan proses pengujian yang ditunjukkan

    pada Gambar 8, diperoleh cipherteks “ßgÃyé ÇœßgÃyé Çœ” dengan nilai desimal

    dari cipherteks 223, 103, 195, 121, 233, 24, 199, 156, 223, 103, 195, 121, 233, 24,

    199, 156 dan nilai hexa DF, 67, C3, 79, E9, 18, C7, 9C, DF, 67, C3, 79, E9, 18,

    C7, 9C. Hasil dari pengujian kedua tereksplisitkan pada grafik Gambar 10.

    Gambar 10 Grafik Cipherteks pengujian kedua

    Sedangkan pada proses dekripsi, berlaku kebalikan dari proses enkripsi yang

    ditunjukkan pada Gambar 8. Proses dekripsi dilakukan dengan membalik alur

    antara baris ganjil dan baris genap, dimana pada baris ganjil dikenakan proses

    seperti yang sudah dijelaskan pada Gambar 6, dengan membalik alur dari kanan

    ke kiri. Hal yang sama berlaku juga pada baris genap seperti yang ditunjukkan

    pada Gambar 7. Setelah itu dilanjutkan dengan mengembalikan bit pada hasil

    transposisi ke urutan bit-bit semula yang menghasilkan plainteks awal.

    Setelah dilakukan pengujian secara manual, langkah selanjutnya adalah

    menguji algoritma kriptografi ADT sebagai kriptosistem. Untuk menguji

    kriptografi sebagai sebuah kriptosistem, dilakukan pengujian dengan

    menggunakan teknik five tuple yaitu P,C,K,E,D. Sebuah kriptografi dapat

    dikatakan sebagai kriptosistem jika memenuhi :

    - P adalah himpunan berhingga dari plainteks. Dalam perancangan ini menggunakan 256 karakter ASCII Maka himpunan plainteks pada

    perancangan kriptografi Anyaman Dasar Tunggal adalah himpunan

    berhingga.

    - C adalah himpunan berhingga dari cipherteks. Cipherteks yang dihasilkan pada perancangan kriptografi Anyaman Dasar Tunggal merupakan elemen

    0

    50

    100

    150

    200

    250

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

    Plainteks ADT AES-128

  • 14

    bit (bilangan 0 dan 1). Karena himpunan cipherteks hanya * +, maka cipherteks pada kriptografi yang dirancang adalah himpunan berhingga.

    - K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci karena jumlah kunci dibatasi sebanyak 8 karakter dalam 256

    karakter ASCII. Maka dari itu kunci yang digunakan juga himpunan

    berhingga.

    - Untuk setiap k K, terdapat aturan enkripsi E dan berkorespodensi dengan aturan dekripsi . Setiap dan

    adalah fungsi sedemikian hingga ( ( )) untuk setiap plainteks . Dari kondisi ke-4 ini secara menyeluruh terdapat kunci yang dapat melakukan proses enkripsi sehingga merubah plainteks menjadi cipherteks

    dan begitupun sebaliknya, dapat melakukan proses dekripsi sehingga bisa

    merubah cipherteks menjadi plainteks kembali. Pengujian ini

    menunjukkan bahwa jika rancangan kriptografi dapat melakukan proses

    enkripsi dan dekripsi, maka telah memenuhi dua dari 5-tuple Stinson

    untuk sebuah kriptosistem.

    Selanjutnya, dilakukan pengujian dengan plainteks “AXA Tower, 28th”

    dengan kunci yang sama untuk membandingkan keacakan antara algoritma ADT

    dengan AES-128 yang merupakan acuan standar keamanan data, dan juga

    dilakukan pengujian untuk membandingkan keacakan antara algoritma ADT,

    AES-128, dan Langkah Kuda Catur (LKC). Perbandingan antara ADT dengan

    AES ditunjukkan pada Gambar 11.

    Gambar 11 Perbandingan Keacakan Algoritma ADT dengan AES-128

    Pada Gambar 11 dapat dilihat bahwa algoritma ADT menghasilkan grafik

    cipherteks yang fluktuatif, begitu juga dengan AES-128. Tetapi bentuk fluktiatif

    dari kedua algoritma tersebut berbeda, seperti yang dijelaskan pada dasar teori

    bahwa dengan nilai cipherteks berada di atas plainteks mempersulit serangan

    Brute For Attack (BFA). Hasil nilai cipherteks tersebut kemudian dibandingan

    dengan nilai keacakan AES-128 yang cenderung mematahkan diantara plainteks.

    0

    50

    100

    150

    200

    250

    300

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

    Plainteks ADT AES-128

  • 15

    Dari persamaan (6) diperoleh nilai keacakan ADT terhadap sumbu y sebesar -

    0,831397248, sedangkan nilai keacakan AES terhadap sumbu y adalah sebesar -

    0,475877108. Perbandingan nilai keacakan antara ADT terhadap AES adalah

    sebesar -0,654054133. Dari segi nilai keacakan algoritma yang dirancang lebih

    baik daripada AES-128.

    Pengujian selanjutnya adalah melihat nilai diferensiasi dari algoritma yang

    dibuat. Nilai diferensiasi dapat diperoleh dengan menggunakan persamaan (8).

    Algoritma ADT memiliki nilai diferensiasi sebesar -8,5, sedangkan untuk nilai

    diferensiasi AES adalah sebesar -7,595833333. Dari Gambar 11 dapat dilihat

    bahwa kedua algoritma cenderung fluktuatif dengan berada di atas dan di bawah

    plainteks. Hal tersebut menunjukkan bahwa nilai plainteks lebih kecil daripada

    nilai cipherteks.

    Pengujian selanjutnya adalah menguji keacakan antara algoritma ADT, AES-

    128, dan LKC. Hasil perbandingan antara ketiga algoritma tersebut ditunjukkan

    pada Gambar 12.

    Gambar 12 Perbandingan Keacakan Algoritma ADT, AES-128, dan LKC

    Pengujian algoritma yang ketiga seperti pengujian pada Gambar 11, namun

    yang membedakan adalah penambahan algoritma LKC untuk membandingkan

    keacakannya. Pada Gambar 12 dapat dilihat bahwa algoritma LKC cenderung

    berada di atas plainteks dibandingkan dengan algoritma ADT dan AES-128.

    4. Simpulan

    Kesimpulan yang diperoleh dari penelitian ini, bahwa Perancangan

    Kriptografi Block Cipher Berbasis Pada Teknik Anyaman Dasar Tunggal dapat

    melakukan proses enkripsi dan dekripsi sehingga bisa dikatakan sebagai sebuah

    teknik kriptografi. Selain itu perancangan ini juga sudah memenuhi 5-tuple

    sehingga dapat dikatakan sebagai sistem kriptografi. Hasil keacakan ADT

    terhadap AES-128 adalah sebesar 38%.

    0

    50

    100

    150

    200

    250

    300

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

    Plainteks ADT AES-128 LKC

  • 16

    5. Daftar Pustaka

    [1] Ariyus, Dony, 2006, Kriptografi Keamanan Data Dan Komunikasi. Yogyakarta. Graha Ilmu.

    [2] Munir, Renaldi, 2006, Kriptografi. Bandung. Informatika. [3] Biham, E., & Shamir, A., 1990, Differential Cryptanalysis of DES like

    Cryptosystem, Rehovod: Department of Apllied Mathematics, The

    Weizmann Institude of Science.

    [4] Setiawan, Adi, N., dkk, 2015, Perancangan Algoritma pada Kriptografi Block Cipher dengan Teknik Langkah Kuda dalam Permainan Catur.

    Prosiding Seminar Teknik Informatika & Sistem Informasi. Bandung.

    [5] Prayudi, Yudi., Halik, Idham. 2005. Studi dan Analisis Algoritma Rivest Code 6 (RC6) dalam Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi

    Teknologi Informasi 2005 (SNATI 2005). Yogyakarta.

    [6] Kromodimoeljo, Sentot., 2010. Teori dan Aplikasi Kriptografi. Jakarta: SPK IT Consulting.

    [7] Daemen Joan-Vincent Rijmen., 2001. The Design of Rijndael AES-The Advanced Encryption Standard. New York : Springer

    [8] Buchmann, Johannes, A., 2000. Introduction to Cryptography, Springer-Verlag, Inc : New York

    [9] Forouzan, Behrouz, A., 2008, Cryptography and Network Security, New York: McGraw-Hill.

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

    [11] Arief, F.,2012. Pengertian Anyaman- Seni Menganyam, Yogyakarta :Balai Pustaka

    [12] Kamus Besar Bahasa Indonesia. http://kbbi.web.id/anyam (diakses, 12 Maret 2015).

    [13] Agung. 2012. Jurnal Penelitian PendidikanVol. 13 No. 1, April 2012. [14] Dafid., 2006. Kriptografi Kunci Simetris Dengan Menggunakan Algoritma

    Crypton. @lgoritma Jurnal Ilmiah STMIK GI MDP. Palembang. Volume

    2 nomor 3 Oktober.

    [15] Lewandouw, V.B,. Wowor A.D,. 2015. Desain Algoritma Kubus Rubik dalam Perancangan Kriptografi Simetris. Prosiding Seminar Teknik

    Informatika & Sistem Informasi. Bandung.

    [16] Nayuki, 2014, AES Cipher Internal in Excel, (http://nayuki.eigenstate.org/page/aes-cipher-internals-in-excel), (diakses 2

    Februari 2015).