CS-452: Cryptography – Secure File Sharing – Virtual Private Networking Server – Project Writing Assessment Answer

Responsive Centered Red Button

Need Help with this Question or something similar to this? We got you! Just fill out the order form (follow the link below), and your paper will be assigned to an expert to help you ASAP.

CS-452: Cryptography Assessment Answer
Task:
For your nal project you may choose to do one of the following: (1) a programming project; or (2) a practical skills project; or (3) propose your own project. If you choose to do a pro-gramming project, please choose one topic in the section titled Programming Projects, below. In completing this project, you may use any existing cryptographic libraries, tools, programming languages or platforms. The speci cs of each project are given below.
Programming Projects
Please complete one of the following programming projects.

Secure File Sharing

In this project, you are going to use the concepts of concurrent server to write a secure peer-to-peer le-sharing system. Concurrent server can service multiple clients at the same time.

There are 3 peers (hosts) connected to a network; each stores a number of les. Each le is associated a keyword that can be used to search for the le. There may be duplicates of the same le stored at multiple peers; these duplicates are associated with the same keyword. Di erent les can be associated with the same keyword. The goal of this project is to build a mechanism that enables these peers to securely share their les with each other. The overall structure of the le sharing system is given below.

An indexing server keeps track of which les are stored at which peers. Each peer has an account with the server. When a peer connects to the server, server prompts the peer to provide ID and password. The peer then sends its domain name and port number to the server. The peer also sends names of les it has and the corresponding keyword to the server; the server then updates its index database. A peer that wants a speci c le queries the server with keyword. Server searches for the keyword in its index database and returns the where domain name and port number are the domain name and the port number of the peer who has the le.

Requesting peer then chooses one peer from the list returned by the indexing server and initi-ates a le transfer operation. Each peer contains a list of public keys of other peers of the form . Files need to be transferred securely and should not be modi able by unauthorized users during transmission.

Your implementation must provide both con dentiality and digital signature. For digital sig-nature you must provide the user with a choice of using RSA or Digital Signature Algorithm (DSA; https://bit.ly/2TvvGSt). Both digital signature schemes must be supported.

Secure Chat

In this project you are to implement a system which enables a group of users to chat securely. All users are registered with the chat server. When the user wants to chat with another reg-istered user, he rst connects to the chat server and enters his/her user name and password. The server veri es the user name and password, and if correct, the user’s status is changed to online. Next, the user may enter the user ids of users with whom he wishes to chat (could be more then one). At any given time the user should be able to check what other users are online and invite them to the ongoing conversation.
Once the user speci es the users with whom he wishes to chat, the server generates a symmetric key, and securely distributes it to all the speci ed users and the user who initiated the chat. To achieve secure key distribution you must encrypt the symmetric key using the public keys of the respective users (you may assume that server knows the public keys of all users). If one of the speci ed users is not online, the requesting user is noti ed about this.
After the encrypted symmetric key has been distributed to all users, the users decrypt the sym-metric key using their private keys, and the chat session may begin. All messages exchanged during the chat must be encrypted using the symmetric key provided by the server and must be delivered to all users participating in the chat. Any user may choose to leave the conversation. If the user disconnects from the chat server, his status should be changed to o ine. All users who are connected to the server, must have a way to check whether a given user is online.
You do not need to support multiple chat sessions.
Your implementation must provide both con dentiality and digital signature. For digital sig-nature you must provide the user with a choice of using RSA or Digital Signature Algorithm (DSA; https://bit.ly/2TvvGSt). Both must digital signature schemes must be supported.

Secure Purchase Order

Implement a secure purchase order system that allows the user to enter a purchase request and routes it to Order Processing Department (OPD) for signature. Each customer has an account with the online purchasing system. The online purchasing system has the public-key of every customer.
First, the customer enters his/her ID and password. The system veri es his/her ID and pass-word. Next, the customer sends the order as well as a timestamp to the OPD – con dentiality and digital signature must be provided. OPD veri es the signature of the customer and checks
if the product is available. If the customer’s signature is veri ed and the product is available, OPD prepares the order. After OPD processes the order, OPD retrieves the customers email address and sends an email to the customer, indicating that the order has been shipped. OPD should be implemented as a concurrent server.
Your implementation must provide both con dentiality and digital signature. For digital sig-nature you must provide the user with a choice of using RSA or Digital Signature Algorithm (DSA; https://bit.ly/2TvvGSt). Both digital signature schemes must be supported.

Secure Internet Poker

This project implements poker on the Internet. It will accept two players. The house has each players public key.

Each player generates a session key and distributes the session key to the house securely. The session key is used to encrypt message sent between the house and the players.

The house randomly generates three numbers between 1 and 15 and sends the numbers to player.

The house randomly generates three numbers between 1 and 15 and sends the numbers to player.

There are three rounds. In each round, each player chooses a number out of the three numbers and sends the number to the server. The server compares the number. The player who chose larger numbers than the other for at least two rounds wins. At the end of the 3rd round, the house announces the winner.

The session key will be destroyed after a player leaves a current session.

Your implementation must provide both con dentiality and digital signature. For digital sig-nature you must provide the user with a choice of using RSA or Digital Signature Algorithm (DSA; https://bit.ly/2TvvGSt). Both digital signature schemes must be supported.

Secure Banking

Implement the authentication and secure communications protocols for a distributed system consisting of a bank server and a number of automatic teller machines (ATMs). Assume one bank server and 2 ATMs. The bank should be implemented as a concurrent server.
Public key cryptography is employed for secrecy, integrity-protection, and authentication. The bank server’s public key is stored by the ATM, with the corresponding private key stored by server the connected to that ATM. You may also assume that the bank has the public keys of the two ATMs.
ATM would work like this:

The customer enters his/her 6-digit ID (e.g. 124356) and password.

The ATM contacts the bank server to verify the customers ID and password.

The customer selects an action to be performed, and that action is performed by the bank server.

There are ve actions: display the amount of money in the account, deposit money, withdrawals, account activities (time and date when the user performed transactions and what transactions the user performs), and quit. Assume that the bank knows the ATMs public key and the ATM knows the banks public key. The ATM communicates with the bank by running a protocol that satis es the following requirements:

It authenticates the customer to the bank server (ID, passwd).

It authenticates the ATM to the bank server through public-key encryption.

It preserves the con dentiality of communications between the bank and ATM.

The bank server takes actions in response to customer uses of an ATM.

Your implementation must provide both con dentiality and digital signature. For digital sig-nature you must provide the user with a choice of using RSA or Digital Signature Algorithm (DSA; https://bit.ly/2TvvGSt). Both digital signature schemes must be supported.

Secure Blockchain

Blockchain is the uderlying technology of Bitcoin, Etherium, and other cryptocurrencies. Its power comes from the idea of distributed ledger which has many applications beyond cryptocur-rencies.
If you choose to do this project, please take some time to read and learn about the basics of the blockchain. The following links provide good resources that will get you started:
Cryptographic concepts, including public key cryptography and hashing, play central roles in the blockchain. The goal of this project to implement a simulation of the public blockchain similar to Bitcoin. Your implementation should include the following key parts of the blockchain:

Individual users should be able to broadcast transactions to the miners i.e., parties re-sponsible for verifying the blocks.

All transactions within a block must be digitally signed by the user initiating a transaction.

Miners verify the transaction within a block by solving a computationally hard problem. For the purpose of this project you can simplify the di culty of the problem in order to be able to test and demo your project. For example, nding a number that results in the block’s hash containing a hexadecimal number x0a”.

The miner who solves the problem rst, gets a reward according to the rules of blockchain.

When the block is veri ed, the miner broadcasts the veri ed block to the users.

In order to deal with the issues associated with spoofed blocks (e.g., if the attacker beats the miners) the users must use the longest chain rule.

Your implmentation should support at least three users and three miners and must provide both con dentiality and digital signature. For digital signature you must provide the user with a choice of using RSA or Digital Signature Algorithm (DSA; https://bit.ly/2TvvGSt). Both digital signature schemes must be supported.
Task: 2
Practical Skills
Please complete all of the following:

Con gure a system to function as a certi cate authority. You may use any system. You may nd the following link helpful: https://help.ubuntu.com/community/OpenSSL. Please note: you must actually set up your own authority; not simply purchase an SSL certi cate from somewhere.

Set up a website (locally on your machine or some remote server) which uses the services of your certi cate authority. When setting up a website with a certi cate, please do so using all of the following:
Microsoft IIS Web Server (https://bit.ly/2F8Ryuh). If you do not have access to a Mi-crosoft Windows operating system, please contact the instructor.
Apache Web Server (https://bit.ly/1TgO6Ag) Node.js Web Server (https://nodejs.org/en/)

Set up and con gure a Virtual Private Networking Server (VPN) server. You may nd the following link helpful: https://help.ubuntu.com/community/OpenVPN.

Set up an SSH server. Describe how to con gure the server such that the user can securely connect to the server without having to enter the password every time.

Set up an IPSec channel between two systems.

Set up an email account that uses Pretty Good Privacy (PGP) for security. The sender must be able to send encrypted and digitally signed emails and receiver should be able to verify them. You may nd the following link helpful https://support.mozilla.org/en-US/kb/digitally-signing-and-encrypting-messages

Setup a DNSSEC-based DNS Server https://www.digitalocean.com/community/tutorials/how-to-setup-dnssec-on-an-authoritative-bind-dns-server{2. Demonstrate the function of your server using a DNSSEC client. Network tra c captures with tools such as Wireshark can also be used to further illustrate the function.

Task: 3
Propose Your Own Project
Propose your own project idea! Be creative! The proposed idea should be at least as challenging as the projects listed above and require application of principles and practices of cryptography. Please make sure you get your idea approved by the instructor. All proposed projects must include a presentation, demo, or a video component and a written document similar to that required in programming and practical skills projects.
This CS-452: Cryptography Assignment has been solved by our Cryptography experts at TVAssignmentHelp. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.

Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

How to create Testimonial Carousel using Bootstrap5

Clients' Reviews about Our Services