Naccache–Stern knapsack cryptosystem
The Naccache–Stern Knapsack cryptosystem is an atypical public-key cryptosystem developed by David Naccache and Jacques Stern in 1997. This cryptosystem is deterministic, and hence is not semantically secure. While unbroken to date, this system also lacks provable security. System Overview. This system is based on a type of knapsack problem. Specifically, the underlying problem is this: given integers "c","n","p" and "v"...,"v", find a vector formula_1 such that The idea here is that when the "v" are relatively prime and much smaller than the modulus "p" this problem can be solved easily. It is  this observation which allows decryption. Key Generation. To generate a public/private key pair The public key is then "p","n" and "v"...,"v". The private key is "s". Encryption. To encrypt an "n"-bit long message "m", calculate where "m" is the "i"th bit of the message "m". Decryption. To decrypt a message "c", calculate This works because the fraction is 0 or 1 depending on whether "p" divides "c" mod "p".