add quotation mark in add_header HSTS directive
[ach-master.git] / src / theory / keylengths.tex
1 \section{Keylengths}
2 \label{section:keylengths}
3
4
5 \epigraph{``On the choice between AES256 and AES128: I would never consider
6 using AES256, just like I don't wear a helmet when I sit inside my car. It's
7 too much bother for the epsilon improvement in security.''}{Vincent Rijmen
8 in a personal mail exchange Dec 2013}
9
10 Recommendations on keylengths need to be adapted regularly. Since this document
11 first of all is static and second of all, does not consider itself to be
12 authoritative on keylengths, we would rather refer to existing publications and
13 websites.  Recommending a safe key length is a hit-and-miss issue.
14
15 Furthermore, when choosing an encryption algorithm and key length, the
16 designer/sysadmin always needs to consider the value of the information and how
17 long it must be protected.  In other words: consider the number of years the
18 data needs to stay confidential.
19
20
21 The ECRYPT II publication~\cite{ii2011ecrypt} gives a fascinating overview of
22 strengths of symmetric keys in chapter 5 and chapter 7. Summarizing ECRYPT II, we
23 recommend 128 bit of key strength for symmetric keys. In ECRYPT II, this is
24 considered safe for security level 7, long term protection.
25
26 In the same ECRYPT II publication you can find a practical comparison of key size
27 equivalence between symmetric key sizes and RSA, discrete log (DLOG) and EC
28 keylengths. ECRYPT II arrives at the interesting conclusion that for an
29 equivalence of 128 bit symmetric size, you will need to use an 3248 bit RSA
30 key~\cite[chapter 7, page 30]{ii2011ecrypt}.
31
32
33 There are a couple of other studies comparing keylengths and their respective
34 strengths.  The website \url{http://www.keylength.com/} compares these papers
35 and offers a good overview of approximations for key lengths based on
36 recommendations by different standardization bodies and academic publications.
37 Figure \ref{fig:keylengths.com} shows a typical comparison of keylengths on
38 this web site.
39
40 \begin{figure}[h]
41   \centering
42   \includegraphics[width=0.65\textwidth]{img/keylengths_com.png}
43   \caption{Screenshot of \url{http://www.keylength.com} for 128 bit symmetric key size equivalents}
44   \label{fig:keylengths.com}
45 \end{figure}
46
47
48 \paragraph{Summary}
49 \begin{itemize*}
50   \item For asymmetric public-key cryptography we consider any key length below
51 3248 bits to be deprecated at the time of this writing (for long term
52 protection).
53   \item For elliptic curve cryptography we consider key lengths below 256 bits to
54 be inadequate for long term protection.  
55   \item For symmetric algorithms we consider anything below 128 bits to be
56 inadequate for long term protection.
57 \end{itemize*}
58
59 \paragraph{Special remark on 3DES:}
60 We want to note that 3DES theoretically has 168 bits of security, however based
61 on the NIST Special Publication 800-57
62 \footnote{\url{http://csrc.nist.gov/publications/PubsSPs.html\#800-57-part1},
63 pages 63 and 64}, it is clear that 3DES can only be considered to provide for
64 80 bits / 112 bits security.