Provably secure cryptographic hash function