1
ANALISA DAN IMPLEMENTASI SISTEM KEAMANAN DATA
DENGAN MENGGUNAKAN METODE ENKRIPSI ALGORITMA RC-5
Ashadi kurniawan¹, Mike Yuliana ¹, M.Zen Samsono Hadi ¹
Jurusan Teknologi Telekomunikasi Politeknik Elektonika Negeri Surabaya
Institut Teknologi Sepuluh Nopember
Kampus PENS-ITS Keputih Sukolilo Surabaya 60111
Telp (+62)31-5947280, 5946114, Fax. (+62)31-5946114
e-mail : wawan521@student.eepis-its.edu , wawan@eepis-its.edu
Abstrak
Dalam era konektifitas elektronik universal, hacker, virus, penipuan elektronik maupun mendengar diam-diam secara elektronik, maka keamanan data benar-benar menjadi permasalahan yang sangat penting. Perkembangan sistem komputer dan interkoneksinya melalui jaringan internet telah meningkat, tentu saja hal ini membutuhkan keamananan data dan message yang handal agar terhindar dari serangan (attack). Untuk mengamankan data atau message dijaringan internet diperlukan kriptografi dengan metode enkripsi. Salah satu metode enkripsi data yang ada adalah kriptografi simetris RC-5 (Rivest Code 5).
Pada proyek akhir ini dibuat suatu sistem dimana data yang dikirim (plaintext) di bagian pengirim (sender) terlebih dahulu dienkripsi menggunakan algoritma RC-5 dengan menggunakan sebuah kunci. data hasil enkripsi (ciphertext) akan dikirim ke bagian penerima (receiver) melalui jaringan internet menggunakan socket programming dan selanjutnya dilakukan proses dekripsi menggunakan algoritma RC-5 dan juga memakai kunci yang sama saat di proses enkripsi sehingga hasil dari dekripsi akan kembali menjadi data awal ( plaintext ), sama seperti data sebelum proses enkripsi.
Dari hasil pengujian terlihat bahwa waktu eksekusi untuk pembangkitan kunci membutuhkan waktu yang sangat cepat yaitu rata rata antara 9-10 ns, selain itu waktu eksekusi proses enkripsi dan dekripsi mengikuti banyak atau sedikitnya jumlah karakter, untuk waktu terlama yaitu sebesar 491,3 ms didapat saat proses enkripsi dari 8189 karakter. Hasil pengujian juga menunjukkan tidak ada perbedaan ukuran file sebelum dan sesudah proses enkripsi dan dekripsi.
Kata Kunci : Kriptografi, Enkripsi, Dekripsi, RC-5
.
ABSTRACT
In an era of universal electronic connectivity, hackers, viruses, electronic fraud and listen quietly electronically, the data security really becomes a very important issue. Interconnecting the development of computer systems and networks through the internet has increased, of course, this requires a data and message security or reliable to avoid the attack (attack). To secure the data or message is required dijaringan internet cryptography encryption method. One method of data encryption that there is a symmetric cryptography RC-5 (Rivest Code 5).
At the end of this project created a system where data is sent (plaintext) at the sender (sender) must first be encrypted using the algorithm RC-5 by using a key. outcome data encryption (ciphertext) will be sent to the receiver (receiver) through the Internet using socket programming and decryption process is then performed using the algorithm RC-5 and also uses the same key as the encryption process so that the result of decryption will return to the initial data (plaintext), as data before the encryption process.
From the test results shows that the execution time for key generation takes a very fast which is an average of between 9 -10 ns, in addition to execution time encryption and decryption processes follow many or at least the number of characters, for the longest time that is equal to 491.3 ms is obtained when encryption process of 8189 characters. The test results also showed no difference in file size before and after the process of encryption and decryption.
2
I. PENDAHULUAN
1.1 Latar Belakang
Perkembangan sistem komputer dan interkoneksinya melalui jaringan Multimedia telah meningkat. Saat ini sistem komputer yang terpasang makin mudah diakses, Sistem time sharing dan akses jarak jauh menyebabkan masalah keamanan menjadi salah satu kelemahan komunikasi data. Dalam era konektifitas elektronik universal sering terdapat gangguan berupa hacker, virus, penipuan elektronik maupun mendengar diam-diam secara elektronik. Oleh karena itu keamanan data benar-benar menjadi permasalahan yang sangat penting, sehingga diperlukan sistem jaringan komputer dengan tingkat keamanan yang dapat terjamin dan bisa terhindar dari serangan (attack), walaupun pada akhirnya akan terjadi
trade off antara tingkat keamanan dan kemudahan
akses.
Untuk mengamankan data message di jaringan, diperlukan kriptografi dengan metode enkripsi. Enkripsi merupakan salah satu cara yang dilakukan untuk mengamankan sistem atau informasi dari hal yang akan menyebabkan aspek-aspek diatas tidak terpenuhi, seperti untuk menjaga keamanan dan integritas data atau informasi. Ada beberapa algoritma enkripsi yang sudah terbuka untuk dipelajari dan digunakan untuk proses keamanan data pada jaringan komputer, seperti Data Encryption Standard (DES), RC-4, TwoFish, RC-5, CAST, IDE, RSA dan lain-lain.
Salah satu metode enkripsi data yang akan dibahas dalam tugas akhir ini adalah kriptografi simetris RC-5 (Rivest Code 5). Algoritma RC-5 dikemukakan oleh Ronald L.Rivest dari MIT Laboratory for Computer Science, sehingga keamanan dan kerahasiaan data dapat terjaga saat melakukan komunikasi dan pertukaran informasi/data tidak dapat disadap pihak yang tidak berkepentingan..
II. TEORI PENUNJANG
2.1 Kriptografi
Kriptografi (cryptographi) berasal dari BahasaYunani: “cryptos” artinya “secret” (rahasia), sedangkan “graphein” artinya “writing” (tulisan). Sehingga kriptografi berarti “secret writing” (tulisan rahasia). Jadi kriptografi didefinisikan sebagai ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara
menyandikannya kebentuk yang tidak dapat dimengerti lagi maknanya.
Secara umum kriptografi merupakan teknik pengamanan informasi yang dilakukan dengan cara mengolah informasi awal (plainteks) dengan suatu kunci tertentu menggunakan suatu metode enkripsi tertentu sehingga menghasilkan informasi baru (chipertext) yang tidak dapat dibaca secara langsung. Chipertext tersebut dapat dikembalikan menjadi informasi awal (plainteks) melalui proses deskripsi. Urutan proses kriptografi secara umum dapat dilihat pada gambar 2.1
Gambar 1. Mekanisme Enkripsi dan Deskripsi
Terdapat dua jenis algoritma kriptografi berdasar jenis kuncinya :
1. Algoritma Simetri (konvensional) 2. Algoritma Asimetri (kunci public)
2.1.1Algoritma Simetri
Algoritma simetri disebut juga sebagai algoritma konvensional adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Yang termasuk algoritma kunci simetri adalah OTP, DES, RC2, RC4, RC5, RC6, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi dan lain-lain.
Gambar 2. Kriptografi Konvensional.
Orang sering menggunakan notasi matematika untuk mempermudah penulisan dan analisis, sehingga kriptografi modern selalu berhubungan dengan matematika. Dengan pesan asal P dan kode rahasia C yang diperoleh dari enkripsi dengan kunci K, kita dapat dituliskan sebagai berikut :
C = Ek (P)
Pada proses dekripsi, dilakukan operasi sebaliknya, dan dapat dituliskan sebagai berikut :
3
2.1.2Algoritma AsimetrikAlgoritma asimetrik (juga disebut algoritma kunci public) didesain sedemikian sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci yang digunakan untuk dekripsi.Enkripsi dengan kunci public Ke dinyatakan sebagai berikut :
EKe (M) = C DKd (C) = M 2.2 Tujuan Kriptografi
4 aspek yang terdapat pada kriptografi:
1. Confidentiality (kerahasiaan)
Layanan yang ditujukan untuk menjaga pesan agar tidak dapat dibaca oleh pihak-pihak yang tidak berhak.
2. Authentication (otentikasi)
Penerima pesan dapat memastikan keaslian pengirimnya. Penyerang tidak dapat berpura-pura sebagai pengirim atau penerima pesan.
3. Integrity(integritas)
Penerima harus dapat memeriksa apakah pesan telah dimodifikasi ditengah jalan atau tidak. Seorang penyusup seharusnya tidak dapat memasukkan tambahan ke dalam pesan, mengurangi atau mengubah pesan selama data berada di perjalanan.
4. Nonrepudiation (nirpenyangkalan)
Pengirim tidak dapat mengelak bahwa dia telah mengirim pesan, penerima juga tidak dapat mengelak bahwa dia telah menerima pesan tersebut
.
2.3 Kriptografi RC-5
Seperti dijelaskan diatas, algoritma RC-5 merupakan metode enkripsi menggunakan metode simetrik dan pengolahan dalam bentuk blok chiper, jadi kata kunci yang sama digunakan untuk proses enkripsi dan dekripsi. Parameter-parameter yang digunakan dalam RC-5 adalah sebagai berikut :
• Jumlah putaran ini disimbolkan dengan r yang merupakan parameter untuk rotasi dengan nilai 0, 1, 2, …… 255.
• Jumlah word dalam bit disimbolkan dengan w. Nilai bit yang di support adalah 16 bit, 32 bit, dan 64 bit.
• Kata kunci (key word) Variabel ini disimbolkan dengan b dengan range 0, 1, 2, ….255. Key word ini dikembangkan menjadi array S yang digunakan sebagai key pada proses untuk enkripsi dan dekripsi.
Untuk memahami cara kerja RC-5, dapat dimulai dengan melihat konsep dasar bagaimana RC-5 ini bekerja. Hal ini dilakukan untuk memahami cara kerja algoritma ini lebih lanjut. RC-5 Menggunakan operasi dasar untuk proses enkripsi sebagai berikut :
1. Data yang akan dienkripsi dikembangkan menjadi 2 bagian bagian kiri dan bagian kanan dan dilakukan penjumlahan dengan key
word yang yang telah diekspansi sebelumnya.
Penjumlahan ditunjukan dengan tanda ``+``, dan disimpan di dua register A dan register B. 2. Kemudian dilakukan operasi EX-OR, yang
ditandai dengan tanda ``⊕``.
3. Melakukan rotasi kekiri (shift left) sepanjang y terhadap x word yang ditandai dengan x<<< y.
y merupakan interpretasi modulo w atau
jumlah kata w dibagi 2. Dengan lg[w] ditentukan jumlah putaran yang dilakukan. 4. Tahap akhir dilakukan penggabungan untuk
mendapatkan data yang telah dienkripsi. Proses dekripsi dilakukan dengan konsep dasar sebagai berikut :
1. Data yang telah dienkripsi dikembangkan kembali menjadi 2 bagian dan disimpan di dua register A dan register B.
2. Kemudian dilakukan rotasi ke kanan sejumlah
r. satuan
3. Selanjutnya dilakukan operasi EX-OR yang ditandai dengan ``⊕``.
4. Tahap akhir dilakukan pengurangan terhadap masing-masing register dengan key word yang ditunjukan dengan tanda ``-``, untuk mendapatkan plaintext.
4
2.4 Enkripsi dan DeskripsiProses penyandian pesan dari plaintext ke ciphertext dinamakan enkripsi / enchipering . Sedangkan proses mengembalikan pesan dari chipertext ke plaintext dinamakan deskripsi / dechipering. Proses enkripsi dan deskripsi ini dapat diterapkan pada pesan yang dikirim ataupun pesan yang disimpan.
Algoritma Kriptografi dari setiap kriptografi klasik selalu terdiri dari dua bagian yaitu enkripsi dan dekripsi. Secara sederhana proses kriptografi dapat digambarkan sebagai berikut :
Gambar 3. Kriptografi secara umum.
Operasi enkripsi dan dekripsi dijelaskan secara umum sebagai berikut :
Y Eĸe = (enkripsi) X Dĸd = (dekripsi)
Ada dua cara yang paling dasar pada kriptografi klasik. yaitu adalah Transposisi dan Subsitusi :
• Transposisi adalah mengubah susunan huruf pada plaintext sehingga urutannya berubah. Contoh yang paling sederhana adalah mengubah suatu kalimat dengan menuliskan setiap kata secara terbalik.
• Substitusi yaitu setiap huruf pada plaintext akan digantikan dengan huruf lain berdasarkan suatu cara atau rumus tertentu.
III. PERANCANGAN SISTEM
Sistem pengiriman informasi yang dienkripsi dan di deskripsikan dapat dilihat pada gambar 3.1 dibawah ini
Gambar 4. Sistem yang dibangun
Dalam sistem ini dibuat interaksi antara 2 buah PC ( Personal Computer ). Untuk PC pertama (client) akan menyiapkan data / plaintext yang akan diberikan ke PC kedua (server) dan data tersebut dienkripsi terlebih dahulu menggunakan metode RC-5 menjadi sebuah data chipertext sebelum dikirim ke jaringan internet. Setelah itu data ciphertext akan didekripsi disisi server ( PC2) sehingga data yang diterima oleh server akan kembali lagi seperti data awal atau kembali ke plaintext lagi.
IV. PENGUJIAN DAN ANALISA
Pada tahap pengujian ini, penulis akan menguji sistem enkripsi dan dekripsi menggunakan algortitma RC-5 dengan membagi menjadi 4 tahap pengujian yaitu :
• Pengujian dan analisa waktu eksekusi
Proses pembangkitan kunci ( set up key )
Proses enkripsi
Proses dekripsi
• Pengujian keberhasilan proses enkripsi dan dekripsi pada metode integrasi client server
• Pengujian keberhasilan proses enkripsi dan dekripsi menggunakan metode operasi file
• Perbandingan overhead / ukuran file sebelum dan sesudah melewati sistem
4.1 Pengujian dan analisa waktu eksekusi
Pengujian tahap ini dilakukan pada saat menggunakan metode operasi file dimana pengujiannya akan dibagi menjadi 3 bagian yaitu waktu eksekusi untuk proses set up key, proses enkripsi, dan proses dekripsi.
Gambar 5. Grafik hasil waktu eksekusi set up key
Pada gambar grafik diatas , dapat dikatakan untuk pembangkitan kunci (set up key) embutuhkan waktu antara 9 – 10 nano second, sedangkan waktu
5
eksekusi pada proses enkripsi dilakukan 10 kali pengujian dengan mneggunakan file.txt yang memiliki ukuran file yang berbeda beda. Sehingga hasil percobaannya dapat dilihat pada tabel dibawah ini :
Tabel 1. Waktu eksekusi pada proses enkripsi
Pada pengujian waktu eksekusi pada proses dekripsi, cara pengujiannya juga hamper sama dengan proses enkripsi, sehingga dari data tabel bisa digambarkan grafiknya sebagai berikut ini :
Gambar 6. Grafik waktu eksekusi proses dekripsi 4.2 Pengujian keberhasilan proses enkripsi dan
dekripsi pada metode integrasi client server
pada pengujian keberhasilan proses enkripsi dan dekripsi pada integrasi client server, pengujian akan bagi menjadi 2 bagian yaitu pengujian pada proses enkripsi dan proses dekripsi.
Pada pengujian proses enkripsi, karakter yang akan dikirimkan ke server, akan di enkripsi terlebih dahulu dengan sebuah kunci menjadi suatu ciphertext yang berupa data interger. Ketika akan dikirin ke server melalui jaringan internet menggunakan socket, data integer akan diubah terlebih dahulu menjadi data bertipe string..
Contoh hasil pengujian proses enkripsi dan dekripsi pada client server adalah sebagai berikut :
Gambar 7. Proses enkripsi disisi client
Gambar 8. Proses dekripsi disisi server 4.3 Pengujian keberhasilan proses enkripsi dan
dekripsi pada metode operasi file
Pada pengujian keberhasilan proses enkripsi dan dekripsi RC-5 dengan metode operasi file, pengujiannya dilakukan dengan cara melakukan enkripsi file.txt yang berisi dari beberapa karakter dan akan menghasilkan file ciphertext.txt yang berisi beberapa karakter yang susah untuk dibaca. Sedangkan di poses dekripsi, file ciphertext.txt tadi didekripsi sehingga dapat menghasilkan file.txt kembali. Berikut contoh gambar proses enkripsi dengan metode operasi file dapat dilihat pada contoh dibawah :
Gambar 9. Proses enkripsi dekripsi pada operasi file
Dari data diatas, apabila file.txt sebelum proses enkripsi dibandingkan dengan file.txt sesudah proses dekripsi adalah sama isinya, maka proses enkripsi dan dekripsi file bisa dikatakan berhasil dilakukan.
6
4.4 Perbandingan overhead / ukuran file sebelumdan sesudah melewati sistem
Pada pengujian overhead sebelum enkripsi dan sesudah proses dekripsi, cara pengujiannya adalah membandingkan ukuran file yang dikirim (plaintext) sebelum enkripsi dan plaintext sesudah proses dekripsi dengan menggunakan 10 macam besar ukuran file plaintext yang berbeda beda.. adapun hasilnya bisa dilihat kedalam grafik dibawah ini :
Gambar 10. Grafik perbandingan ukuran file
V. KESIMPULAN
Dari hasil pengujian dan analisa pada bab sebelumnya, maka dapat diambil beberapa kesimpulan sebagai berikut :
1. Waktu eksekusi untuk pembangkitan kunci (set up key) sangat cepat sekali yaitu sekitar 9-10 ns.
2. Pada proses enkripsi dan dekripsi, waktu eksekusi tergantung dari besar atau kecilnya ukuran file plaintext. Semakin besar ukuran file
plaintext maka semakin lama waktu
eksekusinya. Dimana untuk file dengan ukuran sebesar 1 kb membutuhkan waktu eksekusi sebesar 50,6 ms pada proses enkripsi.
3. Tidak terdapat perbedaan antara besar file sebelum masuk enkripsi dengan sesudah dekripsi. Dimana untuk file dengan ukuran sebesar 500 bytes sebelum masuk proses enkripsi, akan dihasilkan file sebesar 500 bytes dari proses dekripsi.
DAFTAR PUSTAKA
[1] M. Zen Samsono Hadi “Modul Praktikum 10
Datagram Socket” Politeknik Elektronika Negeri Surabaya, 2009.
[2] M.Zen Samsono Hadi “Modul Praktikum 9
Stream Socket Program” Politeknik Elektronika
Negeri Surabaya, 2009.
[3] Kholidya Yuli W, ”Implementasi Metode Kriptografi IDEA pada Priority Dealer untuk Layanan Pemesanan dan Laporan Penjualan Handphone Berbasis WEB”, Proyek Akhir PENS-ITS, 2010.
[4] Andri Kristanto, ”Keamanan Data pada Jaringan Komputer”, Gava Media, 2003.
[5] Yusuf Kurniawan, ”Kriptografi Keamanan Internet dan Jaringan Komunikasi ”, penerbit informatika, 2004.
[6] Andrizal, “Algoritma Enkripsi Rivest Code 5 (RC-5), ”Dept. Teknik Elektro Option Teknik Komputer ITB, 2008.
[7] Arinta Nugrahani, ”Implementasi Metode Kriptografi RSA pada Priority Dealer untuk Layanan Penjualan dan Pemesanan Handphone“, Proyek Akhir PENS-ITS, 2010.
[8] R.L. Rivest, “The RC4 Encryption Algorithm”, RSA Data Security Inc.,Mar 1992.
[9] William Stallings, “Network and Internetwork
Security Principles and Practice”, New