CE708- Computer Security Assignment 2
|Question # 47529||Computer Science||1 year ago|
CE708- Computer Security
Assignment 2- 21/22 academic year
Author: Michael Barros
Credit: 10% of the total module mark
Deadline: 23rd of December of 2021 at 11.59.59,
This assignment comprises of two exercises. Submission of this assignment will be via FASER.
In this assignment, there will be NO restrictions on libraries you use in your Python software.
Exercise 1 (60%)
You are required to design a secure mechanism for both confidentiality and authentication purposes using a combination of Diffie Hellman key exchange and AES (Advanced Encryption Standard). This scheme should be able to (20% of the marks here)
· Have customizable key sizes between 128, 192 and 256 bits.
· Have a block size of 128 bits
· Have a customizable number of rounds with 10, 12 or 14 You must demonstrate that
· Two users can achieve confidentiality by being able to communicate securely. (20% of marks)
· A user can have their message authenticated by another user. (20% of marks)
In both exercises, you must think of efficient but best secure ways to demonstrate the two functionalities. You have seen different ways to do both confidentiality and authentication during the module, but I will give full marks to the techniques that are deemed best secure.
Provide customizable modes of operation for the AES with ECB (Electronic codebook), CFB (Cipher feedback) and CBC (Cipher block chaining)
You should submit a single zip file containing one folder. The only file formats acceptable are .zip , .7z or a linux gzipped tar file. If you submit a file in any other format, you will lose 10% of the marks for this assignment.
In both folders you must include
1. Source code (.py)
2. Up to 3 minutes Video demonstration (MP4 or MKV): using a screen recorder, record a video from your source code and explain how you have written the code. Then, run the code and explain how it works.
3. Up to 3 pages report (docx or pdf): you must (i) explain the technical content of your code and motivate your choices as necessary (ii) critical analysis of the technique and explain how to improve your code. Use references as necessary (references won’t count in the page limit)
15% of the marks will go to the video demonstrations and 15% of the marks will go to the reports.
10% of the marks will be attributed to the style, commenting and efficiency of your code. If your code is submitted with compilation errors, you will automatically lose these marks.
Issues that may lose marks for efficiency could include unnecessary copying of objects, unnecessary repetition of code. Your comments should say precisely what each function does and what each non-local variable represents; within function bodies you should use only brief comments to say what groups of lines do – you must not say what every statement does.
Of the remaining 60% goes for the submitted code/answers, 60 marks will be awarded for exercise 1.