Hash Functions
Converge requires a hash function that takes a domain and message and produces a fixed length output, the digest.
-- Hashing
hash :: Domain -> Message -> Digest
It must be infeasible to:
-
find two domain-message pairs that hash to the same digest - collision resistance.
-
find a domain-message pair that hashes to a particular digest - preimage resistance.
-
transform a digest of one domain-message pair into that of another domain-message pair without access to the target domain and message.