Cryptography Puzzles on “The AES Algorithm”.
1. Conversion of the Plaintext MANIPALINSTITUTE to a state matrix leads to
a)
| M | A | N | I |
| P | A | L | I |
| N | S | T | I |
| T | U | T | E |
b)
| M | P | N | T |
| A | A | S | U |
| N | L | T | T |
| I | I | I | E |
c)
| M | A | I | L |
| N | P | I | T |
| A | N | I | U |
| S | T | T | E |
d)
| E | U | T | L |
| T | I | I | L |
| T | N | P | A |
| S | A | N | M |
View Answer
Answer: b
Clarification:
| M | A | N | I | P | A | L | I | N | S | T | I | T | U | T | E |
The State matrix is Arranged –
| M | P | N | T |
| A | A | S | U |
| N | L | T | T |
| I | I | I | E |
2. On encrypting MANIPALINSTITUTE with key ADVANCEDENCRYPTI we get the state matrix –
a)
| FC | 1D | 1B | 0D |
| 15 | 02 | 1D | 05 |
| 10 | 0F | 17 | 00 |
| 20 | 0D | 1B | FC |
b)
| FC | 1D | 1B | 0D |
| 15 | 02 | 1D | 05 |
| 10 | 0F | 17 | 00 |
| 20 | 0D | 1B | 0C |
c)
| OC | FE | 0B | 0D |
| D5 | 02 | 1D | 05 |
| 18 | 09 | 17 | 00 |
| 08 | 0D | 1B | FC |
d)
| OC | 1E | 0B | 0D |
| 05 | 02 | 1D | 05 |
| 18 | 09 | 17 | 00 |
| 08 | 0D | 1B | 0C |
View Answer
3. The multiplicative inverse of 0x95 in AES where m(x)=x8+x4+x3+x+1 is
a) 0x8F
b) 0xF8
c) 0x8A
d) 0xA8
Answer: c
Clarification: The multiplicative inverse is 0x8A.
4. In AES, to make the s-box, we apply the transformation
b’_i = b_i XOR b_(i+4) XOR b(i+5) XOR b_(i+6) XOR b_(i+7) XOR c_i
What is c_i in this transformation?
a) c_i is the ith bit of byte c with value 0x63
b) c_i is the ith bit of byte c with value 0x25
c) c_i is the ith bit of byte c with value 0x8F
d) c_i is the ith bit of byte c with value 0x8A
Answer: a
Clarification: Ci is the ith bit of byte c with value 0x63 i.e,
c = 01100011.
5. The S-box value for byte stored in cell (6,D)
a) 0x3C
b) 0x7F
c) 0xFD
d) 0x4A
Answer: a
Clarification: We first find the multiplicative inverse of 0x6D. The multiplicative inverse of 0x6D is 0x93. On performing the transformation on 0x93 we get 0x3C.
6. The S-box value for byte stored in cell (B,3)
a) 0x3C
b) 0xB3
c) 0x4F
d) 0x90
Answer: b
Clarification: We first find the multiplicative inverse of 0xB3. The multiplicative inverse of 0xB3 is 0xEF. On performing the transformation on 0xEF we get 0x63.
7. The S-box value for byte stored in cell (3,3)
a) 0xC3
b) 0x3C
c) 0x44
d) 0x9B
Answer: a
Clarification: We first find the multiplicative inverse of 0x33. The multiplicative inverse of 0x33 is 0x6C. On performing the transformation on 0x6C we get 0xC3.
8. The inverse s-box permutation follows,
b’_i = b_(i+2) XOR b(i+5) XOR b_(i+7) XOR d_i
Here d_i is
a) d_i is the ith bit of a byte ‘d’ whose hex value is 0x15
b) d_i is the ith bit of a byte ‘d’ whose hex value is 0x05
c) d_i is the ith bit of a byte ‘d’ whose hex value is 0x25
d) d_i is the ith bit of a byte ‘d’ whose hex value is 0x51
Answer: b
Clarification: The value of ‘d’ is 0x05.
9. The Inverse S-box value for byte stored in cell (3,3)
a) 0xC3
b) 0x66
c) 0x1F
d) 0x9B
Answer: b
Clarification: We first find the multiplicative inverse of 0x33. And then perform the matrix transformation to get 0x66.
10. The Inverse S-box value for byte stored in cell (6,3)
a) 0x00
b) 0x11
c) 0x01
d) 0x04
Answer: a
Clarification: We first find the multiplicative inverse of 0x63. And then perform the matrix transformation to get 0x00.
11. The Inverse S-box value for byte stored in cell (D,2)
a) 0x5F
b) 0x2D
c) 0x7F
d) 0x5D
Answer: c
Clarification: We first find the multiplicative inverse of 0xD2. And then perform the matrix transformation to get 0x7F.
12. What is the Shifted Row transformation for the matrix bellow?
| FE | 72 | 2B | D7 |
| 6B | 77 | A4 | 6B |
| AD | 01 | F0 | 63 |
| 30 | D7 | AF | FE |
a)
| FE | 72 | 2B | D7 |
| 6B | 77 | A4 | 6B |
| AD | 01 | F0 | 63 |
| 30 | D7 | AF | FE |
b)
| 72 | 2B | D7 | FE |
| A4 | 6B | 6B | 77 |
| 63 | AD | 01 | F0 |
| 30 | D7 | AF | FE |
c)
| FE | 72 | 2B | D7 |
| 77 | A4 | 6B | 6B |
| F0 | 63 | AD | 01 |
| FE | 30 | D7 | AF |
d)
| D7 | FE | 72 | 2B |
| A4 | 6B | 6B | 77 |
| 01 | AD | 63 | F0 |
| 30 | D7 | AF | FE |
Answer: c
Clarification: The Shift Rows transformation consists of:
-Not shifting the first row of the state array at all.
-Circularly shifting the second row by one byte to the left.
-Circularly shifting the third row by two bytes to the left, and
-Circularly shifting the last row by three bytes to the left.
