Merkle–Hellman knapsack cryptosystem