add the info about IANA vs. OpenSSL names
[ach-master.git] / src / cipher_suites / architecture.tex
1 %%\subsection{Architectural overview }
2
3 This section defines some terms which will be used throughout this guide.
4
5
6 A cipher suite is a standardised collection of key exchange algorithms, encryption 
7 algorithms (ciphers) and Message authentication codes (MAC) that provides authenticated 
8 encryption schemes. It consists of the following components:
9
10 \begin{description}
11 \item{Key exchange protocol:}
12 ``An (interactive) key exchange protocol is a method whereby parties who do not 
13 share any secret information can generate a shared, secret key by communicating 
14 over a public channel. The main property guaranteed here is that an 
15 eavesdroppin adversary who sees all the messages sent over the communication 
16 line does not learn anything about the resulting secret key.'' \cite{katz2008introduction}
17
18 Example: \texttt{DHE}
19
20 \item{Authentication:}
21 The client authenticates the server by its certificate. Optionally the server 
22 may authenticate the client certificate.
23
24 Example: \texttt{RSA}
25
26 \item{Cipher:}
27 The cipher is used to encrypt the message stream. It also contains the key size
28 and mode used by the suite.
29
30 Example: \texttt{AES256}
31
32 \item{Message authentication code (MAC):}
33 A MAC ensures that the message has not been tampered with (integrity).
34
35 Examples: \texttt{SHA256}
36
37
38 \begin{figure}[h]
39 \makebox[\textwidth]{
40 \framebox[1.1\width]{ \texttt{DHE} }--\framebox[1.1\width]{ \texttt{RSA} }--\framebox[1.1\width]{ \texttt{AES256} }--\framebox[1.1\width]{ \texttt{SHA256} } }
41 \caption{Composition of a typical cipher string}
42 \end{figure}
43
44 \item{Authenticated encryption scheme:}
45 An encryption scheme which provides for confidentiality, integrity and authenticity.
46
47 \item {\textbf{NOTE:}} there are two naming schemes for cipher strings -- IANA names (see section \ref{section:Links}) and the more well known OpenSSL names. In this document we will always use OpenSSL names unless a specific service uses IANA names.
48
49 \end{description}