Refactor practical_settings to spli subsection in files
[ach-master.git] / src / practical_settings / GPG.tex
1
2 PGP uses asymetric encryption to protecte a sesion key which is used to encipher a message . Additionally, it signs messages via asymetric encryption and hash functions.
3 Since SHA-1 as hash function has been broken already in 2005\footnote{\url{https://www.schneier.com/blog/archives/2005/02/sha1\_broken.html}}, there are a couple of settings a PGP user can change to use different hashes.
4
5 When using PGP, there are a couple of things to take care of:
6 \begin{itemize}
7 \item keylengths (see the section \ref{section:keylengths})
8 \item randomness (see the section \ref{section:RNGs})
9 \item the choice of RSA vs. DSA 
10 \item preferences for symmetric ciphers
11 \item preferences for hashing
12 \end{itemize}
13
14 Properly dealing with key material, passphrases and the web-of-trust is outside of the scope of this document. The GnuPG website\footnote{\url{http://www.gnupg.org/}} has a good tutorial on PGP.
15
16 \subsubsection{Keylengths}
17 We do not recommend any key length $\le$ 2048 bits. In fact, 4096 bits are probabaly a good choice at the time of this writing.
18
19 \subsubsection{RSA vs. DSA}
20 \todo{sure?}
21 RSA%%\footnote{}
22
23 \subsubsection{Symmetric ciphers}
24
25
26 \subsubsection{Hashing}
27 Tell GnuPG to not use SHA-1.
28
29 Edit \$HOME/.gnupg/gpg.conf:
30
31 \begin{lstlisting}[breaklines]
32 # according to:  https://www.debian-administration.org/users/dkg/weblog/48
33 personal-digest-preferences SHA256
34 cert-digest-algo SHA256
35 default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
36 \end{lstlisting}
37
38 %\subsubsection{PGP / GPG Operations}
39
40 %% Ciphering - Unciphering operations
41 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
42
43 %% Signing / checking signatures
44 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
45
46 %\subsubsection{Trusted Keys}
47
48 %%Explain that a key by himself is not trustable.  Chain of trust principle.
49
50 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
51
52 %\subsection{Available implementations and mails plugins}
53
54 %% Microsoft Windows (Symantec for Outlook? GnuPG + ....)
55 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
56
57 %% Linux (GnuPG + Enigmail for Thunderbird)
58
59 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
60 %% Mac OS X (GnuPG + GPGMail)
61 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
62
63