Question
CSCI 4613 Assignment 3 Problems 1 and 2 will require you to compute various AES operations on a block of plaintext. After an initial AddRoundKey
CSCI 4613 Assignment 3 Problems 1 and 2 will require you to compute various AES operations on a block of plaintext. After an initial AddRoundKey layer, each round (except for the last) consists of the following layers in order: SubBytes - substitute each byte in the internal state using a predefined permutation. ShiftRows - arrange the bytes into a 4 by 4 matrix and circularly shift the bytes in each row to the right according to row number, where the row numbers start at 0. MixColumn - use a linear transformation to process the bytes in each column. AddRoundKey - XOR the internal state with the next round key. The SubBytes layer is determined by the following table: |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f --|----------------------------------------------- 00|63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76 10|ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0 20|b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15 30|04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75 40|09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84 50|53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf 60|d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8 70|51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2 80|cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73 90|60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db a0|e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79 b0|e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08 c0|ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a d0|70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e e0|e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df f0|8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16 The row headings represent the first four bits of the input byte while the column headings represent the last four bits of the input byte. The entries in the table are the corresponding output bytes for an input byte whose first four bits match the row heading and whose last four bits match the column heading. For example, the input byte b4 would translate to the entry in row b0 and column 04, which is 8d. The MixColumn layer performs linear transformations on the output of the ShiftRows layer using the XOR operation in place of addition and the Galois Field Multiplication operation in place of multiplication. The operation has many of the same properties as regular multiplication, but involves left-shift and XOR operations. Luckily, we only need to multiply bytes by 02 and 03, the results of which are shown in the following tables:
Multiply byte by 02: |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f --+------------------------------------------------ 00|00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 10|20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 20|40 42 44 46 48 4a 4c 4e 50 52 54 56 58 5a 5c 5e 30|60 62 64 66 68 6a 6c 6e 70 72 74 76 78 7a 7c 7e 40|80 82 84 86 88 8a 8c 8e 90 92 94 96 98 9a 9c 9e 50|a0 a2 a4 a6 a8 aa ac ae b0 b2 b4 b6 b8 ba bc be 60|c0 c2 c4 c6 c8 ca cc ce d0 d2 d4 d6 d8 da dc de 70|e0 e2 e4 e6 e8 ea ec ee f0 f2 f4 f6 f8 fa fc fe 80|1b 19 1f 1d 13 11 17 15 0b 09 0f 0d 03 01 07 05 90|3b 39 3f 3d 33 31 37 35 2b 29 2f 2d 23 21 27 25 a0|5b 59 5f 5d 53 51 57 55 4b 49 4f 4d 43 41 47 45 b0|7b 79 7f 7d 73 71 77 75 6b 69 6f 6d 63 61 67 65 c0|9b 99 9f 9d 93 91 97 95 8b 89 8f 8d 83 81 87 85 d0|bb b9 bf bd b3 b1 b7 b5 ab a9 af ad a3 a1 a7 a5 e0|db d9 df dd d3 d1 d7 d5 cb c9 cf cd c3 c1 c7 c5 f0|fb f9 ff fd f3 f1 f7 f5 eb e9 ef ed e3 e1 e7 e5 Mulitply byte by 03: |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f --+------------------------------------------------ 00|00 03 06 05 0c 0f 0a 09 18 1b 1e 1d 14 17 12 11 10|30 33 36 35 3c 3f 3a 39 28 2b 2e 2d 24 27 22 21 20|60 63 66 65 6c 6f 6a 69 78 7b 7e 7d 74 77 72 71 30|50 53 56 55 5c 5f 5a 59 48 4b 4e 4d 44 47 42 41 40|c0 c3 c6 c5 cc cf ca c9 d8 db de dd d4 d7 d2 d1 50|f0 f3 f6 f5 fc ff fa f9 e8 eb ee ed e4 e7 e2 e1 60|a0 a3 a6 a5 ac af aa a9 b8 bb be bd b4 b7 b2 b1 70|90 93 96 95 9c 9f 9a 99 88 8b 8e 8d 84 87 82 81 80|9b 98 9d 9e 97 94 91 92 83 80 85 86 8f 8c 89 8a 90|ab a8 ad ae a7 a4 a1 a2 b3 b0 b5 b6 bf bc b9 ba a0|fb f8 fd fe f7 f4 f1 f2 e3 e0 e5 e6 ef ec e9 ea b0|cb c8 cd ce c7 c4 c1 c2 d3 d0 d5 d6 df dc d9 da c0|5b 58 5d 5e 57 54 51 52 43 40 45 46 4f 4c 49 4a d0|6b 68 6d 6e 67 64 61 62 73 70 75 76 7f 7c 79 7a e0|3b 38 3d 3e 37 34 31 32 23 20 25 26 2f 2c 29 2a f0|0b 08 0d 0e 07 04 01 02 13 10 15 16 1f 1c 19 1a Given a column made up of bytes 0, 1, 2, and 3, the MixColumn layer generates a new column made up of bytes 0, 1, 2, and 3 where: 0 = ( 0) ( 1) 2 3 1 = 0 ( 1) ( 2) 3 2 = 0 1 ( 2) ( 3) 2 = ( 0) 1 2 ( 3)
1. Given a plaintext block and a round key 0 with the following values: = 0 = Compute the following AES operations: (a) The initial AES AddRoundKey layer. (6 pts) (b) The SubBytes layer from the first round. (6 pts) (c) The ShiftRows layer from the first round. (6 pts) (d) The MixColumn layer from the first round applied only to the to the first column of the internal state. (10 pts) 2. Let plaintext be from problem 1 with the first byte changed to ff. That is, = Answer the following questions. (a) Compute the results of the initial AddRoundKey layer with as the input. How many bytes are different from your answer to problem 1(a)? (4 pts) (b) Compute the results of the round 1 SubBytes layer with the results from part (a) as the input. How many bytes are different from your answer to problem 1(b)? (4 pts) (c) Compute the results of the round 1 ShiftRows layer with the results from part (b) as the input. How many bytes are different from your answer to problem 1(c)? (4 pts) (d) Compute the results of the round 1 MixColumn layer on the first column of the results from part (c) as the input. How many bytes are different from your answer to problem 1(d)? (4 pts) (e) How many bytes would be different in the remaining 3 columns if were used instead of ? (2 pts) (f) How many bytes would be different at the end of round 1 if were used instead of ? (2 pts) (g) How many bytes would be different at the end of round 2 if were used instead of ? (2 pts) 3. CSCI 5613 students only: write a short summary of: PRESENT: An Ultra- Lightweight Block Cipher - Bogdanov et al (2007). (10 pts) The summary should be 2-3 paragraphs long. Use your own words. Do not copy and paste sections of the paper. Make sure to highlight all of the important points in the paper.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started