Peranca
ngan
Kriptografi
Block Cipher
Berbasis pada
Alur
Clamshell’s Growth Rings
Handri Yonatan Santoso
1, Alz Danny Wowor
2, Magdalena A. Ineke Pakereng
3Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Jalan Diponegoro 52-60, Salatiga 50711, Jawa Tengah
1
672009089@student.uksw.edu 2alzdanny.wowor@staff.uksw.edu 3
ineke.pakereng@staff.uksw.edu
Abstract— Block cipher algorithms, modern cryptography that many of it have made, but some of them has broken by cryptanalysis attacks. It is important to make new block cipher algorithms to change the old algorithms to improve the message’s security. As new block cipher design, Clamshell’s Growth Rings has a SwapBox - the swap rules of blocks key. It is a symmetric key algorithm of a 64-bit block that faster than AES-128 5.27% ms on encryption process. The result of the research showed that Clamshell’s Growth Rings’ design can successfully be a cryptosystem and may used as an alternative cryptography of block cipher to secure messages.
Keywords— Block Cipher, Clamshell, Cryptography, SwapBox, Symmetric Key.
I. PENDAHULUAN
Algortima block cipher, kriptografi moderen yang telah banyak diciptakan, beberapa algoritma di antaranya sudah terpecahkan. Algoritma AES adalah salah satu contoh algoritma yang sudah terpecahkan oleh kriptanalis dengan square attack dan serangan diferensial kriptanalisis. Serangan terhadap teknik kriptografi yang sudah ada dilakukan para kriptanalisis pada dasarnya adalah untuk memecahkan atau membongkar keamanan algoritma kriptografi tersebut, yang selanjutnya digunakan untuk usaha mengupas data tersandi tanpa mengetahui atau menggunakan kunci serta persaingan dalam dunia kriptologi. Seiring dengan perkembangan perangkat elektronik yang terus berkala maka harus diiringi pula
dengan perkembangan keamanan, salah satunya
perkembangan algoritma kriptografi baik itu modifikasi algoritma ataupun perancangan algoritma baru sebagai pengganti algoritma kriptografi yang sudah terbongkar keamanannya. Penyebab lainnya karena data digital banyak dikirim dan dihasilkan dari perangkat-perangkat elektronik. Oleh sebab itu, melihat dari data digital yang banyak dikirimkan dan aspek keamanan data merupakan salah satu faktor penting dalam melindungi pertukaran data dari orang-orang yang tidak pada ruang lingkupnya, maka dalam penelitian ini dirancanglah kriptografi baru dari block cipher berbasis pada alur Clamshell’s Growth Rings.
Penelitian pertama yang melandasi penelitian ini berjudul “Tweakable Block Ciphers” [1], menjelaskan bahwa
kriptografi yang diusulkan mempunyai input ketiga selain pesan dan kunci, yaitu “tweak”. Tweak melayani banyak kegunaan sama yang vektor inisialisasi lakukan untuk mode CBC atau pada mode OCB, hasil penelitian tersebut mengusulkan bahwa rancangan mudah untuk dirancang dan biaya tambahan pembuatan adalah kecil. Penelitian kedua dengan judul “Kriptografi Kunci Simetris Dengan Menggunakan Algoritma Crypton” [2], menjelaskan bahwa semakin kompleks metode pengacakan yang digunakan maka akan semakin sulit untuk membongkar pesan yang terenkripsi ke bentuk aslinya dengan syarat kunci atau private key tidak boleh dipublikasikan kepada umum. Penelitian ketiga, “Advanced Encryption Standard” [3],
menjelaskan bahwa Advanced Encryption Standard (AES)
adalah standard terkini untuk enkripsi kunci rahasia
menggantikan DES. Algoritma AES menggunakan
kombinasi operasi XOR, subtitusi oktet dengan S-box, kolom dan baris rotasi-rotasi, dan MixColumn. Algoritma sukses diterapkan dan mampu berjalan di sejumlah waktu yang layak pada komputer biasa.
Tujuan dari penelitian ini adalah untuk menghasilkan sebuah teknik kriptografi baru dan menghasilkan sebuah metodologi yang dapat digunakan dalam sebuah penelitian kriptografi simetris. Adapun manfaat dari penelitian yang dibuat diharapkan dapat menjawab permasalahan dari kriptografi standar menjadi acuan metodologi dalam merancang kriptografi kunci simetris baru khususnya block cipher.
II. LANDASAN TEORI
A. Block Cipher
seperti enkripsi [5]. Secara umum dapat ditunjukkan pada Gambar 1.
Gambar 1. Skema Proses Enkripsi-Dekripsi Pada Block Cipher [5]
B. Clamshell’s Growth Rings (CGR) danSwapBox
Nama dari perancangan kriptografi yang diteliti dan terinspirasi oleh growth rings atau lingkar pertumbuhan katup atau kulit kerang, khususnya pada kerang kelas bivalvia [6]. Clamshell’s Growth Rings dipilih karena pola pada perancangan kriptografi yang diteliti menyerupai growth Rings, sedangkan fungsi dari clamshell atau kulit kerang adalah untuk melindungi organ dalam kerang tersebut. Harapannya dengan nama tersebut kriptografi ini dapat membantu dalam mengamankan dan melindungi pesan dengan baik. Kriptografi yang dirancang merupakan algoritma kunci simetris dengan 8 putaran proses dan
mempunyai SwapBox, sekumpulan tabel aturan swap untuk
proses pembangkitan dan meregenerasi kunci.
C. Sistem Kriptografi
Sistem kriptografi (cryptosystem) adalah himpunan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin, dan kunci [5].
Sebuah kriptografi dapat dikatakan sebagai sebuah sistem kriptografi jika memenuhi lima-tuple (five-tuple)(P, C, K, E, D)yang memenuhi kondisi [7]:
1. �adalah himpunan berhingga dari plainteks,
2. �adalah himpunan berhingga dari cipherteks,
3. �merupakan ruang kunci (keyspace), adalah himpunan
berhingga dari kunci,
4. Untuk setiap k �K, terdapat aturan enkripsi ℯ!E dan
berkorespodensi dengan aturan dekripsi �!��. Setiap ℯ! ∶�⟶�dan �! ∶�⟶�adalah fungsi sedemikian hingga �! ℯ! � =� untuk setiap plainteks ���.
III.METODE PENELITIAN
A. Langkah-langkah Penelitian
Langkah-langkah penelitian dalam menyelesaikan
kriptografi berbasis pada alur Clamshell’s Growth Rings
ditunjukkan pada Gambar 2, dan tiap langkah penelitian secara detil dijelaskan sebagai berikut.
Gambar 2. Langkah Penelitian
Langkah 1: Identifikasi Masalah dan Perumusan Masalah. Mengidentifikasi masalah yang kaitannya dengan kriptografi block cipher. Menguraikan dan menjelaskan masalah yang diambil kemudian merumuskan masalah tersebut ke dalam batasan masalah. Batasan masalah yang
diambil dalam perancangan kriptografi block cipher
berbasis pada alur Clamshell’s Growth Rings, yaitu:
1. Panjang teks pada kunci memiliki panjang
maksimal 8 karakter.
2. Ukuran blok yang digunakan pada perancangan
kriptografi berbasis pada Alur Clamshell’s Growth Rings adalah 64-bit.
Langkah 2: Kerangka Teori dan Pengumpulan Bahan. Masalah yang telah dirumuskan kemudian diidentifikasikan variabel-variabel pentingnya dengan masalah penelitian ke dalam kerangka teori. Pengumpulan bahan-bahan yang terkait baik tinjauan pustaka dan landasan teori dilakukan untuk referensi pembuatan kriptografi yang diteliti.
Langkah 3: Perancangan Clamshell dan Perancangan kunci. Membuat rancangan untuk proses enkripsi dan dekripsi plainteks dengan mengikuti alur dari growth rings kulit kerang. Rancangan enkripsi dan dekripsi kunci dibuat
hingga hasil dari rancangan kunci yang didapat
dikumpulkan menjadi SwapBox.
Langkah 4: Pembuatan Kriptografi Clamshell. Rancangan yang sudah jadi kemudian dihitung manual secara matematis pada proses enkripsi plainteks dan teks kunci yang digunakan.
Langkah 5: Uji Kriptosistem. Melakukan pengujian hasil perancangan kriptografi yang dirancanag terhadap kriptosistem.
B. Proses Enkripsi - Dekripsi
Proses enkripsi-dekripsi pada perancangan kriptografi berbasis pada alur Clamshell’s Growth Rings. Untuk proses enkripsi,
Plainteks Clamshell 1 Clamshell 2⋯ Clamshell 8 Proses A Proses B Cipherteks
Plainteks yang diinput akan diproses menggunakan alur CGR putaran 1 sampai dengan putaran 8. Proses A adalah
proses pembangkitan kunci dengan SwapBox. Plainteks
yang telah diproses menggunakan alur CGR kemudian dilakukan proses XOR dengan kunci yang telah diregenerasi pada proses A, proses tersebut terjadi pada Proses B. Sedangkan proses dekripsi dilakukan proses balikan dari enkripsi,
Cipherteks Proses B Proses A Clamshell 8
Clamshell 7⋯Clamshell 1 Plainteks.
C. Perancangan Kunci
Perancangan kriptografi block cipher berbasis pada alur Clamshell’s Growth Rings menggunakan SwapBox sebagai kunci. Proses perancangan kunci dijelaskan dalam bentuk flowchart pada Gambar 5.
Gambar 3.Proses Pembentukan Kunci
Untuk panjang teks kunci dibatasi sebanyak 8 karakter. Jika panjang teks kunci < 8 karakter maka dilakukan proses padding. Jika panjang teks kunci 8 karakter, karakter akan di-encode sehingga menjadi deret bit yang selanjutnya akan
masuk pada proses Masuk Bit, SwapBox, dan proses Ambil
Bit. Hasil dari proses putaran pertama pada kunci akan diproses dengan hasil proses putaran plainteks dari putaran pertama dan menjadi inputan untuk proses putaran kunci kedua dan selanjutnya.
IV.HASIL DAN PEMBAHASAN
A. Alur Clamshell’s Growth Rings sebagai Teknik Kriptografi
Untuk menguji perancangan alur Clamshell’s Growth
Rings sebagai teknik kriptografi, terlebih dahulu dijelaskan alur proses enkripsi dan dekripsi. Pada pembahasan sebelumnya sudah dibahas, namun lebih lengkap proses enkripsi-dekripsi ditunjukkan pada Gambar 4 dan Gambar 5.
Lebih lanjut, proses enkripsi dan dekripsi akan diuji dengan contoh teks plainteks dan kunci yang sudah diberikan.
Gambar 4.Rancangan Proses Enkripsi CGR
Pada Gambar 4, plainteks (Pt) dan kunci (K) yang ter-encode akan masuk pada proses putaran. Terdapat 8 putaran proses enkripsi untuk menghasilkan cipherteks (C). Pada proses putaran plainteks, terdapat tiga proses, yaitu: Masuk Bit, Clamshell, dan Ambil Bit. Masuk Bit adalah proses dimana bit-bit plainteks masuk dalam blok berukuran 8x8, setiap proses putaran mempunyai pola Masuk Bit yang berbeda. Setelah proses Masuk Bit, bit-bit plainteks akan diacak pada proses Clamshell. Clamshell juga mempunyai pola yang berbeda untuk setiap putaran enkripsi. Bit-bit yang diacak kemudian diambil, hasil dari Putaran 1 plainteks adalah P1.
Pada proses putaran kunci juga terdapat tiga proses, yaitu: Masuk Bit, SwapBox, dan Ambil Bit. Tiap putaran Masuk Bit dan Ambil Bit mempunyai pola yang berbeda pula. Proses SwapBox adalah proses dimana bit-bit kunci yang masuk pada Masuk Bit akan diacak tiap kolom dan tiap baris mengikuti aturan. Bit-bit kunci yang sudah diacak pada proses SwapBox akan diambil pada proses Ambil Bit. Pengambilan bit pada proses Ambil Bit kunci berbeda dengan Ambil Bit plainteks karena pada tiap putaran Ambil Bit kunci mempunyai pola pengambilan yang hampir serupa dengan Masuk Bit kunci.
P1 dan K1 adalah hasil pengacakan tiap putaran pada plainteks dan kunci. P1 kemudian diproses dengan K1 menghasilkan bit-bit baru yang akan diputar kembali pada Putaran 2, begitu juga dengan K1 akan diproses juga pada Putaran 2. Hasil dari Putaran 2 adalah P2 dan K2, keduanya kemudian akan diproses kembali dan menghasilkan bit-bit baru lagi yang akan diproses pada putaran-putaran plainteks dan kunci berikutnya. Proses tersebut berlangsung sampai 8 putaran, dimana P8 akan diproses dengan K8. Hasil akhir pada proses enkripsi adalah cipherteks (C) yang berupa deretan bit.
algoritma ini merupakan proses kebalikan dari proses enkripsi yang ditunjukan pada Gambar 5.
Gambar 5.Rancangan Proses Dekripsi CGR
Deret bit C dan K8 akan diproses XOR terlebih dahulu, sehingga menghasilkan P8. P8 dan K8 akan diputar pada proses invers atau balikan putaran plainteks dan kunci sampai menghasilkan teks plainteks (Pt) dan teks kunci (K) yang semula.
Pada proses enkripsi-dekripsi menggunakan contoh teks “ALZDANNY” sebagai plainteks dan “KEEPCALM” sebagai teks kunci. Proses yang dijelaskan dalam pembahasan ini adalah proses yang terjadi pada Putaran 3, dan jumlah proses di tiap putaran plainteks dan kunci adalah sama seperti ditunjukkan pada Gambar 4, yang berbeda adalah pola di setiap putaran. Secara matematis proses pada Putaran 3 dapat dijelaskan sebagai berikut:
Misalkan plainteks = T dan kunci = Y, maka:
�= �!,�!,�!,�!,�!,⋯,�! ������ �|8,�∈�!
T1= {a1, a2, a3,...,a8} T2 = {a9, a10,a11,...,a16} T3 = {a17,a18,a19,...,a24} ⋮
Tn = {a8n-7, a8n-6, a8n-5,...,a8n} (1)
Pada teks plainteks “ALZDANNY” setelah ter-encode oleh ASCII menjadi bit, masuk pada proses Putaran 1 dan Putaran 2. Hasil bit-bit plainteks setelah diproses dengan bit-bit kunci pada Putaran 1 dan Putaran 2 adalah:
10000101→{a1, a2, a3..., a8};
10011001→{a9, a10, a11..., a16};
01110101→{a17, a18, a19..., a24};
11010000→{a25, a26, a27..., a32};
10101000→{a33, a34, a35..., a40};
01111001→{a41, a42, a43..., a48};
10110001→{a49, a50, a51..., a56};
01011100→{a57, a58, a59..., a64};
T= {a1, a2, a3, a4, a5, a6, a7, a8, a9..., a63, a64}, berdasar pada Persamaan (1).
Untuk Putaran 3 pada perancangan kriptografi CGR
mempunyai pola Masuk Bit plainteks yang ditunjukkan
pada Gambar 6.
a29 a37 a44 a50 a55 a59 a62 a64 a22 a30 a38 a45 a51 a56 a60 a63 a16 a23 a31 a39 a46 a52 a57 a61 a11 a17 a24 a32 a40 a47 a53 a58 a7 a12 a18 a25 a33 a41 a48 a54 a4 a8 a13 a19 a26 a34 a42 a49 a2 a5 a9 a14 a20 a27 a35 a43 a1 a3 a6 a10 a15 a21 a28 a36
Gambar 6. Pola Masuk Bit Plainteks Pada Putaran 3
Pola CGR untuk pengacakan bit-bit plainteks pada Putaran 3 ditunjukkan pada Gambar 7
Gambar 7. Pola Proses CGR Pada Putaran 3
Anak panah menunjukkan arah alur pada proses Clamshell,
dimulai dari blok dengan titik hitam. Pada Gambar 8, ditunjukkan secara lebih jelas proses pada CGR.
a29 a37 a44 a50 a55 a59 a62 a64 a22 a30 a38 a45 a51 a56 a60 a63 a16 a23 a31 a39 a46 a52 a57 a61 a11 a17 a24 a32 a40 a47 a53 a58 a7 a12 a18 a25 a33 a41 a48 a54 a4 a8 a13 a19 a26 a34 a42 a49 a2 a5 a9 a14 a20 a27 a35 a43 a1 a3 a6 a10 a15 a21 a28 a36
Gambar 8. Blok-Blok Warna Pola Proses CGR Pada Putaran 3
Berdasarkan blok-blok warna pada Gambar 8 yang diacak,
maka proses Ambil Bityang dihasilkan:
T
Putaran3= {
a37, a30, a22, a44, a38, a31, a23, a16, a50, a45, a39, a32, a24, a17, a11, a55,... ,a3, a1, a29}=
“10110001 01001000 10011110 01100011 11011001 11010100 00110110 10001010” atau “± HžcÙÔ6Š”.Hasil bit-bit kunci setelah terproses pada Putaran 1 dan Putaran 2 adalah:
biner yang tidak dapat ditampilkan sebagai huruf, angka,
Gambar 9. Pola Masuk Bit Kunci Pada Putaran 3
Bit-bit kunci yang sudah ditempatkan ke dalam blok-blok
kemudian dikenakan proses SwapBox.
Gambar 10. Proses SwapBox Pada Putaran 3
Seperti yang ditunjukkan pada Gambar 9 dan mengikuti menghasilkan deret blok untuk baris sebagai berikut:
N1 = {a6, a10, a15, a21, a28, a36, a1, a3}; Putaran 3 ditunjukkan pada Gambar 11.
a38 a45 a51 a56 a60 a63 a22 a30
Gambar 11. Blok Hasil Proses SwapBox Pada Putaran 3
Setelah proses SwapBox selesai, dilanjutkan pada proses Ambil Bit kunci untuk menghasilkan deret bit kunci yang sudah diproses pada Putaran 3. Proses Ambil Bit dilakukan dengan urutan, YPutaran3= {a30, a37, a17, a5, a23, a3, a12, a8..., a18,
a13}= “00000000 11000000 10101001 10001100 10010010
11010001 00000001 00011100” atau “00000000 À©Œ’Ñ 00000001 00011100”.
Proses dari TPutaran3 dan YPutaran3 menghasilkan deret bit “10110001 10001000 00110111 11101111 01001011
00000101 00110111 10010110” atau “±^7ïK 00000101 7
–
”Hasil deret bit pada Putaran 3 akan diproses pada Putaran 4, Putaran 5, dan terakhir pada Putaran 8, begitu juga dengan deret kunci yang diproses pada putaran selanjutnya mengikuti pola-pola yang didesain berbeda di tiap proses putaran. Hasil proses plainteks dan kunci pada Putaran 8 menghasilkan deret bit cipherteks “00111100 10001110 01001010 00001100 01010111 11011101 00101010 11011111” atau “<ŽJ 00001100 WÝ*ß”.
Pada proses dekripsi, dilakukan dengan melakukan proses kebalikan dari proses enkripsi. Dengan inputan cipherteks maka dilakukan proses dekripsi, seperti yang ditunjukkan pada Gambar 4 sehingga plainteks diperoleh kembali. Pengujian ini menunjukkan bahwa rancangan kriptografi dapat melakukan proses enkripsi dan dekripsi, maka telah memenuhi dua dari 5-tuple Stinson untuk sebuah kriptosistem.
Tahapan selanjutnya adalah menunjukkan performa dari algoritma yang dirancang, maka dilakukan percobaan proses enkripsi-dekripsi dengan variasi jumlah karakter plainteks seperti yang ditunjukkan pada sumbu-x di Gambar 12 dan Gambar 13. Rancangan kriptografi ini berbasis pada kunci simetris, oleh karena itu diperlukan kriptografi simetris yang lain yang dapat dijadikan sebagai pembanding. Sehingga dipilih AES-128 karena kriptografi ini menjadi standar pengamanan informasi di Amerika.
Gambar 12. Grafik Perbandingan Enkripsi AES-128 & CGR
Kebutuhan waktu terhadap karakter dalam proses enkripsi untuk kriptografi AES-128 dan CGR sama-sama berbanding lurus. Dalam artian jika semakin banyak karakter yang diinputkan maka semakin banyak pula waktu yang dibutuhkan untuk melakukan proses enkripsi. Analisis yang dapat dilakukan terhadap grafik pada Gambar 12, secara detil ada perbedaan waktu yang diperlukan untuk kedua kriptografi. AES-128 membutuhkan waktu lebih lambat sebesar 0,052724 ms atau 5,27% ms dari CGR. Hal ini selaras dengan rancangan algoritma, AES-128 dengan 10 putaran dan juga tambah putaran proses yang lain. Sedangkan CGR mempunyai putaran yang lebih sedikit yaitu 8 proses putaran.
Gambar 13. Grafik Perbandingan Dekripsi AES-128 & CGR
Untuk proses dekripsi tidak berbeda jauh dengan proses enkripsi, dalam hal ini banyaknya karakter yang diinput berbanding lurus dengan waktu yang dihasilkan. Secara keseluruhan rata-rata waktu yang diperoleh untuk CGR lebih lambat 0,00981 ms atau 0,98% ms dari AES-128.
Bila dibandingkan proses enkripsi-dekripsi terhadap kebutuhan waktu, maka untuk AES-128 mempunyai waktu enkripsi lebih cepat 0,00306 ms atau 0,3% ms dari proses dekripsi. Hal serupa juga terjadi pada CGR, enkripsi lebih cepat daripada dekripsi sebesar 0,06928 ms atau 6,93% ms.
B. Alur Clamshell’s Growth Rings sebagai Sistem Kriptografi
Kriptografi dikatakan sebagai sebuah sistem kriptografi jika memenuhi five-tuple P,C, K, E,dan D [6]. Berikut akan ditunjukkan bahwa perancangan ini memenuhi kelima
kondisi tersebut. P adalah himpunan berhingga dari
plainteks. Dalam perancangan ini menggunakan 256
karakter dalam ASCII, himpunan plainteks pada alur Clamshell’s Growth Rings adalah himpunan berhingga. C
adalah himpunan berhingga dari cipherteks. Cipherteks dihasilkan dalam elemen bit biner. K, keyspace atau ruang kunci adalah himpunan berhingga dari kunci. Ruang kunci dalam perancangan ini adalah 256 karakter dalam ASCII. Sehingga ruang kunci merupakan himpunan yang berhingga.
E, enkripsi, dan D, dekripsi, setiap ek : P→C dan dk : C →
P adalah fungsi sedemikian sehingga dk(ek(x)) = x, untuk
setiap plainteks x∊P. Pembahasan sebelumnya telah
membahas proses enkripsi dan dekripsi, sehingga telah
memenuhi tupleE dan D. Karena memenuhi kelima kondisi
maka Alur Clamshell’s Growth Rings merupakan sebuah
sistem kriptografi.
V. KESIMPULAN
Berdasarkan pada pembahasan sebelumnya, perancangan kriptografi block cipher berbasis pada alur Clamshell’s Growth Rings dapat melakukan proses enkripsi dan dekripsi, oleh karena itu dapat dikatakan perancangan kriptografi ini sebagai teknik kriptografi dan dapat dijadikan sebuah metodologi dalam menciptakan kriptografi simetris. Kelima atau 5-tuple syarat yang menyatakan bahwa perancangan kriptografi block cipher ini sebagai sistem kriptografi sudah terpenuhi. Dari hasil perbandingan antara rancangan
kriptografi dengan AES-128 membuktikan bahwa
perancangan CGR membutuhkan waktu lebih cepat sebesar 0,052724 ms atau 5,27% ms dari AES-128 pada proses
[2] Dafid. 2006. Kriptografi Kunci Simetris Dengan Menggunakan Algoritma Crypton. Jurnal Ilmiah STMIK GI MDP. Volume 2 Nomor 3.
[3] Selent, Douglas. 2010. Advanced Encryption Standard. InSight: Rivier Academic Journal. Volume 6, Number 2, Fall 2010. [4] Ariyus, Dony. 2006. Kriptografi Keamanan Data dan Komunikasi.
Yogyakarta: Graha Ilmu.
[5] Munir, Rinaldi, 2006. Kriptografi, Bandung: Informatika.
[6] COA:: Conchologist of America, Inc., 1996, Classification of Mollusca,[online],
(http://www.conchologistsofamerica.org/conchology/classes.asp, diakses tanggal 12 November 2014).
[7] Stinson, D. R. 1995.Cryptography: Theory and Practice. CRC Press, Boca Raton, London, Tokyo.
[8] Forouzan, Behrouz, A., 2008, Cryptography and Network Security, New York: McGraw-Hill.
[9] A. J. Menezes, P.C. van Oorschot, and S.A. Vanstone. 1997. Handbook of Applied Cryptography, CRC Press.