C# Merkle–Hellman knapsack cryptosystem