1 ANALISIS UJI KERJA ALGORITMA MD5 DAN ALGORITMA RC4 PADA PENGAMANAN DATA ADMIN E-COMMERCE WWW.MYHOCKYACC.COM 1
Gilang Darmawan, 2Arie Rafika Dewi,S.Kom.M.Kom Program Studi Sistem Informasi Sekolah Tinggi Teknik Harapan Jl. H.M Joni No. 70 Medan Email :
[email protected]
Abstrak Data merupakan sebuah informasi yang dapat dikelola menjadi informasi-informasi yang bermanfaat untuk berbagai kebutuhan. Data memiliki tingkat privasi berbeda disetiap penggunaannya, banyak data yang memiliki tingkat privasi tinggi yang harus di amankan dari gangguan pihak-pihak yang tidak berhak untuk mengakses nya. Salah satu sistem informasi yang memiliki data penting didalam nya adalah sistem informasi mengenai pemasaran barang atau jasa yang di sebut E-Commerce. Salah satu e-commerce yang sedang berkembang dikota medan adalah sebuah website www.myhockyacc.com yang bergerak dibidang pemasaran barang-barang teknologi di kota medan.Salah satu penyandian data yang banyak digunakan untuk mengamankan data adalah kriptografi md5, dimana kriptografi md5 banyak sekali digunaka para pengembang sistem untuk mengamakan data. Algoritma kriptografi lain yang memiliki tingkat keamanan yang cukup baik adalah kriptografi RC4 yang pada umumnya digunakan pengembang untuk sistem-sistem berbasis dekstop. Untuk mengukur kinerja dan hasil enkripsi dari kedua algoritma tersebut dibutuhkan sebuah penelitian yang mendasar dan terstruktur untuk dapat disusun menjadi sebuah penelitian ilmiah. Kata Kunci : E-Commerce, MD5, RC4. Abstract Data is an information that can be converted into information that is useful for a variety of needs. Data have different privacy level of each user, a lot of data that has a high level of privacy that must be secured from tampering parties are not entitled to access it. One of the information systems that have important data in it is a system of information on the marketing of goods or services is called E-Commerce. One of the e-commerce field that is growing in the city is a website www.myhockyacc.com engaged in marketing technology goods in the city field. One of the widely used data encryption to secure the data is cryptography md5, where md5 widely used cryptographic system developers to secure the data. Other cryptographic algorithms that have a fairly good level of security is cryptography RC4 which is generally used developer for desktop-based systems. To measure performance and results of the second encryption algorithm is required a fundamental research and is structured to be compiled into a scientific research. Keyword : E-Commerce, MD5, RC4.
1.
PENDAHULUAN
pihak-pihak
Data merupakan sebuah informasi yang
mengaksesnya. Berbagai cara mengamankan data
dapat di kelola menjadi informasi-informasi yang
banyak diterapkan di era komputerisasi saat ini
bermanfaat
salah satu nya dengan cara penyandian data.
memiliki
untuk tingkat
berbagai
kebutuhan.
privasi
berbeda
Data
yang
tidak
berhak
untuk
disetiap
Data digunakan didalam Sebuah Sistem
penggunaannya, banyak data yang memiliki tingkat
Informasi, salah satu sistem informasi yang
privasi tinggi yang harus di amankan dari gangguan
memiliki data penting di dalam nya adalah sistem
2 informasi mengenai pemasaran barang atau jasa
penulis tertarik untuk menganalisa kinerja dari
yang disebut E-Commerce. Salah satu e-commerce
kriptografi ini jika dibandingkan dengan kriptografi
yang sedang berkembang dikota medan adalah
md5. Md5 banyak digunakan untuk pengamanan
sebuah
database pada sistem berbasis web, seperti pada
website
www.myhockyacc.com
yang
bergerak di bidang pemasaran barang-barang
jurnal
beli
online
teknologi dikota medan, didalam website e-
menggunakan algoritma rsa dan md5
yang
commerce ini memiliki data-data yang harus di jaga
menerapakan sistem penjualan online.
keamanannya agar tidak terjadi kerusakan data oleh pihak-pihak yang tidak bertangung jawab.
sistem
kemananan
jual
Untuk mengukur kinerja dan hasil enkripsi dari kedua algoritma tersebut dibutuhkan sebuah
Untuk menjaga keamananan dari data
penelitian yang mendasar dan terstruktur untuk
salah satu caranya adalah dengan penyandian data,
dapat disusun menjadi sebuah penelitian ilmiah.
penyandian data yang banyak digunakan untuk
Adapun penelitian ilmiah yang penulis maksud
mengamankan data adalah kriptografi md5, dimana
adalah penulusian skripsi atau tugas akhir yang
kriptografi md5 banyak sekali digunaka para
membawa tema analisis dari perbandingan dua
pengembang sistem untuk mengamakan data dari
algortima tersebut.
sebuah sistem informasi yang dibangun, untuk
Sebagai objek dalam pengujian kinerja
menerapkan kriptografi md5, para pengembang
kedua
algoritma
di
atas,
maka
penulis
menggunakan modul-modul yang telah disediakan
menggunakan data dari e-commerce di atas untuk
oleh bahasa pemrograman itu sendiri.
dijadikan sample data. Berdasarkan pada hal
Selain md5, salah satu kriptodrafi yang
tersebut penulis mengambil tema uji kerja dua buah
baik untuk penyandian data adalah rc4, dimana rc4
kriptografi di dalam penelitian ini dengan judul
merupakan jenis aliran kode yang berarti operasi
“Analisa uji kerja algoritma MD5 dan algoritma
enkripsinya dilakukan per karakter 1 byte untuk
RC4 pada pengamanan data admin e-commerce
sekali operasi. Algoritma kriptografi Rivest Code 4
'www.myhockyacc.com' “
(RC4) merupakan salah satu algoritma kunci simetris dibuat oleh RSA Data Security Inc
2.
METODOLOGI PENELITIAN
(RSADSI) yang berbentuk stream chipper. (Imam
2.1
Analisa Kebutuhan Sistem
Santoso, 2013).
Di dalam sebuah penelitian dibutuhkan
Menurut Chulkamdi (2015) Algoritma
beberapa alat (tools) yang mendukung berbagai
Rc4 baik untuk meningkatkan keamanan data yang
aktifitas didalam pelaksanaan penelitian. Didalam
di bahas dalam jurnal ilmiah penerapan algoritma
penelitian ini, penulis akan menganalisa
rc4 untuk keamanan data. Pada jurnal EECCIS
implementasi sebuah penambahan keamanan data
2015,
pada database e-commerce
Toufik
dalam
judul
kompresi
teks
meggunakan algoritma huffman dan Md5 pada IM
“www.Myhockyacc.com” dan beberapa tools yang
smartphone android juga mengatkan bahwa tingkat
penulis butuhkan dalam proses pelaksanaan
keamanan dari algoritma md5 sangat baik yang
penelitian [3]
didukung juga oleh jurnal dari saiful bahri (2013) dengan
judul
pengujian
integritas
data
menggunakan algoritma Md5 mendapat hasil yang sangat baik dalam sisi keamanan data. Sehingga
3
2.2
Kriptografi RC4
Langkah Ke - 4
Berikut ini penulis jabarkan langkahlangkah
untuk
menenkripsi
menggunakan
Iterasi pertama for i = 0
algoritma RC4. 1.
(0 F
+ 0 + 1 ) mod 4 = 1, jadi f = 1 S0 K0
Cari 4 bit bilangan yang akan dijadikan
kunci dengan fungsi iterasi dan swap melalui 4 byte
Langkah Ke - 5
bilangan random.
Swap S0 dengan S1
2.
Lakukan pecarian chiper teks dengan
rumus enkripsi berikut Proses Enkripsi :
Ci = Pi Xor Key
Si = 1 S0
0 S1
2 S2
3 S3
Langkah Ke – 6 : Iterasi kedua
Untuk digunakan
dua
mendapatkan buah
bilangan
kunci,
maka
array
dalam
for i = + (1 +0 ) mod 4 = 0, jadi f=0 1 7 F S1 K1
pencarian kunci yang masing-masing bilangan terdiri dari 4 bit. Berikut langkah pencarian kunci
Langkah Ke – 7 : Swap S1 dengan S0
(Key). Si = 0 S0
Langkah - 1 :
1 2 3 S1 S2 S3 Iterasi ketiga
Buat array state Si berukuran 4 byte, yang
for i = + (0 +2 ) mod 4 = 3, f = 3 2 1 F S2 K2
memiliki nilai 0 sampai dengan 3 Si 0 1 2 3 = S0 S1 S2 S3
Langkah Ke – 8 :
Langkah – 2 : Buat array kunci Ki berukuran 4 byte, yang
memiliki
nilai
pengulangan
dari
kunci untuk memuat keseluruhan isi array. (sebagai
for i = + (3 +0 3 7
contoh 1 dan 7) Ki =
Swap S2 dengan S3 Si = 0 1 3 2 S0 S1 S2 S3 Iterasi keempat
1
7
1
7
K0
K1
K2
K3
F
S3
) mod 4 = 2= f
K3
Langkah Ke – 9 : Langkah Ke – 3 : Untuk
Swap S3 dengan S2 operasi
penggabungan
akan
digunakan variabel i dan f untuk meng-index
Si = 0 S0
1 S1
2 S2
3 S3
array Si dan Ki . Pertama inisialisasikan i dan f dengan nilai 0. operasi penggabungan merupakan iterasi dari formula ( f + Si + Ki ) mod 4 diikuti penggantian (swap) nilai Si dan Sf.
Langkah Ke – 10 : Tentukan nilai byte acak untuk enkripsi. Inisialisasi ulangi dan f menjadi 0, set i menjadi (i
4 + 1) mod 4 dan set f menjadi (f + Si) mod 4. Lalu
panjang pesan 448 bit, maka pesan tersebut
swap Si dan Sf. Set t menjadi (Si + Sf) mod 4,nilai
ditambah dengan 512 bit menjadi 960 bit. Jadi,
acak untuk enkripsi adalah St
panjang bit-bit pengganjal adalah antara 1 sampai
( 0 + 1) mod 4 = 1 = i I
512. Bit-bit pengganjal terdiri dari sebuah bit 1
(0 F
diikuti dengan sisanya bit 0 [4].
+ ) mod 4 = 2 = f 2 Si Swap S1 dengan S2
Si = 1 S0
0 S1
2 S2
2.4
Proses Penambahan Keamanan Berikut ini proses yang terjadi pada
penambahan keamanan, yang penulis gambarkan
3 S3
dengan flowchart.
t = 3 ( 0 + 2 ) mod 4 = 2= f S1 S2 S2 = 2 maka di dapat S2 sebagai kunci untuk
Berikut penulis berikan penjelasan dari proses yang di gambarkan oleh flowchart diatas berikut ini : Mulai, Buat Database, Buat struktur tabel
mencari cipher teks. Untuk proses dekripsi, sama
untuk database, Ambil setiap data yang akan di-
dengan enkripsi yaitu menggunakan rumus :
input. Enkripsi data dengan MD5 atau RC4, Ambil hasil enkripsi data. Simpan hasil enkripsi ke
Pi = Ci Xor Key
database. 2.3
Kriptografi MD5 Algoritma
MD5
menerima
masukan
berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128
3.
Implementasi dan Analisis
3.1
Spesifikasi Sistem Agar aplikasi yang akan dirancang dapat
bit. Langkah-langkah pembuatan message digest secara garis besar adalah sebagai berikut: 1.
Penambahan bit-bit pengganjal (padding
berjalan dengan baik, maka perlu dilakukan pengujian terhadap sistem yang di kerjakan. Untuk itu dibutuhkan beberapa komponen utama yang mencakup
bits). 2.
Penambahan nilai panjang pesan semula.
3.
Inisialisasi penyangga (buffer) MD.
4.
Pengolahan pesan dalam blok berukuran
perangkat
lunak
(software)
dan
perangkat keras (hardware)[2].
3.2
Interface Website Merupakan tampilan dari website yang
512 bit. Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Ini berarti panjang pesan setelah ditambahi bit-bit pengganjal adalah 64 bit kurang dari kelipatan 512. Angka 512 ini muncul karena MD5 memperoses
pesan
dalam
blok-blok
yang
berukuran 512. Pesan dengan panjang 448 bit pun tetap ditambah dengan bitbit pengganjal. Jika
diakses oleh pengguna yaitu ww.myhockyacc.com. adapun website ini memasarkan berbagai produk teknologi yang banyak dikunjungi oleh customer, untuk
pengamanan
menggunakan
md5
website yang
ini
sendiri
mengenkripsi login
admin. Berikut penulis tampilkan interface dari website tersebut [7]:
5 3.3
Database dan MD5 Berikut tampilan database dari website
www.myhockyacc.com :
Gambar 1. Interface Awal Website Merupakan tampilan awal yang menampilkan produk-produk yang baru di input ke dalam website. Selanjutnya interface detail produk : Gambar 4. Database Dimana pada database terdapat beberapa tabel yang saling terhubung untuk menyimpan data.
Gambar 2. Interface Detail Produk Yang menampilkan detail keterangan dari produk
Gambar 5. Tampilan Tabel Admin
tersebut. Untuk mengisi data produk, harus login ke
Id digunakan untuk menampung user id dan
menu
terdapat
password untuk menampung password dari user
autentifikasi terlebih dahulu, berikut tampilan login
yang akan login. Selanjutnya adalah proses enkripsi
admin :
yang dilakukan denggan md5, dimana proses md5
admin,
pada
menu
admin
sendiri
sudah
disediakan
oleh
jscript
pada
pemrograman web. Untuk penggunaan md5 dapat menggunakan scrips berikut :
Gambar 3. Login Admin Pada tampilan login data yang diisi adalah “admin” yang merupakan plain text dari user. Untuk melihat isi hasil enkripsi menggunakan md5, maka kita harus masuk ke database dari website.
Gambar 6. Script Md5 Sumber : Group, T. P. (2017). http://php.net. Diambil kembali dari Php Manual. Hasil dari enkripsi menggunakan md5 adalah sebagai berikut :
6 m = 109 i = 105 Gambar 7. Hasil Hash Md5
n = 110
penyandian
Untuk dapat melanjutnya proses enkripsi,
menggunakan md5 disimpan di dalam tabel di
maka harus melakukan konversi bilangan desimal
database penjualan.
tersebut kedalam bilangan biner, dimana konversi
Dimana
hasil
dari
Hasil pegujian dengan aplikasi dekstop
desimal ke biner dapat dilakukan dengan cara berikut :
menggunakan md5 :
Dengan menggunakan rumus perhitungan konversi bilangan desimal ke basis lainnya kita bisa lakukan sebagai berikut. Contoh : 97 = ……. ? Misalkan kita akan melakukan konversi 97 basis sepuluh (desimal) ke dalam basis 2 (biner). 1.
Pertama-tama kita bagi 97 dengan 2,
didapat bilangan bulat hasil bagi adalah 48 dengan sisa hasil bagi adalah 1, atau dengan kata lain 97 = 2*48 + 1 2.
Selanjutnya bilangan bulat hasil bagi
tersebut (48) kita bagi dengan 2 lagi, 48/2 = 24, sisa hasil bagi 0. 3. Gambar 8. Hasil Pegujian Md5 3.4
Untuk menerapkan enkripsi RC4, maka panulis menjabarkan lagkah untuk melakukan enkripsi nya, dimana pada bab sebelumnya pada penelitian ini penulis telah menjabarkan proses untuk mencari kunci, maka untuk menerapkan pada implementasi, maka cukup dimulai dari konversi plain text yaitu teks asli yang berupa karakter ke dalam ASCII (American Standard Code for Berikut salah satu
contoh kata yang akan dienkripsi[5] : “a – d – m – i – n” Dimana jika diubah ke desimal dalam ascii maka kata tersebut menjadi : a = 97 d = 100
hasil bagi 0. 4. Ulangi lagi langkah tersebut sampai bilangan
Perhitungan RC4
Information Interchange).
Kemudian kita ulangi lagi, 24/2 = 12, sisa
bulat hasil bagi sama dengan 0. Setelah itu tulis sisa hasil bagi mulai dari bawah ke atas. 5. Dengan demikian kita akan mendapatkan bahwa 9710 = 011000012. Dengan melakukan langkah diatas maka di dapat nilai biner untuk desimal : a = 97 = 01100001 d = 100 = 01100100 m = 109 = 01101101 i = 105 = 01101001 n = 110 = 01101110 untuk melakukan proses enkripsi, maka dibutuhkan kunci yang telah didapat dari hasil pencarian kunci di bab sebelumnya yaitu 2 ( 00000010).
7 Maka proses enkripsi nya adalah sebagai berikut :
Contoh konversi bilangan biner 1011100 ke bilangan desimal :
a = 01100001 maka
Ci = Pi Xor Key
C1 = 01100001 Xor 00000010 = 01100011 C2 = 01100100 Xor 00000010 = 01100110 C2 = 01101101 Xor 00000010 = 01101111 C2 = 01101001 Xor 00000010 = 01101011 Jadi, nilai bilangan biner 1011100 = 92
C2 = 01101110 Xor 00000010 = 01101100 Setelah didapat hasil enkripsi berupa
(bilangan desimal) Maka berdasarkan pada cara diatas didapat
bilangan biner, maka proses selanjutnya adalah mengubah kembali bilangan tersebut menjadi
hasil konversi biner kedesimal dari sandi diatas
desimal untuk dapat dijadikan karakter. Untuk
adalah sebagai berikut :
mengubah bilanga biner ke desimal adalah sebagai
C1 = 01100001 Xor 00000010 = 01100011 = 99
berikut :
C2 = 01100100 Xor 00000010 = 01100110 = 102 Agar dapat mengkonversi bilangan biner
C2 = 01101101 Xor 00000010 = 01101111 = 111
ke desimal, yaitu dengan cara menggunakan
C2 = 01101001 Xor 00000010 = 01101011 = 107
bantuan tabel konversi bilangan biner ke desimal
C2 = 01101110 Xor 00000010 = 01101100 = 108 Lalu setelah itu konversi bilanga desimal
dibawah ini.
menjadi karakter kembali dengan tabel ASCII yang
Tabel 1. Tabel Konversi Bilangan Biner Pan gkat
Desi mal
Bin
hasil sebagai berikut : 99 = c
er
20
1
1
102 = f
21
2
10
111 = o
22
4
100
107 = k
8
100
108 = l
23
2
4
16
25
32
26
64
27
128
Maka untuk admin setelah dienkripsi
0 100
menggunakan RC4 dengan kunci 2 ( 00000010) adalah c – f – o – k – l.
00 100
Untuk menerapkan nya didalam php maka script yang digunakan adalah :
000 100 0000 100 00000
Gambar 9. Script RC4 pada penelitian
8 tugas akhir ini, penulis mengambil kesimpulan berdasarkan hasil dari Analisa yaitu sebagai berikut : 1.
Algoritma hash MD5 dan RC4 memiliki
karakter yang berbeda dari sisi keamanan datanya karena jumlah cipher yang berbeda antar keduanya 2.
Penerapan MD5 pada sebuah ecommerce
dewasa ini tidak lagi merupakan hal yang baru Gambar 10. Hasil Pengujian RC4 Kode php yang dapat digunakan untuk penyandian RC4. Setelah didapat hasil maka selanjutnya cipher text disimpan kedalam database.
maka
untuk
itu
perlu
diperbaharui
atau
ditambahkan algoritma lain sebagai pendukung md5 3.
RC4 dapat menjadi algoritma yang mudah
di pecahkan jika kunci yang digunakan jumlah 3.5
string nya sedikit, begitupun sebaliknya.
Analisa Implementasi Setelah
implementasi
dari
penerapan
algoritma md5 dan rc4 maka analisa yang penulis
4.
RC4 algoritma yang lebih aman dan lebih
baik dari Md5
sampaikan adalah kedua algoritma menghasilkan hasil enrkipsi yang berbeda terutama dari jumlah
4.2
Berikut adalah beberapa saran untuk
cipher hasil enkripsi, dimana pada Rc4 jumlah cipher sama dengan jumlah plain text, sedangkan pada md5 jumlah cipher tetap, tidak tergantung pada jumlah plain text melainkan sesuai dengan kode hash dari algoritma. Kedua algoritma memiliki tingkat keamanan yang baik, namun untuk md5 telah banyak website penyedia dekripsi algoritma nya. Dengan adanya ketetapan hash pada md-5 maka tidak ada kunci yang berbeda, semua karakter memiliki ketentuan penyandian yang sama. Menurut penulis, berdasarkan hasil analisa pada penelitian ini maka algoritma RC-4 lebih baik dari
pada
Md-5
dikarenakan
untuk
proses
penyandian disesuaikan pada langkah-langkah dan ketentuan
kunci
tidak
seperti
Md-5
yang
menggunakan hash dan ketetapan sendiri dan juga banyak penyedia layanan pengembalian teks ke asli pada media online [6].
4.
Penutup
4.1
Kesimpulan Sebagai bab penutup dalam penulisan
Saran
pengembangan lebih lanjut terhadap tugas akhir ini, maka penulis menuliskan beberapa saran yang mungkin dapat dijadikan suatu masukkan dan pertimbangan terhadap pengembangan dari Analisa yang penulis laksanakan. Beberapa saran yang penulis usulkan yaitu sebagai berikut : 1.
Untuk
menemukan
analisa
hasil
dari
ini
penulis
penggabungan
belum kedua
algoritma diatas, penulis hanya berfokus pada analisa kekuatan penyandian keduanya, maka untuk itu penelitia selanjutnya dapat mengambil tema pengembangan dari penggabungan dua algoritma diatas [7].
9 DAFTAR PUSTAKA [1] Imam Santoso.2013.JURNAL SISTEM INFORMASI BISNIS Vol 3, No 1 (2013): Volume 3 Nomor 1 Tahun 2013 page. 07-12 Publisher: Magister Sistem Informasi [2] Chulkamdi.2015.Jurnal EECCIS Vol 9, No 1 (2015) page. pp.103-108 Publisher: Jurusan Teknik Elektro, Fakultas Teknik, Universitas Brawijaya [3] Sato.2012.International Journal of Electrical and Computer Engineering (IJECE) Vol 2, No 6: December 2012 page. [4] Li.2013.TELKOMNIKA Indonesian Journal of Electrical Engineering Vol 11, No 1: January 2013 page. 338-344 Publisher: Institute of Advanced Engineering and Science [5] Pradana.2015.Neo-Bis Vol 9, No 2 (2015): DESEMBER page. 32-40 Publisher: Neo-Bis