a cryptographic hash function
