8

I have some basic understanding of how hash functions work, however, I have no idea of how mathematicians created them.

Were them a byproduct of a non cryptografics related research or were them a result of a desire to find them?

Is there some sort of "standard method" for finding such functions?

gjvnq
  • 201
  • what I understand is that md5 as many hashes algorithm is built on a not difficult to invert non-linear function but which inversion for a single value requires investing N different possibilities, so that after chaining it 32 times, its inversion for a single value will require $N^{32}$ investigations. finally, a version of the algorithm with a low collision rate is found experimentally. – reuns Jan 09 '16 at 06:03
  • 2
    I imagine the original "method" is just to make stuff up. Just arbitrarily choose some weird way of mixing up all the input data that seems hard to invert. – Karl Dec 12 '25 at 03:44
  • Bruce Schneier, in Applied Cryptography, made some comment to the effect that one-way hashes are much more witches' brews than encryption functions are. – Brian Tung Dec 13 '25 at 03:37

3 Answers3

1

As far as I know, hash functions were born in computer science, not in mathematics: besides cryptography, even the checksum digit in an error-correcting code is a sort of hash function.

mau
  • 10,236
0

Hash functions were developed in the 1950's in order to implement the hash table data structure.

A related concept is the checksum, which is similar in operation (do math on data to output a fixed-width integer), but is used to detect accidental alterations to transmitted data. A simple checksum is the parity bit.

The use of a cryptographic hash function, for detecting deliberate alterations to data, wasn't really a thing until MD2 was published in 1989.

Dan
  • 19,542
-1

I have to admit that I am not super familiar with the history. Nevertheless, it seems to me that one of the earlier important instance of a "hash function" in mathematics comes from Godel Numbering. It also gives a "standard" hash function. While this function creates numbers which are probably too large to be used in computer applications it is nonetheless important theoretically. Basically, you can take your key and send it to a product of primes and use the uniqueness of prime factorizations to recover it. The Wikipedia article I linked is pretty clear and well written if you want to read more.