Question: 2 . Block Ciphers [ 1 1 marks ] 2 You are required to implement two programs in Python aes - encrypt.py and aes -
Block Ciphers marks You are required to implement two programs in Python aesencrypt.py and aesdecrypt.py Each program takes five arguments: keyinput file containing bit key modeecbcbc ininput file outoutput file and optional IVfile containing IV For this task, you should use cryptography library in python and not the openssl CLI. For padding, use PKCSa Submit your implementation of aesencrypt.py and aesdecrypt.py You will be marked on the correctness of your solution. If you have used any code from the Internet, specify that in the source files. marksb Consider the two messages from Mohit to Ian "Mohitthedrummer:ian rockerrrrrrr: Vangelis To The Unknown Man" and "Mohitthedrummer:ianrockerrrrrrr: Van gelis State of Independence". Use aesencrypt with modeecb and any random key. Provide the hex dump of first bytes of both ciphertexts. Compare the ciphertexts. Do you see some similarity between the two? Is this a vulnerability and if so how would you fix it markc Assume that CCS at UoG chooses to use your implementation of aesencrypt and aesdecrypt with modecbc and a counter IV Does this construction provide confidentiality? Please explain your answer. markd Does the construction in c provide integrity? Please explain your answer marke Add Galois Counter Mode GCM support to your aesencrypt.py and aesdecrypt.py programs. You may need to pass a parameter for GCM Pass this as gcmargvalue in ASCII What is the purpose of this additional parameter? What additional security properties GCM provides? If you have used any code from the Internet, specify that in the source files. marks
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
