Upload to Canvas a PDF of your work for the following problems.
multGF256
function to calculate \(x, x^2, x^3, \ldots\) until the answers
start repeating. (Observe that they must start repeating eventually
because this is a finite field.) How many different “powers of \(x\)” are there in \(\mbox{GF}(256)\)?(I’m assuming you’ll do problems 2–4 by hand; no additional programming is expected.)
Define an encryption function on 4-bit blocks by representing 4-digit bit strings as polynomials in the field \(\mathbb{Z}_2[x]/(p(x))\), where \(p(x) = x^4+x^3+x^2+x+1\), and defining \(E(p(x)) = x^2 p(x)\). Encrypt the 3-block string \(001101010011\) using this cipher in ECB mode. In addition, give a formula for the decryption function.
Define an encryption function on 4-bit blocks by representing 4-digit bit strings as polynomials in the field of Problem 2, and defining \(E(p(x)) = x^2 p(x)\). Encrypt the 3-block string \(001101010011\) using this cipher in CBC mode, with an initial vector of \(1011\).
Define an encryption function on 4-bit blocks by representing 4-digit bit strings as polynomials in the field of Problem 2, and defining \(E(p(x)) = x^2 p(x)\). Encrypt the 3-block string \(001101010011\) using this cipher in CTR mode, with an initial vector of \(1011\). (For the purposes of this problem, replace \(L_8\) with the identity function.) Show all work. (Warning: The counter in CTR mode uses binary addition, while the \(\oplus\) operation corresponds to addition in the field (which works like an XOR). These are different operations. For example, in this problem, \(X_1 = 1011\), so when incremented by the counter, \(X_2 = X_1 + 1 = 1011+1=1100\). As elements of the field, these bit strings correspond to \(X_1 = x^3+x+1\) and \(X_2 = x^3+x^2\), so in the field, \(X_2 \neq X_1 + 1\).)