Stream Ciphers and Block Ciphers • A stream cipher is one that encrypts a digital data stream one bit or one byte at a time. Examples of classical stream ciphers are the auto keyed Vigenère cipher and the Vernam cipher. • block cipher is one in which a block of plaintext is treated as a whole and used to produce a cipher text block of equal length. Modern Block Ciphers • Will now look at modern block ciphers • One of the most widely used types of cryptographic algorithms • Provide secrecy and/or authentication services • In particular will introduce DES (Data Encryption Standard) Claude Shannon and SubstitutionPermutation Ciphers • In 1949 Claude Shannon introduced idea of substitution-permutation (S-P) networks – modern substitution-transposition product cipher • These form the basis of modern block ciphers • S-P networks are based on the two primitive cryptographic operations we have seen before: – substitution (S-box) – permutation (P-box) • Provide confusion and diffusion of message Confusion and Diffusion • Cipher needs to completely obscure statistical properties of original message • A one-time pad does this • More practically Shannon suggested combining elements to obtain: • Diffusion – dissipates statistical structure of plaintext over bulk of ciphertext, i.e., each plaintext digit affect the value of many cipher text digits. • Confusion – makes relationship between ciphertext and key as complex as possible Block Cipher Principles • Most symmetric block ciphers are based on a Feistel Cipher Structure • Needed since must be able to decrypt ciphertext to recover messages efficiently • Block ciphers look like an extremely large substitution • Would need table of 264 entries for a 64-bit block • Using idea of a product cipher Block Cipher Modes of Operation • Mode : Electronic Codebook (ECB) • Description : Each block of 64 plaintext bits is encoded independently using the same key. • Typical Application : Secure transmission of single values (e.g., an encryption key) Block Cipher Modes of Operation Electronic Codebook (ECB) Block Cipher Modes of Operation • Mode : Cipher Block Chaining (CBC) • Description : The input to the encryption algorithm is the XOR of the next 64 bits of plaintext and the preceding 64 bits of cipher text. • Typical Application : General-purpose blockoriented transmission • Authentication Block Cipher Modes of Operation Cipher Block Chaining (CBC) Block Cipher Modes of Operation • Mode : Cipher Feedback (CFB) • Description : Input is processed j bits at a time. Preceding cipher text is used as input to the encryption algorithm to produce pseudorandom output, which is XORed with plaintext to produce next unit of cipher text. • Typical Application : General-purpose streamoriented transmission • Authentication Block Cipher Modes of Operation Cipher Feedback (CFB) Block Cipher Modes of Operation • Mode : Output Feedback (OFB) • Description : Similar to CFB, except that the input to the encryption algorithm is the preceding DES output. • Typical Application : Stream-oriented transmission over noisy channel (e.g., satellite communication) Block Cipher Modes of Operation Output Feedback (OFB)