Data communications channels are often insecure, subjecting messages transmitted over the channels to passive and active threats. With a passive threat, an intruder intercepts messages to view the data. This intrusion is also known as eavesdropping. With an active threat, the intruder modifies the intercepted messages. An effective tool for protecting messages against the active and passive threats inherent in data communications is cryptography.
Cryptography is the science of mapping readable text, called plaintext, into an unreadable format, called ciphertext, and vice versa. The mapping process is a sequence of mathematical computations. The computations affect the appearance of the data, without changing its meaning.
To protect a message, an originator transforms a plaintext message into ciphertext. This process is called encryption or encipherment. The ciphertext is transmitted over the data communications channel. If the message is intercepted, the intruder only has access to the unintelligible ciphertext. Upon receipt, the message recipient transforms the ciphertext into its original plaintext format. This process is called decryption or decipherment. The encryption and decryption concepts are illustrated in figure 11.1.
Figure 11.1: Message Encryption and Decryption.
The mathematical operations used to map between plaintext and ciphertext are identified by cryptographic algorithms. Cryptographic algorithms require the text to be mapped, and, at a minimum, require some value which controls the mapping process. This value is called a key. Given the same text and the same algorithm, different keys produce different mappings.
Cryptographic algorithms need not be kept secret. The success of cryptography is attributed to the difficulty of inverting an algorithm. In other words, the number of mappings from which plaintext can be transformed into ciphertext is so great, that it is impractical to find the correct mapping without the key. For example, the NIST DES (Data Encryption Standard) uses a 56-bit key. A user with the correct key can easily decrypt a message, whereas a user without the key would need to attempt random keys from a set of over 72 quadrillion possible values.
Cryptography is used to provide the following services: authentication, integrity, non-repudiation, and secrecy. Authentication allows the recipient of a message to validate its origin. It prevents an imposter from masquerading as the sender of the message. Integrity assures the recipient that the message was not modified en route. Note that the integrity service allows the recipient to detect message modification, but not to prevent it. There are two types of non-repudiation service. Non-repudiation with proof of origin provides the recipient assurance of the identity of the sender. Non-repudiation with proof of delivery provides the sender assurance of message delivery. Secrecy, also known as confidentiality, prevents disclosure of the message to unauthorized users.
Two approaches have been developed to provide the authentication, integrity, and secrecy services. Section 11.2.1 describes conventional or symmetric key cryptography. Section 11.2.2 describes public or asymmetric key cryptography. Section 11.2.3 discusses a scheme where the two cryptographic techniques are used together.