a) The so called S-box (Substitution box) is widely used cryptography primitive in symmetric key…

a) The so called S-box (Substitution box) is widely used cryptography primitive in symmetric key…

a) The so called S-box (Substitution box) is widely used cryptographic primitive in symmetrickey cryptosystems. In AES (Advanced Encryption Standard) the 16 S-boxes in each round are identical. All these S-boxes implement the inverse function in the Galois Field GF(28 ), which can also be seen as a mapping, S : {0, 1} 8 ? {0, 1} 8 , so that x ? GF(28 ) S 7? x -1 ? GF(28 ), that is 8 input bits are mapped to 8 output bits. What is the total number of possible mappings one can specify for function S ? Hint: Any function f : GF(2n ) ? GF(2n ) can be represented as a polynomial, f(x) = a0 + a1(x) + a2x 2 + · · · + a2n-2x 2 n-2 + a2n-1x 2 n-1 , ai ? GF(2n ) b) Construct the Galois field of 16 elements, GF(24 ), using a primitive polynomial f(x) = x 4+x+1. Compute the powers x i , 0 = i = 14 and represent these powers (multiplcative group) as polynomials of the form a0 + a1x + a2x 2 + a3x 3 . 6 c) Assume we want to implement an S-box using the Galois field from b). If we would like that our S-box is bijective is it a good choice to use function S : GF(24 ) ? GF(24 ) specified by, x ? GF(24 ) S 7? x 3 ? GF(24 ). Motivate your answer !