A typical application of cryptography is secure communication. Informally a secure communication channel is one that provides both confidentiality and Integrity of the messages. In this section we investigate confidentiality, therefore we may assume that integrity is already guaranteed by some other means. (see section on integrity...#TODO)
We assume that two parties that want to communicate share a secret key . Prior to sending a message, the sender encrypts the message with the secret key, this produces a ciphertext that is then sent. The receiver uses the same key to decrypt the message and recover the message.
We introduce some notation first: We will use to denote the set of al possible message, is the set of all possible keys and is the set of ciphertexts.
A symmetric encryption scheme is a tuple of efficiently computable functions .:
Selects a key at random from the key space.
. Encrypts the message with the key into a ciphertext . Sometimes written as
. Decrypts the ciphertexts with the key into the message or returns an error (). . Sometimes written as
TODO: security notions and examples