FUNGSI HASH
Fungsi
HASH
Sebuah fungsi hash
adalah fungsi yang dapat digunakan untuk memetakan data ukuran sewenang-wenang untuk data ukuran tetap.
Nilai-nilai yang dikembalikan oleh fungsi hash disebut nilai hash, kode
hash, jumlah hash, atau
hanya hash. Salah satu penggunaan adalah struktur data yang disebut tabel hash, banyak digunakan dalam
perangkat lunak komputer
untuk cepat lookup data. Fungsi hash table mempercepat atau database lookup dengan
mendeteksi catatan digandakan dalam file besar. Contoh adalah menemukan
membentang serupa di urutan DNA. Mereka juga berguna dalam kriptografi. Sebuah
fungsi hash kriptografi memungkinkan seseorang untuk dengan mudah memverifikasi
bahwa beberapa data masukan peta dengan nilai hash yang diberikan, tetapi jika
input data tidak diketahui, itu adalah sengaja sulit untuk merekonstruksi (atau
alternatif setara) dengan mengetahui nilai hash yang tersimpan. Ini digunakan
untuk menjamin integritas data yang ditransmisikan, dan merupakan blok bangunan
untuk HMACs, yang menyediakan otentikasi pesan.
Dalam Kriptografi, MD5
(Message-Digest algorithm 5) adalah banyak digunakan fungsi hash kriptografi
dengan nilai hash 128-bit. Sebagai standar Internet (RFC 1321), MD5 telah
digunakan dalam berbagai macam aplikasi keamanan, dan juga biasa digunakan
untuk memeriksa integritas file. MD5 dirancang oleh Ronald Rivest pada tahun
1991 untuk menggantikan fungsi hash sebelumnya, MD4. Pada tahun 1996, sebuah
cacat telah ditemukan dengan desain; sementara itu tidak kelemahan jelas fatal,
pengguna kriptografi mulai menganjurkan menggunakan algoritma lain, seperti
SHA-1 (klaim terbaru menunjukkan bahwa SHA-1 rusak, namun). Pada tahun 2004,
kelemahan yang lebih serius ditemukan menyebabkan penggunaan algoritma untuk
tujuan keamanan dipertanyakan. Hal ini sekarang dikenal bagaimana, dengan
bekerja beberapa jam ', menghasilkan tabrakan MD5. Artinya, untuk menghasilkan
dua string byte dengan hash yang sama. Karena ada jumlah terbatas output MD5
(2128), tetapi jumlah tak terbatas masukan mungkin, telah lama diketahui bahwa
tabrakan tersebut harus ada, tetapi itu telah sebelumnya diyakini impractically
sulit untuk menemukan satu. Hasilnya adalah bahwa hash MD5 dari yang beberapa
informasi tidak lagi unik mengidentifikasi itu. Jika saya hadir Anda dengan
informasi seperti kunci publik, hash MD5 yang tidak mungkin secara unik
mengidentifikasi itu; Saya mungkin memiliki kunci publik kedua dengan hash MD5
yang sama. Namun, serangan ini membutuhkan kemampuan untuk memilih kedua pesan
tumbukan. Mereka tidak membuatnya mudah untuk melakukan serangan preimage,
menemukan pesan dengan hash MD5 yang ditentukan, atau serangan preimage kedua,
menemukan pesan dengan hash MD5 yang sama sebagai pesan yang diberikan. Dengan
demikian, hash MD5 lama, dibuat sebelum serangan ini dikenal, aman untuk saat
ini. Secara khusus, tanda tangan digital lama masih dapat dianggap handal.
Seorang pengguna mungkin tidak ingin menghasilkan atau percaya apapun tanda
tangan baru menggunakan MD5 jika ada kemungkinan bahwa perubahan kecil untuk
teks (tabrakan sedang dibangun melibatkan membalik beberapa bit di bagian
128-byte input hash) akan merupakan bermakna berubah. Jaminan ini didasarkan
pada kondisi saat pembacaan sandi. Situasi dapat berubah tiba-tiba, tetapi
menemukan tabrakan dengan beberapa data yang sudah ada adalah masalah yang jauh
lebih sulit, dan harus ada waktu untuk transisi yang tertib.
SHA
Secure
Hash Algorithm (SHA), algoritma yang dispesifikasikan dalam Secure Hash
Standard (SHS, FIPS 180), dikembangkan oleh NIST dan digunakan bersama DSS
(Digital Signature Standart). SHA-1 adalah revisi terhadap SHA yang
dipublikasikan pada tahun 1994. SHA disebut aman (secure) karena ia dirancang
sedemikian rupa sehingga secara komputasi tidak mungkin menemukan pesan yang
berkoresponden denganmessage digest yang diberikan.
Algoritma
SHA mengambil pesan yang panjangnya kurang dari 264 bit dan menghasilkan
message digest 160-bit . Algoritma ini lebih lambat daripada MD5, namun message
digest yang lebih besar membuatnya semakin aman dari bruteforce collision dan
serangan inversi.
Karena
SHA-1 dan MD5 dikembangkan atau diturunkan dari MD4 maka keduanya mempunyai
kemiripan satu sama lain, baik kekuatan dan karakteristiknya.
Berikut
perbedaan dari SHA-1 dan MD5 :
- Keamanan terhadap serangan brute-force. Hal yang paling penting adalah bahwa SHA-1 menghasilkan diggest 32-bit lebih panjang dari MD5. Dengan brute-force maka SHA-1 lebih kuat dibanding MD5.
- Keamanan terhadap kriptanalisis. Kelemahan MD5 ada pada design sehingga lebih mudah dilakukan kriptanalisis dibandingkan SHA-1
- Kecepatan. Kedua algoritma bekerja pada modulo 232 sehingga keduanya bekerja baik pada arsitektur 32 bit. SHA-1 mempunyai langkah lebih banyak dibandingkan MD5 ( 80 dibanding MD5 64 ) dan harus memproses 160 bit buffer dibanding DM5 128 bit buffer, sehingga SHA-1 bekerja lebih lambat dibanding MD5 pada perangkat keras yang sama.
- Simplicity. Kedua algoritma simple untuk dijelaskan dan mudah untuk diiemplementasikan karena tidak membutuhkan program yang besar atau tabel subtitusi yang besar pula.
Referensi
Tidak ada komentar:
Posting Komentar