Perancangan dan Implementasi Skema Transposisi dengan Pola Sirkulasi Angin pada Kriptografi Block Cipher Artikel Ilmiah Peneliti : Arifaldi Abdillah (672012040) Alz Danny Wowor, S.Si., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga November 2016
23
Embed
Perancangan dan Implementasi Skema Transposisi dengan Pola … · 2018. 1. 15. · Perancangan dan Implementasi Skema Transposisi dengan Pola Sirkulasi Angin pada Kriptografi Block
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Perancangan dan Implementasi Skema Transposisi dengan Pola
Sirkulasi Angin pada Kriptografi Block Cipher
Artikel Ilmiah
Peneliti :
Arifaldi Abdillah (672012040)
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
i
Perancangan dan Implementasi Skema Transposisi dengan Pola
Sirkulasi Angin pada Kriptografi Block Cipher
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Arifaldi Abdillah (672012040)
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
ii
iii
iv
v
vi
vii
1
1. Pendahuluan
Keamanan data dan informasi merupakan suatu aspek yang penting dalam
melakukan komunikasi pada media digital. Data dan informasi yang berupa teks
dapat dirahasiakan melalui teknik yang disebut dengan kriptografi. Kriptogtafi
merupakan ilmu untuk menjaga kerahasiaan data melalui proses enkripsi data asli
dengan kunci untuk menghasilkan data yang tidak dapat dibaca atau dimengerti.
Teknik keamanan data ini berguna untuk merahasiakan informasi agar tidak
disalah gunakan oleh pihak yang semestinya tidak diperbolehkan mengetahui isi
atau pesan yang terdapat dalam data tersebut. Salah satu algoritma kriptografi
yang digunakan sampai sekarang ini adalah block cipher. Dalam penelitian ini
dilakukannya suatu pengembangan dari algoritma block cipher dengan melakukan
skema transposisi pola baru untuk membuat suatu teknik kriptografi yang sulit
untuk dipecahkan.
Berdasarkan latar belakang masalah maka dilakukan perancangan
kriptografi Block Cipher 64 bit dengan menggunakan skema transposisi pola
sirkulasi angin darat dan angin laut. Pola sirkulasi angin darat dan angin laut
dijadikan sebagai pola perancangan karena memilikli alur sirkulasi yang
berlawanan arah sehingga pola sirkulasi angin darat akan digunakan dalam proses
pengacakan bit pada plaintext, sedangkan pola sirkulasi angin laut digunakan
dalam proses pengacakan bit pada kunci. Pengacakan bit dilakukan sebanyak 20
putaran dengan 4 pola plaintext dan kunci yang berbeda dan dipadukan dengan
substitusi X-BOX untuk menghasilkan ciphertext dengan nilai korelasi yang baik
untuk menjaga kerahasiaan dari data tersebut.
2. Tinjauan pustaka
Pada penelitian sebelumnya yang berjudul Perancangan KriptografiBlock
Cipher Berbasis pada Teknik Tanam Padi dan Bajak Sawah membahas tentang
perancangan kriptografi dengan kunci simetris yang menggunakan tanam padi
dan bajak sawah sebagai dasar untuk merancang algoritma kriptografi blockcipher
berbasis 64 bit, jumlah kunci dan plaintext-nya menampung 8 karakter serta
proses putarannya terdiri dari 8 putaran [1].
Pada penelitian yang berjudul Perancangan Kriptografi Block Cipher
Berbasis pada Alur Clamshell’s Growth Rings teknik pengamanan data yang
digunakan adalah algoritma block cipher dengan pola Clamshell’s Growth Rings.
Kriptografi yang dirancang menggunakan algoritma kunci simetris dengan 8
putaran proses dan mempunyai swapbox [2]
Pada penelitian yang berjudul Desain Algoritma Berbasis Kubus Rubik
dalam Perancangan Kriptografi Simetris. Penelitian ini membahas tentang
perancangan algoritma block cipher dengan menggunakan pola transposisi kubus
rubik untuk menghasilkan sebuah kriptografi simetris yang dapat digunakan untuk
pengamanan data [3].
Berdasarkan beberapa penelitian yang pernah dilakukan sebelumnya maka
dilakukan penelitian yang membahas tentang Perancangan kriptografi block
cipher menggunakan skema transposisi pola baru yaitu pola sirkulasi angin.
2
Perancangan ini menggunakan kriptografi blockcipher berbasis 64 bit. Proses
enkripsi menggunakan pola angin darat dan proses kunci menggunakan pola
angin laut. kemudian akan dilakukan pengacakan sebanyak 20 putaran dengan 4
pola plaintext dan kunci yang berbeda.
Kemudian yang akan dibahas adalah materi yang digunakan sebagai
patokan untuk merancang algoritma kriptografi dalam penelitian ini. Kriptografi
merupakan suatu ilmu yang mempelajari bagaimana cara menjaga agar data
atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa
mengalami gangguan dari pihak ketiga. Sehingga algoritma kriptografi
merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-
orang yang tidak berhak atas pesan tersebut [4].
Dalam metode Stinson terdapat istilah–istilah yang digunakan dalam
kriptografi. Sistem kriptografi bisa dikatakan sebagai teknik kriptografi apabila
memenuhi lima-tuple (five-tuple) yang terdiri dari [5]:
1. P adalah himpunan berhingga dari plaintext,
2. C adalah himpunan berhingga dari ciphertext,
3. K merupakan ruang kunci adalah himpunan berhingga dari kunci,
4. E adalah himpunan fungsi enkripsi : P → C,
5. D adalah himpunan fungsi dekripsi 𝑑𝑘 C → P, Untuk setiap k ∈ K,
terdapat aturan enkripsi 𝑒𝑘∈ E dan berkorespodensi dengan aturan
dekripsi 𝑑𝑘∈ D. Setiap 𝑒𝑘 : P → C dan 𝑑𝑘 : C→ P adalah fungsi
sedemikian hingga 𝑑𝑘(𝑒𝑘 (x)) = x untuk setiap plaintext x ∈ P.
Kriptografi terdiri dari suatu pesan yang tidak disandikan disebut sebagai
plaintext ataupun dapat disebut juga sebagai cleartext. Proses yang dilakukan
untuk mengubah plaintext ke dalam ciphertext disebut dengan enkripsi.
Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut
dekripsi. Proses enkripsi dilakukan menggunakan suatu algoritma dengan
beberapa parameter. Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang
mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia
terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh
parameter. Parameter yang menentukan kunci dekripsi itulah yang harus
dirahasiakan [6].
Joan Daemen dan Vincent Rijmen dalam buku “The Design of
Rijndael” memaparkan desain dari algoritma Rijndael yang kemudian menjadi
AES. Rijndael adalah blok cipher yang memiliki sebuah blok variabel dan sebuah
blok variabel kunci. Panjang blok dan panjang kunci dapat dipilihsecara
independen untuk setiap kelipatan 32 bit, dengan minimal 128 bit dan maksimal
256 bit. Secara garis besar Rijndael melakukan XOR antara plainteks dengan
cipher key (Tahap Initial Round), lalu dikenakan putaran sebanyak Nr – 1 kali.
Pada setiap putaran dilakukan Substitusi byte dengan menggunakan tabel
substitusi (SubBytes), pergeseran baris-baris array state secara
wrapping(ShiftRows), mengacak data di masing-masing kolom array state
(MixColumns), dan melakukan XOR antara state sekarang dengan round key
(AddRoundKey). Proses yang dilakukan untuk putaran terakhir adalah SubBytes,
Shift Rows, dan AddRoundKey [7].
3
Block cipher adalah algoritma enkripsi yang akan membagi plaintext pada
blok-blok tertentu, dan setiap blok akan dienkripsi dengan kunci pada block
cipher. Rangkaian bit plaintext dibagi menjadi blok-blok dengan panjang yang
sama yaitu 8x8 (64 bit). Enkripsi dilakukan terhadap blok plaintext menggunakan
bit pada kunci yang ukurannya sama dengan ukuran blok pada plaintext. Proses
enkirpsi dilakukan untuk menghasilkan ciphertext yang merupakan data yang
sudah dirahasiakan atau disandikan.
Gambar 1 Proses enkripsi dan dekripsi pada kriptografi.
Pemilihan pola sirkulasi angin darat dan angin laut dikarenakan kedua
sirkulasi tersebut memiliki bentuk pola angin yang berlawanan arah sehingga
sirkulasi angin darat dijadikan pola plaintext dan sirkulasi angin laut dijadikan
pola kunci.
Koefisien korelasi dilambangkan dengan symbol “r”. Secara matematis nilai
r diperoleh dari jumlah nilai selisih perkalian antara x dan y dengan hasil
perkalian jumlah total x dan y dibagi dengan hasil akar dari selisih untuk
perkalian jumlah x kuadrat dengan kuadrat pangkat dua untuk jumlah total x
dengan selisih jumlah y kuadrat dengan kuadrat pangkat dua untuk jumlah total y
dimana x sebagai plaintext dan y sebagai ciphertext sehingga dapat diperoleh
persamaan [8].
(1)
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 variabelY
Untuk menentukan kuat atau lemahnya hubungan antara variabel dapat
menggunakan tabel berikut [9]:
4
Tabel 1. Klasifikasi Koefisien Korelasi.
Interval Koefisien Tingkat Hubungan
0,00 – 0,199 Sangat Rendah
0,20 – 0,399 Rendah
0,40 – 0,599 Sedang
0,60 – 0,799 Kuat
0,80 – 1,000 Sangat Kuat
3. Metode Penelitian
Langkah-langkah proses penelitian dalam meyelesaikan perancangan
kriptografi block cipher dengan menggunakan pola sirkulasi angin darat dan angin
laut adalah sebagai berikut.
Gambar 2 Tahap Perancangan.
Tahap pertama yaitu identifikasi masalah yang dilakukan untuk melihat
apa masalah yang ada dalam pengamanan data yang berkaitan dengan kriptografi.
Tahapan ini mengahsilkan perumusan masalah, tujuan penelitian, dan juga
batasan masalah. Rumusan masalah yang dibuat adalah bagaimana merancang
algoritma kriptografi block cipher menggunakan skema transposisi pola sirkulasi
angin. Dan tujuan dari penelitian ini adalah menghasilkan skema transposisi block
cipher dengan pola yang baru yang bermanfaat untuk pengamanan data. Pada
batasan masalah, perancangan ini menggunakan algoritma block cipher 64 bit
yang memiliki panjang maksimal 8 karakter plaintext dan kunci.
Tahap kedua adalah kajian pustaka dilakukan untuk memperoleh referensi
dari penelitian yang sudah pernah dilakukan sebelumnya dari buku, jurnal
maupun dari sumber yang dapat dijadikan sebagai pembanding maupun landasan
penelitian.
Tahap Ketiga adalah merancang alagoritma kriptografi dengan
menggunakan pola sirkulasi angin darat dan angin laut yang dikombinasikan
dengan proses plaintext, proses kunci, dan proses XOR.
Tahap keempat merupakan proses pembuatan kriptografi yang
diimplementasikan pada aplikasi Microsoft Office Excel.
Tahap kelima, setelah perancangan algoritma block cipher dibuat, perlu
dilakukan pengujian terhadap system untuk menguji seberapa kuat teknik
5
kriptografi yang dibuat untuk mengamankan data yang berupa teks tersebut.
Tahap keenam adalah penulisan laporan dari hasil penelitian yang telah
selesai dibuat kemudian ditulis menjadi sebuah laporan penelitian dalam bentuk
jurnal.
Dalam penelitian ini perancangan algoritma kriptografi block cipher yang
digunakan adalah 64bit. Pada tahap pertama hal yang dilakukan adalah
identifikasi masalah yang berupa penentuan pola, pengambilan dan pemasukan bit
pada plaintext dan kunci. Pada tahap kedua dilakukan studi literatur dari
penelitian terdahulu yang membahas tentang perancangan kriptografi block cipher
serta memahami buku dan jurnal yang membahas tentang kriptografi untuk
dijadikan acuan dalam perancangan ini. Tahap ketiga yaitu perancangan
kriptografi block cipher menggunakan pola sirkulasi angin darat dan angin laut.
Dalam pengacakan bit pada plaintext pola yang digunakan adalah sirkulasi angin
darat sedangkan pengacakan bit pada kunci pola yang digunakan adalah sirkulasi
angin laut. Ciphertext yang dihasilkan akan diputar kembali dengan menggunakan
subtitusi S-Box untuk menghasilkan nilai korelasi yang kuat.
Gambar 3 Bagan proses enkripsi
Tahap keempat yaitu perancangan kriptografi block cipher menggunakan
6
pola sirkulasi angin darat dan angin laut yang diimplementasikan pada aplikasi
Microsoft Office Excel. Pada perancangan ini dilakukan pemasukan bit plaintext
dan kunci dengan pola yang berbeda. Pengacakan putaran pada pola dilakukan
untuk mencari nilai korelasi terbaik.
Tahap kelima yaitu pengujian statistika menggunakan korelasi yang
merupakan suatu teknik statistik yang dipergunakan untuk mengukur kekuatan
hubungan dua variabel dan juga untuk mengetahui bentuk hubungan antara dua
variabel tersebut dengan hasil yang sifatnya kuantitatif. Kekuatan hubungan
antara dua variabel biasanya disebut dengan koefisien korelasi.
4. Hasil dan Pembahasan
Bagian ini akan membahas tentang algoritma perancangan kriptografi
menggunakan pola sirkulasi angin darat dan angin laut berbasis pada 64 bit. Pada
penelitian ini pola yang digunakan pada plaintext adalah sirkukasi angin darat.
Sedangkan sirkulasi angin laut digunakan pada pola kunci. Perancangan Pola
digunakan untuk pengambilan dan pemasukan bit pada skema transposisi.
Gambar 4 Pola awal plaintext dan kunci.
Plaintext dan kunci memiliki empat pola skema transposisi bit yang
berbeda. Akan digambarkan sebagai berikut :
Gambar 5 Empat pola skema transposisi pada plaintext.
7
Gambar 6 Empat pola skema transposisi pada kunci.
Pada gambar 5 dan gambar 6 menjelaskan tentang perbedaan pengambilan
bit pada plaintext dan kunci. Setelah proses pengambilan bit selanjutnya adalah
proses pemasukan bit pada plaintext dan kunci dengan cara yang sama yaitu
horizontal dari atas kebawah, dijelaskan pada gambar berikut :
Gambar 7 Pola pemasukan bit.
Langkah pertama yang dilakukan adalah merubah plaintext ke bilangan
ASCII, kemudian bilangan ASCII dikonversikan menjadi bilangan biner. Setelah
itu bilangan biner dimasukan ke dalam bit secara horizontal dari atas kebawah.
Dijelaskan pada gambar berikut ini :
Gambar 8 Pemasukan awal bit Plaintext.
8
Langkah yang sama juga dilakukan pada pemasukan bit awal pada kunci.
Langkah selanjutnya adalah pengambilan bit dengan menggunakan pola skema
transposisi. Dijelaskan pada gambar 9.
Gambar 9 Pengambilan dan pemasukan bit dengan pola angin.
Gambar 9 menjelaskan tentang pengambilan dan pemasukan bit plaintext
dengan skema transposisi. Hal ini juga dilakukan pada pola kunci. Setelah itu bit
plaintext dan kunci di-XOR untuk menghasilkan nilai korelasi dan ciphertext.
Gambar 10 Hasil XOR.
Selanjutnya adalah pengujian pola dengan melukakukan proses permutasi
antara pola A, B, C, dan D. Tujuan dari pengujian permutasi adalah memilih
susunan terbaik untuk implementasi transposisi pada block cipher yang akan
dilanjutkan pada proses subtitusi S-BOX dan pengujian avalanche effect. Gambar
berikut merupakan rincian dari proses permutasi pada pola :
Gambar 11 Pola Kombinasi
9
Pengujian pola akan dilakukan dengan plaintext dan kunci yang berbeda
yaitu :
Tabel 2 Daftar plaintext dan kunci yang diuji.
Plaintext Kunci
DISASTER SRIRAMSR
ARIFALDI IDLAFIRA
MAIP2004 ALZDANNY
Hasil pengujian adalah sebagai berikut :
Gambar 12 Rata-rata hasil pengujian kombinasi.
Dari pengujian yang dilakukan, pola “BADC” yang memiliki rata-rata
nilai korelasi terbaik karena paling mendekati nol. Selanjutnya pola tersebut akan
digunakan sebagai pola pada proses subtitusi S-BOX.
Langkah berikutnya adalah mengacak kembali bilangan XOR yang sudah
dihasilkan dengan cara subtitusi S-BOX yang berfungsi untuk
mentransformasikan SubByte dan memetakan setiap byte dari array state.
Gambar 13 Tabel subtitusi S-BOX.
10
Gambar 13 merupakan subtitusi yang digunakan pada proses data enkripsi.
S-BOX terdiri dari bilangan hexadecimal cara konversinya adalah C[a,b]=xy,
misalkan C[a,b]=02 maka setelah dikonversi menjadi C[a,b]=77. Kemudian
bilangan hexa dikonversi menjadi bilangan decimal untuk menghasilkan nilai
korelasi. Selanjutnya bilangan bilangan decimal dikonversi menjadi bilangan
biner yang nantinya akan dilakukan pengambilan bit untuk dimasukkan pada
proses plaintext 2,3,4,...,20dengan pola BADC.
Gambar 14 Hasil dari S-BOX plaintext pertama.
Gambar 15 Hasil Ciphertext dan korelasi S-BOX
Gambar 15 merupakan ciphertext dan nilai korelasi yang dihasilkan dari
subtitusi S-BOX dengan plaintext “DISASTER” dan kunci “SRIRAMSR” yang
dilakukan sebanyak lima putaran atau dua puluh proses menggunakan pola
BADC. Plaintext dan chipertext yang digunakan adalah pada putaran ke 20.
11
Pseudocode proses Enkripsi dan Dekripsi :
Proses Enkripsi {Program ini digunakan untuk melakukan enkripsi data}