Photo by Sharon McCutcheon on Unsplash

The Indifferentiability Property for the Perfect Message Hash

--

When we look at twins, we might say they are indistinguishable from each other. But would we say that they have indifferentiability property? Well, not quite, but they relate to each other, and where, as human, we have thrived as a species because we differ from each other — we have a differentiability property in our creation. In cryptography, we strive for perfect randomness, and where it is not possible for an adversary to gain an advantage on the way we have created ciphertext. We thus need to make our ciphertext look as much as random as possible. When we creating the perfect message hash, we need to make sure we have:

  • Collision resistance. This is where it is extremely difficult to find two messages which have the same hash.
  • Pre-image resistance. If we already have a hash value (h), it should be extremely difficult to find a message which will give the same hash.

The original hash methods were often based on the Merkle-Damgård (MD) construction. With this, we create a hash function using blocks of data. From this Ron Rivest created the MD5 hashing method. Overall we take a static initialisation vector (IV) and then feed this into a one-way function (f) along with a block of the message. We feed this output into the next stage, and so on until we get to a message pad at the end:

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.