Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

dokumen-dokumen yang mirip
MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

PERANCANGAN PEMBANGKIT TANDA TANGAN DIGITAL MENGGUNAKAN DIGITAL SIGNATURE STANDARD (DSS) Sudimanto

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

Serangan (Attack) Terhadap Kriptografi

Bab 2 Tinjauan Pustaka

ANALISA KRIPTOGRAFI KUNCI PUBLIK RSA DAN SIMULASI PENCEGAHAN MAN-IN-THE-MIDDLE ATTACK DENGAN MENGGUNAKAN INTERLOCK PROTOCOL

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Tanda Tangan Digital Dengan Menggunakan SHA-256 Dan Algoritma Knapsack Kunci-Publik

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Implementasi Tandatangan Digital Kunci-Publik pada Berkas Gambar dengan Format JPEG

PENGGUNAAN FUNGSI HASH SATU-ARAH UNTUK ENKRIPSI DATA

Key Strengthening Menggunakan KD5 Eko Budhi Susanto 1

BAB 2 TINJAUAN PUSTAKA

IMPLEMENTASI ALGORITMA TEA DAN FUNGSI HASH MD4 UNTUK ENKRIPSI DAN DEKRIPSI DATA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

BAB 2 LANDASAN TEORI

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

Kriptografi. A. Kriptografi. B. Enkripsi

Cryptography. Abdul Aziz

BAB I PENDAHULUAN. 1.1 Latar Belakang

Pengamanan Sistem Login Aplikasi Menggunakan Protokol ID Based Diffie-Hellman Key Agreement

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

DESAIN DAN IMPLEMENTASI PROTOKOL KRIPTOGRAFI UNTUK APLIKASI SECURE CHAT PADA MULTIPLATFORM SISTEM OPERASI

K i r p i t p o t g o ra r f a i

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB 2 LANDASAN TEORI

Implementasi Algoritma Rot Dan Subtitusional Block Cipher Dalam Mengamankan Data

Modifikasi Kriptografi One Time Pad (OTP) Menggunakan Padding Dinamis dalam Pengamanan Data File

IMPLEMENTASI ALGORITMA SEAL PADA KEAMANAN DATA

BAB I PENDAHULUAN. memungkinkan pengguna untuk saling bertukar file maupun data, bahkan dalam

BAB II TINJAUAN PUSTAKA

KRIPTOGRAFI PADA FILE AUDIO MP3 MENGGUNAKAN METODE PENGEMBANGAN TRANSPOSISI

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

ALGORITMA LOGICAL CIPHER

BAB I PENDAHULUAN. format digital dan merniliki beragam bentuk dalam hal ini data atau informasi di

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS JAVA SWING

BAB I PENDAHULUAN 1.1 Latar Belakang

IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. untuk mencegah informasi tersebut sampai pada pihak-pihak lain yang tidak

ANALISIS KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE CIPHER DENGAN MODE OPERASI CIPHER BLOCK CHAINING (CBC)

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

Implementasi dan Analisis Perbandingan Algoritma MAC Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher Block

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS WEB

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB III ANALISA MASALAH DAN SISTEM

IMPLEMENTASI ALGORITMA HILL CIPHER DALAM PENYANDIAN DATA

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

PENGAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA STREAM CIPHER SEAL

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

PENERAPAN ALGORITMA CAESAR CIPHER DAN ALGORITMA VIGENERE CIPHER DALAM PENGAMANAN PESAN TEKS

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

Otentikasi dan Tandatangan Digital (Authentication and Digital Signature)

APLIKASI SECURE e-election DENGAN MEMANFAATKAN FUNGSI KRIPTOGRAFI DAN TEKNOLOGI FINGERPRINT UNTUK MENDUKUNG e-democracy

PERANCANGAN APLIKASI PENYANDIAN TEKS DENGAN METODE MULTIPLE XOR

(S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT

IMPLEMENTASI ALGORITMA KEYED-HASH MESSAGE AUTHENTICATION CODE (HMAC) PADA PESAN TEKS BERBASIS CHATTING

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

Algoritma MAC Berbasis Jaringan Syaraf Tiruan

Studi dan Implementasi Algoritma RSA dan MD5 pada Aplikasi Digital Signature (Studi Kasus pada Sistem Akademik Terpadu (SIAP) STMIK Sumedang)

ENKRIPSI AFFINE CIPHER UNTUK STEGANOGRAFI PADA ANIMASI CITRA GIF

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

DESAIN KRIPTOGRAFI CBC MODIFIKASI PADA PROSES PENGAMANAN PESAN MELALUI

APLIKASI ENKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA GINGERBREADMAN MAP. Suryadi MT 1 Tony Gunawan 2. Abstrak

BAB III ANALISIS DAN DESAIN SISTEM

IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) UNTUK ENKRIPSI DAN DEKRIPSI PADA DOKUMEN TEKS ABSTRAK

Disusun oleh: Ir. Rinaldi Munir, M.T.

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

Perancangan Algoritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis 256 Bit Pada Pola Papan Dart

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

Teknik Konversi Berbagai Jenis Arsip ke Dalam bentuk Teks Terenkripsi

BAB III ANALISIS DAN PERANCANGAN SISTEM

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

IMPLEMENTASI ALGORITMA VERTICAL BIT ROTATION PADA KEAMANAN DATA NASABAH ( STUDI KASUS : PT. ASURANSI ALLIANZ LIFE INDONESIA )

Dasar-Dasar Keamanan Sistem Informasi

BAB I PENDAHULUAN. dari isinya, informasi dapat berupa penting atau tidak penting. Bila dilihat dari sifat

BAB II. Dasar-Dasar Kemanan Sistem Informasi

ANALISA DAN IMPLEMENTASI ALGORITMA TRIANGLE CHAIN PADA PENYANDIAN RECORD DATABASE

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN. manusia dengan komputer untuk memudahkan membantu penyelesaian dan

PENERAPAN KEAMANAN BASIS DATA DENGAN TEKNIK ENKRIPSI. Hari Purwanto, Manajemen Informatika, Fakultas Teknologi Industri, Universitas Suryadarma

Transkripsi:

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password Inayatullah STMIK MDP Palembang inayatullah@stmik-mdp.net Abstrak: Data password yang dimiliki oleh pengguna harus dapat dijaga keamanannya. Salah satu cara untuk menjaga keamanan password tersebut dengan menggunakan fungsi hash. Fungsi hash yang banyak digunakan adalah algoritma MD5. Data password yang disimpan tidak sama dengan data password yang diisikan. Data password sudah dalam bentuk pesan ringkas (message digest) hasil pengolahan fungsi hash sehingga data password hanya diketahui oleh pembuat itu sendiri. Waktu yang dibutuhkan untuk pencarian kunci dalam MD5 cukup lama. Kata Kunci: Kriptografi, Password, Fungsi Hash, Algoritma MD5. 1 PENDAHULUAN Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi. Jika berbicara mengenai masalah keamanan yang berkaitan dengan penggunaan komputer, maka sulit memisahkannya dengan kriptografi. Kriptografi bertujuan untuk memberikan layanan keamanan, termasuk keamanan untuk menjaga password. Data password yang dimiliki harus dapat dijaga atau dilindungi kerahasiaanya. Jangan sampai data password yang ada, jatuh ke tangan orang-orang yang tidak berhak atau berkepentingan. Password biasa digunakan untuk layanan otentikasi, baik otentikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). Untuk menjaga keamanan password dapat dilakukan dengan menyandikan password (plaintext) tersebut menjadi ciphertexts dengan cara di enkripsi atau enciphering (standar nama menurut ISO 7498-2). Sedangkan proses mengembalikan ciphertexts menjadi plaintexts (password) semula dinamakan dekripsi. Selain dengan menggunakan penyandian, untuk menjaga keamanan password dapat juga dengan menggunakan fungsi hash. 2 TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani cryptos artinya secret (rahasia), sedangkan graphein artinya writing (tulisan). Jadi kriptografi berarti secret writing (tulisan rahasia). Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (Bruce Schneier, 1996). Dalam kriptografi sering ditemukan istilah atau terminologi, seperti pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks (plaintext) atau teks jelas (cleartext). Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran telekomunikasi, dsb) atau yang disimpan di dalam media perekaman (kertas, storage, dsb). Pesan yang tersimpan tidak hanya berupa teks, tetapi dapat berbentuk citra (image), suara (audio), dan video, atau berkas biner lainnya. Supaya pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk yang tersandi disebut ciphertext atau kriptogram yang harus bisa ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca. Gambar 1 memperlihatkan enkripsi dan dekripsi. Hal - 1

h = H(M) Gambar 1: Proses Enkripsi dan Dekripsi 2.2 Password Password atau kata sandi dapat digunakan untuk layanan otentikasi, yaitu layanan yang berhubungan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication ) maupun mengidentifikasi kebenaran sumber pesan. Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan. Otentikasi sumber pesan secara implisit juga memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar. Gambar 2 memperlihatkan skema password. Keluaran fungsi hash disebut juga nilai hash (hash-value) atau pesan-ringkas (message digest). Pesan ringkas dinyatakan dalam kode heksadesimal yang panjangnya 128 bit. Satu karakter heksadesimal = 4 bit. Dua pesan yang berbeda akan selalu menghasilkan nilai hash yang berbeda pula. Sifat-sifat fungsi hash: 1. Fungsi H dapat diterapkan pada blok data berukuran berapa saja. 2. H menghasilkan nilai (h) dengan panjang tetap. 3. H(x) mudah dihitung untuk setiap nilai x yang diberikan. 4. Untuk setiap h yang diberikan, tidak mungkin menemukan x sedemikian sehingga H(x)=h. Itulah sebabnya fungsi H dikatakan fungsi hash satu arah. 2.4 Algoritma MD5 Fungsi hash yang banyak digunakan dalam kriptografi MD5 dan SHA. Dalam artikel ini fungsi hash yang digunakan algoritma MD5. MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit. Langkah-langkah dalam pembuatan message digest secara garis besar adalah sebagai berikut: 1. Penambahan bit-bit pengganjal (padding bits). 2. Penambahan nilai panjang pesan semula. 3. Inisialisasi penyangga (buffer) MD. 4. Pengolahan pesan dalam blok berukuran 512 bit. 2.3 Fungsi Hash Gambar 2: Skema Password Fungsi hash adalah fungsi yang menerima masukan string yang panjangnya sembarang dan mengkonversinya menjadi string keluaran yang panjangnya tetap (fixed). Fungsi hash dapat menerima masukkan string apa saja. Jika string menyatakan pesan (message), maka sembarang pesan M berukuran bebas dikompresi oleh fungsi hash H melalui persamaan: 2.5 Kompleksitas Serangan Kompleksitas serangan dapat diukur dengan beberapa cara, antara lain kompleksitas data, kompleksitas waktu, dan kompleksitas memori. 1. Kompleksitas data (data complexity) Jumlah data (plainteks dan cipherteks) yang dibutuhkan sebagai masukan untuk serangan. Semakin banyak data yang dibutuhkan untuk melakukan serangan, semakin kompleks Hal - 2

serangan tersebut, yang berarti semakin bagus sistem kriptografi tersebut. 2. Kompleksitas waktu (time complexity) Waktu yang dibutuhkan untuk melakukan serangan. Semakin lama waktu yang dibutuhkan untuk melakukan serangan, berarti semakin bagus sistem kriptografi tersebut. 3.2 Aplikasi Bahasa pemrograman yang digunakan Microsoft Visual Basic versi 6.0, database yang digunakan MS. Access 2003. Tabel 1: Waktu yang Diperlukan Exhaustive Key Search Ukuran Kunci Jumlah Kemungkinan Kunci 16 bit 216 = 65536 32 bit 56 bit 128 bit 232 = 4,3 x 109 256 = 7.2 x 1016 2128 = 4.3 x 1038 Lama Waktu Untuk 106 Percobaan per Detik 32.7 milidetik Lama Waktu Untuk 1012 Percobaan per Detik 0.0327 mikrodetik 35.8 menit 2.15 milidetik 1142 tahun 10.01 jam 5.4 x 1024 tahun 5.4 x 1018 tahun 3. Kompleksitas ruang memori (space/storage complexity) Jumlah memori yang dibutuhkan untuk melakukan serangan. Semakin banyak memori yang dibutuhkan untuk melakukan serangan, berarti semakin bagus sistem kriptografi tersebut. 3.3 Perangkat Gambar 4: Tampilan Aplikasi Komputer dengan spesifikasi Pentium 3, RAM 128, sistem operasi Windows XP SP 1, dan Harddisk 20 GB. 3.4 Proses Pengisian dan Penyimpanan data Password Untuk proses pengisian dan penyimpanan data password, melalui tahap sebagai berikut: 3 PEMBAHASAN 3.1 Sumber Data Sumber data yang akan digunakan dalam tulisan ini berupa data alfanumerik. Gambar 5: Alur Proses Pembuatan Password Gambar 3: Sumber Data yang Digunakan Penjelasan: 1. Jika data password belum ada, pengguna melakukan registrasi. Jika data sudah ada pengguna bisa langsung melakukan login. Hal - 3

Pengguna memasukan password sesuai dengan data pada waktu registrasi. Data password yang diisikan diubah oleh aplikasi menjadi pesan ringkas (message digest). Pesan ringkas dari data password yang telah diisikan disamakan dengan data password yang telah disimpan dalam database. Jika h = h maka password yang diisikan benar. Gambar 6: Pengguna Melakukan Registrasi h = pesan ringkas h = pesan ringkas dalam database h = h => password benar 2. Data password yang diisikan mengalami perubahan dalam bentuk pesan ringkas dengan fungi hash. M = Data password H = Fungsi Hash h = Pesan ringkas h = H(M) Data password yang disimpan sudah merupakan message digest (pesan ringkas) dari hasil pengolahan fungsi hash terhadap password yang diisikan oleh pengguna atau user. Pesan ringkas yang dihasilkan dengan panjang 128 bit atau 32 karakter heksadesimal. Gambar 8: Tampilan Login Dengan Password yang Benar Jika h <> h maka password yang diisikan tidak benar atau salah. h = pesan ringkas h = pesan ringkas dalam database h <> h => password salah 3.6 Analisis Gambar 7: Data Password yang Telah Diubah 3.5 Pengujian Data Pengujian data dilakukan untuk mengetahui keakuratan program dalam implementasinya. 1. Data password yang digunakan dapat berupa data alfanumerik, sehingga tidak mengganggu pengguna dalam membuat password. Pengguna dapat membuat password dengan alfabet, numerik atau gabungan keduanya. 2. Data password yang disimpan bukan lagi data password yang sama dengan data password yang diisikan sehingga data password yang dimiliki oleh pengguna hanya diketahui oleh pengguna itu sendiri jadi untuk kerahasiaannya lebih terjamin. 3. Kompleksitas waktu yang dimiliki baik. Berdasarkan teknik yang digunakan dalam menemukan kunci (exhaustive attack atau Hal - 4

brute force attack), semakin panjang kunci semakin lama waktu yang dibutuhkan untuk pencarian kunci sehingga semakin bagus sistem kriptografi tersebut (Tabel 1 halaman 3). 4 KESIMPULAN Berdasarkan hasil dari ujicoba dan pembahasan di atas, maka kesimpulan yang didapat sebagai berikut: Algoritma MD5 dapat digunakan atau diterapkan untuk pengamanan password dari pengguna dalam suatu database. Semakin besar ukuran kunci, semakin lama waktu yang dibutuhkan untuk melakukan pencarian terhadap kunci. Pengguna harus mengingat password yang telah dibuat, karena password yang disimpan telah mengalami perubahan menjadi pesan ringkas (message digest) yang berbeda dengan aslinya. DAFTAR PUSTAKA [1] Halvorson, M., 2001. Visual Basic 6, Jakarta: Elex Media Komputindo. [2] Kurniawan, Yusuf, 2004. Kriptografi Keamanan Internet dan Jaringan Komunikasi, Bandung: Informatika. [3] Menezes, A., Oorschot, P. van & Vanstone, S., 1997. Handbook of Applied Cryptography, USA: CRC Press INC. [4] Munir, R., 2006. Kriptografi, Bandung: Informatika. [5] Stalling, W., 1985. Data and Computer Communication, Fourth Edition, USA: Prentice Hall. Hal - 5