One thing being left out of this discussion so far is signing, which is arguably just as important in many cases as encryption. There are a fair number of situations where you don't care all that much who can see the data, but you care a lot that it comes from the person you think it does. I think it's worth mentioning, since encryption and signing generally go hand in hand.