What breaks what
Foundational assumption

One-way functions exist

In plain words

A one-way function is like scrambling an egg: easy to do, practically impossible to undo. Most of cryptography is built on the bet that such functions exist.

The idea: Almost every tool on the map has a one-way function as its engine. Store only the hash of a password, and a thief who steals it can't run it backwards. Feed a secret key and a counter into a one-way-style function and you get an endless stream that looks random: that's a cipher. Even signatures can be built from nothing else: publish the hashes of some secret values, and later sign by revealing some of the secrets. What one-way functions can't obviously do is let two strangers agree on a secret in public. That needs the extra structure of the public-key box.

Why it matters: Hashes, password storage, encryption and signatures all lean on this.

The details

On the map: alone they give PRGs, PRFs, MACs, symmetric encryption, signatures, commitments, ZK for NP (Minicrypt). Key exchange and public-key encryption need more: see the public-key box. Equivalent: time-bounded Kolmogorov complexity is mildly hard on average (Liu-Pass 2020)

A one-way function is easy to compute but hard to reverse: given the output, you can't find any input that produces it. Think of mixing paint: easy to mix, practically impossible to unmix.

It is the minimal assumption behind computational cryptography. From any one-way function you can build pseudorandom generators[1], pseudorandom functions[2], symmetric encryption, message authentication codes, digital signatures[3] and commitments[4]. Impagliazzo called this world "Minicrypt"[5].

What one-way functions alone can't give, at least in any black-box way[6], is key exchange or public-key encryption: that needs more structure (see the key-exchange node). Nobody has proven one-way functions exist (that would prove P ≠ NP). Liu and Pass (2020) showed they exist exactly when a 1960s problem, computing time-bounded Kolmogorov complexity, is mildly hard on average[7].

Rests on

If any of these breaks, this breaks too.

If it falls

If this breaks, these break with it.

References

  1. Johan HÅstad, Russell Impagliazzo, Leonid A. Levin and Michael Luby. A Pseudorandom Generator from any One-way Function. SIAM Journal on Computing, 1999. doi:10.1137/s0097539793244708
  2. O. Goldreich, S. Goldwasser and S. Micali. How To Construct Random Functions. 25th Annual Symposium onFoundations of Computer Science, 1984.. doi:10.1109/sfcs.1984.715949
  3. J. Rompel. One-way functions are necessary and sufficient for secure signatures. Proceedings of the twenty-second annual ACM symposium on Theory of computing - STOC '90, 1990. doi:10.1145/100216.100269
  4. Moni Naor. Bit commitment using pseudorandomness. Journal of Cryptology, 1991. doi:10.1007/bf00196774
  5. R. Impagliazzo. A personal view of average-case complexity. Proceedings of Structure in Complexity Theory. Tenth Annual IEEE Conference, 1995. doi:10.1109/sct.1995.514853
  6. R. Impagliazzo and S. Rudich. Limits on the provable consequences of one-way permutations. Proceedings of the twenty-first annual ACM symposium on Theory of computing - STOC '89, 1989. doi:10.1145/73007.73012
  7. Yanyi Liu and Rafael Pass. On One-way Functions and Kolmogorov Complexity. 2020 IEEE 61st Annual Symposium on Foundations of Computer Science (FOCS). doi:10.1109/focs46700.2020.00118