Description
Note: Scanned hand-written assignments will be accepted. Zip all files and submit it to Dropbox of the course D2L page.
1. What is {01}-1 (i.e., multiplicative inverse of {01}) in GF(28)?
2. Verify the entry for {01} in the S-box for AES.
3. Show the first eight words of the key expansion for a 128-bit key of all zeros.
4. Given the plaintext {000102030405060708090A0B0C0D0E0F} and the key {01010101010101010101010101010101} (i.e., 16 bytes):
4.1 Show the original contents of State, displayed as a 4 by 4 matrix.
4.2 Show the value of State after the initial AddRoundKey
4.3 Show the value of State after SubBytes
4.4 Show the value of State after ShiftRows
4.5 Show the value of State after MixColumns
5 (programming)
5.1 Implement a program that computes AddRoundKey. This program outputs the result of the AddRoundKey operation given two inputs of State and a round key.
5.2 Implement a program that computes MixColumns. This program outputs the result of the MixColumns operation given an input of State. Use the simplified method that we discussed in class to calculate multiplication and addition of bytes.