A wonderful whiteboard introduction to cryptographic hash functions by @veorq