A-179
IMPLEMENTASI ALGORITMA BLOCK CIPHER CLEFIA 128 BIT
UNTUK PENGAMANAN APLIKASI KOMUNIKASI CHAT
Aprita Danang Permana1, A’mas2 Lembaga Sandi Negara
aprita.danang@lemsaneg.go.id, amas@lemsaneg.go.id
Abstrak
Komunikasi Chat merupakan salah satu media pertukaran informasi antara dua orang atau lebih secara online melalui teknologi internet. Pengguna komunikasi chat diberikan beberapa kemudahan dalam pertukaran pesan yang berupa teks maupun data (file). Dengan kemudahan tersebut, pengguna juga dihadapkan dengan kerawanan dalam komunikasi chat ini, salah satunya yaitu kerawanan akses data dan modifikasinya. Seluruh percakapan yang dilakukan akan selalu dilewatkan via server untuk dapat menuju ke pihak penerima. Sehingga rawan akan adanya akses dan modifikasi pesan tersebut. Pada penelitian ini, penulis akan melakukan implementasi algoritma kriptografi block cipher Clefia 128 bit untuk dapat melakukan pengamanan pada komunikasi chat yang dilakukan.
Kata kunci : kriptografi, block cipher, clefia. 1. Pendahuluan
Pada saat sekarang ini, teknologi berkembang dengan pesatnya. Kebutuhan akan peralatan yang dapat mendukungnya juga semakin meningkat. Dengan kondisi seperti ini, sistem pertukaran informasi semakin dipermudah dan semua orang pun dapat dengan mudah untuk mendapatkan akses terhadap informasi tersebut. Salah satunya
penggunaan teknologi chatting, para pengguna
dengan mudah melakukan pertukaran informasi dengan pengguna lainnya pada saat kapanpun. Hanya dengan mengirimkan pesan singkat, pertukaran informasi sudah dapat dilakukan dari manapun dan kapanpun. Namun tidak sedikit pihak yang mengerti akan informasi yang dikomunikasikan dapat dimanfaatkan oleh pihak lain yang tidak berkepentingan ingin mengetahui isi informasi atau bahkan melakukan pengubahan informasi tersebut.
Menurut dokumen milik Symantec (Securing Instant Messaging), pada Mei 2002 sekelompok
hacker melakukan penyerang terhadap sebuah
sistem server instant messaging atau chat dengan cara mendapatkan akses kontrol server tersebut. Data yang dicuri antara lain akun pengguna serta melakukan penghapusan, modifikasi pesan yang tersimpan pada server. Selain itu, pada saat sekarang ini penggunaan komunikasi chat sudah melakukan implementasi keamanan di dalamnya. Sebagai contoh, aplikasi Whatsapp yang telah
menggunakan metode end-to-end encryption
sebagai fitur pengamanan komunikasi chat baik komunikasi personal maupun grup.
Berdasarkan hal tersebut, penulis melakukan penelitian untuk melakukan implementasi algoritma
block cipher Clefia 128 bit pada aplikasi komunikasi
chat. Diharapkan dengan adanya penelitian ini dapat memberikan salah satu solusi untuk metode pengamanan pada komunikasi chat. Selain itu juga bertujuan untuk melakukan pengujian performasi untuk algoritma block cipher Clefia 128 bit.
2. Landasan Teori
a. Algoritma Block Cipher
Berikut merupakan beberapa definisi
mengenai block cipher:
Block cipher menurut William
Stalling (Stalling. 2005) adalah skema
enkripsi/dekripsi yang memperlakukan blok
plaintext secara keseluruhan untuk menghasilkan blok ciphertext dengan panjang yang sama.
Block cipher menurut Alfred J.
Menezes dkk (Menezes dkk. 1997) adalah suatu fungsi yang memetakan n-bit blok plaintext ke n-bit blok ciphertext dengan n adalah panjang blok.
Block cipher dapat dipandang sebagai sistem sandi substitusi sederhana dengan periode
panjang. Fungsi dalam block cipher
diparameterkan oleh K, yaitu kunci dengan panjang k-bit dengan mengambil nilai-nilai dari subset K (ruang kunci) dari himpunan semua vektor-vektor k-bit Vk. Umumnya diasumsikan kunci dipilih secara acak. Pengggunaan ukuran
blok plaintext dan ciphertext yang sama
A-180
b. Algoritma Clefia 128 Bit (Sony Corp, 2007)
CLEFIA merupakan algoritma yang didesain atas dasar efisiensi namun tetap memperhatikan keamanan. Algoritma ini telah ditetapkan sebagai algoritma standar untuk pervasive computing yang memiliki kriteria untuk penerapan pada device yang memiliki sumberdaya terbatas melalui ISO/IEC 29192-2. Algoritma ini berbasis block cipher dengan ukuran 128 bit blok dengan variasi kunci 128, 192 dan 256 bit.
CLEFIA menggunakan struktur Feistel yang membagi blok menjadi 4 jalur masing-masing berukuran 32 bit. Jumlah round pada CLEFIA bervariasi tergantung panjang kuncinya, untuk kunci 128 bit memiliki jumlah round 18, kunci 192 bit memiliki jumlah round 22 dan kunci 256 bit memiliki jumlah round 26. Diagram algoritma CLEFIA dapat dilihat pada gambar 1.
Gambar 1. Diagram Algoritma Clefia Fungsi F merupakan komponen utama dalam struktur algoritma CLEFIA yang berbasis Feistel. Didalamnya harus melibatkan operasi atau fungsi nonlinear dan memiliki sifat difusi yang maksimal. Fungsi F pada CLEFIA terdiri dari 3 komponen operasi yaitu operasi
XOR dengan kunci, fungsi nonlinear S-box 8x8 dan fungsi linear mixing. Fungsi F pada CLEFIA dapat dilihat pada Gambar 2.
Gambar 2. Fungsi F pada Algoritma Clefia S0 dan S1 merupakan fungsi nonlinear S-box 8x8, sedangkan M0 dan M1 merupakan fungsi perkalian dengan matriks M0 dan M1 untuk proses linear mixing. Perkalian matriks M0 dan
M1 ini didefinisikan berdasarkan pada polinomial primitive z 8 + z 4 + z 3 + z + 1 dengan menggunakan matriks M0 dan M1 berukuran 4 x 4 berikut:
3. Metode Penelitian
Metode penelitian yang dilakukan pada penelitian ini adalah sebagai berikut :
Melakukan studi literatur dan pengumpulan
data dari berbagai sumber seperti buku dan internet mengenai penelitian yang akan dilakukan.
Melakukan analisis kebutuhan dalam
implementasi algoritma Clefia untuk Secure Chat.
Melakukan proses perancangan aplikasi
Secure Chat.
Membuat prototype aplikasi Secure Chat
menggunakan bahasa pemrograman C++.
Melakukan pengujian komunikasi, fungsional
fitur dan performansi pada aplikasi Secure Chat.
4. Pembahasan
4.1. Desain dan Implementasi Sistem a. Desain Sistem
Desain sistem aplikasi Secure Chat
yang dilakukan, menitikberatkan kepada
permasalahan kerahasian data yang
dikomunikasikan. Setiap pengguna yang akan
menggunakan aplikasi Secure Chat harus
melakukan registrasi dan otentikasi kepada
server chat. Lalu sistem akan melakukan proses enkripsi dan dekripsi terhadap semua pesan yang akan dikirim maupun diterima. Proses pengiriman pesan chat dilakukan melalui protokol komunikasi TCP Socket.
Gambar 3. Desain Aplikasi Secure Chat
b. Implementasi Sistem
Pada tahap implementasi, digunakan bahasa pemrograman C++ (Qt) pada sistem operasi Windows 8. Penggunaan bahasa pemrograman Qt untuk mempermudah dalam proses interfacing sistem dan komunikasi TCP Socket.
A-181
Tahap pertama dalam sistem komunikasisecure chat adalah Login. Pada tahap ini, user
akan memasukkan identitasnya serta alamat
server yang digunakan.
Gambar 4. Tahapan User Login
Selanjutnya pada sisi server akan melakukan
otentikasi dan penyimpanan pada sistem server
tersebut. Jika sukses, maka server akan mengirimkan pesan bahwa user telah diregistrasi.
Gambar 5. Registrasi Sukses
Dengan demikian, maka user tersebut sudah siap untuk melakukan komunikasi Secure Chat. Pesan yang dikirim bersifat broadcast kepada seluruh user yang telah diregistrasi oleh server.
Gambar 6. Proses Komunikasi Chat Pesan yang dikomunikasikan secara otomatis akan dilakukan enkripsi/dekripsi oleh Secure Chat client. Sedangkan pada sisi server akan
mendapatkan pesan terenkripsi sebagai
berikut :
Gambar 7. Pesan Terenkripsi pada Server
4.2. Pengujian dan Analisis Sistem
Pada tahap pengujian dilakukan beberapa langkah
yaitu pengujian komunikasi dan pengujian
performansi. Pengujian komunikasi melakukan pengujian pada komunikasi pesan pendek, sedang,
dan panjang. Sedangkan untuk pengujian
performansi melakukan pengujian kecepatan proses enkripsi/dekripsi pada pesan pendek, sedang dan panjang.
a. Pengujian Komunikasi
Pada pengujian komunikasi dilakukan pengujian sebanyak 3 kali untuk setiap parameter. Berikut hasil pengujiannya :
Tabel 1. Hasil Pengujian Komunikasi
Pesan asli Pesan terenkripsi Dekripsi Pesan pendek “Hello” "òp¹\\´\u008 5\u0088P\u0 092\u001Cú\ "®'3" Berhasil
“Selamat Pagi” "®\u008D¶1
#1\u001FëÉ\ u0007Ð\b½\ u0006Üm" Berhasil “Apa kabar?” "\"D>-[ö³\u0099^\f\ u009C¾Ç+\ u008F\u001 4" Berhasil Pesan Sedang “Algoritma Block Cipher Clefia 128 Bit” "ÑÊ\b¤Á}\u0010ð; ¼\u009A\u007Fñ\u 001Eú\b\u0081Nén õCÇaX\u0082%?a æUU]Þ\u001E\")à{ ôÄ.\u0019j\u0090\ u00AD\u0098ò" Berhasil “Seminar Nasional Teknologi Informasi dan Aplikasinya” "\u0099Q#\u0097ø ®\u0086\u0096\u0 099öîê¸ÏPê\u000F W\u0093ÔÈsKÑ\u 0092ð~2\u00861a¢ D°\u0019Îãä\u0016 \u0083«ÝîB\u0081 Î\u0093¥n¹$\u008B NúhÚÎÈú¹JëmÚ" Berhasil “Komunikasi ini telah dilakukan "G7'z!aXòè\tl\u008 FîIR\u0014?s\u009 6¨`\u0010¼À{ίë!. Berhasil
A-182
pengamanan pesannya” xGÑ\u0005ëUi%Î\ r¼W·y(º\t|TEíðÂF\ u0014ª£Õ(\u0002\u 001F\tÇ<" Pesan Panjang “Tema: Memperkok oh posisi Indonesia dalam era Masyarakat Ekonomi ASEAN (MEA) melalui pengembang an energi alternatif dan pemanfaatan teknologi” "\u009F³à¿¬àoFWCé \u008B\u0004u\u008 C3Õ\u009BXF¾Ñ¡Iç ×ÞbâÝ\u0084ð\u000 EÓ·±|â\u001B\u0085 ù\u0081\u009E\u009 7ÊFÜÎ\u0012\u0091 ÃÌãàÎ\u0083\u0084Ö Å\u0094là7\u0003è\u 0016\u0081~X\räzÖ =¢©\u009D0!^\u009 5ÒÀ\u001Aû¸,\u0091 \u008F\u0010\u0087 U\u000F2Ï'Ò2\u009D ¼Ä^Ì\u0011ê±\r³\u00 0B»ôT\u001Aý\"*Ù\ u0099ÖäÖ\\ä5<\u000 5ø\u0098Y\u0081\u0 08D;ú\u0014\u008Eâ PÇP\u001F7xEr" Berhasil “Pada penelitian ini penulis akan membuat desain protokol kriptografi dan mengimple mentasikann ya pada aplikasi Secure Chat” "t7·U#\u0015Ä \u000 3=\u0098Ñb\u0011«à ÄÄúN}PVÎ\u0089ñl¥ ì\u009E\u0005`ú8\u0 087\u0011½\fGfǸA¹ ~¶p«\u001B\u0001@ -\u001Fjó\u0091/BÄà Ê\u0099&Þ|\b\u0081 {Ã#\u001AoéÓç©\u 0080u\u0096\u0080~ 9ýc\u0095Ô½HÎ\u00 8CcûYÑ\u0016\u008 FJ£_)\u0015±m.\u00 9E5½´8lN9%\u0085) x íý\u001F\u001F{â ObQ\u0005" Berhasil “Setiap user harus membuktika n keaslian identitasnya pada saat awal komunikasi” "ó\u001DÚCÇøü£\u0 01A°iéâæþ\u001FSÿ ÒA^Ôk.nïÂßl\"\fÆ,v }î&(ÊOh}SgÖ°ny\u0 09A\u0080\u0010)\u 0015ÂiW\u0086A7\u 0019ß\u000FP6K_Õ\ u008B\\C´õ²¬r\u0098 [}Ï\u0002" Berhasil b. Pengujian PerformansiPada pengujian performansi dilakukan pengujian menggunakan pesan pendek, sedang dan panjang yang telah ditentukan sebelumnya dengan masing-masing pesan diuji sebanyak 10 kali.
Tabel 2. Hasil Pengujian Performansi
c. Analisis Hasil Pengujian
Berdasarkan hasil pengujian komunikasi, semua pesan baik pesan pendek, sedang dan panjang dapat dilakukan proses enkripsi dan dekripsi dengan baik. Setiap pesan yang dikirimkan dapat dibaca oleh semua user yang telah diregistrasi oleh server. Untuk pesan pendek akan menghasilkan 16 byte karakter sedangkan pesan sedang dan panjang akan berukuran kelipatannya, dikarenakan algoritma Clefia mengubah pesan ke dalam pesan terenkripsi dengan panjang 16 byte atau kelipatannya.
Sedangkan pada pengujian performansi,
didapatkan bahwa panjang pesan yang berkisar antara 16 s.d 32 bit (pesan pendek) akan membutuhkan waktu 0.01 ms s.d 0.02 ms , pesan sedang (64 s.d 128 bit) membutuhkan waktu 0.04 ms s.d 0.08 ms, lalu untuk pesan panjang (> 128 bit) akan membutuhkan waktu > 0.1 ms.
5. Kesimpulan
1) CLEFIA merupakan algoritma yang didesain
atas dasar efisiensi namun tetap
memperhatikan keamanan.
2) Implementasi algoritma Clefia pada
komunikasi chat dapat meningkatkan level keamanan pesan.
Pesan asli Rata-rata (ms)
“Hello” 0.017581
“Selamat Pagi” 0.017983
“Apa kabar?” 0.01776
“Algoritma Block Cipher Clefia 128 Bit”
0.048595 “Seminar Nasional Teknologi
Informasi dan Aplikasinya”
0.063143 “Komunikasi ini telah dilakukan
pengamanan pesannya”
0.066579 “Tema: Memperkokoh posisi
Indonesia dalam era Masyarakat
Ekonomi ASEAN (MEA)
melalui pengembangan energi
alternatif dan pemanfaatan
teknologi”
0.143334
“Pada penelitian ini penulis akan membuat desain protokol
kriptografi dan
mengimplementasikannya pada aplikasi Secure Chat”
0.121736
“Setiap user harus membuktikan keaslian identitasnya pada saat awal komunikasi”
A-183
3) Berdasarkan hasil pengujian yang telah
dilakukan, implementasi algoritma clefia pada komunikasi chat dapat melakukan fungsi enkripsi dan dekripsi dengan baik, serta proses enkripsi dan dekripsi pesan efisien.
Daftar Pustaka:
Symantec. 2002. Securing Instant Messaging.
Symantec Enterprise Security.
Bruce Schneier. 2009. Applied Cryptography, Second Edition. John Wliey & Sons Inc
Menezes, J. Alfred et al. 1996. Handbook ofApplied Cryptography.
Sony Corporation. 2007. The 128-bit Blockcipher