Fungsi Hash : HAVAL

key

Fungsi hash sering disebut enkripsi satu arah , atau sering disebut message digest . Fungsi hash adalah many to one , sehingga memungkinkan terjadi collision ( tabrakan ). Secara umum fungsi hash memiliki 2 sifat dasar yaitu

  • sifat kompresi, fungsi h memetakan input x dengan panjang sembarang ke output Y = h(x) dengan panjang tetap n ,
  • mudah dihitung, dengan diberikan h dan sebuah input x, maka Y mudah dihitung.

Sangatlah menyulitkan untuk menghitung pasangan dari pesan yang punya nilai digest yang sama. Algoritma hash satu arah sering digunakan untuk autentikasi, secara umum dalam tanda tangan digital dan meningkat sejak ditemukan kunci publik oleh Diffie Hellman. Kemudian ditemukan algoritma hash satu arah , misalnya yang efisien dalam implementasi software, yang digest outputnya bernilai tetap. Misal keluarga MD dengan 128 bit dan SIIS digest dengan 160 bit.

Dikembangkan algoritma hash satu arah yang dapat menghasilkan digest output yang berubah – ubah . Algoritma seperti itu lebih fleksibel dan cocok untuk aplikasi dimana panjang output digest yang berubah – ubah dibutuhkan. Algoritma ini ialah HAVAL yang diciptakan oleh Yuliang Zheng, Josep Pieprzyk dan Jennifer Seberry pada tahun 1992. Haval mengunakan fungsi Boolean, dengan sifat:

  1. keseimbangan 0 – 1
  2. non – linear
  3. memenuhi Strict Avalanche Criterion ( SAC )
  4. tidak dapat diubah menjadi lainnya dengan menambahkan transformasi linear ke koordinat input.
  5. satu sama lain tidak berkolerasi melalui fungsi linear

Dalam hal ini HAVAL bekerja dalam GF(2). Bit dinotasikan dengan huruf kecil, sedangkan string akan dinotasikan sebagai huruf besar. Sebuah byte merupakan string yang terdiri dari 8 bit. Word merupakan string yang terdiri dari 4 byte ( 32 bit ). Sedangkan Block merupakan rangkaian dari 32 word ( 1024 bit ). Kita anggap The Most Significant Bit/ Byte/ Word/ Block terletak paling kiri. Misalkan terdapat biner string X = Xn-1 Xn-2 …..Xo, sehingga memiliki nilai integer I x = Xn-1 2 n-1 + Xn-2 2 n-2 + …… + Xn 2 0.

Perkalian dan penjumlahan X1, X2 dalam GF(2) dinotasikan X1X2 dan X1+X2, terdapat dalam GF(2), sedangkan perkalian dan penjumlahan 2 buah string biner dengan panjang sama , dinotasikan sebagai S1•S2 dan S1+S2. Catatan bahwa operasi • dikerjakan terlebih dahulu dari pada +. Ditentukan pula misalnya S1 = W 1,n-1 W 1,n-2 ….. W 1,0, dimana setiap W i,j adalah 32 bit-word. Sehingga penjumlahan word mod 232 dari 2 string dinotasikan sebagai S1 + S2 dan dijabarkan sebagai  ( W 1,n-1 + W 2,n-1 mod 232 )  ( W 1,n-2 + W 2,n-2 mod 232 )….( W 1,0 + W 2,0 mod 232 ), dimana W i,j dalam [0,232 -1 ]

Proses  Haval pesan M , dengan 3 langkah :

1. Proses Padding ( penambahan ) pada pesan sehingga menjadi sepanjang perkalian dari 1024. Blok terakhir ( the most significant block )  dari penambahan pesan mengindikasikan panjang dari pesan asli, panjang yang dibutuhkan dari digest, dan jumlah dari passes setiap blok yang diproses serta nomor versi dari Haval yaitu 1.

2.Hitung berulang kali D i+1 = II ( Di, Bi ) untuk i dari 0 sampai n-1, dimana D0 adalah 8 word tring konstan dan n adalah totaldari jumlah blok dalah pesan yang ditambahkan

3.Mengatur nilai Dn 256 bit didapat dari perhitungan diatas menurut panjang digest yang ada diblok terakhir Bn-1, dan output dari nilai yang diatur sebagai digest pesan M.


Kelemahan :

1.  Menggunakan birthday attack dapat ditemukan collision

2.  Haval-128 dengan p=3,4,5 telah dibreak. Untuk versi lain belum diketahui statusnya

3. Tidak diketahui perbedaan dari versi Haval

Kelebihan :

1. Dapat menghasilkan 15 tingkat level keamanan

2. Output digestnya dapat berbeda:128, 160,192, 224, 256 bit

3.  Sangat cocok untuk 32bit komputer

4.  Lebih cepat dari MD5 : 60%(p=3), 15% (p=4), sama cepat(p=5)

2 Komentar

  1. Nice info, tapi aku blom paham mksdnya, banyak rumusnya, he2…😀

  2. owh.. iya bener tuh, haval dah di break,
    makanya ada yg memodifikasi haval dengan quasigroup supaya memperkuat fungsi one way nya…😀😀😀


Comments RSS TrackBack Identifier URI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

  • [ It’s Me, AENI ]

    Meski hanya sebuah blog yang sederhana, namun dengan niat berbagi dan bertukar informasi tentang dunia Islam, Travelling dan Kriptografi, semoga bisa bermanfaat....

  • Blog Stats

    • 144,162 hits