Hash Function
Hash Function
Hash function H memetakan sekumpulan blok data M (preimage) ke suatu nilai h (hash value)
Cryptographic Hash Function adalah sebuah fungsi yang computationally infeasible untuk mencari :
Data dari hash value yang ada 2 data yang memiliki hash value yang sama
Message Authentication
Memastikan pesan yang dikirim tidak ada perubahan Menandatangani sebuah pesan
Digital Signature
Menyimpan Password
Message Authentication
Digital Signatures
Ci = bit ke-i pada hash value m = panjang blok Bij = bit ke-i dari blok ke j
Rotate left hash value sekarang XOR-kan blok dengan hash value
Security Requirement
Birthday Paradox
Birthday paradox :
Jika ada sekumpulan orang dalam 1 ruangan, maka probabilitas 2 orang memiliki ulang tahun yang sama akan > 0.5 jika jumlah orang dalam ruangan tersebut 365 atau 20 orang Jika dipilih 1 angka random dari 0 (N-1), probabilitas angka tsb muncul lagi dengan nilai > 0.5 setelah pemilihan ke N
Kesimpulan :
Utk hash value sebesar m-bit, kemungkinan muncul hash value yang sama adalah setelah percobaan ke 2m = 2m/2
SHA
Didesain oleh NIST dan NSA pada 1993 Direvisi menjadi SHA-1 pada 1995
Menghasilkan hash value 160 bit Munculnya SHA-256, SHA-384, SHA-512 Struktur dan desain sama dengan SHA-1
SHA-512 Algorithm
SHA-512 Algorithm
Langkah 1 :
Memberi bit tambahan (padding bits) hingga (panjang pesan mod 1024) = 896 Bit tambahan pertama adalah 1, sisanya 0 Menambahkan panjang pesan dalam bentuk integer 128 bit
Langkah 2 :
Langkah 3 :
SHA-512 Constant
Langkah 5 :
H0 = IV Hi = SUM64(Hi - 1, abcdefghi) MD = HN
Penjelasan :
Ch(e, f, g) = (e AND f) XOR (NOT e AND g) Maj(a, b, c) = (a AND b) XOR (a AND c) XOR (b AND c)