CSIS 4481: Problem Set 6: AES 1. AES round constants. The key expansion step of AES requires computing "round constants r(i)-00000010 M where the computation is in GF(22). That is, the ri) are polynomials mod X' x+X X+1. In other words, ri)- Xi-44 mod x*+x+x+X+1. Compute the following r(i). HINT: parts a through h should require minimal (if any) computation on your part, while parts i and j will require modulo reducing a polynomial. Feel free to compute your solutions in any of the following: as polynomials, in the binary representation of the polynomial, or in hexadecimal. However, please express your answers in either binary or hexadecimal for full credit. a r(4)- C, r(12) d. r(16)- r(20) = r(24) = e, g. (28)- h. r(32)- i. r(36) j. r(40) 2. AES Key Expansiorn Keys in the AES Cryptosystem are 128 bits in length (16 bytes). To generate the round keys, the 16 bytes of the key are placed into the columns of a 4 by 4 matrix. 40 additional columns are then added to this matrix according to a recursive definition. Specifically, if i is not a multiple of 4, then column w(i) becomes w()-w(4) w(i-l). If i is a multiple of 4, then column w(i) becomes w(i)-w(i-4e T(wti-1). where T(w(i-l )) is formed by the following steps. If the components of wi-1) are (a, b, c, d), T(w(i-1)) is then t SBox(b) rO), SBox(e),SBox(d). SBox(a) . where the SBox used for the substitutions is the same as from the byte substitution step of AES (the S-Box from page 163 of the textbook, Table 6.2.a). For the remaining parts of this assignment, our AES key is (written in hex): IA 00 50 12 BE 10 00 01 20 40 34 07 10 0001. Below, you sce the first 4 columns of the key matrix filled in appropriately using the above key. Compute the next 8 rows. Feel free to use a calculator to compute any XORs (c.g.. Window's calculator accessory placed in hex mode will make this step take a lot less time). The important thing is that you know what XORs to compute BE 10 07 10 01 20 40 34 IA 12 Co 01 3. Initial Add Round Key Step. The first step of AES is to place the 128 bits (16 bytes) of plaintext in a 4 by 4 matrix, filling in the matrix cells column by column. And to then compute the XOR of this matrix and the w(0) through w(3) columns AE B1 00 21 34 54 65 01 A1 50 10 12. It is shown below in the state matrix to the left. The matrix on the right is the result of the XOR with the key. i.e., this step is done for you, but you will need the matris on the right for the next step 12 32 34 54 of the key matrix. For the remainder of the assignment our plaintext is (in hex): 35 74 25 35 10 Al Al 50 10 12 08 32 64 46 12 32 AE Bl 54 65 01 40 10 13 El