Cryptography is surrounded in myths, politics, and passionate opinions. This appendix is intended to help you sort them out to the extent necessary to build a firewall. It is not a complete introduction to cryptography; instead, it’s a rapid tour of the essentials you’ll need to understand the rest of this book. In particular, we avoid going into details on how cryptographic algorithms actually work, focusing instead on their general properties. A number of books focus on cryptography; we particularly recommend Bruce Schneier’s Applied Cryptography, 2nd edition (John Wiley & Sons, 1995).
This appendix starts by discussing general issues in cryptography, then describes types of cryptographic algorithms and their uses, and finishes with some information about specific algorithms.
For the most part, people use cryptography to protect information. Sometimes they are trying to keep something secret; sometimes they are trying to keep something from being changed; sometimes they are trying to ensure that the person responsible for something is clearly identifiable. But very few people use cryptography just for the amusement value.
In order to determine what you need from cryptography, you have to first know what you need to protect and what you’re trying to protect it from. For instance, suppose you are attempting to keep some piece of information secret. That might be a trivial piece of information that’s going to change again soon ...