Merke-Hellman knapsack cryptosystem python implementation