ABSTRACT

One of the most basic goals of cryptography is to enable parties to communicate over an open communication channel in a secure way. But what does “secure communication” entail? In Chapter 3 we showed that it is possible to obtain secret communication over an open channel. That is, we showed how encryption can be used to prevent an eavesdropper (or possibly a more active adversary) from learning anything about the content of messages sent over an unprotected communication channel. However, not all security concerns are related to secrecy. In many cases, it is of equal or greater importance to guarantee message integrity (or message authentication) in the sense that each party should be able to identify when a message it receives was sent by the party claiming to send it, and was not modified in transit. We look at two canonical examples. Consider the case of a user communicating with their bank over the Internet.

When the bank receives a request to transfer $1,000 from the user’s account to the account of some other user X , the bank has to consider the following: