UNIVERSITY OF UYO DEPARTMENT OF ELECTRICAL/ELECTRONICS & COMPUTER ENGINEERING SESSION: 2019/2020 SEMESTER: SECOND COURSE CODE/TITLE: CPE 823 ADVANCED CRYPTOGRAPHY AND DATA SECURITY INSTRUCTION: ANSWER FIVE QUESTIONS ONLY Time: 3hrs Question 1 a. b. c. d. e. f. What are the essential ingredients of a symmetric cipher? What are the two basic functions used in encryption algorithms? How many keys are required for two people to communicate via a cipher? What is the difference between a block cipher and a stream cipher? What are the two general approaches to attacking a cipher? A generalization of the Caesar cipher, known as the affine Caesar cipher, has the following form: For each plaintext letter p, substitute the ciphertext letter C: C = E([a, b], p) = (ap + b) mod 26 A basic requirement of any encryption algorithm is that it be one-toone. That is, if p _ q, then E(k, p) _ E(k, q). Otherwise, decryption is impossible, because more than one plaintext character maps into the same ciphertext character. The affine Caesar cipher is not one-to-one for all values of a. For example, for a = 2 and b = 3, then E([a, b], 0) = E([a, b], 13) = 3. i. Are there any limitations on the value of b? Explain why or why not. ii. Determine which values of a are not allowed. iii. Provide a general statement of which values of a are and are not allowed. Justify your statement. Question 2 a. What is the OSI security architecture? b. What is the difference between passive and active security threats? c. List and briefly define categories of passive and active security attacks. d. List and briefly define categories of security services. e. List and briefly define categories of security mechanisms. 1 Question 3 a. b. c. d. e. Why is it important to study the Feistel cipher? What is the difference between a block cipher and a stream cipher? What is a product cipher? What is the difference between diffusion and confusion? Consider a block encryption algorithm that encrypts blocks of length n, and let N = 2n. Say we have t plaintext–ciphertext pairs Pi, Ci = E(K, Pi), where we assume that the key K selects one of the N! possible mappings. Imagine that we wish to find K by exhaustive search. We could generate key K_ and test whether Ci = E(K_, Pi) for 1 … i … t. If K_ encrypts each Pi to its proper Ci, then we have evidence that K = K_. However, it may be the case that the mappings E(K, #) and E(K_, #) exactly agree on the t plaintext–cipher text pairs Pi, Ci and agree on no other pairs. i. What is the probability that E(K, #) and E(K_, #) are in fact distinct mappings? ii. What is the probability that E(K, #) and E(K_, #) agree on another t_ plaintext–ciphertext pairs where 0 … t_ … N - t? Question 4 a. Suppose the DES F function mapped every 32-bit input R, regardless of the value of the input K, to i) 32-bit string of one, ii) bitwise complement of R Hint: Use the following properties of the XOR operation: 1. What function would DES then compute? 2. What would the decryption look like? (A_ B) _ C = A_ (B _ C) A_ A = 0 A_ 0 = A A_ 1 = bitwise complement of A Where A, B, C are n-bit strings of bits 0 is an n-bit string of zeros, 1 is an n-bit string of one b. What is the difference between diffusion and confusion? c. Which parameters and design choices determine the actual algorithm of a Feistel cipher? d. Explain the avalanche effect. 2 Question 5 a. b. c. d. Briefly define a group. Briefly define a ring. Briefly define a field. For the group Sn of all permutations of n distinct symbols, i. What is the number of elements in Sn? ii. show that Sn is not abelian for n > 2. e. A modulus of 0 does not fit the definition but is defined by convention as follows: a mod 0 = a. With this definition in mind, what does the following expression mean: a K b (mod 0)? Question 6 a. What was the original set of criteria used by NIST to evaluate candidate AES ciphers? b. What was the final set of criteria used by NIST to evaluate candidate AES ciphers? c. What is the difference between Rijndael and AES? d. What is the purpose of the State array? e. In the discussion of Mix Columns and InvMixColumns, it was stated that b(x) = a-1(x)mod (x4 + 1) where a(x) = {03}x3 + {01}x2 + {01}x + {02} and b(x) = {0B}x3 + {0D}x2 + {09}x +{0E}. Show that this is true. Question 7 a. b. c. d. What is triple encryption? What is a meet-in-the-middle attack? How many keys are used in triple encryption? Why is the middle portion of 3DES a decryption rather than an encryption? e. Why do some block cipher modes of operation only use encryption while others use both encryption and decryption? 3 f. You want to build a hardware device to do block encryption in the cipher block chaining (CBC) mode using an algorithm stronger than DES. 3DES is a good candidate. Figure 1 shows two possibilities, both of which follow from the definition of CBC. Which of the two would you choose:. i. For security? ii. For performance? iii. Can you suggest a security improvement to either option in Figure 1, using only three DES chips and some number of XOR functions? Assume you are still limited to two keys. Fig 1: Use of Triple DES in CBC 4