I recently read the fantastic novel Cryptonomicon by Neal Stephenson, which I highly recommend for those of you who are fans of well-written tech fiction. The novel flips back and forth between the activities of some WW II English and American codebreakers and some of their present-day descendants and paints a very interesting picture of the world of cryptography, as well as being a great read. Stephenson's got a couple of other novels in the field, and I'm definitely going to track them down.
As a follow up, I am presently reading The Code Book by Simon Singh. This is a highly readable, fairly easy-to-grasp discussion of the history of cryptography from the Romans on through the middle ages and up through the various world wars to the present day. It contains all the details you'd want in an introductory book — just enough so that you can understand what's going on but not enough to be boring — and I was struck by just how much of the art/science of cryptography is really quite understandable. It isn't until some time in the 1970's that I start having difficulty with some of the concepts, and even then it's just because I'm lazy and haven't done any real math for about a decade or so.
I really had no idea at all about what a pivotal role codebreakers had played for the Allied forces during World War II. In fact, it's not at all a stretch to say that the main reason that the Allies won the war was because they were reading the Germans' mail and therefore knew what they were going to do and when. During the course of the war, cryptanalysts in England and elsewhere decoded millions of words of Axis messages, using an array of sophisticated mechanical devices and no small amount of sheer brainpower.
Cryptonomicon dwells on privacy, and The Code Book spends some time dicussing the issue as well. Did you know that it's pretty likely that every email you send is scanned automatically by the NSA for key words that might indicate that you're discussing something that might be interesting to them? It's been suggested that the ECHELON system — run by American and allied intelligence agencies — may intercept as many as 3 billion communications every day.
Now, I'm not the sort of person who gets very excited or upset about this sort of thing, but I admit to being a little bit annoyed by the fact that the government — any government — is reading my mail and listening to my phone calls.
One of the new features in Mac OS X 10.3 (Panther) is something called "FileVault", which will encrypt the contents of your home directory. It would be nice if Apple Mail offered the ability to encrypt your email, but for various reasons I doubt that will happen. However, if you'd like to make sure that nobody is reading your email, may I suggest taking a look at PGP, a program that will allow you to encrypt messages (or anthing else, I guess), and decrypt stuff that you get from others. PGP has just been released for OS X. It uses the amazing RSA public key encryption scheme which provides a way to encrypt messages in such a way that they can only be decrypted by the person they are intended for. PGP is free for noncommercial personal use, and there's also a payware version that is more convenient to use (integrated right into Mail) and has other features.
Anyway, I've generated a public key and posted it to the PGP key server. If you want to send me a private message, please feel free to look me up on the key server (Note: It's not the sympatico address) or use my public key:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP 8.0.2 - not licensed for commercial use: www.pgp.com
mQGiBD8b/9oRBAD3l36Ru5FmtGXeB+4mPfxB7AUzGY/0ayNdNM8BIhgVo0PjWOYS
x2wHarTBmCokgPuTjKXdv9t45LWz73WUhT5lYTRG1vg/I2bcY/EiLyDZaelyLyKs
r1e3jTOCusayXnMWl9c06l4izGXm9cCEJAqp3wUuMG4xjloIZPPvRmvhSQCg/6rj
3TWpAqKiv6ZuVnMZN7TUMNcEANJFyCmckrW13zWCG6KbiB4kMNZm8cHzGG5XtgB3
wE5yYRWsh7Uo4xFgmDSRu7+xHKGs0qS7fR9Mkv9TEs4HKj9vdmPwry/5mF65e7lZ
Y5cPYOZgDboEFyEsfgYk12oXic2T1jTia+/Jjdb+nr/XRbv92ChXUcAKu8OcJtg/
HLhfBACIrrEMrdYfiqRF1601Ui6+fWmrbzzZAKC6ebHIX7KGTLGlE7MBgM3jQf9Y
6ffSgzmdcAaVaj4tisWi/1aZejnqzTJbECf6Z8CBqkSi50agQRNYBnkdNqmZS69h
eFUBgDO9YBZwM8JDz6yZo/fpEcPIdswUMmgRNjhvbmXhOnT/T7QhQnJlbnQgTWFy
eWt1Y2EgPHBncEBtYXJ5a3VjYS5jb20+iQBXBBARAgAXBQI/G//aBwsJCAcDAgoC
GQEFGwMAAAAACgkQKLxmFtoZ0lnZ1QCfeGXq0zDdIrIa18xeof8mxxHE7dAAoMBv
8qlCeel1RqmnKcvEa9I7XWz+uQINBD8b/9oQCAD2Qle3CH8IF3KiutapQvMF6PlT
ETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZ
X9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56N
oKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kj
wEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obE
AxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAIC
CADiHB4GhcNlhJ5X0FoGRZLegqg/e0YNhUK/gbtvIeAIZAlWMaAflHi20Qlf2AsJ
66NBy07XTVcETTrtaCHA+OxWOcnksv3MrD0DOekTiK3PWwopxEizhpbLRPvRGgPb
VtjIhyvV5DUIqxVLKFy6qcx/ZcPeNT5CrElcjTw/avhyaUYgkkfo9+tIuuCtapWw
1ULBsy12/G2XV3whSKn1zhIobaj4pz3ibugPAULFWuSuYboALH9KO57zlutQjrY+
cbzUs67Yig2fqk5kRlTFii4ywI+yi++Wp0J148Fw0M1FbZxi1RhvXdhCLFK57bfl
WS1Ib7FyO/3BOPaYYcmG/MHUiQBMBBgRAgAMBQI/G//aBRsMAAAAAAoJECi8Zhba
GdJZquEAoP4eBgNVhvwsJ7GBnUjyjVjN0vICAKCy853Wdb6ZGpkuxiseFSbhv/ud
0A==
=/wKy
-----END PGP PUBLIC KEY BLOCK-----