*2.3. Public-Key Cryptosystems*

A cryptosystem is an application of cryptographic methods and ensures the information security services. The cryptosystems can be examined under two titles as the public-key and private-key. Each person has a pair of keys; one is the public-key, and the other is the private-key. The public-key is accessible to the other users; however, the private-key should be stored so that only the owner can access it. Any person can send an encrypted message using the public-key, but only the private-key, which is a pair of public-keys, can decrypt the encrypted message. There is always the mathematical relationship between the public-key and private-key in the public-key cryptosystems. The hardness of two mathematical problems, as integer factoring and discrete logarithm, are used to generate these keys. So, it is impossible to obtain the private-key using the public-key.

The Diffie–Hellman cryptosystem [3] and RSA cryptosystem [4] are pioneers of publickey cryptosystems. However, McEliece [7] and Niederreiter [8] are the first founders of the code-based public-key cryptosystems.
