Skip to main content
1 of 3
Squeamish Ossifrage
  • 49.5k
  • 3
  • 118
  • 227

Suppose you found an error-detecting code $f(H(m), m)$ (forget random oracles, second-preimage resistance, etc.) with the following properties:

  1. $|H(m)| = O(1)$, i.e. the checksum overhead is independent of the message length.
  2. $f(H(m_0 \mathbin\| m_1), m_0) = f(H(m_0 \mathbin\| m_1), m_0 \mathbin\| m_1) = 1$
  3. $f(H(m_0 \mathbin\| m_1), m_0 + \delta) = 0$ with high probability when $\delta \ne 0$
  4. $f(H(m_0 \mathbin\| m_1), m_0 \mathbin\| (m_1 + \delta)) = 0$ with high probability when $\delta \ne 0$

This would be an astonishing development in coding theory, because it would mean that we could detect every error in every message on the planet just by hashing it it into a short $|H(m)|$-bit string as follows:

  1. Check every book $m_0, m_1, m_2, \dots$ out of the Library of Alexandria.
  2. Concatenate them all into one giant message $m_0 \mathbin\| m_1 \mathbin\| m_2 \mathbin\| \cdots$, encoded appropriately so that the colophon of the previous book doesn't get confused with the title page of the next book.
  3. Compute $h = H(m_0 \mathbin\| m_1 \mathbin\| m_2 \mathbin\| \cdots)$ and store it somewhere safe—replicate it at libraries around the world, put it in the blockchain, tattoo it on your forehead, etc.
  4. Whenever you're concerned that a cosmic ray might have dislodged a piece of type and thereby caused a typo into one of the books in the library, check $f(h, m_0)$, which, if there was an error in $m_0$, will fail with high probability, in which case get book 0 reprinted; otherwise, check $f(h, m_0 \mathbin\| m_1)$, which, if there was an error in $m_1$, will fail with high probability, in which case get book 1 reprinted; and so on.

Archivists still put checksums on individual pieces of data, instead of merging into one collaborative cabal of archiveborg with a single checksum for all the world's data, so I don't think that breakthrough in coding theory has been found yet.

Squeamish Ossifrage
  • 49.5k
  • 3
  • 118
  • 227