Data Encryption Standard

Data Encryption Standard (DES)

Part A:

4.1 Briefly define a nonsingular transformation.

4.2 What is the difference between a block cipher and a stream cipher?

4.3 Why is it not practical to use an arbitrary reversible substitution cipher of the kind

shown in Table 4.1?

4.4 Briefly define the terms substitution and permutation.

4.5 What is the difference between diffusion and confusion?

4.6 Which parameters and design choices determine the actual algorithm of a Feistel

cipher?

4.7 What are the critical aspects of Feistel cipher design?

 

Part B: 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Refer to the above figure. Each group has a different input for “Left”, “Right” and “Round Key” as shown in the following table:

 

 

Group NumberLeftRightRound Key
118CA18ADB8089591194CD072DE8C
25A78E394236779C24568581ABCCE
34A1210F6A9FC20A306EDA4ACF5B5
4B80895912E8F9C65DA2D032B6EE3
5236779C2CF26B47269A629FEC913
6A15A4B87387CCDAAC1948E87475E
72E8F9C6522A5963B708AD2DDB3C0
8A9FC20A3A15A4B873330C5D9A36D
9308BEE975A78E394181C5D75C66D
1010AF9D374A1210F699C31397C91F

 

Each group need to find the value of L1 and R1?

 

Advanced Encryption Standard (AES)

6.1 What was the original set of criteria used by NIST to evaluate candidate AES ciphers?

6.2 What was the final set of criteria used by NIST to evaluate candidate AES ciphers?

6.3 What is the difference between Rijndael and AES?

6.4 What is the purpose of the State array?

6.5 How is the S-box constructed?

6.6 Briefly describe SubBytes.

6.7 Briefly describe ShiftRows.

6.8 How many bytes in State are affected by ShiftRows?

6.9 Briefly describe MixColumns.

6.10 Briefly describe AddRoundKey.

6.11 Briefly describe the key expansion algorithm.

6.12 What is the difference between SubBytes and SubWord?

6.13 What is the difference between ShiftRows and RotWord?

6.14 What is the difference between the AES decryption algorithm and the equivalent inverse cipher?

6.4 Given the plaintext {0F0E0D0C0B0A09080706050403020100} and the key

{02020202020202020202020202020202}:

a. Show the original contents of State, displayed as a 4 * 4 matrix.

b. Show the value of State after initial AddRoundKey.

c. Show the value of State after SubBytes.

d. Show the value of State after ShiftRows.

e. Show the value of State after MixColumns.