In cryptography, a cryptosystem is a suite of cryptographic algorithms needed to implement a particular security service, most commonly for achieving 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.
Mathematically, a cryptosystem or encryption scheme can be defined as a tuple with the following properties.
- is a set called the "plaintext space". Its elements are called plaintexts.
- is a set called the "ciphertext space". Its elements are called ciphertexts.
- is a set called the "key space". Its elements are called keys.
- is a set of functions . Its elements are called "encryption functions".
- is a set of functions . Its elements are called "decryption functions".