CSI2108 Cryptographic Concept Portfolio Assignment Part 2 Answer

pages Pages: 4word Words: 890

Question :

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:

  • Alice and Bob wish to send a message using their block cipher.
  • They have an algorithm that creates a random session key each time they want to communicate.
  • Alice and Bob each also have an RSA public/private key pair.
  • When Alice wishes to talk to Bob, she encrypts the current session key for Bob using his public key and sends this to him.
  • Alice also creates a message digest (hash) of her message and creates an RSA signature for this digest.
  • Alice encrypts her message using the block cipher and sends Bob the ciphertext and the signature.
  • Bob decrypts the session key using RSA, then decrypts the block cipher message using the session key. He then verifies the signature to see if he can trust the message.

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)

  • Design an algorithm to create a random session key which is bits long, where is the block length of your block cipher from Portfolio Part 1 Task 3. (For example, if your cipher had a block length of 6, then a possible session key would be 110101.) Note that session keys are designed to be refreshed for each new encryption session, so you need a method to algorithmically create a new key when requested.

[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)

  • Choose two prime numbers and and generate an RSA public/private key pair for Bob, explaining the steps you took to do so. (Make sure to choose different primes from the examples in lectures!) (2 marks)
  • Convert your session key from a binary number into a decimal number, and explain how Alice will encrypt this version of the session key for Bob using his public key. Explain how Bob will decrypt the session key using his private key.

[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)

  • Explain the design of your hash function, including why it satisfies the definition of a hash function. (2 marks)\
  • Discuss whether your hash function is cryptographically secure or not. (2 marks)
  • Generate an RSA public/private key pair for Alice (you do not need to discuss this bit) and explain how to combine this RSA key pair with your hash function to create a digital signature for Alice’s message. [Your explanation should include the actual calculation of the signature. You should assume that the signature is calculated using the unencrypted version of the message. You do NOT need to perform the encryption of the message with your block cipher.] In what way is this process different from the encryption you did in Task 4? (2 marks)
  • Explain how Bob will verify Alice’s signature and what information this gives him about the ciphertext he receives. (3 marks: 1 mark for verification; 2 marks for explanation

Reflect on how symmetric and asymmetric algorithms are being used together in the cryptosystem you have designed. (10 MARKS)

  • What advantages do each type of cipher (symmetric and asymmetric) have over each other, and why is it best to use a hybrid system like this for encryption? (3 marks) Remember to cite references here if you use any external materials to help you answer this question.
  • Reflect on what have you learnt from constructing this portfolio of cryptographic algorithms and how has this changed your view of cryptography from the beginning of the unit.

(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.)

Show More

Answer :

For solution, connect with our professionals.