170 likes | 538 Views
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.
E N D
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 Substitution-Permutation 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 • 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 block-oriented transmission • Authentication
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 stream-oriented transmission • Authentication
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)