annotate handout.tex @ 7:431e14ce74f8

Handout is done
author Josef "Jeff" Sipek <jeffpc@josefsipek.net>
date Tue, 08 Aug 2006 18:54:58 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
1 % two sided printing
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
2 \documentclass[letterpaper,12pt]{article}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
3
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
4 \usepackage[reset,margin=1in]{geometry}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
5 \usepackage{url}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
6 \usepackage{epsfig}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
7
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
8 \title{\huge GPG\normalsize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
9 \author{Josef ``Jeff'' Sipek $<$jeffpc@josefsipek.net$>$}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
10 \date{}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
11 \twocolumn
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
12 \begin{document}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
13 \maketitle
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
14 \vspace{0.75cm}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
15
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
16 \noindent\fbox{
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
17 \begin{minipage}{0.9\linewidth}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
18 {\bf Cryptography}, n.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
19
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
20 The science which studies methods for encoding messages so
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
21 that they can be read only by a person who knows the
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
22 secret information required for decoding, called the key
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
23 \end{minipage}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
24 }
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
25
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
26
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
27 \section{History}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
28 \begin{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
29 \item Caesar cipher -- used by Julius Caesar to deliver messages to
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
30 his generals. A simple substitution cipher which relied on the
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
31 illiteracy of majority of people.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
32 \item ROT13 -- ``modern'' version of the Caesar cipher. It shifts
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
33 all characters by 13 instead of 3. Since there are only 26 letters
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
34 in the english alphabet, an interesting effect occurs: encryption
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
35 and decryption are one and the same operation!
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
36 \end{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
37
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
38 \subsection{Symmetric ciphers}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
39 Both Caesar and ROT13 are \emph{symmetric} ciphers. That means that the same
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
40 key is used during both encryption and decryption.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
41
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
42 Some modern symmetric ciphers include \emph{AES} and \emph{Blowfish}. Both
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
43 of these ciphers, with a good key are \emph{effectively} unbreakable with
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
44 today's technology \& mathematics.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
45
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
46 The only problem with symmetric ciphers is the fact that the key has to be
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
47 agreed upon over a secure channel -- in-person meeting, trusted courier, etc.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
48
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
49
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
50 \section{Asymmetric ciphers}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
51 The solution to the problem is ``simple'' --- it is called \emph{asymetric}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
52 ciphers. Asymmetric ciphers consist of 2 keys. One \emph{private} and the
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
53 other \emph{public}. The public key is exactly that, public. You can post it
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
54 on your website and not worry about a thing. The private key should be kept
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
55 secure at all times. The private key allows you to do all the cool things.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
56 :)
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
57
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
58 \subsection{Generating a key-pair}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
59 Large random numbers are the basis of modern cryptography.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
60
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
61 \noindent
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
62 \begin{minipage}{0.5\linewidth}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
63 \begin{center}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
64 \epsfig{file=Public_key_making.eps, scale=0.45}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
65 \end{center}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
66 \end{minipage}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
67
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
68 \newpage
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
69 \subsection{Uses}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
70 Such key-pair can be used to:
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
71 \begin{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
72 \item Sign/Verify signature
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
73 \begin{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
74 \item Sign with private key
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
75 \item Verify with public key
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
76 \end{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
77 \end{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
78
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
79 \noindent
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
80 \begin{minipage}{0.5\linewidth}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
81 \begin{center}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
82 \epsfig{file=Public_key_signing.eps, scale=0.45}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
83 \end{center}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
84 \end{minipage}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
85
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
86 \begin{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
87 \item Encrypt/Decrypt
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
88 \begin{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
89 \item Encrypt with public key
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
90 \item Decrypt with private key
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
91 \end{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
92 \end{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
93
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
94 \noindent
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
95 \begin{minipage}{0.5\linewidth}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
96 \begin{center}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
97 \epsfig{file=Public_key_encryption.eps, scale=0.45}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
98 \end{center}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
99 \end{minipage}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
100
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
101 \section{GPG commands}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
102 \noindent{\bf Generate a new key-pair}:\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
103 \noindent{\texttt gpg --gen-key}\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
104
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
105 \noindent{\bf Sign a file}:\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
106 \noindent{\texttt gpg --clearsign \emph{filename}}\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
107 \noindent{\texttt gpg -a --sign \emph{filename}}\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
108
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
109 \noindent{\bf Verify a signature on a file}:\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
110 \noindent{\texttt gpg --verify \emph{filename}}\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
111
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
112 \noindent{\bf Encrypt a file}:\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
113 \noindent{\texttt gpg --encrypt \emph{filename}}\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
114 \noindent{\texttt gpg -a --encrypt \emph{filename}}\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
115
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
116 \noindent{\bf Decrypt a file}:\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
117 \noindent{\texttt gpg --decrypt \emph{filename}}\\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
118
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
119 \subsection{Nasty, eh?}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
120 Since using GPG directly is rather nasty, people have developed many
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
121 GUI/console frontends, as well as integrated GPG functionality right into
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
122 their applications. For example, Kmail, mutt, both integrate with GPG very
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
123 nicely.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
124
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
125 \section{Resources}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
126 Images shamelessly stolen from Wikipedia.
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
127
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
128 \begin{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
129 \item Wikipedia \\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
130 \url{http://en.wikipedia.org/wiki/Asymmetric_key_algorithm}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
131 \item GNU Privacy Guard \\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
132 \url{http://www.gnupg.org}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
133 \item OpenPGP Message Format \\
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
134 \url{http://www.ietf.org/rfc/rfc2440.txt}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
135 \end{itemize}
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
136
431e14ce74f8 Handout is done
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
137 \end{document}