Public key for wdi@austin.rr.com
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (MingW32)

mQGiBD7Oz24RBACkSRJLr2ATpSvlUZLJYiChJ2s5n5XALflN2gwdckFSC9KbH3kE
+muiqVocj3W5Yj261FyDka1m++WjPTwZtZXuzPeXajtZ1ptnqqFppomexJbb6dvg
B5janlbvhYhZ7vA/j8Il+/BPV2RBLV2PeJJmzvrt8z+em49AZozyIkoA3wCgyu4l
lHEHHnZ5qOfJ1mQWfZuhEqMD/RfK9PAlBf9RQZrdbuB9GTsLh6Z/OTAFLeabVEXA
GxiB5sYbixWP/Ed4+X+Pu5KekYEGfO84DH1SFZ7uytVUVFhZiUgrWjZC2Wwe/fOL
bktjR2p8NKJZERR+bFw9NZPMADjpVtQoub7tL2vnxOVaB5T35w7y2LcXeCq2WmdK
oB5zBACV/G8Far0wCWANVz4i8bUUY8B9vequ6YJEZiTBqt868EVzeE9C+gdRhgPC
tMvI9ZU2PIrpCVVhXn3Xt/1GHUZ52nq7sF4SqZ9+43SQcqv67auvTOODysGlButo
2ndn+QMy3FxK756hwoQcvcqeLjH2vAwxCsHXmjovbrDXAGcVZLQhQ2hhcmxlcyBD
aGFuZyA8d2RpQGF1c3Rpbi5yci5jb20+iFsEExECABsFAj7Oz24GCwkIBwMCAxUC
AwMWAgECHgECF4AACgkQfyFdFpJs/msXIgCgtERyu8k2RdqPuBVjWUHXpB7m91sA
njLWi5pvxjzlddD9eoXRj+BsPrh6tCxDaGFybGVzIENoYW5nIDxkZXVzZXhtYWNo
aW5hQHdkaS5keW5kbnMub3JnPoheBBMRAgAeBQJDP6hLAhsjBgsJCAcDAgMVAgMD
FgIBAh4BAheAAAoJEH8hXRaSbP5rwFIAnRcuqu46wTtQgwUo/YdtjwsqHUCXAJ9d
vYARDinWZopLsujV5BJWeWKqRbkCDQQ+zs93EAgAlePhP3yzPKNk8fbiLllb3mL5
OlMnkBXPKZbsbncpIMGhfdxhiT3BsBc6NQX/YUAZZ2wYVYDTQsGNirlPmOpOepSc
p/+M4nC25HNTusOXH+LaCJI2dCktcpeBexfxlA6naHFpuD+Zwp9CQwXnGS5CyRAv
bupTnGMtLQpymMSjJ7Ri3W4yiY2BbHFAKUIdg4WxMd/Y7KcqN0RT7bkgGSSASebR
OTq9gX1njgr7FhRuLRluGrJTxS4Uz+VwWHGLxe65nC/e8oLOoMreeUl59phRHBM5
2MdeHlySrTlUi/LjIkW53R7EP3XWxtiWkYY/dmgheShudF5YjrPfynfwvOsKywAD
Bgf+Jh/64ZwnxNcfB0jasg2PQQSDl5qp0dsAuSRkBJ9eqiGKYlxz8Ml9dSFYMBzh
pBvE3YeX2vFRJnaxJ21iyjNTmfxpq1aUbPcTgMVnhOOhNfijmXRm63TpA0XBEMdC
ZoWwHgKgFKfwfFdv0wmYxjOS/bBZ3ux+9Zq4iNKVOKQy4o8zXp/w4d3K189iJ3Ep
Tx4mnBu4HDAkdPTEuJsJa+C2D1y+lsHuBeDuzPHB0L94D7fodZTE7mZRVCfRTTgg
rlREdNa56OdXoA3+S3fNKwydRDvdNS022W6fjgMS+JMEFhJZRpXfJQ2w89d9ISCi
8z0pevdbNRzJeJoxPngdseRgmohGBBgRAgAGBQI+zs93AAoJEH8hXRaSbP5rGCkA
n3EUs0/0cYy8525a5XWV+ll8Af3OAJ90uSzZSNP96KXv11eFKlI39VvftA==
=8Qe0
-----END PGP PUBLIC KEY BLOCK-----




FAQ

What is this?

If you've received an email from me, then you may have seen something like this at the bottom of the email:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFBQzn6fyFdFpJs/msRAh+gAKCvJ1XtreaNwn758bVPaaiNdIiRSwCcC7tx
+uVbS90fD772uwjlZ7WbrOg=
=yXUh
-----END PGP SIGNATURE-----

So now you're wondering, what is this gibberish, and what does it have to do with that block of gibberish above? Hopefully, this document will give you a better idea, so read on.

The gibberish you see is related to an encryption method used called public key encryption. But first, you might be wondering ...

What is encryption and why should I use it?

Almost everything you send out on the internet is sent in plain text. What this means is that if someone is intercepting your messages, they can easily read what you're sending. An analogy would be if you are talking on the phone to your friend. If someone in your house or your friend's house picks up another phone, they can hear everything you say. However, in the Internet world, anybody, anywhere in the entire world can pick up a phone and listen in on your conversation.To understand the security risks in sending data over the internet, lets create a hypothetical example. Let's say you want to send a letter to someone, but you're not going to use the post office. Instead you give the letter to your neighbor. Your neighbor, in turn, promises to give the letter to his neighbor, and so on until it reaches the destination (we'll assume the letter "knows" how to get to the destination, packet routing is a topic for another paper). So now we see the problem, even if we fully trusted our neighbor, we don't know who's hands the letter will pass through. Anyone in the chain from sender to reciever can be nosy and open the letter. Once that happens they can do all sorts of nasty stuff including reading the letter, changing the letter and resending it, or writting new letters that look like they came from you.

You may be wondering just how easy it is for someone to intercept your messages. The most common point is from your local network. This means that if you're at work, it's usually your system administrators or that weird guy that sits in the corner and mumbles to himself. At home, it's probably going to be your hacker children. The root of the problem is the nature of the internet in general. The internet is a loose collection of computers. Packets sent from your computer can take random paths to the destination, and you can't trust the machines that your data passes through.

If you want to keep your messages secret you need a way to make it impossible for anyone else to read, except for you and the person your message is intented for. This is what encryption is for. To go back to our telephone analogy, it's like you and your friend are speaking in a language that only you two can understand, other people can still listen in, but they have no idea what you are saying.

What do I need to start encrypting my email messages?

There are many programs out there that support a variety of programs. A good (and free) solution is Enigmail, a plugin for Mozilla Mail.

What is symmetric cryptography and why don't we use it?

In symmetric cryptography, the same secret key is used for both encryption and decryption. While the algorithms for symmetric cryptography are strong, its weakness is that both parties must have the same key. If the key is sent over the internet, you risk having the key intercepted and your messages compromised. The only secure way to do a key exchange is physically, which may be inconvinent. For a better explaination, lets introduce a little bit of math terminology (just a little, I promise). Ok, if we want to encrypt a message, we'll use this:
ƒ(k,m) ⇒ m'
and to decrypt the message, we'll use this:
γ(k,m') ⇒ m
All this is saying is we have some function, ƒ, that takes a key, k, and the plain-text message we want to encode, m. The function takes m and encodes it, resulting in m'. In order to get the original message back, we use another function, γ, that basiclly undoes ƒ using the same key and the encrypted message, resulting in our original message.


What is public key cryptography and why do we use it?

In public key (or asymmetric) cryptography, two separate keys are used for ecryption and decryption. The public key (that block of text given above) is given to anyone who wants to contact you and the private key is kept for yourself only. Note that both keys can be used to encrypt messages and both keys can be used to decrypt messaged encrypted by the other key.

Public key cryptography offers us the following properties: Next we will explain the extact mechanisms of public key cryptography that result in these properties:
So just how secure is public key cryptography?

This is a fairly complex subject because it depends on the implementation. Generally the most secure algorithms are released to the public, so everyone can attempt to break it. If an algorithm is secret, them someone may secretly break it and you would never know (ex: Germany's Enigma during WWII).

In general, public key cryptography can be considered "pretty good", meaning not totally secure. The basis of public key cryptography is the relative difficulty of factoring very large prime numbers. Meaning if given enough time, any message can be decrypted. With computers increasing in power every year, what was considered secure a few years ago may not be secure today.

What are some other types of cryptography?

By far the simplest is called a Caesarian cipher, named after Julius Caesar. To use this, the sender and receiver first agree to shift the alphabet forward or back a certain number of letters. The problem with Casesarian codes is their vulnerability to attack, just create at most 25 substitutions and it's broken, arduous if done by hand, but a cakewalk for today's computers.

The most secure type of ecnryption is called a one-time pad. If done correctly, one-time pads are impossible to break. This is what the government uses to launch nuclear missles and such. To create a one-time pad, you would randomly choose a letter for every letter of your message, this is your encryption key. Make a copy of the key and give it to the receiver. When you create your encrypted text, add the value of the random letter to the value of your text. To decode, simply subtract the value.