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
Pemenuhan Prinsip Shannon (Difusi dan Konfusi) dengan Fungsi 𝒇(𝒙) = 𝟏𝟎𝒙 pada Kriptografi Block Cipher dengan Pola Garis Pertumbuhan dan Pita Pertumbuhan Cangkang Kerang 1
Christin 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], 3
[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.
1
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
2
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 ) Blok cipherteks (C) maka blok C adalah C c1 , c2 ,, cn
(1) (2)
Kunci (K) maka kunci adalah K k1 , k 2 ,, k n
(3)
Sehingga proses Enkripsi adalah E k P C Proses dekripsi adalah Dk C P (C) = P
(4) (5)
3
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 polapola 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) f ( x) mx b 4
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 limatuple (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
5
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. PLAINTEKS
KUNCI
PROSES 1
+
KUNCI 1
PROSES 2
+
KUNCI 2
PROSES n
+
KUNCI n
CIPHERTEKS
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.
6
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 terencode 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 P 10 akan diproses XOR dengan K10 dan menghasilkan cipherteks (C) yang berupa deret bit.
7
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.
8
Tabel 1. Hasil Uji AE pada GPCK PUTARAN
BANYAK BIT BERUBAH
AVALANCHE EFFECT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625 1.5625
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.
9
PLAINTEKS
KUNCI
PLAINTEKS PROSES 1 BINER KONSTANTA
KUNCI PROSES 1 +
MASUK BIT
MASUK BIT AMBIL BIT
AMBIL BIT
PLAINTEKS PROSES 2 BINER KONSTANTA
KUNCI PROSES 2 +
MASUK BIT
MASUK BIT AMBIL BIT
AMBIL BIT
20 X PUTARAN
PLAINTEKS PROSES 3 BINER KONSTANTA
KUNCI PROSES 3 +
MASUK BIT
MASUK BIT AMBIL BIT
AMBIL BIT
PLAINTEKS PROSES 4
KUNCI PROSES 4
BINER KONSTANTA
+
MASUK BIT
MASUK BIT AMBIL BIT
AMBIL BIT
CIPHERTEKS
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
10
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 KUNCI
: :
DISASTER 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 1 2 3 4 5 6 7 8 9 10
HEXA DESIMAL
PUTARAN
0F E2 60 6A 0C 10 DB 44 48 84 7C 53 44 9C 73 1C 52 E4 52 51 4C 6C 68 DC 5E 44 B2 D5 4C 9C 8A DC 52 64 A D1 41 C8 D2 DC SE C4 CA 45 49 54 74 DC 52 44 7E C9 45 A4 DC DC 5A E4 E6 59 40 20 72 DC 56 64 2A E0 41 F0 88 DC 54 C4 D2 57 4C 64 1C DC
11 12 13 14 15 16 17 18 19 20
HEXA DESIMAL 5A 44 8A E3 4D 60D2 DC 52 44 4A DD 41 A0 9E DC 5E E4 A6 6F 49 F8 16 DC 56 64 12 FD 40 1C C0 DC 5E 64 EA C3 40 9C C2 DC 52 44 46 D3 40 4 B2 DC 5A 64 92 D7 48 EC 9C DC 52 C4 A 41 45 A0 0 DC 5E E4 8A 73 40 B8 74 DC 56 44 6A C9 45 B0 BA DC
Tabel 3 menunjukkan hasil proses round dari desimal ke hexa pada setiap putaran.
11
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.
Gambar 9. Pola Ambil Bit Garis Pertumbuhan pada Kotak 64-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 10. Proses Pengambilan Bit
12
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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
BANYAK BIT BERUBAH 11 7 9 12 15 14 13 16 13 13 11 12 16 12 10 12 11 14 17 11
AVALANCHE EFFECT 17.1875 10.9375 14.0625 18.75 23.4375 21.875 20.3125 25 20.3125 20.3125 17.1875 18.75 25 18.75 15.625 18.75 17.1875 21.875 26.5625 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.
13
Nilai Avalanche Effect
Round GPCK
Round Modifikasi
30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Round ke-i 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.
AVALANCHE EFFECT 40 30 20 10 0 1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20
ROUND AAAAAAAA
ROUND ABCDEFGH
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
14
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. 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. Menezes, A.J., van Oorschot P.C., & Vanstone, S.A., 1997, Handbook of Applied Cryptography, New York: CRC Press
[2]
[3]
15
[4] [5] [6]
[7] [8]
Ariyus, D., 2006, Kriptografi Keamanan Data dan Komunikasi, Yogyakarta: Graha Ilmu. Munir, Rinaldi, 2006, Kriptografi, Bandung : Informatika. Ramanujam, S & Karuppiah, M., 2011, Design an Algorithm with high Avalanche Effect, International Journal of Computer Science and Network Security, IJCSNS VOL 11. Stewart, James, 2014, Calculus: Early Transcendentals, 7th Edition, Belmont: Brooks /Cole Thomson. Stinson, D. R., 1995, Cryptography: Thory and Practic, London: CRC Press.
16