Merkle-Damgård Revisited: How to Construct a Hash Function | doi.page