Question
(1 point) This question concerns block cipher modes. We will use a simple affine cipher, which can be expressed in C as follows. char cipher(unsigned
(1 point) This question concerns block cipher modes. We will use a simple affine cipher, which can be expressed in C as follows.
char cipher(unsigned char block, char key) { return (key+11*block)%256; } The inverse of this cipher is shown below. char inv_cipher(unsigned char block, char key) { // 163 is the inverse of 11 mod 256 return (163*(block-key+256))%256; }
Note that the block size is 8 bits, which is one byte (and one ASCII character). We will work with the fixed key 0x08.
We now decrypt various ciphertexts using modes for this cipher. In every case in which the mode requires an IV, the IV will be 0xAA. In the case of CTR mode, we use a (nonce || counter) arrangement in which the nonce is the left 5 bits of 0xAA and the counter is a 3 bit counter that begins at 0. In all of the problems given below, one character is one block. Each character of the plaintext should be regarded as its corresponding ASCII code. The ciphertext is given in hexadecimal.
a) Decrypt the ciphertext "262A350408" using CTR mode. Please enter your answer in ASCII characters (aka words).
b) Decrypt the ciphertext "EE33495F54" using ECB mode. Please enter your answer in ASCII characters (aka words).
c) Decrypt the ciphertext "3BF03BF4E0" using CFB mode. Please enter your answer in ASCII characters (aka words).
d) Decrypt the ciphertext "66555ABD5B" using CBC mode. Please enter your answer in ASCII characters (aka words).
e) Decrypt the ciphertext "3ADB652F52" using OFB mode. Please enter your answer in ASCII characters (aka words).
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