In cryptography, a **cryptosystem** is a suite of cryptographic algorithms needed to implement a particular security service, such as confidentiality (encryption).^{[1]}

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 .^{[2]}

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.