Merkle-Hellman knapsack cryptosystem