Asymmetric encryption based on knapsack problem