A Classical Introduction to Cryptography: Applications for Communications Security

Content
DES: Feistel Scheme, S-boxes
Modes of operation: ECB, CBC, OFB, CFB, CTR, UNIX passwords
Classical designs: IDEA, SAFER K-64, AES
?Case study: FOX, CS-CIPHER
Stream ciphers: RC4, A5/1, E0
Brute force attacks: exhaustive search, tradeoffs, meet-in-the-middle
In Chapter 1 we saw the foundations of cryptography. Shannon formalized secrecy with the notion of entropy coming from information theory, and proved that secrecy was not possible unless we used (at least) the Vernam cipher. Except for the red telephone application, this is not practical. We can however do some cryptography by changing the model and relying on a computational ability. Before carefully formalizing computability in Chapter 8 we use an intuitive notion of complexity. Indeed, the need of an industry for practical cryptographic solutions pushed toward adopting an empirical notion of secrecy: a cryptographic system provides secrecy until someone finds an attack against it.
We recall that symmetric encryption relies on three algorithms:
a key generator which generates a secret key in a cryptographically random or pseudorandom way;
an encryption algorithm which transforms a plaintext into a ciphertext using a secret key;
a decryption algorithm which transforms a ciphertext back into the plaintext using the secret key.
Symmetric encryption is assumed to enable confidential communications over an insecure channel assuming that the secret key is transmitted over an extra secure channel. Fig. 2.1 represents one possible use of this scheme. Here the secret key is transmitted from the receiver to the sender in...