Lecture 2.2: Private Key Cryptography II 9/19/2018 Lecture 2.2: Private Key Cryptography II CS 436/636/736 Spring 2013 Nitesh Saxena
Today’s fun/informative bit – The Smudge Attack 9/19/2018 Today’s fun/informative bit – The Smudge Attack See: http://www.usenix.org/event/woot10/tech/full_papers/Aviv.pdf 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Course Administration 9/19/2018 Course Administration Everything seems to be under control Any questions? 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Outline of today’s lecture 9/19/2018 Outline of today’s lecture Block Ciphers Data Encryption Standard (DES) 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Block Ciphers and Stream Ciphers 9/19/2018 Block Ciphers and Stream Ciphers Block ciphers partition plaintext into blocks and encrypt each block independently (with the same key) to produce ciphertext blocks. A stream cipher generates a keystream and encrypts by combining the keystream with the plaintext, usually with the bitwise XOR operation. We will focus mostly on Block Ciphers 9/19/2018 Lecture 2.2 - Private Key Cryptography II
DES – Data Encryption Standard 9/19/2018 DES – Data Encryption Standard Encrypts by series of substitution and transpositions. Based on Feistel Structure Worldwide standard for more than 20 years. Designed by IBM (Lucifer) with later help from NSA. No longer considered secure for highly sensitive applications. Replacement standard AES (advanced encryption standard) recently completed. 9/19/2018 Lecture 2.2 - Private Key Cryptography II
DES – Overview (Block Operation) 9/19/2018 DES – Overview (Block Operation) 9/19/2018 Lecture 2.2 - Private Key Cryptography II
9/19/2018 DES – Each Round 9/19/2018
Lecture 2.2 - Private Key Cryptography II 9/19/2018 DES – Function F 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Lecture 2.2 - Private Key Cryptography II 9/19/2018 DES – Key Schedule (KS) 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Operation Tables of DES: Key Schedule, PC-1, PC-2 9/19/2018 Operation Tables of DES: Key Schedule, PC-1, PC-2 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Operation Tables (IP, IP-1, E and P) 9/19/2018 Operation Tables (IP, IP-1, E and P) 9/19/2018 Lecture 2.2 - Private Key Cryptography II
S-boxes: S1 (as an example) 9/19/2018 S-boxes: S1 (as an example) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 10 11 Is the table entry from 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Lecture 2.2 - Private Key Cryptography II 9/19/2018 DES Decryption Same as the encryption algorithm with the “reversed” key schedule – NEXT! 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Initial permutation (IP) 9/19/2018 Plain text Initial permutation (IP) Round-1 (key K1) Rounds 2-15 Round-16 (key K16) swap IP inverse Cipher text 9/19/2018
Lecture 2.2 - Private Key Cryptography II 9/19/2018 encrypt IP inverse Cipher text IP Round-1 (K16) decrypt = Since 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Lecture 2.2 - Private Key Cryptography II 9/19/2018 DES Example We choose a random plaintext block and a random key, and determine what the ciphertext block would be (all in hexadecimal): 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Example (contd) -- encryption 9/19/2018 Example (contd) -- encryption 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Example (contd) -- decryption 9/19/2018 Example (contd) -- decryption Let us see how Bob, at the destination, can decipher the ciphertext received from Alice using the same key. Table 6.16 shows some interesting points. 9/19/2018 Lecture 2.2 - Private Key Cryptography II
DES Security: Avalanche Effect 9/19/2018 DES Security: Avalanche Effect 9/19/2018 Lecture 2.2 - Private Key Cryptography II
Lecture 2.2 - Private Key Cryptography II 9/19/2018 Further Reading Chapter 7.4 of HAC Chapter 3 of Stallings 9/19/2018 Lecture 2.2 - Private Key Cryptography II