Cryptosystem

In cryptography, a cryptosystem is a suite of cryptographic algorithms needed to implement a particular security service, such as confidentiality (encryption).

Typically, a cryptosystem consists of three algorithms: one for key generation, one for encryption, and one for decryption. The term cipher (sometimes cypher) is often used to refer to a pair of algorithms, one for encryption and one for decryption. Therefore, the term cryptosystem is most often used when the key generation algorithm is important. For this reason, the term cryptosystem is commonly used to refer to public key techniques; however both "cipher" and "cryptosystem" are used for symmetric key techniques.

Formal definition
Mathematically, a cryptosystem or encryption scheme can be defined as a tuple $$(\mathcal{P},\mathcal{C},\mathcal{K},\mathcal{E},\mathcal{D})$$ with the following properties.


 * 1) $$ \mathcal{P}$$ is a set called the "plaintext space". Its elements are called plaintexts.
 * 2) $$ \mathcal{C}$$ is a set called the "ciphertext space". Its elements are called ciphertexts.
 * 3) $$ \mathcal{K}$$ is a set called the "key space". Its elements are called keys.
 * 4) $$ \mathcal{E} = \{ E_k : k \in \mathcal{K} \} $$ is a set of functions $$E_k : \mathcal{P} \rightarrow \mathcal{C}$$. Its elements are called "encryption functions".
 * 5) $$ \mathcal{D} = \{ D_k : k \in \mathcal{K} \} $$ is a set of functions $$D_k : \mathcal{C} \rightarrow \mathcal{P}$$. Its elements are called "decryption functions".

For each $$e \in \mathcal{K}$$, there is $$d \in \mathcal{K}$$ such that $$D_d(E_e(p)) = p$$ for all $$p \in \mathcal{P}$$.

Note; typically this definition is modified in order to distinguish an encryption scheme as being either a symmetric-key or public-key type of cryptosystem.

Examples
A classical example of a cryptosystem is the Caesar cipher. A more contemporary example is the RSA cryptosystem.

Another example of a cryptosystem is the Advanced Encryption Standard (AES). AES is a widely used symmetric encryption algorithm that has become the standard for securing data in various applications.

Pallier cryptosystem is another example used to preserve and maintain privacy and sensitive information. It is featured in electronic voting, electronic lotteries and electronic auctions.