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 f(x) = 10x pada Kriptografi Block Cipher dengan Pola Garis Pertumbuhan dan Pita Pertumbuhan Cangkang Kerang 1 Christin Marcelin Dias, 2 Magdalena A. Ineke Pakereng, 3 Alz Danny Wowor Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50771, Indonesia Email: 1 672009080@student.uksw.edu, 2 ineke.pakereng@staff.uksw.edu, 3 alzdanny.wowor@staff.uksw.edu 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 = ( p 1, p 2,, p n ) (1) Blok cipherteks (C) maka blok C adalah C c, c, 1 2, c n (2) Kunci (K) maka kunci adalah K k, k, 1 2, k n (3) Sehingga proses Enkripsi adalah E k P C (4) Proses dekripsi adalah D k C P (C) = P (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: C i = f(c i l, K i ) (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] AE = besar perubahan bit jumlah keseluruhan bit 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 P10 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
PUTARAN Tabel 1. Hasil Uji AE pada GPCK 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 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 KUNCI PROSES 1 KONSTANTA BINER MASUK BIT AMBIL BIT + MASUK BIT AMBIL BIT PLAINTEKS PROSES 2 KUNCI PROSES 2 KONSTANTA BINER MASUK BIT AMBIL BIT + MASUK BIT AMBIL BIT 20 X PUTARAN PLAINTEKS PROSES 3 KUNCI PROSES 3 KONSTANTA BINER MASUK BIT AMBIL BIT + MASUK BIT AMBIL BIT PLAINTEKS PROSES 4 KUNCI PROSES 4 KONSTANTA BINER MASUK BIT AMBIL BIT + MASUK 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 : 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. 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. 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 Gambar 9. Pola Ambil Bit Garis Pertumbuhan pada Kotak 64-Bit 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 BANYAK BIT AVALANCHE BERUBAH 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. 13
Round GPCK Round Modifikasi Nilai Avalanche Effect 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. 40 30 20 10 AVALANCHE EFFECT 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 K terdapat aturan enkripsi e k E dan berkorespodensi dengan aturan dekripsi d k D. Setiap e k : P C dan d k : C P adalah fungsi sedemikian hingga d k (e k (x)) = x untuk setiap plainteks x 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 15
[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, 7 th Edition, Belmont: Brooks /Cole Thomson. [8] Stinson, D. R., 1995, Cryptography: Thory and Practic, London: CRC Press. 16