\section{Symmetric-Key Encryption}\label{s:symmetric-key-encryption}
The simplest form of encryption, is the use of a symmetric key scheme. Such a scheme utilizes a secret key which is used to perform the mathematical operations of both encrypting and decrypting of a message.
The communicating parties must share the same key in order to communicate securely.
Symmetric-key algorithms are algorithms that use the same key for both encryption of the plaintext and decryption of the ciphertext.
The keys represent a shared secret between two or more parties that can be used to maintain a private information channel.
The requirement that both parties have access to the secret key is one of the main drawbacks of symmetric key encryption, in comparison to public-key encryption schemes that we expand in section \ref{s:public-key-encryption}.

More formally, given a plaintext $P$ and a secret key $K$, a ciphertext $C$ is produced such that:
\begin{equation}
  \label{eq:symmetric-key-encryption}
  \begin{aligned}
    C = Enc(P, K)\\
    P = Dec(C, K) = Dec(Enc(P, K), K)
  \end{aligned}
  \end{equation}
Where $Enc$ and $Dec$ are the \textit{Encryption} and \textit{Decryption} algorithms respectively.
