Whereas much of this chapter has focused on the uses of cryptography to
provide such security features as authentication and confidentiality, there
is a whole set of security issues that are not readily addressed by cryptographic
means. For example, worms and viruses spread by exploiting bugs
in operating systems and application programs (and sometimes human
gullibility as well), and no amount of cryptography can help you if your
machine has unpatched vulnerabilities. So other approaches are often
used to keep out various forms of potentially harmful traffic. Firewalls are
one of the most common ways to do this.