pemenuhan prinsip shannon (difusi dan konfusi) dengan ......1 pemenuhan prinsip shannon (difusi dan...
TRANSCRIPT
Pemenuhan Prinsip Shannon (Difusi dan Konfusi)
dengan Fungsi f(x) = 10x pada Kriptografi Block Cipher
dengan Pola Garis Pertumbuhan dan Pita Pertumbuhan
Cangkang Kerang
Artikel Ilmiah
Peneliti :
Christin Marcelin Dias (672009080)
Magdalena A. Ineke Pakereng, M.Kom
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
April 2016
1
Pemenuhan Prinsip Shannon (Difusi dan Konfusi) dengan Fungsi
π(π) = πππ pada Kriptografi Block Cipher dengan Pola Garis
Pertumbuhan dan Pita Pertumbuhan Cangkang Kerang
1Christin Marcelin Dias, 2Magdalena 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
Block cipher with Garis Pertumbuhan dan Pita Pertumbuhan Cangkang Kerang (GPCK)
pattern algorithm is developed based on the transposition process with a block size of 64
bits. GPCK already meet some of the test such as the value of data randomness and
differentiation, but do not meet the principles in the block cipher like Shannon principle
(Diffusion and Confusion) and iterated cipher. This study modifies GPCK algorithm
using the function f(x) = 10x which is used to generate constants as additional processes
on modification made to meet the principles iterated cipher by reaching saturation levels
with twenty rounds. Value avalanche effect obtained after each round of modifications
vary, but on average increased by 19.45%. the use of the function f(x)=10x into a central
role in increasing the value of the avalanche effect significantly to the fulfillment of the
principle of Shannon.
Keywords: Block Cipher, Garis dan Pita Pertumbuhan Cangkang Kerang,
Cryptography, Principles of Shannon, Iterated Cipher, Avalanche Effect, f(x)
= 10x.
Abstrak
Blok cipher dengan pola Garis Pertumbuhan dan Pita Pertumbuhan Cangkang Kerang
(GPCK) merupakan algoritma yang dikembangkan berdasarkan proses transposisi dengan
ukuran blok sebanyak 64 bit. GPCK sudah memenuhi beberapa pengujian seperti nilai
keacakan dan diferensiasi data, tetapi belum memenuhi prinsip dalam block cipher seperti
prinsip Shannon (Difusi dan Konfusi) dan iterated cipher. Penelitian ini memodifikasi
algoritma GPCK menggunakan fungsi f(x) = 10x yang digunakan untuk membangkitkan
konstanta sebagai proses tambahan pada modifikasi algoritma. Hasil yang diperoleh
menunjukkan bahwa modifkasi yang dilakukan dapat memenuhi prinsip iterated cipher
dengan mencapai tingkat jenuh dengan dua puluh putaran. Nilai avalanche effect yang
diperoleh setelah modifikasi bervariasi tiap putaran, tetapi secara rata-rata meningkat
sebanyak 19.45%. Penggunaan fungsi f(x) = 10x menjadi peran sentral dalam peningkatan
nilai avalanche effect secara signifikan guna pemenuhan prinsip Shannon.
Kata Kunci : Blok Cipher, Garis dan Pita Pertumbuhan Cangkang Kerang, Prinsip
Shannon, Iterated Cipher, Avalanche Effect, f(x) = 10x.
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.
2
1. Pendahuluan
Pada jaman sekarang ini pengiriman data atau informasi yang bersifat
penting dan rahasia merupakan aset berharga yang harus dijaga keamanannya.
Data atau informasi tersebut membutuhkan sistem pengamanan data yang akurat
sehingga tidak dapat diakses oleh pihak yang tidak berhak. Kriptografi diciptakan
sebagai salah satu cara untuk mengamankan data. Pada dasarnya kriptografi
adalah ilmu dan seni untuk menjaga keamanan data. Namun seiring
berkembangnya jaman, algoritma kriptografi bertambah banyak dan beraneka
ragam. Salah satu dari kriptografi moderen yang telah diciptakan yaitu algoritma
block cipher.
Algoritma block cipher telah banyak diciptakan saat ini namun ada di
antaranya yang sudah terpecahkan oleh kriptanalis. Serangan terhadap teknik
kriptografi yang ada, dilakukan para kriptanalisis pada dasarnya adalah untuk
memecahkan atau membongkar keamanan algoritma kriptografi tersebut. Salah
satu karakteristik untuk menentukan baik atau tidaknya suatu algoritma
kriptografi adalah dengan melihat avalanche effect-nya. Avalanche Effect adalah
perubahan satu bit pada plaintext atau key yang menyebabkan perubahan yang
signifikan terhadap cipherteks.
Oleh sebab itu mengingat bahwa aspek keamanan data merupakan salah satu
faktor penting dalam melindungi pertukaran data maka dalam penelitian ini
membahas tentang Pemenuhan Prinsip Shannon (Difusi dan Konfusi) pada
penelitian sebelumnya yaitu Kriptografi Block Cipher dengan Pola Garis
Pertumbuhan dan Pita Pertumbuhan Cangkang Kerang. Tujuan dari penelitian ini
adalah untuk menguji tingkat avalanche effect terhadap suatu teknik kriptografi
yang telah ada sebelumnya. Adapun manfaat dari yang dibuat diharapkan dapat
meningkatkan tingkat keamanan pada suatu teknik kriptografi.
2. Tinjauan Pustaka
Penelitian pertama berjudul βPerancangan Block Cipher Berbasis pada garis
Pertumbuhan dan Pita Pertumbuhan Cangkang Kerangβ [1] yang merupakan
perancangan kriptografi baru dalam menghasilkan sebuah metodologi untuk dapat
digunakan dalam sebuah penelitian kriptografi simetris. Enkripsi dilakukan
terhadap blok bit plainteks menggunakan bit-bit kunci (yang ukurannya sama
dengan blok plainteks) algoritma enkripsi menghasilkan blok cipherteks yang
sama dengan blok plainteks. Dekripsi dilakukan dengan cara yang serupa seperti
enkripsi. Kriptografi yang dirancang merupakan algoritma kunci simetris dengan
swap box, yaitu sekumpulan tabel aturan swap (pertukaran) pada kolom dan baris
blok untuk meregenerasi kunci.
Penelitian kedua yang digunakan sebagai perbandingan dan sebagai acuan
dalam penelitian ini adalah βDesain dan Implementasi Efisiensi Bit Cipherteks:
Suatu Pendekatan Komparasi Algoritma Huffman dan Rancangan Cipher Block
dengan Transposisi Pola βDoTA 2ββ [2] yang membahas tentang efisiensi bit
cipherteks dari hasil perbandingan dua proses menjadi satu antara algoritma
3
Huffman dan merancang kriptografi block cipher dengan transposisi pola βDoTA
2β. Kombinasi ini dimaksudkan untuk menghemat tempat dan waktu dalam
penyimpanan atau transmisi data, serta memberi keamanan terhadap data.
Selanjutnya akan dibahas dasar-dasar teori yang digunakan dalam penelitian
ini. Kriptografi adalah ilmu yang mempelajari teknik-teknik yang berhubungan
dengan aspek keamanan informasi seperti kerahasiaan, integritas data, dan
otentikasi [3]. Kriptografi memiliki dua konsep utama, yaitu enkripsi dan dekripsi.
Enkripsi adalah proses dimana plainteks dilakukan proses penyandian sehingga
menjadi cipherteks yang merubah pesan menjadi bentuk lain dengan tujuan tidak
dapat dibaca oleh orang lain selain pengirim dan penerima tanpa merubah isi
pesan tersebut, sedangkan dekripsi adalah proses mengembalikan menjadi
plainteks.
Block cipher atau cipher blok digolongkan sebagai kriptografi moderen.
Input dan output dari algoritma block cipher berupa blok dan setiap blok terdiri
dari beberapa bit (1 blok terdiri dari 64-bit atau 128-bit) [4]. Block cipher juga
merupakan algoritma kunci simetri atau kriptografi kunci privat, dimana kunci
untuk enkripsi sama dengan kunci untuk dekripsi [5]. Secara umum block cipher
dapat ditunjukkan pada Gambar 1.
Gambar 1 Skema Proses Enkripsi-Dekripsi Pada Block Cipher [5]
Misalkan blok plainteks (P) yang berukuran n bit
P = p1, p2,β¦ , pn( ) (1)
Blok cipherteks (C) maka blok 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)
4
Enkripsi dilakukan terhadap blok bit plainteks menggunakan bit-bit kunci
(yang ukurannya sama dengan ukuran blok plainteks). Algoritma enkripsi
menghasilkan blok cipherteks yang sama dengan blok plainteks. Dekripsi
dilakukan dengan cara yang serupa seperti enkripsi [5].
Dalam penelitian kriptografi ini, terdapat beberapa prinsip yang digunakan
antara lain Prinsip Penyandian Shannon yaitu Difusi dan Konfusi. Difusi
bertujuan menyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak
mungkin cipherteks. Sebagai contoh, pengubahan kecil pada plainteks sebanyak
satu atau dua bit menghasilkan perubahan pada cipherteks yang tidak dapat
diprediksi. Sedangkan Konfusi merupakan prinsip penyandian yang
menyembunyikan hubungan apapun yang ada antara plainteks, cipherteks, dan
kunci. Prinsipnya konfusi akan membuat kriptanalisis frustasi untuk mencari pola-
pola statistik yang muncul pada cipherteks. Difusi dan Konfusi yang bagus
membuat hubungan statistik antara plainteks, cipherteks, dan kunci menjadi
sangat rumit [5].
Cipher berulang (iterated cipher) merupakan blok plainteks yang
mengalami pengulangan fungsi transformasi beberapa kali untuk mendapatkan
blok cipherteks. Fungsi transformasi pada umumnya merupakan gabungan proses
substitusi, permutasi, kompresi, atau ekspansi terhadap blok plainteks. Sebuah
kunci pada setiap putaran akan dikombinasikan dengan plainteks. Secara formal,
cipher berulang dinyatakan sebagai berikut:
πΆπ = π(πΆπβπ, πΎπ) (6)
i = 1,2, β¦, r (r adalah jumlah putaran)
Ki = Subkey pada putaran ke-i
f = Fungsi transformasi (didalamnya terdapat fungsi substitusi, permutasi,
dan/atau ekspansi, kompresi)
Pada block cipher perubahan satu buah bit dapat menghasilkan perubahan
lebih dari satu bit setelah satu putaran, lebih banyak lagi bit berubah untuk putaran
berikutnya. Hasil perubahan tersebut dinamakan sebagai avalanche effect. Sebuah
algoritma kriptografi memenuhi kriteria avalanche effect apabila satu buah bit
input mengalami perubahan, maka probabilitas semua bit berubah adalah
setengahnya. Teori avalanche effect (AE) dapat dirumuskan sebagai berikut [6]
π΄πΈ = πππ ππ ππππ’ππβππ πππ‘
ππ’πππβ πππ πππ’ππ’βππ πππ‘ Γ 100% (7)
Avalanche effect merupakan salah satu karakteristik yang menjadi acuan untuk
menentukan baik atau tidaknya algoritma kriptografi Block Cipher pada garis
Pertumbuhan dan Pita Pertumbuhan Cangkang Kerang.
Fungsi linier, merupakan sebuah fungsi yang bila divisualisasikan dalam
koordinant Kartesisus akan membentuk sebuah garis. Bentuk umum dari
persamaan garis adalah
(8) bmxxf )(
5
Dimana m adalah kemiringan garis (slope) dan b adalah perpotongan terhadap
sumbu y atau kadang disebut sebagai intercept [7].
Stinson [8], menjelaskan sebuah sistem kriptografi harus memenuhi lima-
tuple (five-tuple) yang terdiri dari (P,C,K,E,D) dimana: P adalah himpunan
berhingga dari plainteks, K merupakan ruang kunci (keyspace), adalah himpunan
berhingga dari kunci. Untuk setiap k K, terdapat aturan enkripsi ek E dan
berkorespodensi dengan aturan dekripsi dk D. Setiap ek : P β C dan dk : C β P
adalah fungsi sedemikian hingga dk(ek(x)) = x untuk setiap plainteks x β P.
3. Metode Penelitian
Penelitian yang dilakukan diselesaikan melalui beberapa tahapan penelitian
yang keseluruhan terbagi dalam lima tahapan, yaitu: (1) Identifikasi dan
perumusan masalah, (2) Perancangan kriptografi, (3) Pengujian kriptografi, (4)
Modifikasi kriptografi , dan (5) penulisan laporan.
Gambar 2. Tahapan Penelitian
Tahapan penelitian pada Gambar 2 dapat dijelaskan sebagai berikut.
Langkah Pertama: Identifikasi dan perumusan masalah, yaitu mengidentifikasikan
masalah-masalah yang akan dibahas, serta merumuskan masalah sesuai dengan
data yang terkait dengan Pemenuhan Prinsip Shannon (Difusi dan Konfusi) pada
penelitian sebelumnya yaitu Kriptografi Block Cipher dengan Pola Garis
Pertumbuhan dan Pita Pertumbuhan Cangkang Kerang (GPCK). Langkah Kedua:
Perancangan kriptografi, yaitu langkah dimana membuat proses enkripsi dan
6
dekripsi, juga membuat gambaran umum mengenai pembuatan teknik kriptografi;
Batasan masalah yang diberikan untuk tidak memperluas ruang lingkup
pembahasan dalam penelitian ini. Langkah Ketiga: pengujian kriptografi, yaitu
dilakukan pengujian terhadap kritografi yang dibangun dengan menggunakan
avalanche effect kemudian melakukan analisis terhadap iterated cipher dalam 20
putaran dengan konstanta acak pada masing-pasing putaran; Langkah Keempat:
Modifikasi kriptografi, yaitu modifikasi iterated cipher dengan menambah
konstanta f(x) = 10x; Langkah Kelima: penulisan laporan dari hasil penelitian,
yaitu melakukan dokumentasi terhadap proses penelitian yang telah dilakukan
dari awal hingga akhir ke dalam sebuah tulisan, yang akan dijadikan laporan hasil
penelitian.
Gambar 3. Proses Umum Iterated Cipher
Setiap putaran terdiri dari proses plainteks ke-n dan juga proses kunci ke-n,
dengan n = 1, β¦, 4. Kedua proses untuk tiap putaran memerlukan 8 karakter yang
sebanding dengan 64 bit, kemudian dirancang dengan pola tertentu untuk
menempati 64 kotak dan selanjutnya bagaimana mengambil 64 bit dari kotak
tersebut. Sehingga untuk satu kotak pada satu proses akan memerlukan satu kali
pemasukan bit dan juga satu kali pengambilan bit.
PLAINTEKS KUNCI
PROSES 1 KUNCI 1
PROSES 2 KUNCI 2
PROSES n KUNCI n
+
+
+
CIPHERTEKS
7
4. Hasil dan Pembahasan
Pada bagian ini akan ditunjukkan hasil yang diperoleh dari modifikasi
terhadap perancangan kriptografi sebelumnya yaitu Perancangan Kriptografi
Block Cipher Berbasis pada Garis Pertumbuhan dan Pita Pertumbuhan Cangkang
Kerang. Sebelum dilakukan modifikasi maka perlu kembali meninjau kembali
algoritma GPCK. Gambar 4 dan Gambar 5 menjelaskan alur proses enkripsi dan
dekripsi secara keseluruhan.
Gambar 4 Proses Enkripsi GPCK [1]
Gambar 4 menjelaskan proses enkripsi yang dilakukan pada algoritma
kriptografi GPCK. Terdapat 10 putaran proses untuk mengubah plainteks menjadi
cipherteks. Pada putaran proses plainteks, terdapat 2 (dua) proses, yaitu Masuk
Bit, proses dimana bit-bit plainteks dimasukkan ke dalam Kotak 64-Bit
menggunakan pita pertumbuhan, kemudian Ambil Bit (GP), bit-bit yang telah
dimasukkan pada proses Masuk Bit kemudian diambil pada proses Ambil Bit
menggunakan alur garis pertumbuhan. Plainteks (Pt) dan kunci (K) yang ter-
encode akan masuk pada putaran proses masing-masing. Hasil dari proses Putaran
1 untuk plainteks adalah P1. Proses serupa juga terjadi pada bit-bit kunci dimana
hasil dari proses Putaran 1 untuk kunci adalah K1. Kemudian P1 diproses XOR
dengan K1 menghasilkan bit-bit baru yang akan menjadi inputan pada Putaran 2
dan K1 akan menjadi inputan juga pada Putaran 2 untuk kunci. Hasil dari Putaran
2 adalah P2 dan K2, keduanya kemudian akan diproses XOR kembali dan
menghasilkan bit-bit baru lagi yang akan diinput kembali pada putaran-putaran
plainteks dan kunci berikutnya sampai dengan Putaran 10, dimana P10 akan
diproses XOR dengan K10 dan menghasilkan cipherteks (C) yang berupa deret bit.
8
Gambar 5. Proses Dekripsi GPCK [1]
Karena kriptografi block cipher berbasis pada GPCK merupakan algoritma
kunci simetris, untuk proses dekripsi algoritma ini merupakan proses kebalikan
dari proses enkripsi yang ditunjukkan pada Gambar 5.
Salah satu prinsip block cipher adalah proses perulangan (round), dan juga
nilai avalanche effect (AE). Hasil ini bila dilakukan pengujian terhadap
kriptografi GPCK maka dengan menggunakan plainteks DISASTER dan kunci
SRIRAMSR maka diperoleh nilai AE sebesar 1.5625. Hasil ini sangat kecil dan
hanya menunjukkan perubahan 1 bit dari 64 bit. Selanjutnya digunakan proses
round dalam GPCK untuk melihat kenaikan proses round terhadap nilai AE.
Tabel 1 merupakan hasil uji AE pada algoritma kriptografi GPCK yang
dilakukan sebanyak 20 kali. Nampak dengan jelas dari round pertama sampai ke
20 tidak mengalami perubahan, dan hanya berada pada sebuah nilai saja. Nilai AE
sangat dibutuhkan bagi sebuah block cipher karena akan menguji seberapa banyak
perubahan sebuah bit dan seberapa besar pengaruhnya pada bit cipherteks. Oleh
karena itu, maka bagian selanjutnya akan ditunjukkan bagaimana modifikasi
dilakukan untuk menentukan kenaikan nilai AE pada kriptografi GPCK.
9
Tabel 1. Hasil Uji AE pada GPCK
Modifikasi dilakukan dengan memperhatikan prinsip iterated cipher atau
perulangan dengan menempatkan konstanta tertentu yang ditambahkan pada
setiap proses. Setiap satu round atau putaran terdapat 4 proses, dan pada setiap
proses terdapat juga sebuah kotak transposisi. Modifikasi terhadap kriptografi
GPCK dengan menerapkan iterated cipher secara keseluruhan dapat digambarkan
dalam skema berikut.
PUTARAN
BANYAK
BIT
BERUBAH
AVALANCHE
EFFECT
1 1 1.5625
2 1 1.5625
3 1 1.5625
4 1 1.5625
5 1 1.5625
6 1 1.5625
7 1 1.5625
8 1 1.5625
9 1 1.5625
10 1 1.5625
11 1 1.5625
12 1 1.5625
13 1 1.5625
14 1 1.5625
15 1 1.5625
16 1 1.5625
17 1 1.5625
18 1 1.5625
19 1 1.5625
20 1 1.5625
10
PLAINTEKS KUNCI
PLAINTEKSPROSES 1
BINER
MASUK BIT
AMBIL BIT
KONSTANTA
KUNCIPROSES 1
MASUK BIT
AMBIL BIT
+
PLAINTEKSPROSES 2
BINER
MASUK BIT
AMBIL BIT
KONSTANTA
KUNCIPROSES 2
MASUK BIT
AMBIL BIT
+
PLAINTEKSPROSES 3
BINER
MASUK BIT
AMBIL BIT
KONSTANTA
KUNCIPROSES 3
MASUK BIT
AMBIL BIT
+
PLAINTEKSPROSES 4
BINER
MASUK BIT
AMBIL BIT
KONSTANTA
KUNCIPROSES 4
MASUK BIT
AMBIL BIT
+
CIPHERTEKS
20 X PUTARAN
Gambar 6. Rancangan Proses Modifikasi GPCK
Pada Gambar 6 menjelaskan proses iterated cipher yang dilakukan pada
algoritma GPCK. Terdapat 20 putaran dalam penelitian ini dimana dalam 1 (satu)
putaran terdapat 4 (empat) proses. Proses dimulai dengan menentukan plainteks
dan kunci yang akan digunakan. Dalam setiap proses, plainteks akan dimodifikasi
dengan penambahan konstanta dan ada 3 (tiga) proses lainnya yaitu BINER yang
merupakan hasil konversi dari plainteks, kemudian MASUK BIT yaitu proses
11
dimana bit-bit plainteks dimasukkan ke dalam kotak 64 bit menggunakan pola
pita pertumbuhan, setiap proses putaran Masuk Bit mempunyai alur pita
pertumbuhan yang berbeda, kemudian AMBIL BIT, bit-bit yang telah
dimasukkan pada proses Masuk Bit kemudian diambil pada proses Ambil Bit
menggunakan alur pita pertumbuhan. Proses putaran kunci terdapat 2 (dua) proses
yaitu MASUK BIT dan AMBIL BIT yang prosesnya sama dengan proses yang
ada pada proses plainteks hanya saja menggunakan alur garis pertumbuhan.
Selanjutnya dilakukan proses XOR antara plainteks dan kunci dimana hasil dari
proses tersebut merupakan cipherteks.
Tabel 2. Plainteks dan Kunci
PLAINTEKS : DISASTER
KUNCI : SRIRAMSR
Dalam pengujian ini berisi tentang plainteks yang sama dengan pengujian
sebelumnya yaitu βDISASTERβ dan Kunci βSRIRAMSRβ. Selanjutnya dengan
menggunakan kunci yang sama plainteks diganti dengan βDISCSTERβ untuk
melihat perubahan 1 bit (pergantian dari huruf A dengan C). Masing-masing
karakter dalam plainteks dan kunci akan dikonversi ke dalam desimal berdasarkan
kode ASCII. Bilangan desimal dari masing-masing karakter akan dijumlahkan
dengan bilangan kelipatan 10 antara 10 sampai dengan 200 yang hasilnya
dikalikan dengan modulus 256. Hasil pengujian berdasarkan plainteks yang akan
dibandingkan maka diperoleh nilai AE.
Tabel 3. Hasil Proses Putaran DEC2HEX
PUTARAN HEXA DESIMAL PUTARAN HEXA DESIMAL
1 0F E2 60 6A 0C 10 DB 44 11 5A 44 8A E3 4D 60D2 DC
2 48 84 7C 53 44 9C 73 1C 12 52 44 4A DD 41 A0 9E DC
3 52 E4 52 51 4C 6C 68 DC 13 5E E4 A6 6F 49 F8 16 DC
4 5E 44 B2 D5 4C 9C 8A DC 14 56 64 12 FD 40 1C C0 DC
5 52 64 A D1 41 C8 D2 DC 15 5E 64 EA C3 40 9C C2 DC
6 SE C4 CA 45 49 54 74 DC 16 52 44 46 D3 40 4 B2 DC
7 52 44 7E C9 45 A4 DC DC 17 5A 64 92 D7 48 EC 9C DC
8 5A E4 E6 59 40 20 72 DC 18 52 C4 A 41 45 A0 0 DC
9 56 64 2A E0 41 F0 88 DC 19 5E E4 8A 73 40 B8 74 DC
10 54 C4 D2 57 4C 64 1C DC 20 56 44 6A C9 45 B0 BA DC
Tabel 3 menunjukkan hasil proses round dari desimal ke hexa pada setiap
putaran.
12
1 0 0 0 0 1 1 0
1 1 1 1 0 0 0 0
0 1 1 0 0 0 0 0
0 1 1 0 0 1 0 1
1 1 0 0 0 0 0 1
0 0 0 0 1 0 1 0
0 1 1 0 0 0 1 1
0 0 0 1 1 1 0 1
Gambar 7. Pola Masuk Bit Pita Pertumbuhan
pada Kotak 64-Bit Gambar 8. Proses Masukan Bit
Gambar 7 merupakan proses masukan bit dari setiap karakter plainteks
berdasarkan alur pita pertumbuhan cangkang kerang. Setiap bit akan dimasukkan
dengan arah yang dimulai dari bawah β pada titik hitam, mengikuti tanda panah
berwarna hitam secara diagonal menuju ke atas. Diambil 64 bit sebagai blok
pertama dengan mengikuti proses masuk bit dan penempatan untuk setiap bit
diatur berdasarkan kotak-kotak kecil tertentu. Pemasukan setiap bit diperjelas
pada Gambar 8. Proses masukan yang dilakukan pada plainteks sama dengan
proses masukan pada kunci yang digunakan. Dalam satu putaran plainteks dan
kunci dilakukan empat kali proses masukan bit.
1 0 0 0 0 1 1 0
1 1 1 1 0 0 0 0
0 1 1 0 0 0 0 0
0 1 1 0 0 1 0 1
1 1 0 0 0 0 0 1
0 0 0 0 1 0 1 0
0 1 1 0 0 0 1 1
0 0 0 1 1 1 0 1
Gambar 9. Pola Ambil Bit Garis
Pertumbuhan pada Kotak 64-Bit Gambar 10. Proses Pengambilan Bit
13
Proses pengambilan bit dilakukan dengan mengikuti pola garis pertumbuhan
cangkang kerang pada Gambar 9. Proses pengambilan bit dilakukan dengan
mengambil bit berdasarkan pola warna maka diperoleh urutan bit pada Gambar
10. Proses pengambilan yang dilakukan pada plainteks sama dengan proses
pengambilan pada kunci. Hasil putaran masukan dan pengambilan pada plainteks
dan kunci P1 (Plainteks 1) dan K1 (Kunci 1). Dalam satu putaran plainteks
maupun kunci dilakukan empat kali proses pengambilan bit.
Setelah dilakukan proses putaran sebanyak 20 kali maka proses selanjutnya
adalah pengujian avalanche effect. Hasil dari pengujian avalanche effect terdapat
pada Tabel 4.
Tabel 4. Hasil Uji Avalanche Effect
Menggunakan Konstanta
PUTARAN BANYAK BIT BERUBAH
AVALANCHE EFFECT
1 11 17.1875
2 7 10.9375
3 9 14.0625
4 12 18.75
5 15 23.4375
6 14 21.875
7 13 20.3125
8 16 25
9 13 20.3125
10 13 20.3125
11 11 17.1875
12 12 18.75
13 16 25
14 12 18.75
15 10 15.625
16 12 18.75
17 11 17.1875
18 14 21.875
19 17 26.5625
20 11 17.1875
Berdasarkan Tabel 4 proses pengujian modifikasi pada kriptografi GPCK
dapat meningkatkan nilai AE. Hasil yang diperoleh tampak berfluktuatif dengan
nilai terkecil pada putaran ke 2 dengan nilai AE 10,9375 dan nilai terbesar pada
putaran ke 19 dengan nilai AE 26, 5625. Dengan mengambil sebanyak 20 putaran
maka diperoleh rata-rata nilai AE untuk modifikasi pada GPCK 19,453125.
14
Gambar 11. Grafik Hasil Uji Avalanche Effect
Menggunakan Konstanta
Gambar 11 menunjukkan perbandingan yang dilakukan dalam pengujian AE
berdasarkan proses round (perulangan) pada kriptografi GPCK. Proses round
merupakan sebuah prinsip dalam block cipher yang diimplementasikan secara
langsung dengan memasukkan kembali output yang diperoleh ke input.
Kriptografi GPCK tidak melakukan proses round, oleh sebab itu dalam pengujian
ini dilakukan round sebanyak 20 kali dan hasil yang diperoleh tidak terlalu
signifikan untuk menaikkan nilai AE. Hal ini ditunjukkan hanya dengan grafik
yang menunjukkan angka yang sama pada setiap putaran. Tetapi berlaku
sebaliknya pada modifikasi yang dilakukan dengan perkalian menggunakan
konstanta f(x) = 10x sebagai pengali pada tiap proses. Hasil yang diperoleh dapat
meningkatkan nilai AE secara signifikan pada setiap proses. Hasil tersebut dengan
nilai terkecil adalah 10,9375 dan nilai terbesar adalah 26, 5625.
Gambar 12. Grafik Hasil Uji Avalanche Effect dengan Plainteks
AAAAAAAA dan ABCDEFGH
Gambar 12 merupakan Grafik hasil pengujian dengan plainteks
AAAAAAAA dan ABCDEFGH yang menunjukkan plainteks acak dan berurutan
dapat meningkatkan nilai AE secara signifikan pada setiap proses. Hasil
0
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Nila
i Ava
lan
che
Effe
ct
Round ke-i
Round GPCK Round Modifikasi
0
10
20
30
40
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
AVALANCHE EFFECT
ROUND AAAAAAAA ROUND ABCDEFGH
15
ditunjukkan dengan nilai terkecil plainteks berurutan 1,5625 dan nilai terbesar
34,375. Nilai terkecil pada plainteks acak 15,625 dan nilai terbersar 31,25.
Selanjutnya membuktikan rancangan kriptografi GPCK sebagai sebuah
kriptosistem dengan memenuhi 5 tupple Stinson (P,C, K, E, dan D). P adalah
himpunan berhingga dari plainteks. Dalam perancangan ini menggunakan 256
karakter dalam ASCII, himpunan plainteks pada Garis Pertumbuhan dan Pita
pertumbuhan adalah himpunan berhingga. C juga merupakan himpunan berhingga
dari cipherteks karena akan berada pada 256 karakter ASCII cipherteks dalam
bentuk hexa. K, keyspace atau ruang kunci adalah himpunan berhingga dari 256
karakter ASCII. Untuk setiap π β K terdapat aturan enkripsi ππ β E dan
berkorespodensi dengan aturan dekripsi ππβ D. Setiap ππ : PβC dan ππ: CβP
adalah fungsi sedemikian hingga ππ (ππ(π₯)) = π₯ untuk setiap plainteks π₯ β P.
Kondisi ke-4 terdapatkunci yang dapat melakukan proses enkripsi sehingga
merubah plainteks menjadi cipherteks. Dan dapat melakukan proses deskripsi
yang merubah cipherteks ke plainteks. Untuk tuple E dan D secara khusus telah
terwakilkan karena memenuhi ke-lima tuple dari Stinson dengan desain algoritma
modifikasi pada GPCK.
5. Simpulan
Berdasarkan pada pembahasan sebelumnya, pemenuhan prinsip Shannon
(Difusi dan Konfusi) dengan fungsi f(x) = 10x pada kriptografi block cipher
dengan pola garis pertumbuhan dan pita pertumbuhan cangkang kerang dapat
memenuhi prinsip shannon, iterated cipher dan avalanche effect yang ada.
Pada pengujian AE ditunjukkan dengan grafik yang berada pada sebuah
nilai yaitu 1,5625 dan tidak mengalami perubahan pada setiap putaran. Tetapi
berlaku sebaliknya pada modifikasi yang dilakukan dengan perkalian
menggunakan konstanta f(x) = 10x sebagai pengali pada setiap proses. Hasil
pengujian avalanche effect menunjukkan nilai terkecil adalah 10,9375 dan nilai
terbesar adalah 26,5625. Hasil yang diperoleh menunjukkan peningkatan nilai AE
secara signifikan dalam setiap proses.
6. Daftar Pustaka
[1] Santoso H.Y., Purnomo, H. D., & Wowor, A. D., 2015, Perancangan
Kriptografi Block Cipher Berbasis pada Garis Pertumbuhan dan Pita
Pertumbuhan Cangkang Kerang, Salatiga: Skripsi-S1 Sarjana Universitas
Kristen Satya Wacana.
[2] Buji D. J., Pakereng, M.A.I., & Wowor, A.D., 2016. Desain dan
Implementasi Efisiensi Bit Cipherteks: Suatu Pendekatan Komparasi
Algoritma Huffman dan Rancangan Cipher Block dengan Transposisi Pola
βDoTA 2, Salatiga: Skripsi-S1 Sarjana Universitas Kristen Satya Wacana.
[3] Menezes, A.J., van Oorschot P.C., & Vanstone, S.A., 1997, Handbook of
Applied Cryptography, New York: CRC Press
16
[4] Ariyus, D., 2006, Kriptografi Keamanan Data dan Komunikasi, Yogyakarta:
Graha Ilmu.
[5] Munir, Rinaldi, 2006, Kriptografi, Bandung : Informatika.
[6] Ramanujam, S & Karuppiah, M., 2011, Design an Algorithm with high
Avalanche Effect, International Journal of Computer Science and Network
Security, IJCSNS VOL 11.
[7] Stewart, James, 2014, Calculus: Early Transcendentals, 7th Edition,
Belmont: Brooks /Cole Thomson.
[8] Stinson, D. R., 1995, Cryptography: Thory and Practic, London: CRC
Press.