New Approaches For The Design And Analysis of Cryptographic Hash Functions