removed mentioning SRP in key exchange section
[ach-master.git] / src / applied-crypto-hardening.tex
1 %%% LaTeX Template: Two column article
2 %%%
3 %%% Source: http://www.howtotex.com/
4 %%% Feel free to distribute this template, but please keep to referal to http://www.howtotex.com/ here.
5 %%% Date: February 2011
6
7 %%% Preamble
8 \documentclass[ DIV=calc,%
9                                 paper=a4,%
10                                 fontsize=9pt,%
11                                 %onecolumn]{scrartcl}                                           % KOMA-article class
12                                 onecolumn]{scrreprt}                                            % KOMA-article class
13                                 %onecolumn]{report}                                             % KOMA-article class
14
15 \usepackage{lipsum}                                                                                                     % Package to create dummy text
16
17
18
19 \usepackage[english]{babel}                                                                             % English language/hyphenation
20 \usepackage[protrusion=true,expansion=true]{microtype}                          % Better typography
21 \usepackage{amsmath,amsfonts,amsthm}                                    % Math packages
22 \usepackage[pdftex]{graphicx}                                           % Enable pdflatex 
23 %\usepackage[svgnames]{xcolor}                                                                  % Enabling colors by their 'svgnames'
24 \usepackage[hang, small,labelfont=bf,up,textfont=it,up]{caption}        % Custom captions under/above floats
25 \usepackage{epstopdf}                                                                                           % Converts .eps to .pdf
26 \usepackage{subfig}                                                                                                     % Subfigures
27 \usepackage{booktabs}                                                                                           % Nicer tables
28 \usepackage{fix-cm}                                                                                                     % Custom fontsizes
29
30 \usepackage[usenames,dvipsnames]{color}
31 \usepackage{float}
32 \usepackage{subfig}
33 %\usepackage{tikz}
34 \usepackage{acronym}
35 \usepackage{amsthm}
36 \usepackage{fancyvrb}
37 \usepackage{listings}
38 \usepackage{longtable}
39
40 %% Epigraph patching
41 \usepackage{epigraph}
42 % \epigraphsize{\small}% Default
43 \setlength\epigraphwidth{8cm}
44 \setlength\epigraphrule{0pt}
45 \usepackage{etoolbox}
46 \makeatletter
47 \patchcmd{\epigraph}{\@epitext{#1}}{\itshape\@epitext{#1}}{}{}
48 \makeatother
49
50
51
52
53 \usepackage{gitinfo}
54
55 % custom changes:
56 \usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
57 \usepackage{placeins}
58 \usepackage{draftwatermark}
59
60 % human tables
61 \usepackage{booktabs}
62 \renewcommand{\arraystretch}{1.25}
63
64 % side box
65 \usepackage{wrapfig}
66 %\usepackage{tcolorbox}
67 \newenvironment{WrapText}[1][r]
68   {\wrapfigure{#1}{0.5\textwidth}\tcolorbox}
69   {\endtcolorbox\endwrapfigure}
70
71 % Add text symbols
72 \usepackage{pifont}
73 \newcommand{\yes}{\textcolor{green}{\ding{51}}}
74 \newcommand{\no}{\textcolor{red}{\ding{55}}}
75
76 % human tables
77 \usepackage{booktabs}
78
79 \renewcommand{\arraystretch}{1.25}
80
81 \definecolor{green}{RGB}{32,113,10}
82 \definecolor{orange}{RGB}{251,111,16}
83 \definecolor{red}{RGB}{247,56,0}
84 \definecolor{blue}{RGB}{0,28,128}
85
86 \bibliographystyle{alphalink}
87
88 \definecolor{Brown}{cmyk}{0,0.81,1,0.60}
89 \definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
90 \definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
91 \definecolor{lightlightgray}{gray}{0.9}
92
93 \lstset{
94 %language=Bash,                             % Code langugage
95 basicstyle=\ttfamily,                   % Code font, Examples: \footnotesize, \ttfamily
96 keywordstyle=\color{OliveGreen},        % Keywords font ('*' = uppercase)
97 commentstyle=\color{gray},              % Comments font
98 %numbers=left,                           % Line nums position
99 %numberstyle=\tiny,                      % Line-numbers fonts
100 %stepnumber=1,                           % Step between two line-numbers
101 %numbersep=5pt,                          % How far are line-numbers from code
102 backgroundcolor=\color{lightlightgray}, % Choose background color
103 frame=none,                             % A frame around the code
104 tabsize=2,                              % Default tab size
105 captionpos=b,                           % Caption-position = bottom
106 breaklines=true,                        % Automatic line breaking?
107 breakatwhitespace=false,                % Automatic breaks only at whitespace?
108 showspaces=false,                       % Dont make spaces visible
109 showtabs=false,                         % Dont make tabls visible
110 columns=fixed,                          % Column format
111 morekeywords={__global__, __device__},  % 
112 }
113
114
115 %% \todo{} command.
116 %
117 % Outputs red TODOs in the document. Requires \usepackage{color}.
118 %
119 % Usage: \todo{Document the TODO command.}
120 %
121 % Comment out second line to disable.
122 \newcommand{\todo}[1]{}
123 \renewcommand{\todo}[1]{{\color{Red} TODO: {#1}}}
124
125
126 %%% Custom sectioning (sectsty package)
127 \usepackage{sectsty}                                                                                                    % Custom sectioning (see below)
128 \allsectionsfont{%                                                                                                                      % Change font of al section commands
129         \usefont{OT1}{phv}{b}{n}%                                                                               % bch-b-n: CharterBT-Bold font
130         }
131
132 \sectionfont{%                                                                                                                          % Change font of \section command
133         \usefont{OT1}{phv}{b}{n}%                                                                               % bch-b-n: CharterBT-Bold font
134         }
135
136 % use more of the page
137 \usepackage{fullpage}
138
139 %%% Headers and footers
140 \usepackage{fancyhdr}                                                                                           % Needed to define custom headers/footers
141         \pagestyle{fancy}                                                                                                               % Enabling the custom headers/footers
142 \usepackage{lastpage}   
143
144 % Header (empty)
145 \lhead{}
146 \chead{}
147 \rhead{}
148 % Footer (you may change this to your own needs)
149 \lfoot{\footnotesize Applied Crypto Hardening \textbullet ~Draft revision\gitVtags: \gitAbbrevHash{} (\gitCommitterIsoDate) \gitCommitterName}
150 \cfoot{}
151 \rfoot{\footnotesize page \thepage\ of \pageref{LastPage}}      % "Page 1 of 2"
152 \renewcommand{\headrulewidth}{0.0pt}
153 \renewcommand{\footrulewidth}{0.4pt}
154
155
156
157 %%% Creating an initial of the very first character of the content
158 \usepackage{lettrine}
159 \newcommand{\initial}[1]{%
160      \lettrine[lines=3,lhang=0.3,nindent=0em]{
161                                 \color{DarkGoldenrod}
162                                 {\textsf{#1}}}{}}
163
164
165
166 %%% Title, author and date metadata
167 \usepackage{titling}                                                                                                                    % For custom titles
168
169 \newcommand{\HorRule}{\color{DarkGoldenrod}%                    % Creating a horizontal rule
170                                                                                 \rule{\linewidth}{1pt}%
171                                                                         }
172
173 \pretitle{\vspace{-30pt} \begin{flushleft} \HorRule 
174                                 \fontsize{36}{36} \usefont{OT1}{phv}{b}{n} \color{DarkRed} \selectfont 
175                                 }
176                         \title{Applied Crypto Hardening}% \\ \vskip 0.5em \large www.bettercrypto.org}
177 \posttitle{\par\end{flushleft}\vskip 0.5em}
178
179 \preauthor{\begin{flushleft}
180                                         \large \lineskip 0.5em \usefont{OT1}{phv}{b}{sl} \color{DarkRed}}
181
182                                         \author{Wolfgang Breyha, David Durvaux, Tobias Dussa, L. Aaron
183                                         Kaplan, Florian Mendel, Christian Mock, Manuel Koschuch, Adi
184                                         Kriegisch, Ulrich P\"oschl, Ramin Sabet, Berg San, Ralf Schlatterbeck, 
185                                         Thomas Schreck, Aaron Zauner, Pepi Zawodsky}
186 %\institute{
187 %FH Campus Wien
188 %\and
189 %VRVis
190 %\and
191 %CERT.at
192 %\and
193 %Karlsruhe Institute of Technology
194 %}
195
196
197 \setlength{\parindent}{0cm}
198
199 \postauthor{\footnotesize \usefont{OT1}{phv}{m}{sl} \color{Black} 
200 \\ \vskip 0.5em  (University of Vienna, CERT.be, KIT-CERT, CERT.at, IAIK, coretec.at, FH Campus Wien, VRVis, MilCERT Austria, A-Trust, , Runtux.com, Friedrich-Alexander University Erlangen-Nuremberg, azet.org, maclemon.at)
201                                         \par\end{flushleft}\HorRule}
202
203 \date{\today}
204
205 % hyperref needs to be the last package you load.
206 \usepackage[pdftex,breaklinks,colorlinks,citecolor=blue,urlcolor=blue]{hyperref}
207
208
209 %%% Begin document
210 \begin{document}
211 \maketitle
212
213 \thispagestyle{fancy}                   % Enabling the custom headers/footers for the first page 
214 % The first character should be within \initial{}
215 %\initial{H}\textbf{ere is some sample text to show the initial in the introductory paragraph of this template article. The color and lineheight of the initial can be modified in the preamble of this document.}
216
217 \input{abstract}
218 \tableofcontents
219 \chapter{Introduction}
220 \label{chapter:Intro}
221 \input{howtoread}
222 \input{disclaimer}
223 \input{motivation}
224 \input{methods}
225 %%
226 \chapter{Practical recommendations}
227 \label{chapter:PracticalSettings}
228 \input{practical_settings}
229 %%
230 \chapter{Theory}
231 \label{chapter:Theory}
232 \input{PKIs}
233 \input{ECC}
234 \input{SHA}
235 \input{DH}
236 \input{keylengths}
237 \input{RNGs}
238 \input{cipher_suites}
239 \input{ssllibs}
240 \chapter{Appendix}
241 \input{tools}
242 \input{links}
243 \input{suggested_reading}
244 \input{cipher_suite_names}
245 \input{further_research}
246 \input{acknowledgements}
247 \input{reviewers}
248 \input{bib}
249
250 \end{document}