2.9 Fungsi Hash
Fungsi hash adalah sebuah fungsi yang masukannya adalah sebuah pesan dan keluaran sebuah sidik pesan message fingerprint. Sidik pesan sering juga disebut
message digest. Fungsi hash dapat digunakan untuk mewujudkan beberapa layanan keamanan jaringan misalnya untuk keutuhan data dan otentikasi pesan.
Fungsi hash yang dipakai dalam sistem kriptografi harus memenuhi beberapa syarat sehingga dapat dianggap aman, yaitu ketahanan terhadap serangan preimage,
ketahanan terhadap serangan second preimage, dan ketahanan terhadap serangan collision. Ketahanan terhadap serangan preimage adalah jika diberikan pesan M, maka
dapat dihitung dengan mudah y = h M, namun jika diberikan y dan fungsi hash h maka sulit bagi penyerang menemukan M. Ketahanan terhadap serangan second
preimage adalah jika diberikan sebuah pesan M dan fungsi hash h maka temukan hM = h
M’. Sebuah fungsi hash untuk sistem kriptografi harus tahan terhadap serangan second preimage atau dalam kata lain sulit bagi penyerang untuk
menyelesaikan persoalan second preimage. Ketahanan terhadap serangan collision adalah jika diberikan sebuah fungsi hash h lalu penyerang berusaha menemukan
sepasang M dan M’ dengan M ≠ M’ sehingga hM = hM’.
Fungsi hash menerima masukan sebuah pesan dengan panjang sembarang dan membuat digest dengan panjang tetap. Salah satu cara untuk membuat digest
adalah membagi pesan menjadi beberapa blok dengan ukuran n bit menghitung digest dengan
ukuran m m ≤n bit secara berulang dari blok awal sampai blok akhir pesan dengan
menggunakan fungsi kompresi. Cara seperti ini disebut dengan fungsi hash dengan iterasi.
Merkle dan Damgard membuktikan fungsi hash dengan iterasi tahan terhadap serangan collision jika fungsi kompresi juga tahan terhadap serangan collision. Fungsi
hash dengan iterasi disebut juga dengan skema Merkle dan Damgard Menezes et al.,
Universitas Sumatera Utara
1996. Banyak fungsi hash yang berdasarkan skema Merkle dan Damgard diantaranya adalah fungsi hash MD5 dan SHA. Fungsi hash MD5 menghasilkan digest dengan
ukuran 128 bit yang ternyata terlalu pendek sehingga bisa diserang dengan collision, sedangkan fungsi hash SHA Secure Hash Algorithm terdiri dari beberapa versi dan
yang paling panjang memeliki digest berukuran 512 bit.
Fungsi Hash SHA-512
Fungsi hash SHA-512 merupakan versi SHA dengan ukuran digest 512 bit dan berbasis pada skema Merkle dan Damgard. SHA merupakan singkatan dari Secure
Hash Algorithm merupakan fungsi hash standar yang dipublikasi oleh NIST National Institute of Standard and Technology. SHA diterbitkan dengan beberapa versi
diantaranya SHA-1 dengan ukuran digest 160 bit, SHA-256 dengan ukuran digest 256 bit dan SHA-512. Meskipun SHA terdiri dari beberapa versi, secara prinsip cara kerja
fungsi hash SHA adalah sama, yaitu menggunakan skema Merkle-Damgard.
2.10 Kriptografi Kurva Eliptik