CSI2108- Cryptographic Concept
Portfolio Assignment Part 2
In the workshops throughout this semester we will learn about and explore various cryptographic concepts and algorithms. As part of this process we will investigate how to make ciphers more secure and how they can be attacked, and the advantages and disadvantages of different kinds of codes and ciphers.
This assignment asks you to formalise your workshop tasks into a portfolio of cryptographic algorithms. You will be building several different algorithms in the program(s) of your choice, documenting and explaining your design choices, and critiquing the ciphers you have built.
In this assignment, the focus is not necessarily on building the best possible ciphers, but about being thoughtful and deliberate about your choices. It is about being able to explain and justify your choices, and about demonstrating an understanding of the strengths and weaknesses of the ciphers you have created.
The portfolio assignment may be completed in groups of 1-3 people. You should complete Part 2 of the Portfolio in the same group that you used to complete Part 1, unless you have discussed with the Unit Coordinator that you wish to switch to an individual assignment.
This document describes Part 2 of the Portfolio, is worth 25 marks. It focuses on the concepts in Modules 6-8 (RSA, hash functions and digital signatures). Submission of Part 2 is due in Week 11. It is recommended that you read the feedback from Part 1 before you submit Part 2!
To get started on this assignment, read the Portfolio Part 2 instructions and Submission instructions below, making note of the mark distribution for each question and what is expected of you.. Make sure you read through the advice on academic integrity to be sure what is acceptable in this assignment and where to get help if you need advice. Post in the Blackboard discussion board if you have any questions.
This section of the Portfolio concentrates on asymmetric ciphers. Asymmetric ciphers like RSA are useful in performing tasks like the exchange of symmetric keys and providing message integrity and authentication through digital signatures.
By the end of Portfolio Part 2 you will have the following cryptosystem for Alice and Bob to communicate:
Complete the following tasks in the programming language of your choice. (This includes MS Excel.) In your video you must demonstrate HOW your algorithms operate, i.e. how they perform the relevant tasks, including any code you wrote, and WHAT each of your design choices were. The accompanying documentation should go into more detail answering WHY you made these design choices and discussing the security and utility of your algorithms.
Write an algorithm which generates a session key for Alice and Bob and encrypts it using RSA. (6 MARKS)
[If your block length was more than 8, you are welcome to use a 6 bit key in this part of the assignment to avoid the numbers getting too big!]
Explain how your algorithm works to generate your key and the reasons why you designed your algorithm the way that you did. (2 marks)
[Your explanation should include the calculation of the ciphertext and how it is converted back to plaintext in the decryption.] (2 marks)
Design a simple hash function to create a message digest for X (the message from Portfolio Part 1), then use your RSA algorithm to produce a digital signature for this digest. (9 MARKS)
Reflect on how symmetric and asymmetric algorithms are being used together in the cryptosystem you have designed. (10 MARKS)
(You may do this reflection either in your documentation or in your video, as you prefer.)
(7 marks: 1 mark for very short simple reflection; 3 marks for reasonable reflection of key concepts learnt; 5 marks for good reflection of multiple concepts learnt and how they apply to the group’s view of cryptography; 7 marks for excellent and thoughtful reflection on the group’s changed understanding of the concepts learnt and to their future study of cryptography.)
For solution, connect with our professionals.