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.