• Tidak ada hasil yang ditemukan

APLIKASI KRIPTOGRAFI SEDERHANA MENGGUNAKAN FUNGSI HASHING (MD5) PADA MODUL PHP

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI KRIPTOGRAFI SEDERHANA MENGGUNAKAN FUNGSI HASHING (MD5) PADA MODUL PHP"

Copied!
10
0
0

Teks penuh

(1)
(2)

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

Perkembangan teknologi dewasa ini mengarah pada pemanfaatan teknologi informasi untuk mendukung aktifitas pertukaran data dari satu tempat ke tempat lain menggunakan perangkat

komputer melalui suatu jaringan komputer. Jaringan komputer termasuk kedalam infrastruktur teknologi informasi yang digunakan sebagai sarana untuk pertukaran data dan informasi. Teknologi ini menjadi suatu

(3)

11 kebutuhan yang sangat penting untuk

mendukung aktifitas individu maupun kelompok dalam bertukar informasi. Internet adalah representasi dari teknologi jaringan komputer. Meskipun bukan satu-satunya media untuk pertukaran data dan informasi, internet paling sering digunakan untuk pertukaran data. Media internet ini bersifat terbuka, maksudnya adalah setiap data yang melewati jaringan komputer bisa dibaca oleh siapa saja menggunakan teknik-teknik pemro- graman tertentu. Untuk itu diperlukan aplikasi keamanan agar kerahasiaan, otentikasi, integritas, dan non-repudiasi data pada saat proses pengiriman dan penerimaan data tetap terjaga. Kerahasiaan berarti bahwa data yang melalui jaringan komputer tidak dapat dibaca oleh orang yang tidak berkepentingan terhadap data tersebut. Otentikasi berarti memberikan jaminan mengenai keaslian data. Integritas berarti memberikan jaminan bahwa data tidak mengalami perubahan sewaktu melewati jaringan komputer, dengan kata lain data yang diterima sama dengan data yang dikirim. Non-repudiasi berarti pengirim data tidak dapat menyangkal bahwa data yang dikirim bukan darinya.

Ada beberapa permasalahan yang perlu dipertimbangkan untuk membuat sebuah aplikasi keamanan data yang baik, yaitu diperlukan biaya yang cukup tinggi untuk rekayasa perangkat lunak aplikasi keamanan data, pemilihan metode kriptografi yang tepat dan sesuai digunakan untuk aplikasi yang akan direkayasa, dan kecenderungan pemrograman internet menggunakan fungsi hashing yaitu salah satu bagian dari fungsi kriptografi satu arah yang siap pakai dan biasa disediakan sebagai modul pelengkap pada library bahasa pemrograman tertentu.

Mengacu pada permasalahan tersebut akan dikembangkan sebuah aplikasi keamanan data dengan usulan yang di ajukan adalah pembangunan sebuah aplikasi berbasis web sederhana untuk mengenkripsi data berupa string menggunakan fungsi hash MD5 dengan memanfaatkan library PHP, yaitu MHASH. String data yang akan di enkripsi di input dari sebuah form pada sisi Client dan diproses di Server, dengan output berupa nilai hash atau hasil enkripsi dalam bentuk binary dan heksadesimal besera ukuran bloknya.

(4)

12 II. LANDASAN TEORI

Kriptografi

Kriptografi berasal dari bahasa Yunani, Cryptos (tersembunyi) dan Grafos (tulisan). Secara umum kriptografi berarti suatu cara melalui perhitungan matematika dengan tujuan untuk menjaga nilai suatu informasi agar tidak dimanfaatkan oleh pihak yang tidak berhak atas informasi tersebut. Kegiatan kriptografi lebih kearah melakukan pengacakan atau masking data sedemikian rupa sehingga data tersebut tidak bisa dibaca oleh pihak ketiga. Dalam Kriptografi dikenal istilah Enkripsi (Encryption) dan Deskripsi (Decryption). Enkripsi adalah proses pengacakan Plaintext (data sebelum diacak) menjadi Ciphertext (hasil pengacakan). Sedangkan Deskripsi adalah proses mengembalikan Ciphertext ke Plaintext. Dalam kriptografi terdapat sebuah fungsi yang sesuai digunakan untuk keperluan aplikasi keamanan seperti otentikasi dan integritas pesan, yaitu fungsi hash. Fungsi Hashing

Fungsi hash adalah sebuah fungsi hasil dari suatu persamaan matematika yang mengambil input berupa variable dengan panjang variabel (preimage) bervariasi dan merubahnya menjadi

variable baru yang unik dengan panjang tetap (biasanya lebih pendek atau berukuran jauh lebih kecil daripada ukuran semula) melalui persamaan

(M) H

h dimana h adalah nilai hash dari fungsi H untuk masukan string M, keluarannya biasa disebut nilai hash dan direpresentasikan dalam bilangan heksadesimal. Fungsi hash berjalan hanya satu arah. Fungsi satu-arah (one-way function) adalah fungsi hash yang bekerja dalam satu arah, yaitu pesan yang sudah diubah menjadi message digest tidak dapat dikembalikan menjadi pesan semula dengan kata lain untuk menghitung nilai hash dari pre-image tidaklah sulit, tetapi sangat sulit untuk membangkitkan pre-image dari nilai hash-nya. Metode fungsi hash satu arah ini berfungsi melindungi data dari modifkasi selama data berada dalam jaringan.

Salah satu aplikasi fungsi hash diantaranya adalah untuk memverifikasi kesamaan salinan suatu arsip dengan arsip asli yang tersimpan di dalam sebuah basis data terpusat. Biasanya yang diverifikasi hanya nilai hash-nya saja, karena jika melakukan verifikasi arsip secara keseluruhan akan membutuhkan waktu transmisi cukup lama dan biaya yang tinggi.

(5)

13 Library MHASH

Fungsi Hashing memiliki banyak ragam, salah satunya Mhash. Mhash sendiri mendukung beragam algoritma fungsi hashing dan disimpan sebagai pustaka pada Library Mhash seperti Adler32, CRC32, CRC32B, Gost, Hava128, Haval160, Haval192, Haval256, MD4, MD5, Ripemd160, Ripemd128, SHA1, SHA256, Tiger, Tiger128, dan Tiger160. Sedangkan untuk pembangkitan kunci, library

Mhash mendukung proses

pembangkitan kunci dari Mcrypt, Asis, Hex, Pkdes, Simple, Salted, dan Isalted. Library Mhash yang paling banyak digunakan dalam keamanan jaringan komputer dan internet adalah MD5 atau messagedigest5.

Message Digest 5

Dalam sudut pandang ilmu kriptografi, MD5 adalah rangkaian algoritma Message Digest dan termasuk ke dalam Fungsi Hash satu arah. MD5 dirancang oleh Ron Rivest yang juga merupakan salah satu pengembang algoritma RSA pada tahun 1991 dengan tujuan untuk keamanan data. MD5 merupakan perbaikan dari MD4 setelah ditemukan kelemahannya oleh Cryptanalysis, yaitu sebutan untuk pihak ketiga yang selalu mencari kelemahan setiap fungsi

kriptografi dengan cara memecahkan Kunci Deskripsi.

MD5 bekerja dengan cara mengolah data masukan kedalam blok-blok bit sebanyak 512 bit dan dibagi kedalam 16 subblok berukuran 32 bit. Keluaran MD5 di set menjadi 4 blok yang masing-masing berukuran 32 bit, setelah digabungkan akan membentuk nilai hash 128 bit. Secara perhitungan matematis penggunaan MD5 tidak memungkinkan untuk mendapatkan dua pesan berbeda dengan nilai hash yang sama. Algoritma MD5 A B C D A B C D <<<.s F Mi Ki Gambar 1. Algoritma MD5. Algortima MD5 beroperasi pada kondisi 128-bit, dibagi menjadi empat word 32-bit pada A, B, C dan D. Operasi tersebut di inisialisasi dijaga untuk tetap konstan. Algoritma utama

(6)

14 kemudian beroperasi pada

masing blok pesan 512-bit, masing-masing blok melakukan pengubahan terhadap kondisi pesan. Tahapan pemrosesan blok pesan yaitu batasan putaran dimana tiap putaran membuat 16 operasi serupa berdasar pada fungsi non-linier F, tambahan modular, dan melakukan rotasi ke kiri. Fungsi kompresi yang digunakan oleh algoritma md5 adalah s) K[i] M[i] d) c, g(b, (a b a      

dimana g adalah salah fungsi primitif pada F yaitu: Z) (X Y Z) Y, I(X, Z Y X Z) Y, H(X, Z) (Y Z) (X Z) Y, G(X, Z) X ( Y) (X Z) Y, F(X,                    

, , , adalah operasi logika untuk XOR, AND, OR dan NOT, sehingga ada empat macam kemungkinan fungsi non-linier yang digunakan pada tiap-tiap putaran.

PHP Hypertext Preprocessor

PHP merupakan server-side embedded scripting language, yaitu bahasa berupa skrip pemrograman yang dapat disisipkan pada dokumen HTML dan bekerja pada lingkungan server seperti Apache dan IIS. Semua sintaks PHP pada dokumen HTML dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja. Alasan

penggunaan PHP sebagai web scripting adalah kesederhanaan (simplicity) dan memiliki banyak modul yang disimpan pada pustaka PHP dengan ektensi DLL. Ektensi DLL pada modul PHP bersifat third party dan dapat dipanggil pada skrip PHP sebagai sebuah fungsi. Fungsi-fungsi yang ada pada PHP salah satunya adalah fungsi MHASH untuk enkripsi data menggunakan metoda Hashing.

III. METODE PENELITIAN

Metodologi penelitian yang dilakukan pada penelitian ini adalah sebagai berikut:

1. Studi Literatur, studi literatur dilakukan sebelum memulai penelitian melalui buku-buku, jurnal-jurnal, dan artikel-artikel yang berhubungan dan menunjang penelitian ini.

2. Pembuatan Program Aplikasi, hasil yang didapat pada studi literatur diterjemahkan menjadi suatu rancangan antarmuka interaksi untuk memasukkan nilai string yang akan di enkripsi dan diimplementasikan menjadi program aplikasi untuk memproses nilai masukan menggunakan metode hashing MD5.

(7)

15 3. Pengujian, pengujian dilakukan

terhadap hasil implementasi program aplikasi yang dikembangkan. Jika pada saat pengujian ditemukan kekurangan maka dilakukan studi literatur dan memperbaiki program aplikasi yang dibuat hingga tujuan yang ingin dicapai terpenuhi.

IV. HASIL DAN PEMBAHASAN Hasil dan pembahasan dalam penelitian ini di representasikan melalui beberapa tahapan yaitu:

1. Melakukan analisis terhadap proses enkripsi dari suatu nilai input sehingga menghasilkan suatu nilai hash.

2. Menyusun hasil analisis kedalam pemodelan sistem.

3. Pengkodean yaitu menulis script PHP sampai menghasilkan antarmuka pengguna.

4. Setting atau pengaturan web server dan modul-modul yang diperlukan. 5. Pengujian terhadap aplikasi yang

dibuat.

Analisis Proses Enkripsi

Dari analisis diperoleh kebutuhan sistem diantaranya yaitu:

1. Dialog layar berupa form untuk memasukkan data yang akan di-enkripsi.

2. Dialog layar untuk menampilkan hasil enkripsi dari data yang di-input pada form masukkan.

3. Diperlukan suatu file pada modul PHP yang berguna untuk melakukan hashing yaitu php_mhash.dll. Pemodelan Sistem

Pemodelan sistem dilakukan terhadap kinerja sistem dalam melakukan proses enkripsi suatu data. Adapun alur proses enkripsi digambarkan pada gambar berikut: Enkripsi Hash Value Data Fungsi MHASH Library PHP

Gambar 2. Alur Proses Enkripsi Pengkodean

Tahapan ini melakukan penyusunan skrip php untuk mengimplementasikan rancangan sesuai pemodelan sistem yaitu implementasi proses enkripsi. Kegiatan tahapan ini adalah:

(8)

16 2. Membuat skrip pemanggilan dan

pemrosesan fungsi hash menggunakan MD5.

3. Membuat skrip pemrosesan menggunakan metode hashing lain. 4. Membuat antarmuka hasil enkripsi. Hasil dari perancangan dan pengembangan serta instalasi sistem, akan diperoleh sebuah aplikasi kriptografi sederhana menggunakan fungsi hashing (MD5) pada modul php. Gambar 3 menunjukkan antarmuka untuk melakukan input data yang akan di enkripsi, sedangkan gambar 4 menunjukkan hasil proses enkripsi terhadap data yang di-input pada gambar 3.

Gambar 3. Antarmuka Input Data Pengaturan Web Server

Intalasi PHP diperlukan agar sistem yang dibuat dapat berjalan pada web server. Web server yang digunakan adalah Apache. Untuk mempermudah

instalasi dan pengaturan PHP dan Apache ini digunakan WampServer yang sudah terintegrasi dengan cukup baik. Karena pada tahapan analsis diperlukan suatu file pada modul PHP yang berguna untuk melakukan hashing yaitu php_mhash.dll maka modul ini harus diaktifkan terlebih dahulu melalui Php Extensions pada config file php.ini. Pengujian Aplikasi

Pengujian aplikasi ini dilakukan terhadap aplikasi kriptografi menggunakan MD5 yang dibuat dengan memasukkan bermacam input data sehingga dihasilkan suatu nilai hash.

Kasus 1

Dicoba untuk melihat nilai hash 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 Kasus 4

Mencoba untuk melihat nilai hash untuk nilai input yang lebih panjang yaitu „Teknik Informatika Fakultas Teknik Universitas Siliwangi Tasikmalaya‟. Hasilnya:

(9)

17 Gambar 4. Tampilan Hasil Pemrosesan

V. KESIMPULAN DAN SARAN Beberapa kesimpulan dapat diperoleh selama penelitian ini adalah:

1. Message Digest 5 (MD5) merupakan fungsi Hash satu arah yang mengubah masukan berupa variabel menjadi keluaran berupa nilai hash dalam bentuk umum heksadesimal dengan panjang tetap yaitu 128 Bit dengan ukuran blok 16 bytes.

2. Input data yang sama, setelah dilakukan enkripsi akan menghasilkan nilai hash yang sama. Itu berarti bahwa tidak mungkin

didapat nilai hash yang sama untuk input masukan yang berbeda.

3. Diperlukan Web Server untuk memanggil fungsi MHASH pada PHP karena script PHP bersifat embedded dan hanya bisa di eksekusi pada sisi server.

4. Sumber daya komputer dan jaringan komputer berpengaruh terhadap kecepatan enkripsi.

Saran yang bisa diberikan untuk penelitian ini adalah untuk mendapatkan nilai hash yang powerfull dan sulit dilakukan pelacakkan karena salah satu cara untuk membongkar atau mengetahui data dibalik nilai hash

(10)

18 adalah melalui Brute-Force atau

pelacakan terbalik. Untuk itu aplikasi MD5 dapat dikombinasikan atau digabung dengan algoritma kriptografi lainnya sehingga didapat aplikasi kriptografi yang lebih handal.

DAFTAR PUSTAKA

A. Menezes, P. Van Oorschot, S. Vanstone., “Handbook of applied Cryptography”., CRC Press., 1996.

B. Schneider, “Applied Cryptography”., John Wiley & Sons., New York., 1994.

Didik Dwi Prasetyo., “PHP dan MySQL”., Elex Media Komputindo., Jakarta., 2003.

Irvan Prama Defindal., “Penggunaan Enkripsi dalam PHP Menggunakan Library MHASH”., ITB

J. Castagnetto, H. Rawat, S. Schumann, C. Scollo, D. Veliath., “Professional PHP Programming”., Wrox Press., 1999.

Pfleeger, Charles P, “Security in Computing Second Edition”., Prentice-Hall International., New Jersey., 1997.

http://en.wikipedia.org/wiki/md5 http://mhash.sourceforge.net/ http://md5.rednoize.com/ http://www.cryptography.org/ http://www.md5encryption.com/

Gambar

Gambar 2. Alur Proses Enkripsi  Pengkodean
Gambar  3  menunjukkan  antarmuka  untuk  melakukan  input  data  yang  akan  di  enkripsi,  sedangkan  gambar  4  menunjukkan  hasil  proses  enkripsi  terhadap  data  yang  di-input  pada  gambar 3

Referensi

Dokumen terkait

Dengan begitu, enigma baru yang mengiringi lahirnya bangsa baru tersebut sesungguhnya berpusar pada konflik nilai yang muncul akibat dari perbedaan filsafat nilai monisme (yang

bahwa sehubungan dengan penataan organisasi perangkat daerah, maka Keputusan Walikota Surabaya Nomor 47 Tahun 2003 tentang Nomor Kode Lokasi dan Nomor Kode Barang Daerah

ƒ Disebabkan karena sinyal pada frekuensi yang berbeda tersebar pada medium transmisi yang sama, sehingga menghasilkan sinyal pada suatu frekuensi yang merupakan penjumlahan atau

ISO 26000 mengakui untuk mendapatkan kredibilitas yang tinggi, suatu laporan tanggung jawab sosial harus mencakup kinerja tanggung jawab sosial organisasi berdasarkan objektifnya,

Sudah saatnya HIMA MEKA sebagai salah satu organisasi kemahasiswaan yang bergerak dalam bidang keprofesian Teknik mekatronika harus memiliki sistem

Trombosis hemorrhoid adalah kejadian yang biasa terjadi dan dapat dijumpai timbul pada pleksus analis eksternus di bawah tunika mukosa epitel gepeng, di dalam pleksus

Maksud pemerintah untuk menyederhanakan perhitungan pajak demi mempermudah perhitungan pajak merupakan suatu hal yang positif, namun dibalik itu implementasi SAK ETAP

Hasil ini sesuai dengan nilai- nilai serapan CO 2 terhadap jenis-jenis pohon dari penelitian lain yang juga bervariasi antara species yang berbeda pada kondisi lingkungan tropis,