210 likes | 326 Views
EEC 688/788 Secure and Dependable Computing. Lecture 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org. Outline. Cipher modes. 11/13/2014. EEC688: Secure & Dependable Computing. Wenbing Zhao. Stream Ciphers.
E N D
EEC 688/788Secure and Dependable Computing Lecture 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org
Outline Cipher modes 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Stream Ciphers Stream ciphers: convert one symbol of plaintext immediately into a symbol of ciphertext The transformation depends only on the symbol, the key, and the control information of the encryption algorithm 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Block Ciphers Block cipher: encrypts a group of plaintext symbols as one block It works on blocks of plaintext and produce blocks of ciphertext The columnar transposition is an example of block ciphers 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Cipher Modes A block cipher (e.g., AES & DES) is basically a monoalphabetic substitution cipher using big characters Whenever the same plaintext block goes in the front end, the same ciphertext block comes out the back end If you encrypt the plaintext abcdefgh 100 times with same DES key, you get the same ciphertext 100 times An intruder can exploit this property to help subvert the cipher 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Electronic Code Book Mode In ECB mode, each plaintext block is encrypted independently with the block cipher ECB allows easy parallelization to yield higher performance. However, no processing is possible before a block is seen 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Electronic Code Book Mode - Problems In ECB, plaintext patterns are not concealed Each identical block of plaintext gives an identical block of ciphertext. The plaintext can be easily manipulated by removing, repeating, or interchanging blocks Example 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Cipher Block Chaining Mode To avoid the ECB mode problem: replacing a block will cause the plaintext decrypted starting at the replaced to become garbage Exclusive OR the encrypted text with the next block of plaintext before encryption: Need an initialization vector (IV) to boostrap C0 = E(P0 XOR IV), C1 = E(P1 XOR C0), etc. Drawback: must wait until full 64-bit (128-bit) block to arrive to decrypt 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Cipher Block Chaining Mode Exclusive OR the encrypted text with the next block of plaintext before encryption: C0 = E(P0 XOR IV), C1 = E(P1 XOR C0), etc. Initialization Vector Decryption Encryption 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Cipher Feedback Mode Basic operation (Pi and Ci are blocks): Ci = E(Ci-1) XOR Pi, Pi = E(Ci-1) XOR Ci, C0 = IV Issue: Losing a single bit or byte will ruin all data after that 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Cipher Feedback Mode To enable byte-by-byte encryption When plaintext byte n (Pn) arrives, DES algorithm operates a 64-bit register to generate a 64-bit ciphertext Leftmost byte of that ciphertext is extracted and XORed with Pn That byte is transmitted on the transmission line The shift register is shifted left 8 bits, causing Cn-8 to fall off the left end, and Cn is inserted in the position just vacated at the right end by C9 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Cipher Feedback Mode Encryption Decryption 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Stream Cipher Mode To be insensitive to transmission error, an arbitrarily large sequence of output blocks, called the keystream, is treated like a one-time pad and XORed with the plaintext to get the ciphertext It works by encrypting an IV, using a key to get an output block The output block is then encrypted, using the key to get a second output block This block is then encrypted to get a third block, and so on The keystream is independent of the data, so (1) It can be computed in advance (2) It is completely insensitive to transmission errors 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Stream Cipher Mode Encryption Decryption 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Stream Cipher Mode It is essential never to use the same (key, IV) pair twice with a stream cipher because doing so will generate the same keystream each time Using the same keystream twice exposes the ciphertext to a keystream reuse attack Stream cipher mode is also called output feedback mode 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Keystream Reuse Attack Plaintext block, P0, is encrypted with the keystream to get P0 XOR K0 Later, a second plaintext block, Q0, is encrypted with the same keystream to get Q0 XOR K0 An intruder who captures both ciphertext blocks can simply XOR them together to get P0 XOR Q0, which eliminates the key The intruder now has the XOR of the two plaintext blocks If one of them is known or can be guessed, the other can also be found In any event, the XOR of two plaintext streams can be attacked by using statistical properties of the message 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Counter Mode To allow random access to encrypted data The IV plus a constant is encrypted, and the resulting ciphertext XORed with the plaintext By stepping the IV by 1 for each new block, it is easy to decrypt a block anywhere in the file without first having to decrypt all of its predecessors 11/13/2014 EEC688: Secure & Dependable Computing Wenbing Zhao
Exercise Q1. Assuming that the DES block cipher is used in the Electronic Code Book mode. If one bit in a block of ciphertext is inverted during transmission, how many bits will likely be damaged after decryption at the receiver? 11/13/2014 EEC693: Secure and Dependable Computing Wenbing Zhao
Exercise Q2. Assuming that the DES block cipher is used in the Cipher Block Chaining mode. If one bit of ciphertext is inverted during transmission, how many bits will likely be damaged after decryption at the receiver? 11/13/2014 EEC693: Secure and Dependable Computing Wenbing Zhao
Exercise Q3. Assuming that the DES block cipher is used in the Cipher Feedback mode. If one bit of ciphertext is inverted during transmission, how many bits will likely be damaged after decryption at the receiver (for both variations)? 11/13/2014 EEC693: Secure and Dependable Computing Wenbing Zhao
Exercise Q4. Assuming that the DES block cipher is used in the Stream Cipher mode (it is also called output feedback mode). If one bit of ciphertext is inverted during transmission, how many bits will likely be damaged after decryption at the receiver? 11/13/2014 EEC693: Secure and Dependable Computing Wenbing Zhao