Computational cryptography › Public-key encryption and key exchange
Hardness assumptionKE: gives key exchangeTD: gives trapdoor functionsHistorically broken

A disguised easy knapsack looks hard

In plain words

The bet that a disguised easy puzzle (picking numbers that add up to a target) stays hard. Shamir undid the disguise in 1982.

The idea: An easy knapsack has each number bigger than all the previous ones combined, so you can solve it greedily from the largest down. Merkle and Hellman multiplied every number by a secret value modulo a secret number to make the list look random. Shamir showed that the disguised numbers still betray a multiplier and modulus that turn the puzzle back into an easy one.

Why it matters: Proof that building on an NP-hard problem isn't enough: the specific puzzles a scheme produces must be hard too.

The details

On the map: ✗ broken 1982 (Shamir): subset sum is NP-hard, these instances weren't

Subset sum: given some numbers and a target, find the ones that add up to the target. It is NP-hard in general, which made it look like a perfect foundation. Merkle and Hellman started from an easy instance (each number bigger than the sum of all the smaller ones, solvable greedily) and disguised it with a secret modular multiplication[1].

In 1982 Shamir showed[2] how to undo the disguise in polynomial time. Iterated versions fell to Brickell (1985)[3], and lattice reduction (Lagarias and Odlyzko, 1985)[4] breaks most low-density knapsacks outright. The lesson connects to P ≠ NP: a problem being NP-hard in the worst case says nothing about the specific, structured instances a cryptosystem produces.

Rests on

If any of these breaks, this breaks too.

If it falls

If this breaks, these break with it.

About the tags

KE
This assumption gives key exchange on its own, so it needs more than one-way functions and falls if public-key encryption is impossible.
TD
This assumption gives trapdoor functions on its own (computable by anyone, invertible only with a secret), so it falls if trapdoor functions don't exist. Schemes built on it need not use a trapdoor: ElGamal doesn't.

References

  1. R. Merkle and M. Hellman. Hiding information and signatures in trapdoor knapsacks. IEEE Transactions on Information Theory, 1978. doi:10.1109/tit.1978.1055927
  2. Adi Shamir. A Polynomial Time Algorithm for Breaking the Basic Merkle-Hellman Cryptosystem. Advances in Cryptology, 1983. doi:10.1007/978-1-4757-0602-4_27
  3. Ernest F. Brickell. Breaking Iterated Knapsacks. Advances in Cryptology, 1985. doi:10.1007/3-540-39568-7_27
  4. J. C. Lagarias and A. M. Odlyzko. Solving low-density subset sum problems. Journal of the ACM, 1985. doi:10.1145/2455.2461