ϱϭ
Implementasi Algoritma RC4A dan MD5 untuk Menjamin
Confidentiality
dan
Integrity
pada
File
Teks
Nur Hayati
Program Studi S1 Ilmu Komputer Fak. Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara n3rhayati@students.usu.ac.id
Mohammad Andri Budiman
Program Studi S1 Ilmu Komputer Fak. Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara mandrib@usu.ac.id
Amer Sharif
Program Studi S1 Ilmu Komputer Fak. Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara
amersharifdjamin@gmail.com
Abstrak— Perkembangan teknologi informasi yang semakin melesat dewasa ini memberikan kemudahan bagi siapa saja dalam melakukan pertukaran data atau informasi. Di sisi lain, timbul permasalahan akan keamanan data yang dapat terganggu oleh pihak-pihak yang tidak bertanggung jawab seperti adanya penyadapan, perusakan, pencurian data, ataupun tindakan penyalahgunaan lainnya. Penerapan teknik kriptografi merupakan salah satu solusi yang dapat dilakukan untuk mengatasi gangguan keamanan tersebut. Kriptografi merupakan ilmu atau seni untuk menjaga keamanan data dengan cara mengacak data atau pesan. Di dalam kriptografi dikenal istilah fungsi hash satu arah yang banyak digunakan untuk menguji integritas sebuah file. Pada penelitian ini, algoritma kriptografi dan fungsi hash yang digunakan adalah RC4A dan MD5. Pesan atau file teks yang akan dikirimkan terlebih dahulu dienkripsi dengan menggunakan algoritma RC4A. Kemudian algoritma MD5 digunakan untuk mendapatkan nilai hash dari pesan hasil enkripsi. Selanjutnya untuk mendapatkan kembali pesan asli dengan cara dekripsi RC4A maka terlebih dahulu dilakukan proses verifikasi file untuk menjamin bahwa file yang diterima belum mengalami perubahan atau masih asli. Verifikasi file ini dilakukan dengan cara mencocokkan nilai hash MD5 yang diperoleh dari si pengirim dengan nilai hash MD5 yang akan dihasilkan dari sistem. Hasil penelitian menunjukkan bahwa algoritma RC4A dan MD5 dapat diimplementasikan dengan baik sehingga keamanan data dapat bertambah karena sebelum melakukan dekripsi pesan maka terlebih dahulu dilakukan verifikasi pesan.
Kata Kunci : Kriptografi, RC4A, Fungsi Hash, MD5, File Teks
I.PENDAHULUAN
A. Latar Belakang
Masalah keamanan merupakan salah satu aspek penting dalam proses pengiriman informasi. Informasi yang dikirimkan harus dapat dijaga kerahasiaan dan keutuhannya agar tidak dapat disalahgunakan oleh pihak-pihak yang tidak berwenang yang menginginkan informasi tersebut.
Kriptografi banyak digunakan untuk menjaga aspek keamanan informasi. Ada empat tujuan mendasar dari ilmu kriptografi yaitu confidentiality (kerahasiaan), integrity (keutuhan), authentication (keaslian pesan), dan non-repudiation (tak terbantahkan).
Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang
tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi mendapatkan kembali data asli [1].
Algoritma RC4 adalah algoritma kriptografi simetrik karena menggunakan kunci yang sama untuk mengenkripsi ataupun mendekripsi suatu pesan, data, atau informasi. Algoritma RC4 merupakan salah satu algoritma kunci simetris berbentuk stream cipher yang memproses unit atau input data, pesan atau informasi meningkatkan keamanan dari RC4 dengan memperkenalkan sebuah permutasi tambahan di dalam desainnya.
ϱϮ sangat sulit untuk mengembalikannya ke pesan semula
(plaintext). MD5 merupakan salah satu fungsi hash satu arah yang banyak digunakan untuk menguji integritas sebuah file.
B. Rumusan Masalah
Berdasarkan latar belakang di atas, maka yang menjadi rumusan masalah pada penelitian ini adalah sulit untuk menjaga kerahasiaan dan keutuhan dari suatu file teks.
C. Batasan Penelitian
Dalam penelitian ini penulis membuat batasan masalah sebagai berikut:
1. Jenis data yang digunakan adalah file teks (*.txt dan *.doc).
2. Algoritma RC4A digunakan untuk proses enkripsi dan dekripsi.
3. Algoritma MD5 digunakan untuk memperoleh
message digest dari pesan hasil enkripsi
(ciphertext).
4. Bahasa pemrograman yang digunakan adalah C#.
D. Tujuan Penelitian
Tujuan penelitian ini adalah sebagai berikut:
1. Mengamankan file teks dengan menggunakan algoritma RC4A.
2. Memverifikasi keutuhan dari suatu file dengan menggunakan algoritma MD5.
E. Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini adalah dapat membantu dalam mengatasi masalah kemanan data berupa file teks sehingga file tetap dapat terjaga kerahasiaan dan keutuhannya.
F. Penelitian yang Relevan
a. Rosyanti Harahap (2010) dalam penelitian yang berjudul Sistem Pengamanan Data Teks
Menggunakan Algoritma Message Digest-5.
Menyimpulkan bahwa MD5 dapat melakukan pengujian terhadap data teks untuk mengetahui apakah data sudah diubah atau belum.
b. M Taofik Chulkamdi, Sholeh Hadi Pramono, dan Erni Yudaningtyas (2015) dalam jurnal yang berjudul Kompresi Teks Menggunakan Algoritma Huffman dan MD5 pada Instant Messaging
Smartphone Android. Menyimpulkan bahwa
algoritma MD5 sesuai untuk aplikasi instant message berbasis android untuk menjaga integritas password.
c. Rendi Gayu Buana (2012) dalam jurnal yang berjudul Pengujian Integritas Data Menggunakan
Algoritma MD5. Menyimpulkan bahwa algoritma MD5 dapat mendeteksi perubahan yang terjadi pada suatu file walaupun perubahan tersebut sangat kecil.
G. Metodologi Penelitian
Penelitian ini menerapkan beberapa metode penelitian sebagai berikut:
1. Studi Literatur
Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data terkait dengan penelitian ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, situs internet yang berkaitan dengan algoritma RC4A dan MD5.
2. Analisis dan Perancangan Sistem
Menganalisis dan merancang sistem yang akan dibuat sesuai dengan kebutuhan sistem dengan menggunakan pemodelan UML (Unified Modeling Language). 3. Implementasi Sistem
Pada tahap ini algoritma RC4A dan MD5 telah diimplementasikan ke dalam sebuah aplikasi program. 4. Pengujian Sistem
Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dikembangkan.
5. Dokumentasi Sistem
Melakukan dokumentasi sistem mulai dari tahap awal hingga akhir, untuk selanjutnya dibuat dalam bentuk laporan penelitian.
II. TINJAUAN PUSTAKA
A. Kriptografi
Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi [1]. Kriptografi secara etimologi terdiri dari kata kryptos berasal dari bahasa Yunani yang berarti tersembunyi dan graphein yang berarti tulisan. Pesan asli disebut plaintext dan pesan yang disamarkan disebut ciphertext [3].
B. Algoritma Kriptografi Kunci Simetris
ϱϯ
C. Algoritma Kriptografi Kunci Asimetris
Penyandian dengan kunci asimetris atau sering juga disebut dengan penyandian kunci publik adalah penyandian dengan kunci enkripsi dan dekripsi yang berbeda nilai. Kunci yang digunakan untuk enkripsi disebut dengan kunci publik (public key) dan kunci yang digunakan untuk dekripsi disebut kunci rahasia (private key) [4].
D. Algoritma RC4
RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data pada satu saat. Unit atau data pada umumnya merupakan sebuah byte. Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input data tertentu sebelum diproses, atau menambahkan byte tambahan untuk mengenkrip [6].
Algoritma RC4 terdiri atas 2 bagian yaitu Key
Scheduling Algorithm (KSA) dan Pseudo-Random
Generation Algorithm (PRGA).
1. Key Scheduling Algorithm (KSA)
Berikut adalah algoritma KSA, dimana simbol l menyatakan panjang kunci dalam byte.
for i from 0 to 255
2. Pseudo-Random Generation Algorithm (PRGA)
Berikut adalah algoritma PRGA : i := 0 telah mengusulkan sebuah varian baru dari RC4 yang diberi nama RC4A. RC4A merupakan sebuah upaya untuk meningkatkan keamanan dari RC4 tanpa mengurangi efisiensi.
RC4A adalah stream cipher yang berorientasi byte. Tahap pembentukan dari RC4A lebih efisien dibanding RC4, tetapi tahap inisialisasinya memerlukan setidaknya dua kali proses inisialisasi dari RC4.
Berikut adalah algoritma KSA dari RC4A [7]: RC4_KSA(K,S1)
for i = 0 ... l-1
WK[i] = RC4_PRGA(S1)
RC4_KSA(WK,S2)
Berikut adalah algoritma PRGA dari RC4A [7]: Initialization:
KSA yang sama dengan RC4 kecuali satu hal dimana KSA digunakan dua kali, masing-masing sekali untuk S1 dan S2. Semua operasi aritmetika dihitung dengan
modulo 256.
Proses KSA dari RC4A terdiri atas 2 bagian yaitu : 1. KSA dengan masukan K dan S1.
2. KSA dengan masukan WK dan S2.
WK dihasilkan dari PRGA milik RC4. l di sini merupakan panjang kunci dalam byte.
Setelah S1 dan S2 diperoleh dari proses KSA,
selanjutnya digunakan kembali dalam PRGA. Tiap putaran dalam PRGA menghasilkan 2 byte output.
F. Fungsi Hash
ϱϰ
G. Algoritma MD5
MD5 adalah salah satu fungsi hash yang paling banyak digunakan. MD5 merupakan versi perbaikan dari MD4 yang dirancang oleh Ron Rivest pada tahun 1991. MD5 umumnya digunakan sebagai checksum untuk verifikasi integritas file yang didownload dari internet.
MD5 memproses teks masukan ke dalam blok-blok 512 bit, kemudian dibagi menjadi 16 buah sub blok sebesar 32 bit. Keluaran dari algoritma MD5 adalah sebuah set dari 4 buah blok masing-masing 32 bit, yang kemudian menghasilkan nilai hash 128 bit [5].
III. ANALISIS DAN PERANCANGAN SISTEM
A. Analisis Masalah
Permasalahan yang dibahas dalam penelitian ini adalah bagaimana cara menjaga kerahasiaan suatu pesan atau informasi dari pihak-pihak yang tidak berwenang yang menginginkan informasi tersebut serta dapat menjamin bahwa informasi yang diperoleh masih utuh atau tidak mengalami perubahan. Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa (fishbone diagram). Diagram Ishikawa dari sistem dapat dilihat pada Gambar 1.
Gambar 1. Diagram Ishikawa Analisis Masalah
B. Pemodelan
Pemodelan sistem dilakukan untuk menunjukkan gambaran dari sistem yang akan dibangun, bagaimana interaksi antar objek yang ada pada sistem, serta hubungan yang terjadi di dalamnya. Pada penelitian ini digunakan pemodelan UML (Unified Modeling Language) untuk mendesain serta merancang sistem. Use case diagram, activity diagram, dan flowchart
dari sistem yang dibangun masing-masing ditunjukkan pada Gambar 2, Gambar 3, dan Gambar 4.
a. Use Case Diagram
Gambar 2. Use Case Diagram Pada Sistem
b.
Activity Diagramϱϱ
c. Flowchart
Gambar 4. Flowchart Sistem
Algoritma RC4A menggunakan proses KSA dan PRGA yang sama dengan algoritma RC4. Flowchart dari algoritma RC4A untuk proses enkripsi dan dekripsinya masing-masing dapat dilihat pada Gambar 5 dan Gambar 6.
Gambar 5. Flowchart Enkripsi Algoritma RC4A
Gambar 6. Flowchart Dekripsi Algoritma RC4A
IV. IMPLEMENTASI DAN PENGUJIAN
A. Antarmuka Sistem
Sistem ini dibangun dengan menggunakan bahasa pemrograman C#. Perangkat lunak yang digunakan sebagai Integrated Development Environment (IDE) adalah SharpDevelop versi 4, 3.
Pada sistem ini terdapat satu form utama dengan beberapa menu tab yaitu menu enkripsi, dekripsi, bantuan, dan tentang seperti diberikan pada Gambar 7, Gambar 8, Gambar 9, dan Gambar 10.
a. Menu Enkripsi
ϱϲ
b. Menu Dekripsi
Gambar 8. Menu Dekripsi
c. Menu Bantuan
Gambar 9. Menu Bantuan
d. Menu Tentang
Gambar 10. Menu Tentang
B. Pengujian
Pengujian sistem dilakukan untuk memastikan bahwa sistem yang telah dibangun dapat berjalan dengan baik sesuai dengan fungsi-fungsi yang sebelumnya ditentukan pada tahap analisis dan perancangan sistem. Hasil pengujian dari sistem dapat dilihat pada Gambar 11, Gambar 12, dan Gambar 13.
a. Pengujian Hasil Enkripsi Sistem
ϱϳ
b. Pengujian Hasil Perhitungan MD5
Gambar 12. Hasil Proses Perhitungan MD5 File
c. Pengujian Hasil Dekripsi Sistem
Gambar 13. Hasil Proses Dekripsi
V. KESIMPULAN DAN SARAN
A. Kesimpulan
Kesimpulan yang dapat diambil dari penelitian ini adalah:
1) Aplikasi yang dirancang dalam penelitian ini telah mampu melakukan proses pengamanan file teks dengan menggunakan algoritma RC4A.
2) Aplikasi yang dirancang mampu mengembalikan file teks hasil enkripsi menjadi file teks semula sebelum dienkripsi.
3) Aplikasi yang dirancang dalam penelitian ini telah mampu melakukan proses verifikasi keutuhan file dengan menggunakan algoritma MD5.
4) Algoritma MD5 dapat digunakan untuk memverifikasi keutuhan dari suatu file dengan cara menghitung nilai MD5 dari file tersebut dan membandingkannya dengan nilai MD5 yang diperoleh dari si pengirim.
B. Saran
Adapun saran yang dapat diberikan untuk pengembangan penelitian ini adalah sebagai berikut: 1. Untuk pengembangan sistem selanjutnya dapat
menggunakan algoritma hash lain seperti SHA-1, SHA-256, dan lain sebagainya.
2. Sistem ini bekerja pada data teks, sehingga diharapkan penelitian selanjutnya dapat diimplementasikan pada data gambar, suara, atau video.
REFERENSI
[1] Kromodimoeljo, S. 2010. Teori dan Aplikasi Kriptografi. SPK IT Consulting
[2] Menezes, A., Oorschot, P.V. & Vanstone, S. 1996. Handbook of Applied Cryptography. CRC Press
[3] Mollin, R.A. 2007. An Introduction to Cryptography. Second Edition. Taylor & Francis Group
[4] Sadikin, R. 2012. Kriptografi untuk Keamanan Jaringan. Yogyakarta : Andi
[5] Schneier, B. 1996. Applied Cryptography Protocols, Algorithms, and Source Code in C. Second Edition
[6] Sukmawan, B. 1998. RC4 stream cipher. (Online) http://www.bimacipta.com/rc4-stream-cipher.html (19 Februari 2016)