Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Implement an extended version of the Caesar cipher that users the characters from (Space, ASCII 32) to '~' (tilde, ASCII 126). Any character (printable

Implement an extended version of the Caesar cipher that users the characters from " (Space, ASCII 32) to '~' (tilde, ASCII 126). Any character (printable or not) that falls outside of the ASCII range of 32-126 should be left unchanged during both encryption and decryption. This will ensure that printable files

remain printable

Upon starting the program should first prompt the user to enter a decryption password. The password is

"lovecybe366!" without auotes. Store a hash of the password as a constant in your program. When the user enters a password, hash it and compare it to the constant. If the correct password is entered, continue the program. If an incorrect password is entered, abort the program. For hash type you can use anything supported in the Proxmox DVWA image.

After authentication the user is prompted to enter they key size for this run of the program. Acceptable values are 0 to 94. Example encryption with key size of 1:

Plaintext: Hello (-World~}!

Ciphertext: Ifmmp!| Xpsme ~"

After the key size the user is prompted to encrypt or decrypt.

Next the user is promoted to choose inout via a file or jext

Inext is chosen me user can enter plaimext or cinenext cecenaine on te operation requested

If a file is chosen the user should enter the full path and filename to the file to decrypt or encrypt

dependina on the operation requesteo.

lastly, the program should output to standard out either plaintext or ciphertext depending on the operation

requested

The program can be written in either C or C++. You must use make and a Makefile and have commands to build and clean. The program should be written in such a way that all inputs are handled securely. The program should be written in such a way that it is not easily crashable

Submit a tar.bz2 file containing your source code and Makefile. Additionally, create a PDF file. in this PDF file explain what steps you took to write your code in a secure fashion. How does your program gc about making sure buffer overflows and other errors are mitigated? Think about which parts of your program might be susceptible when explaining your defense. Explain any other steps you took to make the program more robust and crash proof. Use Chapter 2 in the Secure Coding in C and C++ book as a reference for how you dealt with strings.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David Kroenke, David Auer, Scott Vandenberg, Robert Yoder

8th Edition

013460153X, 978-0134601533

More Books

Students also viewed these Databases questions