Q-1) Write a program to support the AES-192 and AES-256 key sizes in addition to

Q-1) Write a program to support the AES-192 and AES-256 key sizes in addition to the AES-128 key size. Your implementation should take as input a Plain-text, a key, and a key size (128, 192, or 256 bits), and output the corresponding cipher-text.
Test your implementation using the following plain-text and key:
Input:
Plain-text: 00112233445566778899aabbccddeeff
Key: 000102030405060708090a0b0c0d0e0f1011121314151617 Key size: 192 bits
-> Your program should output the following cipher-text:
Output:
Cipher-text: dda97ca4864cdfe06eaf70a0ec0d7191
Q-2) Implement a key expansion algorithm program for AES. Your implementation should take as input a 128-bit, 192-bit, or 256-bit key, and output a set of round keys for use in AES encryption and decryption.
Test your implementation using the following key:
Input:
Key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
-> Your program should output the following round keys:
Output:
Round 0 Key: 000102030405060708090a0b0c0d0e0f Round 1 Key: d6aa74fdd2af72fadaa678f1d6ab76fe Round 2 Key: b692cf0b643dbdf1be9bc5006830b3fe Round 3 Key: b6ff744ed2c2c9bf6c590cbf0469bf41 Round 4 Key: 47f7f7bc95353e03f96c32bcfd058dfd Round 5 Key: 3caaa3e8a99f9deb50f3af57adf622aa Round 6 Key: 5e390f7df7a69296a7553dc10aa31f6b Round 7 Key: 14f9701ae35fe28c440adf4d4ea9c026 Round 8 Key: 47438735a41c65b9e016baf4aebf7ad2 Round 9 Key: 549932d1f08557681093ed9cbe2c974e Round 10 Key: 13111d7fe3944a17f307a78b4d2b30c5
Q-3) We want to develop a better sense of the pseudo randomness of the cipher- texts generated by the AES block cipher. In particular, we will focus on the most commonly used variant with 128-bit keys. Let X be the 16-byte string consisting of X = 10 04 20 18 00 00 00 00 00 00 00 00 00 00 00 00 in hex-format.
A) What is the value of AESX(X)? Write the result in hex-format. Here, AESK(M) is the cipher-text generated by AES on input key K and plain-text M.
B) Find a 16-byte plain-text M with the property that the last byte of C = AESX(M) is equal to 00. Explain how you have found it?

Posted in Uncategorized

Place this order or similar order and get an amazing discount. USE Discount code “GET20” for 20% discount