Anda di halaman 1dari 10

APLIKASI KRIPTOGRAFI SEDERHANA

MENGGUNAKAN FUNGSI HASHING (MD5) PADA MODUL PHP

Eka Wahyu Hidayat


Jurusan Teknik Informatika Fakultas Teknik Universitas Siliwangi Tasikmalaya

ABSTRACT
Computers network enable to do the activity of data change over and transfer from one
computer to the others. There are some very important problems in delivery and
acception of data in computer network, that is data security (confidentialy,
authentication, integrity, non-repuditation). The problem can be overcome with
cryptograph using MD5 (Message Digest 5). MD5 is a development of Hash Function
Algorithm, which gives guarantee that data sending will be equal to data accepted. One
of the computer network based programming language which providing Hash Function
is PHP. PHP have standard procedure to protect data in the computer network by
means of special library for the encrypted of data. PHP recognized two encrypts
libraries those are MCRYPT and MHASH. In this research will be made an application
for the encrypted of data in the form of string use MD5 hash function by exploiting PHP
library, that is MHASH.
Key Word: Cryptograph, MD5, MHASH

ABSTRAK
Jaringan komputer memungkinkan terjadinya kegiatan pertukaran data dari satu
komputer ke komputer lain. Ada beberapa persoalan yang sangat penting dalam proses
pengiriman dan penerimaan data dalam jaringan komputer, yaitu keamanan data
(kerahasiaan, otentikasi, integritas, non-repudiasi). Persoalan tersebut dapat diatasi
dengan kriptografi menggunakan MD5 (Message Digest 5). MD5 merupakan
pengembangan dari Algoritma Fungsi Hash yang memberikan jaminan bahwa data yang
dikirim akan sama dengan data yang diterima. Bahasa pemrograman berbasis jaringan
komputer yang menyediakan Fungsi Hash salah satunya adalah PHP. PHP memiliki
prosedur standar untuk mengamankan data-data pada jaringan komputer berupa library
khusus untuk mengenkripsi data. Dalam PHP dikenal dua library enkripsi, yaitu
MCRYPT dan MHASH. Pada penelitian ini akan dibuat sebuah aplikasi untuk
mengenkripsi data berupa string menggunakan fungsi hash MD5 dengan memanfaatkan
library PHP, yaitu MHASH.
Kata Kunci: Kriptografi, MD5, MHASH.

I. PENDAHULUAN komputer melalui suatu jaringan


Perkembangan teknologi dewasa ini komputer. Jaringan komputer termasuk
mengarah pada pemanfaatan teknologi kedalam infrastruktur teknologi
informasi untuk mendukung aktifitas informasi yang digunakan sebagai
pertukaran data dari satu tempat ke sarana untuk pertukaran data dan
tempat lain menggunakan perangkat informasi. Teknologi ini menjadi suatu

10
kebutuhan yang sangat penting untuk Ada beberapa permasalahan yang perlu
mendukung aktifitas individu maupun dipertimbangkan untuk membuat
kelompok dalam bertukar informasi. sebuah aplikasi keamanan data yang
Internet adalah representasi dari baik, yaitu diperlukan biaya yang cukup
teknologi jaringan komputer. Meskipun tinggi untuk rekayasa perangkat lunak
bukan satu-satunya media untuk aplikasi keamanan data, pemilihan
pertukaran data dan informasi, internet metode kriptografi yang tepat dan
paling sering digunakan untuk sesuai digunakan untuk aplikasi yang
pertukaran data. Media internet ini akan direkayasa, dan kecenderungan
bersifat terbuka, maksudnya adalah pemrograman internet menggunakan
setiap data yang melewati jaringan fungsi hashing yaitu salah satu bagian
komputer bisa dibaca oleh siapa saja dari fungsi kriptografi satu arah yang
menggunakan teknik-teknik pemro- siap pakai dan biasa disediakan sebagai
graman tertentu. Untuk itu diperlukan modul pelengkap pada library bahasa
aplikasi keamanan agar kerahasiaan, pemrograman tertentu.
otentikasi, integritas, dan non-repudiasi Mengacu pada permasalahan tersebut
data pada saat proses pengiriman dan akan dikembangkan sebuah aplikasi
penerimaan data tetap terjaga. keamanan data dengan usulan yang di
Kerahasiaan berarti bahwa data yang ajukan adalah pembangunan sebuah
melalui jaringan komputer tidak dapat aplikasi berbasis web sederhana untuk
dibaca oleh orang yang tidak mengenkripsi data berupa string
berkepentingan terhadap data tersebut. menggunakan fungsi hash MD5 dengan
Otentikasi berarti memberikan jaminan memanfaatkan library PHP, yaitu
mengenai keaslian data. Integritas MHASH. String data yang akan di
berarti memberikan jaminan bahwa data enkripsi di input dari sebuah form pada
tidak mengalami perubahan sewaktu sisi Client dan diproses di Server,
melewati jaringan komputer, dengan dengan output berupa nilai hash atau
kata lain data yang diterima sama hasil enkripsi dalam bentuk binary dan
dengan data yang dikirim. Non- heksadesimal besera ukuran bloknya.
repudiasi berarti pengirim data tidak
dapat menyangkal bahwa data yang
dikirim bukan darinya.

11
II. LANDASAN TEORI variable baru yang unik dengan panjang
Kriptografi tetap (biasanya lebih pendek atau
Kriptografi berasal dari bahasa Yunani, berukuran jauh lebih kecil daripada
Cryptos (tersembunyi) dan Grafos ukuran semula) melalui persamaan
(tulisan). Secara umum kriptografi h  H (M) dimana h adalah nilai hash
berarti suatu cara melalui perhitungan dari fungsi H untuk masukan string M,
matematika dengan tujuan untuk keluarannya biasa disebut nilai hash dan
menjaga nilai suatu informasi agar tidak direpresentasikan dalam bilangan
dimanfaatkan oleh pihak yang tidak heksadesimal. Fungsi hash berjalan
berhak atas informasi tersebut. Kegiatan hanya satu arah. Fungsi satu-arah (one-
kriptografi lebih kearah melakukan way function) adalah fungsi hash yang
pengacakan atau masking data bekerja dalam satu arah, yaitu pesan
sedemikian rupa sehingga data tersebut yang sudah diubah menjadi message
tidak bisa dibaca oleh pihak ketiga. digest tidak dapat dikembalikan
Dalam Kriptografi dikenal istilah menjadi pesan semula dengan kata lain
Enkripsi (Encryption) dan Deskripsi untuk menghitung nilai hash dari pre-
(Decryption). Enkripsi adalah proses image tidaklah sulit, tetapi sangat sulit
pengacakan Plaintext (data sebelum untuk membangkitkan pre-image dari
diacak) menjadi Ciphertext (hasil nilai hash-nya. Metode fungsi hash satu
pengacakan). Sedangkan Deskripsi arah ini berfungsi melindungi data dari
adalah proses mengembalikan modifkasi selama data berada dalam
Ciphertext ke Plaintext. Dalam jaringan.
kriptografi terdapat sebuah fungsi yang Salah satu aplikasi fungsi hash
sesuai digunakan untuk keperluan diantaranya adalah untuk memverifikasi
aplikasi keamanan seperti otentikasi dan kesamaan salinan suatu arsip dengan
integritas pesan, yaitu fungsi hash. arsip asli yang tersimpan di dalam
Fungsi Hashing sebuah basis data terpusat. Biasanya
Fungsi hash adalah sebuah fungsi hasil yang diverifikasi hanya nilai hash-nya
dari suatu persamaan matematika yang saja, karena jika melakukan verifikasi
mengambil input berupa variable arsip secara keseluruhan akan
dengan panjang variabel (preimage) membutuhkan waktu transmisi cukup
bervariasi dan merubahnya menjadi lama dan biaya yang tinggi.

12
Library MHASH kriptografi dengan cara memecahkan
Fungsi Hashing memiliki banyak Kunci Deskripsi.
ragam, salah satunya Mhash. Mhash MD5 bekerja dengan cara mengolah
sendiri mendukung beragam algoritma data masukan kedalam blok-blok bit
fungsi hashing dan disimpan sebagai sebanyak 512 bit dan dibagi kedalam 16
pustaka pada Library Mhash seperti subblok berukuran 32 bit. Keluaran
Adler32, CRC32, CRC32B, Gost, MD5 di set menjadi 4 blok yang
Hava128, Haval160, Haval192, masing-masing berukuran 32 bit,
Haval256, MD4, MD5, Ripemd160, setelah digabungkan akan membentuk
Ripemd128, SHA1, SHA256, Tiger, nilai hash 128 bit. Secara perhitungan
Tiger128, dan Tiger160. Sedangkan matematis penggunaan MD5 tidak
untuk pembangkitan kunci, library memungkinkan untuk mendapatkan dua
Mhash mendukung proses pesan berbeda dengan nilai hash yang
pembangkitan kunci dari Mcrypt, Asis, sama.
Hex, Pkdes, Simple, Salted, dan Isalted. Algoritma MD5
Library Mhash yang paling banyak A B C D
digunakan dalam keamanan jaringan
komputer dan internet adalah MD5 atau F
messagedigest5.
Mi
Message Digest 5
Dalam sudut pandang ilmu kriptografi, Ki

MD5 adalah rangkaian algoritma <<<. s


Message Digest dan termasuk ke dalam
Fungsi Hash satu arah. MD5 dirancang
oleh Ron Rivest yang juga merupakan
salah satu pengembang algoritma RSA A B C D
pada tahun 1991 dengan tujuan untuk
Gambar 1. Algoritma MD5.
keamanan data. MD5 merupakan
Algortima MD5 beroperasi pada
perbaikan dari MD4 setelah ditemukan
kondisi 128-bit, dibagi menjadi empat
kelemahannya oleh Cryptanalysis, yaitu
word 32-bit pada A, B, C dan D.
sebutan untuk pihak ketiga yang selalu
Operasi tersebut di inisialisasi dijaga
mencari kelemahan setiap fungsi
untuk tetap konstan. Algoritma utama

13
kemudian beroperasi pada masing- penggunaan PHP sebagai web scripting
masing blok pesan 512-bit, masing- adalah kesederhanaan (simplicity) dan
masing blok melakukan pengubahan memiliki banyak modul yang disimpan
terhadap kondisi pesan. Tahapan pada pustaka PHP dengan ektensi DLL.
pemrosesan blok pesan yaitu batasan Ektensi DLL pada modul PHP bersifat
putaran dimana tiap putaran membuat third party dan dapat dipanggil pada
16 operasi serupa berdasar pada fungsi skrip PHP sebagai sebuah fungsi.
non-linier F, tambahan modular, dan Fungsi-fungsi yang ada pada PHP salah
melakukan rotasi ke kiri. Fungsi satunya adalah fungsi MHASH untuk
kompresi yang digunakan oleh enkripsi data menggunakan metoda
algoritma md5 adalah Hashing.
a  b  (a  g(b, c, d)  M[i]  K[i]  s)
dimana g adalah salah fungsi primitif III. METODE PENELITIAN
pada F yaitu: Metodologi penelitian yang dilakukan
F(X, Y, Z)  (X  Y)  (X  Z) pada penelitian ini adalah sebagai
G(X, Y, Z)  (X  Z)  (Y  Z)
berikut:
H(X, Y, Z)  X  Y  Z
1. Studi Literatur, studi literatur
I(X, Y, Z)  Y  (X  Z)
dilakukan sebelum memulai
, , ,  adalah operasi logika untuk
penelitian melalui buku-buku,
XOR, AND, OR dan NOT, sehingga
jurnal-jurnal, dan artikel-artikel
ada empat macam kemungkinan fungsi
yang berhubungan dan menunjang
non-linier yang digunakan pada tiap-
penelitian ini.
tiap putaran.
2. Pembuatan Program Aplikasi, hasil
PHP Hypertext Preprocessor
yang didapat pada studi literatur
PHP merupakan server-side embedded
diterjemahkan menjadi suatu
scripting language, yaitu bahasa berupa
rancangan antarmuka interaksi
skrip pemrograman yang dapat
untuk memasukkan nilai string yang
disisipkan pada dokumen HTML dan
akan di enkripsi dan
bekerja pada lingkungan server seperti
diimplementasikan menjadi
Apache dan IIS. Semua sintaks PHP
program aplikasi untuk memproses
pada dokumen HTML dijalankan pada
nilai masukan menggunakan metode
server sedangkan yang dikirimkan ke
hashing MD5.
browser hanya hasilnya saja. Alasan

14
3. Pengujian, pengujian dilakukan 1. Dialog layar berupa form untuk
terhadap hasil implementasi memasukkan data yang akan di-
program aplikasi yang enkripsi.
dikembangkan. Jika pada saat 2. Dialog layar untuk menampilkan
pengujian ditemukan kekurangan hasil enkripsi dari data yang di-input
maka dilakukan studi literatur dan pada form masukkan.
memperbaiki program aplikasi yang 3. Diperlukan suatu file pada modul
dibuat hingga tujuan yang ingin PHP yang berguna untuk melakukan
dicapai terpenuhi. hashing yaitu php_mhash.dll.
Pemodelan Sistem
IV. HASIL DAN PEMBAHASAN Pemodelan sistem dilakukan terhadap
Hasil dan pembahasan dalam penelitian kinerja sistem dalam melakukan proses
ini di representasikan melalui beberapa enkripsi suatu data. Adapun alur proses
tahapan yaitu: enkripsi digambarkan pada gambar
1. Melakukan analisis terhadap proses berikut:
enkripsi dari suatu nilai input Data Library PHP
sehingga menghasilkan suatu nilai Fungsi
hash. MHASH
2. Menyusun hasil analisis kedalam
Enkripsi
pemodelan sistem.
3. Pengkodean yaitu menulis script
PHP sampai menghasilkan
Hash Value
antarmuka pengguna.
4. Setting atau pengaturan web server Gambar 2. Alur Proses Enkripsi

dan modul-modul yang diperlukan. Pengkodean

5. Pengujian terhadap aplikasi yang Tahapan ini melakukan penyusunan

dibuat. skrip php untuk mengimplementasikan

Analisis Proses Enkripsi rancangan sesuai pemodelan sistem

Dari analisis diperoleh kebutuhan yaitu implementasi proses enkripsi.

sistem diantaranya yaitu: Kegiatan tahapan ini adalah:


1. Membuat antarmuka input data.

15
2. Membuat skrip pemanggilan dan instalasi dan pengaturan PHP dan
pemrosesan fungsi hash Apache ini digunakan WampServer
menggunakan MD5. yang sudah terintegrasi dengan cukup
3. Membuat skrip pemrosesan baik. Karena pada tahapan analsis
menggunakan metode hashing lain. diperlukan suatu file pada modul PHP
4. Membuat antarmuka hasil enkripsi. yang berguna untuk melakukan hashing
Hasil dari perancangan dan yaitu php_mhash.dll maka modul ini
pengembangan serta instalasi sistem, harus diaktifkan terlebih dahulu melalui
akan diperoleh sebuah aplikasi Php Extensions pada config file php.ini.
kriptografi sederhana menggunakan Pengujian Aplikasi
fungsi hashing (MD5) pada modul php. Pengujian aplikasi ini dilakukan
Gambar 3 menunjukkan antarmuka terhadap aplikasi kriptografi
untuk melakukan input data yang akan menggunakan MD5 yang dibuat dengan
di enkripsi, sedangkan gambar 4 memasukkan bermacam input data
menunjukkan hasil proses enkripsi sehingga dihasilkan suatu nilai hash.
terhadap data yang di-input pada Kasus 1
Dicoba untuk melihat nilai hash
gambar 3.
dimana tidak ada nilai input atau null
(„ „) pada form masukkan. Hasilnya:
d41d8cd98f00b204e9800998ecf8427e
Kasus 2
Dicoba untuk melihat nilai hash
dengan input ‟Informatika‟. Hasilnya:
270007185d0f4b290ded51f9345a7f29
Kasus 3
Perubahan yang kecil pada input akan
menghasilkan hash yang benar-benar
berbeda, misalnya pada kata
‟Informatika‟, huruf ‟f‟ diganti
menjadi ‟p‟ sehingga input menjadi
„Inpormatika‟, Hasilnya:
a1fb6d9d116be440f4c5236faf7fccc5
Gambar 3. Antarmuka Input Data Kasus 4
Mencoba untuk melihat nilai hash
Pengaturan Web Server untuk nilai input yang lebih panjang
Intalasi PHP diperlukan agar sistem yaitu „Teknik Informatika Fakultas
Teknik Universitas Siliwangi
yang dibuat dapat berjalan pada web Tasikmalaya‟. Hasilnya:
server. Web server yang digunakan 753f86fc971a8a8778f314017d81e0b9

adalah Apache. Untuk mempermudah

16
Gambar 4. Tampilan Hasil Pemrosesan

V. KESIMPULAN DAN SARAN didapat nilai hash yang sama untuk


Beberapa kesimpulan dapat diperoleh input masukan yang berbeda.
selama penelitian ini adalah: 3. Diperlukan Web Server untuk
1. Message Digest 5 (MD5) memanggil fungsi MHASH pada
merupakan fungsi Hash satu arah PHP karena script PHP bersifat
yang mengubah masukan berupa embedded dan hanya bisa di
variabel menjadi keluaran berupa eksekusi pada sisi server.
nilai hash dalam bentuk umum 4. Sumber daya komputer dan jaringan
heksadesimal dengan panjang tetap komputer berpengaruh terhadap
yaitu 128 Bit dengan ukuran blok 16 kecepatan enkripsi.
bytes. Saran yang bisa diberikan untuk
2. Input data yang sama, setelah penelitian ini adalah untuk
dilakukan enkripsi akan mendapatkan nilai hash yang powerfull
menghasilkan nilai hash yang sama. dan sulit dilakukan pelacakkan karena
Itu berarti bahwa tidak mungkin salah satu cara untuk membongkar atau
mengetahui data dibalik nilai hash

17
adalah melalui Brute-Force atau Irvan Prama Defindal., “Penggunaan
Enkripsi dalam PHP Menggunakan
pelacakan terbalik. Untuk itu aplikasi
Library MHASH”., ITB
MD5 dapat dikombinasikan atau
J. Castagnetto, H. Rawat, S. Schumann,
digabung dengan algoritma kriptografi
C. Scollo, D. Veliath., “Professional
lainnya sehingga didapat aplikasi PHP Programming”., Wrox Press.,
1999.
kriptografi yang lebih handal.
Pfleeger, Charles P, “Security in
Computing Second Edition”., Prentice-
DAFTAR PUSTAKA
Hall International., New Jersey., 1997.
A. Menezes, P. Van Oorschot, S.
Vanstone., “Handbook of applied http://en.wikipedia.org/wiki/md5
Cryptography”., CRC Press., 1996. http://mhash.sourceforge.net/
http://md5.rednoize.com/
B. Schneider, “Applied Cryptography”., http://www.cryptography.org/
John Wiley & Sons., New York., 1994. http://www.md5encryption.com/

Didik Dwi Prasetyo., “PHP dan


MySQL”., Elex Media Komputindo.,
Jakarta., 2003.

18

Anda mungkin juga menyukai