ABSTRACT

Cryptography is a vast subject, and we cannot hope to give a comprehensive account of the field here. Instead, we have chosen to narrow our focus to those areas of cryptography having the most practical relevance to the problem of secure communication. Broadly speaking, secure communication encompasses two complementary goals: the secrecy (sometimes called “privacy”) and integrity of communicated data. These terms can be illustrated using the simple example of a user A sending a message m to a user B over a public channel. In the simplest sense, techniques for data secrecy ensure that an eavesdropping adversary (i.e., an adversary who sees all communication occurring on the channel) cannot get any information about m and, in particular, cannot determine m. Viewed in this way, such techniques protect against a passive adversary who listens to — but does not otherwise interfere with — the parties’ communication. Techniques for data integrity, on the other hand, protect against an active adversary who may arbitrarily modify the data sent over the channel or may interject messages of his own. Here, secrecy is not necessarily an issue; instead, security in this setting requires only that any modifications performed by the adversary to the transmitted data will be detected by the receiving party.