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".
For each , there is such that for all .
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.
A classical example of a cryptosystem is the Caesar cipher. A more contemporary example is the RSA cryptosystem.
- ^ Menezes, A.; Oorschot, P. van; Vanstone, S. Handbook of Applied Cryptography (5th ed.). CRC Press. ISBN 0-8493-8523-7.
- ^ Buchmann, Johannes A. Introduction to Cryptography (2nd ed.). Springer. ISBN 0-387-20756-2.