Reference no: EM132387164 
                                                                               
                                       
COSC2536/2537 Security in Computing and Information Technology Assignment
School of Science - RMIT University, Australia
Learning Outcomes - This assessment is relevant to the following Learning Outcomes:
-  understand applications of privacy preserving computation techniques, digital signatures and data hiding techniques.
-  develop privacy preserving applications and libraries using any programming language of your choice.
-  understand the life cycle and design principles of Blockchain and Cryptocurrency applications.
-  analyze the strength and limitations of security protocols.
-  design new security mechanisms and protocols for any small and large-scale applications.
-  Implementing a simple secure system
-  Critically analyze and evaluate the security of computing and IT systems on a practical level and privacy related issues in computing.
Q1. Privacy Preserving Online Voting System
Show the encryption, homomorphic computations and decryption processes.
Q2. Digital Signatures
Q2.1 [RSA Signature Scheme]
Suppose Bob (the sender) wants to send a message m=123456 to Alice (the receiver). However, before sending the message he would like to sign the message. When Alice receives the signed message, she would like to verify that the message is indeed from Bob. To facilitate signing and verification Bob generates public and private keys using RSA encryption algorithm and sends the public key to Alice. Bob uses parameter p = 5563 and q = 3821, and chooses a suitable public key parameter e=9623. How would Bob sign message m=123456? How would Alice verify the signed message from Bob?
Q2.2 [ElGamal Signature Scheme]
Suppose Bob (the sender) wants to send a message m=4567 to Alice (the receiver). However, before sending the message he would like sign the message. When Alice receives the signed message, she would like to verify that the message is indeed from Bob. To facilitate signing and verification Bob generates public and private keys using ElGamal encryption algorithm and sends the public key to Alice. Bob chooses p= 7331, g=3411, x=41. How would Bob sign message m=4567? How would Alice verify the signed message from Bob?
Q2.3 [RSA Signature Scheme for Text Message]
Suppose Bob (the sender) wants to send a large text message M to Alice (the receiver). You should download the text message file "Message.txt" from the CANVAS. The text message M is as follows:
Cryptocurrencies continue to grow in price and size. Knowledge about Bitcoin, Litecoin, Ethereum, and others has spread through the entire world. Cryptocurrencies are providing such features and tools that simplify our lives. They are changing the way things work. Some people fear the changes. But changes are not always bad. Cryptocurrencies are modifying our lives, and the way industries develop. There's no doubt that cryptocurrencies are disrupting and affecting the global economy in many ways.
Before sending the message, Bob generates a hash h(M) of the text message M using MD5 hash algorithm, and converts h(M) into integer message m. Then, he signs the m and sends it to Alice. When Alice receives the signed message, she would like to verify that the message is indeed from Bob. To facilitate signing and verification Bob generates public and private keys using RSA encryption algorithm and sends the public key to Alice. Bob uses the following parameters:
p = 278966591577398076867954212605012776073
q = 467207331195239613378791200749462989467
Bob chooses a suitable public key parameter e=41. How would Bob sign message M? How would Alice verify the signed message from Bob?
Q3. OpenSSL and IPFS
Assume that an owner of a particular file, say Alice, wants to share the file to her colleague, say Bob. In other words, Alice is the sender and Bob is the receiver. They use an IPFS based file repository and OpenSSL for providing security. Alice and Bob perform several operations using OpenSSL and IPFS to ensure secure file sharing. Throughout the processes, AES symmetric-key and RSA public-key encryption algorithms of OpenSSL are used. You should choose your own file (e.g. a text file with your student number and name) and AES encryption key (e.g. 123456789).
The scenario is illustrated in the Figure-Q3 below. You are expected to show the required OpenSSL and IPFS commands sequentially for each step stated below. Please provide screenshot of the outcome for each command.
Q4. Report Writing or Implementation
Q4.1 [Writing Report on Blockchain]
Choose a system where Blockchain Technology can be applied. Write a well-organized report on how the Blockchain Technology can impact your chosen system. You may consider the followings scenarios to prepare your report:
-  Blockchain based Financial System
-  Blockchain based Real Estate Management Systems
-  Blockchain based Healthcare
-  Blockchain based smart city
-  Blockchain based smart manufacturing
-  Blockchain based supply-chain
-  Blockchain based E-Commerce
-  Blockchain based IoT applications
In this report, you expected to provide necessary background of the system you choose and the blockchain technology. Presenting an innovative scenario is highly appreciated. Most importantly, a detail system design should be presented.
Q4.2 [Implementing a Blockchain System]
In this question, you are expected to implement a blockchain system a scenario stated in Q4.1. You are allowed to use any programming language or scripting language such as Java, PHP, Python, JavaScript, etc.
Your implementation must have a good graphical user interface (GUI). Upon completion of the implementation, you are expected to: Create a short report containing the implementation details and user instructions.
Q4.3 [Implementing a Privacy-preserving Online Voting System]
In this question, you are expected to implement an online voting system using the concept of Paillier encryption scheme based privacy-preserving computation (refer to the scenario stated in Q1 of this assignment). You are allowed to use any programming language or scripting language such as Java, PHP, Python, JavaScript, etc. Your implementation must have a good graphical user interface (GUI). Upon completion of the implementation, you are expected to: Create a report containing the implementation details and user instructions.
Q4.4 [Implementing a Secure File Sharing System]
In this question, you are expected to implement a secure file sharing system using the concept of the scenario stated in Q3 of this assignment. You are allowed to use any programming language or scripting language such as Java, PHP, Python, JavaScript, etc. Your implementation must have a good graphical user interface (GUI).
Q5. Analyzing Security of Authentication Protocol
The following mutual authentication protocol is proposed based on a symmetric-key cryptography algorithm. We assume that the cryptography algorithm that is used here is secure. Given that the following protocol does not provide mutual authentication. Give two different attack scenarios where Trudy can convince Bob that she is Alice. Briefly explain each attack scenario performed by Trudy with proper diagram which on the protocol.
Attachment:- Information Technology Assignment Files.rar